diff --git a/src/acr/browser/lightning/DisplaySettingsActivity.java b/src/acr/browser/lightning/DisplaySettingsActivity.java index 44d7cee..5ebae5a 100644 --- a/src/acr/browser/lightning/DisplaySettingsActivity.java +++ b/src/acr/browser/lightning/DisplaySettingsActivity.java @@ -121,7 +121,7 @@ public class DisplaySettingsActivity extends ThemableActivity { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { mPreferences.edit().putBoolean(PreferenceConstants.DARK_THEME, isChecked).apply(); - mActivity.recreate(); + restart(); } }); diff --git a/src/acr/browser/lightning/ThemableActivity.java b/src/acr/browser/lightning/ThemableActivity.java index d743a09..9ac4499 100644 --- a/src/acr/browser/lightning/ThemableActivity.java +++ b/src/acr/browser/lightning/ThemableActivity.java @@ -1,5 +1,6 @@ package acr.browser.lightning; +import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; @@ -36,7 +37,16 @@ public abstract class ThemableActivity extends ActionBarActivity { if (mPreferences != null && mPreferences.getBoolean(PreferenceConstants.DARK_THEME, false) != mDark) { - this.recreate(); + restart(); } } + + protected void restart() { + final Bundle outState = new Bundle(); + onSaveInstanceState(outState); + final Intent intent = new Intent(this, getClass()); + finish(); + overridePendingTransition(0, 0); + startActivity(intent); + } }