From 2e43a5c0a6176911f0ab86b3c55dd57845b45f30 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Fri, 13 Apr 2018 23:33:56 +0200 Subject: more theme working --- .../de/pixart/messenger/ui/SettingsActivity.java | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'src/main/java/de/pixart/messenger/ui/SettingsActivity.java') diff --git a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java index 48c5f46fd..190fc0c43 100644 --- a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java +++ b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java @@ -69,6 +69,8 @@ public class SettingsActivity extends XmppActivity implements @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + this.mTheme = findTheme(); + setTheme(this.mTheme); setContentView(R.layout.activity_settings); FragmentManager fm = getFragmentManager(); mSettingsFragment = (SettingsFragment) fm.findFragmentById(R.id.settings_content); @@ -77,9 +79,7 @@ public class SettingsActivity extends XmppActivity implements fm.beginTransaction().replace(R.id.settings_content, mSettingsFragment).commit(); } mSettingsFragment.setActivityIntent(getIntent()); - this.mTheme = findTheme(); - setTheme(this.mTheme); - getWindow().getDecorView().setBackgroundColor(Color.get(this, R.attr.color_background_primary)); + getWindow().getDecorView().setBackgroundColor(Color.get(this, R.attr.color_background_secondary)); setSupportActionBar(findViewById(R.id.toolbar)); configureActionBar(getSupportActionBar()); } @@ -92,8 +92,9 @@ public class SettingsActivity extends XmppActivity implements @Override public void onStart() { super.onStart(); - PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this); + updateTheme(); + PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this); multiAccountPreference = mSettingsFragment.findPreference("enable_multi_accounts"); if (multiAccountPreference != null) { isMultiAccountChecked = ((CheckBoxPreference) multiAccountPreference).isChecked(); @@ -269,6 +270,13 @@ public class SettingsActivity extends XmppActivity implements } } + private void updateTheme() { + final int theme = findTheme(); + if (this.mTheme != theme) { + recreate(); + } + } + private void changeOmemoSettingSummary() { ListPreference omemoPreference = (ListPreference) mSettingsFragment.findPreference(OMEMO_SETTING); if (omemoPreference != null) { @@ -495,10 +503,7 @@ public class SettingsActivity extends XmppActivity implements } else if (name.equals(AUTOMATIC_MESSAGE_DELETION)) { xmppConnectionService.expireOldMessages(true); } else if (name.equals(THEME)) { - final int theme = findTheme(); - if (this.mTheme != theme) { - recreate(); - } + updateTheme(); } } -- cgit v1.2.3