X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FProfileThemedActivity.java;h=64d84ef0178fde10e8d4c64e6edb923c3647e352;hb=e543f465bd9c7f340c4a572287ecf0a31caccee9;hp=1301a85fc6ce4b0132c23b944ac49d498e23ce79;hpb=e975cffd3885678f30f69d09fbc99905c3118588;p=mobile-ledger-staging.git
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 1301a85f..64d84ef0 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
@@ -1,31 +1,46 @@
/*
- * Copyright © 2019 Damyan Ivanov.
- * This file is part of MoLe.
- * MoLe is free software: you can distribute it and/or modify it
- * under the term of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your opinion), any later version.
+ * Copyright © 2020 Damyan Ivanov.
+ * This file is part of MoLe.
+ * MoLe is free software: you can distribute it and/or modify it
+ * under the term of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your opinion), any later version.
*
- * MoLe is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License terms for details.
+ * MoLe is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License terms for details.
*
- * You should have received a copy of the GNU General Public License
- * along with Mobile-Ledger. If not, see .
+ * You should have received a copy of the GNU General Public License
+ * along with MoLe. If not, see .
*/
package net.ktnx.mobileledger.ui.activity;
+import android.annotation.SuppressLint;
import android.os.Bundle;
-import net.ktnx.mobileledger.utils.Colors;
-
import androidx.annotation.Nullable;
+import net.ktnx.mobileledger.model.Data;
+import net.ktnx.mobileledger.model.MobileLedgerProfile;
+import net.ktnx.mobileledger.utils.Colors;
+
+@SuppressLint("Registered")
public class ProfileThemedActivity extends CrashReportingActivity {
+ protected MobileLedgerProfile mProfile;
+ private boolean themeSetUp = false;
+ private boolean mIgnoreProfileChange;
protected void setupProfileColors() {
- Colors.setupTheme(this);
+ final int themeHue = (mProfile == null) ? -1 : mProfile.getThemeHue();
+
+ Colors.setupTheme(this, themeHue);
+
+ if (themeSetUp)
+ this.recreate();
+ themeSetUp = true;
+
+ Colors.profileThemeId = Data.retrieveCurrentThemeIdFromDb();
}
@Override
protected void onStart() {
@@ -33,7 +48,22 @@ public class ProfileThemedActivity extends CrashReportingActivity {
Colors.refreshColors(getTheme());
}
protected void onCreate(@Nullable Bundle savedInstanceState) {
+ initProfile();
+ setupProfileColors();
+
+ mIgnoreProfileChange = true;
+ Data.observeProfile(this, profile -> {
+ if (!mIgnoreProfileChange) {
+ mProfile = profile;
+ setupProfileColors();
+ }
+
+ mIgnoreProfileChange = false;
+ });
+
super.onCreate(savedInstanceState);
- Colors.setupTheme(this);
+ }
+ protected void initProfile() {
+ mProfile = Data.initProfile();
}
}