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 2bbaeeaa..60d5c698 100644
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt
+++ b/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt
@@ -35,6 +35,10 @@ class MainHook : IXposedHookLoadPackage {
"com.miui.securitycenter"->{
SecurityCenter().handleLoadPackage(lpparam)
}
+ //相册编辑
+ "com.miui.mediaeditor"->{
+ MediaEditor().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
new file mode 100644
index 00000000..a8e914f6
--- /dev/null
+++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/MediaEditor.kt
@@ -0,0 +1,54 @@
+package com.lt2333.simplicitytools.hook.app
+
+import com.lt2333.simplicitytools.BuildConfig
+import de.robv.android.xposed.*
+import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam
+
+class MediaEditor : IXposedHookLoadPackage {
+
+ var prefs = XSharedPreferences(BuildConfig.APPLICATION_ID, "config")
+
+ override fun handleLoadPackage(lpparam: LoadPackageParam) {
+
+ XposedBridge.log("成功Hook: "+javaClass.simpleName)
+
+ //解锁图库裁切最小值
+ val classIfExists = XposedHelpers.findClassIfExists(
+ "com.miui.gallery.editor.photo.core.imports.obsoletes.Crop\$ResizeDetector",
+ lpparam.classLoader
+ )
+ XposedHelpers.findAndHookMethod(
+ classIfExists,
+ "calculateMinSize",
+ object : XC_MethodHook() {
+ override fun beforeHookedMethod(param: MethodHookParam) {
+ if (prefs.hasFileChanged()) {
+ prefs.reload()
+ }
+ if (prefs.getBoolean("unlock_unlimited_cropping", false)) {
+ param.result = 0
+ }
+ }
+ })
+ //截图无限裁切
+ val classIfExists2 = XposedHelpers.findClassIfExists(
+ "com.miui.gallery.editor.photo.screen.crop.ScreenCropView\$ResizeDetector",
+ lpparam.classLoader
+ )
+
+ XposedHelpers.findAndHookMethod(
+ classIfExists2,
+ "calculateMinSize",
+ object : XC_MethodHook() {
+ override fun beforeHookedMethod(param: MethodHookParam) {
+ if (prefs.hasFileChanged()) {
+ prefs.reload()
+ }
+ if (prefs.getBoolean("unlock_unlimited_cropping", false)) {
+ param.result = 0
+ }
+ }
+ })
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 8b66b9f4..85334e92 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -6,5 +6,6 @@
- com.android.systemui
- com.miui.powerkeeper
- com.miui.home
+ - com.miui.mediaeditor
\ 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 a3f8174e..fd88bb24 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -52,5 +52,6 @@
菜单
提示
跳过 5/10 秒警告时间
+ 解锁无限裁切图片/截图
\ No newline at end of file