From 58d086fc6becaf923ad5dfc0d48752bb7498e5d3 Mon Sep 17 00:00:00 2001 From: Damyan Ivanov Date: Sun, 10 Nov 2019 11:15:47 +0200 Subject: [PATCH] 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 --- .../ui/activity/ProfileThemedActivity.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) 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; } } } -- 2.39.2