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 191c2fe6..0bec7ea5 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt @@ -903,6 +903,14 @@ class SettingsActivity : MIUIActivity() { dataBindingRecv = show_weather_main_switch_binding.binding.getRecv(2) ) ) + add( + TextSummaryWithSwitchV( + TextSummaryV( + textId = R.string.can_notification_slide, + ), + SwitchV("can_notification_slide") + ) + ) add(LineV()) add(TitleTextV(resId = R.string.control_center)) 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 7beaddaa..8575b652 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 @@ -60,6 +60,8 @@ class SystemUI : IXposedHookLoadPackage { DoubleLineNetworkSpeed().handleLoadPackage(lpparam) StatusBarBigMobileTypeIcon().handleLoadPackage(lpparam) + //允许下滑通知打开小窗 + CanNotificationSlide().handleLoadPackage(lpparam) } } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/CanNotificationSlide.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/CanNotificationSlide.kt new file mode 100644 index 00000000..23c8ce57 --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/CanNotificationSlide.kt @@ -0,0 +1,21 @@ +package com.lt2333.simplicitytools.hook.app.systemui + +import com.github.kyuubiran.ezxhelper.utils.findMethod +import com.github.kyuubiran.ezxhelper.utils.hookMethod +import com.lt2333.simplicitytools.util.hasEnable +import de.robv.android.xposed.IXposedHookLoadPackage +import de.robv.android.xposed.callbacks.XC_LoadPackage + +class CanNotificationSlide : IXposedHookLoadPackage { + override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { + findMethod("com.android.systemui.statusbar.notification.policy.AppMiniWindowManager") { + name == "canNotificationSlide" + }.hookMethod { + after { param -> + hasEnable("can_notification_slide") { + param.result = true + } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7f7629ec..6a94d793 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -181,4 +181,5 @@ Left Right Big Mobile Type Icon + Make all notification can be slide to small window