restart if theme changed
This commit is contained in:
parent
afdc28c041
commit
d9ef4625b8
@ -29,6 +29,7 @@ public class CommonActivity extends SherlockFragmentActivity {
|
|||||||
|
|
||||||
private boolean m_smallScreenMode = true;
|
private boolean m_smallScreenMode = true;
|
||||||
private boolean m_compatMode = false;
|
private boolean m_compatMode = false;
|
||||||
|
private String m_theme;
|
||||||
|
|
||||||
protected SharedPreferences m_prefs;
|
protected SharedPreferences m_prefs;
|
||||||
|
|
||||||
@ -84,6 +85,18 @@ public class CommonActivity extends SherlockFragmentActivity {
|
|||||||
return m_writableDb;
|
return m_writableDb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
|
||||||
|
if (!m_theme.equals(m_prefs.getString("theme", "THEME_DARK"))) {
|
||||||
|
Log.d(TAG, "theme changed, restarting");
|
||||||
|
|
||||||
|
finish();
|
||||||
|
startActivity(getIntent());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
@ -97,6 +110,12 @@ public class CommonActivity extends SherlockFragmentActivity {
|
|||||||
m_prefs = PreferenceManager
|
m_prefs = PreferenceManager
|
||||||
.getDefaultSharedPreferences(getApplicationContext());
|
.getDefaultSharedPreferences(getApplicationContext());
|
||||||
|
|
||||||
|
if (savedInstanceState != null) {
|
||||||
|
m_theme = savedInstanceState.getString("theme");
|
||||||
|
} else {
|
||||||
|
m_theme = m_prefs.getString("theme", "THEME_DARK");
|
||||||
|
}
|
||||||
|
|
||||||
initDatabase();
|
initDatabase();
|
||||||
|
|
||||||
m_compatMode = android.os.Build.VERSION.SDK_INT <= 10;
|
m_compatMode = android.os.Build.VERSION.SDK_INT <= 10;
|
||||||
@ -106,6 +125,13 @@ public class CommonActivity extends SherlockFragmentActivity {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSaveInstanceState(Bundle out) {
|
||||||
|
super.onSaveInstanceState(out);
|
||||||
|
|
||||||
|
out.putString("theme", m_theme);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isSmallScreen() {
|
public boolean isSmallScreen() {
|
||||||
return m_smallScreenMode;
|
return m_smallScreenMode;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user