From 27e72f4d977816ddca9ac5d956a27fa00bc57bfc Mon Sep 17 00:00:00 2001 From: MonwF Date: Thu, 22 Sep 2022 18:02:12 +0800 Subject: [PATCH] feat: Tap left shortcut to toggle flashlight from lock screen --- app/build.gradle | 4 +- .../mikanoshi/customiuizer/mods/System.java | 198 +- .../keyguard_bottom_flashlight_img_dark.xml | 13 + .../keyguard_bottom_flashlight_img_light.xml | 13 + ...keyguard_bottom_flashlight_on_img_dark.xml | 32 + ...eyguard_bottom_flashlight_on_img_light.xml | 32 + app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values/strings.xml | 2211 +++++++++-------- .../xml/prefs_system_lockscreenshortcuts.xml | 9 + 9 files changed, 1315 insertions(+), 1198 deletions(-) create mode 100644 app/src/main/res/drawable/keyguard_bottom_flashlight_img_dark.xml create mode 100644 app/src/main/res/drawable/keyguard_bottom_flashlight_img_light.xml create mode 100644 app/src/main/res/drawable/keyguard_bottom_flashlight_on_img_dark.xml create mode 100644 app/src/main/res/drawable/keyguard_bottom_flashlight_on_img_light.xml diff --git a/app/build.gradle b/app/build.gradle index eb62475f..0fa4d11a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -26,8 +26,8 @@ android { minSdkVersion 31 //noinspection OldTargetApi,ExpiredTargetSdkVersion targetSdkVersion 31 - versionCode 29 - versionName "22.09.13" + versionCode 30 + versionName "22.09.22" resConfigs 'ru-rRU', 'zh-rCN' ndk { abiFilters "arm64-v8a" } } diff --git a/app/src/main/java/name/mikanoshi/customiuizer/mods/System.java b/app/src/main/java/name/mikanoshi/customiuizer/mods/System.java index 9ed5e956..1841ceea 100644 --- a/app/src/main/java/name/mikanoshi/customiuizer/mods/System.java +++ b/app/src/main/java/name/mikanoshi/customiuizer/mods/System.java @@ -35,9 +35,7 @@ import android.content.res.Resources; import android.content.res.TypedArray; import android.database.ContentObserver; -import android.database.Cursor; import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorMatrix; @@ -134,7 +132,6 @@ import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; -import java.io.OutputStream; import java.lang.ref.WeakReference; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationHandler; @@ -147,7 +144,6 @@ import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Arrays; import java.util.Calendar; import java.util.Collection; import java.util.Collections; @@ -165,7 +161,6 @@ import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; import java.util.function.Predicate; @@ -1735,10 +1730,10 @@ protected void before(MethodHookParam param) throws Throwable { } }); - Helpers.findAndHookMethod("com.android.systemui.statusbar.NotificationMediaManager", lpparam.classLoader, "updateMediaMetaData", boolean.class, boolean.class, new MethodHook() { - @Override + Helpers.findAndHookMethod("com.android.systemui.statusbar.NotificationMediaManager", lpparam.classLoader, "updateMediaMetaData", boolean.class, boolean.class, new MethodHook() { + @Override protected void after(MethodHookParam param) throws Throwable { - Context mContext = (Context)XposedHelpers.getObjectField(param.thisObject, "mContext"); + Context mContext = (Context)XposedHelpers.getObjectField(param.thisObject, "mContext"); if (new File("/data/system/theme/lockscreen").exists()) { XposedHelpers.setAdditionalStaticField(WallpaperUtilClass, "mAlbumArtSource", null); XposedHelpers.setAdditionalStaticField(WallpaperUtilClass, "mAlbumArt", null); @@ -1761,7 +1756,7 @@ protected void after(MethodHookParam param) throws Throwable { } catch (Throwable ignore) {} XposedHelpers.setAdditionalStaticField(WallpaperUtilClass, "mAlbumArtSource", art); - int blur = Helpers.getSharedIntPref(mContext, "pref_key_system_albumartonlock_blur", 0); + int blur = Helpers.getSharedIntPref(mContext, "pref_key_system_albumartonlock_blur", 0); Bitmap blurArt = processAlbumArt(mContext, art != null && blur > 0 ? Helpers.fastBlur(art, blur + 1) : art); XposedHelpers.setAdditionalStaticField(WallpaperUtilClass, "mAlbumArt", blurArt); if (blurArt != null) { @@ -1779,7 +1774,7 @@ protected void after(MethodHookParam param) throws Throwable { mContext.sendBroadcast(setWallpaper); } }); - } + } } public static void BetterPopupsHideDelaySysHook() { @@ -1961,7 +1956,7 @@ public static void ColorizedNotificationTitlesHook() { Helpers.hookAllMethods("android.app.Notification.Builder", null, "bindNotificationHeader", new MethodHook() { @Override protected void after(MethodHookParam param) throws Throwable { - if (!Helpers.isNougat()) try { + try { Object mN = XposedHelpers.getObjectField(param.thisObject, "mN"); if (mN != null) if ((boolean)XposedHelpers.callMethod(mN, "isColorizedMedia")) return; @@ -1969,29 +1964,11 @@ protected void after(MethodHookParam param) throws Throwable { RemoteViews rv = (RemoteViews)param.args[0]; Context mContext = (Context)XposedHelpers.getObjectField(param.thisObject, "mContext"); - int contrastColor; - if (Helpers.isQPlus()) - contrastColor = (int)XposedHelpers.callMethod(param.thisObject, "resolveContrastColor", param.args[1]); - else - contrastColor = (int)XposedHelpers.callMethod(param.thisObject, "resolveContrastColor"); + int contrastColor = (int)XposedHelpers.callMethod(param.thisObject, "resolveContrastColor", param.args[1]); if (rv != null && mContext != null) rv.setTextColor(mContext.getResources().getIdentifier("app_name_text", "id", "android"), contrastColor); } }); - -// Helpers.hookAllMethods("android.app.Notification.Builder", null, "bindHeaderAppName", new MethodHook() { -// @Override -// protected void after(MethodHookParam param) throws Throwable { -// XposedBridge.log("bindHeaderAppName"); -// } -// }); -// -// Helpers.findAndHookMethod("android.app.Notification.Builder", null, "bindHeaderAppName", RemoteViews.class, "android.app.Notification.StandardTemplateParams", new MethodHook() { -// @Override -// protected void after(MethodHookParam param) throws Throwable { -// XposedBridge.log("bindHeaderAppName2"); -// } -// }); } public static int abHeight = 39; @@ -4244,7 +4221,28 @@ public static void LockScreenShortcutHook(LoadPackageParam lpparam) { @Override protected void after(MethodHookParam param) throws Throwable { Object img = param.getResult(); - if (MainModule.mPrefs.getBoolean("system_lockscreenshortcuts_left_off")) + if (MainModule.mPrefs.getBoolean("system_lockscreenshortcuts_left_tapaction")) { + Object thisObject = XposedHelpers.getSurroundingThis(param.thisObject); + Context mContext = (Context)XposedHelpers.getObjectField(thisObject, "mContext"); + boolean mDarkMode = XposedHelpers.getBooleanField(thisObject, "mDarkStyle"); + Drawable flashlightDrawable; + Object flashlightController = XposedHelpers.getObjectField(thisObject, "mFlashlightController"); + boolean isOn = (boolean) XposedHelpers.callMethod(flashlightController, "isEnabled"); + if (isOn) { + flashlightDrawable = Helpers.getModuleRes(mContext).getDrawable( + mDarkMode ? R.drawable.keyguard_bottom_flashlight_on_img_dark : R.drawable.keyguard_bottom_flashlight_on_img_light, + mContext.getTheme() + ); + } + else { + flashlightDrawable = Helpers.getModuleRes(mContext).getDrawable( + mDarkMode ? R.drawable.keyguard_bottom_flashlight_img_dark : R.drawable.keyguard_bottom_flashlight_img_light, + mContext.getTheme() + ); + } + XposedHelpers.setObjectField(img, "drawable", flashlightDrawable); + } + else if (MainModule.mPrefs.getBoolean("system_lockscreenshortcuts_left_off")) XposedHelpers.setObjectField(img, "drawable", null); } }); @@ -4302,6 +4300,24 @@ public void run() { } }); + + Helpers.findAndHookMethod("com.android.systemui.statusbar.phone.KeyguardBottomAreaView", lpparam.classLoader, "onClick", View.class, new MethodHook() { + @Override + protected void before(MethodHookParam param) throws Throwable { + if (MainModule.mPrefs.getBoolean("system_lockscreenshortcuts_left_tapaction")) { + View view = (View) param.args[0]; + View mLeftAffordanceView = (View) XposedHelpers.getObjectField(param.thisObject, "mLeftAffordanceView"); + if (view == mLeftAffordanceView) { + Object flashlightController = XposedHelpers.getObjectField(param.thisObject, "mFlashlightController"); + boolean z = !(boolean) XposedHelpers.callMethod(flashlightController, "isEnabled"); + XposedHelpers.callMethod(flashlightController, "setFlashlight", z); + XposedHelpers.callMethod(param.thisObject, "updateLeftAffordanceIcon"); + param.setResult(null); + } + } + } + }); + Helpers.hookAllMethods("com.android.keyguard.MiuiKeyguardCameraView", lpparam.classLoader, "setDarkStyle", new MethodHook() { @Override protected void after(MethodHookParam param) throws Throwable { @@ -4426,32 +4442,32 @@ public void onChange(Uri uri) { } catch (Throwable t2) {} } - if (key.contains("pref_key_system_lockscreenshortcuts_left")) { - Object leftView = null; - try { - leftView = XposedHelpers.getObjectField(XposedHelpers.getObjectField(notificationPanelView, "mKeyguardLeftView"), "mKeyguardMoveLeftView"); - } catch (Throwable t) { - XposedBridge.log(t); - } - - if (leftView != null) try { - XposedHelpers.callMethod(leftView, "reloadListItems"); - } catch (Throwable t1) { - try { - XposedHelpers.callMethod(leftView, "updateShortcuts"); - } catch (Throwable t2) { - try { - XposedHelpers.callMethod(leftView, "initKeyguardLeftItems"); - } catch (Throwable t3) { - try { - XposedHelpers.callMethod(leftView, "initKeyguardLeftItemInfos"); - } catch (Throwable t4) { - XposedBridge.log(t4); - } - } - } - } - } +// if (key.contains("pref_key_system_lockscreenshortcuts_left")) { +// Object leftView = null; +// try { +// leftView = XposedHelpers.getObjectField(XposedHelpers.getObjectField(notificationPanelView, "mKeyguardLeftView"), "mKeyguardMoveLeftView"); +// } catch (Throwable t) { +// XposedBridge.log(t); +// } +// +// if (leftView != null) try { +// XposedHelpers.callMethod(leftView, "reloadListItems"); +// } catch (Throwable t1) { +// try { +// XposedHelpers.callMethod(leftView, "updateShortcuts"); +// } catch (Throwable t2) { +// try { +// XposedHelpers.callMethod(leftView, "initKeyguardLeftItems"); +// } catch (Throwable t3) { +// try { +// XposedHelpers.callMethod(leftView, "initKeyguardLeftItemInfos"); +// } catch (Throwable t4) { +// XposedBridge.log(t4); +// } +// } +// } +// } +// } } catch (Throwable t) { XposedBridge.log(t); } @@ -4585,40 +4601,40 @@ public void handleMessage(Message msg) { } } - String leftViewCls = "com.android.keyguard.negative.MiuiKeyguardMoveLeftControlCenterView"; - Helpers.findAndHookConstructor(leftViewCls, lpparam.classLoader, Context.class, AttributeSet.class, new MethodHook() { - @Override - protected void after(MethodHookParam param) throws Throwable { - Context mContext = (Context)XposedHelpers.getObjectField(param.thisObject, "mContext"); - Handler mHandler = new LeftControlCenterHandler(mContext.getMainLooper()); - XposedHelpers.setAdditionalInstanceField(param.thisObject, "myHandler", mHandler); - } - }); - - Helpers.findAndHookMethodSilently(leftViewCls, lpparam.classLoader, "updateShortcuts", new MethodHook() { - @Override - protected void before(final MethodHookParam param) throws Throwable { - param.setResult(null); - initLeftView(param.thisObject); - } - }); - Helpers.findAndHookMethod(leftViewCls, lpparam.classLoader, "onFinishInflate", new MethodHook() { - @Override - protected void after(MethodHookParam param) throws Throwable { - View mSmartHomeLinearLayout = (View)XposedHelpers.getObjectField(param.thisObject, "mSmartHomeImageView"); - View mRemoteCenterLinearLayout = (View)XposedHelpers.getObjectField(param.thisObject, "mRemoteCenterImageView"); - final View.OnClickListener mListener = (View.OnClickListener)XposedHelpers.getObjectField(param.thisObject, "mClickListener"); - View.OnClickListener mNewListener = new View.OnClickListener() { - @Override - public void onClick(View view) { - if (!handleStockShortcut(view)) - if (mListener != null) mListener.onClick(view); - } - }; - mSmartHomeLinearLayout.setOnClickListener(mNewListener); - mRemoteCenterLinearLayout.setOnClickListener(mNewListener); - } - }); +// String leftViewCls = "com.android.keyguard.negative.MiuiKeyguardMoveLeftControlCenterView"; +// Helpers.findAndHookConstructor(leftViewCls, lpparam.classLoader, Context.class, AttributeSet.class, new MethodHook() { +// @Override +// protected void after(MethodHookParam param) throws Throwable { +// Context mContext = (Context)XposedHelpers.getObjectField(param.thisObject, "mContext"); +// Handler mHandler = new LeftControlCenterHandler(mContext.getMainLooper()); +// XposedHelpers.setAdditionalInstanceField(param.thisObject, "myHandler", mHandler); +// } +// }); +// +// Helpers.findAndHookMethodSilently(leftViewCls, lpparam.classLoader, "updateShortcuts", new MethodHook() { +// @Override +// protected void before(final MethodHookParam param) throws Throwable { +// param.setResult(null); +// initLeftView(param.thisObject); +// } +// }); +// Helpers.findAndHookMethod(leftViewCls, lpparam.classLoader, "onFinishInflate", new MethodHook() { +// @Override +// protected void after(MethodHookParam param) throws Throwable { +// View mSmartHomeLinearLayout = (View)XposedHelpers.getObjectField(param.thisObject, "mSmartHomeImageView"); +// View mRemoteCenterLinearLayout = (View)XposedHelpers.getObjectField(param.thisObject, "mRemoteCenterImageView"); +// final View.OnClickListener mListener = (View.OnClickListener)XposedHelpers.getObjectField(param.thisObject, "mClickListener"); +// View.OnClickListener mNewListener = new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// if (!handleStockShortcut(view)) +// if (mListener != null) mListener.onClick(view); +// } +// }; +// mSmartHomeLinearLayout.setOnClickListener(mNewListener); +// mRemoteCenterLinearLayout.setOnClickListener(mNewListener); +// } +// }); } private static boolean handleStockShortcut(View view) { diff --git a/app/src/main/res/drawable/keyguard_bottom_flashlight_img_dark.xml b/app/src/main/res/drawable/keyguard_bottom_flashlight_img_dark.xml new file mode 100644 index 00000000..df465332 --- /dev/null +++ b/app/src/main/res/drawable/keyguard_bottom_flashlight_img_dark.xml @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/keyguard_bottom_flashlight_img_light.xml b/app/src/main/res/drawable/keyguard_bottom_flashlight_img_light.xml new file mode 100644 index 00000000..45014aa9 --- /dev/null +++ b/app/src/main/res/drawable/keyguard_bottom_flashlight_img_light.xml @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/keyguard_bottom_flashlight_on_img_dark.xml b/app/src/main/res/drawable/keyguard_bottom_flashlight_on_img_dark.xml new file mode 100644 index 00000000..85b83250 --- /dev/null +++ b/app/src/main/res/drawable/keyguard_bottom_flashlight_on_img_dark.xml @@ -0,0 +1,32 @@ + + + + + + diff --git a/app/src/main/res/drawable/keyguard_bottom_flashlight_on_img_light.xml b/app/src/main/res/drawable/keyguard_bottom_flashlight_on_img_light.xml new file mode 100644 index 00000000..09c31d46 --- /dev/null +++ b/app/src/main/res/drawable/keyguard_bottom_flashlight_on_img_light.xml @@ -0,0 +1,32 @@ + + + + + + diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index c5d553b8..5f8fc2f6 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -1054,4 +1054,5 @@ 去除启动动画 app启动、关闭时不缩放图标 跳过开启特殊权限的倒计时 + 点击左侧图标时切换手电筒 \ 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 41259bd7..c1cb67db 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,1106 +1,1107 @@ - - CustoMIUIzer13 - About - Version %1$s - by Mikanoshi & MonwF - Generally, mods require soft reboot to be activated or deactivated, but those marked with ⟲ only require one soft reboot after their value was changed from default to custom one, subsequent changes are applied immediately. - Mods marked with ⨯ are not supported on this device. - @string/app_name - - Snoozed notifications - Update - Unsnooze this notification - Mark as dismissed - Mark as pending - Unable to fetch snoozed notifications list - No snoozed notifications - Messages - Channel - Created - Updated - Repost - - Mods - Actions - - Enable mod - System - Screen - Rotation - Backlight - Audio - Vibration - Toasts - Hide icons - Manage status bar icons visibility - Battery image - Battery charge percentage - Charging indicator - Can be overlayed on top of battery image on some ROMs - Alarm - Hide completely - Selective alarm icon visibility - Show alarm icon only during the defined number of hours before next alarm - Mobile network signal - No SIM card - VoLTE - VoWiFi - VPN - NFC - Hotspot - Work profile - Sound profiles - Do not disturb mode - Incognito mode - Headset - Call: muted mic - Call: speakerphone - Call: recording - Battery bar indicator - Display battery charge level as a colored bar - Limited visibility - Show only in notificaton drawer and on lock screen - Rounded ends - Centered - Bar height - Horizontal padding - Full charge color - Low charge color - Battery saver color - Charging color - Low charge level - Test - Animate bar from 100% to 0% in discharging state - Status bar height - Status bar background color - Make status bar and app\'s action bar background colors the same where possible - Black list - Shortcut app - Open selected app when shortcut icon in notification drawer\'s header is tapped - Clock app - Open selected app when clock in notification drawer\'s header is tapped - Calendar app - Open selected app when date in notification drawer\'s header is tapped - Show seconds - Display seconds in the status bar clock - Synchronization - Try to update value at a specified moment - Notification icons limit - Number of notification icons to display before turning them into dots - Hide mobile network type - Remove mobile network type icon from status bar - Network activity indicators - Configure Mobile data and Wi-Fi traffic indicators - Show LTE icon for 4G - No hidden icons indicator - Do not show icon with 3 dots when notification icons are hidden - No network speed separator - Do not show vertical line between time and network speed on devices with waterdrop notches - Network speed update interval - Detailed network speed indicator - Show incoming and outgoing network speeds separately - Font size - Indicator icons - Incoming/outgoing traffic icons displayed next to speed value (not all custom fonts have every icon) - Hide low speed - Do not show indicator if speed is low - Low speed level - Speed values below this level will be considered low and will have a different indication icon - Reduce visibility when inactive - Make indicator semitransparent when both speeds are zero - Gesture controls - Perform selected actions on slide and double tap - Adjustment sensitivity - Brightness - Volume - Horizontal slide with one finger - Horizontal slide with two fingers - Double tap action - Network speed spacing - Increase horizontal margins for network speed indicator - Show notification importance - Compact notifications - Reduce notifications\' vertical paddings - Colorize notification title - Apply icon\'s color to title text (Android notification style only) - Bring back minimalistic collapsed view - Notifications of minimal importance could be collapsed into one-line view again - Open channel settings - Opening settings from notification menu leads to channel settings instead of app\'s common notification settings - Maximum line count in messaging style - Limit number of displayed lines in messaging style notifications - Hide clear button - Remove button that clears all notifications - Show illuminance level - Display ambient illuminance value in lux inside brightness slider - Alternative style - Large semitransparent text - Show brightness percentage - Display brightness level in percentages while dragging brightness slider - Percentages panel\'s top margin - Consistent brightness slider style - Remove shadow and additional background from slider while changing brightness - Deactivate brightness slider - Extended notification menu - Open app info and force close app from notification menu (swipe notification to the left to open it) - App info - Force close - Disable any notification - Allow to disable system notifications too - Expand notifications - Show notifications fully expanded - Black & white list - Display time modification - Changes both short and long durations - Resulting duration won\'t fall below 1 second - Auto group notifications - Number of notifications from one app that triggers auto grouping - Snoozed notifications manager - Increase number of snooze intervals and add icon to launcher that opens a list of currently snoozed notifications - Mute if visible - Do not play notification sound if screen is on - Media position slider - Add media notification slider that indicates current position and allows to change it - Use system style - Do not apply custom thin style to slider - Auto open notification drawer - Open notification drawer automatically on notifications from selected apps - Respect fullscreen - Do not open notification drawer when fullscreen app is active (does not apply to immersive apps with hidden status and navigation bars) - Selected apps - Collapse MIUI titles - Configure action bar title state in all MIUI 12 apps - Screenshots - Screenshot configuration - Customize format, quality and save folder for screenshots - Format - Quality - Save folder - Hide overlays on screenshots - Temporarily hide overlays while taking a screenshot - Floating screenshot display time - Delay before a floating window with newly created screenshot disappears - Charge animation screen timeout - How long screen should be kept on after charging animation starts - No screen light up on charge - Do not turn screen on when you connect or disconnect a charger - No screen light up on headset connection - Do not turn screen on when you connect a headset - Screen off timeout on lock screen - Dim duration - How long screen should remain dimmed before turning off automatically (in percentage of total screen off timeout) - Auto brightness range - Define minimum and maximum auto brightness values - Minimum auto brightness - Maximum auto brightness - Audio silencer - Mute any sound that can be uniquely identified - Refresh list - Retrieve a list of recently played sounds - Silenced sounds - Played sounds - Disable high volume warning - Do not show dialog when volume reaches unsafe level - Disable ducking - Do not lower volume of currently playing music to play notification sound - Immediate volume adjustment - Adjust media stream volume on first key press - Separate volume controls - Allow to configure separate volume for rings/notifications/system sounds in Settings - Notification volume slider - Add notification slider to expanded volume dialog - No media mute - Do not set media volume to zero in Do Not Disturb mode - DND mode toggle - Make button in collapsed volume dialog toggle Do Not Disturb mode instead of Silent mode - Extended timers - Add more intervals to timers for Silent and Do Not Disturb modes - Volume dialog autohide delay - Collapsed - Expanded - Volume steps multiplier - Change number of volume steps for each stream type - Music visualizer - Display spectral density of discreet audio frequency bands - Visualizer is drawn on top of lock screen wallpaper - Show on custom lock screen - Draw visualizer on top of custom lock screen - Show in notification drawer - Additionally draw visualizer in an expanded notification drawer - Show only if media controller exists - Audio players usually create it for notifications with media controls - Animation duration - Transparency - Rendering method - Style - Glow - Color - Select custom color - Dynamic color change interval - Ignore calls - Prevent incoming calls from stealing audio focus when it\'s on selected apps and stop notifying them about call state changes - No test vibration - Do not vibrate when switching ringer mode to silent or turning on vibration in this mode - Muffled vibration - Reduce vibration intensity during selected hours - Vibration intensity - Changes either duration or strength of the vibration depending on amplitude control support by device - Calls - Notifications - Everything else - Time period - Block vibration - Prevent selected apps from using vibration - System sounds - Scramble PIN - Randomly change PIN buttons order - Enhanced screen lock - Disable power menu while screen lock is active - Secure Control center - Disable Control center while screen lock is active - Secure Quick settings - Disable security-sensitive tiles while screen lock is active - All 3rd party tiles - Tiles editing - Does not apply to Control center - Keep opened - Do not collapse panel after unlocking - Secure tiles - Airplane mode - Location - Synchronization - No password after boot - Do not require password instead of a fingerprint first time after boot. Unlikely to work on encrypted devices. - Album art as wallpaper - Display album art of currently playing track as lock screen wallpaper - Grayscale - Convert album art to black&white image - Album art blur - Album art scale - Unlock credentials - Authentication in some apps requires access to credentials, but they remain locked if PIN/password/pattern is skipped after boot. Current option adds launcher icon that allows to unlock credentials. - Custom actions - Customizable actions for shortcuts and swipes - Disable swipe left gesture - Swipe left action - Change right icon - Replace camera icon with CustoMIUIzer icon - Drag the icon to execute custom action - Disable swipe right gesture - Left screen shortcuts - Manage shortcuts list - Vertical alignment - Center horizontally - Do not require unlock - Launched apps could be accessed while device is still locked - Disable screen lock - Some devices might not work without unlocking once after boot - Selectively disable screen lock (does not change security for any apps and does not remove fingerprint data) - Skip lock screen - Do not show lock screen at all when screen lock is disabled - Skip face unlock - Do not start face unlock when screen lock is disabled - Trusted Wi-Fi networks - Temporarily disable screen lock while connected to these networks - Trusted Bluetooth devices - Temporarily disable screen lock while these devices are connected - Force locked - Force unlocked - Do not force - Turning off animation - Configure animation length - Very low values will practically disable animation - Background blur - Background blur intensity in recent apps - Background blur intensity in notification drawer - Temporarily hide themed background - Hide background while brightness is being changed - Themed background opacity - Opacity of a themed notification drawer background - Lock screen - Additional functionality - Security - Additional elements - Add application\'s icon and label to its toasts - Block toasts - Prevent selected apps from showing toasts - Airplane mode configuration - Define allowed communications in airplane mode. No reboot required. - Mod only changes existing system setting, some options might not work - 5G tile - Add 5G tile to qs panel - View password of saved Wi-Fi network - View - Password - Wi-Fi detail - Disable forced dark mode - Do not invert some colors in dark mode - Extended power menu - Add new restart options to power menu (Fastboot mode, Recovery mode, Soft reboot) - Allow downgrade - Make installing older app version on top of a newer one possible - Disable signature verification - Allow app updating even when APK signature differs from installed one - Text magnifier - Display magnified text when moving an input cursor or making a selection - Disable overscroll - Prevent list views from overscrolling - Disable secure content protection - Allow to screenshot and record video of any app - Hide warning about low battery level - Do not display a warning dialog that asks to turn on Battery saver - Hide warning about disabled touches - Do not display a warning that earphone area is covered - Free widget resize - Remove any widget size limitations - Unblock launchers - Remove restriction of 3rd party launchers on Chinese ROMs - Clean share menu - Remove selected apps from share menu - Test menu - Clean Open with menu - Remove selected apps from Open with menu - Select test data type - Select data type to hide - Default USB configuration - Apply selected configuration when another device is connected - Ignore lock - Apply even if device is still locked - RNDIS (USB Tethering) - MIDI - MTP (Media Transfer Protocol) - PTP (Picture Transfer Protocol) - Prevent app force close - Do not allow stock MIUI action to close selected apps - Rotation animation - All rotations - Allow all screen rotations including reverse portrait - Orientation lock - Add Quick Settings tile that can lock orientation in portrait or landscape mode - Keep notifications - Show notifications on lock screen even after it\'s dismissed and then opened again - More notifications - Increase limit of active notifications for a single app from 10 to 24 - Direct reply without unlock - Do not require device unlocking to use direct reply on lock screen - Allow on lock screen - Force all notifications from MIUI apps to be able to appear on lock screen - Allow as floating notifications - Force all notifications from MIUI apps to be able to appear as floating ones - Hide status bar - Remove status bar from lock screen - Hide top block - Remove top block containing clock, date and other data - Hide unlock hint - Remove "Swipe up to unlock" hint - No emergency calls - Disable emergency call button on lock screen - Apply wallpaper using any app - Make third-party apps be able to set lock screen wallpaper. Themes app must be installed and given storage access permission. - Clean expanded mode view - Hide Quick Settings and brightness slider in expanded notifications mode on lock screen - Disable colored background - Change background with autogenerated color from wallpaper to transparent one while on lock screen - Tap to unlock - Start device unlocking by tapping on bottom lock screen area - Double tap to sleep - Turn screen off by double tapping on any empty space on lock screen - Display charging data - Show additional charging information at the bottom of lock screen - How to display - Charging current - Battery voltage - Power consumption - Battery temperature - Display next alarm - Show nearest alarm time next to current date - Display format - Show all alarms - Get next alarm time using default Android API when MIUI alarm is not set. Might produce unexpected results. - Status bar and notification drawer - Status bar - Notification drawer - Notifications - Recent apps list - Use native implementation - Don\'t use recent apps list from MIUI Launcher. Works badly with full screen gestures. - Remove cleaner button - Hide button that clears recent apps and cleans memory - Clean all - Make cleaner button kill all running tasks - Hide from recents - Hide selected apps from recent tasks list - First shortcut action - Action for the first suggestion shortcut - Second shortcut action - Action for the second suggestion shortcut - Third shortcut action - Action for the third suggestion shortcut - Fourth shortcut action - Action for the fourth suggestion shortcut - Popup notifications - Auto hide delay - No auto hide - Do not dismiss popups automatically - Allow floating window - Open app in a floating window on swipe down gesture if notification has an appropriate click action defined - Enable swipe down - Open notification drawer on swipe down gesture - Show centered - Display popups in the middle of the screen - Floating windows - Disable blacklisting - Allow any app to be opened in a floating window - Remember state - Keep opening apps in floating windows until they are swicthed back to full screen manually - Multiwindow+ - Allow using split screen and floating windows together - App lock - Less strict app lock - Do not lock apps when device is locked if option with app locking after exit is selected - App lock timeout - Time interval during which app remains unlocked after exit - List of apps to lock - Enhanced version of App lock option that allows to lock any installed app. No reboot is required. - Skip app lock - Allow selected activities to bypass app lock - Selected activities - Quick Settings - Number of rows - Labels will be hidden for 5 rows in a portrait orientation. Number of rows is limited to 3 with hidden labels in a landscape orientation. - Number of columns - Landscape orientation will have one additional column. If your ROM has a compact Quick Settings layout option, it will add another column in both orientations. - Number of columns in collapsed panel - Landscape orientation will have one additional column. - Remove labels completely - Quick settings haptic feedback - Vibrate on Quick settings tile tap - Other - Volume dialog background blur - Collapsed dialog - Expanded dialog - Animation scale - Windows - Transitions - Value animators - - POCO Launcher - MIUI Launcher - Gestures - Action - Setting to toggle - App to launch - Shortcut to launch - Activity to launch - Launcher - Display mods for selected launcher. For visual aid only, does not have any effect on mods. - Performance mode - Alternative method of applying all launcher mods - Infinite scrolling - Jump from the last page to the first one and vice versa - No clock hide - Do not hide status bar clock on pages with clock widgets - Enable -1 screen switch - Display a switch between App Vault and Google Discover in Home screen settings - Requires global (international) ROM - Force Google Discover - Replace App Vault with Google Discover (requires Google app to be installed) - Disable widget only screen - Make all screens support both widgets and apps on tablets - Remove unlock animation - Do not animate icons when device is unlocked - Remove launch animation - Do not zoom in/out icons when app is closed/opened - Use old launch animation - Revert app opening transition to a previous one - Reverse portrait support - Rotate launcher\'s portrait orientation - Dynamic page indicator - Show page indicator only during scrolling - Show only in edit mode - Unlock grid sizes - Make all grid sizes from 3x4 to 10x10 available in home screen layout setting - More icons in dock - Unlimited number of dock icons - Auto close app drawer - Close app drawer after launch - Icons scaling - Horizontal grid margins - Top grid margin - Bottom dock margin - Horizontal widget margin - Works only on latest launcher versions with dynamic widget positioning - Page indicator height - Folders - Number of columns in folders - Use entire folder\'s width - Reduce side padding - Fix status bar mode - Adjust status bar contents color for light/dark wallpapers on developer launcher version - Fix animation - Apply value animators\' duration scaling to some launcher animations - Fix app info - Always open MIUI-styled app info from long press menu - Color overlay - Darken or lighten background - Color intensity - Blur - Background and wallpaper blur options. Launcher must support blur in folders. - Background blur - Wallpaper blur - Visibility - Radius - Affects edit mode wallpaper blur too - Auto close folders - Close app\'s folder after launch - App titles - Hide titles - Show titles in dock - Font size - Additional top margin - Darker shadow - Makes title shadow less transparent - Custom app titles - Modified titles - Modified title - Hidden apps - Required permissions are not granted - No hidden folder - Disable two-finger gesture that opens hidden apps folder - List of apps to hide - Enhanced version of Hidden apps option that allows to hide any installed app. No reboot is required. - Swipe down action (1 finger) - Action for swipe down gesture with 1 finger on any home screen - Swipe down action (2 fingers) - Action for swipe down gesture with 2 fingers on any home screen - Swipe up action (1 finger) - Action for swipe up gesture with 1 finger on any home screen - Swipe up action (2 fingers) - Action for swipe up gesture with 2 fingers on any home screen - Swipe right action - Action for swipe right gesture on launcher dock - Swipe left action - Action for swipe left gesture on launcher dock - Shake action - Action for shaking the device on any home screen - Double tap action - Action for double tap on empty space of any home screen - Pinch action - Action for moving 2 fingers towards each other on any home screen - Spread action - Action for moving 2 fingers away from each other on any home screen - Bug fixes - - Controls - Double press action - Replace camera launch on power key double press. Requires stock button shortcut to be enabled. - Disable screenshot combination - Don\'t make a screen capture when power key is pressed together with volume down key - Quick flashlight - Long press power button while screen is off to turn flashlight on - Longer quick flashlight delay - Increase the power button long press delay - Fingerprint scanner - Single tap action - Action for a sinlge tap when screen is on - Double tap action - Action for a double tap when screen is on - Double tap delay - Single tap action will be delayed by this amount - Long press action - Action for a long press when screen is on - Long press delay - No actions in Camera - Enable this if you use fingerprint shutter option - No actions during calls - Do not execute actions when call is active - Accept incoming call - Reject incoming call - End current call - Accept and reject actions cannot have the same combination. - Accept action was disabled. - Reject action was disabled. - Turn screen on after failure - Light screen up on failed authentication - Require actual fingerprints - Don\'t turn screen on when no fingerprints are enrolled - Vibrate on success - Haptic feedback on successful authentication - Ignore system settings - Do not disable haptic feedback when vibration on tap is disabled - No vibrate on failure - Remove haptic feedback on authentication failure - Power key - Volume keys - Control input cursor - Move text input cursor using volume keys - Change directions - Swap directions of cursor movements - Volume Up long press action - Action for Volume Up long press when screen is off - Volume Down long press action - Action for Volume Down long press when screen is off - Long press vibration - Vibrate when long press action is executed - Navigation bar - Hide navbar - Reactive Back button - Switch back button icon to alternative one in input mode - Navbar height - Back long press action - Home long press action - Menu long press action - Action on left additional navigation button press - Left button action - Action on left additional navigation button long press - Left button long press action - Action on right additional navigation button press - Right button action - Action on right additional navigation button long press - Right button long press action - Additional margin - Increase distance from screen edges for additional buttons - No action defined - Full screen navigation gestures - Back gesture area height - Back gesture area width - Horizontal gestures - Enable both horizontal gestures and navigation bar - Corner swipe action - Perform selected action instead of opening Google Assistant - - Various - Hidden features - Activities that are not always easily accessible - Not available on this device - Running services - Memory statistics - Per app memory usage - Usage statistics - Search - Apps & notifications - Notification log - Clear speaker - Unlock frame rate - Make fps up to 90 available in Screen Recorder app. Whether higher fps will actually work depends on device and video driver. - Use MIUI package installer - allow it to update system apps - Required app is not installed or disabled - App info in installer - Display info about app that is being installed - Package - Version name - Version code - Supported SDK - current - Alarm clock compatibility - Make selected apps display correct next alarm time set by stock MIUI Clock app - Bottom padding in portrait - Bottom padding in landscape - Show call UI - Define when UI for incoming call should be displayed instead of popup notification - Screen brightness during call - Call types - Brightness value - Night mode - Do not change brightness during night time - Start - End - Missed call reminder - Define sound, vibration and interval for reminder - Interval - Sound - No sound - Own pattern - Format: delay,vibration,delay,vibration,… - Full restrictions - Allows to configure battery saver and access to Wi-Fi for system apps - App state control - Allows to disable almost any app from its info page - Show additional app details - Add new fields to app info page:\n- version code\n- full path to apk\n- data path\n- user ID\n- target SDK version\n- link to Play Store page\n- launch an app - Installed apps initial sort order - Disable app? - If this is an essential system app, disabling it can break things :) - That\'s a bad idea! :) - Failed to change app state - - Open in Play Store - Launch - App has no default launchable activity - APK filename - APK version code - Data path - User id - Target SDK Version - Status (Default) - App name - Usage frequency - Used storage - Installation time - - Google Keyboard - Calls - Settings - - Default - System - No action - Expand notification drawer - Expand Quick Settings panel - Lock device - Go to sleep - Take screenshot - Open menu - Open recents - Open volume dialog - Raise volume - Lower volume - Launch app - Launch shortcut - Launch activity - Toggle feature - Switch to previous app - Force close current app - Open power menu - Power menu - Clear memory - Invert colors - Switch keyboard - Go back - One-handed mode (left) - One-handed mode (right) - Wi-Fi - Bluetooth - GPS - NFC - Sound profile - Auto brightness - Auto rotation - Flashlight - Mobile data - WiMAX - Icon - Label - Icon and label - None - Fade - No change - Play/Pause - Next track - Previous track - All charging events - Only events without animation - System default - Disable completely - Require authentication after boot - Disable on trusted networks/devices - Do not require - Weak (fingerprint) - Strong (PIN/password/pattern) - No blur - No icons - △▲▽▼ - ☖ ☗ ⛉ ⛊ - Entire background - Only in the middle - For all apps except the listed ones - For listed apps only - Hide only when not connected - Hide completely - Do not group - Light vibration - Strong vibration - Enable - Disable - Closer to the top - In the middle - Near the bottom - Maximum - Large - Normal - Small - Low - Average - High - Match album art or wallpapers - Custom color - Rainbow colors (horizontal) - Rainbow colors (vertical) - Rainbow - Dynamic color - Discrete - Gradual - Solid bars - Solid rounded bars - Dashed bars - Cirles - Line - Never - For 1 day after update - For 3 days after update - For a week after update - Always - Image - Audio - Video - Document - Archive - Link - Any - Others - When not in fullscreen mode - Incoming - Outgoing - Both - No vibration - Single (short) - Single (long) - Ticktock - Heartbeat - Waltz - Zig-zig-zig - Own pattern - Fit to screen - Cover whole screen - Top - Bottom - Adjust brightness - Adjust volume - Regular time - Relative time - Regular and relative time - Single tap - Double tap - Long press - New Year - Chinese New Year - Coronavirus anti-holiday - Display only - Hide - Detect automatically - drawLines - drawPath - Append - Prepend - Insert as new line - Selected path - Initially - Permanently - Beginning of a second - End of a second - Cellular network and mobile data - Keep as it is - Turn off - Turn off and disable - Unlimited - - Wi-Fi enabled - Wi-Fi disabled - Bluetooth enabled - Bluetooth disabled - GPS enabled - GPS disabled - Hotspot enabled - Hotspot disabled - NFC enabled - NFC disabled - Sound profile: Normal - Sound profile: Silent - Sound profile: Vibrate - Auto brightness enabled - Auto brightness disabled - Auto rotation enabled - Auto rotation disabled - Flashlight: off - Flashlight: on - Mobile data enabled - Mobile data disabled - Rotation lock - Unrestricted - Portrait - Landscape - 5G - CustoMIUIzer has no permission to change dark mode - - CustoMIUIzer settings - Mark new mods - Display \"New!\" label in title for mods added in current version - New! - Launcher icon - Show icon in launchers - LSPosed mode - Assume that LSPosed Framework is installed to correctly work with its manager - Fast access icon - Show icon in Settings - Own repository - Add custom repo to EdXposed Manager to load CustoMIUIzer\'s info more reliably - Additional repository is used - Unsupported version of EdXposed Manager is installed - Interface language - Always display module\'s interface in selected language - Holiday design - Decorate module interface according to occasion - - Troubleshooting - Send detailed report - Collect device and environment info, logcat and Xposed log, and send them to developer.\nInternet connection is required - Enter your contact information and it will be included in detailed and crash reports - Contact information - It\'s absolutely necessary to fill this in if you expect to receive replies to your crash reports. Use e-mail, ICQ, XDA or 4PDA nickname. - - Support - CustoMIUIzer repo - Github repo - Git repository with module sources and distributions - XDA thread - Module thread on XDA forums - 4PDA thread - Module thread on 4PDA forums - - Report a bug - Send us a bug report or a feature request via official issue tracker - Donate $%1$d - Donate - Best way to express your gratitude for this awesome module :) - In-app - Let Google handle everything - Cryptocurrencies - Money of the future :) - Outdated currencies - Paypal, Webmoney, QIWI - - Thanks for your donation! - Thanks for your generous donation! - Thanks for your insanely generous donation! 😮 - Failed to get billing information, check your internet connection - Changed your mind? ;) - - CustoMIUIzer has just crashed! - All necessary data has beed collected - Generated report size - Describe your problem (in English if possible): - Describe actions that led to this crash\n(in English if possible): - Contact information is not provided, you won\'t get a response to this report! - Internet connection is required - Description cannot be blank - Ignore - Send report - Sending result - Report was sent successfully! - Failed to send report - Confirmation - Building report… - Sending report… - - Automatic - Dark - Light - - Cannot initialize MIUI SDK.\nNot a MIUI ROM? - Not selected - Warning! - Black/White list option is active in Xposed Framework, it can prevent mods from working properly. - Additionally, installed module version is from Google Play and has more limitations. Consider reinstalling it from any other source. - Activation scope is active for this module, it can prevent some mods from working properly. - Android %1$s is not supported, mods might not work properly. - Manage Xposed modules - Soft reboot - Perform soft reboot now? - Restart launcher - Restart systemui - Settings management - Choose the desired routine - Backup - Restore - Your external storage is read-only - Unable to get access to any suitable storage - Failed to create backup directory - Failed to create backup file - No settings backup found - Settings were backed up successfully! - Settings were successfully restored! - Your settings have been restored via Google Cloud Backup. Please do a soft reboot after enabling the Xposed module. - Module\'s setting were successfully migrated to work with new LSPosed/EdXposed version. Reboot to apply changes. - Failed to migrate module\'s settings to work with new LSPosed/EdXposed version. You\'ll have to use restore function or configure mods from scratch. - Update is available ⚠ - Select app - Select apps - Select activity - No activities found - Select shortcut - Search mods - Wi-Fi networks - Location settings - Location access is required for apps to get a list of Wi-Fi networks on Android Pie - Trusted networks - Available networks - Fetch device list - Retrieve cached Bluetooth devices list from the system - Trusted devices - Available devices - Bluetooth devices - Bluetooth is not supported on this device - Turn on Bluetooth first - Turn on Wi-Fi first - Cannot scan without Location access - Force closed %s - Credentials are already unlocked - Unlock credentials - Credentials unlocked! - - Xposed app not found - It looks like you don\'t have Xposed Framework Installed.\n\nPlease note that mods will only work with Xposed! - CustoMIUIzer module is not active!\nOpen LSPosed app, activate module and reboot. - Browser app is required to open URLs - Okay - Cancel - Add - Delete - Long press item to delete - Change icon - I use LSPosed - - Search mods by name.\nLong press to display a list of new mods. - Don\'t forget to apply mods by using soft reboot.\nDynamic ⟲ mods require it only once.\nMore information is on About page. - New mods since previous update\ncan be marked for better visibility - - Do you want to write backup or not? - Do you want to restore backup or not? - Do you want to get a list of networks/devices or not? - You\'ll have to manually enable permission for this option now. Good job! - - %d ms - %d s - %d m - %d KB/s - 1 KB/s - B/s - KMGTPE - %s lux - - Off - 30 minutes - 1 hour - 2 hours - 3 hours - 4 hours - 5 hours - 6 hours - 8 hours - 10 hours - 12 hours - - - White - Black - Statusbar color - - file - resource - - - Double tap to sleep - allow untrusted touch - skip permission intercept timer + + CustoMIUIzer13 + About + Version %1$s + by Mikanoshi & MonwF + Generally, mods require soft reboot to be activated or deactivated, but those marked with ⟲ only require one soft reboot after their value was changed from default to custom one, subsequent changes are applied immediately. + Mods marked with ⨯ are not supported on this device. + @string/app_name + + Snoozed notifications + Update + Unsnooze this notification + Mark as dismissed + Mark as pending + Unable to fetch snoozed notifications list + No snoozed notifications + Messages + Channel + Created + Updated + Repost + + Mods + Actions + + Enable mod + System + Screen + Rotation + Backlight + Audio + Vibration + Toasts + Hide icons + Manage status bar icons visibility + Battery image + Battery charge percentage + Charging indicator + Can be overlayed on top of battery image on some ROMs + Alarm + Hide completely + Selective alarm icon visibility + Show alarm icon only during the defined number of hours before next alarm + Mobile network signal + No SIM card + VoLTE + VoWiFi + VPN + NFC + Hotspot + Work profile + Sound profiles + Do not disturb mode + Incognito mode + Headset + Call: muted mic + Call: speakerphone + Call: recording + Battery bar indicator + Display battery charge level as a colored bar + Limited visibility + Show only in notificaton drawer and on lock screen + Rounded ends + Centered + Bar height + Horizontal padding + Full charge color + Low charge color + Battery saver color + Charging color + Low charge level + Test + Animate bar from 100% to 0% in discharging state + Status bar height + Status bar background color + Make status bar and app\'s action bar background colors the same where possible + Black list + Shortcut app + Open selected app when shortcut icon in notification drawer\'s header is tapped + Clock app + Open selected app when clock in notification drawer\'s header is tapped + Calendar app + Open selected app when date in notification drawer\'s header is tapped + Show seconds + Display seconds in the status bar clock + Synchronization + Try to update value at a specified moment + Notification icons limit + Number of notification icons to display before turning them into dots + Hide mobile network type + Remove mobile network type icon from status bar + Network activity indicators + Configure Mobile data and Wi-Fi traffic indicators + Show LTE icon for 4G + No hidden icons indicator + Do not show icon with 3 dots when notification icons are hidden + No network speed separator + Do not show vertical line between time and network speed on devices with waterdrop notches + Network speed update interval + Detailed network speed indicator + Show incoming and outgoing network speeds separately + Font size + Indicator icons + Incoming/outgoing traffic icons displayed next to speed value (not all custom fonts have every icon) + Hide low speed + Do not show indicator if speed is low + Low speed level + Speed values below this level will be considered low and will have a different indication icon + Reduce visibility when inactive + Make indicator semitransparent when both speeds are zero + Gesture controls + Perform selected actions on slide and double tap + Adjustment sensitivity + Brightness + Volume + Horizontal slide with one finger + Horizontal slide with two fingers + Double tap action + Network speed spacing + Increase horizontal margins for network speed indicator + Show notification importance + Compact notifications + Reduce notifications\' vertical paddings + Colorize notification title + Apply icon\'s color to title text (Android notification style only) + Bring back minimalistic collapsed view + Notifications of minimal importance could be collapsed into one-line view again + Open channel settings + Opening settings from notification menu leads to channel settings instead of app\'s common notification settings + Maximum line count in messaging style + Limit number of displayed lines in messaging style notifications + Hide clear button + Remove button that clears all notifications + Show illuminance level + Display ambient illuminance value in lux inside brightness slider + Alternative style + Large semitransparent text + Show brightness percentage + Display brightness level in percentages while dragging brightness slider + Percentages panel\'s top margin + Consistent brightness slider style + Remove shadow and additional background from slider while changing brightness + Deactivate brightness slider + Extended notification menu + Open app info and force close app from notification menu (swipe notification to the left to open it) + App info + Force close + Disable any notification + Allow to disable system notifications too + Expand notifications + Show notifications fully expanded + Black & white list + Display time modification + Changes both short and long durations + Resulting duration won\'t fall below 1 second + Auto group notifications + Number of notifications from one app that triggers auto grouping + Snoozed notifications manager + Increase number of snooze intervals and add icon to launcher that opens a list of currently snoozed notifications + Mute if visible + Do not play notification sound if screen is on + Media position slider + Add media notification slider that indicates current position and allows to change it + Use system style + Do not apply custom thin style to slider + Auto open notification drawer + Open notification drawer automatically on notifications from selected apps + Respect fullscreen + Do not open notification drawer when fullscreen app is active (does not apply to immersive apps with hidden status and navigation bars) + Selected apps + Collapse MIUI titles + Configure action bar title state in all MIUI 12 apps + Screenshots + Screenshot configuration + Customize format, quality and save folder for screenshots + Format + Quality + Save folder + Hide overlays on screenshots + Temporarily hide overlays while taking a screenshot + Floating screenshot display time + Delay before a floating window with newly created screenshot disappears + Charge animation screen timeout + How long screen should be kept on after charging animation starts + No screen light up on charge + Do not turn screen on when you connect or disconnect a charger + No screen light up on headset connection + Do not turn screen on when you connect a headset + Screen off timeout on lock screen + Dim duration + How long screen should remain dimmed before turning off automatically (in percentage of total screen off timeout) + Auto brightness range + Define minimum and maximum auto brightness values + Minimum auto brightness + Maximum auto brightness + Audio silencer + Mute any sound that can be uniquely identified + Refresh list + Retrieve a list of recently played sounds + Silenced sounds + Played sounds + Disable high volume warning + Do not show dialog when volume reaches unsafe level + Disable ducking + Do not lower volume of currently playing music to play notification sound + Immediate volume adjustment + Adjust media stream volume on first key press + Separate volume controls + Allow to configure separate volume for rings/notifications/system sounds in Settings + Notification volume slider + Add notification slider to expanded volume dialog + No media mute + Do not set media volume to zero in Do Not Disturb mode + DND mode toggle + Make button in collapsed volume dialog toggle Do Not Disturb mode instead of Silent mode + Extended timers + Add more intervals to timers for Silent and Do Not Disturb modes + Volume dialog autohide delay + Collapsed + Expanded + Volume steps multiplier + Change number of volume steps for each stream type + Music visualizer + Display spectral density of discreet audio frequency bands + Visualizer is drawn on top of lock screen wallpaper + Show on custom lock screen + Draw visualizer on top of custom lock screen + Show in notification drawer + Additionally draw visualizer in an expanded notification drawer + Show only if media controller exists + Audio players usually create it for notifications with media controls + Animation duration + Transparency + Rendering method + Style + Glow + Color + Select custom color + Dynamic color change interval + Ignore calls + Prevent incoming calls from stealing audio focus when it\'s on selected apps and stop notifying them about call state changes + No test vibration + Do not vibrate when switching ringer mode to silent or turning on vibration in this mode + Muffled vibration + Reduce vibration intensity during selected hours + Vibration intensity + Changes either duration or strength of the vibration depending on amplitude control support by device + Calls + Notifications + Everything else + Time period + Block vibration + Prevent selected apps from using vibration + System sounds + Scramble PIN + Randomly change PIN buttons order + Enhanced screen lock + Disable power menu while screen lock is active + Secure Control center + Disable Control center while screen lock is active + Secure Quick settings + Disable security-sensitive tiles while screen lock is active + All 3rd party tiles + Tiles editing + Does not apply to Control center + Keep opened + Do not collapse panel after unlocking + Secure tiles + Airplane mode + Location + Synchronization + No password after boot + Do not require password instead of a fingerprint first time after boot. Unlikely to work on encrypted devices. + Album art as wallpaper + Display album art of currently playing track as lock screen wallpaper + Grayscale + Convert album art to black&white image + Album art blur + Album art scale + Unlock credentials + Authentication in some apps requires access to credentials, but they remain locked if PIN/password/pattern is skipped after boot. Current option adds launcher icon that allows to unlock credentials. + Custom actions + Customizable actions for shortcuts and swipes + Disable swipe left gesture + Swipe left action + Change right icon + Replace camera icon with CustoMIUIzer icon + Drag the icon to execute custom action + Disable swipe right gesture + Left screen shortcuts + Manage shortcuts list + Vertical alignment + Center horizontally + Do not require unlock + Launched apps could be accessed while device is still locked + Disable screen lock + Some devices might not work without unlocking once after boot + Selectively disable screen lock (does not change security for any apps and does not remove fingerprint data) + Skip lock screen + Do not show lock screen at all when screen lock is disabled + Skip face unlock + Do not start face unlock when screen lock is disabled + Trusted Wi-Fi networks + Temporarily disable screen lock while connected to these networks + Trusted Bluetooth devices + Temporarily disable screen lock while these devices are connected + Force locked + Force unlocked + Do not force + Turning off animation + Configure animation length + Very low values will practically disable animation + Background blur + Background blur intensity in recent apps + Background blur intensity in notification drawer + Temporarily hide themed background + Hide background while brightness is being changed + Themed background opacity + Opacity of a themed notification drawer background + Lock screen + Additional functionality + Security + Additional elements + Add application\'s icon and label to its toasts + Block toasts + Prevent selected apps from showing toasts + Airplane mode configuration + Define allowed communications in airplane mode. No reboot required. + Mod only changes existing system setting, some options might not work + 5G tile + Add 5G tile to qs panel + View password of saved Wi-Fi network + View + Password + Wi-Fi detail + Disable forced dark mode + Do not invert some colors in dark mode + Extended power menu + Add new restart options to power menu (Fastboot mode, Recovery mode, Soft reboot) + Allow downgrade + Make installing older app version on top of a newer one possible + Disable signature verification + Allow app updating even when APK signature differs from installed one + Text magnifier + Display magnified text when moving an input cursor or making a selection + Disable overscroll + Prevent list views from overscrolling + Disable secure content protection + Allow to screenshot and record video of any app + Hide warning about low battery level + Do not display a warning dialog that asks to turn on Battery saver + Hide warning about disabled touches + Do not display a warning that earphone area is covered + Free widget resize + Remove any widget size limitations + Unblock launchers + Remove restriction of 3rd party launchers on Chinese ROMs + Clean share menu + Remove selected apps from share menu + Test menu + Clean Open with menu + Remove selected apps from Open with menu + Select test data type + Select data type to hide + Default USB configuration + Apply selected configuration when another device is connected + Ignore lock + Apply even if device is still locked + RNDIS (USB Tethering) + MIDI + MTP (Media Transfer Protocol) + PTP (Picture Transfer Protocol) + Prevent app force close + Do not allow stock MIUI action to close selected apps + Rotation animation + All rotations + Allow all screen rotations including reverse portrait + Orientation lock + Add Quick Settings tile that can lock orientation in portrait or landscape mode + Keep notifications + Show notifications on lock screen even after it\'s dismissed and then opened again + More notifications + Increase limit of active notifications for a single app from 10 to 24 + Direct reply without unlock + Do not require device unlocking to use direct reply on lock screen + Allow on lock screen + Force all notifications from MIUI apps to be able to appear on lock screen + Allow as floating notifications + Force all notifications from MIUI apps to be able to appear as floating ones + Hide status bar + Remove status bar from lock screen + Hide top block + Remove top block containing clock, date and other data + Hide unlock hint + Remove "Swipe up to unlock" hint + No emergency calls + Disable emergency call button on lock screen + Apply wallpaper using any app + Make third-party apps be able to set lock screen wallpaper. Themes app must be installed and given storage access permission. + Clean expanded mode view + Hide Quick Settings and brightness slider in expanded notifications mode on lock screen + Disable colored background + Change background with autogenerated color from wallpaper to transparent one while on lock screen + Tap to unlock + Start device unlocking by tapping on bottom lock screen area + Double tap to sleep + Turn screen off by double tapping on any empty space on lock screen + Display charging data + Show additional charging information at the bottom of lock screen + How to display + Charging current + Battery voltage + Power consumption + Battery temperature + Display next alarm + Show nearest alarm time next to current date + Display format + Show all alarms + Get next alarm time using default Android API when MIUI alarm is not set. Might produce unexpected results. + Status bar and notification drawer + Status bar + Notification drawer + Notifications + Recent apps list + Use native implementation + Don\'t use recent apps list from MIUI Launcher. Works badly with full screen gestures. + Remove cleaner button + Hide button that clears recent apps and cleans memory + Clean all + Make cleaner button kill all running tasks + Hide from recents + Hide selected apps from recent tasks list + First shortcut action + Action for the first suggestion shortcut + Second shortcut action + Action for the second suggestion shortcut + Third shortcut action + Action for the third suggestion shortcut + Fourth shortcut action + Action for the fourth suggestion shortcut + Popup notifications + Auto hide delay + No auto hide + Do not dismiss popups automatically + Allow floating window + Open app in a floating window on swipe down gesture if notification has an appropriate click action defined + Enable swipe down + Open notification drawer on swipe down gesture + Show centered + Display popups in the middle of the screen + Floating windows + Disable blacklisting + Allow any app to be opened in a floating window + Remember state + Keep opening apps in floating windows until they are swicthed back to full screen manually + Multiwindow+ + Allow using split screen and floating windows together + App lock + Less strict app lock + Do not lock apps when device is locked if option with app locking after exit is selected + App lock timeout + Time interval during which app remains unlocked after exit + List of apps to lock + Enhanced version of App lock option that allows to lock any installed app. No reboot is required. + Skip app lock + Allow selected activities to bypass app lock + Selected activities + Quick Settings + Number of rows + Labels will be hidden for 5 rows in a portrait orientation. Number of rows is limited to 3 with hidden labels in a landscape orientation. + Number of columns + Landscape orientation will have one additional column. If your ROM has a compact Quick Settings layout option, it will add another column in both orientations. + Number of columns in collapsed panel + Landscape orientation will have one additional column. + Remove labels completely + Quick settings haptic feedback + Vibrate on Quick settings tile tap + Other + Volume dialog background blur + Collapsed dialog + Expanded dialog + Animation scale + Windows + Transitions + Value animators + + POCO Launcher + MIUI Launcher + Gestures + Action + Setting to toggle + App to launch + Shortcut to launch + Activity to launch + Launcher + Display mods for selected launcher. For visual aid only, does not have any effect on mods. + Performance mode + Alternative method of applying all launcher mods + Infinite scrolling + Jump from the last page to the first one and vice versa + No clock hide + Do not hide status bar clock on pages with clock widgets + Enable -1 screen switch + Display a switch between App Vault and Google Discover in Home screen settings + Requires global (international) ROM + Force Google Discover + Replace App Vault with Google Discover (requires Google app to be installed) + Disable widget only screen + Make all screens support both widgets and apps on tablets + Remove unlock animation + Do not animate icons when device is unlocked + Remove launch animation + Do not zoom in/out icons when app is closed/opened + Use old launch animation + Revert app opening transition to a previous one + Reverse portrait support + Rotate launcher\'s portrait orientation + Dynamic page indicator + Show page indicator only during scrolling + Show only in edit mode + Unlock grid sizes + Make all grid sizes from 3x4 to 10x10 available in home screen layout setting + More icons in dock + Unlimited number of dock icons + Auto close app drawer + Close app drawer after launch + Icons scaling + Horizontal grid margins + Top grid margin + Bottom dock margin + Horizontal widget margin + Works only on latest launcher versions with dynamic widget positioning + Page indicator height + Folders + Number of columns in folders + Use entire folder\'s width + Reduce side padding + Fix status bar mode + Adjust status bar contents color for light/dark wallpapers on developer launcher version + Fix animation + Apply value animators\' duration scaling to some launcher animations + Fix app info + Always open MIUI-styled app info from long press menu + Color overlay + Darken or lighten background + Color intensity + Blur + Background and wallpaper blur options. Launcher must support blur in folders. + Background blur + Wallpaper blur + Visibility + Radius + Affects edit mode wallpaper blur too + Auto close folders + Close app\'s folder after launch + App titles + Hide titles + Show titles in dock + Font size + Additional top margin + Darker shadow + Makes title shadow less transparent + Custom app titles + Modified titles + Modified title + Hidden apps + Required permissions are not granted + No hidden folder + Disable two-finger gesture that opens hidden apps folder + List of apps to hide + Enhanced version of Hidden apps option that allows to hide any installed app. No reboot is required. + Swipe down action (1 finger) + Action for swipe down gesture with 1 finger on any home screen + Swipe down action (2 fingers) + Action for swipe down gesture with 2 fingers on any home screen + Swipe up action (1 finger) + Action for swipe up gesture with 1 finger on any home screen + Swipe up action (2 fingers) + Action for swipe up gesture with 2 fingers on any home screen + Swipe right action + Action for swipe right gesture on launcher dock + Swipe left action + Action for swipe left gesture on launcher dock + Shake action + Action for shaking the device on any home screen + Double tap action + Action for double tap on empty space of any home screen + Pinch action + Action for moving 2 fingers towards each other on any home screen + Spread action + Action for moving 2 fingers away from each other on any home screen + Bug fixes + + Controls + Double press action + Replace camera launch on power key double press. Requires stock button shortcut to be enabled. + Disable screenshot combination + Don\'t make a screen capture when power key is pressed together with volume down key + Quick flashlight + Long press power button while screen is off to turn flashlight on + Longer quick flashlight delay + Increase the power button long press delay + Fingerprint scanner + Single tap action + Action for a sinlge tap when screen is on + Double tap action + Action for a double tap when screen is on + Double tap delay + Single tap action will be delayed by this amount + Long press action + Action for a long press when screen is on + Long press delay + No actions in Camera + Enable this if you use fingerprint shutter option + No actions during calls + Do not execute actions when call is active + Accept incoming call + Reject incoming call + End current call + Accept and reject actions cannot have the same combination. + Accept action was disabled. + Reject action was disabled. + Turn screen on after failure + Light screen up on failed authentication + Require actual fingerprints + Don\'t turn screen on when no fingerprints are enrolled + Vibrate on success + Haptic feedback on successful authentication + Ignore system settings + Do not disable haptic feedback when vibration on tap is disabled + No vibrate on failure + Remove haptic feedback on authentication failure + Power key + Volume keys + Control input cursor + Move text input cursor using volume keys + Change directions + Swap directions of cursor movements + Volume Up long press action + Action for Volume Up long press when screen is off + Volume Down long press action + Action for Volume Down long press when screen is off + Long press vibration + Vibrate when long press action is executed + Navigation bar + Hide navbar + Reactive Back button + Switch back button icon to alternative one in input mode + Navbar height + Back long press action + Home long press action + Menu long press action + Action on left additional navigation button press + Left button action + Action on left additional navigation button long press + Left button long press action + Action on right additional navigation button press + Right button action + Action on right additional navigation button long press + Right button long press action + Additional margin + Increase distance from screen edges for additional buttons + No action defined + Full screen navigation gestures + Back gesture area height + Back gesture area width + Horizontal gestures + Enable both horizontal gestures and navigation bar + Corner swipe action + Perform selected action instead of opening Google Assistant + + Various + Hidden features + Activities that are not always easily accessible + Not available on this device + Running services + Memory statistics + Per app memory usage + Usage statistics + Search + Apps & notifications + Notification log + Clear speaker + Unlock frame rate + Make fps up to 90 available in Screen Recorder app. Whether higher fps will actually work depends on device and video driver. + Use MIUI package installer + allow it to update system apps + Required app is not installed or disabled + App info in installer + Display info about app that is being installed + Package + Version name + Version code + Supported SDK + current + Alarm clock compatibility + Make selected apps display correct next alarm time set by stock MIUI Clock app + Bottom padding in portrait + Bottom padding in landscape + Show call UI + Define when UI for incoming call should be displayed instead of popup notification + Screen brightness during call + Call types + Brightness value + Night mode + Do not change brightness during night time + Start + End + Missed call reminder + Define sound, vibration and interval for reminder + Interval + Sound + No sound + Own pattern + Format: delay,vibration,delay,vibration,… + Full restrictions + Allows to configure battery saver and access to Wi-Fi for system apps + App state control + Allows to disable almost any app from its info page + Show additional app details + Add new fields to app info page:\n- version code\n- full path to apk\n- data path\n- user ID\n- target SDK version\n- link to Play Store page\n- launch an app + Installed apps initial sort order + Disable app? + If this is an essential system app, disabling it can break things :) + That\'s a bad idea! :) + Failed to change app state + + Open in Play Store + Launch + App has no default launchable activity + APK filename + APK version code + Data path + User id + Target SDK Version + Status (Default) + App name + Usage frequency + Used storage + Installation time + + Google Keyboard + Calls + Settings + + Default + System + No action + Expand notification drawer + Expand Quick Settings panel + Lock device + Go to sleep + Take screenshot + Open menu + Open recents + Open volume dialog + Raise volume + Lower volume + Launch app + Launch shortcut + Launch activity + Toggle feature + Switch to previous app + Force close current app + Open power menu + Power menu + Clear memory + Invert colors + Switch keyboard + Go back + One-handed mode (left) + One-handed mode (right) + Wi-Fi + Bluetooth + GPS + NFC + Sound profile + Auto brightness + Auto rotation + Flashlight + Mobile data + WiMAX + Icon + Label + Icon and label + None + Fade + No change + Play/Pause + Next track + Previous track + All charging events + Only events without animation + System default + Disable completely + Require authentication after boot + Disable on trusted networks/devices + Do not require + Weak (fingerprint) + Strong (PIN/password/pattern) + No blur + No icons + △▲▽▼ + ☖ ☗ ⛉ ⛊ + Entire background + Only in the middle + For all apps except the listed ones + For listed apps only + Hide only when not connected + Hide completely + Do not group + Light vibration + Strong vibration + Enable + Disable + Closer to the top + In the middle + Near the bottom + Maximum + Large + Normal + Small + Low + Average + High + Match album art or wallpapers + Custom color + Rainbow colors (horizontal) + Rainbow colors (vertical) + Rainbow + Dynamic color + Discrete + Gradual + Solid bars + Solid rounded bars + Dashed bars + Cirles + Line + Never + For 1 day after update + For 3 days after update + For a week after update + Always + Image + Audio + Video + Document + Archive + Link + Any + Others + When not in fullscreen mode + Incoming + Outgoing + Both + No vibration + Single (short) + Single (long) + Ticktock + Heartbeat + Waltz + Zig-zig-zig + Own pattern + Fit to screen + Cover whole screen + Top + Bottom + Adjust brightness + Adjust volume + Regular time + Relative time + Regular and relative time + Single tap + Double tap + Long press + New Year + Chinese New Year + Coronavirus anti-holiday + Display only + Hide + Detect automatically + drawLines + drawPath + Append + Prepend + Insert as new line + Selected path + Initially + Permanently + Beginning of a second + End of a second + Cellular network and mobile data + Keep as it is + Turn off + Turn off and disable + Unlimited + + Wi-Fi enabled + Wi-Fi disabled + Bluetooth enabled + Bluetooth disabled + GPS enabled + GPS disabled + Hotspot enabled + Hotspot disabled + NFC enabled + NFC disabled + Sound profile: Normal + Sound profile: Silent + Sound profile: Vibrate + Auto brightness enabled + Auto brightness disabled + Auto rotation enabled + Auto rotation disabled + Flashlight: off + Flashlight: on + Mobile data enabled + Mobile data disabled + Rotation lock + Unrestricted + Portrait + Landscape + 5G + CustoMIUIzer has no permission to change dark mode + + CustoMIUIzer settings + Mark new mods + Display \"New!\" label in title for mods added in current version + New! + Launcher icon + Show icon in launchers + LSPosed mode + Assume that LSPosed Framework is installed to correctly work with its manager + Fast access icon + Show icon in Settings + Own repository + Add custom repo to EdXposed Manager to load CustoMIUIzer\'s info more reliably + Additional repository is used + Unsupported version of EdXposed Manager is installed + Interface language + Always display module\'s interface in selected language + Holiday design + Decorate module interface according to occasion + + Troubleshooting + Send detailed report + Collect device and environment info, logcat and Xposed log, and send them to developer.\nInternet connection is required + Enter your contact information and it will be included in detailed and crash reports + Contact information + It\'s absolutely necessary to fill this in if you expect to receive replies to your crash reports. Use e-mail, ICQ, XDA or 4PDA nickname. + + Support + CustoMIUIzer repo + Github repo + Git repository with module sources and distributions + XDA thread + Module thread on XDA forums + 4PDA thread + Module thread on 4PDA forums + + Report a bug + Send us a bug report or a feature request via official issue tracker + Donate $%1$d + Donate + Best way to express your gratitude for this awesome module :) + In-app + Let Google handle everything + Cryptocurrencies + Money of the future :) + Outdated currencies + Paypal, Webmoney, QIWI + + Thanks for your donation! + Thanks for your generous donation! + Thanks for your insanely generous donation! 😮 + Failed to get billing information, check your internet connection + Changed your mind? ;) + + CustoMIUIzer has just crashed! + All necessary data has beed collected + Generated report size + Describe your problem (in English if possible): + Describe actions that led to this crash\n(in English if possible): + Contact information is not provided, you won\'t get a response to this report! + Internet connection is required + Description cannot be blank + Ignore + Send report + Sending result + Report was sent successfully! + Failed to send report + Confirmation + Building report… + Sending report… + + Automatic + Dark + Light + + Cannot initialize MIUI SDK.\nNot a MIUI ROM? + Not selected + Warning! + Black/White list option is active in Xposed Framework, it can prevent mods from working properly. + Additionally, installed module version is from Google Play and has more limitations. Consider reinstalling it from any other source. + Activation scope is active for this module, it can prevent some mods from working properly. + Android %1$s is not supported, mods might not work properly. + Manage Xposed modules + Soft reboot + Perform soft reboot now? + Restart launcher + Restart systemui + Settings management + Choose the desired routine + Backup + Restore + Your external storage is read-only + Unable to get access to any suitable storage + Failed to create backup directory + Failed to create backup file + No settings backup found + Settings were backed up successfully! + Settings were successfully restored! + Your settings have been restored via Google Cloud Backup. Please do a soft reboot after enabling the Xposed module. + Module\'s setting were successfully migrated to work with new LSPosed/EdXposed version. Reboot to apply changes. + Failed to migrate module\'s settings to work with new LSPosed/EdXposed version. You\'ll have to use restore function or configure mods from scratch. + Update is available ⚠ + Select app + Select apps + Select activity + No activities found + Select shortcut + Search mods + Wi-Fi networks + Location settings + Location access is required for apps to get a list of Wi-Fi networks on Android Pie + Trusted networks + Available networks + Fetch device list + Retrieve cached Bluetooth devices list from the system + Trusted devices + Available devices + Bluetooth devices + Bluetooth is not supported on this device + Turn on Bluetooth first + Turn on Wi-Fi first + Cannot scan without Location access + Force closed %s + Credentials are already unlocked + Unlock credentials + Credentials unlocked! + + Xposed app not found + It looks like you don\'t have Xposed Framework Installed.\n\nPlease note that mods will only work with Xposed! + CustoMIUIzer module is not active!\nOpen LSPosed app, activate module and reboot. + Browser app is required to open URLs + Okay + Cancel + Add + Delete + Long press item to delete + Change icon + I use LSPosed + + Search mods by name.\nLong press to display a list of new mods. + Don\'t forget to apply mods by using soft reboot.\nDynamic ⟲ mods require it only once.\nMore information is on About page. + New mods since previous update\ncan be marked for better visibility + + Do you want to write backup or not? + Do you want to restore backup or not? + Do you want to get a list of networks/devices or not? + You\'ll have to manually enable permission for this option now. Good job! + + %d ms + %d s + %d m + %d KB/s + 1 KB/s + B/s + KMGTPE + %s lux + + Off + 30 minutes + 1 hour + 2 hours + 3 hours + 4 hours + 5 hours + 6 hours + 8 hours + 10 hours + 12 hours + + + White + Black + Statusbar color + + file + resource + + + Double tap to sleep + Allow untrusted touch + Skip permission intercept timer + Tap left shortcut to toggle flashlight \ No newline at end of file diff --git a/app/src/main/res/xml/prefs_system_lockscreenshortcuts.xml b/app/src/main/res/xml/prefs_system_lockscreenshortcuts.xml index 4537f09a..fa394f8e 100644 --- a/app/src/main/res/xml/prefs_system_lockscreenshortcuts.xml +++ b/app/src/main/res/xml/prefs_system_lockscreenshortcuts.xml @@ -1,6 +1,7 @@ @@ -33,6 +34,13 @@ android:dependency="pref_key_system_lockscreenshortcuts_right_off" android:defaultValue="false" /> + +