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