diff --git a/app/src/main/kotlin/star/sky/voyager/activity/pages/apps/ScreenShotPage.kt b/app/src/main/kotlin/star/sky/voyager/activity/pages/apps/ScreenShotPage.kt
index 1c2bf5d..5f01394 100644
--- a/app/src/main/kotlin/star/sky/voyager/activity/pages/apps/ScreenShotPage.kt
+++ b/app/src/main/kotlin/star/sky/voyager/activity/pages/apps/ScreenShotPage.kt
@@ -28,6 +28,12 @@ class ScreenShotPage : BasePage() {
),
SwitchV("save_as_png", false)
)
+ TextSummaryWithSwitch(
+ TextSummaryV(
+ textId = R.string.privacy_mosaic,
+ ),
+ SwitchV("privacy_mosaic", false)
+ )
val deviceBinding = GetDataBinding({
safeSP.getBoolean(
"device_shell",
diff --git a/app/src/main/kotlin/star/sky/voyager/hook/apps/ScreenShot.kt b/app/src/main/kotlin/star/sky/voyager/hook/apps/ScreenShot.kt
index 9fec904..63f6c0c 100644
--- a/app/src/main/kotlin/star/sky/voyager/hook/apps/ScreenShot.kt
+++ b/app/src/main/kotlin/star/sky/voyager/hook/apps/ScreenShot.kt
@@ -4,6 +4,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage
import star.sky.voyager.hook.hooks.mediaeditor.UnlockUnlimitedCropping
import star.sky.voyager.hook.hooks.multipackage.SuperClipboard
import star.sky.voyager.hook.hooks.screenshot.DeviceShell
+import star.sky.voyager.hook.hooks.screenshot.PrivacyMosaic
import star.sky.voyager.hook.hooks.screenshot.SaveAsPng
import star.sky.voyager.hook.hooks.screenshot.SaveToPictures
import star.sky.voyager.utils.init.AppRegister
@@ -18,6 +19,7 @@ object ScreenShot : AppRegister() {
SuperClipboard,
SaveToPictures, // 截图保存到 Pictures/Screenshots
SaveAsPng, // 截图格式为 PNG
+ PrivacyMosaic, // 智能隐私打码
// Scroll,
DeviceShell,
)
diff --git a/app/src/main/kotlin/star/sky/voyager/hook/hooks/screenshot/PrivacyMosaic.kt b/app/src/main/kotlin/star/sky/voyager/hook/hooks/screenshot/PrivacyMosaic.kt
new file mode 100644
index 0000000..7b188c5
--- /dev/null
+++ b/app/src/main/kotlin/star/sky/voyager/hook/hooks/screenshot/PrivacyMosaic.kt
@@ -0,0 +1,17 @@
+package star.sky.voyager.hook.hooks.screenshot
+
+import com.github.kyuubiran.ezxhelper.ClassUtils.loadClass
+import com.github.kyuubiran.ezxhelper.HookFactory.`-Static`.createHook
+import com.github.kyuubiran.ezxhelper.finders.MethodFinder.`-Static`.methodFinder
+import star.sky.voyager.utils.init.HookRegister
+import star.sky.voyager.utils.key.hasEnable
+
+object PrivacyMosaic : HookRegister() {
+ override fun init() = hasEnable("privacy_mosaic") {
+ loadClass("com.miui.gallery.editor.photo.screen.mosaic.ScreenMosaicView")
+ .methodFinder().filterByName("isSupportPrivacyMarking")
+ .first().createHook {
+ returnConstant(true)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml
index f257fa3..59ff4b2 100644
--- a/app/src/main/res/values-ja-rJP/strings.xml
+++ b/app/src/main/res/values-ja-rJP/strings.xml
@@ -471,6 +471,7 @@
スクリーンショットは Pictures/Screenshots に保存されます
PNG形式でスクリーンショットを保存する
カスタムシェル付きのスクリーンショット機種
+ スマートプライバシーモザイク
デバイスを偽装:
商店提供モデル
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 9edcb06..d42743e 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -471,6 +471,7 @@
截图保存到 \nPictures/Screenshots
截图格式为 PNG
自定义带壳截图的机型
+ 智能隐私打码
伪装机型为:
商店推送的机型
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d642a2c..8ef59b3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -472,6 +472,7 @@
Save screenshots to \nPictures/Screenshots
Save screenshots as PNG
Customize device with shell for screenshots
+ Intelligent Privacy Mosaic
Disguise your model as what in the GetApps
Device Market Models