From bfc530fb7cd44f01fb415a7b08393e24bae6895d Mon Sep 17 00:00:00 2001 From: androidacy-user Date: Sat, 1 Jul 2023 21:51:44 -0400 Subject: [PATCH] tweaks + improvements Signed-off-by: androidacy-user --- .../com/fox2code/mmm/MainApplication.kt | 47 ++++++++++--------- .../com/fox2code/mmm/manager/ModuleManager.kt | 4 +- .../kotlin/com/fox2code/mmm/repo/RepoData.kt | 4 +- .../com/fox2code/mmm/repo/RepoUpdater.kt | 2 + 4 files changed, 32 insertions(+), 25 deletions(-) diff --git a/app/src/main/kotlin/com/fox2code/mmm/MainApplication.kt b/app/src/main/kotlin/com/fox2code/mmm/MainApplication.kt index d6d35e6..0f4dc45 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/MainApplication.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/MainApplication.kt @@ -28,6 +28,8 @@ import com.fox2code.foxcompat.app.internal.FoxProcessExt import com.fox2code.foxcompat.view.FoxThemeWrapper import com.fox2code.mmm.installer.InstallerInitializer import com.fox2code.mmm.installer.InstallerInitializer.Companion.peekMagiskVersion +import com.fox2code.mmm.manager.LocalModuleInfo +import com.fox2code.mmm.repo.RepoModule import com.fox2code.mmm.utils.TimberUtils.configTimber import com.fox2code.mmm.utils.io.FileUtils import com.fox2code.mmm.utils.io.GMSProviderInstaller.Companion.installIfNeeded @@ -79,6 +81,9 @@ class MainApplication : FoxApplication(), Configuration.Provider { private var makingNewKey = false private var isCrashHandler = false + var localModules: HashMap = HashMap() + var repoModules: HashMap = HashMap() + init { check(!(INSTANCE != null && INSTANCE !== this)) { "Duplicate application instance!" } INSTANCE = this @@ -620,9 +625,9 @@ class MainApplication : FoxApplication(), Configuration.Provider { get() = getSharedPreferences("mmm")!!.getBoolean("pref_dns_over_https", true) val isMonetEnabled: Boolean get() = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && getSharedPreferences("mmm")!!.getBoolean( - "pref_enable_monet", - true - ) + "pref_enable_monet", + true + ) val isBlurEnabled: Boolean get() = getSharedPreferences("mmm")!!.getBoolean("pref_enable_blur", false) @@ -630,15 +635,15 @@ class MainApplication : FoxApplication(), Configuration.Provider { val isDeveloper: Boolean get() { return if (BuildConfig.DEBUG) true else getSharedPreferences("mmm")!!.getBoolean( - "developer", - false - ) + "developer", + false + ) } val isDisableLowQualityModuleFilter: Boolean get() = getSharedPreferences("mmm")!!.getBoolean( - "pref_disable_low_quality_module_filter", - false - ) && isDeveloper + "pref_disable_low_quality_module_filter", + false + ) && isDeveloper val isUsingMagiskCommand: Boolean get() = (peekMagiskVersion() >= Constants.MAGISK_VER_CODE_INSTALL_COMMAND) && getSharedPreferences( "mmm" @@ -652,17 +657,17 @@ class MainApplication : FoxApplication(), Configuration.Provider { } val wrapped = isWrapped val updateCheckBgTemp = !wrapped && getSharedPreferences("mmm")!!.getBoolean( - "pref_background_update_check", - true - ) + "pref_background_update_check", + true + ) updateCheckBg = updateCheckBgTemp.toString() return java.lang.Boolean.parseBoolean(updateCheckBg) } val isAndroidacyTestMode: Boolean get() = isDeveloper && getSharedPreferences("mmm")!!.getBoolean( - "pref_androidacy_test_mode", - false - ) + "pref_androidacy_test_mode", + false + ) fun setHasGottenRootAccess(bool: Boolean) { getSharedPreferences("mmm")!!.edit().putBoolean("has_root_access", bool).apply() @@ -670,9 +675,9 @@ class MainApplication : FoxApplication(), Configuration.Provider { val isCrashReportingEnabled: Boolean get() = SentryMain.IS_SENTRY_INSTALLED && getSharedPreferences("mmm")!!.getBoolean( - "pref_crash_reporting", - BuildConfig.DEFAULT_ENABLE_CRASH_REPORTING - ) + "pref_crash_reporting", + BuildConfig.DEFAULT_ENABLE_CRASH_REPORTING + ) val bootSharedPreferences: SharedPreferences? get() = getSharedPreferences("mmm_boot") @@ -689,9 +694,9 @@ class MainApplication : FoxApplication(), Configuration.Provider { @JvmStatic fun isMatomoAllowed(): Boolean { return getSharedPreferences("mmm")!!.getBoolean( - "pref_analytics_enabled", - BuildConfig.DEFAULT_ENABLE_ANALYTICS - ) + "pref_analytics_enabled", + BuildConfig.DEFAULT_ENABLE_ANALYTICS + ) } } } diff --git a/app/src/main/kotlin/com/fox2code/mmm/manager/ModuleManager.kt b/app/src/main/kotlin/com/fox2code/mmm/manager/ModuleManager.kt index a06d8b3..2ab8376 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/manager/ModuleManager.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/manager/ModuleManager.kt @@ -207,14 +207,14 @@ class ModuleManager private constructor() : SyncManager() { var modules: HashMap = HashMap() get() { - Timber.d("getModules") afterScan() return moduleInfos } set(value) { - Timber.d("setModules") + // add to MainApplication.INSTANCE!!.localModules hashmap field = value moduleInfos = value + MainApplication.INSTANCE!!.localModules = value } @Suppress("unused") diff --git a/app/src/main/kotlin/com/fox2code/mmm/repo/RepoData.kt b/app/src/main/kotlin/com/fox2code/mmm/repo/RepoData.kt index b3049f7..b01b67d 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/repo/RepoData.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/repo/RepoData.kt @@ -342,12 +342,12 @@ open class RepoData(url: String, cacheRoot: File) : XRepo() { readProperties( moduleInfo, file.absolutePath, - repoModule.repoName + "/" + moduleInfo.name, + "${repoModule.repoName}/${moduleInfo.name}", false ) moduleInfo.flags = moduleInfo.flags and ModuleInfo.FLAG_METADATA_INVALID.inv() if (moduleInfo.version == null) { - moduleInfo.version = "v" + moduleInfo.versionCode + moduleInfo.version = "v${moduleInfo.versionCode}" } return true } catch (ignored: Exception) { diff --git a/app/src/main/kotlin/com/fox2code/mmm/repo/RepoUpdater.kt b/app/src/main/kotlin/com/fox2code/mmm/repo/RepoUpdater.kt index 868d467..b6481d9 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/repo/RepoUpdater.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/repo/RepoUpdater.kt @@ -97,6 +97,8 @@ class RepoUpdater(repoData2: RepoData) { toUpdate = repoData.populate(JSONObject(String(indexRaw!!, StandardCharsets.UTF_8))) // Since we reuse instances this should work toApply = HashSet(repoData.moduleHashMap.values) + // add toApply to the hashmap MainApplication.INSTANCE!!.repoModules + MainApplication.INSTANCE!!.repoModules.putAll(repoData.moduleHashMap) (toUpdate as MutableList?)?.let { (toApply as HashSet).removeAll( it.toSet()