Lightning browser with I2P configuration
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

65 lines
2.0 KiB

package org.purplei2p.lightning.settings.activity;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.os.Bundle;
import javax.inject.Inject;
import org.purplei2p.lightning.R;
import org.purplei2p.lightning.activity.AppCompatPreferenceActivity;
import org.purplei2p.lightning.BrowserApp;
import org.purplei2p.lightning.preference.PreferenceManager;
import org.purplei2p.lightning.utils.ThemeUtils;
public abstract class ThemableSettingsActivity extends AppCompatPreferenceActivity {
private int mTheme;
@Inject PreferenceManager mPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
BrowserApp.getAppComponent().inject(this);
mTheme = mPreferences.getUseTheme();
// set the theme
if (mTheme == 0) {
setTheme(R.style.Theme_SettingsTheme);
this.getWindow().setBackgroundDrawable(new ColorDrawable(ThemeUtils.getPrimaryColor(this)));
} else if (mTheme == 1) {
setTheme(R.style.Theme_SettingsTheme_Dark);
this.getWindow().setBackgroundDrawable(new ColorDrawable(ThemeUtils.getPrimaryColorDark(this)));
} else if (mTheme == 2) {
setTheme(R.style.Theme_SettingsTheme_Black);
this.getWindow().setBackgroundDrawable(new ColorDrawable(ThemeUtils.getPrimaryColorDark(this)));
}
super.onCreate(savedInstanceState);
resetPreferences();
}
private void resetPreferences() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (mPreferences.getUseBlackStatusBar()) {
getWindow().setStatusBarColor(Color.BLACK);
} else {
getWindow().setStatusBarColor(ThemeUtils.getStatusBarColor(this));
}
}
}
@Override
protected void onResume() {
super.onResume();
resetPreferences();
if (mPreferences.getUseTheme() != mTheme) {
restart();
}
}
private void restart() {
recreate();
}
}