package me.impy.aegis.ui; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.WindowManager; import me.impy.aegis.AegisApplication; public abstract class AegisActivity extends AppCompatActivity { private AegisApplication _app; private boolean _darkMode; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); _app = (AegisApplication) getApplication(); // set FLAG_SECURE on the window of every AegisActivity if (_app.getPreferences().getBoolean("pref_secure_screen", true)) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); } // set the theme _darkMode = _app.getPreferences().getBoolean("pref_dark_mode", false); setPreferredTheme(_darkMode); } protected AegisApplication getApp() { return _app; } protected boolean isDark() { return _darkMode; } protected abstract void setPreferredTheme(boolean darkMode); }