diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5376b8cf..e2e14006 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -6,8 +6,8 @@ plugins { } android { - compileSdk = 31 - + compileSdk = 32 + buildToolsVersion = "32.0.0" defaultConfig { applicationId = "com.lt2333.simplicitytools" minSdk = 31 diff --git a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt index 480eeb7b..cdb79da2 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt @@ -398,7 +398,7 @@ class SettingsActivity : MIUIActivity() { } //系统框架页面 - fun androidItems(): ArrayList { + private fun androidItems(): ArrayList { return ArrayList().apply { add( TextSummaryWithSwitchV( @@ -440,7 +440,7 @@ class SettingsActivity : MIUIActivity() { } //系统界面页面 - fun systemuiItems(): ArrayList { + private fun systemuiItems(): ArrayList { return ArrayList().apply { add(TitleTextV(resId = R.string.statusbar)) add( diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt index b1a24fd5..87d40aa6 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt @@ -8,7 +8,7 @@ import de.robv.android.xposed.XSharedPreferences import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam class MainHook : IXposedHookLoadPackage { - var prefs = XSharedPreferences(BuildConfig.APPLICATION_ID, "config") + private var prefs = XSharedPreferences(BuildConfig.APPLICATION_ID, "config") override fun handleLoadPackage(lpparam: LoadPackageParam) { if (prefs.getBoolean("main_switch", true)) { EzXHelperInit.initHandleLoadPackage(lpparam) diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/Android.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/Android.kt index 804c020e..8cd5deec 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/Android.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/Android.kt @@ -10,7 +10,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage class Android : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { - XposedBridge.log("成功Hook: "+javaClass.simpleName) + XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName) //核心破解 CorePatch().handleLoadPackage(lpparam) //允许截图 diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/MediaEditor.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/MediaEditor.kt index 451919f6..b01c386f 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/MediaEditor.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/MediaEditor.kt @@ -7,7 +7,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam class MediaEditor : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: LoadPackageParam) { - XposedBridge.log("成功Hook: "+javaClass.simpleName) + XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName) //解锁裁切最小值 UnlockUnlimitedCropping().handleLoadPackage(lpparam) } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/MiuiHome.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/MiuiHome.kt index 768ec23d..2f05a0b5 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/MiuiHome.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/MiuiHome.kt @@ -7,7 +7,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam class MiuiHome : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: LoadPackageParam) { - XposedBridge.log("成功Hook: " + javaClass.simpleName) + XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName) //时钟显示时钟 AlwaysDisplayTime().handleLoadPackage(lpparam) } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/PowerKeeper.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/PowerKeeper.kt index 4dd8543d..ecc16879 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/PowerKeeper.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/PowerKeeper.kt @@ -9,7 +9,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam class PowerKeeper : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: LoadPackageParam) { - XposedBridge.log("成功Hook: "+javaClass.simpleName) + XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName) //锁定最高刷新率 LockMaxFps().handleLoadPackage(lpparam) //防止恢复电池优化白名单 diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SecurityCenter.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SecurityCenter.kt index ff0f92c9..64816012 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SecurityCenter.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SecurityCenter.kt @@ -9,7 +9,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam class SecurityCenter : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: LoadPackageParam) { - XposedBridge.log("成功Hook: " + javaClass.simpleName) + XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName) //跳过 5/10秒等待时间 SkipWaitingTime().handleLoadPackage(lpparam) //锁定 100分 diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/Settings.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/Settings.kt index 78460abf..dcf20983 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/Settings.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/Settings.kt @@ -2,10 +2,12 @@ package com.lt2333.simplicitytools.hook.app import com.lt2333.simplicitytools.hook.app.settings.ShowNotificationImportance import de.robv.android.xposed.IXposedHookLoadPackage +import de.robv.android.xposed.XposedBridge import de.robv.android.xposed.callbacks.XC_LoadPackage class Settings: IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { + XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName) ShowNotificationImportance().handleLoadPackage(lpparam) } } \ No newline at end of file diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt index f545f380..06ced17f 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt @@ -8,7 +8,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam class SystemUI : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: LoadPackageParam) { - XposedBridge.log("成功Hook: " + javaClass.simpleName) + XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName) //隐藏飞行模式图标 HideAirplaneIcon().handleLoadPackage(lpparam) //隐藏闹钟图标 diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/ThemeManager.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/ThemeManager.kt index b13ab5a5..4fae6968 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/ThemeManager.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/ThemeManager.kt @@ -7,7 +7,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam class ThemeManager : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: LoadPackageParam) { - XposedBridge.log("成功Hook: " + javaClass.simpleName) + XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName) //移除主题壁纸的广告 RemoveAds().handleLoadPackage(lpparam) } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/android/RemoveSmallWindowRestrictions.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/android/RemoveSmallWindowRestrictions.kt index 860e5934..4ac75aa0 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/android/RemoveSmallWindowRestrictions.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/android/RemoveSmallWindowRestrictions.kt @@ -1,5 +1,6 @@ package com.lt2333.simplicitytools.hook.app.android +import android.content.Context import com.lt2333.simplicitytools.util.hasEnable import com.lt2333.simplicitytools.util.hookAfterMethod import com.lt2333.simplicitytools.util.hookBeforeMethod @@ -22,7 +23,7 @@ class RemoveSmallWindowRestrictions : IXposedHookLoadPackage { } } - "android.util.MiuiMultiWindowAdapter".hookAfterMethod(lpparam.classLoader, "getFreeformBlackListFromCloud") { + "android.util.MiuiMultiWindowAdapter".hookAfterMethod(lpparam.classLoader, "getFreeformBlackListFromCloud", Context::class.java) { hasEnable("remove_small_window_restrictions") { it.result = (it.result as MutableList<*>).apply { clear() } } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/thememanager/RemoveAds.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/thememanager/RemoveAds.kt index aa35a403..a59fd043 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/thememanager/RemoveAds.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/thememanager/RemoveAds.kt @@ -1,29 +1,17 @@ package com.lt2333.simplicitytools.hook.app.thememanager -import com.lt2333.simplicitytools.util.XSPUtils +import com.lt2333.simplicitytools.util.findClass +import com.lt2333.simplicitytools.util.hasEnable +import com.lt2333.simplicitytools.util.hookBeforeMethod import de.robv.android.xposed.IXposedHookLoadPackage -import de.robv.android.xposed.XC_MethodHook -import de.robv.android.xposed.XposedHelpers import de.robv.android.xposed.callbacks.XC_LoadPackage class RemoveAds : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { - val classIfExists = XposedHelpers.findClassIfExists( - "com.android.thememanager.basemodule.ad.model.AdInfoResponse", lpparam?.classLoader - ) - val valueClass: Class<*> = XposedHelpers.findClass( - "com.android.thememanager.basemodule.ad.model.AdInfo", lpparam?.classLoader - ) - XposedHelpers.findAndHookMethod( - classIfExists, - "isAdValid", - valueClass, - object : XC_MethodHook() { - override fun beforeHookedMethod(param: MethodHookParam?) { - if (XSPUtils.getBoolean("remove_thememanager_ads", false)) { - param?.result = false - } - } - }) + "com.android.thememanager.basemodule.ad.model.AdInfoResponse".hookBeforeMethod(lpparam.classLoader, "isAdValid", "com.android.thememanager.basemodule.ad.model.AdInfo".findClass(lpparam.classLoader)) { + hasEnable("remove_thememanager_ads") { + it.result = false + } + } } } \ No newline at end of file diff --git a/app/src/main/java/com/lt2333/simplicitytools/util/KotlinXposedHelper.kt b/app/src/main/java/com/lt2333/simplicitytools/util/KotlinXposedHelper.kt index ff33ca8b..d22161e9 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/util/KotlinXposedHelper.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/util/KotlinXposedHelper.kt @@ -1,6 +1,5 @@ package com.lt2333.simplicitytools.util -import android.content.Context import android.content.res.XResources import android.util.Log import dalvik.system.BaseDexClassLoader @@ -9,7 +8,6 @@ import de.robv.android.xposed.XC_MethodReplacement import de.robv.android.xposed.XposedBridge import de.robv.android.xposed.XposedHelpers import de.robv.android.xposed.callbacks.XC_LayoutInflated -import de.robv.android.xposed.callbacks.XC_LoadPackage import java.lang.reflect.Field import java.lang.reflect.Member import java.util.* diff --git a/build.gradle.kts b/build.gradle.kts index 3bf8fd8d..cba361ea 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:7.1.1") + classpath("com.android.tools.build:gradle:7.1.2") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10") // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle.properties b/gradle.properties index 52f5917c..551115d1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,4 +16,9 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 # https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX -android.enableJetifier=true \ No newline at end of file +android.enableJetifier=true +android.enableAppCompileTimeRClass=true +android.nonTransitiveRClass=true +org.gradle.caching=true +org.gradle.parallel=true +org.gradle.vfs.watch=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f37c82dd..c4a685e2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sun Feb 13 16:53:34 CST 2022 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle.kts b/settings.gradle.kts index d231fbe6..b7315e44 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -3,7 +3,7 @@ dependencyResolutionManagement { repositories { google() mavenCentral() - jcenter() // Warning: this repository is going to shut down soon + maven("https://api.xposed.info") } } rootProject.name = "Simplicity Tools"