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 e5b1b977..d6fb95cc 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt @@ -1019,6 +1019,15 @@ class SettingsActivity : MIUIActivity() { SwitchV("skip_waiting_time") ) ) + add( + TextSummaryWithSwitchV( + TextSummaryV( + textId = R.string.remove_open_app_confirmation_popup, + tipsId = R.string.remove_open_app_confirmation_popup_summary + ), + SwitchV("remove_open_app_confirmation_popup") + ) + ) add( TextSummaryWithSwitchV( TextSummaryV( 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 6b2dcd6f..33fa7bfa 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 @@ -1,9 +1,6 @@ package com.lt2333.simplicitytools.hook.app -import com.lt2333.simplicitytools.hook.app.securitycenter.LockOneHundred -import com.lt2333.simplicitytools.hook.app.securitycenter.RemoveMacroBlacklist -import com.lt2333.simplicitytools.hook.app.securitycenter.ShowBatteryTemperature -import com.lt2333.simplicitytools.hook.app.securitycenter.SkipWaitingTime +import com.lt2333.simplicitytools.hook.app.securitycenter.* import de.robv.android.xposed.IXposedHookLoadPackage import de.robv.android.xposed.XposedBridge import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam @@ -11,7 +8,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam class SecurityCenter : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: LoadPackageParam) { - XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName) + XposedBridge.log("Simplicitytools: 成功 Hook " + javaClass.simpleName) //跳过 5/10秒等待时间 SkipWaitingTime().handleLoadPackage(lpparam) //锁定 100分 @@ -20,5 +17,7 @@ class SecurityCenter : IXposedHookLoadPackage { RemoveMacroBlacklist().handleLoadPackage(lpparam) //显示电池温度 ShowBatteryTemperature().handleLoadPackage(lpparam) + //去除打开应用弹窗 + RemoveOpenAppConfirmationPopup().handleLoadPackage(lpparam) } } \ No newline at end of file diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/securitycenter/RemoveOpenAppConfirmationPopup.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/securitycenter/RemoveOpenAppConfirmationPopup.kt new file mode 100644 index 00000000..44d84be2 --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/securitycenter/RemoveOpenAppConfirmationPopup.kt @@ -0,0 +1,34 @@ +package com.lt2333.simplicitytools.hook.app.securitycenter + +import android.widget.TextView +import com.lt2333.simplicitytools.util.XSPUtils +import com.lt2333.simplicitytools.util.findClass +import com.lt2333.simplicitytools.util.hookAfterMethod +import de.robv.android.xposed.IXposedHookLoadPackage +import de.robv.android.xposed.callbacks.XC_LoadPackage + +class RemoveOpenAppConfirmationPopup : IXposedHookLoadPackage { + override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { + val textViewClass = "android.widget.TextView".findClass(lpparam.classLoader) + textViewClass.hookAfterMethod( + "setText", + CharSequence::class.java + ) { + if (XSPUtils.getBoolean("remove_open_app_confirmation_popup", false)) { + val textView = it.thisObject as TextView + if (it.args.isNotEmpty() && it.args[0]?.toString().equals( + textView.context.resources.getString( + textView.context.resources.getIdentifier( + "button_text_accept", + "string", + textView.context.packageName + ) + ) + ) + ) { + textView.performClick() + } + } + } + } +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fcf6c059..e6a237be 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -158,4 +158,6 @@ Help us translate the app into your language Display current information during charging Current + remove open app popup + remove \"Allow XXX to open XXX\" Chain start popup