]> 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 9e01f00cf634b947d6743c5962425f3807497e8e..821d186d88a2382f405dd6209bf2f61ee8e3be19 100644 (file)
 
 package net.ktnx.mobileledger.ui.activity;
 
+import android.annotation.SuppressLint;
 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);
+        Colors.setupTheme(this, mProfile);
     }
     @Override
     protected void onStart() {
@@ -33,7 +41,26 @@ public class ProfileThemedActivity extends CrashReportingActivity {
         Colors.refreshColors(getTheme());
     }
     protected void onCreate(@Nullable Bundle savedInstanceState) {
+        initProfile();
         super.onCreate(savedInstanceState);
-        Colors.setupTheme(this);
+        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);
+                }
+            });
+        }
     }
 }