]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/activity/ProfileThemedActivity.java
ProfileThemedActivity: load profile from options if none is loaded yet
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / activity / ProfileThemedActivity.java
index 079e0df6f0e4efcc9709bfd7ae1cbb54e74702f5..821d186d88a2382f405dd6209bf2f61ee8e3be19 100644 (file)
@@ -23,11 +23,14 @@ import android.os.Bundle;
 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;
 
 import androidx.annotation.Nullable;
 
 @SuppressLint("Registered")
 public class ProfileThemedActivity extends CrashReportingActivity {
+    static final int waitSlice = 200;
     protected MobileLedgerProfile mProfile;
     protected void setupProfileColors() {
         Colors.setupTheme(this, mProfile);
@@ -40,9 +43,24 @@ public class ProfileThemedActivity extends CrashReportingActivity {
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         initProfile();
         super.onCreate(savedInstanceState);
-        setupProfileColors();
+        Data.profile.observe(this, mobileLedgerProfile -> {
+            mProfile = mobileLedgerProfile;
+            setupProfileColors();
+        });
     }
     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;
+
+
+                    startupProfile = Data.getProfile(profileUUID);
+                    Data.setCurrentProfile(startupProfile);
+                }
+            });
+        }
     }
 }