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=cc3ab6c9be7d434108521409121a11bdf5670ce2;hp=81450c9a13bedc9b0fe6e9cf17d8800a7cf1702b;hpb=90a85bc89663b4877004053545add5da273f24f3;p=mobile-ledger.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 81450c9a..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 @@ -29,9 +29,18 @@ 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() { 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() { @@ -41,6 +50,17 @@ public class ProfileThemedActivity extends CrashReportingActivity { protected void onCreate(@Nullable Bundle savedInstanceState) { initProfile(); setupProfileColors(); + + mIgnoreProfileChange = true; + Data.observeProfile(this, profile -> { + if (!mIgnoreProfileChange) { + mProfile = profile; + setupProfileColors(); + } + + mIgnoreProfileChange = false; + }); + super.onCreate(savedInstanceState); } protected void initProfile() {