@ -143,7 +143,7 @@ class MainApplication : Application(), Configuration.Provider, ActivityLifecycle
@StyleRes val themeResId : Int
var theme : String ?
val monet = isMonetEnabled
when ( get Shared Preferences( " mmm " ) !! . getString ( " pref_theme " , " system " ) . also { theme = it } ) {
when ( get Preferences( " mmm " ) !! . getString ( " pref_theme " , " system " ) . also { theme = it } ) {
" system " -> themeResId =
if ( monet ) R . style . Theme _MagiskModuleManager _Monet else R . style . Theme _MagiskModuleManager
@ -327,9 +327,9 @@ class MainApplication : Application(), Configuration.Provider, ActivityLifecycle
o = listOf ( * osh ) . contains ( oosh )
} catch ( ignored : PackageManager . NameNotFoundException ) {
}
val sharedPreferences = get Shared Preferences( " mmm " )
val sharedPreferences = get Preferences( " mmm " )
// We are only one process so it's ok to do this
val bootPrefs = get Shared Preferences( " mmm_boot " )
val bootPrefs = get Preferences( " mmm_boot " )
val lastBoot = System . currentTimeMillis ( ) - SystemClock . elapsedRealtime ( )
val lastBootPrefs = bootPrefs !! . getLong ( " last_boot " , 0 )
isFirstBoot = if ( lastBootPrefs == 0L || abs ( lastBoot - lastBootPrefs ) > 100 ) {
@ -499,7 +499,7 @@ class MainApplication : Application(), Configuration.Provider, ActivityLifecycle
companion object {
var forceDebugLogging : Boolean =
BuildConfig . DEBUG || get Shared Preferences( " mmm " ) ?. getBoolean (
BuildConfig . DEBUG || get Preferences( " mmm " ) ?. getBoolean (
" pref_force_debug_logging " ,
false
) ?: false
@ -577,10 +577,11 @@ class MainApplication : Application(), Configuration.Provider, ActivityLifecycle
}
@Suppress ( " NAME_SHADOWING " )
fun get Shared Preferences( name : String ) : SharedPreferences ? {
fun get Preferences( name : String ) : SharedPreferences ? {
// encryptedSharedPreferences is used
return try {
var name = name
val mContext : Context ? = INSTANCE
val mContext : Context ? = INSTANCE !! . applicationContext
name += " x "
if ( mSharedPrefs == null ) {
mSharedPrefs = HashMap ( )
@ -588,7 +589,6 @@ class MainApplication : Application(), Configuration.Provider, ActivityLifecycle
if ( mSharedPrefs !! . containsKey ( name ) ) {
return mSharedPrefs !! [ name ] as SharedPreferences ?
}
return try {
val masterKey =
MasterKey . Builder ( mContext !! ) . setKeyScheme ( MasterKey . KeyScheme . AES256 _GCM )
. build ( )
@ -604,6 +604,7 @@ class MainApplication : Application(), Configuration.Provider, ActivityLifecycle
} catch ( e : Exception ) {
// try again five times, with a 250ms delay between each try. if we still can't get the shared preferences, throw an exception
var i = 0
var s = false
while ( i < 5 ) {
try {
Thread . sleep ( 250 )
@ -611,24 +612,25 @@ class MainApplication : Application(), Configuration.Provider, ActivityLifecycle
}
try {
val masterKey =
MasterKey . Builder ( mContext!! )
MasterKey . Builder ( INSTANCE!! . applicationContext )
. setKeyScheme ( MasterKey . KeyScheme . AES256 _GCM )
. build ( )
val sharedPreferences = EncryptedSharedPreferences . create (
m Context,
INSTANCE!! . application Context,
name ,
masterKey ,
EncryptedSharedPreferences . PrefKeyEncryptionScheme . AES256 _SIV ,
EncryptedSharedPreferences . PrefValueEncryptionScheme . AES256 _GCM
)
mSharedPrefs !! [ name ] = sharedPreferences
s = true
return sharedPreferences
} catch ( e : Exception ) {
Timber . e ( e , " Failed to get shared preferences " )
}
i ++
}
throw IllegalStateException ( " Failed to get shared preferences " )
return null
}
}
@ -648,42 +650,42 @@ class MainApplication : Application(), Configuration.Provider, ActivityLifecycle
return java . lang . Boolean . parseBoolean ( SHOWCASE _MODE _TRUE )
}
val showcaseMode =
get Shared Preferences( " mmm " ) !! . getBoolean ( " pref_showcase_mode " , false )
get Preferences( " mmm " ) !! . getBoolean ( " pref_showcase_mode " , false )
SHOWCASE _MODE _TRUE = showcaseMode . toString ( )
return showcaseMode
}
fun shouldPreventReboot ( ) : Boolean {
return get Shared Preferences( " mmm " ) !! . getBoolean ( " pref_prevent_reboot " , true )
return get Preferences( " mmm " ) !! . getBoolean ( " pref_prevent_reboot " , true )
}
val isShowIncompatibleModules : Boolean
get ( ) = get Shared Preferences( " mmm " ) !! . getBoolean ( " pref_show_incompatible " , false )
get ( ) = get Preferences( " mmm " ) !! . getBoolean ( " pref_show_incompatible " , false )
val isForceDarkTerminal : Boolean
get ( ) = get Shared Preferences( " mmm " ) !! . getBoolean ( " pref_force_dark_terminal " , false )
get ( ) = get Preferences( " mmm " ) !! . getBoolean ( " pref_force_dark_terminal " , false )
val isTextWrapEnabled : Boolean
get ( ) = get Shared Preferences( " mmm " ) !! . getBoolean ( " pref_wrap_text " , false )
get ( ) = get Preferences( " mmm " ) !! . getBoolean ( " pref_wrap_text " , false )
val isDohEnabled : Boolean
get ( ) = get Shared Preferences( " mmm " ) !! . getBoolean ( " pref_dns_over_https " , true )
get ( ) = get Preferences( " mmm " ) !! . getBoolean ( " pref_dns_over_https " , true )
val isMonetEnabled : Boolean
get ( ) = Build . VERSION . SDK _INT >= Build . VERSION_CODES . S && get Shared Preferences( " mmm " ) !! . getBoolean (
get ( ) = Build . VERSION . SDK _INT >= Build . VERSION_CODES . S && get Preferences( " mmm " ) !! . getBoolean (
" pref_enable_monet " , true
)
val isBlurEnabled : Boolean
get ( ) = get Shared Preferences( " mmm " ) !! . getBoolean ( " pref_enable_blur " , false )
get ( ) = get Preferences( " mmm " ) !! . getBoolean ( " pref_enable_blur " , false )
val isDeveloper : Boolean
get ( ) {
return if ( BuildConfig . DEBUG ) true else get Shared Preferences( " mmm " ) !! . getBoolean (
return if ( BuildConfig . DEBUG ) true else get Preferences( " mmm " ) !! . getBoolean (
" developer " , false
)
}
val isDisableLowQualityModuleFilter : Boolean
get ( ) = get Shared Preferences( " mmm " ) !! . getBoolean (
get ( ) = get Preferences( " mmm " ) !! . getBoolean (
" pref_disable_low_quality_module_filter " , false
) && isDeveloper
val isUsingMagiskCommand : Boolean
get ( ) = ( peekMagiskVersion ( ) >= Constants . MAGISK _VER _CODE _INSTALL _COMMAND ) && get Shared Preferences(
get ( ) = ( peekMagiskVersion ( ) >= Constants . MAGISK _VER _CODE _INSTALL _COMMAND ) && get Preferences(
" mmm "
) !! . getBoolean (
" pref_use_magisk_install_command " ,
@ -696,27 +698,27 @@ class MainApplication : Application(), Configuration.Provider, ActivityLifecycle
return java . lang . Boolean . parseBoolean ( updateCheckBg )
}
val wrapped = isWrapped
val updateCheckBgTemp = ! wrapped && get Shared Preferences( " mmm " ) !! . getBoolean (
val updateCheckBgTemp = ! wrapped && get Preferences( " mmm " ) !! . getBoolean (
" pref_background_update_check " , true
)
updateCheckBg = updateCheckBgTemp . toString ( )
return java . lang . Boolean . parseBoolean ( updateCheckBg )
}
val isAndroidacyTestMode : Boolean
get ( ) = isDeveloper && get Shared Preferences( " mmm " ) !! . getBoolean (
get ( ) = isDeveloper && get Preferences( " mmm " ) !! . getBoolean (
" pref_androidacy_test_mode " , false
)
fun setHasGottenRootAccess ( bool : Boolean ) {
get Shared Preferences( " mmm " ) !! . edit ( ) . putBoolean ( " has_root_access " , bool ) . apply ( )
get Preferences( " mmm " ) !! . edit ( ) . putBoolean ( " has_root_access " , bool ) . apply ( )
}
val isCrashReportingEnabled : Boolean
get ( ) = get Shared Preferences( " mmm " ) !! . getBoolean (
get ( ) = get Preferences( " mmm " ) !! . getBoolean (
" pref_crash_reporting " , BuildConfig . DEFAULT _ENABLE _CRASH _REPORTING
)
val bootSharedPreferences : SharedPreferences ?
get ( ) = get Shared Preferences( " mmm_boot " )
get ( ) = get Preferences( " mmm_boot " )
fun formatTime ( timeStamp : Long ) : String {
// new Date(x) also get the local timestamp for format
@ -727,7 +729,7 @@ class MainApplication : Application(), Configuration.Provider, ActivityLifecycle
get ( ) = NotificationManagerCompat . from ( ( INSTANCE ) !! ) . areNotificationsEnabled ( )
fun analyticsAllowed ( ) : Boolean {
return get Shared Preferences( " mmm " ) !! . getBoolean (
return get Preferences( " mmm " ) !! . getBoolean (
" pref_analytics_enabled " , BuildConfig . DEFAULT _ENABLE _ANALYTICS
)
}
@ -735,7 +737,7 @@ class MainApplication : Application(), Configuration.Provider, ActivityLifecycle
fun shouldShowFeedback ( ) : Boolean {
// should not have been shown in 14 days and only 1 in 5 chance
val randChance = Random ( ) . nextInt ( 5 )
val lastShown = get Shared Preferences( " mmm " ) !! . getLong ( " last_feedback " , 0 )
val lastShown = get Preferences( " mmm " ) !! . getLong ( " last_feedback " , 0 )
if ( forceDebugLogging ) Timber . d (
" Last feedback shown: %d, randChance: %d " ,
lastShown ,