From b4bc91043e189c9ab1315928a1ebcc23b3c5c338 Mon Sep 17 00:00:00 2001 From: YuKongA <70465933+YuKongA@users.noreply.github.com> Date: Thu, 16 Feb 2023 23:05:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E9=83=A8=E5=88=86=E9=92=88?= =?UTF-8?q?=E5=AF=B9=E5=B0=8F=E7=B1=B3=E6=A1=8C=E9=9D=A2=E7=9A=84=E9=92=A9?= =?UTF-8?q?=E5=AD=90=20(#223)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 乌堆小透明 --- README.md | 41 ++++---- README_EN.md | 29 +++--- app/build.gradle.kts | 4 +- .../activity/pages/s/OtherPageForS.kt | 23 ++++- .../activity/pages/t/OtherPageForT.kt | 23 ++++- .../simplicitytools/hooks/apps/Android.kt | 5 +- .../lt2333/simplicitytools/hooks/apps/Cast.kt | 9 +- .../simplicitytools/hooks/apps/MediaEditor.kt | 1 + .../simplicitytools/hooks/apps/MiuiHome.kt | 22 ++++- .../hooks/apps/PackageInstaller.kt | 2 +- .../simplicitytools/hooks/apps/PowerKeeper.kt | 9 +- .../simplicitytools/hooks/apps/RearDisplay.kt | 9 +- .../simplicitytools/hooks/apps/ScreenShot.kt | 9 +- .../hooks/apps/SecurityCenter.kt | 11 ++- .../simplicitytools/hooks/apps/Settings.kt | 9 +- .../simplicitytools/hooks/apps/SystemUI.kt | 73 +++++++++++++- .../hooks/apps/ThemeManager.kt | 9 +- .../simplicitytools/hooks/apps/Updater.kt | 3 +- ...l.kt => AlwaysShowStatusBarClockForAll.kt} | 3 +- ...sableRecentViewWallpaperDarkeningForAll.kt | 19 ++++ .../ModifyRecentViewRemoveCardAnimForAll.kt | 54 +++++++++++ ...SmallWindowRestrictionForMiuiHomeForAll.kt | 28 ++++++ .../all/miuihome/ScrollIconNameForAll.kt | 80 ++++++++++++++++ .../miuihome/ShortcutAddSmallWindowForAll.kt | 95 +++++++++++++++++++ .../res/drawable/ic_small_window_dark.xml | 13 +++ .../res/drawable/ic_small_window_light.xml | 13 +++ app/src/main/res/values-zh-rCN/strings.xml | 10 ++ app/src/main/res/values/strings.xml | 9 ++ build.gradle.kts | 2 +- settings.gradle.kts | 3 +- 30 files changed, 545 insertions(+), 75 deletions(-) rename app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/{AlwaysDisplayTimeForAll.kt => AlwaysShowStatusBarClockForAll.kt} (93%) create mode 100644 app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/DisableRecentViewWallpaperDarkeningForAll.kt create mode 100644 app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ModifyRecentViewRemoveCardAnimForAll.kt create mode 100644 app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/RemoveSmallWindowRestrictionForMiuiHomeForAll.kt create mode 100644 app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ScrollIconNameForAll.kt create mode 100644 app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ShortcutAddSmallWindowForAll.kt create mode 100644 app/src/main/res/drawable/ic_small_window_dark.xml create mode 100644 app/src/main/res/drawable/ic_small_window_light.xml diff --git a/README.md b/README.md index 53d23640..17455038 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,7 @@
logo

WooBox For MIUI

-

- English 丨 简体中文 -

+

English 丨 简体中文

GitHub all releases GitHub stars GitHub issues @@ -14,43 +12,54 @@ --- ### 模块说明 - -开发者:[酷安@乌堆小透明](http://www.coolapk.com/u/883441) + +开发者:[酷安@乌堆小透明](http://www.coolapk.com/u/883441) --- ### 模块截图 -![截图](https://raw.githubusercontent.com/LittleTurtle2333/SimplicityTools/main/doc/cn.jpg) + +![截图](https://raw.githubusercontent.com/LittleTurtle2333/SimplicityTools/main/doc/cn.jpg) --- ### 下载地址 -Xposed仓库下载:[点击此处下载最新发行版](https://github.com/Xposed-Modules-Repo/com.lt2333.simplicitytools/releases) +Xposed +仓库下载:[点击此处下载最新发行版](https://github.com/Xposed-Modules-Repo/com.lt2333.simplicitytools/releases) -酷安下载:[点击此处下载最新发行版](https://www.coolapk.com/apk/com.lt2333.simplicitytools) +酷安下载:[点击此处下载最新发行版](https://www.coolapk.com/apk/com.lt2333.simplicitytools) --- ### 改进翻译 -[![Crowdin](https://badges.crowdin.net/simplicitytools/localized.svg)](https://crowdin.com/project/simplicitytools)[点击此处进入Crowdin](https://crowdin.com/project/simplicitytools) + +[![Crowdin](https://badges.crowdin.net/simplicitytools/localized.svg)](https://crowdin.com/project/simplicitytools) [点击此处进入Crowdin](https://crowdin.com/project/simplicitytools) --- ### 第三方开源引用 + ##### GNU General Public License v3.0 -[qqlittleice/MiuiHome](https://github.com/qqlittleice/MiuiHome) -[yujincheng08/BiliRoaming](https://github.com/yujincheng08/BiliRoaming) -[Mikanoshi/CustoMIUIzer](https://code.highspec.ru/Mikanoshi/CustoMIUIzer) -[MonwF/customiuizer](https://github.com/MonwF/customiuizer) + +[yujincheng08/BiliRoaming](https://github.com/yujincheng08/BiliRoaming) +[Mikanoshi/CustoMIUIzer](https://code.highspec.ru/Mikanoshi/CustoMIUIzer) +[MonwF/customiuizer](https://github.com/MonwF/customiuizer) + ##### GNU General Public License v2.0 -[LSPosed/CorePatch](https://github.com/LSPosed/CorePatch) + +[LSPosed/CorePatch](https://github.com/LSPosed/CorePatch) + ##### GNU Lesser General Public License v2.1 -[577fkj/blockmiui](https://github.com/577fkj/blockmiui) + +[577fkj/blockmiui](https://github.com/577fkj/blockmiui) + ##### Apache License 2.0 -[KyuubiRan/EzXHelper](https://github.com/KyuubiRan/EzXHelper) + +[KyuubiRan/EzXHelper](https://github.com/KyuubiRan/EzXHelper) --- ### License + [GNU General Public License v3.0](https://github.com/LittleTurtle2333/SimplicityTools/blob/main/LICENSE) diff --git a/README_EN.md b/README_EN.md index 2b890a63..2d0e65e7 100644 --- a/README_EN.md +++ b/README_EN.md @@ -1,9 +1,7 @@
logo

WooBox For MIUI

-

- English 丨 简体中文 -

+

English 丨 简体中文

GitHub all releases GitHub stars GitHub issues @@ -14,36 +12,45 @@ --- ### Screenshot -![Screenshot](https://raw.githubusercontent.com/LittleTurtle2333/SimplicityTools/main/doc/en.jpg) + +![Screenshot](https://raw.githubusercontent.com/LittleTurtle2333/SimplicityTools/main/doc/en.jpg) --- ### Download -Xposed Repo:[Click here to download the latest release](https://github.com/Xposed-Modules-Repo/com.lt2333.simplicitytools/releases) - +Xposed Repo:[Click here to download the latest release](https://github.com/Xposed-Modules-Repo/com.lt2333.simplicitytools/releases) --- ### Participate in translation -[![Crowdin](https://badges.crowdin.net/simplicitytools/localized.svg)](https://crowdin.com/project/simplicitytools)[Click here to Crowdin](https://crowdin.com/project/simplicitytools) + +[![Crowdin](https://badges.crowdin.net/simplicitytools/localized.svg)](https://crowdin.com/project/simplicitytools) [Click here to Crowdin](https://crowdin.com/project/simplicitytools) --- ## Third party open source references + ##### GNU General Public License v3.0 -[qqlittleice/MiuiHome](https://github.com/qqlittleice/MiuiHome) -[yujincheng08/BiliRoaming](https://github.com/yujincheng08/BiliRoaming) -[Mikanoshi/CustoMIUIzer](https://code.highspec.ru/Mikanoshi/CustoMIUIzer) + +[yujincheng08/BiliRoaming](https://github.com/yujincheng08/BiliRoaming) +[Mikanoshi/CustoMIUIzer](https://code.highspec.ru/Mikanoshi/CustoMIUIzer) [MonwF/customiuizer](https://github.com/MonwF/customiuizer) + ##### GNU General Public License v2.0 -[LSPosed/CorePatch](https://github.com/LSPosed/CorePatch) + +[LSPosed/CorePatch](https://github.com/LSPosed/CorePatch) + ##### GNU Lesser General Public License v2.1 + [577fkj/blockmiui](https://github.com/577fkj/blockmiui) + ##### Apache License 2.0 + [KyuubiRan/EzXHelper](https://github.com/KyuubiRan/EzXHelper) --- ## License + [GNU General Public License v3.0](https://github.com/LittleTurtle2333/SimplicityTools/blob/main/LICENSE) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b1fbf324..257883cd 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -54,10 +54,10 @@ dependencies { implementation("com.github.kyuubiran:EzXHelper:1.0.3") //UI implementation(project(":blockmiui")) - implementation("androidx.constraintlayout:constraintlayout:2.1.3") + implementation("androidx.constraintlayout:constraintlayout:2.1.4") //APP Center val appCenterSdkVersion = "4.4.3" implementation("com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}") implementation("com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}") - implementation("androidx.core:core-splashscreen:1.0.0-rc01") + implementation("androidx.core:core-splashscreen:1.0.0") } \ No newline at end of file diff --git a/app/src/main/java/com/lt2333/simplicitytools/activity/pages/s/OtherPageForS.kt b/app/src/main/java/com/lt2333/simplicitytools/activity/pages/s/OtherPageForS.kt index 394dd697..945ed3d1 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/activity/pages/s/OtherPageForS.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/activity/pages/s/OtherPageForS.kt @@ -2,7 +2,6 @@ package com.lt2333.simplicitytools.activity.pages.s import android.content.ComponentName import android.content.Intent -import android.content.pm.PackageManager import android.view.View import android.widget.Switch import android.widget.Toast @@ -11,12 +10,10 @@ import cn.fkj233.ui.activity.annotation.BMPage import cn.fkj233.ui.activity.data.BasePage import cn.fkj233.ui.activity.view.SwitchV import cn.fkj233.ui.activity.view.TextSummaryV -import cn.fkj233.ui.dialog.MIUIDialog -import com.lt2333.simplicitytools.BuildConfig import com.lt2333.simplicitytools.R -@BMPage("scope_other","Other", hideMenu = false) +@BMPage("scope_other", "Other", hideMenu = false) class OtherPageForS : BasePage() { override fun onCreate() { @@ -33,6 +30,24 @@ class OtherPageForS : BasePage() { tipsId = R.string.home_double_tap_to_sleep_summary ), SwitchV("double_tap_to_sleep") ) + TextSummaryWithSwitch( + TextSummaryV( + textId = R.string.miuihome_recentwiew_wallpaper_darkening, tipsId = R.string.miuihome_recentwiew_wallpaper_darkening_summary + ), SwitchV("miuihome_recentwiew_wallpaper_darkening", false) + ) + TextSummaryWithSwitch( + TextSummaryV( + textId = R.string.miuihome_recentview_remove_card_animation, tipsId = R.string.miuihome_recentview_remove_card_animation_summary + ), SwitchV("miuihome_recentview_remove_card_animation", false) + ) + TextSummaryWithSwitch( + TextSummaryV(textId = R.string.miuihome_shortcut_add_small_window, tipsId = R.string.miuihome_shortcut_add_small_window_summary), + SwitchV("miuihome_shortcut_add_small_window", false) + ) + TextSummaryWithSwitch( + TextSummaryV(textId = R.string.miuihome_scroll_icon_name, tipsId = R.string.miuihome_scroll_icon_name_summary), + SwitchV("miuihome_scroll_icon_name", false) + ) Line() TitleText(textId = R.string.scope_powerkeeper) TextSummaryWithSwitch( diff --git a/app/src/main/java/com/lt2333/simplicitytools/activity/pages/t/OtherPageForT.kt b/app/src/main/java/com/lt2333/simplicitytools/activity/pages/t/OtherPageForT.kt index 27763091..97524a9e 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/activity/pages/t/OtherPageForT.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/activity/pages/t/OtherPageForT.kt @@ -2,7 +2,6 @@ package com.lt2333.simplicitytools.activity.pages.t import android.content.ComponentName import android.content.Intent -import android.content.pm.PackageManager import android.view.View import android.widget.Switch import android.widget.Toast @@ -11,12 +10,10 @@ import cn.fkj233.ui.activity.annotation.BMPage import cn.fkj233.ui.activity.data.BasePage import cn.fkj233.ui.activity.view.SwitchV import cn.fkj233.ui.activity.view.TextSummaryV -import cn.fkj233.ui.dialog.MIUIDialog -import com.lt2333.simplicitytools.BuildConfig import com.lt2333.simplicitytools.R -@BMPage("scope_other","Other", hideMenu = false) +@BMPage("scope_other", "Other", hideMenu = false) class OtherPageForT : BasePage() { override fun onCreate() { @@ -33,6 +30,24 @@ class OtherPageForT : BasePage() { tipsId = R.string.home_double_tap_to_sleep_summary ), SwitchV("double_tap_to_sleep") ) + TextSummaryWithSwitch( + TextSummaryV( + textId = R.string.miuihome_recentwiew_wallpaper_darkening, tipsId = R.string.miuihome_recentwiew_wallpaper_darkening_summary + ), SwitchV("miuihome_recentwiew_wallpaper_darkening", false) + ) + TextSummaryWithSwitch( + TextSummaryV( + textId = R.string.miuihome_recentview_remove_card_animation, tipsId = R.string.miuihome_recentview_remove_card_animation_summary + ), SwitchV("miuihome_recentview_remove_card_animation", false) + ) + TextSummaryWithSwitch( + TextSummaryV(textId = R.string.miuihome_shortcut_add_small_window, tipsId = R.string.miuihome_shortcut_add_small_window_summary), + SwitchV("miuihome_shortcut_add_small_window", false) + ) + TextSummaryWithSwitch( + TextSummaryV(textId = R.string.miuihome_scroll_icon_name, tipsId = R.string.miuihome_scroll_icon_name_summary), + SwitchV("miuihome_scroll_icon_name", false) + ) Line() TitleText(textId = R.string.scope_powerkeeper) TextSummaryWithSwitch( diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Android.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Android.kt index 4c2003dd..827508e0 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Android.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Android.kt @@ -5,7 +5,9 @@ import com.lt2333.simplicitytools.hooks.rules.all.android.AllowUntrustedTouchesF import com.lt2333.simplicitytools.hooks.rules.all.android.DeleteOnPostNotificationForAll import com.lt2333.simplicitytools.hooks.rules.all.android.DisableFlagSecureForAll import com.lt2333.simplicitytools.hooks.rules.all.corepatch.CorePatchMainHook -import com.lt2333.simplicitytools.hooks.rules.s.android.* +import com.lt2333.simplicitytools.hooks.rules.s.android.MaxWallpaperScaleForS +import com.lt2333.simplicitytools.hooks.rules.s.android.RemoveSmallWindowRestrictionsForS +import com.lt2333.simplicitytools.hooks.rules.s.android.SystemPropertiesHookForS import com.lt2333.simplicitytools.hooks.rules.t.android.MaxWallpaperScaleForT import com.lt2333.simplicitytools.hooks.rules.t.android.SystemPropertiesHookForT import com.lt2333.simplicitytools.utils.xposed.base.AppRegister @@ -29,6 +31,7 @@ object Android : AppRegister() { AllowUntrustedTouchesForAll, //允许不受信任的触摸 ) } + Build.VERSION_CODES.S -> { autoInitHooks( lpparam, diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Cast.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Cast.kt index e5ea7fdd..4a6f4836 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Cast.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Cast.kt @@ -5,18 +5,21 @@ import com.lt2333.simplicitytools.hooks.rules.all.cast.ForceSupportSendAppForAll import com.lt2333.simplicitytools.utils.xposed.base.AppRegister import de.robv.android.xposed.callbacks.XC_LoadPackage -object Cast: AppRegister() { +object Cast : AppRegister() { override val packageName: String = "com.milink.service" override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { when (Build.VERSION.SDK_INT) { Build.VERSION_CODES.TIRAMISU -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, ForceSupportSendAppForAll, //强制允许所有应用接力 ) } + Build.VERSION_CODES.S -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, ForceSupportSendAppForAll, //强制允许所有应用接力 ) } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/MediaEditor.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/MediaEditor.kt index 1bda6118..453efed3 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/MediaEditor.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/MediaEditor.kt @@ -17,6 +17,7 @@ object MediaEditor : AppRegister() { UnlockUnlimitedCroppingForT, //解锁裁切最小值 ) } + Build.VERSION_CODES.S -> { autoInitHooks( lpparam, diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/MiuiHome.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/MiuiHome.kt index 9b2ac1b7..f8b3c599 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/MiuiHome.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/MiuiHome.kt @@ -1,8 +1,13 @@ package com.lt2333.simplicitytools.hooks.apps import android.os.Build -import com.lt2333.simplicitytools.hooks.rules.all.miuihome.AlwaysDisplayTimeForAll +import com.lt2333.simplicitytools.hooks.rules.all.miuihome.AlwaysShowStatusBarClockForAll +import com.lt2333.simplicitytools.hooks.rules.all.miuihome.DisableRecentViewWallpaperDarkeningForAll import com.lt2333.simplicitytools.hooks.rules.all.miuihome.DoubleTapToSleepForAll +import com.lt2333.simplicitytools.hooks.rules.all.miuihome.ModifyRecentViewRemoveCardAnimForAll +import com.lt2333.simplicitytools.hooks.rules.all.miuihome.RemoveSmallWindowRestrictionForMiuiHomeForAll +import com.lt2333.simplicitytools.hooks.rules.all.miuihome.ScrollIconNameForAll +import com.lt2333.simplicitytools.hooks.rules.all.miuihome.ShortcutAddSmallWindowForAll import com.lt2333.simplicitytools.utils.xposed.base.AppRegister import de.robv.android.xposed.callbacks.XC_LoadPackage @@ -14,15 +19,26 @@ object MiuiHome : AppRegister() { Build.VERSION_CODES.TIRAMISU -> { autoInitHooks( lpparam, - AlwaysDisplayTimeForAll, //时钟显示时钟 + AlwaysShowStatusBarClockForAll, //时钟显示时钟 DoubleTapToSleepForAll, //双击锁屏 + DisableRecentViewWallpaperDarkeningForAll, //取消后台壁纸压暗效果 + ModifyRecentViewRemoveCardAnimForAll, //横向排布后台划卡动画 + ScrollIconNameForAll, //滚动显示应用标题 + RemoveSmallWindowRestrictionForMiuiHomeForAll, //取消小窗限制 + ShortcutAddSmallWindowForAll, //快捷菜单添加小窗 ) } + Build.VERSION_CODES.S -> { autoInitHooks( lpparam, - AlwaysDisplayTimeForAll, //时钟显示时钟 + AlwaysShowStatusBarClockForAll, //时钟显示时钟 DoubleTapToSleepForAll, //双击锁屏 + DisableRecentViewWallpaperDarkeningForAll, //取消后台壁纸压暗效果 + ModifyRecentViewRemoveCardAnimForAll, //横向排布后台划卡动画 + ScrollIconNameForAll, //滚动显示应用标题 + RemoveSmallWindowRestrictionForMiuiHomeForAll, //取消小窗限制 + ShortcutAddSmallWindowForAll, //快捷菜单添加小窗 ) } } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/PackageInstaller.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/PackageInstaller.kt index 64e45cc6..6e70a472 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/PackageInstaller.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/PackageInstaller.kt @@ -7,7 +7,7 @@ import com.lt2333.simplicitytools.utils.xposed.base.AppRegister import de.robv.android.xposed.XposedBridge import de.robv.android.xposed.callbacks.XC_LoadPackage -object PackageInstaller: AppRegister() { +object PackageInstaller : AppRegister() { override val packageName: String = "com.miui.packageinstaller" diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/PowerKeeper.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/PowerKeeper.kt index 75f8d4ad..916d0137 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/PowerKeeper.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/PowerKeeper.kt @@ -8,21 +8,24 @@ import com.lt2333.simplicitytools.hooks.rules.s.powerkeeper.PreventRecoveryOfBat import com.lt2333.simplicitytools.utils.xposed.base.AppRegister import de.robv.android.xposed.callbacks.XC_LoadPackage -object PowerKeeper: AppRegister() { +object PowerKeeper : AppRegister() { override val packageName: String = "com.miui.powerkeeper" override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { when (Build.VERSION.SDK_INT) { Build.VERSION_CODES.TIRAMISU -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, LockMaxFpsForAll, //锁定最高刷新率 PreventRecoveryOfBatteryOptimizationWhitelistForS, //防止恢复电池优化白名单 DoNotClearAppForS,//阻止杀后台 MakeMilletMoreAggressiveForS,//使 Millet 更激进 ) } + Build.VERSION_CODES.S -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, LockMaxFpsForAll, //锁定最高刷新率 PreventRecoveryOfBatteryOptimizationWhitelistForS, //防止恢复电池优化白名单 DoNotClearAppForS,//阻止杀后台 diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/RearDisplay.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/RearDisplay.kt index b09708df..422f18fd 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/RearDisplay.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/RearDisplay.kt @@ -5,18 +5,21 @@ import com.lt2333.simplicitytools.hooks.rules.all.reardisplay.RearDisplayWeather import com.lt2333.simplicitytools.utils.xposed.base.AppRegister import de.robv.android.xposed.callbacks.XC_LoadPackage -object RearDisplay: AppRegister() { +object RearDisplay : AppRegister() { override val packageName: String = "com.xiaomi.misubscreenui" override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { when (Build.VERSION.SDK_INT) { Build.VERSION_CODES.TIRAMISU -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, RearDisplayWeatherForAll, //背屏显示天气 ) } + Build.VERSION_CODES.S -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, RearDisplayWeatherForAll, //背屏显示天气 ) } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/ScreenShot.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/ScreenShot.kt index 842c099f..bcdf9931 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/ScreenShot.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/ScreenShot.kt @@ -6,18 +6,21 @@ import com.lt2333.simplicitytools.hooks.rules.t.mediaeditor.UnlockUnlimitedCropp import com.lt2333.simplicitytools.utils.xposed.base.AppRegister import de.robv.android.xposed.callbacks.XC_LoadPackage -object ScreenShot: AppRegister() { +object ScreenShot : AppRegister() { override val packageName: String = "com.miui.screenshot" override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { when (Build.VERSION.SDK_INT) { Build.VERSION_CODES.TIRAMISU -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, UnlockUnlimitedCroppingForT, //解锁裁切限制 ) } + Build.VERSION_CODES.S -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, UnlockUnlimitedCroppingForS, //解锁裁切限制 ) } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/SecurityCenter.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/SecurityCenter.kt index da584b7c..fb16dd5a 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/SecurityCenter.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/SecurityCenter.kt @@ -2,21 +2,22 @@ package com.lt2333.simplicitytools.hooks.apps import android.os.Build import com.lt2333.simplicitytools.hooks.rules.all.securitycenter.LockOneHundredForAll +import com.lt2333.simplicitytools.hooks.rules.all.securitycenter.RemoveMacroBlacklistForAll import com.lt2333.simplicitytools.hooks.rules.all.securitycenter.RemoveOpenAppConfirmationPopupForAll import com.lt2333.simplicitytools.hooks.rules.all.securitycenter.SkipWaitingTimeForAll -import com.lt2333.simplicitytools.hooks.rules.all.securitycenter.RemoveMacroBlacklistForAll import com.lt2333.simplicitytools.hooks.rules.s.securitycenter.ShowBatteryTemperatureForS import com.lt2333.simplicitytools.hooks.rules.t.securitycenter.ShowBatteryTemperatureForT import com.lt2333.simplicitytools.utils.xposed.base.AppRegister import de.robv.android.xposed.callbacks.XC_LoadPackage -object SecurityCenter: AppRegister() { +object SecurityCenter : AppRegister() { override val packageName: String = "com.miui.securitycenter" override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { when (Build.VERSION.SDK_INT) { Build.VERSION_CODES.TIRAMISU -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, SkipWaitingTimeForAll, //跳过 5/10秒等待时间 LockOneHundredForAll, //锁定 100分 RemoveMacroBlacklistForAll, //去除自动连招黑名单 @@ -24,8 +25,10 @@ object SecurityCenter: AppRegister() { RemoveOpenAppConfirmationPopupForAll, //去除打开应用弹窗 ) } + Build.VERSION_CODES.S -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, SkipWaitingTimeForAll, //跳过 5/10秒等待时间 LockOneHundredForAll, //锁定 100分 RemoveMacroBlacklistForAll, //去除自动连招黑名单 diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Settings.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Settings.kt index be130954..09e99d09 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Settings.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Settings.kt @@ -5,18 +5,21 @@ import com.lt2333.simplicitytools.hooks.rules.all.settings.ShowNotificationImpor import com.lt2333.simplicitytools.utils.xposed.base.AppRegister import de.robv.android.xposed.callbacks.XC_LoadPackage -object Settings: AppRegister() { +object Settings : AppRegister() { override val packageName: String = "com.android.settings" override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { when (Build.VERSION.SDK_INT) { Build.VERSION_CODES.TIRAMISU -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, ShowNotificationImportanceForAll, //显示通知重要程度 ) } + Build.VERSION_CODES.S -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, ShowNotificationImportanceForAll, //显示通知重要程度 ) } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/SystemUI.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/SystemUI.kt index de4bc27e..8245d6c1 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/SystemUI.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/SystemUI.kt @@ -1,18 +1,79 @@ package com.lt2333.simplicitytools.hooks.apps import android.os.Build -import com.lt2333.simplicitytools.hooks.rules.s.systemui.* -import com.lt2333.simplicitytools.hooks.rules.t.systemui.* +import com.lt2333.simplicitytools.hooks.rules.s.systemui.BatteryPercentageForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.CanNotificationSlideForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.ControlCenterWeatherForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.CustomMobileTypeTextForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.DoubleLineNetworkSpeedForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideBatteryIconForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideHDIconForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideMobileActivityIconForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideMobileTypeIconForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideNetworkSpeedSplitterForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideSimIconForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideStatusBarIconForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideStatusBarNetworkSpeedSecondForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideWifiActivityIconForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.LockScreenClockDisplaySecondsForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.LockScreenCurrentForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.LockScreenDoubleTapToSleepForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.MaximumNumberOfNotificationIconsForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.NewNotificationWeatherForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.NotificationWeatherForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.OldNotificationWeatherForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.OldQSCustomForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.RemoveLockScreenCameraForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.RemoveTheLeftSideOfTheLockScreenForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.ShowWifiStandardForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.StatusBarBigMobileTypeIconForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.StatusBarDoubleTapToSleepForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.StatusBarLayoutForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.StatusBarNetworkSpeedRefreshSpeedForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.StatusBarTimeCustomizationForS +import com.lt2333.simplicitytools.hooks.rules.s.systemui.WaveChargeForS +import com.lt2333.simplicitytools.hooks.rules.t.systemui.BatteryPercentageForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.CanNotificationSlideForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.ControlCenterWeatherForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.CustomMobileTypeTextForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.DoubleLineNetworkSpeedForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideBatteryIconForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideHDIconForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideMobileActivityIconForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideMobileTypeIconForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideNetworkSpeedSplitterForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideSimIconForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideStatusBarIconForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideStatusBarNetworkSpeedSecondForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideWifiActivityIconForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.LockScreenClockDisplaySecondsForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.LockScreenCurrentForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.LockScreenDoubleTapToSleepForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.MaximumNumberOfNotificationIconsForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.NewNotificationWeatherForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.NotificationWeatherForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.OldNotificationWeatherForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.OldQSCustomForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.RemoveLockScreenCameraForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.RemoveTheLeftSideOfTheLockScreenForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.ShowWifiStandardForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.StatusBarBigMobileTypeIconForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.StatusBarDoubleTapToSleepForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.StatusBarLayoutForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.StatusBarNetworkSpeedRefreshSpeedForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.StatusBarTimeCustomizationForT +import com.lt2333.simplicitytools.hooks.rules.t.systemui.WaveChargeForT import com.lt2333.simplicitytools.utils.xposed.base.AppRegister import de.robv.android.xposed.callbacks.XC_LoadPackage -object SystemUI: AppRegister() { +object SystemUI : AppRegister() { override val packageName: String = "com.android.systemui" override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { when (Build.VERSION.SDK_INT) { Build.VERSION_CODES.TIRAMISU -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, HideStatusBarIconForT, //隐藏状态栏图标 HideBatteryIconForT, //隐藏电池 HideHDIconForT, //隐藏HD图标 @@ -46,8 +107,10 @@ object SystemUI: AppRegister() { ShowWifiStandardForT, // 显示 WIFI 角标 ) } + Build.VERSION_CODES.S -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, HideStatusBarIconForS, //隐藏状态栏图标 HideBatteryIconForS, //隐藏电池 HideHDIconForS, //隐藏HD图标 diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/ThemeManager.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/ThemeManager.kt index 0f687398..efb802c7 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/ThemeManager.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/ThemeManager.kt @@ -5,18 +5,21 @@ import com.lt2333.simplicitytools.hooks.rules.all.thememanager.RemoveAdsForAll import com.lt2333.simplicitytools.utils.xposed.base.AppRegister import de.robv.android.xposed.callbacks.XC_LoadPackage -object ThemeManager: AppRegister() { +object ThemeManager : AppRegister() { override val packageName: String = "com.android.thememanager" override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { when (Build.VERSION.SDK_INT) { Build.VERSION_CODES.TIRAMISU -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, RemoveAdsForAll, //移除主题壁纸的广告 ) } + Build.VERSION_CODES.S -> { - autoInitHooks(lpparam, + autoInitHooks( + lpparam, RemoveAdsForAll, //移除主题壁纸的广告 ) } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Updater.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Updater.kt index 22422466..c0b9c7a7 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Updater.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/apps/Updater.kt @@ -1,12 +1,13 @@ package com.lt2333.simplicitytools.hooks.apps import com.github.kyuubiran.ezxhelper.utils.findMethod +import com.github.kyuubiran.ezxhelper.utils.hookBefore import com.github.kyuubiran.ezxhelper.utils.hookReturnConstant import com.github.kyuubiran.ezxhelper.utils.loadClassOrNull -import com.github.kyuubiran.ezxhelper.utils.hookBefore import com.lt2333.simplicitytools.utils.hasEnable import com.lt2333.simplicitytools.utils.xposed.base.AppRegister import de.robv.android.xposed.callbacks.XC_LoadPackage + object Updater : AppRegister() { override val packageName: String = "com.android.updater" diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/AlwaysDisplayTimeForAll.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/AlwaysShowStatusBarClockForAll.kt similarity index 93% rename from app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/AlwaysDisplayTimeForAll.kt rename to app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/AlwaysShowStatusBarClockForAll.kt index 819b7594..2f8d5d81 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/AlwaysDisplayTimeForAll.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/AlwaysShowStatusBarClockForAll.kt @@ -5,8 +5,7 @@ import com.github.kyuubiran.ezxhelper.utils.hookBefore import com.lt2333.simplicitytools.utils.hasEnable import com.lt2333.simplicitytools.utils.xposed.base.HookRegister -object AlwaysDisplayTimeForAll : HookRegister() { - +object AlwaysShowStatusBarClockForAll : HookRegister() { override fun init() { try { findMethod("com.miui.home.launcher.Workspace") { diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/DisableRecentViewWallpaperDarkeningForAll.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/DisableRecentViewWallpaperDarkeningForAll.kt new file mode 100644 index 00000000..cd91b577 --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/DisableRecentViewWallpaperDarkeningForAll.kt @@ -0,0 +1,19 @@ +package com.lt2333.simplicitytools.hooks.rules.all.miuihome + +import com.github.kyuubiran.ezxhelper.utils.findMethod +import com.github.kyuubiran.ezxhelper.utils.hookBefore +import com.github.kyuubiran.ezxhelper.utils.putObject +import com.lt2333.simplicitytools.utils.hasEnable +import com.lt2333.simplicitytools.utils.xposed.base.HookRegister + +object DisableRecentViewWallpaperDarkeningForAll : HookRegister() { + override fun init() = hasEnable("miuihome_recentwiew_wallpaper_darkening") { + findMethod("com.miui.home.recents.DimLayer") { + name == "dim" && parameterCount == 3 + }.hookBefore { + it.args[0] = 0.0f + it.thisObject.putObject("mCurrentAlpha", 0.0f) + } + } + +} diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ModifyRecentViewRemoveCardAnimForAll.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ModifyRecentViewRemoveCardAnimForAll.kt new file mode 100644 index 00000000..395a00a4 --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ModifyRecentViewRemoveCardAnimForAll.kt @@ -0,0 +1,54 @@ +package com.lt2333.simplicitytools.hooks.rules.all.miuihome + +import android.animation.ObjectAnimator +import android.view.View +import com.github.kyuubiran.ezxhelper.utils.args +import com.github.kyuubiran.ezxhelper.utils.findMethod +import com.github.kyuubiran.ezxhelper.utils.getObject +import com.github.kyuubiran.ezxhelper.utils.hookAfter +import com.github.kyuubiran.ezxhelper.utils.hookReplace +import com.github.kyuubiran.ezxhelper.utils.invokeMethod +import com.github.kyuubiran.ezxhelper.utils.invokeStaticMethod +import com.github.kyuubiran.ezxhelper.utils.loadClass +import com.github.kyuubiran.ezxhelper.utils.putObject +import com.lt2333.simplicitytools.utils.hasEnable +import com.lt2333.simplicitytools.utils.xposed.base.HookRegister + + +object ModifyRecentViewRemoveCardAnimForAll : HookRegister() { + override fun init() = hasEnable("miuihome_recentview_remove_card_animation") { + findMethod("com.miui.home.recents.views.SwipeHelperForRecents") { + name == "onTouchEvent" && parameterCount == 1 + }.hookAfter { + val mCurrView = it.thisObject.getObject("mCurrView") as View? + if (mCurrView != null) { + mCurrView.alpha = 1f + mCurrView.scaleX = 1f + mCurrView.scaleY = 1f + } + } + findMethod("com.miui.home.recents.TaskStackViewLayoutStyleHorizontal") { + name == "createScaleDismissAnimation" && parameterCount == 2 + }.hookReplace { + val view = it.args[0] as View + val getScreenHeight = loadClass("com.miui.home.launcher.DeviceConfig").invokeStaticMethod("getScreenHeight") as Int + val ofFloat = ObjectAnimator.ofFloat(view, View.TRANSLATION_Y, view.translationY, -getScreenHeight * 1.1484375f) + ofFloat.duration = 200 + return@hookReplace ofFloat + } + findMethod("com.miui.home.recents.views.VerticalSwipe") { + name == "calculate" && parameterCount == 1 + }.hookAfter { + val f = it.args[0] as Float + val asScreenHeightWhenDismiss = loadClass("com.miui.home.recents.views.VerticalSwipe").invokeStaticMethod("getAsScreenHeightWhenDismiss") as Int + val f2 = f / asScreenHeightWhenDismiss + val mTaskViewHeight = it.thisObject.getObject("mTaskViewHeight") as Float + val mCurScale = it.thisObject.getObject("mCurScale") as Float + val f3: Float = mTaskViewHeight * mCurScale + val i = if (f2 > 0.0f) 1 else if (f2 == 0.0f) 0 else -1 + val afterFrictionValue: Float = it.thisObject.invokeMethod("afterFrictionValue", args(f, asScreenHeightWhenDismiss)) as Float + if (i < 0) it.thisObject.putObject("mCurTransY", (mTaskViewHeight / 2.0f + afterFrictionValue * 2) - (f3 / 2.0f)) + } + } + +} diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/RemoveSmallWindowRestrictionForMiuiHomeForAll.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/RemoveSmallWindowRestrictionForMiuiHomeForAll.kt new file mode 100644 index 00000000..9c790c13 --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/RemoveSmallWindowRestrictionForMiuiHomeForAll.kt @@ -0,0 +1,28 @@ +package com.lt2333.simplicitytools.hooks.rules.all.miuihome + +import com.github.kyuubiran.ezxhelper.utils.findAllMethods +import com.github.kyuubiran.ezxhelper.utils.hookBefore +import com.lt2333.simplicitytools.utils.hasEnable +import com.lt2333.simplicitytools.utils.xposed.base.HookRegister + +object RemoveSmallWindowRestrictionForMiuiHomeForAll : HookRegister() { + override fun init() { + + findAllMethods("com.miui.home.launcher.RecentsAndFSGestureUtils") { + name == "canTaskEnterSmallWindow" + }.hookBefore { + hasEnable("android_remove_small_window_restriction") { + it.result = true + } + } + findAllMethods("com.miui.home.launcher.RecentsAndFSGestureUtils") { + name == "canTaskEnterMiniSmallWindow" + }.hookBefore { + hasEnable("android_remove_small_window_restriction") { + it.result = true + } + } + + } + +} diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ScrollIconNameForAll.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ScrollIconNameForAll.kt new file mode 100644 index 00000000..4f42be66 --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ScrollIconNameForAll.kt @@ -0,0 +1,80 @@ +package com.lt2333.simplicitytools.hooks.rules.all.miuihome + +import android.annotation.SuppressLint +import android.text.TextUtils +import android.view.View +import android.widget.TextView +import com.github.kyuubiran.ezxhelper.utils.Log +import com.github.kyuubiran.ezxhelper.utils.args +import com.github.kyuubiran.ezxhelper.utils.findMethod +import com.github.kyuubiran.ezxhelper.utils.getObject +import com.github.kyuubiran.ezxhelper.utils.hookAfter +import com.github.kyuubiran.ezxhelper.utils.invokeMethod +import com.lt2333.simplicitytools.utils.hasEnable +import com.lt2333.simplicitytools.utils.xposed.base.HookRegister + +object ScrollIconNameForAll : HookRegister() { + @SuppressLint("DiscouragedApi") + override fun init() = hasEnable("miuihome_scroll_icon_name") { + try { + findMethod("com.miui.home.launcher.ItemIcon") { + name == "onFinishInflate" + }.hookAfter { + val mTitle = it.thisObject.getObject("mTitle") as TextView + mTitleScrolling(mTitle) + } + findMethod("com.miui.home.launcher.maml.MaMlWidgetView") { + name == "onFinishInflate" + }.hookAfter { + val mTitle = it.thisObject.getObject("mTitle") as TextView + mTitleScrolling(mTitle) + } + findMethod("com.miui.home.launcher.LauncherMtzGadgetView") { + name == "onFinishInflate" + }.hookAfter { + val mTitle = it.thisObject.getObject("mTitle") as TextView + mTitleScrolling(mTitle) + } + findMethod("com.miui.home.launcher.LauncherWidgetView") { + name == "onFinishInflate" + }.hookAfter { + val mTitle = it.thisObject.getObject("mTitle") as TextView + mTitleScrolling(mTitle) + } + findMethod("com.miui.home.launcher.ShortcutIcon") { + name == "fromXml" && parameterCount == 4 + }.hookAfter { + val buddyIconView = it.args[3].invokeMethod("getBuddyIconView", args(it.args[2])) as View + val mTitle = buddyIconView.getObject("mTitle") as TextView + mTitleScrolling(mTitle) + } + findMethod("com.miui.home.launcher.ShortcutIcon") { + name == "createShortcutIcon" && parameterCount == 3 + }.hookAfter { + val buddyIcon = it.result as View + val mTitle = buddyIcon.getObject("mTitle") as TextView + mTitleScrolling(mTitle) + } + findMethod("com.miui.home.launcher.common.Utilities") { + name == "adaptTitleStyleToWallpaper" && parameterCount == 4 + }.hookAfter { + val mTitle = it.args[1] as TextView + if (mTitle.id == mTitle.resources.getIdentifier("icon_title", "id", "com.miui.home")) { + mTitleScrolling(mTitle) + } + } + } catch (e: Throwable) { + Log.ex(e) + } + } + + private fun mTitleScrolling(mTitle: TextView) { + mTitle.ellipsize = TextUtils.TruncateAt.MARQUEE + mTitle.isHorizontalFadingEdgeEnabled = true + mTitle.setSingleLine() + mTitle.marqueeRepeatLimit = -1 + mTitle.isSelected = true + mTitle.setHorizontallyScrolling(true) + } + +} diff --git a/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ShortcutAddSmallWindowForAll.kt b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ShortcutAddSmallWindowForAll.kt new file mode 100644 index 00000000..4f7af06f --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hooks/rules/all/miuihome/ShortcutAddSmallWindowForAll.kt @@ -0,0 +1,95 @@ +package com.lt2333.simplicitytools.hooks.rules.all.miuihome + +import android.app.AndroidAppHelper +import android.content.ComponentName +import android.content.Intent +import android.content.res.Configuration +import android.os.Bundle +import android.view.View +import com.github.kyuubiran.ezxhelper.init.InitFields.moduleRes +import com.github.kyuubiran.ezxhelper.utils.args +import com.github.kyuubiran.ezxhelper.utils.findAllMethods +import com.github.kyuubiran.ezxhelper.utils.findMethod +import com.github.kyuubiran.ezxhelper.utils.getStaticObject +import com.github.kyuubiran.ezxhelper.utils.hookAfter +import com.github.kyuubiran.ezxhelper.utils.hookBefore +import com.github.kyuubiran.ezxhelper.utils.invokeMethod +import com.github.kyuubiran.ezxhelper.utils.invokeStaticMethod +import com.github.kyuubiran.ezxhelper.utils.loadClass +import com.github.kyuubiran.ezxhelper.utils.putStaticObject +import com.lt2333.simplicitytools.R +import com.lt2333.simplicitytools.utils.hasEnable +import com.lt2333.simplicitytools.utils.xposed.base.HookRegister +import de.robv.android.xposed.XposedHelpers + +object ShortcutAddSmallWindowForAll : HookRegister() { + override fun init() = hasEnable("miuihome_shortcut_add_small_window") { + val mViewDarkModeHelper = loadClass("com.miui.home.launcher.util.ViewDarkModeHelper") + val mSystemShortcutMenu = loadClass("com.miui.home.launcher.shortcuts.SystemShortcutMenu") + val mSystemShortcutMenuItem = loadClass("com.miui.home.launcher.shortcuts.SystemShortcutMenuItem") + val mAppShortcutMenu = loadClass("com.miui.home.launcher.shortcuts.AppShortcutMenu") + val mShortcutMenuItem = loadClass("com.miui.home.launcher.shortcuts.ShortcutMenuItem") + val mAppDetailsShortcutMenuItem = loadClass("com.miui.home.launcher.shortcuts.SystemShortcutMenuItem\$AppDetailsShortcutMenuItem") + val mActivityUtilsCompat = loadClass("com.miui.launcher.utils.ActivityUtilsCompat") + findAllMethods(mViewDarkModeHelper) { + name == "onConfigurationChanged" + }.hookAfter { + mSystemShortcutMenuItem.invokeStaticMethod("createAllSystemShortcutMenuItems") + } + findAllMethods(mShortcutMenuItem) { + name == "getShortTitle" + }.hookAfter { + if (it.result == "应用信息") { + it.result = "信息" + } + } + findMethod(mAppDetailsShortcutMenuItem) { + name == "lambda\$getOnClickListener$0" && parameterCount == 2 + }.hookBefore { + val obj = it.args[0] + val view: View = it.args[1] as View + val mShortTitle = obj.invokeMethod("getShortTitle") as CharSequence + if (mShortTitle == moduleRes.getString(R.string.miuihome_shortcut_add_small_window_title)) { + it.result = null + val intent = Intent() + val mComponentName = obj.invokeMethod("getComponentName") as ComponentName + intent.action = "android.intent.action.MAIN" + intent.addCategory("android.intent.category.LAUNCHER") + intent.component = mComponentName + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + val callStaticMethod = mActivityUtilsCompat.invokeStaticMethod("makeFreeformActivityOptions", args(view.context, mComponentName.packageName)) + if (callStaticMethod != null) { + view.context.startActivity(intent, callStaticMethod.invokeMethod("toBundle") as Bundle) + } + } + } + findAllMethods(mSystemShortcutMenu) { + name == "getMaxShortcutItemCount" + }.hookAfter { + it.result = 5 + } + findAllMethods(mAppShortcutMenu) { + name == "getMaxShortcutItemCount" + }.hookAfter { + it.result = 5 + } + findAllMethods(mSystemShortcutMenuItem) { + name == "createAllSystemShortcutMenuItems" + }.hookAfter { + val isDarkMode = + AndroidAppHelper.currentApplication().applicationContext.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_YES + val mAllSystemShortcutMenuItems = mSystemShortcutMenuItem.getStaticObject("sAllSystemShortcutMenuItems") as Collection + val mSmallWindowInstance = XposedHelpers.newInstance(mAppDetailsShortcutMenuItem) + mSmallWindowInstance.invokeMethod("setShortTitle", args(moduleRes.getString(R.string.miuihome_shortcut_add_small_window_title))) + mSmallWindowInstance.invokeMethod( + "setIconDrawable", + args(if (isDarkMode) moduleRes.getDrawable(R.drawable.ic_small_window_dark) else moduleRes.getDrawable(R.drawable.ic_small_window_light)) + ) + val sAllSystemShortcutMenuItems = ArrayList() + sAllSystemShortcutMenuItems.add(mSmallWindowInstance) + sAllSystemShortcutMenuItems.addAll(mAllSystemShortcutMenuItems) + mSystemShortcutMenuItem.putStaticObject("sAllSystemShortcutMenuItems", sAllSystemShortcutMenuItems) + } + } + +} diff --git a/app/src/main/res/drawable/ic_small_window_dark.xml b/app/src/main/res/drawable/ic_small_window_dark.xml new file mode 100644 index 00000000..31000841 --- /dev/null +++ b/app/src/main/res/drawable/ic_small_window_dark.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_small_window_light.xml b/app/src/main/res/drawable/ic_small_window_light.xml new file mode 100644 index 00000000..ef0c1a3b --- /dev/null +++ b/app/src/main/res/drawable/ic_small_window_light.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index ec39e6f3..7e5bd2ad 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -239,4 +239,14 @@ 大移动类型图标位置 点击查看用例 + 滚动显示应用名称 + 过长的应用名称将滚动进行显示,不再进行换行 + 禁用壁纸压暗效果 + 这将禁用进出最近任务时壁纸从压暗逐渐变亮的效果 + 修改划卡动画 + 修改最近任务移除卡片的动画效果 + 快捷菜单添加小窗 + 桌面图标长按快捷菜单位置添加快速打开小窗 + 小窗 + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e63aed87..a46ac4e3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -241,5 +241,14 @@ Disable the app installation\'s count checking Big mobile type only show network card Big mobile type location + Modify the card marking animation + Modify the animation effect of the recent task removal card + Disable wallpaper dimming + This will disable the effect that the wallpaper will gradually brighten from dimming when going in and out of the recent task + Scroll app name + The application name that is too long will be scrolled and displayed without any new line + Shortcut Menu Add Window + Press and hold the desktop icon to add a quick open window + Small window Click to view use cases diff --git a/build.gradle.kts b/build.gradle.kts index 796068f3..b11522db 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:7.4.0") + classpath("com.android.tools.build:gradle:7.4.1") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0") // NOTE: Do not place your application dependencies here; they belong diff --git a/settings.gradle.kts b/settings.gradle.kts index 7f7770a6..be702043 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -7,5 +7,4 @@ dependencyResolutionManagement { } } rootProject.name = "WooBoxForMIUI" -include(":app") -include(":blockmiui") \ No newline at end of file +include(":app", ":blockmiui") \ No newline at end of file