From: Damyan Ivanov Date: Sun, 10 Nov 2019 09:15:47 +0000 (+0200) Subject: ProfileThemedActivity: fetch current profile synchronously X-Git-Tag: v0.11.0~92 X-Git-Url: https://git.ktnx.net/?a=commitdiff_plain;h=58d086fc6becaf923ad5dfc0d48752bb7498e5d3;p=mobile-ledger.git ProfileThemedActivity: fetch current profile synchronously the onCreate method must finish setting up the theme before returning and giving way to creation of views if the current profile data comes asynchronously, it may be too late and some views may have already been created --- diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileThemedActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileThemedActivity.java index 3bce79d7..8cfeea0f 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileThemedActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileThemedActivity.java @@ -25,7 +25,6 @@ import androidx.annotation.Nullable; import net.ktnx.mobileledger.model.Data; import net.ktnx.mobileledger.model.MobileLedgerProfile; import net.ktnx.mobileledger.utils.Colors; -import net.ktnx.mobileledger.utils.GetOptCallback; import net.ktnx.mobileledger.utils.MLDB; @SuppressLint("Registered") @@ -43,6 +42,9 @@ public class ProfileThemedActivity extends CrashReportingActivity { protected void onCreate(@Nullable Bundle savedInstanceState) { initProfile(); super.onCreate(savedInstanceState); + + setupProfileColors(); + Data.profile.observe(this, mobileLedgerProfile -> { mProfile = mobileLedgerProfile; setupProfileColors(); @@ -51,16 +53,13 @@ public class ProfileThemedActivity extends CrashReportingActivity { protected void initProfile() { mProfile = Data.profile.getValue(); if (mProfile == null) { - MLDB.getOption(MLDB.OPT_PROFILE_UUID, null, new GetOptCallback() { - @Override - protected void onResult(String profileUUID) { - MobileLedgerProfile startupProfile; + String profileUUID = MLDB.getOption(MLDB.OPT_PROFILE_UUID, null); + MobileLedgerProfile startupProfile; - startupProfile = Data.getProfile(profileUUID); - Data.setCurrentProfile(startupProfile); - } - }); + startupProfile = Data.getProfile(profileUUID); + Data.setCurrentProfile(startupProfile); + mProfile = startupProfile; } } }