diff --git a/res/drawable/mist_card_single.xml b/res/drawable/mist_card_single.xml
deleted file mode 100644
index 223cb34c..00000000
--- a/res/drawable/mist_card_single.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
diff --git a/res/drawable/top_mist_background.xml b/res/drawable/top_mist_background.xml
deleted file mode 100644
index 14c6a32f..00000000
--- a/res/drawable/top_mist_background.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
-
diff --git a/res/layout/keybox_data_pref.xml b/res/layout/keybox_data_pref.xml
index 6848b9a4..622cd331 100644
--- a/res/layout/keybox_data_pref.xml
+++ b/res/layout/keybox_data_pref.xml
@@ -1,10 +1,35 @@
-
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:clipToPadding="false"
+ android:baselineAligned="false">
+
+
+
+
+
+ android:textAppearance="?android:attr/textAppearanceListItem" />
+ android:maxLines="5"
+ android:ellipsize="end" />
diff --git a/res/layout/mist_dashboard_single.xml b/res/layout/mist_dashboard_single.xml
deleted file mode 100644
index 1797c3a0..00000000
--- a/res/layout/mist_dashboard_single.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/values-bn-rBD/mist_strings.xml b/res/values-bn-rBD/mist_strings.xml
new file mode 100644
index 00000000..3cdd1b6a
--- /dev/null
+++ b/res/values-bn-rBD/mist_strings.xml
@@ -0,0 +1,895 @@
+
+
+
+
+ Settings dashboard style
+ The style of Settings main page
+ AOSP legacy
+ AOSP revamped
+ Mist Ui
+ Settings Ui
+ Change the Setting Ui
+ System Ui
+
+ Mistify Tweek
+ Magic Happen Here!!
+
+ Themes
+ Monet, fonts, icons
+ Lock screen
+ Interface, miscellaneous
+ Status bar
+ Gestures, Icons, privacy indicators
+ Quick settings
+ Interface, lock screen
+ Notifications
+ Alerts, interface
+ Power menu
+ Actions, lock screen
+ Buttons
+ Power button, volume buttons
+ Miscellaneous
+ Developer options, spoofing
+ About
+ About MistOS
+
+ General
+ Monet
+ Monet settings
+ Customize Android\'s built-in theme engine
+ Audio
+ Lock sound
+ Unlock sound
+ Fonts
+ System font
+ Set system font style
+ Lock screen clock font
+ Set lock screen clock font style
+ Icons
+ System Icons
+ Set system icon style
+ Icon shape
+ Set system icon shape
+ Signal icon
+ Set signal icon style
+ Wi-Fi icon
+ Set Wi-Fi icon style
+ Navigation bar icons
+ Set navigation bar icon style
+ UDFPS icon
+ Set UDFPS icon style
+ Brightness slider
+ Brightness slider style
+ Set brightness slider style
+ Animations
+ Boot animation
+ Set boot animation style
+ Charging animation
+ Display an animation when the device is plugged in
+ Screen off animation
+ CRT
+ Scale
+ UDFPS animation
+ Set UDFPS animation style
+ Pixel Launcher
+ Background blur
+ Enable blur effect for recent items page background
+ More themed icons
+ Extends support for dynamic color themed icons for installed apps
+ Font style
+ Set system font style
+ Icon pack
+ Set custom icon pack style
+ Icon shape
+ Set system icon shape style
+ Signal icon style
+ Set custom signal icon style
+ WiFi icon style
+ Set custom wifi icon style
+ Navbar style
+ Set custom navigation bar style
+ Clock font style
+ Set lockscreen clock font style
+ Brightness slider style
+ Set custom brightness slider style
+
+ Preview of the selected boot animation
+ Displays a preview of the currently selected boot animation
+ Boot animation preview
+
+ Accent color
+ Choose custom color for accent
+ Background color
+ Choose custom color for background
+ Custom color
+ Luminance
+ Higher values produce brighter colors
+ Chroma factor
+ Higher values produce stronger colors
+ Whole palette
+ Make Luminance and Chroma selection affect secondary colors as well
+ Tint background
+ Make luminance and chroma selection affect background colors as well
+ Theme style
+ Tonal Spot (Default)
+ Vibrant
+ Expressive
+ Spritz
+ Rainbow
+ Fruit Salad
+ Content
+ Monochromatic
+ Color source
+ Both (Default)
+ Home wallpaper
+ Lock wallpaper
+ Preset
+
+ Interface
+ Charging stats
+ Display current, voltage, wattage, and temperature stats while charging
+ Fingerprint
+ Ripple animation
+ Show ripple animation when unlocked with fingerprint
+ Screen-Off UDFPS
+ Keep UDFPS enabled while the screen is off
+ Authentication success vibration
+ Vibrate when fingerprint authentication is successful
+ Authentication error vibration
+ Vibrate when fingerprint authentication fails
+ Miscellaneous
+ Pocket detection
+ Block screen and button inputs when device is in pocket
+ Always on Pocket mode
+ Always block screen and button inputs when screen is turned on
+
+ About Pulse
+ Pulse is a brilliant audio graphic equalizer when music plays on the device
+ Pulse
+ Audio graphic equalizer for navigation bar and lock screen
+ Navbar pulse
+ Audio graphic equalizer on the navigation bar
+ Lock screen pulse
+ Audio graphic equalizer on the lock screen
+ Ambient pulse
+ Audio graphic equalizer on the ambient screen
+ Render mode
+ Fading blocks
+ Solid lines
+ Fading blocks mode settings
+ Sanity level
+ Lava lamp speed
+ Rounded corners
+ Solid lines with rounded tip
+ Solid lines count
+ Solid lines opacity
+ Solid lines mode settings
+ Color
+ Accent
+ Custom
+ Lava lamp
+ Choose color
+ Turn on smoothing
+ Each bar is animated more smoothly
+ Bar width
+ Bar spacing
+ Block size
+ Block spacing
+
+ Swipe left or right to preview clock styles
+
+ Selected clock does not support custom fonts
+
+ Clock
+ Configure lock screen clock styles
+ Custom Clock Style
+ Clock face
+ Modify lock screen clock appearance
+
+ Gestures
+ Brightness control
+ Adjust brightness by swiping across the status bar
+ Quick pull down
+ %1$s of the status bar pulls down quick settings
+ Off
+ Right side
+ Left side
+ Both sides
+ Icons
+ Status bar tuner
+ Choose which system icons can be shown
+ Battery style
+ Icon portrait
+ Icon landscape (Right)
+ Icon landscape (Left)
+ Landscape Capsule
+ Landscape Lorn
+ Portrait IOS
+ Portrait Mx
+ Landscape Airoo
+ Landscape R Style A
+ Landscape L Style A
+ Landscape R Style B
+ Landscape L Style B
+ Landscape iOS 15
+ Landscape iOS 16
+ Landscape Origami
+ Landscape OneUI 7
+ Circle
+ Dotted circle
+ Filled circle
+ Big circle
+ Big dotted circle
+ Text
+ Hidden
+ Follow status bar style
+ Battery percent
+ Hidden
+ Inside the icon
+ Next to the icon (right)
+ Next to the icon (left)
+ Battery percentage when charging
+ Always display battery percentage when charging
+ Clock & date
+ Customize clock & date
+ Data disabled indicator
+ Display an indicator next to signal icon when data is disabled
+ 4G icon
+ Replace \'LTE\' icon with \'4G\'
+ Wi-Fi standard
+ Display Wi-Fi standard next the Wi-Fi icon
+ Bluetooth battery status
+ Display battery status for the connected Bluetooth device, if available
+ Colored icons
+ Use launcher icons for app notifications
+ Logo
+ Display a custom logo on the status bar
+ Logo position
+ Left side
+ Right side
+ Logo style
+ MistOS
+ Android
+ Adidas
+ Alien
+ Apple
+ Avengers
+ Batman
+ Batman The Dark Knight
+ Beats
+ Biohazard
+ BlackBerry
+ Cannabis
+ Emoticon cool
+ Emoticon devil
+ Fire
+ Heart
+ Nike
+ Pac-man
+ Puma
+ ROG
+ Spider-Man
+ Superman
+ Windows
+ Xbox
+ Ghost
+ Ninja
+ Robot
+ Iron Man
+ Captain America
+ Flash
+ Tux
+ Ubuntu
+ Linux Mint
+ Amogus
+ Network traffic monitor
+ Display and customize current network traffic levels
+ Notification count
+ Display the number of unread notifications on each app icon
+ Privacy indicators
+ Microphone & camera
+ Display an indicator when an app accesses the microphone or camera
+ Location
+ Display an indicator when an app accesses your location
+ Screen projection
+ Display an indicator when the screen is being projected
+ Carrier name on lock screen
+ Display carrier name on lock screen status bar
+ Status bar lyric
+ Show lyric in status bar (need app support)
+ Options
+ Disguise device for music apps
+ Disguise device in some music applications for support status bar lyric. After changing this toggle, you have to restart applications for the change to take effect.
+
+ Clock position
+ Right
+ Left
+ Center
+ Hidden
+ Clock seconds
+ Display seconds next to clock in status bar
+ Auto hide at intervals
+ Hide clock at specific time based intervals
+ Hide duration
+ Number of seconds to hide clock
+ Show duration
+ Number of seconds to wait before hiding clock
+ Auto hide on launcher
+ Hide clock if launcher is visible
+ Background chip
+ Display accented chip behind clock
+ Solid color accent
+ Outline
+ Solid color accent gradient
+ Solid Gradient side
+ Solid accent gradient sharp
+ Gradient Void
+ Neumorph gradient
+ Sharp gradient stroke
+ Accent transperent
+ Gradient light
+ Sharp gradient corner
+ Gradient Void light
+ AM/PM style
+ 24-hour clock is enabled
+ Normal
+ Small
+ Hidden
+ Date
+ Hidden
+ Small
+ Normal
+ Date format
+ Date style
+ Normal
+ Lowercase
+ Uppercase
+ Custom java format
+ Must be in DateFormat eg. MM/dd/yy
+ Enter string
+ Date position
+ Right of time
+ Left of time
+
+ Location
+ Disabled
+ Statusbar
+ Quick Statusbar
+ Display mode
+ Upload only
+ Download only
+ Upload and download
+ Auto hide
+ Hide the traffic monitor when inactive
+ Inactivity threshold
+ Refresh interval
+ Duration after which speed is remeasured
+ Traffic measurement units
+ Bits per second (b/s)
+ Kilobits per second (kb/s)
+ Megabits per second (Mb/s)
+ Bytes per second (B/s)
+ Kilobytes per second (kB/s)
+ Megabytes per second (MB/s)
+ Hide arrows
+ Hide the network traffic indicator arrows
+
+ Interface
+ QS tiles style
+ Circle tiles
+ Square tiles
+ Circle & Square tiles
+ QS panel style
+ Outline
+ Two-Tone accent
+ Color pop
+ Shaded
+ Cyberpunk
+ Neumorph
+ Reflected
+ Surround
+ ThinLine
+ Hide label
+ Label text size
+ Only show icon in tile
+ Vertical layout
+ Show label below icon instead next to icon
+ Columns & rows
+ Customize QS columns and rows
+ QS rows should be equal or greater than QQS rows. Use higher number of columns for circle / square (A11) QS tile style.
+ Columns (portrait)
+ Columns (landscape)
+ Rows (portrait)
+ Rows (landscape)
+ Quick QS Rows (portrait)
+ Quick QS Rows (landscape)
+ Brightness slider
+ Brightness slider
+ Never show
+ Only show when expanded
+ Always show
+ Brightness percentage
+ Show brightness percentage text along with the slider
+ Brightness slider position
+ Top
+ Bottom
+ Auto brightness icon
+ Show icon toggle for adaptive brightness next to the slider
+ Haptic feedback
+ Provide haptic feedback on changing brightness using slider
+ Animations
+ Tiles animation style
+ Animation duration
+ Animation interpolator
+ No animation
+ Rotate
+ Flip X
+ Flip Y
+ Linear
+ Accelerate
+ Decelerate
+ Accelerate decelerate
+ Bounce
+ Overshoot
+ Anticipate
+ Anticipate overshoot
+ Data usage
+ Display data usage summary in quick settings footer
+ Lock screen
+ Swipe down on LS to view QS
+ Hide all quick settings in the notification shade while the device is locked
+ Secure QS tiles require unlock
+ The following quick settings require the device to be unlocked before you can interact with them:\nAirplane, Battery saver, Bluetooth, Cellular, Data saver, Hotspot, Internet, NFC, Rotation lock, and Wi-Fi
+ Miscellaneous
+ Bluetooth tile dialog
+ Show bluetooth dialog or toggle bluetooth state on tapping bluetooth tile
+ QS header image
+ Select QS background header image
+ Header image collection
+ Header image shadow
+ For better visibility on bright images
+ Static image
+ Image collection
+ Custom image
+ Header provider
+ Browse installed headers
+ Browse all available header collections
+ Select header image
+ Select an image to use for static mode
+ Select image
+ Select custom image
+ You must install a gallery app!
+ Header image offset
+ Adjust the image header size
+ Background transparency
+ Set transparency level for QS background
+ QS tiles shape
+ Dynamic
+ Circle
+ Rounded square
+ Square
+
+ Heads up
+ Allow pop up notifications
+ Interface
+ Edge light
+ Light up the side edges of the screen on notification pulse
+ Kill app
+ Show a kill app button in the notification\'s longpress menu
+ Sounds & vibration
+ Alert while display on
+ Play sound and vibration for notifications while the display is on
+
+ Alert slider notifications
+ Display notification when changing alert slider position
+
+ Compact heads-up
+ Display notifications in compact size
+
+ Always trigger on pulse
+ Whether to show edge light whenever ambient display is shown and not just for notifications
+ Repeat animation
+ Repeat until timeout
+ Show only once
+ Edge light color mode
+ Edge light style
+ Edge light stroke width
+ Configure edge light thickness
+ Draw Line
+ Blink/Pulse
+
+ Less boring
+ Display popup notifications only for alarm, dialer and messaging app
+
+ Interface
+ Power menu actions
+ Choose which actions are displayed
+ Lock screen
+ Show on secure lock screen
+ Show the power menu while the device is locked
+
+ Advanced reboot
+ Screenshot
+ On-The-Go mode
+ Airplane
+ Flashlight
+ Settings
+ Lockdown
+ Lockdown is disabled as keyguard isn\'t secure
+ Sound panel
+ Users
+ Logout
+ Emergency
+ Device controls
+
+ Spoofing
+ Developer options
+ Allow application downgrade
+ Allow downgrading system applications, which may result in crashes and data loss
+ Ignore wallpaper dimming requests
+ Blocks all apps from setting the wallpaper dim\nForces dim to 0
+ Ignore window secure flags
+ Remove restrictions on screenshots and screen recordings for all applications, potentially risking privacy leaks
+ Unlimit screenrecord
+ Remove the 15GiB file size limit\nMay result in a larger than needed output file
+
+ Hide applist
+ Prevent apps from checking selected apps from appslist
+ Show overlay
+ Hide overlay
+
+ Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen
+ Smart Pixels
+ Save battery by shutting off extra pixels
+ Auto-enable on battery saver
+ Enable Smart Pixels when battery saver is enabled
+ Percent of pixels to disable
+ Burn-in protection
+ Prevents burn-in on OLED devices by shifting pixels every so often
+
+ Component spoofing
+ Bypass app restrictions by spoofing components
+ System-Wide
+ Pixel props
+ Spoof a select group of Google apps to the latest Pixel device
+ Spoof tensor features
+ Unlock tensor/pixel features
+ Play Integrity fix
+ Spoof your device to pass Google Play Attestation
+ Storage encryption
+ Spoof the device storage encryption status to \'Encrypted\'
+ App-Specific
+ Google app
+ Spoof the Google app to the latest Pixel device to unlock exclusive features
+ Play Store
+ Spoof the Play Store to the latest Pixel device
+ Google Photos
+ Spoof the Google Photos app as a Pixel XL
+ Snapchat
+ Spoof Snapchat as a Pixel XL to fix possible chat issues
+ Enable Game Props spoofing
+ Spoof your device as different model for specific games to unlock higher FPS
+ Select Game Props JSON File
+ Pick Game Props JSON file to be used for spoofing games
+ Netflix
+ Spoof your device as different model for Netflix
+
+ Successfully downloaded pif.json. Spoofing as %1$s for Play Integrity.
+ Failed to spoof properties.
+ Update Play Integrity fix
+ Update PIF spoofing device, requires internet connection.
+ Play Integrity fix properties
+ Show all currently set PIF properties
+ Error loading PIF properties
+ Select PIF JSON file
+ Choose the PIF JSON file to be used to spoof Play Integrity
+
+ Keybox attestation override
+ Load a custom keybox XML to override device key attestation
+ Custom keybox XML loaded. Delete to clear.
+ Clear keybox data
+ Not an XML file. Choose a valid keybox XML.
+ Invalid keybox XML: required fields missing
+ Keybox loaded
+ Keybox cleared
+
+ Color Picker
+ Press on color below to apply
+ Set
+ Accent color (Default)
+ Notification color
+ Wallpaper color
+ Rainbow gradient color
+ Custom color
+
+ Value: %s
+ by default
+ Default value: %s\nLong tap to set
+ Default value is set
+
+ Enable
+ Disable
+ Boot animation applied
+ Default
+ Top
+ Bottom
+
+ milliseconds
+ seconds
+
+ SystemUI restart required
+ For changes to take effect, a SystemUI restart is required. Restart SystemUI now?
+ Yes
+ Not now
+
+ Better landscape QS
+ Enable new experimental split shade quicksettings,\nbreaks landscape headsup notifications
+
+ Power menu style
+ Cyberpunk
+ Duoline
+ IOS
+ Layers
+
+ QS header clock style
+ Chip
+ Oxygen
+ Analog
+ Simple
+
+ Notification style
+ Cyberpunk
+ Duoline
+ Fluid (Transparent)
+ IOS
+ Layers
+
+ Progress bar style
+ Blocky thumb
+ Minimal thumb
+ Outline thumb
+ Shishu
+
+ Revamped AOSP UI style
+ Realme UI style
+ AOSP default style
+ Double layer style
+ Gradient style
+ Neumorph style
+ Neumorph outline style
+ Outline style
+ Shaded layer style
+ Volume panel styles
+
+ Wallpaper styles
+ Configure wallpaper styles and settings
+ Wallpaper blur
+ Enable or disable wallpaper blur effect
+ Wallpaper blur style
+ Wallpaper dim
+ Wallpaper dim level
+ Configure wallpaper dim level
+ Glass blur
+ Frosted blur
+ For wallpaper styles to work effectively, users must set the wallpapers for the lock screen and home screen at different times.\nThe same wallpaper can be used, but it should not be applied to both the lock screen and home screen at the same time.\nThis is optional when using the BOTH OPTION for wallpaper blur and dim styles.
+
+
+ Compact QS media player
+ Enable compact mode for QuickSettings media player
+
+ Select Depth wallpaper subject
+ Select depth wallpaper subject image from storage.
+ Depth wallpaper
+ Apply depth effect\nto wallpaper
+ Enable iOS-inspired depth wallpaper. Requires a subject image.
+ Depth wallpaper opacity
+ Depth wallpaper horizontal offset
+ Depth wallpaper vertical offset
+ The depth wallpaper feature, inspired by iOS\'s Wallpaper Subject Segmentation, enables overlaying of a subject above the lock screen clock to show a wallpaper depth effect.\n\nTo setup Depth Wallpaper Feature:\n1. Set a wallpaper with the subject or a background you want the subject to be above of.\n2. Select a subject image to track, this image will be overlaid above the lock screen clock.\n3. Modify the offsets and opacity according to your needs.
+
+
+ Media cover art
+ Display media cover art when available
+ Media cover art fade level
+ Set media cover art fade level
+
+ Media cover art filter
+ None
+ Grayscale
+ Accent tinted
+ Blur
+ Grayscale and blurred
+
+ Media art blur level
+ Blur intensity when blur filter is applied
+
+ System haptics
+ Modify system haptics intensities
+ Back gesture haptics intensity
+ Brightness slider haptics intensity
+ Edge scrolling haptics intensity
+ Volume slider haptics intensity
+ QS tile haptics intensity
+ Qs fling haptics intensity
+ Vibrate on touching QS tiles
+
+ Weather settings
+ Setup icon pack and weather service
+ Weather
+ Weather update
+ Display current weather update
+ Requires weather service to be enabled
+ Current location
+ Display current weather location
+ Current condition
+ Display current weather condition summary
+ Pixel style
+ Display weather as separate row
+
+ Always-On-Display
+ Pulse/Doze
+
+ AOD image
+ Select AOD image
+ Set custom AOD image
+ Select AOD image from gallery
+ Clock style not supported
+
+ QS widgets
+ Show widgets for quick access. \nLimits QS rows to 2 to avoid breaking AOSP QS Panel scrolling
+
+ Widgets
+ Enable lock screen widgets
+ Add widgets to lock screen
+ Device info widget
+ Show device info widget on lock screen
+ Big widgets
+ Big widget 1
+ Big widget 2
+ Mini widgets
+ Mini widget 1
+ Mini widget 2
+ Mini widget 3
+ Mini widget 4
+ Camera
+ Clock/Timer
+ Calculator
+ Gallery
+ Media Player
+ Torch
+ Play
+ Weather
+ Wifi
+ Data
+ Ringer
+ Bluetooth
+ Hotspot
+ Wallet
+
+ Lock screen widgets style
+ Material Rounded
+ Material Square
+ Translucent (Square)
+ Translucent (Rounded)
+ Translucent style widget transparency
+ Configure translucent style widget opacity level
+
+ Font Styles
+ Change system font style
+ The quick brown\nfox jumps over the\nlazy dog\n\nABCDEFGHIJKLM\nNOPQRSTUVWXYZ\nabcdefghijkl\nmnopqrstuvwxyz\n1234567890
+ Apply
+ Select font
+
+ Apply
+
+ Peek display
+ Enable minimal lock screen notification style
+ Peek display location
+ Peek display (bottom) top margin
+
+ Minimalist
+ Peek display style
+
+ Now bar
+ Enable now bar lock screen widgets
+ Now bar height
+ Adjust the height of the Now bar
+
+ Notification icons
+ Maximum notification icons visible on status bar
+
+ Statusbar action chip
+ Statusbar action chip options
+ Ongoing action chip
+ Show progress indicator in status bar for ongoing actions like downloads
+ Show media progress
+ \"Display media playback progress in the status bar
+ \"The status bar progress bar provides real-time updates for both media playback and active downloads/uploads.
+
+ - 🎵 Media Progress:
+ • Displays playback progress for music and video when media is playing.
+ • Single tap opens playback controls (Previous, Next track).
+ • Double tap toggles play/pause.
+ • Swipe left skips to the previous track.
+ • Swipe right skips to the next track.
+ • Long press opens the media app.
+
+ - 📥Download/Upload Progress:
+ • Shows progress for ongoing downloads and uploads.
+ • Automatically hides when no active transfers are detected.
+ • Single tap opens the app responsible for the download.
+
+ The progress bar dynamically switches between media and download states, ensuring you always have the most relevant information at a glance.\"
+
+ Compact Progress Indicator
+ Use a compact circular indicator for ongoing actions
+
+ Show squiggle animation
+ Show media panel squiggle animation\nAfter change need to switch music, pause music or move the progress bar to apply
+
+ Expressive Design
+ Enable Expressive Design preview
+
+ AOD wallpaper
+ Show wallpaper when aod on
+
+ Battery bar
+ Display and customize battery bar above status bar
+ Color
+ Charging color
+ Low battery color
+ Alignment
+ Thickness
+ Charging animation
+ Regular
+ Center-mirrored
+ Reversed
+ Custom charging color
+ Blend colors
+ Blend full/empty colors corresponding to battery percentage
+ Reverse color direction
+ Full → empty: red ← green ← blue ← red
+ Full → empty: red → green → blue → red
+ Use gradient color
+ Use gradient color as a scale for the battery level
+ High level color\"
+ Low level color\"
+ Charging animation color
+
+ Keyguard affordance single tap
+ Toggle keyguard affordances with a single tap
+
+ QuickSwitch
+ Customize default homescreen app
+ Nothing launcher customizations
+ Customize nothing launcher homescreen app
+ QuickSwitch is not supported; the system only has one launcher.
+ Notes: \n\n
+ 1. Due to compatibility issues with current Android API, the Lawnchair Launcher uses the Mist Launcher recents overview and will override any third-party launchers when set as the active QuickSwitch launcher. For better compatibility with third-party launchers, consider setting the QuickSwitch launcher to Mist or Pixel Launcher instead.\n\n
+ 2. External launcher modules/modifications must be adapted to the QuickSwitch structure to function properly.
+
+
+ Default
+ Color
+ Default (White)
+ Accent
+ Custom
+
+ Transient task mode
+ Transient task mode (Reboot your device to apply changes)
+ Dismiss apps from recents when last activity gets closed using back button.
+ Disable (Default)
+ Enable (Some apps will stay)
+ Force (Override app behaviour)
+
+ Small landscape notifications
+ Shows notifications smaller in width in notification panel in landscape mode just as AOSP intended
+
+ Island notification
+ Display heads-up notification in Dynamic Island style
+ The Island notification feature, inspired by iOS\'s Dynamic Island, transforms Android\'s heads-up notifications into quick-access and compact notification utility.\n\nIsland Quick Access Controls includes the following features:\n1. Tap island notification to quick answer phone calls.\n2. Long press island notification to reject phone calls.\n3. Long press island notification to expand the island notification preview.
+
+
diff --git a/res/values-bn-rIN/mist_strings.xml b/res/values-bn-rIN/mist_strings.xml
new file mode 100644
index 00000000..3cdd1b6a
--- /dev/null
+++ b/res/values-bn-rIN/mist_strings.xml
@@ -0,0 +1,895 @@
+
+
+
+
+ Settings dashboard style
+ The style of Settings main page
+ AOSP legacy
+ AOSP revamped
+ Mist Ui
+ Settings Ui
+ Change the Setting Ui
+ System Ui
+
+ Mistify Tweek
+ Magic Happen Here!!
+
+ Themes
+ Monet, fonts, icons
+ Lock screen
+ Interface, miscellaneous
+ Status bar
+ Gestures, Icons, privacy indicators
+ Quick settings
+ Interface, lock screen
+ Notifications
+ Alerts, interface
+ Power menu
+ Actions, lock screen
+ Buttons
+ Power button, volume buttons
+ Miscellaneous
+ Developer options, spoofing
+ About
+ About MistOS
+
+ General
+ Monet
+ Monet settings
+ Customize Android\'s built-in theme engine
+ Audio
+ Lock sound
+ Unlock sound
+ Fonts
+ System font
+ Set system font style
+ Lock screen clock font
+ Set lock screen clock font style
+ Icons
+ System Icons
+ Set system icon style
+ Icon shape
+ Set system icon shape
+ Signal icon
+ Set signal icon style
+ Wi-Fi icon
+ Set Wi-Fi icon style
+ Navigation bar icons
+ Set navigation bar icon style
+ UDFPS icon
+ Set UDFPS icon style
+ Brightness slider
+ Brightness slider style
+ Set brightness slider style
+ Animations
+ Boot animation
+ Set boot animation style
+ Charging animation
+ Display an animation when the device is plugged in
+ Screen off animation
+ CRT
+ Scale
+ UDFPS animation
+ Set UDFPS animation style
+ Pixel Launcher
+ Background blur
+ Enable blur effect for recent items page background
+ More themed icons
+ Extends support for dynamic color themed icons for installed apps
+ Font style
+ Set system font style
+ Icon pack
+ Set custom icon pack style
+ Icon shape
+ Set system icon shape style
+ Signal icon style
+ Set custom signal icon style
+ WiFi icon style
+ Set custom wifi icon style
+ Navbar style
+ Set custom navigation bar style
+ Clock font style
+ Set lockscreen clock font style
+ Brightness slider style
+ Set custom brightness slider style
+
+ Preview of the selected boot animation
+ Displays a preview of the currently selected boot animation
+ Boot animation preview
+
+ Accent color
+ Choose custom color for accent
+ Background color
+ Choose custom color for background
+ Custom color
+ Luminance
+ Higher values produce brighter colors
+ Chroma factor
+ Higher values produce stronger colors
+ Whole palette
+ Make Luminance and Chroma selection affect secondary colors as well
+ Tint background
+ Make luminance and chroma selection affect background colors as well
+ Theme style
+ Tonal Spot (Default)
+ Vibrant
+ Expressive
+ Spritz
+ Rainbow
+ Fruit Salad
+ Content
+ Monochromatic
+ Color source
+ Both (Default)
+ Home wallpaper
+ Lock wallpaper
+ Preset
+
+ Interface
+ Charging stats
+ Display current, voltage, wattage, and temperature stats while charging
+ Fingerprint
+ Ripple animation
+ Show ripple animation when unlocked with fingerprint
+ Screen-Off UDFPS
+ Keep UDFPS enabled while the screen is off
+ Authentication success vibration
+ Vibrate when fingerprint authentication is successful
+ Authentication error vibration
+ Vibrate when fingerprint authentication fails
+ Miscellaneous
+ Pocket detection
+ Block screen and button inputs when device is in pocket
+ Always on Pocket mode
+ Always block screen and button inputs when screen is turned on
+
+ About Pulse
+ Pulse is a brilliant audio graphic equalizer when music plays on the device
+ Pulse
+ Audio graphic equalizer for navigation bar and lock screen
+ Navbar pulse
+ Audio graphic equalizer on the navigation bar
+ Lock screen pulse
+ Audio graphic equalizer on the lock screen
+ Ambient pulse
+ Audio graphic equalizer on the ambient screen
+ Render mode
+ Fading blocks
+ Solid lines
+ Fading blocks mode settings
+ Sanity level
+ Lava lamp speed
+ Rounded corners
+ Solid lines with rounded tip
+ Solid lines count
+ Solid lines opacity
+ Solid lines mode settings
+ Color
+ Accent
+ Custom
+ Lava lamp
+ Choose color
+ Turn on smoothing
+ Each bar is animated more smoothly
+ Bar width
+ Bar spacing
+ Block size
+ Block spacing
+
+ Swipe left or right to preview clock styles
+
+ Selected clock does not support custom fonts
+
+ Clock
+ Configure lock screen clock styles
+ Custom Clock Style
+ Clock face
+ Modify lock screen clock appearance
+
+ Gestures
+ Brightness control
+ Adjust brightness by swiping across the status bar
+ Quick pull down
+ %1$s of the status bar pulls down quick settings
+ Off
+ Right side
+ Left side
+ Both sides
+ Icons
+ Status bar tuner
+ Choose which system icons can be shown
+ Battery style
+ Icon portrait
+ Icon landscape (Right)
+ Icon landscape (Left)
+ Landscape Capsule
+ Landscape Lorn
+ Portrait IOS
+ Portrait Mx
+ Landscape Airoo
+ Landscape R Style A
+ Landscape L Style A
+ Landscape R Style B
+ Landscape L Style B
+ Landscape iOS 15
+ Landscape iOS 16
+ Landscape Origami
+ Landscape OneUI 7
+ Circle
+ Dotted circle
+ Filled circle
+ Big circle
+ Big dotted circle
+ Text
+ Hidden
+ Follow status bar style
+ Battery percent
+ Hidden
+ Inside the icon
+ Next to the icon (right)
+ Next to the icon (left)
+ Battery percentage when charging
+ Always display battery percentage when charging
+ Clock & date
+ Customize clock & date
+ Data disabled indicator
+ Display an indicator next to signal icon when data is disabled
+ 4G icon
+ Replace \'LTE\' icon with \'4G\'
+ Wi-Fi standard
+ Display Wi-Fi standard next the Wi-Fi icon
+ Bluetooth battery status
+ Display battery status for the connected Bluetooth device, if available
+ Colored icons
+ Use launcher icons for app notifications
+ Logo
+ Display a custom logo on the status bar
+ Logo position
+ Left side
+ Right side
+ Logo style
+ MistOS
+ Android
+ Adidas
+ Alien
+ Apple
+ Avengers
+ Batman
+ Batman The Dark Knight
+ Beats
+ Biohazard
+ BlackBerry
+ Cannabis
+ Emoticon cool
+ Emoticon devil
+ Fire
+ Heart
+ Nike
+ Pac-man
+ Puma
+ ROG
+ Spider-Man
+ Superman
+ Windows
+ Xbox
+ Ghost
+ Ninja
+ Robot
+ Iron Man
+ Captain America
+ Flash
+ Tux
+ Ubuntu
+ Linux Mint
+ Amogus
+ Network traffic monitor
+ Display and customize current network traffic levels
+ Notification count
+ Display the number of unread notifications on each app icon
+ Privacy indicators
+ Microphone & camera
+ Display an indicator when an app accesses the microphone or camera
+ Location
+ Display an indicator when an app accesses your location
+ Screen projection
+ Display an indicator when the screen is being projected
+ Carrier name on lock screen
+ Display carrier name on lock screen status bar
+ Status bar lyric
+ Show lyric in status bar (need app support)
+ Options
+ Disguise device for music apps
+ Disguise device in some music applications for support status bar lyric. After changing this toggle, you have to restart applications for the change to take effect.
+
+ Clock position
+ Right
+ Left
+ Center
+ Hidden
+ Clock seconds
+ Display seconds next to clock in status bar
+ Auto hide at intervals
+ Hide clock at specific time based intervals
+ Hide duration
+ Number of seconds to hide clock
+ Show duration
+ Number of seconds to wait before hiding clock
+ Auto hide on launcher
+ Hide clock if launcher is visible
+ Background chip
+ Display accented chip behind clock
+ Solid color accent
+ Outline
+ Solid color accent gradient
+ Solid Gradient side
+ Solid accent gradient sharp
+ Gradient Void
+ Neumorph gradient
+ Sharp gradient stroke
+ Accent transperent
+ Gradient light
+ Sharp gradient corner
+ Gradient Void light
+ AM/PM style
+ 24-hour clock is enabled
+ Normal
+ Small
+ Hidden
+ Date
+ Hidden
+ Small
+ Normal
+ Date format
+ Date style
+ Normal
+ Lowercase
+ Uppercase
+ Custom java format
+ Must be in DateFormat eg. MM/dd/yy
+ Enter string
+ Date position
+ Right of time
+ Left of time
+
+ Location
+ Disabled
+ Statusbar
+ Quick Statusbar
+ Display mode
+ Upload only
+ Download only
+ Upload and download
+ Auto hide
+ Hide the traffic monitor when inactive
+ Inactivity threshold
+ Refresh interval
+ Duration after which speed is remeasured
+ Traffic measurement units
+ Bits per second (b/s)
+ Kilobits per second (kb/s)
+ Megabits per second (Mb/s)
+ Bytes per second (B/s)
+ Kilobytes per second (kB/s)
+ Megabytes per second (MB/s)
+ Hide arrows
+ Hide the network traffic indicator arrows
+
+ Interface
+ QS tiles style
+ Circle tiles
+ Square tiles
+ Circle & Square tiles
+ QS panel style
+ Outline
+ Two-Tone accent
+ Color pop
+ Shaded
+ Cyberpunk
+ Neumorph
+ Reflected
+ Surround
+ ThinLine
+ Hide label
+ Label text size
+ Only show icon in tile
+ Vertical layout
+ Show label below icon instead next to icon
+ Columns & rows
+ Customize QS columns and rows
+ QS rows should be equal or greater than QQS rows. Use higher number of columns for circle / square (A11) QS tile style.
+ Columns (portrait)
+ Columns (landscape)
+ Rows (portrait)
+ Rows (landscape)
+ Quick QS Rows (portrait)
+ Quick QS Rows (landscape)
+ Brightness slider
+ Brightness slider
+ Never show
+ Only show when expanded
+ Always show
+ Brightness percentage
+ Show brightness percentage text along with the slider
+ Brightness slider position
+ Top
+ Bottom
+ Auto brightness icon
+ Show icon toggle for adaptive brightness next to the slider
+ Haptic feedback
+ Provide haptic feedback on changing brightness using slider
+ Animations
+ Tiles animation style
+ Animation duration
+ Animation interpolator
+ No animation
+ Rotate
+ Flip X
+ Flip Y
+ Linear
+ Accelerate
+ Decelerate
+ Accelerate decelerate
+ Bounce
+ Overshoot
+ Anticipate
+ Anticipate overshoot
+ Data usage
+ Display data usage summary in quick settings footer
+ Lock screen
+ Swipe down on LS to view QS
+ Hide all quick settings in the notification shade while the device is locked
+ Secure QS tiles require unlock
+ The following quick settings require the device to be unlocked before you can interact with them:\nAirplane, Battery saver, Bluetooth, Cellular, Data saver, Hotspot, Internet, NFC, Rotation lock, and Wi-Fi
+ Miscellaneous
+ Bluetooth tile dialog
+ Show bluetooth dialog or toggle bluetooth state on tapping bluetooth tile
+ QS header image
+ Select QS background header image
+ Header image collection
+ Header image shadow
+ For better visibility on bright images
+ Static image
+ Image collection
+ Custom image
+ Header provider
+ Browse installed headers
+ Browse all available header collections
+ Select header image
+ Select an image to use for static mode
+ Select image
+ Select custom image
+ You must install a gallery app!
+ Header image offset
+ Adjust the image header size
+ Background transparency
+ Set transparency level for QS background
+ QS tiles shape
+ Dynamic
+ Circle
+ Rounded square
+ Square
+
+ Heads up
+ Allow pop up notifications
+ Interface
+ Edge light
+ Light up the side edges of the screen on notification pulse
+ Kill app
+ Show a kill app button in the notification\'s longpress menu
+ Sounds & vibration
+ Alert while display on
+ Play sound and vibration for notifications while the display is on
+
+ Alert slider notifications
+ Display notification when changing alert slider position
+
+ Compact heads-up
+ Display notifications in compact size
+
+ Always trigger on pulse
+ Whether to show edge light whenever ambient display is shown and not just for notifications
+ Repeat animation
+ Repeat until timeout
+ Show only once
+ Edge light color mode
+ Edge light style
+ Edge light stroke width
+ Configure edge light thickness
+ Draw Line
+ Blink/Pulse
+
+ Less boring
+ Display popup notifications only for alarm, dialer and messaging app
+
+ Interface
+ Power menu actions
+ Choose which actions are displayed
+ Lock screen
+ Show on secure lock screen
+ Show the power menu while the device is locked
+
+ Advanced reboot
+ Screenshot
+ On-The-Go mode
+ Airplane
+ Flashlight
+ Settings
+ Lockdown
+ Lockdown is disabled as keyguard isn\'t secure
+ Sound panel
+ Users
+ Logout
+ Emergency
+ Device controls
+
+ Spoofing
+ Developer options
+ Allow application downgrade
+ Allow downgrading system applications, which may result in crashes and data loss
+ Ignore wallpaper dimming requests
+ Blocks all apps from setting the wallpaper dim\nForces dim to 0
+ Ignore window secure flags
+ Remove restrictions on screenshots and screen recordings for all applications, potentially risking privacy leaks
+ Unlimit screenrecord
+ Remove the 15GiB file size limit\nMay result in a larger than needed output file
+
+ Hide applist
+ Prevent apps from checking selected apps from appslist
+ Show overlay
+ Hide overlay
+
+ Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen
+ Smart Pixels
+ Save battery by shutting off extra pixels
+ Auto-enable on battery saver
+ Enable Smart Pixels when battery saver is enabled
+ Percent of pixels to disable
+ Burn-in protection
+ Prevents burn-in on OLED devices by shifting pixels every so often
+
+ Component spoofing
+ Bypass app restrictions by spoofing components
+ System-Wide
+ Pixel props
+ Spoof a select group of Google apps to the latest Pixel device
+ Spoof tensor features
+ Unlock tensor/pixel features
+ Play Integrity fix
+ Spoof your device to pass Google Play Attestation
+ Storage encryption
+ Spoof the device storage encryption status to \'Encrypted\'
+ App-Specific
+ Google app
+ Spoof the Google app to the latest Pixel device to unlock exclusive features
+ Play Store
+ Spoof the Play Store to the latest Pixel device
+ Google Photos
+ Spoof the Google Photos app as a Pixel XL
+ Snapchat
+ Spoof Snapchat as a Pixel XL to fix possible chat issues
+ Enable Game Props spoofing
+ Spoof your device as different model for specific games to unlock higher FPS
+ Select Game Props JSON File
+ Pick Game Props JSON file to be used for spoofing games
+ Netflix
+ Spoof your device as different model for Netflix
+
+ Successfully downloaded pif.json. Spoofing as %1$s for Play Integrity.
+ Failed to spoof properties.
+ Update Play Integrity fix
+ Update PIF spoofing device, requires internet connection.
+ Play Integrity fix properties
+ Show all currently set PIF properties
+ Error loading PIF properties
+ Select PIF JSON file
+ Choose the PIF JSON file to be used to spoof Play Integrity
+
+ Keybox attestation override
+ Load a custom keybox XML to override device key attestation
+ Custom keybox XML loaded. Delete to clear.
+ Clear keybox data
+ Not an XML file. Choose a valid keybox XML.
+ Invalid keybox XML: required fields missing
+ Keybox loaded
+ Keybox cleared
+
+ Color Picker
+ Press on color below to apply
+ Set
+ Accent color (Default)
+ Notification color
+ Wallpaper color
+ Rainbow gradient color
+ Custom color
+
+ Value: %s
+ by default
+ Default value: %s\nLong tap to set
+ Default value is set
+
+ Enable
+ Disable
+ Boot animation applied
+ Default
+ Top
+ Bottom
+
+ milliseconds
+ seconds
+
+ SystemUI restart required
+ For changes to take effect, a SystemUI restart is required. Restart SystemUI now?
+ Yes
+ Not now
+
+ Better landscape QS
+ Enable new experimental split shade quicksettings,\nbreaks landscape headsup notifications
+
+ Power menu style
+ Cyberpunk
+ Duoline
+ IOS
+ Layers
+
+ QS header clock style
+ Chip
+ Oxygen
+ Analog
+ Simple
+
+ Notification style
+ Cyberpunk
+ Duoline
+ Fluid (Transparent)
+ IOS
+ Layers
+
+ Progress bar style
+ Blocky thumb
+ Minimal thumb
+ Outline thumb
+ Shishu
+
+ Revamped AOSP UI style
+ Realme UI style
+ AOSP default style
+ Double layer style
+ Gradient style
+ Neumorph style
+ Neumorph outline style
+ Outline style
+ Shaded layer style
+ Volume panel styles
+
+ Wallpaper styles
+ Configure wallpaper styles and settings
+ Wallpaper blur
+ Enable or disable wallpaper blur effect
+ Wallpaper blur style
+ Wallpaper dim
+ Wallpaper dim level
+ Configure wallpaper dim level
+ Glass blur
+ Frosted blur
+ For wallpaper styles to work effectively, users must set the wallpapers for the lock screen and home screen at different times.\nThe same wallpaper can be used, but it should not be applied to both the lock screen and home screen at the same time.\nThis is optional when using the BOTH OPTION for wallpaper blur and dim styles.
+
+
+ Compact QS media player
+ Enable compact mode for QuickSettings media player
+
+ Select Depth wallpaper subject
+ Select depth wallpaper subject image from storage.
+ Depth wallpaper
+ Apply depth effect\nto wallpaper
+ Enable iOS-inspired depth wallpaper. Requires a subject image.
+ Depth wallpaper opacity
+ Depth wallpaper horizontal offset
+ Depth wallpaper vertical offset
+ The depth wallpaper feature, inspired by iOS\'s Wallpaper Subject Segmentation, enables overlaying of a subject above the lock screen clock to show a wallpaper depth effect.\n\nTo setup Depth Wallpaper Feature:\n1. Set a wallpaper with the subject or a background you want the subject to be above of.\n2. Select a subject image to track, this image will be overlaid above the lock screen clock.\n3. Modify the offsets and opacity according to your needs.
+
+
+ Media cover art
+ Display media cover art when available
+ Media cover art fade level
+ Set media cover art fade level
+
+ Media cover art filter
+ None
+ Grayscale
+ Accent tinted
+ Blur
+ Grayscale and blurred
+
+ Media art blur level
+ Blur intensity when blur filter is applied
+
+ System haptics
+ Modify system haptics intensities
+ Back gesture haptics intensity
+ Brightness slider haptics intensity
+ Edge scrolling haptics intensity
+ Volume slider haptics intensity
+ QS tile haptics intensity
+ Qs fling haptics intensity
+ Vibrate on touching QS tiles
+
+ Weather settings
+ Setup icon pack and weather service
+ Weather
+ Weather update
+ Display current weather update
+ Requires weather service to be enabled
+ Current location
+ Display current weather location
+ Current condition
+ Display current weather condition summary
+ Pixel style
+ Display weather as separate row
+
+ Always-On-Display
+ Pulse/Doze
+
+ AOD image
+ Select AOD image
+ Set custom AOD image
+ Select AOD image from gallery
+ Clock style not supported
+
+ QS widgets
+ Show widgets for quick access. \nLimits QS rows to 2 to avoid breaking AOSP QS Panel scrolling
+
+ Widgets
+ Enable lock screen widgets
+ Add widgets to lock screen
+ Device info widget
+ Show device info widget on lock screen
+ Big widgets
+ Big widget 1
+ Big widget 2
+ Mini widgets
+ Mini widget 1
+ Mini widget 2
+ Mini widget 3
+ Mini widget 4
+ Camera
+ Clock/Timer
+ Calculator
+ Gallery
+ Media Player
+ Torch
+ Play
+ Weather
+ Wifi
+ Data
+ Ringer
+ Bluetooth
+ Hotspot
+ Wallet
+
+ Lock screen widgets style
+ Material Rounded
+ Material Square
+ Translucent (Square)
+ Translucent (Rounded)
+ Translucent style widget transparency
+ Configure translucent style widget opacity level
+
+ Font Styles
+ Change system font style
+ The quick brown\nfox jumps over the\nlazy dog\n\nABCDEFGHIJKLM\nNOPQRSTUVWXYZ\nabcdefghijkl\nmnopqrstuvwxyz\n1234567890
+ Apply
+ Select font
+
+ Apply
+
+ Peek display
+ Enable minimal lock screen notification style
+ Peek display location
+ Peek display (bottom) top margin
+
+ Minimalist
+ Peek display style
+
+ Now bar
+ Enable now bar lock screen widgets
+ Now bar height
+ Adjust the height of the Now bar
+
+ Notification icons
+ Maximum notification icons visible on status bar
+
+ Statusbar action chip
+ Statusbar action chip options
+ Ongoing action chip
+ Show progress indicator in status bar for ongoing actions like downloads
+ Show media progress
+ \"Display media playback progress in the status bar
+ \"The status bar progress bar provides real-time updates for both media playback and active downloads/uploads.
+
+ - 🎵 Media Progress:
+ • Displays playback progress for music and video when media is playing.
+ • Single tap opens playback controls (Previous, Next track).
+ • Double tap toggles play/pause.
+ • Swipe left skips to the previous track.
+ • Swipe right skips to the next track.
+ • Long press opens the media app.
+
+ - 📥Download/Upload Progress:
+ • Shows progress for ongoing downloads and uploads.
+ • Automatically hides when no active transfers are detected.
+ • Single tap opens the app responsible for the download.
+
+ The progress bar dynamically switches between media and download states, ensuring you always have the most relevant information at a glance.\"
+
+ Compact Progress Indicator
+ Use a compact circular indicator for ongoing actions
+
+ Show squiggle animation
+ Show media panel squiggle animation\nAfter change need to switch music, pause music or move the progress bar to apply
+
+ Expressive Design
+ Enable Expressive Design preview
+
+ AOD wallpaper
+ Show wallpaper when aod on
+
+ Battery bar
+ Display and customize battery bar above status bar
+ Color
+ Charging color
+ Low battery color
+ Alignment
+ Thickness
+ Charging animation
+ Regular
+ Center-mirrored
+ Reversed
+ Custom charging color
+ Blend colors
+ Blend full/empty colors corresponding to battery percentage
+ Reverse color direction
+ Full → empty: red ← green ← blue ← red
+ Full → empty: red → green → blue → red
+ Use gradient color
+ Use gradient color as a scale for the battery level
+ High level color\"
+ Low level color\"
+ Charging animation color
+
+ Keyguard affordance single tap
+ Toggle keyguard affordances with a single tap
+
+ QuickSwitch
+ Customize default homescreen app
+ Nothing launcher customizations
+ Customize nothing launcher homescreen app
+ QuickSwitch is not supported; the system only has one launcher.
+ Notes: \n\n
+ 1. Due to compatibility issues with current Android API, the Lawnchair Launcher uses the Mist Launcher recents overview and will override any third-party launchers when set as the active QuickSwitch launcher. For better compatibility with third-party launchers, consider setting the QuickSwitch launcher to Mist or Pixel Launcher instead.\n\n
+ 2. External launcher modules/modifications must be adapted to the QuickSwitch structure to function properly.
+
+
+ Default
+ Color
+ Default (White)
+ Accent
+ Custom
+
+ Transient task mode
+ Transient task mode (Reboot your device to apply changes)
+ Dismiss apps from recents when last activity gets closed using back button.
+ Disable (Default)
+ Enable (Some apps will stay)
+ Force (Override app behaviour)
+
+ Small landscape notifications
+ Shows notifications smaller in width in notification panel in landscape mode just as AOSP intended
+
+ Island notification
+ Display heads-up notification in Dynamic Island style
+ The Island notification feature, inspired by iOS\'s Dynamic Island, transforms Android\'s heads-up notifications into quick-access and compact notification utility.\n\nIsland Quick Access Controls includes the following features:\n1. Tap island notification to quick answer phone calls.\n2. Long press island notification to reject phone calls.\n3. Long press island notification to expand the island notification preview.
+
+
diff --git a/res/values-de-rDE/mist_strings.xml b/res/values-de-rDE/mist_strings.xml
new file mode 100644
index 00000000..3cdd1b6a
--- /dev/null
+++ b/res/values-de-rDE/mist_strings.xml
@@ -0,0 +1,895 @@
+
+
+
+
+ Settings dashboard style
+ The style of Settings main page
+ AOSP legacy
+ AOSP revamped
+ Mist Ui
+ Settings Ui
+ Change the Setting Ui
+ System Ui
+
+ Mistify Tweek
+ Magic Happen Here!!
+
+ Themes
+ Monet, fonts, icons
+ Lock screen
+ Interface, miscellaneous
+ Status bar
+ Gestures, Icons, privacy indicators
+ Quick settings
+ Interface, lock screen
+ Notifications
+ Alerts, interface
+ Power menu
+ Actions, lock screen
+ Buttons
+ Power button, volume buttons
+ Miscellaneous
+ Developer options, spoofing
+ About
+ About MistOS
+
+ General
+ Monet
+ Monet settings
+ Customize Android\'s built-in theme engine
+ Audio
+ Lock sound
+ Unlock sound
+ Fonts
+ System font
+ Set system font style
+ Lock screen clock font
+ Set lock screen clock font style
+ Icons
+ System Icons
+ Set system icon style
+ Icon shape
+ Set system icon shape
+ Signal icon
+ Set signal icon style
+ Wi-Fi icon
+ Set Wi-Fi icon style
+ Navigation bar icons
+ Set navigation bar icon style
+ UDFPS icon
+ Set UDFPS icon style
+ Brightness slider
+ Brightness slider style
+ Set brightness slider style
+ Animations
+ Boot animation
+ Set boot animation style
+ Charging animation
+ Display an animation when the device is plugged in
+ Screen off animation
+ CRT
+ Scale
+ UDFPS animation
+ Set UDFPS animation style
+ Pixel Launcher
+ Background blur
+ Enable blur effect for recent items page background
+ More themed icons
+ Extends support for dynamic color themed icons for installed apps
+ Font style
+ Set system font style
+ Icon pack
+ Set custom icon pack style
+ Icon shape
+ Set system icon shape style
+ Signal icon style
+ Set custom signal icon style
+ WiFi icon style
+ Set custom wifi icon style
+ Navbar style
+ Set custom navigation bar style
+ Clock font style
+ Set lockscreen clock font style
+ Brightness slider style
+ Set custom brightness slider style
+
+ Preview of the selected boot animation
+ Displays a preview of the currently selected boot animation
+ Boot animation preview
+
+ Accent color
+ Choose custom color for accent
+ Background color
+ Choose custom color for background
+ Custom color
+ Luminance
+ Higher values produce brighter colors
+ Chroma factor
+ Higher values produce stronger colors
+ Whole palette
+ Make Luminance and Chroma selection affect secondary colors as well
+ Tint background
+ Make luminance and chroma selection affect background colors as well
+ Theme style
+ Tonal Spot (Default)
+ Vibrant
+ Expressive
+ Spritz
+ Rainbow
+ Fruit Salad
+ Content
+ Monochromatic
+ Color source
+ Both (Default)
+ Home wallpaper
+ Lock wallpaper
+ Preset
+
+ Interface
+ Charging stats
+ Display current, voltage, wattage, and temperature stats while charging
+ Fingerprint
+ Ripple animation
+ Show ripple animation when unlocked with fingerprint
+ Screen-Off UDFPS
+ Keep UDFPS enabled while the screen is off
+ Authentication success vibration
+ Vibrate when fingerprint authentication is successful
+ Authentication error vibration
+ Vibrate when fingerprint authentication fails
+ Miscellaneous
+ Pocket detection
+ Block screen and button inputs when device is in pocket
+ Always on Pocket mode
+ Always block screen and button inputs when screen is turned on
+
+ About Pulse
+ Pulse is a brilliant audio graphic equalizer when music plays on the device
+ Pulse
+ Audio graphic equalizer for navigation bar and lock screen
+ Navbar pulse
+ Audio graphic equalizer on the navigation bar
+ Lock screen pulse
+ Audio graphic equalizer on the lock screen
+ Ambient pulse
+ Audio graphic equalizer on the ambient screen
+ Render mode
+ Fading blocks
+ Solid lines
+ Fading blocks mode settings
+ Sanity level
+ Lava lamp speed
+ Rounded corners
+ Solid lines with rounded tip
+ Solid lines count
+ Solid lines opacity
+ Solid lines mode settings
+ Color
+ Accent
+ Custom
+ Lava lamp
+ Choose color
+ Turn on smoothing
+ Each bar is animated more smoothly
+ Bar width
+ Bar spacing
+ Block size
+ Block spacing
+
+ Swipe left or right to preview clock styles
+
+ Selected clock does not support custom fonts
+
+ Clock
+ Configure lock screen clock styles
+ Custom Clock Style
+ Clock face
+ Modify lock screen clock appearance
+
+ Gestures
+ Brightness control
+ Adjust brightness by swiping across the status bar
+ Quick pull down
+ %1$s of the status bar pulls down quick settings
+ Off
+ Right side
+ Left side
+ Both sides
+ Icons
+ Status bar tuner
+ Choose which system icons can be shown
+ Battery style
+ Icon portrait
+ Icon landscape (Right)
+ Icon landscape (Left)
+ Landscape Capsule
+ Landscape Lorn
+ Portrait IOS
+ Portrait Mx
+ Landscape Airoo
+ Landscape R Style A
+ Landscape L Style A
+ Landscape R Style B
+ Landscape L Style B
+ Landscape iOS 15
+ Landscape iOS 16
+ Landscape Origami
+ Landscape OneUI 7
+ Circle
+ Dotted circle
+ Filled circle
+ Big circle
+ Big dotted circle
+ Text
+ Hidden
+ Follow status bar style
+ Battery percent
+ Hidden
+ Inside the icon
+ Next to the icon (right)
+ Next to the icon (left)
+ Battery percentage when charging
+ Always display battery percentage when charging
+ Clock & date
+ Customize clock & date
+ Data disabled indicator
+ Display an indicator next to signal icon when data is disabled
+ 4G icon
+ Replace \'LTE\' icon with \'4G\'
+ Wi-Fi standard
+ Display Wi-Fi standard next the Wi-Fi icon
+ Bluetooth battery status
+ Display battery status for the connected Bluetooth device, if available
+ Colored icons
+ Use launcher icons for app notifications
+ Logo
+ Display a custom logo on the status bar
+ Logo position
+ Left side
+ Right side
+ Logo style
+ MistOS
+ Android
+ Adidas
+ Alien
+ Apple
+ Avengers
+ Batman
+ Batman The Dark Knight
+ Beats
+ Biohazard
+ BlackBerry
+ Cannabis
+ Emoticon cool
+ Emoticon devil
+ Fire
+ Heart
+ Nike
+ Pac-man
+ Puma
+ ROG
+ Spider-Man
+ Superman
+ Windows
+ Xbox
+ Ghost
+ Ninja
+ Robot
+ Iron Man
+ Captain America
+ Flash
+ Tux
+ Ubuntu
+ Linux Mint
+ Amogus
+ Network traffic monitor
+ Display and customize current network traffic levels
+ Notification count
+ Display the number of unread notifications on each app icon
+ Privacy indicators
+ Microphone & camera
+ Display an indicator when an app accesses the microphone or camera
+ Location
+ Display an indicator when an app accesses your location
+ Screen projection
+ Display an indicator when the screen is being projected
+ Carrier name on lock screen
+ Display carrier name on lock screen status bar
+ Status bar lyric
+ Show lyric in status bar (need app support)
+ Options
+ Disguise device for music apps
+ Disguise device in some music applications for support status bar lyric. After changing this toggle, you have to restart applications for the change to take effect.
+
+ Clock position
+ Right
+ Left
+ Center
+ Hidden
+ Clock seconds
+ Display seconds next to clock in status bar
+ Auto hide at intervals
+ Hide clock at specific time based intervals
+ Hide duration
+ Number of seconds to hide clock
+ Show duration
+ Number of seconds to wait before hiding clock
+ Auto hide on launcher
+ Hide clock if launcher is visible
+ Background chip
+ Display accented chip behind clock
+ Solid color accent
+ Outline
+ Solid color accent gradient
+ Solid Gradient side
+ Solid accent gradient sharp
+ Gradient Void
+ Neumorph gradient
+ Sharp gradient stroke
+ Accent transperent
+ Gradient light
+ Sharp gradient corner
+ Gradient Void light
+ AM/PM style
+ 24-hour clock is enabled
+ Normal
+ Small
+ Hidden
+ Date
+ Hidden
+ Small
+ Normal
+ Date format
+ Date style
+ Normal
+ Lowercase
+ Uppercase
+ Custom java format
+ Must be in DateFormat eg. MM/dd/yy
+ Enter string
+ Date position
+ Right of time
+ Left of time
+
+ Location
+ Disabled
+ Statusbar
+ Quick Statusbar
+ Display mode
+ Upload only
+ Download only
+ Upload and download
+ Auto hide
+ Hide the traffic monitor when inactive
+ Inactivity threshold
+ Refresh interval
+ Duration after which speed is remeasured
+ Traffic measurement units
+ Bits per second (b/s)
+ Kilobits per second (kb/s)
+ Megabits per second (Mb/s)
+ Bytes per second (B/s)
+ Kilobytes per second (kB/s)
+ Megabytes per second (MB/s)
+ Hide arrows
+ Hide the network traffic indicator arrows
+
+ Interface
+ QS tiles style
+ Circle tiles
+ Square tiles
+ Circle & Square tiles
+ QS panel style
+ Outline
+ Two-Tone accent
+ Color pop
+ Shaded
+ Cyberpunk
+ Neumorph
+ Reflected
+ Surround
+ ThinLine
+ Hide label
+ Label text size
+ Only show icon in tile
+ Vertical layout
+ Show label below icon instead next to icon
+ Columns & rows
+ Customize QS columns and rows
+ QS rows should be equal or greater than QQS rows. Use higher number of columns for circle / square (A11) QS tile style.
+ Columns (portrait)
+ Columns (landscape)
+ Rows (portrait)
+ Rows (landscape)
+ Quick QS Rows (portrait)
+ Quick QS Rows (landscape)
+ Brightness slider
+ Brightness slider
+ Never show
+ Only show when expanded
+ Always show
+ Brightness percentage
+ Show brightness percentage text along with the slider
+ Brightness slider position
+ Top
+ Bottom
+ Auto brightness icon
+ Show icon toggle for adaptive brightness next to the slider
+ Haptic feedback
+ Provide haptic feedback on changing brightness using slider
+ Animations
+ Tiles animation style
+ Animation duration
+ Animation interpolator
+ No animation
+ Rotate
+ Flip X
+ Flip Y
+ Linear
+ Accelerate
+ Decelerate
+ Accelerate decelerate
+ Bounce
+ Overshoot
+ Anticipate
+ Anticipate overshoot
+ Data usage
+ Display data usage summary in quick settings footer
+ Lock screen
+ Swipe down on LS to view QS
+ Hide all quick settings in the notification shade while the device is locked
+ Secure QS tiles require unlock
+ The following quick settings require the device to be unlocked before you can interact with them:\nAirplane, Battery saver, Bluetooth, Cellular, Data saver, Hotspot, Internet, NFC, Rotation lock, and Wi-Fi
+ Miscellaneous
+ Bluetooth tile dialog
+ Show bluetooth dialog or toggle bluetooth state on tapping bluetooth tile
+ QS header image
+ Select QS background header image
+ Header image collection
+ Header image shadow
+ For better visibility on bright images
+ Static image
+ Image collection
+ Custom image
+ Header provider
+ Browse installed headers
+ Browse all available header collections
+ Select header image
+ Select an image to use for static mode
+ Select image
+ Select custom image
+ You must install a gallery app!
+ Header image offset
+ Adjust the image header size
+ Background transparency
+ Set transparency level for QS background
+ QS tiles shape
+ Dynamic
+ Circle
+ Rounded square
+ Square
+
+ Heads up
+ Allow pop up notifications
+ Interface
+ Edge light
+ Light up the side edges of the screen on notification pulse
+ Kill app
+ Show a kill app button in the notification\'s longpress menu
+ Sounds & vibration
+ Alert while display on
+ Play sound and vibration for notifications while the display is on
+
+ Alert slider notifications
+ Display notification when changing alert slider position
+
+ Compact heads-up
+ Display notifications in compact size
+
+ Always trigger on pulse
+ Whether to show edge light whenever ambient display is shown and not just for notifications
+ Repeat animation
+ Repeat until timeout
+ Show only once
+ Edge light color mode
+ Edge light style
+ Edge light stroke width
+ Configure edge light thickness
+ Draw Line
+ Blink/Pulse
+
+ Less boring
+ Display popup notifications only for alarm, dialer and messaging app
+
+ Interface
+ Power menu actions
+ Choose which actions are displayed
+ Lock screen
+ Show on secure lock screen
+ Show the power menu while the device is locked
+
+ Advanced reboot
+ Screenshot
+ On-The-Go mode
+ Airplane
+ Flashlight
+ Settings
+ Lockdown
+ Lockdown is disabled as keyguard isn\'t secure
+ Sound panel
+ Users
+ Logout
+ Emergency
+ Device controls
+
+ Spoofing
+ Developer options
+ Allow application downgrade
+ Allow downgrading system applications, which may result in crashes and data loss
+ Ignore wallpaper dimming requests
+ Blocks all apps from setting the wallpaper dim\nForces dim to 0
+ Ignore window secure flags
+ Remove restrictions on screenshots and screen recordings for all applications, potentially risking privacy leaks
+ Unlimit screenrecord
+ Remove the 15GiB file size limit\nMay result in a larger than needed output file
+
+ Hide applist
+ Prevent apps from checking selected apps from appslist
+ Show overlay
+ Hide overlay
+
+ Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen
+ Smart Pixels
+ Save battery by shutting off extra pixels
+ Auto-enable on battery saver
+ Enable Smart Pixels when battery saver is enabled
+ Percent of pixels to disable
+ Burn-in protection
+ Prevents burn-in on OLED devices by shifting pixels every so often
+
+ Component spoofing
+ Bypass app restrictions by spoofing components
+ System-Wide
+ Pixel props
+ Spoof a select group of Google apps to the latest Pixel device
+ Spoof tensor features
+ Unlock tensor/pixel features
+ Play Integrity fix
+ Spoof your device to pass Google Play Attestation
+ Storage encryption
+ Spoof the device storage encryption status to \'Encrypted\'
+ App-Specific
+ Google app
+ Spoof the Google app to the latest Pixel device to unlock exclusive features
+ Play Store
+ Spoof the Play Store to the latest Pixel device
+ Google Photos
+ Spoof the Google Photos app as a Pixel XL
+ Snapchat
+ Spoof Snapchat as a Pixel XL to fix possible chat issues
+ Enable Game Props spoofing
+ Spoof your device as different model for specific games to unlock higher FPS
+ Select Game Props JSON File
+ Pick Game Props JSON file to be used for spoofing games
+ Netflix
+ Spoof your device as different model for Netflix
+
+ Successfully downloaded pif.json. Spoofing as %1$s for Play Integrity.
+ Failed to spoof properties.
+ Update Play Integrity fix
+ Update PIF spoofing device, requires internet connection.
+ Play Integrity fix properties
+ Show all currently set PIF properties
+ Error loading PIF properties
+ Select PIF JSON file
+ Choose the PIF JSON file to be used to spoof Play Integrity
+
+ Keybox attestation override
+ Load a custom keybox XML to override device key attestation
+ Custom keybox XML loaded. Delete to clear.
+ Clear keybox data
+ Not an XML file. Choose a valid keybox XML.
+ Invalid keybox XML: required fields missing
+ Keybox loaded
+ Keybox cleared
+
+ Color Picker
+ Press on color below to apply
+ Set
+ Accent color (Default)
+ Notification color
+ Wallpaper color
+ Rainbow gradient color
+ Custom color
+
+ Value: %s
+ by default
+ Default value: %s\nLong tap to set
+ Default value is set
+
+ Enable
+ Disable
+ Boot animation applied
+ Default
+ Top
+ Bottom
+
+ milliseconds
+ seconds
+
+ SystemUI restart required
+ For changes to take effect, a SystemUI restart is required. Restart SystemUI now?
+ Yes
+ Not now
+
+ Better landscape QS
+ Enable new experimental split shade quicksettings,\nbreaks landscape headsup notifications
+
+ Power menu style
+ Cyberpunk
+ Duoline
+ IOS
+ Layers
+
+ QS header clock style
+ Chip
+ Oxygen
+ Analog
+ Simple
+
+ Notification style
+ Cyberpunk
+ Duoline
+ Fluid (Transparent)
+ IOS
+ Layers
+
+ Progress bar style
+ Blocky thumb
+ Minimal thumb
+ Outline thumb
+ Shishu
+
+ Revamped AOSP UI style
+ Realme UI style
+ AOSP default style
+ Double layer style
+ Gradient style
+ Neumorph style
+ Neumorph outline style
+ Outline style
+ Shaded layer style
+ Volume panel styles
+
+ Wallpaper styles
+ Configure wallpaper styles and settings
+ Wallpaper blur
+ Enable or disable wallpaper blur effect
+ Wallpaper blur style
+ Wallpaper dim
+ Wallpaper dim level
+ Configure wallpaper dim level
+ Glass blur
+ Frosted blur
+ For wallpaper styles to work effectively, users must set the wallpapers for the lock screen and home screen at different times.\nThe same wallpaper can be used, but it should not be applied to both the lock screen and home screen at the same time.\nThis is optional when using the BOTH OPTION for wallpaper blur and dim styles.
+
+
+ Compact QS media player
+ Enable compact mode for QuickSettings media player
+
+ Select Depth wallpaper subject
+ Select depth wallpaper subject image from storage.
+ Depth wallpaper
+ Apply depth effect\nto wallpaper
+ Enable iOS-inspired depth wallpaper. Requires a subject image.
+ Depth wallpaper opacity
+ Depth wallpaper horizontal offset
+ Depth wallpaper vertical offset
+ The depth wallpaper feature, inspired by iOS\'s Wallpaper Subject Segmentation, enables overlaying of a subject above the lock screen clock to show a wallpaper depth effect.\n\nTo setup Depth Wallpaper Feature:\n1. Set a wallpaper with the subject or a background you want the subject to be above of.\n2. Select a subject image to track, this image will be overlaid above the lock screen clock.\n3. Modify the offsets and opacity according to your needs.
+
+
+ Media cover art
+ Display media cover art when available
+ Media cover art fade level
+ Set media cover art fade level
+
+ Media cover art filter
+ None
+ Grayscale
+ Accent tinted
+ Blur
+ Grayscale and blurred
+
+ Media art blur level
+ Blur intensity when blur filter is applied
+
+ System haptics
+ Modify system haptics intensities
+ Back gesture haptics intensity
+ Brightness slider haptics intensity
+ Edge scrolling haptics intensity
+ Volume slider haptics intensity
+ QS tile haptics intensity
+ Qs fling haptics intensity
+ Vibrate on touching QS tiles
+
+ Weather settings
+ Setup icon pack and weather service
+ Weather
+ Weather update
+ Display current weather update
+ Requires weather service to be enabled
+ Current location
+ Display current weather location
+ Current condition
+ Display current weather condition summary
+ Pixel style
+ Display weather as separate row
+
+ Always-On-Display
+ Pulse/Doze
+
+ AOD image
+ Select AOD image
+ Set custom AOD image
+ Select AOD image from gallery
+ Clock style not supported
+
+ QS widgets
+ Show widgets for quick access. \nLimits QS rows to 2 to avoid breaking AOSP QS Panel scrolling
+
+ Widgets
+ Enable lock screen widgets
+ Add widgets to lock screen
+ Device info widget
+ Show device info widget on lock screen
+ Big widgets
+ Big widget 1
+ Big widget 2
+ Mini widgets
+ Mini widget 1
+ Mini widget 2
+ Mini widget 3
+ Mini widget 4
+ Camera
+ Clock/Timer
+ Calculator
+ Gallery
+ Media Player
+ Torch
+ Play
+ Weather
+ Wifi
+ Data
+ Ringer
+ Bluetooth
+ Hotspot
+ Wallet
+
+ Lock screen widgets style
+ Material Rounded
+ Material Square
+ Translucent (Square)
+ Translucent (Rounded)
+ Translucent style widget transparency
+ Configure translucent style widget opacity level
+
+ Font Styles
+ Change system font style
+ The quick brown\nfox jumps over the\nlazy dog\n\nABCDEFGHIJKLM\nNOPQRSTUVWXYZ\nabcdefghijkl\nmnopqrstuvwxyz\n1234567890
+ Apply
+ Select font
+
+ Apply
+
+ Peek display
+ Enable minimal lock screen notification style
+ Peek display location
+ Peek display (bottom) top margin
+
+ Minimalist
+ Peek display style
+
+ Now bar
+ Enable now bar lock screen widgets
+ Now bar height
+ Adjust the height of the Now bar
+
+ Notification icons
+ Maximum notification icons visible on status bar
+
+ Statusbar action chip
+ Statusbar action chip options
+ Ongoing action chip
+ Show progress indicator in status bar for ongoing actions like downloads
+ Show media progress
+ \"Display media playback progress in the status bar
+ \"The status bar progress bar provides real-time updates for both media playback and active downloads/uploads.
+
+ - 🎵 Media Progress:
+ • Displays playback progress for music and video when media is playing.
+ • Single tap opens playback controls (Previous, Next track).
+ • Double tap toggles play/pause.
+ • Swipe left skips to the previous track.
+ • Swipe right skips to the next track.
+ • Long press opens the media app.
+
+ - 📥Download/Upload Progress:
+ • Shows progress for ongoing downloads and uploads.
+ • Automatically hides when no active transfers are detected.
+ • Single tap opens the app responsible for the download.
+
+ The progress bar dynamically switches between media and download states, ensuring you always have the most relevant information at a glance.\"
+
+ Compact Progress Indicator
+ Use a compact circular indicator for ongoing actions
+
+ Show squiggle animation
+ Show media panel squiggle animation\nAfter change need to switch music, pause music or move the progress bar to apply
+
+ Expressive Design
+ Enable Expressive Design preview
+
+ AOD wallpaper
+ Show wallpaper when aod on
+
+ Battery bar
+ Display and customize battery bar above status bar
+ Color
+ Charging color
+ Low battery color
+ Alignment
+ Thickness
+ Charging animation
+ Regular
+ Center-mirrored
+ Reversed
+ Custom charging color
+ Blend colors
+ Blend full/empty colors corresponding to battery percentage
+ Reverse color direction
+ Full → empty: red ← green ← blue ← red
+ Full → empty: red → green → blue → red
+ Use gradient color
+ Use gradient color as a scale for the battery level
+ High level color\"
+ Low level color\"
+ Charging animation color
+
+ Keyguard affordance single tap
+ Toggle keyguard affordances with a single tap
+
+ QuickSwitch
+ Customize default homescreen app
+ Nothing launcher customizations
+ Customize nothing launcher homescreen app
+ QuickSwitch is not supported; the system only has one launcher.
+ Notes: \n\n
+ 1. Due to compatibility issues with current Android API, the Lawnchair Launcher uses the Mist Launcher recents overview and will override any third-party launchers when set as the active QuickSwitch launcher. For better compatibility with third-party launchers, consider setting the QuickSwitch launcher to Mist or Pixel Launcher instead.\n\n
+ 2. External launcher modules/modifications must be adapted to the QuickSwitch structure to function properly.
+
+
+ Default
+ Color
+ Default (White)
+ Accent
+ Custom
+
+ Transient task mode
+ Transient task mode (Reboot your device to apply changes)
+ Dismiss apps from recents when last activity gets closed using back button.
+ Disable (Default)
+ Enable (Some apps will stay)
+ Force (Override app behaviour)
+
+ Small landscape notifications
+ Shows notifications smaller in width in notification panel in landscape mode just as AOSP intended
+
+ Island notification
+ Display heads-up notification in Dynamic Island style
+ The Island notification feature, inspired by iOS\'s Dynamic Island, transforms Android\'s heads-up notifications into quick-access and compact notification utility.\n\nIsland Quick Access Controls includes the following features:\n1. Tap island notification to quick answer phone calls.\n2. Long press island notification to reject phone calls.\n3. Long press island notification to expand the island notification preview.
+
+
diff --git a/res/values-es-rEM/mist_strings.xml b/res/values-es-rEM/mist_strings.xml
new file mode 100644
index 00000000..3cdd1b6a
--- /dev/null
+++ b/res/values-es-rEM/mist_strings.xml
@@ -0,0 +1,895 @@
+
+
+
+
+ Settings dashboard style
+ The style of Settings main page
+ AOSP legacy
+ AOSP revamped
+ Mist Ui
+ Settings Ui
+ Change the Setting Ui
+ System Ui
+
+ Mistify Tweek
+ Magic Happen Here!!
+
+ Themes
+ Monet, fonts, icons
+ Lock screen
+ Interface, miscellaneous
+ Status bar
+ Gestures, Icons, privacy indicators
+ Quick settings
+ Interface, lock screen
+ Notifications
+ Alerts, interface
+ Power menu
+ Actions, lock screen
+ Buttons
+ Power button, volume buttons
+ Miscellaneous
+ Developer options, spoofing
+ About
+ About MistOS
+
+ General
+ Monet
+ Monet settings
+ Customize Android\'s built-in theme engine
+ Audio
+ Lock sound
+ Unlock sound
+ Fonts
+ System font
+ Set system font style
+ Lock screen clock font
+ Set lock screen clock font style
+ Icons
+ System Icons
+ Set system icon style
+ Icon shape
+ Set system icon shape
+ Signal icon
+ Set signal icon style
+ Wi-Fi icon
+ Set Wi-Fi icon style
+ Navigation bar icons
+ Set navigation bar icon style
+ UDFPS icon
+ Set UDFPS icon style
+ Brightness slider
+ Brightness slider style
+ Set brightness slider style
+ Animations
+ Boot animation
+ Set boot animation style
+ Charging animation
+ Display an animation when the device is plugged in
+ Screen off animation
+ CRT
+ Scale
+ UDFPS animation
+ Set UDFPS animation style
+ Pixel Launcher
+ Background blur
+ Enable blur effect for recent items page background
+ More themed icons
+ Extends support for dynamic color themed icons for installed apps
+ Font style
+ Set system font style
+ Icon pack
+ Set custom icon pack style
+ Icon shape
+ Set system icon shape style
+ Signal icon style
+ Set custom signal icon style
+ WiFi icon style
+ Set custom wifi icon style
+ Navbar style
+ Set custom navigation bar style
+ Clock font style
+ Set lockscreen clock font style
+ Brightness slider style
+ Set custom brightness slider style
+
+ Preview of the selected boot animation
+ Displays a preview of the currently selected boot animation
+ Boot animation preview
+
+ Accent color
+ Choose custom color for accent
+ Background color
+ Choose custom color for background
+ Custom color
+ Luminance
+ Higher values produce brighter colors
+ Chroma factor
+ Higher values produce stronger colors
+ Whole palette
+ Make Luminance and Chroma selection affect secondary colors as well
+ Tint background
+ Make luminance and chroma selection affect background colors as well
+ Theme style
+ Tonal Spot (Default)
+ Vibrant
+ Expressive
+ Spritz
+ Rainbow
+ Fruit Salad
+ Content
+ Monochromatic
+ Color source
+ Both (Default)
+ Home wallpaper
+ Lock wallpaper
+ Preset
+
+ Interface
+ Charging stats
+ Display current, voltage, wattage, and temperature stats while charging
+ Fingerprint
+ Ripple animation
+ Show ripple animation when unlocked with fingerprint
+ Screen-Off UDFPS
+ Keep UDFPS enabled while the screen is off
+ Authentication success vibration
+ Vibrate when fingerprint authentication is successful
+ Authentication error vibration
+ Vibrate when fingerprint authentication fails
+ Miscellaneous
+ Pocket detection
+ Block screen and button inputs when device is in pocket
+ Always on Pocket mode
+ Always block screen and button inputs when screen is turned on
+
+ About Pulse
+ Pulse is a brilliant audio graphic equalizer when music plays on the device
+ Pulse
+ Audio graphic equalizer for navigation bar and lock screen
+ Navbar pulse
+ Audio graphic equalizer on the navigation bar
+ Lock screen pulse
+ Audio graphic equalizer on the lock screen
+ Ambient pulse
+ Audio graphic equalizer on the ambient screen
+ Render mode
+ Fading blocks
+ Solid lines
+ Fading blocks mode settings
+ Sanity level
+ Lava lamp speed
+ Rounded corners
+ Solid lines with rounded tip
+ Solid lines count
+ Solid lines opacity
+ Solid lines mode settings
+ Color
+ Accent
+ Custom
+ Lava lamp
+ Choose color
+ Turn on smoothing
+ Each bar is animated more smoothly
+ Bar width
+ Bar spacing
+ Block size
+ Block spacing
+
+ Swipe left or right to preview clock styles
+
+ Selected clock does not support custom fonts
+
+ Clock
+ Configure lock screen clock styles
+ Custom Clock Style
+ Clock face
+ Modify lock screen clock appearance
+
+ Gestures
+ Brightness control
+ Adjust brightness by swiping across the status bar
+ Quick pull down
+ %1$s of the status bar pulls down quick settings
+ Off
+ Right side
+ Left side
+ Both sides
+ Icons
+ Status bar tuner
+ Choose which system icons can be shown
+ Battery style
+ Icon portrait
+ Icon landscape (Right)
+ Icon landscape (Left)
+ Landscape Capsule
+ Landscape Lorn
+ Portrait IOS
+ Portrait Mx
+ Landscape Airoo
+ Landscape R Style A
+ Landscape L Style A
+ Landscape R Style B
+ Landscape L Style B
+ Landscape iOS 15
+ Landscape iOS 16
+ Landscape Origami
+ Landscape OneUI 7
+ Circle
+ Dotted circle
+ Filled circle
+ Big circle
+ Big dotted circle
+ Text
+ Hidden
+ Follow status bar style
+ Battery percent
+ Hidden
+ Inside the icon
+ Next to the icon (right)
+ Next to the icon (left)
+ Battery percentage when charging
+ Always display battery percentage when charging
+ Clock & date
+ Customize clock & date
+ Data disabled indicator
+ Display an indicator next to signal icon when data is disabled
+ 4G icon
+ Replace \'LTE\' icon with \'4G\'
+ Wi-Fi standard
+ Display Wi-Fi standard next the Wi-Fi icon
+ Bluetooth battery status
+ Display battery status for the connected Bluetooth device, if available
+ Colored icons
+ Use launcher icons for app notifications
+ Logo
+ Display a custom logo on the status bar
+ Logo position
+ Left side
+ Right side
+ Logo style
+ MistOS
+ Android
+ Adidas
+ Alien
+ Apple
+ Avengers
+ Batman
+ Batman The Dark Knight
+ Beats
+ Biohazard
+ BlackBerry
+ Cannabis
+ Emoticon cool
+ Emoticon devil
+ Fire
+ Heart
+ Nike
+ Pac-man
+ Puma
+ ROG
+ Spider-Man
+ Superman
+ Windows
+ Xbox
+ Ghost
+ Ninja
+ Robot
+ Iron Man
+ Captain America
+ Flash
+ Tux
+ Ubuntu
+ Linux Mint
+ Amogus
+ Network traffic monitor
+ Display and customize current network traffic levels
+ Notification count
+ Display the number of unread notifications on each app icon
+ Privacy indicators
+ Microphone & camera
+ Display an indicator when an app accesses the microphone or camera
+ Location
+ Display an indicator when an app accesses your location
+ Screen projection
+ Display an indicator when the screen is being projected
+ Carrier name on lock screen
+ Display carrier name on lock screen status bar
+ Status bar lyric
+ Show lyric in status bar (need app support)
+ Options
+ Disguise device for music apps
+ Disguise device in some music applications for support status bar lyric. After changing this toggle, you have to restart applications for the change to take effect.
+
+ Clock position
+ Right
+ Left
+ Center
+ Hidden
+ Clock seconds
+ Display seconds next to clock in status bar
+ Auto hide at intervals
+ Hide clock at specific time based intervals
+ Hide duration
+ Number of seconds to hide clock
+ Show duration
+ Number of seconds to wait before hiding clock
+ Auto hide on launcher
+ Hide clock if launcher is visible
+ Background chip
+ Display accented chip behind clock
+ Solid color accent
+ Outline
+ Solid color accent gradient
+ Solid Gradient side
+ Solid accent gradient sharp
+ Gradient Void
+ Neumorph gradient
+ Sharp gradient stroke
+ Accent transperent
+ Gradient light
+ Sharp gradient corner
+ Gradient Void light
+ AM/PM style
+ 24-hour clock is enabled
+ Normal
+ Small
+ Hidden
+ Date
+ Hidden
+ Small
+ Normal
+ Date format
+ Date style
+ Normal
+ Lowercase
+ Uppercase
+ Custom java format
+ Must be in DateFormat eg. MM/dd/yy
+ Enter string
+ Date position
+ Right of time
+ Left of time
+
+ Location
+ Disabled
+ Statusbar
+ Quick Statusbar
+ Display mode
+ Upload only
+ Download only
+ Upload and download
+ Auto hide
+ Hide the traffic monitor when inactive
+ Inactivity threshold
+ Refresh interval
+ Duration after which speed is remeasured
+ Traffic measurement units
+ Bits per second (b/s)
+ Kilobits per second (kb/s)
+ Megabits per second (Mb/s)
+ Bytes per second (B/s)
+ Kilobytes per second (kB/s)
+ Megabytes per second (MB/s)
+ Hide arrows
+ Hide the network traffic indicator arrows
+
+ Interface
+ QS tiles style
+ Circle tiles
+ Square tiles
+ Circle & Square tiles
+ QS panel style
+ Outline
+ Two-Tone accent
+ Color pop
+ Shaded
+ Cyberpunk
+ Neumorph
+ Reflected
+ Surround
+ ThinLine
+ Hide label
+ Label text size
+ Only show icon in tile
+ Vertical layout
+ Show label below icon instead next to icon
+ Columns & rows
+ Customize QS columns and rows
+ QS rows should be equal or greater than QQS rows. Use higher number of columns for circle / square (A11) QS tile style.
+ Columns (portrait)
+ Columns (landscape)
+ Rows (portrait)
+ Rows (landscape)
+ Quick QS Rows (portrait)
+ Quick QS Rows (landscape)
+ Brightness slider
+ Brightness slider
+ Never show
+ Only show when expanded
+ Always show
+ Brightness percentage
+ Show brightness percentage text along with the slider
+ Brightness slider position
+ Top
+ Bottom
+ Auto brightness icon
+ Show icon toggle for adaptive brightness next to the slider
+ Haptic feedback
+ Provide haptic feedback on changing brightness using slider
+ Animations
+ Tiles animation style
+ Animation duration
+ Animation interpolator
+ No animation
+ Rotate
+ Flip X
+ Flip Y
+ Linear
+ Accelerate
+ Decelerate
+ Accelerate decelerate
+ Bounce
+ Overshoot
+ Anticipate
+ Anticipate overshoot
+ Data usage
+ Display data usage summary in quick settings footer
+ Lock screen
+ Swipe down on LS to view QS
+ Hide all quick settings in the notification shade while the device is locked
+ Secure QS tiles require unlock
+ The following quick settings require the device to be unlocked before you can interact with them:\nAirplane, Battery saver, Bluetooth, Cellular, Data saver, Hotspot, Internet, NFC, Rotation lock, and Wi-Fi
+ Miscellaneous
+ Bluetooth tile dialog
+ Show bluetooth dialog or toggle bluetooth state on tapping bluetooth tile
+ QS header image
+ Select QS background header image
+ Header image collection
+ Header image shadow
+ For better visibility on bright images
+ Static image
+ Image collection
+ Custom image
+ Header provider
+ Browse installed headers
+ Browse all available header collections
+ Select header image
+ Select an image to use for static mode
+ Select image
+ Select custom image
+ You must install a gallery app!
+ Header image offset
+ Adjust the image header size
+ Background transparency
+ Set transparency level for QS background
+ QS tiles shape
+ Dynamic
+ Circle
+ Rounded square
+ Square
+
+ Heads up
+ Allow pop up notifications
+ Interface
+ Edge light
+ Light up the side edges of the screen on notification pulse
+ Kill app
+ Show a kill app button in the notification\'s longpress menu
+ Sounds & vibration
+ Alert while display on
+ Play sound and vibration for notifications while the display is on
+
+ Alert slider notifications
+ Display notification when changing alert slider position
+
+ Compact heads-up
+ Display notifications in compact size
+
+ Always trigger on pulse
+ Whether to show edge light whenever ambient display is shown and not just for notifications
+ Repeat animation
+ Repeat until timeout
+ Show only once
+ Edge light color mode
+ Edge light style
+ Edge light stroke width
+ Configure edge light thickness
+ Draw Line
+ Blink/Pulse
+
+ Less boring
+ Display popup notifications only for alarm, dialer and messaging app
+
+ Interface
+ Power menu actions
+ Choose which actions are displayed
+ Lock screen
+ Show on secure lock screen
+ Show the power menu while the device is locked
+
+ Advanced reboot
+ Screenshot
+ On-The-Go mode
+ Airplane
+ Flashlight
+ Settings
+ Lockdown
+ Lockdown is disabled as keyguard isn\'t secure
+ Sound panel
+ Users
+ Logout
+ Emergency
+ Device controls
+
+ Spoofing
+ Developer options
+ Allow application downgrade
+ Allow downgrading system applications, which may result in crashes and data loss
+ Ignore wallpaper dimming requests
+ Blocks all apps from setting the wallpaper dim\nForces dim to 0
+ Ignore window secure flags
+ Remove restrictions on screenshots and screen recordings for all applications, potentially risking privacy leaks
+ Unlimit screenrecord
+ Remove the 15GiB file size limit\nMay result in a larger than needed output file
+
+ Hide applist
+ Prevent apps from checking selected apps from appslist
+ Show overlay
+ Hide overlay
+
+ Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen
+ Smart Pixels
+ Save battery by shutting off extra pixels
+ Auto-enable on battery saver
+ Enable Smart Pixels when battery saver is enabled
+ Percent of pixels to disable
+ Burn-in protection
+ Prevents burn-in on OLED devices by shifting pixels every so often
+
+ Component spoofing
+ Bypass app restrictions by spoofing components
+ System-Wide
+ Pixel props
+ Spoof a select group of Google apps to the latest Pixel device
+ Spoof tensor features
+ Unlock tensor/pixel features
+ Play Integrity fix
+ Spoof your device to pass Google Play Attestation
+ Storage encryption
+ Spoof the device storage encryption status to \'Encrypted\'
+ App-Specific
+ Google app
+ Spoof the Google app to the latest Pixel device to unlock exclusive features
+ Play Store
+ Spoof the Play Store to the latest Pixel device
+ Google Photos
+ Spoof the Google Photos app as a Pixel XL
+ Snapchat
+ Spoof Snapchat as a Pixel XL to fix possible chat issues
+ Enable Game Props spoofing
+ Spoof your device as different model for specific games to unlock higher FPS
+ Select Game Props JSON File
+ Pick Game Props JSON file to be used for spoofing games
+ Netflix
+ Spoof your device as different model for Netflix
+
+ Successfully downloaded pif.json. Spoofing as %1$s for Play Integrity.
+ Failed to spoof properties.
+ Update Play Integrity fix
+ Update PIF spoofing device, requires internet connection.
+ Play Integrity fix properties
+ Show all currently set PIF properties
+ Error loading PIF properties
+ Select PIF JSON file
+ Choose the PIF JSON file to be used to spoof Play Integrity
+
+ Keybox attestation override
+ Load a custom keybox XML to override device key attestation
+ Custom keybox XML loaded. Delete to clear.
+ Clear keybox data
+ Not an XML file. Choose a valid keybox XML.
+ Invalid keybox XML: required fields missing
+ Keybox loaded
+ Keybox cleared
+
+ Color Picker
+ Press on color below to apply
+ Set
+ Accent color (Default)
+ Notification color
+ Wallpaper color
+ Rainbow gradient color
+ Custom color
+
+ Value: %s
+ by default
+ Default value: %s\nLong tap to set
+ Default value is set
+
+ Enable
+ Disable
+ Boot animation applied
+ Default
+ Top
+ Bottom
+
+ milliseconds
+ seconds
+
+ SystemUI restart required
+ For changes to take effect, a SystemUI restart is required. Restart SystemUI now?
+ Yes
+ Not now
+
+ Better landscape QS
+ Enable new experimental split shade quicksettings,\nbreaks landscape headsup notifications
+
+ Power menu style
+ Cyberpunk
+ Duoline
+ IOS
+ Layers
+
+ QS header clock style
+ Chip
+ Oxygen
+ Analog
+ Simple
+
+ Notification style
+ Cyberpunk
+ Duoline
+ Fluid (Transparent)
+ IOS
+ Layers
+
+ Progress bar style
+ Blocky thumb
+ Minimal thumb
+ Outline thumb
+ Shishu
+
+ Revamped AOSP UI style
+ Realme UI style
+ AOSP default style
+ Double layer style
+ Gradient style
+ Neumorph style
+ Neumorph outline style
+ Outline style
+ Shaded layer style
+ Volume panel styles
+
+ Wallpaper styles
+ Configure wallpaper styles and settings
+ Wallpaper blur
+ Enable or disable wallpaper blur effect
+ Wallpaper blur style
+ Wallpaper dim
+ Wallpaper dim level
+ Configure wallpaper dim level
+ Glass blur
+ Frosted blur
+ For wallpaper styles to work effectively, users must set the wallpapers for the lock screen and home screen at different times.\nThe same wallpaper can be used, but it should not be applied to both the lock screen and home screen at the same time.\nThis is optional when using the BOTH OPTION for wallpaper blur and dim styles.
+
+
+ Compact QS media player
+ Enable compact mode for QuickSettings media player
+
+ Select Depth wallpaper subject
+ Select depth wallpaper subject image from storage.
+ Depth wallpaper
+ Apply depth effect\nto wallpaper
+ Enable iOS-inspired depth wallpaper. Requires a subject image.
+ Depth wallpaper opacity
+ Depth wallpaper horizontal offset
+ Depth wallpaper vertical offset
+ The depth wallpaper feature, inspired by iOS\'s Wallpaper Subject Segmentation, enables overlaying of a subject above the lock screen clock to show a wallpaper depth effect.\n\nTo setup Depth Wallpaper Feature:\n1. Set a wallpaper with the subject or a background you want the subject to be above of.\n2. Select a subject image to track, this image will be overlaid above the lock screen clock.\n3. Modify the offsets and opacity according to your needs.
+
+
+ Media cover art
+ Display media cover art when available
+ Media cover art fade level
+ Set media cover art fade level
+
+ Media cover art filter
+ None
+ Grayscale
+ Accent tinted
+ Blur
+ Grayscale and blurred
+
+ Media art blur level
+ Blur intensity when blur filter is applied
+
+ System haptics
+ Modify system haptics intensities
+ Back gesture haptics intensity
+ Brightness slider haptics intensity
+ Edge scrolling haptics intensity
+ Volume slider haptics intensity
+ QS tile haptics intensity
+ Qs fling haptics intensity
+ Vibrate on touching QS tiles
+
+ Weather settings
+ Setup icon pack and weather service
+ Weather
+ Weather update
+ Display current weather update
+ Requires weather service to be enabled
+ Current location
+ Display current weather location
+ Current condition
+ Display current weather condition summary
+ Pixel style
+ Display weather as separate row
+
+ Always-On-Display
+ Pulse/Doze
+
+ AOD image
+ Select AOD image
+ Set custom AOD image
+ Select AOD image from gallery
+ Clock style not supported
+
+ QS widgets
+ Show widgets for quick access. \nLimits QS rows to 2 to avoid breaking AOSP QS Panel scrolling
+
+ Widgets
+ Enable lock screen widgets
+ Add widgets to lock screen
+ Device info widget
+ Show device info widget on lock screen
+ Big widgets
+ Big widget 1
+ Big widget 2
+ Mini widgets
+ Mini widget 1
+ Mini widget 2
+ Mini widget 3
+ Mini widget 4
+ Camera
+ Clock/Timer
+ Calculator
+ Gallery
+ Media Player
+ Torch
+ Play
+ Weather
+ Wifi
+ Data
+ Ringer
+ Bluetooth
+ Hotspot
+ Wallet
+
+ Lock screen widgets style
+ Material Rounded
+ Material Square
+ Translucent (Square)
+ Translucent (Rounded)
+ Translucent style widget transparency
+ Configure translucent style widget opacity level
+
+ Font Styles
+ Change system font style
+ The quick brown\nfox jumps over the\nlazy dog\n\nABCDEFGHIJKLM\nNOPQRSTUVWXYZ\nabcdefghijkl\nmnopqrstuvwxyz\n1234567890
+ Apply
+ Select font
+
+ Apply
+
+ Peek display
+ Enable minimal lock screen notification style
+ Peek display location
+ Peek display (bottom) top margin
+
+ Minimalist
+ Peek display style
+
+ Now bar
+ Enable now bar lock screen widgets
+ Now bar height
+ Adjust the height of the Now bar
+
+ Notification icons
+ Maximum notification icons visible on status bar
+
+ Statusbar action chip
+ Statusbar action chip options
+ Ongoing action chip
+ Show progress indicator in status bar for ongoing actions like downloads
+ Show media progress
+ \"Display media playback progress in the status bar
+ \"The status bar progress bar provides real-time updates for both media playback and active downloads/uploads.
+
+ - 🎵 Media Progress:
+ • Displays playback progress for music and video when media is playing.
+ • Single tap opens playback controls (Previous, Next track).
+ • Double tap toggles play/pause.
+ • Swipe left skips to the previous track.
+ • Swipe right skips to the next track.
+ • Long press opens the media app.
+
+ - 📥Download/Upload Progress:
+ • Shows progress for ongoing downloads and uploads.
+ • Automatically hides when no active transfers are detected.
+ • Single tap opens the app responsible for the download.
+
+ The progress bar dynamically switches between media and download states, ensuring you always have the most relevant information at a glance.\"
+
+ Compact Progress Indicator
+ Use a compact circular indicator for ongoing actions
+
+ Show squiggle animation
+ Show media panel squiggle animation\nAfter change need to switch music, pause music or move the progress bar to apply
+
+ Expressive Design
+ Enable Expressive Design preview
+
+ AOD wallpaper
+ Show wallpaper when aod on
+
+ Battery bar
+ Display and customize battery bar above status bar
+ Color
+ Charging color
+ Low battery color
+ Alignment
+ Thickness
+ Charging animation
+ Regular
+ Center-mirrored
+ Reversed
+ Custom charging color
+ Blend colors
+ Blend full/empty colors corresponding to battery percentage
+ Reverse color direction
+ Full → empty: red ← green ← blue ← red
+ Full → empty: red → green → blue → red
+ Use gradient color
+ Use gradient color as a scale for the battery level
+ High level color\"
+ Low level color\"
+ Charging animation color
+
+ Keyguard affordance single tap
+ Toggle keyguard affordances with a single tap
+
+ QuickSwitch
+ Customize default homescreen app
+ Nothing launcher customizations
+ Customize nothing launcher homescreen app
+ QuickSwitch is not supported; the system only has one launcher.
+ Notes: \n\n
+ 1. Due to compatibility issues with current Android API, the Lawnchair Launcher uses the Mist Launcher recents overview and will override any third-party launchers when set as the active QuickSwitch launcher. For better compatibility with third-party launchers, consider setting the QuickSwitch launcher to Mist or Pixel Launcher instead.\n\n
+ 2. External launcher modules/modifications must be adapted to the QuickSwitch structure to function properly.
+
+
+ Default
+ Color
+ Default (White)
+ Accent
+ Custom
+
+ Transient task mode
+ Transient task mode (Reboot your device to apply changes)
+ Dismiss apps from recents when last activity gets closed using back button.
+ Disable (Default)
+ Enable (Some apps will stay)
+ Force (Override app behaviour)
+
+ Small landscape notifications
+ Shows notifications smaller in width in notification panel in landscape mode just as AOSP intended
+
+ Island notification
+ Display heads-up notification in Dynamic Island style
+ The Island notification feature, inspired by iOS\'s Dynamic Island, transforms Android\'s heads-up notifications into quick-access and compact notification utility.\n\nIsland Quick Access Controls includes the following features:\n1. Tap island notification to quick answer phone calls.\n2. Long press island notification to reject phone calls.\n3. Long press island notification to expand the island notification preview.
+
+
diff --git a/res/values-es-rES/mist_strings.xml b/res/values-es-rES/mist_strings.xml
new file mode 100644
index 00000000..3cdd1b6a
--- /dev/null
+++ b/res/values-es-rES/mist_strings.xml
@@ -0,0 +1,895 @@
+
+
+
+
+ Settings dashboard style
+ The style of Settings main page
+ AOSP legacy
+ AOSP revamped
+ Mist Ui
+ Settings Ui
+ Change the Setting Ui
+ System Ui
+
+ Mistify Tweek
+ Magic Happen Here!!
+
+ Themes
+ Monet, fonts, icons
+ Lock screen
+ Interface, miscellaneous
+ Status bar
+ Gestures, Icons, privacy indicators
+ Quick settings
+ Interface, lock screen
+ Notifications
+ Alerts, interface
+ Power menu
+ Actions, lock screen
+ Buttons
+ Power button, volume buttons
+ Miscellaneous
+ Developer options, spoofing
+ About
+ About MistOS
+
+ General
+ Monet
+ Monet settings
+ Customize Android\'s built-in theme engine
+ Audio
+ Lock sound
+ Unlock sound
+ Fonts
+ System font
+ Set system font style
+ Lock screen clock font
+ Set lock screen clock font style
+ Icons
+ System Icons
+ Set system icon style
+ Icon shape
+ Set system icon shape
+ Signal icon
+ Set signal icon style
+ Wi-Fi icon
+ Set Wi-Fi icon style
+ Navigation bar icons
+ Set navigation bar icon style
+ UDFPS icon
+ Set UDFPS icon style
+ Brightness slider
+ Brightness slider style
+ Set brightness slider style
+ Animations
+ Boot animation
+ Set boot animation style
+ Charging animation
+ Display an animation when the device is plugged in
+ Screen off animation
+ CRT
+ Scale
+ UDFPS animation
+ Set UDFPS animation style
+ Pixel Launcher
+ Background blur
+ Enable blur effect for recent items page background
+ More themed icons
+ Extends support for dynamic color themed icons for installed apps
+ Font style
+ Set system font style
+ Icon pack
+ Set custom icon pack style
+ Icon shape
+ Set system icon shape style
+ Signal icon style
+ Set custom signal icon style
+ WiFi icon style
+ Set custom wifi icon style
+ Navbar style
+ Set custom navigation bar style
+ Clock font style
+ Set lockscreen clock font style
+ Brightness slider style
+ Set custom brightness slider style
+
+ Preview of the selected boot animation
+ Displays a preview of the currently selected boot animation
+ Boot animation preview
+
+ Accent color
+ Choose custom color for accent
+ Background color
+ Choose custom color for background
+ Custom color
+ Luminance
+ Higher values produce brighter colors
+ Chroma factor
+ Higher values produce stronger colors
+ Whole palette
+ Make Luminance and Chroma selection affect secondary colors as well
+ Tint background
+ Make luminance and chroma selection affect background colors as well
+ Theme style
+ Tonal Spot (Default)
+ Vibrant
+ Expressive
+ Spritz
+ Rainbow
+ Fruit Salad
+ Content
+ Monochromatic
+ Color source
+ Both (Default)
+ Home wallpaper
+ Lock wallpaper
+ Preset
+
+ Interface
+ Charging stats
+ Display current, voltage, wattage, and temperature stats while charging
+ Fingerprint
+ Ripple animation
+ Show ripple animation when unlocked with fingerprint
+ Screen-Off UDFPS
+ Keep UDFPS enabled while the screen is off
+ Authentication success vibration
+ Vibrate when fingerprint authentication is successful
+ Authentication error vibration
+ Vibrate when fingerprint authentication fails
+ Miscellaneous
+ Pocket detection
+ Block screen and button inputs when device is in pocket
+ Always on Pocket mode
+ Always block screen and button inputs when screen is turned on
+
+ About Pulse
+ Pulse is a brilliant audio graphic equalizer when music plays on the device
+ Pulse
+ Audio graphic equalizer for navigation bar and lock screen
+ Navbar pulse
+ Audio graphic equalizer on the navigation bar
+ Lock screen pulse
+ Audio graphic equalizer on the lock screen
+ Ambient pulse
+ Audio graphic equalizer on the ambient screen
+ Render mode
+ Fading blocks
+ Solid lines
+ Fading blocks mode settings
+ Sanity level
+ Lava lamp speed
+ Rounded corners
+ Solid lines with rounded tip
+ Solid lines count
+ Solid lines opacity
+ Solid lines mode settings
+ Color
+ Accent
+ Custom
+ Lava lamp
+ Choose color
+ Turn on smoothing
+ Each bar is animated more smoothly
+ Bar width
+ Bar spacing
+ Block size
+ Block spacing
+
+ Swipe left or right to preview clock styles
+
+ Selected clock does not support custom fonts
+
+ Clock
+ Configure lock screen clock styles
+ Custom Clock Style
+ Clock face
+ Modify lock screen clock appearance
+
+ Gestures
+ Brightness control
+ Adjust brightness by swiping across the status bar
+ Quick pull down
+ %1$s of the status bar pulls down quick settings
+ Off
+ Right side
+ Left side
+ Both sides
+ Icons
+ Status bar tuner
+ Choose which system icons can be shown
+ Battery style
+ Icon portrait
+ Icon landscape (Right)
+ Icon landscape (Left)
+ Landscape Capsule
+ Landscape Lorn
+ Portrait IOS
+ Portrait Mx
+ Landscape Airoo
+ Landscape R Style A
+ Landscape L Style A
+ Landscape R Style B
+ Landscape L Style B
+ Landscape iOS 15
+ Landscape iOS 16
+ Landscape Origami
+ Landscape OneUI 7
+ Circle
+ Dotted circle
+ Filled circle
+ Big circle
+ Big dotted circle
+ Text
+ Hidden
+ Follow status bar style
+ Battery percent
+ Hidden
+ Inside the icon
+ Next to the icon (right)
+ Next to the icon (left)
+ Battery percentage when charging
+ Always display battery percentage when charging
+ Clock & date
+ Customize clock & date
+ Data disabled indicator
+ Display an indicator next to signal icon when data is disabled
+ 4G icon
+ Replace \'LTE\' icon with \'4G\'
+ Wi-Fi standard
+ Display Wi-Fi standard next the Wi-Fi icon
+ Bluetooth battery status
+ Display battery status for the connected Bluetooth device, if available
+ Colored icons
+ Use launcher icons for app notifications
+ Logo
+ Display a custom logo on the status bar
+ Logo position
+ Left side
+ Right side
+ Logo style
+ MistOS
+ Android
+ Adidas
+ Alien
+ Apple
+ Avengers
+ Batman
+ Batman The Dark Knight
+ Beats
+ Biohazard
+ BlackBerry
+ Cannabis
+ Emoticon cool
+ Emoticon devil
+ Fire
+ Heart
+ Nike
+ Pac-man
+ Puma
+ ROG
+ Spider-Man
+ Superman
+ Windows
+ Xbox
+ Ghost
+ Ninja
+ Robot
+ Iron Man
+ Captain America
+ Flash
+ Tux
+ Ubuntu
+ Linux Mint
+ Amogus
+ Network traffic monitor
+ Display and customize current network traffic levels
+ Notification count
+ Display the number of unread notifications on each app icon
+ Privacy indicators
+ Microphone & camera
+ Display an indicator when an app accesses the microphone or camera
+ Location
+ Display an indicator when an app accesses your location
+ Screen projection
+ Display an indicator when the screen is being projected
+ Carrier name on lock screen
+ Display carrier name on lock screen status bar
+ Status bar lyric
+ Show lyric in status bar (need app support)
+ Options
+ Disguise device for music apps
+ Disguise device in some music applications for support status bar lyric. After changing this toggle, you have to restart applications for the change to take effect.
+
+ Clock position
+ Right
+ Left
+ Center
+ Hidden
+ Clock seconds
+ Display seconds next to clock in status bar
+ Auto hide at intervals
+ Hide clock at specific time based intervals
+ Hide duration
+ Number of seconds to hide clock
+ Show duration
+ Number of seconds to wait before hiding clock
+ Auto hide on launcher
+ Hide clock if launcher is visible
+ Background chip
+ Display accented chip behind clock
+ Solid color accent
+ Outline
+ Solid color accent gradient
+ Solid Gradient side
+ Solid accent gradient sharp
+ Gradient Void
+ Neumorph gradient
+ Sharp gradient stroke
+ Accent transperent
+ Gradient light
+ Sharp gradient corner
+ Gradient Void light
+ AM/PM style
+ 24-hour clock is enabled
+ Normal
+ Small
+ Hidden
+ Date
+ Hidden
+ Small
+ Normal
+ Date format
+ Date style
+ Normal
+ Lowercase
+ Uppercase
+ Custom java format
+ Must be in DateFormat eg. MM/dd/yy
+ Enter string
+ Date position
+ Right of time
+ Left of time
+
+ Location
+ Disabled
+ Statusbar
+ Quick Statusbar
+ Display mode
+ Upload only
+ Download only
+ Upload and download
+ Auto hide
+ Hide the traffic monitor when inactive
+ Inactivity threshold
+ Refresh interval
+ Duration after which speed is remeasured
+ Traffic measurement units
+ Bits per second (b/s)
+ Kilobits per second (kb/s)
+ Megabits per second (Mb/s)
+ Bytes per second (B/s)
+ Kilobytes per second (kB/s)
+ Megabytes per second (MB/s)
+ Hide arrows
+ Hide the network traffic indicator arrows
+
+ Interface
+ QS tiles style
+ Circle tiles
+ Square tiles
+ Circle & Square tiles
+ QS panel style
+ Outline
+ Two-Tone accent
+ Color pop
+ Shaded
+ Cyberpunk
+ Neumorph
+ Reflected
+ Surround
+ ThinLine
+ Hide label
+ Label text size
+ Only show icon in tile
+ Vertical layout
+ Show label below icon instead next to icon
+ Columns & rows
+ Customize QS columns and rows
+ QS rows should be equal or greater than QQS rows. Use higher number of columns for circle / square (A11) QS tile style.
+ Columns (portrait)
+ Columns (landscape)
+ Rows (portrait)
+ Rows (landscape)
+ Quick QS Rows (portrait)
+ Quick QS Rows (landscape)
+ Brightness slider
+ Brightness slider
+ Never show
+ Only show when expanded
+ Always show
+ Brightness percentage
+ Show brightness percentage text along with the slider
+ Brightness slider position
+ Top
+ Bottom
+ Auto brightness icon
+ Show icon toggle for adaptive brightness next to the slider
+ Haptic feedback
+ Provide haptic feedback on changing brightness using slider
+ Animations
+ Tiles animation style
+ Animation duration
+ Animation interpolator
+ No animation
+ Rotate
+ Flip X
+ Flip Y
+ Linear
+ Accelerate
+ Decelerate
+ Accelerate decelerate
+ Bounce
+ Overshoot
+ Anticipate
+ Anticipate overshoot
+ Data usage
+ Display data usage summary in quick settings footer
+ Lock screen
+ Swipe down on LS to view QS
+ Hide all quick settings in the notification shade while the device is locked
+ Secure QS tiles require unlock
+ The following quick settings require the device to be unlocked before you can interact with them:\nAirplane, Battery saver, Bluetooth, Cellular, Data saver, Hotspot, Internet, NFC, Rotation lock, and Wi-Fi
+ Miscellaneous
+ Bluetooth tile dialog
+ Show bluetooth dialog or toggle bluetooth state on tapping bluetooth tile
+ QS header image
+ Select QS background header image
+ Header image collection
+ Header image shadow
+ For better visibility on bright images
+ Static image
+ Image collection
+ Custom image
+ Header provider
+ Browse installed headers
+ Browse all available header collections
+ Select header image
+ Select an image to use for static mode
+ Select image
+ Select custom image
+ You must install a gallery app!
+ Header image offset
+ Adjust the image header size
+ Background transparency
+ Set transparency level for QS background
+ QS tiles shape
+ Dynamic
+ Circle
+ Rounded square
+ Square
+
+ Heads up
+ Allow pop up notifications
+ Interface
+ Edge light
+ Light up the side edges of the screen on notification pulse
+ Kill app
+ Show a kill app button in the notification\'s longpress menu
+ Sounds & vibration
+ Alert while display on
+ Play sound and vibration for notifications while the display is on
+
+ Alert slider notifications
+ Display notification when changing alert slider position
+
+ Compact heads-up
+ Display notifications in compact size
+
+ Always trigger on pulse
+ Whether to show edge light whenever ambient display is shown and not just for notifications
+ Repeat animation
+ Repeat until timeout
+ Show only once
+ Edge light color mode
+ Edge light style
+ Edge light stroke width
+ Configure edge light thickness
+ Draw Line
+ Blink/Pulse
+
+ Less boring
+ Display popup notifications only for alarm, dialer and messaging app
+
+ Interface
+ Power menu actions
+ Choose which actions are displayed
+ Lock screen
+ Show on secure lock screen
+ Show the power menu while the device is locked
+
+ Advanced reboot
+ Screenshot
+ On-The-Go mode
+ Airplane
+ Flashlight
+ Settings
+ Lockdown
+ Lockdown is disabled as keyguard isn\'t secure
+ Sound panel
+ Users
+ Logout
+ Emergency
+ Device controls
+
+ Spoofing
+ Developer options
+ Allow application downgrade
+ Allow downgrading system applications, which may result in crashes and data loss
+ Ignore wallpaper dimming requests
+ Blocks all apps from setting the wallpaper dim\nForces dim to 0
+ Ignore window secure flags
+ Remove restrictions on screenshots and screen recordings for all applications, potentially risking privacy leaks
+ Unlimit screenrecord
+ Remove the 15GiB file size limit\nMay result in a larger than needed output file
+
+ Hide applist
+ Prevent apps from checking selected apps from appslist
+ Show overlay
+ Hide overlay
+
+ Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen
+ Smart Pixels
+ Save battery by shutting off extra pixels
+ Auto-enable on battery saver
+ Enable Smart Pixels when battery saver is enabled
+ Percent of pixels to disable
+ Burn-in protection
+ Prevents burn-in on OLED devices by shifting pixels every so often
+
+ Component spoofing
+ Bypass app restrictions by spoofing components
+ System-Wide
+ Pixel props
+ Spoof a select group of Google apps to the latest Pixel device
+ Spoof tensor features
+ Unlock tensor/pixel features
+ Play Integrity fix
+ Spoof your device to pass Google Play Attestation
+ Storage encryption
+ Spoof the device storage encryption status to \'Encrypted\'
+ App-Specific
+ Google app
+ Spoof the Google app to the latest Pixel device to unlock exclusive features
+ Play Store
+ Spoof the Play Store to the latest Pixel device
+ Google Photos
+ Spoof the Google Photos app as a Pixel XL
+ Snapchat
+ Spoof Snapchat as a Pixel XL to fix possible chat issues
+ Enable Game Props spoofing
+ Spoof your device as different model for specific games to unlock higher FPS
+ Select Game Props JSON File
+ Pick Game Props JSON file to be used for spoofing games
+ Netflix
+ Spoof your device as different model for Netflix
+
+ Successfully downloaded pif.json. Spoofing as %1$s for Play Integrity.
+ Failed to spoof properties.
+ Update Play Integrity fix
+ Update PIF spoofing device, requires internet connection.
+ Play Integrity fix properties
+ Show all currently set PIF properties
+ Error loading PIF properties
+ Select PIF JSON file
+ Choose the PIF JSON file to be used to spoof Play Integrity
+
+ Keybox attestation override
+ Load a custom keybox XML to override device key attestation
+ Custom keybox XML loaded. Delete to clear.
+ Clear keybox data
+ Not an XML file. Choose a valid keybox XML.
+ Invalid keybox XML: required fields missing
+ Keybox loaded
+ Keybox cleared
+
+ Color Picker
+ Press on color below to apply
+ Set
+ Accent color (Default)
+ Notification color
+ Wallpaper color
+ Rainbow gradient color
+ Custom color
+
+ Value: %s
+ by default
+ Default value: %s\nLong tap to set
+ Default value is set
+
+ Enable
+ Disable
+ Boot animation applied
+ Default
+ Top
+ Bottom
+
+ milliseconds
+ seconds
+
+ SystemUI restart required
+ For changes to take effect, a SystemUI restart is required. Restart SystemUI now?
+ Yes
+ Not now
+
+ Better landscape QS
+ Enable new experimental split shade quicksettings,\nbreaks landscape headsup notifications
+
+ Power menu style
+ Cyberpunk
+ Duoline
+ IOS
+ Layers
+
+ QS header clock style
+ Chip
+ Oxygen
+ Analog
+ Simple
+
+ Notification style
+ Cyberpunk
+ Duoline
+ Fluid (Transparent)
+ IOS
+ Layers
+
+ Progress bar style
+ Blocky thumb
+ Minimal thumb
+ Outline thumb
+ Shishu
+
+ Revamped AOSP UI style
+ Realme UI style
+ AOSP default style
+ Double layer style
+ Gradient style
+ Neumorph style
+ Neumorph outline style
+ Outline style
+ Shaded layer style
+ Volume panel styles
+
+ Wallpaper styles
+ Configure wallpaper styles and settings
+ Wallpaper blur
+ Enable or disable wallpaper blur effect
+ Wallpaper blur style
+ Wallpaper dim
+ Wallpaper dim level
+ Configure wallpaper dim level
+ Glass blur
+ Frosted blur
+ For wallpaper styles to work effectively, users must set the wallpapers for the lock screen and home screen at different times.\nThe same wallpaper can be used, but it should not be applied to both the lock screen and home screen at the same time.\nThis is optional when using the BOTH OPTION for wallpaper blur and dim styles.
+
+
+ Compact QS media player
+ Enable compact mode for QuickSettings media player
+
+ Select Depth wallpaper subject
+ Select depth wallpaper subject image from storage.
+ Depth wallpaper
+ Apply depth effect\nto wallpaper
+ Enable iOS-inspired depth wallpaper. Requires a subject image.
+ Depth wallpaper opacity
+ Depth wallpaper horizontal offset
+ Depth wallpaper vertical offset
+ The depth wallpaper feature, inspired by iOS\'s Wallpaper Subject Segmentation, enables overlaying of a subject above the lock screen clock to show a wallpaper depth effect.\n\nTo setup Depth Wallpaper Feature:\n1. Set a wallpaper with the subject or a background you want the subject to be above of.\n2. Select a subject image to track, this image will be overlaid above the lock screen clock.\n3. Modify the offsets and opacity according to your needs.
+
+
+ Media cover art
+ Display media cover art when available
+ Media cover art fade level
+ Set media cover art fade level
+
+ Media cover art filter
+ None
+ Grayscale
+ Accent tinted
+ Blur
+ Grayscale and blurred
+
+ Media art blur level
+ Blur intensity when blur filter is applied
+
+ System haptics
+ Modify system haptics intensities
+ Back gesture haptics intensity
+ Brightness slider haptics intensity
+ Edge scrolling haptics intensity
+ Volume slider haptics intensity
+ QS tile haptics intensity
+ Qs fling haptics intensity
+ Vibrate on touching QS tiles
+
+ Weather settings
+ Setup icon pack and weather service
+ Weather
+ Weather update
+ Display current weather update
+ Requires weather service to be enabled
+ Current location
+ Display current weather location
+ Current condition
+ Display current weather condition summary
+ Pixel style
+ Display weather as separate row
+
+ Always-On-Display
+ Pulse/Doze
+
+ AOD image
+ Select AOD image
+ Set custom AOD image
+ Select AOD image from gallery
+ Clock style not supported
+
+ QS widgets
+ Show widgets for quick access. \nLimits QS rows to 2 to avoid breaking AOSP QS Panel scrolling
+
+ Widgets
+ Enable lock screen widgets
+ Add widgets to lock screen
+ Device info widget
+ Show device info widget on lock screen
+ Big widgets
+ Big widget 1
+ Big widget 2
+ Mini widgets
+ Mini widget 1
+ Mini widget 2
+ Mini widget 3
+ Mini widget 4
+ Camera
+ Clock/Timer
+ Calculator
+ Gallery
+ Media Player
+ Torch
+ Play
+ Weather
+ Wifi
+ Data
+ Ringer
+ Bluetooth
+ Hotspot
+ Wallet
+
+ Lock screen widgets style
+ Material Rounded
+ Material Square
+ Translucent (Square)
+ Translucent (Rounded)
+ Translucent style widget transparency
+ Configure translucent style widget opacity level
+
+ Font Styles
+ Change system font style
+ The quick brown\nfox jumps over the\nlazy dog\n\nABCDEFGHIJKLM\nNOPQRSTUVWXYZ\nabcdefghijkl\nmnopqrstuvwxyz\n1234567890
+ Apply
+ Select font
+
+ Apply
+
+ Peek display
+ Enable minimal lock screen notification style
+ Peek display location
+ Peek display (bottom) top margin
+
+ Minimalist
+ Peek display style
+
+ Now bar
+ Enable now bar lock screen widgets
+ Now bar height
+ Adjust the height of the Now bar
+
+ Notification icons
+ Maximum notification icons visible on status bar
+
+ Statusbar action chip
+ Statusbar action chip options
+ Ongoing action chip
+ Show progress indicator in status bar for ongoing actions like downloads
+ Show media progress
+ \"Display media playback progress in the status bar
+ \"The status bar progress bar provides real-time updates for both media playback and active downloads/uploads.
+
+ - 🎵 Media Progress:
+ • Displays playback progress for music and video when media is playing.
+ • Single tap opens playback controls (Previous, Next track).
+ • Double tap toggles play/pause.
+ • Swipe left skips to the previous track.
+ • Swipe right skips to the next track.
+ • Long press opens the media app.
+
+ - 📥Download/Upload Progress:
+ • Shows progress for ongoing downloads and uploads.
+ • Automatically hides when no active transfers are detected.
+ • Single tap opens the app responsible for the download.
+
+ The progress bar dynamically switches between media and download states, ensuring you always have the most relevant information at a glance.\"
+
+ Compact Progress Indicator
+ Use a compact circular indicator for ongoing actions
+
+ Show squiggle animation
+ Show media panel squiggle animation\nAfter change need to switch music, pause music or move the progress bar to apply
+
+ Expressive Design
+ Enable Expressive Design preview
+
+ AOD wallpaper
+ Show wallpaper when aod on
+
+ Battery bar
+ Display and customize battery bar above status bar
+ Color
+ Charging color
+ Low battery color
+ Alignment
+ Thickness
+ Charging animation
+ Regular
+ Center-mirrored
+ Reversed
+ Custom charging color
+ Blend colors
+ Blend full/empty colors corresponding to battery percentage
+ Reverse color direction
+ Full → empty: red ← green ← blue ← red
+ Full → empty: red → green → blue → red
+ Use gradient color
+ Use gradient color as a scale for the battery level
+ High level color\"
+ Low level color\"
+ Charging animation color
+
+ Keyguard affordance single tap
+ Toggle keyguard affordances with a single tap
+
+ QuickSwitch
+ Customize default homescreen app
+ Nothing launcher customizations
+ Customize nothing launcher homescreen app
+ QuickSwitch is not supported; the system only has one launcher.
+ Notes: \n\n
+ 1. Due to compatibility issues with current Android API, the Lawnchair Launcher uses the Mist Launcher recents overview and will override any third-party launchers when set as the active QuickSwitch launcher. For better compatibility with third-party launchers, consider setting the QuickSwitch launcher to Mist or Pixel Launcher instead.\n\n
+ 2. External launcher modules/modifications must be adapted to the QuickSwitch structure to function properly.
+
+
+ Default
+ Color
+ Default (White)
+ Accent
+ Custom
+
+ Transient task mode
+ Transient task mode (Reboot your device to apply changes)
+ Dismiss apps from recents when last activity gets closed using back button.
+ Disable (Default)
+ Enable (Some apps will stay)
+ Force (Override app behaviour)
+
+ Small landscape notifications
+ Shows notifications smaller in width in notification panel in landscape mode just as AOSP intended
+
+ Island notification
+ Display heads-up notification in Dynamic Island style
+ The Island notification feature, inspired by iOS\'s Dynamic Island, transforms Android\'s heads-up notifications into quick-access and compact notification utility.\n\nIsland Quick Access Controls includes the following features:\n1. Tap island notification to quick answer phone calls.\n2. Long press island notification to reject phone calls.\n3. Long press island notification to expand the island notification preview.
+
+
diff --git a/res/values-fr-rFR/mist_strings.xml b/res/values-fr-rFR/mist_strings.xml
new file mode 100644
index 00000000..3cdd1b6a
--- /dev/null
+++ b/res/values-fr-rFR/mist_strings.xml
@@ -0,0 +1,895 @@
+
+
+
+
+ Settings dashboard style
+ The style of Settings main page
+ AOSP legacy
+ AOSP revamped
+ Mist Ui
+ Settings Ui
+ Change the Setting Ui
+ System Ui
+
+ Mistify Tweek
+ Magic Happen Here!!
+
+ Themes
+ Monet, fonts, icons
+ Lock screen
+ Interface, miscellaneous
+ Status bar
+ Gestures, Icons, privacy indicators
+ Quick settings
+ Interface, lock screen
+ Notifications
+ Alerts, interface
+ Power menu
+ Actions, lock screen
+ Buttons
+ Power button, volume buttons
+ Miscellaneous
+ Developer options, spoofing
+ About
+ About MistOS
+
+ General
+ Monet
+ Monet settings
+ Customize Android\'s built-in theme engine
+ Audio
+ Lock sound
+ Unlock sound
+ Fonts
+ System font
+ Set system font style
+ Lock screen clock font
+ Set lock screen clock font style
+ Icons
+ System Icons
+ Set system icon style
+ Icon shape
+ Set system icon shape
+ Signal icon
+ Set signal icon style
+ Wi-Fi icon
+ Set Wi-Fi icon style
+ Navigation bar icons
+ Set navigation bar icon style
+ UDFPS icon
+ Set UDFPS icon style
+ Brightness slider
+ Brightness slider style
+ Set brightness slider style
+ Animations
+ Boot animation
+ Set boot animation style
+ Charging animation
+ Display an animation when the device is plugged in
+ Screen off animation
+ CRT
+ Scale
+ UDFPS animation
+ Set UDFPS animation style
+ Pixel Launcher
+ Background blur
+ Enable blur effect for recent items page background
+ More themed icons
+ Extends support for dynamic color themed icons for installed apps
+ Font style
+ Set system font style
+ Icon pack
+ Set custom icon pack style
+ Icon shape
+ Set system icon shape style
+ Signal icon style
+ Set custom signal icon style
+ WiFi icon style
+ Set custom wifi icon style
+ Navbar style
+ Set custom navigation bar style
+ Clock font style
+ Set lockscreen clock font style
+ Brightness slider style
+ Set custom brightness slider style
+
+ Preview of the selected boot animation
+ Displays a preview of the currently selected boot animation
+ Boot animation preview
+
+ Accent color
+ Choose custom color for accent
+ Background color
+ Choose custom color for background
+ Custom color
+ Luminance
+ Higher values produce brighter colors
+ Chroma factor
+ Higher values produce stronger colors
+ Whole palette
+ Make Luminance and Chroma selection affect secondary colors as well
+ Tint background
+ Make luminance and chroma selection affect background colors as well
+ Theme style
+ Tonal Spot (Default)
+ Vibrant
+ Expressive
+ Spritz
+ Rainbow
+ Fruit Salad
+ Content
+ Monochromatic
+ Color source
+ Both (Default)
+ Home wallpaper
+ Lock wallpaper
+ Preset
+
+ Interface
+ Charging stats
+ Display current, voltage, wattage, and temperature stats while charging
+ Fingerprint
+ Ripple animation
+ Show ripple animation when unlocked with fingerprint
+ Screen-Off UDFPS
+ Keep UDFPS enabled while the screen is off
+ Authentication success vibration
+ Vibrate when fingerprint authentication is successful
+ Authentication error vibration
+ Vibrate when fingerprint authentication fails
+ Miscellaneous
+ Pocket detection
+ Block screen and button inputs when device is in pocket
+ Always on Pocket mode
+ Always block screen and button inputs when screen is turned on
+
+ About Pulse
+ Pulse is a brilliant audio graphic equalizer when music plays on the device
+ Pulse
+ Audio graphic equalizer for navigation bar and lock screen
+ Navbar pulse
+ Audio graphic equalizer on the navigation bar
+ Lock screen pulse
+ Audio graphic equalizer on the lock screen
+ Ambient pulse
+ Audio graphic equalizer on the ambient screen
+ Render mode
+ Fading blocks
+ Solid lines
+ Fading blocks mode settings
+ Sanity level
+ Lava lamp speed
+ Rounded corners
+ Solid lines with rounded tip
+ Solid lines count
+ Solid lines opacity
+ Solid lines mode settings
+ Color
+ Accent
+ Custom
+ Lava lamp
+ Choose color
+ Turn on smoothing
+ Each bar is animated more smoothly
+ Bar width
+ Bar spacing
+ Block size
+ Block spacing
+
+ Swipe left or right to preview clock styles
+
+ Selected clock does not support custom fonts
+
+ Clock
+ Configure lock screen clock styles
+ Custom Clock Style
+ Clock face
+ Modify lock screen clock appearance
+
+ Gestures
+ Brightness control
+ Adjust brightness by swiping across the status bar
+ Quick pull down
+ %1$s of the status bar pulls down quick settings
+ Off
+ Right side
+ Left side
+ Both sides
+ Icons
+ Status bar tuner
+ Choose which system icons can be shown
+ Battery style
+ Icon portrait
+ Icon landscape (Right)
+ Icon landscape (Left)
+ Landscape Capsule
+ Landscape Lorn
+ Portrait IOS
+ Portrait Mx
+ Landscape Airoo
+ Landscape R Style A
+ Landscape L Style A
+ Landscape R Style B
+ Landscape L Style B
+ Landscape iOS 15
+ Landscape iOS 16
+ Landscape Origami
+ Landscape OneUI 7
+ Circle
+ Dotted circle
+ Filled circle
+ Big circle
+ Big dotted circle
+ Text
+ Hidden
+ Follow status bar style
+ Battery percent
+ Hidden
+ Inside the icon
+ Next to the icon (right)
+ Next to the icon (left)
+ Battery percentage when charging
+ Always display battery percentage when charging
+ Clock & date
+ Customize clock & date
+ Data disabled indicator
+ Display an indicator next to signal icon when data is disabled
+ 4G icon
+ Replace \'LTE\' icon with \'4G\'
+ Wi-Fi standard
+ Display Wi-Fi standard next the Wi-Fi icon
+ Bluetooth battery status
+ Display battery status for the connected Bluetooth device, if available
+ Colored icons
+ Use launcher icons for app notifications
+ Logo
+ Display a custom logo on the status bar
+ Logo position
+ Left side
+ Right side
+ Logo style
+ MistOS
+ Android
+ Adidas
+ Alien
+ Apple
+ Avengers
+ Batman
+ Batman The Dark Knight
+ Beats
+ Biohazard
+ BlackBerry
+ Cannabis
+ Emoticon cool
+ Emoticon devil
+ Fire
+ Heart
+ Nike
+ Pac-man
+ Puma
+ ROG
+ Spider-Man
+ Superman
+ Windows
+ Xbox
+ Ghost
+ Ninja
+ Robot
+ Iron Man
+ Captain America
+ Flash
+ Tux
+ Ubuntu
+ Linux Mint
+ Amogus
+ Network traffic monitor
+ Display and customize current network traffic levels
+ Notification count
+ Display the number of unread notifications on each app icon
+ Privacy indicators
+ Microphone & camera
+ Display an indicator when an app accesses the microphone or camera
+ Location
+ Display an indicator when an app accesses your location
+ Screen projection
+ Display an indicator when the screen is being projected
+ Carrier name on lock screen
+ Display carrier name on lock screen status bar
+ Status bar lyric
+ Show lyric in status bar (need app support)
+ Options
+ Disguise device for music apps
+ Disguise device in some music applications for support status bar lyric. After changing this toggle, you have to restart applications for the change to take effect.
+
+ Clock position
+ Right
+ Left
+ Center
+ Hidden
+ Clock seconds
+ Display seconds next to clock in status bar
+ Auto hide at intervals
+ Hide clock at specific time based intervals
+ Hide duration
+ Number of seconds to hide clock
+ Show duration
+ Number of seconds to wait before hiding clock
+ Auto hide on launcher
+ Hide clock if launcher is visible
+ Background chip
+ Display accented chip behind clock
+ Solid color accent
+ Outline
+ Solid color accent gradient
+ Solid Gradient side
+ Solid accent gradient sharp
+ Gradient Void
+ Neumorph gradient
+ Sharp gradient stroke
+ Accent transperent
+ Gradient light
+ Sharp gradient corner
+ Gradient Void light
+ AM/PM style
+ 24-hour clock is enabled
+ Normal
+ Small
+ Hidden
+ Date
+ Hidden
+ Small
+ Normal
+ Date format
+ Date style
+ Normal
+ Lowercase
+ Uppercase
+ Custom java format
+ Must be in DateFormat eg. MM/dd/yy
+ Enter string
+ Date position
+ Right of time
+ Left of time
+
+ Location
+ Disabled
+ Statusbar
+ Quick Statusbar
+ Display mode
+ Upload only
+ Download only
+ Upload and download
+ Auto hide
+ Hide the traffic monitor when inactive
+ Inactivity threshold
+ Refresh interval
+ Duration after which speed is remeasured
+ Traffic measurement units
+ Bits per second (b/s)
+ Kilobits per second (kb/s)
+ Megabits per second (Mb/s)
+ Bytes per second (B/s)
+ Kilobytes per second (kB/s)
+ Megabytes per second (MB/s)
+ Hide arrows
+ Hide the network traffic indicator arrows
+
+ Interface
+ QS tiles style
+ Circle tiles
+ Square tiles
+ Circle & Square tiles
+ QS panel style
+ Outline
+ Two-Tone accent
+ Color pop
+ Shaded
+ Cyberpunk
+ Neumorph
+ Reflected
+ Surround
+ ThinLine
+ Hide label
+ Label text size
+ Only show icon in tile
+ Vertical layout
+ Show label below icon instead next to icon
+ Columns & rows
+ Customize QS columns and rows
+ QS rows should be equal or greater than QQS rows. Use higher number of columns for circle / square (A11) QS tile style.
+ Columns (portrait)
+ Columns (landscape)
+ Rows (portrait)
+ Rows (landscape)
+ Quick QS Rows (portrait)
+ Quick QS Rows (landscape)
+ Brightness slider
+ Brightness slider
+ Never show
+ Only show when expanded
+ Always show
+ Brightness percentage
+ Show brightness percentage text along with the slider
+ Brightness slider position
+ Top
+ Bottom
+ Auto brightness icon
+ Show icon toggle for adaptive brightness next to the slider
+ Haptic feedback
+ Provide haptic feedback on changing brightness using slider
+ Animations
+ Tiles animation style
+ Animation duration
+ Animation interpolator
+ No animation
+ Rotate
+ Flip X
+ Flip Y
+ Linear
+ Accelerate
+ Decelerate
+ Accelerate decelerate
+ Bounce
+ Overshoot
+ Anticipate
+ Anticipate overshoot
+ Data usage
+ Display data usage summary in quick settings footer
+ Lock screen
+ Swipe down on LS to view QS
+ Hide all quick settings in the notification shade while the device is locked
+ Secure QS tiles require unlock
+ The following quick settings require the device to be unlocked before you can interact with them:\nAirplane, Battery saver, Bluetooth, Cellular, Data saver, Hotspot, Internet, NFC, Rotation lock, and Wi-Fi
+ Miscellaneous
+ Bluetooth tile dialog
+ Show bluetooth dialog or toggle bluetooth state on tapping bluetooth tile
+ QS header image
+ Select QS background header image
+ Header image collection
+ Header image shadow
+ For better visibility on bright images
+ Static image
+ Image collection
+ Custom image
+ Header provider
+ Browse installed headers
+ Browse all available header collections
+ Select header image
+ Select an image to use for static mode
+ Select image
+ Select custom image
+ You must install a gallery app!
+ Header image offset
+ Adjust the image header size
+ Background transparency
+ Set transparency level for QS background
+ QS tiles shape
+ Dynamic
+ Circle
+ Rounded square
+ Square
+
+ Heads up
+ Allow pop up notifications
+ Interface
+ Edge light
+ Light up the side edges of the screen on notification pulse
+ Kill app
+ Show a kill app button in the notification\'s longpress menu
+ Sounds & vibration
+ Alert while display on
+ Play sound and vibration for notifications while the display is on
+
+ Alert slider notifications
+ Display notification when changing alert slider position
+
+ Compact heads-up
+ Display notifications in compact size
+
+ Always trigger on pulse
+ Whether to show edge light whenever ambient display is shown and not just for notifications
+ Repeat animation
+ Repeat until timeout
+ Show only once
+ Edge light color mode
+ Edge light style
+ Edge light stroke width
+ Configure edge light thickness
+ Draw Line
+ Blink/Pulse
+
+ Less boring
+ Display popup notifications only for alarm, dialer and messaging app
+
+ Interface
+ Power menu actions
+ Choose which actions are displayed
+ Lock screen
+ Show on secure lock screen
+ Show the power menu while the device is locked
+
+ Advanced reboot
+ Screenshot
+ On-The-Go mode
+ Airplane
+ Flashlight
+ Settings
+ Lockdown
+ Lockdown is disabled as keyguard isn\'t secure
+ Sound panel
+ Users
+ Logout
+ Emergency
+ Device controls
+
+ Spoofing
+ Developer options
+ Allow application downgrade
+ Allow downgrading system applications, which may result in crashes and data loss
+ Ignore wallpaper dimming requests
+ Blocks all apps from setting the wallpaper dim\nForces dim to 0
+ Ignore window secure flags
+ Remove restrictions on screenshots and screen recordings for all applications, potentially risking privacy leaks
+ Unlimit screenrecord
+ Remove the 15GiB file size limit\nMay result in a larger than needed output file
+
+ Hide applist
+ Prevent apps from checking selected apps from appslist
+ Show overlay
+ Hide overlay
+
+ Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen
+ Smart Pixels
+ Save battery by shutting off extra pixels
+ Auto-enable on battery saver
+ Enable Smart Pixels when battery saver is enabled
+ Percent of pixels to disable
+ Burn-in protection
+ Prevents burn-in on OLED devices by shifting pixels every so often
+
+ Component spoofing
+ Bypass app restrictions by spoofing components
+ System-Wide
+ Pixel props
+ Spoof a select group of Google apps to the latest Pixel device
+ Spoof tensor features
+ Unlock tensor/pixel features
+ Play Integrity fix
+ Spoof your device to pass Google Play Attestation
+ Storage encryption
+ Spoof the device storage encryption status to \'Encrypted\'
+ App-Specific
+ Google app
+ Spoof the Google app to the latest Pixel device to unlock exclusive features
+ Play Store
+ Spoof the Play Store to the latest Pixel device
+ Google Photos
+ Spoof the Google Photos app as a Pixel XL
+ Snapchat
+ Spoof Snapchat as a Pixel XL to fix possible chat issues
+ Enable Game Props spoofing
+ Spoof your device as different model for specific games to unlock higher FPS
+ Select Game Props JSON File
+ Pick Game Props JSON file to be used for spoofing games
+ Netflix
+ Spoof your device as different model for Netflix
+
+ Successfully downloaded pif.json. Spoofing as %1$s for Play Integrity.
+ Failed to spoof properties.
+ Update Play Integrity fix
+ Update PIF spoofing device, requires internet connection.
+ Play Integrity fix properties
+ Show all currently set PIF properties
+ Error loading PIF properties
+ Select PIF JSON file
+ Choose the PIF JSON file to be used to spoof Play Integrity
+
+ Keybox attestation override
+ Load a custom keybox XML to override device key attestation
+ Custom keybox XML loaded. Delete to clear.
+ Clear keybox data
+ Not an XML file. Choose a valid keybox XML.
+ Invalid keybox XML: required fields missing
+ Keybox loaded
+ Keybox cleared
+
+ Color Picker
+ Press on color below to apply
+ Set
+ Accent color (Default)
+ Notification color
+ Wallpaper color
+ Rainbow gradient color
+ Custom color
+
+ Value: %s
+ by default
+ Default value: %s\nLong tap to set
+ Default value is set
+
+ Enable
+ Disable
+ Boot animation applied
+ Default
+ Top
+ Bottom
+
+ milliseconds
+ seconds
+
+ SystemUI restart required
+ For changes to take effect, a SystemUI restart is required. Restart SystemUI now?
+ Yes
+ Not now
+
+ Better landscape QS
+ Enable new experimental split shade quicksettings,\nbreaks landscape headsup notifications
+
+ Power menu style
+ Cyberpunk
+ Duoline
+ IOS
+ Layers
+
+ QS header clock style
+ Chip
+ Oxygen
+ Analog
+ Simple
+
+ Notification style
+ Cyberpunk
+ Duoline
+ Fluid (Transparent)
+ IOS
+ Layers
+
+ Progress bar style
+ Blocky thumb
+ Minimal thumb
+ Outline thumb
+ Shishu
+
+ Revamped AOSP UI style
+ Realme UI style
+ AOSP default style
+ Double layer style
+ Gradient style
+ Neumorph style
+ Neumorph outline style
+ Outline style
+ Shaded layer style
+ Volume panel styles
+
+ Wallpaper styles
+ Configure wallpaper styles and settings
+ Wallpaper blur
+ Enable or disable wallpaper blur effect
+ Wallpaper blur style
+ Wallpaper dim
+ Wallpaper dim level
+ Configure wallpaper dim level
+ Glass blur
+ Frosted blur
+ For wallpaper styles to work effectively, users must set the wallpapers for the lock screen and home screen at different times.\nThe same wallpaper can be used, but it should not be applied to both the lock screen and home screen at the same time.\nThis is optional when using the BOTH OPTION for wallpaper blur and dim styles.
+
+
+ Compact QS media player
+ Enable compact mode for QuickSettings media player
+
+ Select Depth wallpaper subject
+ Select depth wallpaper subject image from storage.
+ Depth wallpaper
+ Apply depth effect\nto wallpaper
+ Enable iOS-inspired depth wallpaper. Requires a subject image.
+ Depth wallpaper opacity
+ Depth wallpaper horizontal offset
+ Depth wallpaper vertical offset
+ The depth wallpaper feature, inspired by iOS\'s Wallpaper Subject Segmentation, enables overlaying of a subject above the lock screen clock to show a wallpaper depth effect.\n\nTo setup Depth Wallpaper Feature:\n1. Set a wallpaper with the subject or a background you want the subject to be above of.\n2. Select a subject image to track, this image will be overlaid above the lock screen clock.\n3. Modify the offsets and opacity according to your needs.
+
+
+ Media cover art
+ Display media cover art when available
+ Media cover art fade level
+ Set media cover art fade level
+
+ Media cover art filter
+ None
+ Grayscale
+ Accent tinted
+ Blur
+ Grayscale and blurred
+
+ Media art blur level
+ Blur intensity when blur filter is applied
+
+ System haptics
+ Modify system haptics intensities
+ Back gesture haptics intensity
+ Brightness slider haptics intensity
+ Edge scrolling haptics intensity
+ Volume slider haptics intensity
+ QS tile haptics intensity
+ Qs fling haptics intensity
+ Vibrate on touching QS tiles
+
+ Weather settings
+ Setup icon pack and weather service
+ Weather
+ Weather update
+ Display current weather update
+ Requires weather service to be enabled
+ Current location
+ Display current weather location
+ Current condition
+ Display current weather condition summary
+ Pixel style
+ Display weather as separate row
+
+ Always-On-Display
+ Pulse/Doze
+
+ AOD image
+ Select AOD image
+ Set custom AOD image
+ Select AOD image from gallery
+ Clock style not supported
+
+ QS widgets
+ Show widgets for quick access. \nLimits QS rows to 2 to avoid breaking AOSP QS Panel scrolling
+
+ Widgets
+ Enable lock screen widgets
+ Add widgets to lock screen
+ Device info widget
+ Show device info widget on lock screen
+ Big widgets
+ Big widget 1
+ Big widget 2
+ Mini widgets
+ Mini widget 1
+ Mini widget 2
+ Mini widget 3
+ Mini widget 4
+ Camera
+ Clock/Timer
+ Calculator
+ Gallery
+ Media Player
+ Torch
+ Play
+ Weather
+ Wifi
+ Data
+ Ringer
+ Bluetooth
+ Hotspot
+ Wallet
+
+ Lock screen widgets style
+ Material Rounded
+ Material Square
+ Translucent (Square)
+ Translucent (Rounded)
+ Translucent style widget transparency
+ Configure translucent style widget opacity level
+
+ Font Styles
+ Change system font style
+ The quick brown\nfox jumps over the\nlazy dog\n\nABCDEFGHIJKLM\nNOPQRSTUVWXYZ\nabcdefghijkl\nmnopqrstuvwxyz\n1234567890
+ Apply
+ Select font
+
+ Apply
+
+ Peek display
+ Enable minimal lock screen notification style
+ Peek display location
+ Peek display (bottom) top margin
+
+ Minimalist
+ Peek display style
+
+ Now bar
+ Enable now bar lock screen widgets
+ Now bar height
+ Adjust the height of the Now bar
+
+ Notification icons
+ Maximum notification icons visible on status bar
+
+ Statusbar action chip
+ Statusbar action chip options
+ Ongoing action chip
+ Show progress indicator in status bar for ongoing actions like downloads
+ Show media progress
+ \"Display media playback progress in the status bar
+ \"The status bar progress bar provides real-time updates for both media playback and active downloads/uploads.
+
+ - 🎵 Media Progress:
+ • Displays playback progress for music and video when media is playing.
+ • Single tap opens playback controls (Previous, Next track).
+ • Double tap toggles play/pause.
+ • Swipe left skips to the previous track.
+ • Swipe right skips to the next track.
+ • Long press opens the media app.
+
+ - 📥Download/Upload Progress:
+ • Shows progress for ongoing downloads and uploads.
+ • Automatically hides when no active transfers are detected.
+ • Single tap opens the app responsible for the download.
+
+ The progress bar dynamically switches between media and download states, ensuring you always have the most relevant information at a glance.\"
+
+ Compact Progress Indicator
+ Use a compact circular indicator for ongoing actions
+
+ Show squiggle animation
+ Show media panel squiggle animation\nAfter change need to switch music, pause music or move the progress bar to apply
+
+ Expressive Design
+ Enable Expressive Design preview
+
+ AOD wallpaper
+ Show wallpaper when aod on
+
+ Battery bar
+ Display and customize battery bar above status bar
+ Color
+ Charging color
+ Low battery color
+ Alignment
+ Thickness
+ Charging animation
+ Regular
+ Center-mirrored
+ Reversed
+ Custom charging color
+ Blend colors
+ Blend full/empty colors corresponding to battery percentage
+ Reverse color direction
+ Full → empty: red ← green ← blue ← red
+ Full → empty: red → green → blue → red
+ Use gradient color
+ Use gradient color as a scale for the battery level
+ High level color\"
+ Low level color\"
+ Charging animation color
+
+ Keyguard affordance single tap
+ Toggle keyguard affordances with a single tap
+
+ QuickSwitch
+ Customize default homescreen app
+ Nothing launcher customizations
+ Customize nothing launcher homescreen app
+ QuickSwitch is not supported; the system only has one launcher.
+ Notes: \n\n
+ 1. Due to compatibility issues with current Android API, the Lawnchair Launcher uses the Mist Launcher recents overview and will override any third-party launchers when set as the active QuickSwitch launcher. For better compatibility with third-party launchers, consider setting the QuickSwitch launcher to Mist or Pixel Launcher instead.\n\n
+ 2. External launcher modules/modifications must be adapted to the QuickSwitch structure to function properly.
+
+
+ Default
+ Color
+ Default (White)
+ Accent
+ Custom
+
+ Transient task mode
+ Transient task mode (Reboot your device to apply changes)
+ Dismiss apps from recents when last activity gets closed using back button.
+ Disable (Default)
+ Enable (Some apps will stay)
+ Force (Override app behaviour)
+
+ Small landscape notifications
+ Shows notifications smaller in width in notification panel in landscape mode just as AOSP intended
+
+ Island notification
+ Display heads-up notification in Dynamic Island style
+ The Island notification feature, inspired by iOS\'s Dynamic Island, transforms Android\'s heads-up notifications into quick-access and compact notification utility.\n\nIsland Quick Access Controls includes the following features:\n1. Tap island notification to quick answer phone calls.\n2. Long press island notification to reject phone calls.\n3. Long press island notification to expand the island notification preview.
+
+
diff --git a/res/values-in-rID/mist_strings.xml b/res/values-in-rID/mist_strings.xml
new file mode 100644
index 00000000..3cdd1b6a
--- /dev/null
+++ b/res/values-in-rID/mist_strings.xml
@@ -0,0 +1,895 @@
+
+
+
+
+ Settings dashboard style
+ The style of Settings main page
+ AOSP legacy
+ AOSP revamped
+ Mist Ui
+ Settings Ui
+ Change the Setting Ui
+ System Ui
+
+ Mistify Tweek
+ Magic Happen Here!!
+
+ Themes
+ Monet, fonts, icons
+ Lock screen
+ Interface, miscellaneous
+ Status bar
+ Gestures, Icons, privacy indicators
+ Quick settings
+ Interface, lock screen
+ Notifications
+ Alerts, interface
+ Power menu
+ Actions, lock screen
+ Buttons
+ Power button, volume buttons
+ Miscellaneous
+ Developer options, spoofing
+ About
+ About MistOS
+
+ General
+ Monet
+ Monet settings
+ Customize Android\'s built-in theme engine
+ Audio
+ Lock sound
+ Unlock sound
+ Fonts
+ System font
+ Set system font style
+ Lock screen clock font
+ Set lock screen clock font style
+ Icons
+ System Icons
+ Set system icon style
+ Icon shape
+ Set system icon shape
+ Signal icon
+ Set signal icon style
+ Wi-Fi icon
+ Set Wi-Fi icon style
+ Navigation bar icons
+ Set navigation bar icon style
+ UDFPS icon
+ Set UDFPS icon style
+ Brightness slider
+ Brightness slider style
+ Set brightness slider style
+ Animations
+ Boot animation
+ Set boot animation style
+ Charging animation
+ Display an animation when the device is plugged in
+ Screen off animation
+ CRT
+ Scale
+ UDFPS animation
+ Set UDFPS animation style
+ Pixel Launcher
+ Background blur
+ Enable blur effect for recent items page background
+ More themed icons
+ Extends support for dynamic color themed icons for installed apps
+ Font style
+ Set system font style
+ Icon pack
+ Set custom icon pack style
+ Icon shape
+ Set system icon shape style
+ Signal icon style
+ Set custom signal icon style
+ WiFi icon style
+ Set custom wifi icon style
+ Navbar style
+ Set custom navigation bar style
+ Clock font style
+ Set lockscreen clock font style
+ Brightness slider style
+ Set custom brightness slider style
+
+ Preview of the selected boot animation
+ Displays a preview of the currently selected boot animation
+ Boot animation preview
+
+ Accent color
+ Choose custom color for accent
+ Background color
+ Choose custom color for background
+ Custom color
+ Luminance
+ Higher values produce brighter colors
+ Chroma factor
+ Higher values produce stronger colors
+ Whole palette
+ Make Luminance and Chroma selection affect secondary colors as well
+ Tint background
+ Make luminance and chroma selection affect background colors as well
+ Theme style
+ Tonal Spot (Default)
+ Vibrant
+ Expressive
+ Spritz
+ Rainbow
+ Fruit Salad
+ Content
+ Monochromatic
+ Color source
+ Both (Default)
+ Home wallpaper
+ Lock wallpaper
+ Preset
+
+ Interface
+ Charging stats
+ Display current, voltage, wattage, and temperature stats while charging
+ Fingerprint
+ Ripple animation
+ Show ripple animation when unlocked with fingerprint
+ Screen-Off UDFPS
+ Keep UDFPS enabled while the screen is off
+ Authentication success vibration
+ Vibrate when fingerprint authentication is successful
+ Authentication error vibration
+ Vibrate when fingerprint authentication fails
+ Miscellaneous
+ Pocket detection
+ Block screen and button inputs when device is in pocket
+ Always on Pocket mode
+ Always block screen and button inputs when screen is turned on
+
+ About Pulse
+ Pulse is a brilliant audio graphic equalizer when music plays on the device
+ Pulse
+ Audio graphic equalizer for navigation bar and lock screen
+ Navbar pulse
+ Audio graphic equalizer on the navigation bar
+ Lock screen pulse
+ Audio graphic equalizer on the lock screen
+ Ambient pulse
+ Audio graphic equalizer on the ambient screen
+ Render mode
+ Fading blocks
+ Solid lines
+ Fading blocks mode settings
+ Sanity level
+ Lava lamp speed
+ Rounded corners
+ Solid lines with rounded tip
+ Solid lines count
+ Solid lines opacity
+ Solid lines mode settings
+ Color
+ Accent
+ Custom
+ Lava lamp
+ Choose color
+ Turn on smoothing
+ Each bar is animated more smoothly
+ Bar width
+ Bar spacing
+ Block size
+ Block spacing
+
+ Swipe left or right to preview clock styles
+
+ Selected clock does not support custom fonts
+
+ Clock
+ Configure lock screen clock styles
+ Custom Clock Style
+ Clock face
+ Modify lock screen clock appearance
+
+ Gestures
+ Brightness control
+ Adjust brightness by swiping across the status bar
+ Quick pull down
+ %1$s of the status bar pulls down quick settings
+ Off
+ Right side
+ Left side
+ Both sides
+ Icons
+ Status bar tuner
+ Choose which system icons can be shown
+ Battery style
+ Icon portrait
+ Icon landscape (Right)
+ Icon landscape (Left)
+ Landscape Capsule
+ Landscape Lorn
+ Portrait IOS
+ Portrait Mx
+ Landscape Airoo
+ Landscape R Style A
+ Landscape L Style A
+ Landscape R Style B
+ Landscape L Style B
+ Landscape iOS 15
+ Landscape iOS 16
+ Landscape Origami
+ Landscape OneUI 7
+ Circle
+ Dotted circle
+ Filled circle
+ Big circle
+ Big dotted circle
+ Text
+ Hidden
+ Follow status bar style
+ Battery percent
+ Hidden
+ Inside the icon
+ Next to the icon (right)
+ Next to the icon (left)
+ Battery percentage when charging
+ Always display battery percentage when charging
+ Clock & date
+ Customize clock & date
+ Data disabled indicator
+ Display an indicator next to signal icon when data is disabled
+ 4G icon
+ Replace \'LTE\' icon with \'4G\'
+ Wi-Fi standard
+ Display Wi-Fi standard next the Wi-Fi icon
+ Bluetooth battery status
+ Display battery status for the connected Bluetooth device, if available
+ Colored icons
+ Use launcher icons for app notifications
+ Logo
+ Display a custom logo on the status bar
+ Logo position
+ Left side
+ Right side
+ Logo style
+ MistOS
+ Android
+ Adidas
+ Alien
+ Apple
+ Avengers
+ Batman
+ Batman The Dark Knight
+ Beats
+ Biohazard
+ BlackBerry
+ Cannabis
+ Emoticon cool
+ Emoticon devil
+ Fire
+ Heart
+ Nike
+ Pac-man
+ Puma
+ ROG
+ Spider-Man
+ Superman
+ Windows
+ Xbox
+ Ghost
+ Ninja
+ Robot
+ Iron Man
+ Captain America
+ Flash
+ Tux
+ Ubuntu
+ Linux Mint
+ Amogus
+ Network traffic monitor
+ Display and customize current network traffic levels
+ Notification count
+ Display the number of unread notifications on each app icon
+ Privacy indicators
+ Microphone & camera
+ Display an indicator when an app accesses the microphone or camera
+ Location
+ Display an indicator when an app accesses your location
+ Screen projection
+ Display an indicator when the screen is being projected
+ Carrier name on lock screen
+ Display carrier name on lock screen status bar
+ Status bar lyric
+ Show lyric in status bar (need app support)
+ Options
+ Disguise device for music apps
+ Disguise device in some music applications for support status bar lyric. After changing this toggle, you have to restart applications for the change to take effect.
+
+ Clock position
+ Right
+ Left
+ Center
+ Hidden
+ Clock seconds
+ Display seconds next to clock in status bar
+ Auto hide at intervals
+ Hide clock at specific time based intervals
+ Hide duration
+ Number of seconds to hide clock
+ Show duration
+ Number of seconds to wait before hiding clock
+ Auto hide on launcher
+ Hide clock if launcher is visible
+ Background chip
+ Display accented chip behind clock
+ Solid color accent
+ Outline
+ Solid color accent gradient
+ Solid Gradient side
+ Solid accent gradient sharp
+ Gradient Void
+ Neumorph gradient
+ Sharp gradient stroke
+ Accent transperent
+ Gradient light
+ Sharp gradient corner
+ Gradient Void light
+ AM/PM style
+ 24-hour clock is enabled
+ Normal
+ Small
+ Hidden
+ Date
+ Hidden
+ Small
+ Normal
+ Date format
+ Date style
+ Normal
+ Lowercase
+ Uppercase
+ Custom java format
+ Must be in DateFormat eg. MM/dd/yy
+ Enter string
+ Date position
+ Right of time
+ Left of time
+
+ Location
+ Disabled
+ Statusbar
+ Quick Statusbar
+ Display mode
+ Upload only
+ Download only
+ Upload and download
+ Auto hide
+ Hide the traffic monitor when inactive
+ Inactivity threshold
+ Refresh interval
+ Duration after which speed is remeasured
+ Traffic measurement units
+ Bits per second (b/s)
+ Kilobits per second (kb/s)
+ Megabits per second (Mb/s)
+ Bytes per second (B/s)
+ Kilobytes per second (kB/s)
+ Megabytes per second (MB/s)
+ Hide arrows
+ Hide the network traffic indicator arrows
+
+ Interface
+ QS tiles style
+ Circle tiles
+ Square tiles
+ Circle & Square tiles
+ QS panel style
+ Outline
+ Two-Tone accent
+ Color pop
+ Shaded
+ Cyberpunk
+ Neumorph
+ Reflected
+ Surround
+ ThinLine
+ Hide label
+ Label text size
+ Only show icon in tile
+ Vertical layout
+ Show label below icon instead next to icon
+ Columns & rows
+ Customize QS columns and rows
+ QS rows should be equal or greater than QQS rows. Use higher number of columns for circle / square (A11) QS tile style.
+ Columns (portrait)
+ Columns (landscape)
+ Rows (portrait)
+ Rows (landscape)
+ Quick QS Rows (portrait)
+ Quick QS Rows (landscape)
+ Brightness slider
+ Brightness slider
+ Never show
+ Only show when expanded
+ Always show
+ Brightness percentage
+ Show brightness percentage text along with the slider
+ Brightness slider position
+ Top
+ Bottom
+ Auto brightness icon
+ Show icon toggle for adaptive brightness next to the slider
+ Haptic feedback
+ Provide haptic feedback on changing brightness using slider
+ Animations
+ Tiles animation style
+ Animation duration
+ Animation interpolator
+ No animation
+ Rotate
+ Flip X
+ Flip Y
+ Linear
+ Accelerate
+ Decelerate
+ Accelerate decelerate
+ Bounce
+ Overshoot
+ Anticipate
+ Anticipate overshoot
+ Data usage
+ Display data usage summary in quick settings footer
+ Lock screen
+ Swipe down on LS to view QS
+ Hide all quick settings in the notification shade while the device is locked
+ Secure QS tiles require unlock
+ The following quick settings require the device to be unlocked before you can interact with them:\nAirplane, Battery saver, Bluetooth, Cellular, Data saver, Hotspot, Internet, NFC, Rotation lock, and Wi-Fi
+ Miscellaneous
+ Bluetooth tile dialog
+ Show bluetooth dialog or toggle bluetooth state on tapping bluetooth tile
+ QS header image
+ Select QS background header image
+ Header image collection
+ Header image shadow
+ For better visibility on bright images
+ Static image
+ Image collection
+ Custom image
+ Header provider
+ Browse installed headers
+ Browse all available header collections
+ Select header image
+ Select an image to use for static mode
+ Select image
+ Select custom image
+ You must install a gallery app!
+ Header image offset
+ Adjust the image header size
+ Background transparency
+ Set transparency level for QS background
+ QS tiles shape
+ Dynamic
+ Circle
+ Rounded square
+ Square
+
+ Heads up
+ Allow pop up notifications
+ Interface
+ Edge light
+ Light up the side edges of the screen on notification pulse
+ Kill app
+ Show a kill app button in the notification\'s longpress menu
+ Sounds & vibration
+ Alert while display on
+ Play sound and vibration for notifications while the display is on
+
+ Alert slider notifications
+ Display notification when changing alert slider position
+
+ Compact heads-up
+ Display notifications in compact size
+
+ Always trigger on pulse
+ Whether to show edge light whenever ambient display is shown and not just for notifications
+ Repeat animation
+ Repeat until timeout
+ Show only once
+ Edge light color mode
+ Edge light style
+ Edge light stroke width
+ Configure edge light thickness
+ Draw Line
+ Blink/Pulse
+
+ Less boring
+ Display popup notifications only for alarm, dialer and messaging app
+
+ Interface
+ Power menu actions
+ Choose which actions are displayed
+ Lock screen
+ Show on secure lock screen
+ Show the power menu while the device is locked
+
+ Advanced reboot
+ Screenshot
+ On-The-Go mode
+ Airplane
+ Flashlight
+ Settings
+ Lockdown
+ Lockdown is disabled as keyguard isn\'t secure
+ Sound panel
+ Users
+ Logout
+ Emergency
+ Device controls
+
+ Spoofing
+ Developer options
+ Allow application downgrade
+ Allow downgrading system applications, which may result in crashes and data loss
+ Ignore wallpaper dimming requests
+ Blocks all apps from setting the wallpaper dim\nForces dim to 0
+ Ignore window secure flags
+ Remove restrictions on screenshots and screen recordings for all applications, potentially risking privacy leaks
+ Unlimit screenrecord
+ Remove the 15GiB file size limit\nMay result in a larger than needed output file
+
+ Hide applist
+ Prevent apps from checking selected apps from appslist
+ Show overlay
+ Hide overlay
+
+ Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen
+ Smart Pixels
+ Save battery by shutting off extra pixels
+ Auto-enable on battery saver
+ Enable Smart Pixels when battery saver is enabled
+ Percent of pixels to disable
+ Burn-in protection
+ Prevents burn-in on OLED devices by shifting pixels every so often
+
+ Component spoofing
+ Bypass app restrictions by spoofing components
+ System-Wide
+ Pixel props
+ Spoof a select group of Google apps to the latest Pixel device
+ Spoof tensor features
+ Unlock tensor/pixel features
+ Play Integrity fix
+ Spoof your device to pass Google Play Attestation
+ Storage encryption
+ Spoof the device storage encryption status to \'Encrypted\'
+ App-Specific
+ Google app
+ Spoof the Google app to the latest Pixel device to unlock exclusive features
+ Play Store
+ Spoof the Play Store to the latest Pixel device
+ Google Photos
+ Spoof the Google Photos app as a Pixel XL
+ Snapchat
+ Spoof Snapchat as a Pixel XL to fix possible chat issues
+ Enable Game Props spoofing
+ Spoof your device as different model for specific games to unlock higher FPS
+ Select Game Props JSON File
+ Pick Game Props JSON file to be used for spoofing games
+ Netflix
+ Spoof your device as different model for Netflix
+
+ Successfully downloaded pif.json. Spoofing as %1$s for Play Integrity.
+ Failed to spoof properties.
+ Update Play Integrity fix
+ Update PIF spoofing device, requires internet connection.
+ Play Integrity fix properties
+ Show all currently set PIF properties
+ Error loading PIF properties
+ Select PIF JSON file
+ Choose the PIF JSON file to be used to spoof Play Integrity
+
+ Keybox attestation override
+ Load a custom keybox XML to override device key attestation
+ Custom keybox XML loaded. Delete to clear.
+ Clear keybox data
+ Not an XML file. Choose a valid keybox XML.
+ Invalid keybox XML: required fields missing
+ Keybox loaded
+ Keybox cleared
+
+ Color Picker
+ Press on color below to apply
+ Set
+ Accent color (Default)
+ Notification color
+ Wallpaper color
+ Rainbow gradient color
+ Custom color
+
+ Value: %s
+ by default
+ Default value: %s\nLong tap to set
+ Default value is set
+
+ Enable
+ Disable
+ Boot animation applied
+ Default
+ Top
+ Bottom
+
+ milliseconds
+ seconds
+
+ SystemUI restart required
+ For changes to take effect, a SystemUI restart is required. Restart SystemUI now?
+ Yes
+ Not now
+
+ Better landscape QS
+ Enable new experimental split shade quicksettings,\nbreaks landscape headsup notifications
+
+ Power menu style
+ Cyberpunk
+ Duoline
+ IOS
+ Layers
+
+ QS header clock style
+ Chip
+ Oxygen
+ Analog
+ Simple
+
+ Notification style
+ Cyberpunk
+ Duoline
+ Fluid (Transparent)
+ IOS
+ Layers
+
+ Progress bar style
+ Blocky thumb
+ Minimal thumb
+ Outline thumb
+ Shishu
+
+ Revamped AOSP UI style
+ Realme UI style
+ AOSP default style
+ Double layer style
+ Gradient style
+ Neumorph style
+ Neumorph outline style
+ Outline style
+ Shaded layer style
+ Volume panel styles
+
+ Wallpaper styles
+ Configure wallpaper styles and settings
+ Wallpaper blur
+ Enable or disable wallpaper blur effect
+ Wallpaper blur style
+ Wallpaper dim
+ Wallpaper dim level
+ Configure wallpaper dim level
+ Glass blur
+ Frosted blur
+ For wallpaper styles to work effectively, users must set the wallpapers for the lock screen and home screen at different times.\nThe same wallpaper can be used, but it should not be applied to both the lock screen and home screen at the same time.\nThis is optional when using the BOTH OPTION for wallpaper blur and dim styles.
+
+
+ Compact QS media player
+ Enable compact mode for QuickSettings media player
+
+ Select Depth wallpaper subject
+ Select depth wallpaper subject image from storage.
+ Depth wallpaper
+ Apply depth effect\nto wallpaper
+ Enable iOS-inspired depth wallpaper. Requires a subject image.
+ Depth wallpaper opacity
+ Depth wallpaper horizontal offset
+ Depth wallpaper vertical offset
+ The depth wallpaper feature, inspired by iOS\'s Wallpaper Subject Segmentation, enables overlaying of a subject above the lock screen clock to show a wallpaper depth effect.\n\nTo setup Depth Wallpaper Feature:\n1. Set a wallpaper with the subject or a background you want the subject to be above of.\n2. Select a subject image to track, this image will be overlaid above the lock screen clock.\n3. Modify the offsets and opacity according to your needs.
+
+
+ Media cover art
+ Display media cover art when available
+ Media cover art fade level
+ Set media cover art fade level
+
+ Media cover art filter
+ None
+ Grayscale
+ Accent tinted
+ Blur
+ Grayscale and blurred
+
+ Media art blur level
+ Blur intensity when blur filter is applied
+
+ System haptics
+ Modify system haptics intensities
+ Back gesture haptics intensity
+ Brightness slider haptics intensity
+ Edge scrolling haptics intensity
+ Volume slider haptics intensity
+ QS tile haptics intensity
+ Qs fling haptics intensity
+ Vibrate on touching QS tiles
+
+ Weather settings
+ Setup icon pack and weather service
+ Weather
+ Weather update
+ Display current weather update
+ Requires weather service to be enabled
+ Current location
+ Display current weather location
+ Current condition
+ Display current weather condition summary
+ Pixel style
+ Display weather as separate row
+
+ Always-On-Display
+ Pulse/Doze
+
+ AOD image
+ Select AOD image
+ Set custom AOD image
+ Select AOD image from gallery
+ Clock style not supported
+
+ QS widgets
+ Show widgets for quick access. \nLimits QS rows to 2 to avoid breaking AOSP QS Panel scrolling
+
+ Widgets
+ Enable lock screen widgets
+ Add widgets to lock screen
+ Device info widget
+ Show device info widget on lock screen
+ Big widgets
+ Big widget 1
+ Big widget 2
+ Mini widgets
+ Mini widget 1
+ Mini widget 2
+ Mini widget 3
+ Mini widget 4
+ Camera
+ Clock/Timer
+ Calculator
+ Gallery
+ Media Player
+ Torch
+ Play
+ Weather
+ Wifi
+ Data
+ Ringer
+ Bluetooth
+ Hotspot
+ Wallet
+
+ Lock screen widgets style
+ Material Rounded
+ Material Square
+ Translucent (Square)
+ Translucent (Rounded)
+ Translucent style widget transparency
+ Configure translucent style widget opacity level
+
+ Font Styles
+ Change system font style
+ The quick brown\nfox jumps over the\nlazy dog\n\nABCDEFGHIJKLM\nNOPQRSTUVWXYZ\nabcdefghijkl\nmnopqrstuvwxyz\n1234567890
+ Apply
+ Select font
+
+ Apply
+
+ Peek display
+ Enable minimal lock screen notification style
+ Peek display location
+ Peek display (bottom) top margin
+
+ Minimalist
+ Peek display style
+
+ Now bar
+ Enable now bar lock screen widgets
+ Now bar height
+ Adjust the height of the Now bar
+
+ Notification icons
+ Maximum notification icons visible on status bar
+
+ Statusbar action chip
+ Statusbar action chip options
+ Ongoing action chip
+ Show progress indicator in status bar for ongoing actions like downloads
+ Show media progress
+ \"Display media playback progress in the status bar
+ \"The status bar progress bar provides real-time updates for both media playback and active downloads/uploads.
+
+ - 🎵 Media Progress:
+ • Displays playback progress for music and video when media is playing.
+ • Single tap opens playback controls (Previous, Next track).
+ • Double tap toggles play/pause.
+ • Swipe left skips to the previous track.
+ • Swipe right skips to the next track.
+ • Long press opens the media app.
+
+ - 📥Download/Upload Progress:
+ • Shows progress for ongoing downloads and uploads.
+ • Automatically hides when no active transfers are detected.
+ • Single tap opens the app responsible for the download.
+
+ The progress bar dynamically switches between media and download states, ensuring you always have the most relevant information at a glance.\"
+
+ Compact Progress Indicator
+ Use a compact circular indicator for ongoing actions
+
+ Show squiggle animation
+ Show media panel squiggle animation\nAfter change need to switch music, pause music or move the progress bar to apply
+
+ Expressive Design
+ Enable Expressive Design preview
+
+ AOD wallpaper
+ Show wallpaper when aod on
+
+ Battery bar
+ Display and customize battery bar above status bar
+ Color
+ Charging color
+ Low battery color
+ Alignment
+ Thickness
+ Charging animation
+ Regular
+ Center-mirrored
+ Reversed
+ Custom charging color
+ Blend colors
+ Blend full/empty colors corresponding to battery percentage
+ Reverse color direction
+ Full → empty: red ← green ← blue ← red
+ Full → empty: red → green → blue → red
+ Use gradient color
+ Use gradient color as a scale for the battery level
+ High level color\"
+ Low level color\"
+ Charging animation color
+
+ Keyguard affordance single tap
+ Toggle keyguard affordances with a single tap
+
+ QuickSwitch
+ Customize default homescreen app
+ Nothing launcher customizations
+ Customize nothing launcher homescreen app
+ QuickSwitch is not supported; the system only has one launcher.
+ Notes: \n\n
+ 1. Due to compatibility issues with current Android API, the Lawnchair Launcher uses the Mist Launcher recents overview and will override any third-party launchers when set as the active QuickSwitch launcher. For better compatibility with third-party launchers, consider setting the QuickSwitch launcher to Mist or Pixel Launcher instead.\n\n
+ 2. External launcher modules/modifications must be adapted to the QuickSwitch structure to function properly.
+
+
+ Default
+ Color
+ Default (White)
+ Accent
+ Custom
+
+ Transient task mode
+ Transient task mode (Reboot your device to apply changes)
+ Dismiss apps from recents when last activity gets closed using back button.
+ Disable (Default)
+ Enable (Some apps will stay)
+ Force (Override app behaviour)
+
+ Small landscape notifications
+ Shows notifications smaller in width in notification panel in landscape mode just as AOSP intended
+
+ Island notification
+ Display heads-up notification in Dynamic Island style
+ The Island notification feature, inspired by iOS\'s Dynamic Island, transforms Android\'s heads-up notifications into quick-access and compact notification utility.\n\nIsland Quick Access Controls includes the following features:\n1. Tap island notification to quick answer phone calls.\n2. Long press island notification to reject phone calls.\n3. Long press island notification to expand the island notification preview.
+
+
diff --git a/res/values-ru-rRU/mist_strings.xml b/res/values-ru-rRU/mist_strings.xml
new file mode 100644
index 00000000..3cdd1b6a
--- /dev/null
+++ b/res/values-ru-rRU/mist_strings.xml
@@ -0,0 +1,895 @@
+
+
+
+
+ Settings dashboard style
+ The style of Settings main page
+ AOSP legacy
+ AOSP revamped
+ Mist Ui
+ Settings Ui
+ Change the Setting Ui
+ System Ui
+
+ Mistify Tweek
+ Magic Happen Here!!
+
+ Themes
+ Monet, fonts, icons
+ Lock screen
+ Interface, miscellaneous
+ Status bar
+ Gestures, Icons, privacy indicators
+ Quick settings
+ Interface, lock screen
+ Notifications
+ Alerts, interface
+ Power menu
+ Actions, lock screen
+ Buttons
+ Power button, volume buttons
+ Miscellaneous
+ Developer options, spoofing
+ About
+ About MistOS
+
+ General
+ Monet
+ Monet settings
+ Customize Android\'s built-in theme engine
+ Audio
+ Lock sound
+ Unlock sound
+ Fonts
+ System font
+ Set system font style
+ Lock screen clock font
+ Set lock screen clock font style
+ Icons
+ System Icons
+ Set system icon style
+ Icon shape
+ Set system icon shape
+ Signal icon
+ Set signal icon style
+ Wi-Fi icon
+ Set Wi-Fi icon style
+ Navigation bar icons
+ Set navigation bar icon style
+ UDFPS icon
+ Set UDFPS icon style
+ Brightness slider
+ Brightness slider style
+ Set brightness slider style
+ Animations
+ Boot animation
+ Set boot animation style
+ Charging animation
+ Display an animation when the device is plugged in
+ Screen off animation
+ CRT
+ Scale
+ UDFPS animation
+ Set UDFPS animation style
+ Pixel Launcher
+ Background blur
+ Enable blur effect for recent items page background
+ More themed icons
+ Extends support for dynamic color themed icons for installed apps
+ Font style
+ Set system font style
+ Icon pack
+ Set custom icon pack style
+ Icon shape
+ Set system icon shape style
+ Signal icon style
+ Set custom signal icon style
+ WiFi icon style
+ Set custom wifi icon style
+ Navbar style
+ Set custom navigation bar style
+ Clock font style
+ Set lockscreen clock font style
+ Brightness slider style
+ Set custom brightness slider style
+
+ Preview of the selected boot animation
+ Displays a preview of the currently selected boot animation
+ Boot animation preview
+
+ Accent color
+ Choose custom color for accent
+ Background color
+ Choose custom color for background
+ Custom color
+ Luminance
+ Higher values produce brighter colors
+ Chroma factor
+ Higher values produce stronger colors
+ Whole palette
+ Make Luminance and Chroma selection affect secondary colors as well
+ Tint background
+ Make luminance and chroma selection affect background colors as well
+ Theme style
+ Tonal Spot (Default)
+ Vibrant
+ Expressive
+ Spritz
+ Rainbow
+ Fruit Salad
+ Content
+ Monochromatic
+ Color source
+ Both (Default)
+ Home wallpaper
+ Lock wallpaper
+ Preset
+
+ Interface
+ Charging stats
+ Display current, voltage, wattage, and temperature stats while charging
+ Fingerprint
+ Ripple animation
+ Show ripple animation when unlocked with fingerprint
+ Screen-Off UDFPS
+ Keep UDFPS enabled while the screen is off
+ Authentication success vibration
+ Vibrate when fingerprint authentication is successful
+ Authentication error vibration
+ Vibrate when fingerprint authentication fails
+ Miscellaneous
+ Pocket detection
+ Block screen and button inputs when device is in pocket
+ Always on Pocket mode
+ Always block screen and button inputs when screen is turned on
+
+ About Pulse
+ Pulse is a brilliant audio graphic equalizer when music plays on the device
+ Pulse
+ Audio graphic equalizer for navigation bar and lock screen
+ Navbar pulse
+ Audio graphic equalizer on the navigation bar
+ Lock screen pulse
+ Audio graphic equalizer on the lock screen
+ Ambient pulse
+ Audio graphic equalizer on the ambient screen
+ Render mode
+ Fading blocks
+ Solid lines
+ Fading blocks mode settings
+ Sanity level
+ Lava lamp speed
+ Rounded corners
+ Solid lines with rounded tip
+ Solid lines count
+ Solid lines opacity
+ Solid lines mode settings
+ Color
+ Accent
+ Custom
+ Lava lamp
+ Choose color
+ Turn on smoothing
+ Each bar is animated more smoothly
+ Bar width
+ Bar spacing
+ Block size
+ Block spacing
+
+ Swipe left or right to preview clock styles
+
+ Selected clock does not support custom fonts
+
+ Clock
+ Configure lock screen clock styles
+ Custom Clock Style
+ Clock face
+ Modify lock screen clock appearance
+
+ Gestures
+ Brightness control
+ Adjust brightness by swiping across the status bar
+ Quick pull down
+ %1$s of the status bar pulls down quick settings
+ Off
+ Right side
+ Left side
+ Both sides
+ Icons
+ Status bar tuner
+ Choose which system icons can be shown
+ Battery style
+ Icon portrait
+ Icon landscape (Right)
+ Icon landscape (Left)
+ Landscape Capsule
+ Landscape Lorn
+ Portrait IOS
+ Portrait Mx
+ Landscape Airoo
+ Landscape R Style A
+ Landscape L Style A
+ Landscape R Style B
+ Landscape L Style B
+ Landscape iOS 15
+ Landscape iOS 16
+ Landscape Origami
+ Landscape OneUI 7
+ Circle
+ Dotted circle
+ Filled circle
+ Big circle
+ Big dotted circle
+ Text
+ Hidden
+ Follow status bar style
+ Battery percent
+ Hidden
+ Inside the icon
+ Next to the icon (right)
+ Next to the icon (left)
+ Battery percentage when charging
+ Always display battery percentage when charging
+ Clock & date
+ Customize clock & date
+ Data disabled indicator
+ Display an indicator next to signal icon when data is disabled
+ 4G icon
+ Replace \'LTE\' icon with \'4G\'
+ Wi-Fi standard
+ Display Wi-Fi standard next the Wi-Fi icon
+ Bluetooth battery status
+ Display battery status for the connected Bluetooth device, if available
+ Colored icons
+ Use launcher icons for app notifications
+ Logo
+ Display a custom logo on the status bar
+ Logo position
+ Left side
+ Right side
+ Logo style
+ MistOS
+ Android
+ Adidas
+ Alien
+ Apple
+ Avengers
+ Batman
+ Batman The Dark Knight
+ Beats
+ Biohazard
+ BlackBerry
+ Cannabis
+ Emoticon cool
+ Emoticon devil
+ Fire
+ Heart
+ Nike
+ Pac-man
+ Puma
+ ROG
+ Spider-Man
+ Superman
+ Windows
+ Xbox
+ Ghost
+ Ninja
+ Robot
+ Iron Man
+ Captain America
+ Flash
+ Tux
+ Ubuntu
+ Linux Mint
+ Amogus
+ Network traffic monitor
+ Display and customize current network traffic levels
+ Notification count
+ Display the number of unread notifications on each app icon
+ Privacy indicators
+ Microphone & camera
+ Display an indicator when an app accesses the microphone or camera
+ Location
+ Display an indicator when an app accesses your location
+ Screen projection
+ Display an indicator when the screen is being projected
+ Carrier name on lock screen
+ Display carrier name on lock screen status bar
+ Status bar lyric
+ Show lyric in status bar (need app support)
+ Options
+ Disguise device for music apps
+ Disguise device in some music applications for support status bar lyric. After changing this toggle, you have to restart applications for the change to take effect.
+
+ Clock position
+ Right
+ Left
+ Center
+ Hidden
+ Clock seconds
+ Display seconds next to clock in status bar
+ Auto hide at intervals
+ Hide clock at specific time based intervals
+ Hide duration
+ Number of seconds to hide clock
+ Show duration
+ Number of seconds to wait before hiding clock
+ Auto hide on launcher
+ Hide clock if launcher is visible
+ Background chip
+ Display accented chip behind clock
+ Solid color accent
+ Outline
+ Solid color accent gradient
+ Solid Gradient side
+ Solid accent gradient sharp
+ Gradient Void
+ Neumorph gradient
+ Sharp gradient stroke
+ Accent transperent
+ Gradient light
+ Sharp gradient corner
+ Gradient Void light
+ AM/PM style
+ 24-hour clock is enabled
+ Normal
+ Small
+ Hidden
+ Date
+ Hidden
+ Small
+ Normal
+ Date format
+ Date style
+ Normal
+ Lowercase
+ Uppercase
+ Custom java format
+ Must be in DateFormat eg. MM/dd/yy
+ Enter string
+ Date position
+ Right of time
+ Left of time
+
+ Location
+ Disabled
+ Statusbar
+ Quick Statusbar
+ Display mode
+ Upload only
+ Download only
+ Upload and download
+ Auto hide
+ Hide the traffic monitor when inactive
+ Inactivity threshold
+ Refresh interval
+ Duration after which speed is remeasured
+ Traffic measurement units
+ Bits per second (b/s)
+ Kilobits per second (kb/s)
+ Megabits per second (Mb/s)
+ Bytes per second (B/s)
+ Kilobytes per second (kB/s)
+ Megabytes per second (MB/s)
+ Hide arrows
+ Hide the network traffic indicator arrows
+
+ Interface
+ QS tiles style
+ Circle tiles
+ Square tiles
+ Circle & Square tiles
+ QS panel style
+ Outline
+ Two-Tone accent
+ Color pop
+ Shaded
+ Cyberpunk
+ Neumorph
+ Reflected
+ Surround
+ ThinLine
+ Hide label
+ Label text size
+ Only show icon in tile
+ Vertical layout
+ Show label below icon instead next to icon
+ Columns & rows
+ Customize QS columns and rows
+ QS rows should be equal or greater than QQS rows. Use higher number of columns for circle / square (A11) QS tile style.
+ Columns (portrait)
+ Columns (landscape)
+ Rows (portrait)
+ Rows (landscape)
+ Quick QS Rows (portrait)
+ Quick QS Rows (landscape)
+ Brightness slider
+ Brightness slider
+ Never show
+ Only show when expanded
+ Always show
+ Brightness percentage
+ Show brightness percentage text along with the slider
+ Brightness slider position
+ Top
+ Bottom
+ Auto brightness icon
+ Show icon toggle for adaptive brightness next to the slider
+ Haptic feedback
+ Provide haptic feedback on changing brightness using slider
+ Animations
+ Tiles animation style
+ Animation duration
+ Animation interpolator
+ No animation
+ Rotate
+ Flip X
+ Flip Y
+ Linear
+ Accelerate
+ Decelerate
+ Accelerate decelerate
+ Bounce
+ Overshoot
+ Anticipate
+ Anticipate overshoot
+ Data usage
+ Display data usage summary in quick settings footer
+ Lock screen
+ Swipe down on LS to view QS
+ Hide all quick settings in the notification shade while the device is locked
+ Secure QS tiles require unlock
+ The following quick settings require the device to be unlocked before you can interact with them:\nAirplane, Battery saver, Bluetooth, Cellular, Data saver, Hotspot, Internet, NFC, Rotation lock, and Wi-Fi
+ Miscellaneous
+ Bluetooth tile dialog
+ Show bluetooth dialog or toggle bluetooth state on tapping bluetooth tile
+ QS header image
+ Select QS background header image
+ Header image collection
+ Header image shadow
+ For better visibility on bright images
+ Static image
+ Image collection
+ Custom image
+ Header provider
+ Browse installed headers
+ Browse all available header collections
+ Select header image
+ Select an image to use for static mode
+ Select image
+ Select custom image
+ You must install a gallery app!
+ Header image offset
+ Adjust the image header size
+ Background transparency
+ Set transparency level for QS background
+ QS tiles shape
+ Dynamic
+ Circle
+ Rounded square
+ Square
+
+ Heads up
+ Allow pop up notifications
+ Interface
+ Edge light
+ Light up the side edges of the screen on notification pulse
+ Kill app
+ Show a kill app button in the notification\'s longpress menu
+ Sounds & vibration
+ Alert while display on
+ Play sound and vibration for notifications while the display is on
+
+ Alert slider notifications
+ Display notification when changing alert slider position
+
+ Compact heads-up
+ Display notifications in compact size
+
+ Always trigger on pulse
+ Whether to show edge light whenever ambient display is shown and not just for notifications
+ Repeat animation
+ Repeat until timeout
+ Show only once
+ Edge light color mode
+ Edge light style
+ Edge light stroke width
+ Configure edge light thickness
+ Draw Line
+ Blink/Pulse
+
+ Less boring
+ Display popup notifications only for alarm, dialer and messaging app
+
+ Interface
+ Power menu actions
+ Choose which actions are displayed
+ Lock screen
+ Show on secure lock screen
+ Show the power menu while the device is locked
+
+ Advanced reboot
+ Screenshot
+ On-The-Go mode
+ Airplane
+ Flashlight
+ Settings
+ Lockdown
+ Lockdown is disabled as keyguard isn\'t secure
+ Sound panel
+ Users
+ Logout
+ Emergency
+ Device controls
+
+ Spoofing
+ Developer options
+ Allow application downgrade
+ Allow downgrading system applications, which may result in crashes and data loss
+ Ignore wallpaper dimming requests
+ Blocks all apps from setting the wallpaper dim\nForces dim to 0
+ Ignore window secure flags
+ Remove restrictions on screenshots and screen recordings for all applications, potentially risking privacy leaks
+ Unlimit screenrecord
+ Remove the 15GiB file size limit\nMay result in a larger than needed output file
+
+ Hide applist
+ Prevent apps from checking selected apps from appslist
+ Show overlay
+ Hide overlay
+
+ Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen
+ Smart Pixels
+ Save battery by shutting off extra pixels
+ Auto-enable on battery saver
+ Enable Smart Pixels when battery saver is enabled
+ Percent of pixels to disable
+ Burn-in protection
+ Prevents burn-in on OLED devices by shifting pixels every so often
+
+ Component spoofing
+ Bypass app restrictions by spoofing components
+ System-Wide
+ Pixel props
+ Spoof a select group of Google apps to the latest Pixel device
+ Spoof tensor features
+ Unlock tensor/pixel features
+ Play Integrity fix
+ Spoof your device to pass Google Play Attestation
+ Storage encryption
+ Spoof the device storage encryption status to \'Encrypted\'
+ App-Specific
+ Google app
+ Spoof the Google app to the latest Pixel device to unlock exclusive features
+ Play Store
+ Spoof the Play Store to the latest Pixel device
+ Google Photos
+ Spoof the Google Photos app as a Pixel XL
+ Snapchat
+ Spoof Snapchat as a Pixel XL to fix possible chat issues
+ Enable Game Props spoofing
+ Spoof your device as different model for specific games to unlock higher FPS
+ Select Game Props JSON File
+ Pick Game Props JSON file to be used for spoofing games
+ Netflix
+ Spoof your device as different model for Netflix
+
+ Successfully downloaded pif.json. Spoofing as %1$s for Play Integrity.
+ Failed to spoof properties.
+ Update Play Integrity fix
+ Update PIF spoofing device, requires internet connection.
+ Play Integrity fix properties
+ Show all currently set PIF properties
+ Error loading PIF properties
+ Select PIF JSON file
+ Choose the PIF JSON file to be used to spoof Play Integrity
+
+ Keybox attestation override
+ Load a custom keybox XML to override device key attestation
+ Custom keybox XML loaded. Delete to clear.
+ Clear keybox data
+ Not an XML file. Choose a valid keybox XML.
+ Invalid keybox XML: required fields missing
+ Keybox loaded
+ Keybox cleared
+
+ Color Picker
+ Press on color below to apply
+ Set
+ Accent color (Default)
+ Notification color
+ Wallpaper color
+ Rainbow gradient color
+ Custom color
+
+ Value: %s
+ by default
+ Default value: %s\nLong tap to set
+ Default value is set
+
+ Enable
+ Disable
+ Boot animation applied
+ Default
+ Top
+ Bottom
+
+ milliseconds
+ seconds
+
+ SystemUI restart required
+ For changes to take effect, a SystemUI restart is required. Restart SystemUI now?
+ Yes
+ Not now
+
+ Better landscape QS
+ Enable new experimental split shade quicksettings,\nbreaks landscape headsup notifications
+
+ Power menu style
+ Cyberpunk
+ Duoline
+ IOS
+ Layers
+
+ QS header clock style
+ Chip
+ Oxygen
+ Analog
+ Simple
+
+ Notification style
+ Cyberpunk
+ Duoline
+ Fluid (Transparent)
+ IOS
+ Layers
+
+ Progress bar style
+ Blocky thumb
+ Minimal thumb
+ Outline thumb
+ Shishu
+
+ Revamped AOSP UI style
+ Realme UI style
+ AOSP default style
+ Double layer style
+ Gradient style
+ Neumorph style
+ Neumorph outline style
+ Outline style
+ Shaded layer style
+ Volume panel styles
+
+ Wallpaper styles
+ Configure wallpaper styles and settings
+ Wallpaper blur
+ Enable or disable wallpaper blur effect
+ Wallpaper blur style
+ Wallpaper dim
+ Wallpaper dim level
+ Configure wallpaper dim level
+ Glass blur
+ Frosted blur
+ For wallpaper styles to work effectively, users must set the wallpapers for the lock screen and home screen at different times.\nThe same wallpaper can be used, but it should not be applied to both the lock screen and home screen at the same time.\nThis is optional when using the BOTH OPTION for wallpaper blur and dim styles.
+
+
+ Compact QS media player
+ Enable compact mode for QuickSettings media player
+
+ Select Depth wallpaper subject
+ Select depth wallpaper subject image from storage.
+ Depth wallpaper
+ Apply depth effect\nto wallpaper
+ Enable iOS-inspired depth wallpaper. Requires a subject image.
+ Depth wallpaper opacity
+ Depth wallpaper horizontal offset
+ Depth wallpaper vertical offset
+ The depth wallpaper feature, inspired by iOS\'s Wallpaper Subject Segmentation, enables overlaying of a subject above the lock screen clock to show a wallpaper depth effect.\n\nTo setup Depth Wallpaper Feature:\n1. Set a wallpaper with the subject or a background you want the subject to be above of.\n2. Select a subject image to track, this image will be overlaid above the lock screen clock.\n3. Modify the offsets and opacity according to your needs.
+
+
+ Media cover art
+ Display media cover art when available
+ Media cover art fade level
+ Set media cover art fade level
+
+ Media cover art filter
+ None
+ Grayscale
+ Accent tinted
+ Blur
+ Grayscale and blurred
+
+ Media art blur level
+ Blur intensity when blur filter is applied
+
+ System haptics
+ Modify system haptics intensities
+ Back gesture haptics intensity
+ Brightness slider haptics intensity
+ Edge scrolling haptics intensity
+ Volume slider haptics intensity
+ QS tile haptics intensity
+ Qs fling haptics intensity
+ Vibrate on touching QS tiles
+
+ Weather settings
+ Setup icon pack and weather service
+ Weather
+ Weather update
+ Display current weather update
+ Requires weather service to be enabled
+ Current location
+ Display current weather location
+ Current condition
+ Display current weather condition summary
+ Pixel style
+ Display weather as separate row
+
+ Always-On-Display
+ Pulse/Doze
+
+ AOD image
+ Select AOD image
+ Set custom AOD image
+ Select AOD image from gallery
+ Clock style not supported
+
+ QS widgets
+ Show widgets for quick access. \nLimits QS rows to 2 to avoid breaking AOSP QS Panel scrolling
+
+ Widgets
+ Enable lock screen widgets
+ Add widgets to lock screen
+ Device info widget
+ Show device info widget on lock screen
+ Big widgets
+ Big widget 1
+ Big widget 2
+ Mini widgets
+ Mini widget 1
+ Mini widget 2
+ Mini widget 3
+ Mini widget 4
+ Camera
+ Clock/Timer
+ Calculator
+ Gallery
+ Media Player
+ Torch
+ Play
+ Weather
+ Wifi
+ Data
+ Ringer
+ Bluetooth
+ Hotspot
+ Wallet
+
+ Lock screen widgets style
+ Material Rounded
+ Material Square
+ Translucent (Square)
+ Translucent (Rounded)
+ Translucent style widget transparency
+ Configure translucent style widget opacity level
+
+ Font Styles
+ Change system font style
+ The quick brown\nfox jumps over the\nlazy dog\n\nABCDEFGHIJKLM\nNOPQRSTUVWXYZ\nabcdefghijkl\nmnopqrstuvwxyz\n1234567890
+ Apply
+ Select font
+
+ Apply
+
+ Peek display
+ Enable minimal lock screen notification style
+ Peek display location
+ Peek display (bottom) top margin
+
+ Minimalist
+ Peek display style
+
+ Now bar
+ Enable now bar lock screen widgets
+ Now bar height
+ Adjust the height of the Now bar
+
+ Notification icons
+ Maximum notification icons visible on status bar
+
+ Statusbar action chip
+ Statusbar action chip options
+ Ongoing action chip
+ Show progress indicator in status bar for ongoing actions like downloads
+ Show media progress
+ \"Display media playback progress in the status bar
+ \"The status bar progress bar provides real-time updates for both media playback and active downloads/uploads.
+
+ - 🎵 Media Progress:
+ • Displays playback progress for music and video when media is playing.
+ • Single tap opens playback controls (Previous, Next track).
+ • Double tap toggles play/pause.
+ • Swipe left skips to the previous track.
+ • Swipe right skips to the next track.
+ • Long press opens the media app.
+
+ - 📥Download/Upload Progress:
+ • Shows progress for ongoing downloads and uploads.
+ • Automatically hides when no active transfers are detected.
+ • Single tap opens the app responsible for the download.
+
+ The progress bar dynamically switches between media and download states, ensuring you always have the most relevant information at a glance.\"
+
+ Compact Progress Indicator
+ Use a compact circular indicator for ongoing actions
+
+ Show squiggle animation
+ Show media panel squiggle animation\nAfter change need to switch music, pause music or move the progress bar to apply
+
+ Expressive Design
+ Enable Expressive Design preview
+
+ AOD wallpaper
+ Show wallpaper when aod on
+
+ Battery bar
+ Display and customize battery bar above status bar
+ Color
+ Charging color
+ Low battery color
+ Alignment
+ Thickness
+ Charging animation
+ Regular
+ Center-mirrored
+ Reversed
+ Custom charging color
+ Blend colors
+ Blend full/empty colors corresponding to battery percentage
+ Reverse color direction
+ Full → empty: red ← green ← blue ← red
+ Full → empty: red → green → blue → red
+ Use gradient color
+ Use gradient color as a scale for the battery level
+ High level color\"
+ Low level color\"
+ Charging animation color
+
+ Keyguard affordance single tap
+ Toggle keyguard affordances with a single tap
+
+ QuickSwitch
+ Customize default homescreen app
+ Nothing launcher customizations
+ Customize nothing launcher homescreen app
+ QuickSwitch is not supported; the system only has one launcher.
+ Notes: \n\n
+ 1. Due to compatibility issues with current Android API, the Lawnchair Launcher uses the Mist Launcher recents overview and will override any third-party launchers when set as the active QuickSwitch launcher. For better compatibility with third-party launchers, consider setting the QuickSwitch launcher to Mist or Pixel Launcher instead.\n\n
+ 2. External launcher modules/modifications must be adapted to the QuickSwitch structure to function properly.
+
+
+ Default
+ Color
+ Default (White)
+ Accent
+ Custom
+
+ Transient task mode
+ Transient task mode (Reboot your device to apply changes)
+ Dismiss apps from recents when last activity gets closed using back button.
+ Disable (Default)
+ Enable (Some apps will stay)
+ Force (Override app behaviour)
+
+ Small landscape notifications
+ Shows notifications smaller in width in notification panel in landscape mode just as AOSP intended
+
+ Island notification
+ Display heads-up notification in Dynamic Island style
+ The Island notification feature, inspired by iOS\'s Dynamic Island, transforms Android\'s heads-up notifications into quick-access and compact notification utility.\n\nIsland Quick Access Controls includes the following features:\n1. Tap island notification to quick answer phone calls.\n2. Long press island notification to reject phone calls.\n3. Long press island notification to expand the island notification preview.
+
+
diff --git a/res/values-zh-rCN/mist_strings.xml b/res/values-zh-rCN/mist_strings.xml
new file mode 100644
index 00000000..3cdd1b6a
--- /dev/null
+++ b/res/values-zh-rCN/mist_strings.xml
@@ -0,0 +1,895 @@
+
+
+
+
+ Settings dashboard style
+ The style of Settings main page
+ AOSP legacy
+ AOSP revamped
+ Mist Ui
+ Settings Ui
+ Change the Setting Ui
+ System Ui
+
+ Mistify Tweek
+ Magic Happen Here!!
+
+ Themes
+ Monet, fonts, icons
+ Lock screen
+ Interface, miscellaneous
+ Status bar
+ Gestures, Icons, privacy indicators
+ Quick settings
+ Interface, lock screen
+ Notifications
+ Alerts, interface
+ Power menu
+ Actions, lock screen
+ Buttons
+ Power button, volume buttons
+ Miscellaneous
+ Developer options, spoofing
+ About
+ About MistOS
+
+ General
+ Monet
+ Monet settings
+ Customize Android\'s built-in theme engine
+ Audio
+ Lock sound
+ Unlock sound
+ Fonts
+ System font
+ Set system font style
+ Lock screen clock font
+ Set lock screen clock font style
+ Icons
+ System Icons
+ Set system icon style
+ Icon shape
+ Set system icon shape
+ Signal icon
+ Set signal icon style
+ Wi-Fi icon
+ Set Wi-Fi icon style
+ Navigation bar icons
+ Set navigation bar icon style
+ UDFPS icon
+ Set UDFPS icon style
+ Brightness slider
+ Brightness slider style
+ Set brightness slider style
+ Animations
+ Boot animation
+ Set boot animation style
+ Charging animation
+ Display an animation when the device is plugged in
+ Screen off animation
+ CRT
+ Scale
+ UDFPS animation
+ Set UDFPS animation style
+ Pixel Launcher
+ Background blur
+ Enable blur effect for recent items page background
+ More themed icons
+ Extends support for dynamic color themed icons for installed apps
+ Font style
+ Set system font style
+ Icon pack
+ Set custom icon pack style
+ Icon shape
+ Set system icon shape style
+ Signal icon style
+ Set custom signal icon style
+ WiFi icon style
+ Set custom wifi icon style
+ Navbar style
+ Set custom navigation bar style
+ Clock font style
+ Set lockscreen clock font style
+ Brightness slider style
+ Set custom brightness slider style
+
+ Preview of the selected boot animation
+ Displays a preview of the currently selected boot animation
+ Boot animation preview
+
+ Accent color
+ Choose custom color for accent
+ Background color
+ Choose custom color for background
+ Custom color
+ Luminance
+ Higher values produce brighter colors
+ Chroma factor
+ Higher values produce stronger colors
+ Whole palette
+ Make Luminance and Chroma selection affect secondary colors as well
+ Tint background
+ Make luminance and chroma selection affect background colors as well
+ Theme style
+ Tonal Spot (Default)
+ Vibrant
+ Expressive
+ Spritz
+ Rainbow
+ Fruit Salad
+ Content
+ Monochromatic
+ Color source
+ Both (Default)
+ Home wallpaper
+ Lock wallpaper
+ Preset
+
+ Interface
+ Charging stats
+ Display current, voltage, wattage, and temperature stats while charging
+ Fingerprint
+ Ripple animation
+ Show ripple animation when unlocked with fingerprint
+ Screen-Off UDFPS
+ Keep UDFPS enabled while the screen is off
+ Authentication success vibration
+ Vibrate when fingerprint authentication is successful
+ Authentication error vibration
+ Vibrate when fingerprint authentication fails
+ Miscellaneous
+ Pocket detection
+ Block screen and button inputs when device is in pocket
+ Always on Pocket mode
+ Always block screen and button inputs when screen is turned on
+
+ About Pulse
+ Pulse is a brilliant audio graphic equalizer when music plays on the device
+ Pulse
+ Audio graphic equalizer for navigation bar and lock screen
+ Navbar pulse
+ Audio graphic equalizer on the navigation bar
+ Lock screen pulse
+ Audio graphic equalizer on the lock screen
+ Ambient pulse
+ Audio graphic equalizer on the ambient screen
+ Render mode
+ Fading blocks
+ Solid lines
+ Fading blocks mode settings
+ Sanity level
+ Lava lamp speed
+ Rounded corners
+ Solid lines with rounded tip
+ Solid lines count
+ Solid lines opacity
+ Solid lines mode settings
+ Color
+ Accent
+ Custom
+ Lava lamp
+ Choose color
+ Turn on smoothing
+ Each bar is animated more smoothly
+ Bar width
+ Bar spacing
+ Block size
+ Block spacing
+
+ Swipe left or right to preview clock styles
+
+ Selected clock does not support custom fonts
+
+ Clock
+ Configure lock screen clock styles
+ Custom Clock Style
+ Clock face
+ Modify lock screen clock appearance
+
+ Gestures
+ Brightness control
+ Adjust brightness by swiping across the status bar
+ Quick pull down
+ %1$s of the status bar pulls down quick settings
+ Off
+ Right side
+ Left side
+ Both sides
+ Icons
+ Status bar tuner
+ Choose which system icons can be shown
+ Battery style
+ Icon portrait
+ Icon landscape (Right)
+ Icon landscape (Left)
+ Landscape Capsule
+ Landscape Lorn
+ Portrait IOS
+ Portrait Mx
+ Landscape Airoo
+ Landscape R Style A
+ Landscape L Style A
+ Landscape R Style B
+ Landscape L Style B
+ Landscape iOS 15
+ Landscape iOS 16
+ Landscape Origami
+ Landscape OneUI 7
+ Circle
+ Dotted circle
+ Filled circle
+ Big circle
+ Big dotted circle
+ Text
+ Hidden
+ Follow status bar style
+ Battery percent
+ Hidden
+ Inside the icon
+ Next to the icon (right)
+ Next to the icon (left)
+ Battery percentage when charging
+ Always display battery percentage when charging
+ Clock & date
+ Customize clock & date
+ Data disabled indicator
+ Display an indicator next to signal icon when data is disabled
+ 4G icon
+ Replace \'LTE\' icon with \'4G\'
+ Wi-Fi standard
+ Display Wi-Fi standard next the Wi-Fi icon
+ Bluetooth battery status
+ Display battery status for the connected Bluetooth device, if available
+ Colored icons
+ Use launcher icons for app notifications
+ Logo
+ Display a custom logo on the status bar
+ Logo position
+ Left side
+ Right side
+ Logo style
+ MistOS
+ Android
+ Adidas
+ Alien
+ Apple
+ Avengers
+ Batman
+ Batman The Dark Knight
+ Beats
+ Biohazard
+ BlackBerry
+ Cannabis
+ Emoticon cool
+ Emoticon devil
+ Fire
+ Heart
+ Nike
+ Pac-man
+ Puma
+ ROG
+ Spider-Man
+ Superman
+ Windows
+ Xbox
+ Ghost
+ Ninja
+ Robot
+ Iron Man
+ Captain America
+ Flash
+ Tux
+ Ubuntu
+ Linux Mint
+ Amogus
+ Network traffic monitor
+ Display and customize current network traffic levels
+ Notification count
+ Display the number of unread notifications on each app icon
+ Privacy indicators
+ Microphone & camera
+ Display an indicator when an app accesses the microphone or camera
+ Location
+ Display an indicator when an app accesses your location
+ Screen projection
+ Display an indicator when the screen is being projected
+ Carrier name on lock screen
+ Display carrier name on lock screen status bar
+ Status bar lyric
+ Show lyric in status bar (need app support)
+ Options
+ Disguise device for music apps
+ Disguise device in some music applications for support status bar lyric. After changing this toggle, you have to restart applications for the change to take effect.
+
+ Clock position
+ Right
+ Left
+ Center
+ Hidden
+ Clock seconds
+ Display seconds next to clock in status bar
+ Auto hide at intervals
+ Hide clock at specific time based intervals
+ Hide duration
+ Number of seconds to hide clock
+ Show duration
+ Number of seconds to wait before hiding clock
+ Auto hide on launcher
+ Hide clock if launcher is visible
+ Background chip
+ Display accented chip behind clock
+ Solid color accent
+ Outline
+ Solid color accent gradient
+ Solid Gradient side
+ Solid accent gradient sharp
+ Gradient Void
+ Neumorph gradient
+ Sharp gradient stroke
+ Accent transperent
+ Gradient light
+ Sharp gradient corner
+ Gradient Void light
+ AM/PM style
+ 24-hour clock is enabled
+ Normal
+ Small
+ Hidden
+ Date
+ Hidden
+ Small
+ Normal
+ Date format
+ Date style
+ Normal
+ Lowercase
+ Uppercase
+ Custom java format
+ Must be in DateFormat eg. MM/dd/yy
+ Enter string
+ Date position
+ Right of time
+ Left of time
+
+ Location
+ Disabled
+ Statusbar
+ Quick Statusbar
+ Display mode
+ Upload only
+ Download only
+ Upload and download
+ Auto hide
+ Hide the traffic monitor when inactive
+ Inactivity threshold
+ Refresh interval
+ Duration after which speed is remeasured
+ Traffic measurement units
+ Bits per second (b/s)
+ Kilobits per second (kb/s)
+ Megabits per second (Mb/s)
+ Bytes per second (B/s)
+ Kilobytes per second (kB/s)
+ Megabytes per second (MB/s)
+ Hide arrows
+ Hide the network traffic indicator arrows
+
+ Interface
+ QS tiles style
+ Circle tiles
+ Square tiles
+ Circle & Square tiles
+ QS panel style
+ Outline
+ Two-Tone accent
+ Color pop
+ Shaded
+ Cyberpunk
+ Neumorph
+ Reflected
+ Surround
+ ThinLine
+ Hide label
+ Label text size
+ Only show icon in tile
+ Vertical layout
+ Show label below icon instead next to icon
+ Columns & rows
+ Customize QS columns and rows
+ QS rows should be equal or greater than QQS rows. Use higher number of columns for circle / square (A11) QS tile style.
+ Columns (portrait)
+ Columns (landscape)
+ Rows (portrait)
+ Rows (landscape)
+ Quick QS Rows (portrait)
+ Quick QS Rows (landscape)
+ Brightness slider
+ Brightness slider
+ Never show
+ Only show when expanded
+ Always show
+ Brightness percentage
+ Show brightness percentage text along with the slider
+ Brightness slider position
+ Top
+ Bottom
+ Auto brightness icon
+ Show icon toggle for adaptive brightness next to the slider
+ Haptic feedback
+ Provide haptic feedback on changing brightness using slider
+ Animations
+ Tiles animation style
+ Animation duration
+ Animation interpolator
+ No animation
+ Rotate
+ Flip X
+ Flip Y
+ Linear
+ Accelerate
+ Decelerate
+ Accelerate decelerate
+ Bounce
+ Overshoot
+ Anticipate
+ Anticipate overshoot
+ Data usage
+ Display data usage summary in quick settings footer
+ Lock screen
+ Swipe down on LS to view QS
+ Hide all quick settings in the notification shade while the device is locked
+ Secure QS tiles require unlock
+ The following quick settings require the device to be unlocked before you can interact with them:\nAirplane, Battery saver, Bluetooth, Cellular, Data saver, Hotspot, Internet, NFC, Rotation lock, and Wi-Fi
+ Miscellaneous
+ Bluetooth tile dialog
+ Show bluetooth dialog or toggle bluetooth state on tapping bluetooth tile
+ QS header image
+ Select QS background header image
+ Header image collection
+ Header image shadow
+ For better visibility on bright images
+ Static image
+ Image collection
+ Custom image
+ Header provider
+ Browse installed headers
+ Browse all available header collections
+ Select header image
+ Select an image to use for static mode
+ Select image
+ Select custom image
+ You must install a gallery app!
+ Header image offset
+ Adjust the image header size
+ Background transparency
+ Set transparency level for QS background
+ QS tiles shape
+ Dynamic
+ Circle
+ Rounded square
+ Square
+
+ Heads up
+ Allow pop up notifications
+ Interface
+ Edge light
+ Light up the side edges of the screen on notification pulse
+ Kill app
+ Show a kill app button in the notification\'s longpress menu
+ Sounds & vibration
+ Alert while display on
+ Play sound and vibration for notifications while the display is on
+
+ Alert slider notifications
+ Display notification when changing alert slider position
+
+ Compact heads-up
+ Display notifications in compact size
+
+ Always trigger on pulse
+ Whether to show edge light whenever ambient display is shown and not just for notifications
+ Repeat animation
+ Repeat until timeout
+ Show only once
+ Edge light color mode
+ Edge light style
+ Edge light stroke width
+ Configure edge light thickness
+ Draw Line
+ Blink/Pulse
+
+ Less boring
+ Display popup notifications only for alarm, dialer and messaging app
+
+ Interface
+ Power menu actions
+ Choose which actions are displayed
+ Lock screen
+ Show on secure lock screen
+ Show the power menu while the device is locked
+
+ Advanced reboot
+ Screenshot
+ On-The-Go mode
+ Airplane
+ Flashlight
+ Settings
+ Lockdown
+ Lockdown is disabled as keyguard isn\'t secure
+ Sound panel
+ Users
+ Logout
+ Emergency
+ Device controls
+
+ Spoofing
+ Developer options
+ Allow application downgrade
+ Allow downgrading system applications, which may result in crashes and data loss
+ Ignore wallpaper dimming requests
+ Blocks all apps from setting the wallpaper dim\nForces dim to 0
+ Ignore window secure flags
+ Remove restrictions on screenshots and screen recordings for all applications, potentially risking privacy leaks
+ Unlimit screenrecord
+ Remove the 15GiB file size limit\nMay result in a larger than needed output file
+
+ Hide applist
+ Prevent apps from checking selected apps from appslist
+ Show overlay
+ Hide overlay
+
+ Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen
+ Smart Pixels
+ Save battery by shutting off extra pixels
+ Auto-enable on battery saver
+ Enable Smart Pixels when battery saver is enabled
+ Percent of pixels to disable
+ Burn-in protection
+ Prevents burn-in on OLED devices by shifting pixels every so often
+
+ Component spoofing
+ Bypass app restrictions by spoofing components
+ System-Wide
+ Pixel props
+ Spoof a select group of Google apps to the latest Pixel device
+ Spoof tensor features
+ Unlock tensor/pixel features
+ Play Integrity fix
+ Spoof your device to pass Google Play Attestation
+ Storage encryption
+ Spoof the device storage encryption status to \'Encrypted\'
+ App-Specific
+ Google app
+ Spoof the Google app to the latest Pixel device to unlock exclusive features
+ Play Store
+ Spoof the Play Store to the latest Pixel device
+ Google Photos
+ Spoof the Google Photos app as a Pixel XL
+ Snapchat
+ Spoof Snapchat as a Pixel XL to fix possible chat issues
+ Enable Game Props spoofing
+ Spoof your device as different model for specific games to unlock higher FPS
+ Select Game Props JSON File
+ Pick Game Props JSON file to be used for spoofing games
+ Netflix
+ Spoof your device as different model for Netflix
+
+ Successfully downloaded pif.json. Spoofing as %1$s for Play Integrity.
+ Failed to spoof properties.
+ Update Play Integrity fix
+ Update PIF spoofing device, requires internet connection.
+ Play Integrity fix properties
+ Show all currently set PIF properties
+ Error loading PIF properties
+ Select PIF JSON file
+ Choose the PIF JSON file to be used to spoof Play Integrity
+
+ Keybox attestation override
+ Load a custom keybox XML to override device key attestation
+ Custom keybox XML loaded. Delete to clear.
+ Clear keybox data
+ Not an XML file. Choose a valid keybox XML.
+ Invalid keybox XML: required fields missing
+ Keybox loaded
+ Keybox cleared
+
+ Color Picker
+ Press on color below to apply
+ Set
+ Accent color (Default)
+ Notification color
+ Wallpaper color
+ Rainbow gradient color
+ Custom color
+
+ Value: %s
+ by default
+ Default value: %s\nLong tap to set
+ Default value is set
+
+ Enable
+ Disable
+ Boot animation applied
+ Default
+ Top
+ Bottom
+
+ milliseconds
+ seconds
+
+ SystemUI restart required
+ For changes to take effect, a SystemUI restart is required. Restart SystemUI now?
+ Yes
+ Not now
+
+ Better landscape QS
+ Enable new experimental split shade quicksettings,\nbreaks landscape headsup notifications
+
+ Power menu style
+ Cyberpunk
+ Duoline
+ IOS
+ Layers
+
+ QS header clock style
+ Chip
+ Oxygen
+ Analog
+ Simple
+
+ Notification style
+ Cyberpunk
+ Duoline
+ Fluid (Transparent)
+ IOS
+ Layers
+
+ Progress bar style
+ Blocky thumb
+ Minimal thumb
+ Outline thumb
+ Shishu
+
+ Revamped AOSP UI style
+ Realme UI style
+ AOSP default style
+ Double layer style
+ Gradient style
+ Neumorph style
+ Neumorph outline style
+ Outline style
+ Shaded layer style
+ Volume panel styles
+
+ Wallpaper styles
+ Configure wallpaper styles and settings
+ Wallpaper blur
+ Enable or disable wallpaper blur effect
+ Wallpaper blur style
+ Wallpaper dim
+ Wallpaper dim level
+ Configure wallpaper dim level
+ Glass blur
+ Frosted blur
+ For wallpaper styles to work effectively, users must set the wallpapers for the lock screen and home screen at different times.\nThe same wallpaper can be used, but it should not be applied to both the lock screen and home screen at the same time.\nThis is optional when using the BOTH OPTION for wallpaper blur and dim styles.
+
+
+ Compact QS media player
+ Enable compact mode for QuickSettings media player
+
+ Select Depth wallpaper subject
+ Select depth wallpaper subject image from storage.
+ Depth wallpaper
+ Apply depth effect\nto wallpaper
+ Enable iOS-inspired depth wallpaper. Requires a subject image.
+ Depth wallpaper opacity
+ Depth wallpaper horizontal offset
+ Depth wallpaper vertical offset
+ The depth wallpaper feature, inspired by iOS\'s Wallpaper Subject Segmentation, enables overlaying of a subject above the lock screen clock to show a wallpaper depth effect.\n\nTo setup Depth Wallpaper Feature:\n1. Set a wallpaper with the subject or a background you want the subject to be above of.\n2. Select a subject image to track, this image will be overlaid above the lock screen clock.\n3. Modify the offsets and opacity according to your needs.
+
+
+ Media cover art
+ Display media cover art when available
+ Media cover art fade level
+ Set media cover art fade level
+
+ Media cover art filter
+ None
+ Grayscale
+ Accent tinted
+ Blur
+ Grayscale and blurred
+
+ Media art blur level
+ Blur intensity when blur filter is applied
+
+ System haptics
+ Modify system haptics intensities
+ Back gesture haptics intensity
+ Brightness slider haptics intensity
+ Edge scrolling haptics intensity
+ Volume slider haptics intensity
+ QS tile haptics intensity
+ Qs fling haptics intensity
+ Vibrate on touching QS tiles
+
+ Weather settings
+ Setup icon pack and weather service
+ Weather
+ Weather update
+ Display current weather update
+ Requires weather service to be enabled
+ Current location
+ Display current weather location
+ Current condition
+ Display current weather condition summary
+ Pixel style
+ Display weather as separate row
+
+ Always-On-Display
+ Pulse/Doze
+
+ AOD image
+ Select AOD image
+ Set custom AOD image
+ Select AOD image from gallery
+ Clock style not supported
+
+ QS widgets
+ Show widgets for quick access. \nLimits QS rows to 2 to avoid breaking AOSP QS Panel scrolling
+
+ Widgets
+ Enable lock screen widgets
+ Add widgets to lock screen
+ Device info widget
+ Show device info widget on lock screen
+ Big widgets
+ Big widget 1
+ Big widget 2
+ Mini widgets
+ Mini widget 1
+ Mini widget 2
+ Mini widget 3
+ Mini widget 4
+ Camera
+ Clock/Timer
+ Calculator
+ Gallery
+ Media Player
+ Torch
+ Play
+ Weather
+ Wifi
+ Data
+ Ringer
+ Bluetooth
+ Hotspot
+ Wallet
+
+ Lock screen widgets style
+ Material Rounded
+ Material Square
+ Translucent (Square)
+ Translucent (Rounded)
+ Translucent style widget transparency
+ Configure translucent style widget opacity level
+
+ Font Styles
+ Change system font style
+ The quick brown\nfox jumps over the\nlazy dog\n\nABCDEFGHIJKLM\nNOPQRSTUVWXYZ\nabcdefghijkl\nmnopqrstuvwxyz\n1234567890
+ Apply
+ Select font
+
+ Apply
+
+ Peek display
+ Enable minimal lock screen notification style
+ Peek display location
+ Peek display (bottom) top margin
+
+ Minimalist
+ Peek display style
+
+ Now bar
+ Enable now bar lock screen widgets
+ Now bar height
+ Adjust the height of the Now bar
+
+ Notification icons
+ Maximum notification icons visible on status bar
+
+ Statusbar action chip
+ Statusbar action chip options
+ Ongoing action chip
+ Show progress indicator in status bar for ongoing actions like downloads
+ Show media progress
+ \"Display media playback progress in the status bar
+ \"The status bar progress bar provides real-time updates for both media playback and active downloads/uploads.
+
+ - 🎵 Media Progress:
+ • Displays playback progress for music and video when media is playing.
+ • Single tap opens playback controls (Previous, Next track).
+ • Double tap toggles play/pause.
+ • Swipe left skips to the previous track.
+ • Swipe right skips to the next track.
+ • Long press opens the media app.
+
+ - 📥Download/Upload Progress:
+ • Shows progress for ongoing downloads and uploads.
+ • Automatically hides when no active transfers are detected.
+ • Single tap opens the app responsible for the download.
+
+ The progress bar dynamically switches between media and download states, ensuring you always have the most relevant information at a glance.\"
+
+ Compact Progress Indicator
+ Use a compact circular indicator for ongoing actions
+
+ Show squiggle animation
+ Show media panel squiggle animation\nAfter change need to switch music, pause music or move the progress bar to apply
+
+ Expressive Design
+ Enable Expressive Design preview
+
+ AOD wallpaper
+ Show wallpaper when aod on
+
+ Battery bar
+ Display and customize battery bar above status bar
+ Color
+ Charging color
+ Low battery color
+ Alignment
+ Thickness
+ Charging animation
+ Regular
+ Center-mirrored
+ Reversed
+ Custom charging color
+ Blend colors
+ Blend full/empty colors corresponding to battery percentage
+ Reverse color direction
+ Full → empty: red ← green ← blue ← red
+ Full → empty: red → green → blue → red
+ Use gradient color
+ Use gradient color as a scale for the battery level
+ High level color\"
+ Low level color\"
+ Charging animation color
+
+ Keyguard affordance single tap
+ Toggle keyguard affordances with a single tap
+
+ QuickSwitch
+ Customize default homescreen app
+ Nothing launcher customizations
+ Customize nothing launcher homescreen app
+ QuickSwitch is not supported; the system only has one launcher.
+ Notes: \n\n
+ 1. Due to compatibility issues with current Android API, the Lawnchair Launcher uses the Mist Launcher recents overview and will override any third-party launchers when set as the active QuickSwitch launcher. For better compatibility with third-party launchers, consider setting the QuickSwitch launcher to Mist or Pixel Launcher instead.\n\n
+ 2. External launcher modules/modifications must be adapted to the QuickSwitch structure to function properly.
+
+
+ Default
+ Color
+ Default (White)
+ Accent
+ Custom
+
+ Transient task mode
+ Transient task mode (Reboot your device to apply changes)
+ Dismiss apps from recents when last activity gets closed using back button.
+ Disable (Default)
+ Enable (Some apps will stay)
+ Force (Override app behaviour)
+
+ Small landscape notifications
+ Shows notifications smaller in width in notification panel in landscape mode just as AOSP intended
+
+ Island notification
+ Display heads-up notification in Dynamic Island style
+ The Island notification feature, inspired by iOS\'s Dynamic Island, transforms Android\'s heads-up notifications into quick-access and compact notification utility.\n\nIsland Quick Access Controls includes the following features:\n1. Tap island notification to quick answer phone calls.\n2. Long press island notification to reject phone calls.\n3. Long press island notification to expand the island notification preview.
+
+
diff --git a/res/values-zh-rTW/mist_strings.xml b/res/values-zh-rTW/mist_strings.xml
new file mode 100644
index 00000000..3cdd1b6a
--- /dev/null
+++ b/res/values-zh-rTW/mist_strings.xml
@@ -0,0 +1,895 @@
+
+
+
+
+ Settings dashboard style
+ The style of Settings main page
+ AOSP legacy
+ AOSP revamped
+ Mist Ui
+ Settings Ui
+ Change the Setting Ui
+ System Ui
+
+ Mistify Tweek
+ Magic Happen Here!!
+
+ Themes
+ Monet, fonts, icons
+ Lock screen
+ Interface, miscellaneous
+ Status bar
+ Gestures, Icons, privacy indicators
+ Quick settings
+ Interface, lock screen
+ Notifications
+ Alerts, interface
+ Power menu
+ Actions, lock screen
+ Buttons
+ Power button, volume buttons
+ Miscellaneous
+ Developer options, spoofing
+ About
+ About MistOS
+
+ General
+ Monet
+ Monet settings
+ Customize Android\'s built-in theme engine
+ Audio
+ Lock sound
+ Unlock sound
+ Fonts
+ System font
+ Set system font style
+ Lock screen clock font
+ Set lock screen clock font style
+ Icons
+ System Icons
+ Set system icon style
+ Icon shape
+ Set system icon shape
+ Signal icon
+ Set signal icon style
+ Wi-Fi icon
+ Set Wi-Fi icon style
+ Navigation bar icons
+ Set navigation bar icon style
+ UDFPS icon
+ Set UDFPS icon style
+ Brightness slider
+ Brightness slider style
+ Set brightness slider style
+ Animations
+ Boot animation
+ Set boot animation style
+ Charging animation
+ Display an animation when the device is plugged in
+ Screen off animation
+ CRT
+ Scale
+ UDFPS animation
+ Set UDFPS animation style
+ Pixel Launcher
+ Background blur
+ Enable blur effect for recent items page background
+ More themed icons
+ Extends support for dynamic color themed icons for installed apps
+ Font style
+ Set system font style
+ Icon pack
+ Set custom icon pack style
+ Icon shape
+ Set system icon shape style
+ Signal icon style
+ Set custom signal icon style
+ WiFi icon style
+ Set custom wifi icon style
+ Navbar style
+ Set custom navigation bar style
+ Clock font style
+ Set lockscreen clock font style
+ Brightness slider style
+ Set custom brightness slider style
+
+ Preview of the selected boot animation
+ Displays a preview of the currently selected boot animation
+ Boot animation preview
+
+ Accent color
+ Choose custom color for accent
+ Background color
+ Choose custom color for background
+ Custom color
+ Luminance
+ Higher values produce brighter colors
+ Chroma factor
+ Higher values produce stronger colors
+ Whole palette
+ Make Luminance and Chroma selection affect secondary colors as well
+ Tint background
+ Make luminance and chroma selection affect background colors as well
+ Theme style
+ Tonal Spot (Default)
+ Vibrant
+ Expressive
+ Spritz
+ Rainbow
+ Fruit Salad
+ Content
+ Monochromatic
+ Color source
+ Both (Default)
+ Home wallpaper
+ Lock wallpaper
+ Preset
+
+ Interface
+ Charging stats
+ Display current, voltage, wattage, and temperature stats while charging
+ Fingerprint
+ Ripple animation
+ Show ripple animation when unlocked with fingerprint
+ Screen-Off UDFPS
+ Keep UDFPS enabled while the screen is off
+ Authentication success vibration
+ Vibrate when fingerprint authentication is successful
+ Authentication error vibration
+ Vibrate when fingerprint authentication fails
+ Miscellaneous
+ Pocket detection
+ Block screen and button inputs when device is in pocket
+ Always on Pocket mode
+ Always block screen and button inputs when screen is turned on
+
+ About Pulse
+ Pulse is a brilliant audio graphic equalizer when music plays on the device
+ Pulse
+ Audio graphic equalizer for navigation bar and lock screen
+ Navbar pulse
+ Audio graphic equalizer on the navigation bar
+ Lock screen pulse
+ Audio graphic equalizer on the lock screen
+ Ambient pulse
+ Audio graphic equalizer on the ambient screen
+ Render mode
+ Fading blocks
+ Solid lines
+ Fading blocks mode settings
+ Sanity level
+ Lava lamp speed
+ Rounded corners
+ Solid lines with rounded tip
+ Solid lines count
+ Solid lines opacity
+ Solid lines mode settings
+ Color
+ Accent
+ Custom
+ Lava lamp
+ Choose color
+ Turn on smoothing
+ Each bar is animated more smoothly
+ Bar width
+ Bar spacing
+ Block size
+ Block spacing
+
+ Swipe left or right to preview clock styles
+
+ Selected clock does not support custom fonts
+
+ Clock
+ Configure lock screen clock styles
+ Custom Clock Style
+ Clock face
+ Modify lock screen clock appearance
+
+ Gestures
+ Brightness control
+ Adjust brightness by swiping across the status bar
+ Quick pull down
+ %1$s of the status bar pulls down quick settings
+ Off
+ Right side
+ Left side
+ Both sides
+ Icons
+ Status bar tuner
+ Choose which system icons can be shown
+ Battery style
+ Icon portrait
+ Icon landscape (Right)
+ Icon landscape (Left)
+ Landscape Capsule
+ Landscape Lorn
+ Portrait IOS
+ Portrait Mx
+ Landscape Airoo
+ Landscape R Style A
+ Landscape L Style A
+ Landscape R Style B
+ Landscape L Style B
+ Landscape iOS 15
+ Landscape iOS 16
+ Landscape Origami
+ Landscape OneUI 7
+ Circle
+ Dotted circle
+ Filled circle
+ Big circle
+ Big dotted circle
+ Text
+ Hidden
+ Follow status bar style
+ Battery percent
+ Hidden
+ Inside the icon
+ Next to the icon (right)
+ Next to the icon (left)
+ Battery percentage when charging
+ Always display battery percentage when charging
+ Clock & date
+ Customize clock & date
+ Data disabled indicator
+ Display an indicator next to signal icon when data is disabled
+ 4G icon
+ Replace \'LTE\' icon with \'4G\'
+ Wi-Fi standard
+ Display Wi-Fi standard next the Wi-Fi icon
+ Bluetooth battery status
+ Display battery status for the connected Bluetooth device, if available
+ Colored icons
+ Use launcher icons for app notifications
+ Logo
+ Display a custom logo on the status bar
+ Logo position
+ Left side
+ Right side
+ Logo style
+ MistOS
+ Android
+ Adidas
+ Alien
+ Apple
+ Avengers
+ Batman
+ Batman The Dark Knight
+ Beats
+ Biohazard
+ BlackBerry
+ Cannabis
+ Emoticon cool
+ Emoticon devil
+ Fire
+ Heart
+ Nike
+ Pac-man
+ Puma
+ ROG
+ Spider-Man
+ Superman
+ Windows
+ Xbox
+ Ghost
+ Ninja
+ Robot
+ Iron Man
+ Captain America
+ Flash
+ Tux
+ Ubuntu
+ Linux Mint
+ Amogus
+ Network traffic monitor
+ Display and customize current network traffic levels
+ Notification count
+ Display the number of unread notifications on each app icon
+ Privacy indicators
+ Microphone & camera
+ Display an indicator when an app accesses the microphone or camera
+ Location
+ Display an indicator when an app accesses your location
+ Screen projection
+ Display an indicator when the screen is being projected
+ Carrier name on lock screen
+ Display carrier name on lock screen status bar
+ Status bar lyric
+ Show lyric in status bar (need app support)
+ Options
+ Disguise device for music apps
+ Disguise device in some music applications for support status bar lyric. After changing this toggle, you have to restart applications for the change to take effect.
+
+ Clock position
+ Right
+ Left
+ Center
+ Hidden
+ Clock seconds
+ Display seconds next to clock in status bar
+ Auto hide at intervals
+ Hide clock at specific time based intervals
+ Hide duration
+ Number of seconds to hide clock
+ Show duration
+ Number of seconds to wait before hiding clock
+ Auto hide on launcher
+ Hide clock if launcher is visible
+ Background chip
+ Display accented chip behind clock
+ Solid color accent
+ Outline
+ Solid color accent gradient
+ Solid Gradient side
+ Solid accent gradient sharp
+ Gradient Void
+ Neumorph gradient
+ Sharp gradient stroke
+ Accent transperent
+ Gradient light
+ Sharp gradient corner
+ Gradient Void light
+ AM/PM style
+ 24-hour clock is enabled
+ Normal
+ Small
+ Hidden
+ Date
+ Hidden
+ Small
+ Normal
+ Date format
+ Date style
+ Normal
+ Lowercase
+ Uppercase
+ Custom java format
+ Must be in DateFormat eg. MM/dd/yy
+ Enter string
+ Date position
+ Right of time
+ Left of time
+
+ Location
+ Disabled
+ Statusbar
+ Quick Statusbar
+ Display mode
+ Upload only
+ Download only
+ Upload and download
+ Auto hide
+ Hide the traffic monitor when inactive
+ Inactivity threshold
+ Refresh interval
+ Duration after which speed is remeasured
+ Traffic measurement units
+ Bits per second (b/s)
+ Kilobits per second (kb/s)
+ Megabits per second (Mb/s)
+ Bytes per second (B/s)
+ Kilobytes per second (kB/s)
+ Megabytes per second (MB/s)
+ Hide arrows
+ Hide the network traffic indicator arrows
+
+ Interface
+ QS tiles style
+ Circle tiles
+ Square tiles
+ Circle & Square tiles
+ QS panel style
+ Outline
+ Two-Tone accent
+ Color pop
+ Shaded
+ Cyberpunk
+ Neumorph
+ Reflected
+ Surround
+ ThinLine
+ Hide label
+ Label text size
+ Only show icon in tile
+ Vertical layout
+ Show label below icon instead next to icon
+ Columns & rows
+ Customize QS columns and rows
+ QS rows should be equal or greater than QQS rows. Use higher number of columns for circle / square (A11) QS tile style.
+ Columns (portrait)
+ Columns (landscape)
+ Rows (portrait)
+ Rows (landscape)
+ Quick QS Rows (portrait)
+ Quick QS Rows (landscape)
+ Brightness slider
+ Brightness slider
+ Never show
+ Only show when expanded
+ Always show
+ Brightness percentage
+ Show brightness percentage text along with the slider
+ Brightness slider position
+ Top
+ Bottom
+ Auto brightness icon
+ Show icon toggle for adaptive brightness next to the slider
+ Haptic feedback
+ Provide haptic feedback on changing brightness using slider
+ Animations
+ Tiles animation style
+ Animation duration
+ Animation interpolator
+ No animation
+ Rotate
+ Flip X
+ Flip Y
+ Linear
+ Accelerate
+ Decelerate
+ Accelerate decelerate
+ Bounce
+ Overshoot
+ Anticipate
+ Anticipate overshoot
+ Data usage
+ Display data usage summary in quick settings footer
+ Lock screen
+ Swipe down on LS to view QS
+ Hide all quick settings in the notification shade while the device is locked
+ Secure QS tiles require unlock
+ The following quick settings require the device to be unlocked before you can interact with them:\nAirplane, Battery saver, Bluetooth, Cellular, Data saver, Hotspot, Internet, NFC, Rotation lock, and Wi-Fi
+ Miscellaneous
+ Bluetooth tile dialog
+ Show bluetooth dialog or toggle bluetooth state on tapping bluetooth tile
+ QS header image
+ Select QS background header image
+ Header image collection
+ Header image shadow
+ For better visibility on bright images
+ Static image
+ Image collection
+ Custom image
+ Header provider
+ Browse installed headers
+ Browse all available header collections
+ Select header image
+ Select an image to use for static mode
+ Select image
+ Select custom image
+ You must install a gallery app!
+ Header image offset
+ Adjust the image header size
+ Background transparency
+ Set transparency level for QS background
+ QS tiles shape
+ Dynamic
+ Circle
+ Rounded square
+ Square
+
+ Heads up
+ Allow pop up notifications
+ Interface
+ Edge light
+ Light up the side edges of the screen on notification pulse
+ Kill app
+ Show a kill app button in the notification\'s longpress menu
+ Sounds & vibration
+ Alert while display on
+ Play sound and vibration for notifications while the display is on
+
+ Alert slider notifications
+ Display notification when changing alert slider position
+
+ Compact heads-up
+ Display notifications in compact size
+
+ Always trigger on pulse
+ Whether to show edge light whenever ambient display is shown and not just for notifications
+ Repeat animation
+ Repeat until timeout
+ Show only once
+ Edge light color mode
+ Edge light style
+ Edge light stroke width
+ Configure edge light thickness
+ Draw Line
+ Blink/Pulse
+
+ Less boring
+ Display popup notifications only for alarm, dialer and messaging app
+
+ Interface
+ Power menu actions
+ Choose which actions are displayed
+ Lock screen
+ Show on secure lock screen
+ Show the power menu while the device is locked
+
+ Advanced reboot
+ Screenshot
+ On-The-Go mode
+ Airplane
+ Flashlight
+ Settings
+ Lockdown
+ Lockdown is disabled as keyguard isn\'t secure
+ Sound panel
+ Users
+ Logout
+ Emergency
+ Device controls
+
+ Spoofing
+ Developer options
+ Allow application downgrade
+ Allow downgrading system applications, which may result in crashes and data loss
+ Ignore wallpaper dimming requests
+ Blocks all apps from setting the wallpaper dim\nForces dim to 0
+ Ignore window secure flags
+ Remove restrictions on screenshots and screen recordings for all applications, potentially risking privacy leaks
+ Unlimit screenrecord
+ Remove the 15GiB file size limit\nMay result in a larger than needed output file
+
+ Hide applist
+ Prevent apps from checking selected apps from appslist
+ Show overlay
+ Hide overlay
+
+ Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen
+ Smart Pixels
+ Save battery by shutting off extra pixels
+ Auto-enable on battery saver
+ Enable Smart Pixels when battery saver is enabled
+ Percent of pixels to disable
+ Burn-in protection
+ Prevents burn-in on OLED devices by shifting pixels every so often
+
+ Component spoofing
+ Bypass app restrictions by spoofing components
+ System-Wide
+ Pixel props
+ Spoof a select group of Google apps to the latest Pixel device
+ Spoof tensor features
+ Unlock tensor/pixel features
+ Play Integrity fix
+ Spoof your device to pass Google Play Attestation
+ Storage encryption
+ Spoof the device storage encryption status to \'Encrypted\'
+ App-Specific
+ Google app
+ Spoof the Google app to the latest Pixel device to unlock exclusive features
+ Play Store
+ Spoof the Play Store to the latest Pixel device
+ Google Photos
+ Spoof the Google Photos app as a Pixel XL
+ Snapchat
+ Spoof Snapchat as a Pixel XL to fix possible chat issues
+ Enable Game Props spoofing
+ Spoof your device as different model for specific games to unlock higher FPS
+ Select Game Props JSON File
+ Pick Game Props JSON file to be used for spoofing games
+ Netflix
+ Spoof your device as different model for Netflix
+
+ Successfully downloaded pif.json. Spoofing as %1$s for Play Integrity.
+ Failed to spoof properties.
+ Update Play Integrity fix
+ Update PIF spoofing device, requires internet connection.
+ Play Integrity fix properties
+ Show all currently set PIF properties
+ Error loading PIF properties
+ Select PIF JSON file
+ Choose the PIF JSON file to be used to spoof Play Integrity
+
+ Keybox attestation override
+ Load a custom keybox XML to override device key attestation
+ Custom keybox XML loaded. Delete to clear.
+ Clear keybox data
+ Not an XML file. Choose a valid keybox XML.
+ Invalid keybox XML: required fields missing
+ Keybox loaded
+ Keybox cleared
+
+ Color Picker
+ Press on color below to apply
+ Set
+ Accent color (Default)
+ Notification color
+ Wallpaper color
+ Rainbow gradient color
+ Custom color
+
+ Value: %s
+ by default
+ Default value: %s\nLong tap to set
+ Default value is set
+
+ Enable
+ Disable
+ Boot animation applied
+ Default
+ Top
+ Bottom
+
+ milliseconds
+ seconds
+
+ SystemUI restart required
+ For changes to take effect, a SystemUI restart is required. Restart SystemUI now?
+ Yes
+ Not now
+
+ Better landscape QS
+ Enable new experimental split shade quicksettings,\nbreaks landscape headsup notifications
+
+ Power menu style
+ Cyberpunk
+ Duoline
+ IOS
+ Layers
+
+ QS header clock style
+ Chip
+ Oxygen
+ Analog
+ Simple
+
+ Notification style
+ Cyberpunk
+ Duoline
+ Fluid (Transparent)
+ IOS
+ Layers
+
+ Progress bar style
+ Blocky thumb
+ Minimal thumb
+ Outline thumb
+ Shishu
+
+ Revamped AOSP UI style
+ Realme UI style
+ AOSP default style
+ Double layer style
+ Gradient style
+ Neumorph style
+ Neumorph outline style
+ Outline style
+ Shaded layer style
+ Volume panel styles
+
+ Wallpaper styles
+ Configure wallpaper styles and settings
+ Wallpaper blur
+ Enable or disable wallpaper blur effect
+ Wallpaper blur style
+ Wallpaper dim
+ Wallpaper dim level
+ Configure wallpaper dim level
+ Glass blur
+ Frosted blur
+ For wallpaper styles to work effectively, users must set the wallpapers for the lock screen and home screen at different times.\nThe same wallpaper can be used, but it should not be applied to both the lock screen and home screen at the same time.\nThis is optional when using the BOTH OPTION for wallpaper blur and dim styles.
+
+
+ Compact QS media player
+ Enable compact mode for QuickSettings media player
+
+ Select Depth wallpaper subject
+ Select depth wallpaper subject image from storage.
+ Depth wallpaper
+ Apply depth effect\nto wallpaper
+ Enable iOS-inspired depth wallpaper. Requires a subject image.
+ Depth wallpaper opacity
+ Depth wallpaper horizontal offset
+ Depth wallpaper vertical offset
+ The depth wallpaper feature, inspired by iOS\'s Wallpaper Subject Segmentation, enables overlaying of a subject above the lock screen clock to show a wallpaper depth effect.\n\nTo setup Depth Wallpaper Feature:\n1. Set a wallpaper with the subject or a background you want the subject to be above of.\n2. Select a subject image to track, this image will be overlaid above the lock screen clock.\n3. Modify the offsets and opacity according to your needs.
+
+
+ Media cover art
+ Display media cover art when available
+ Media cover art fade level
+ Set media cover art fade level
+
+ Media cover art filter
+ None
+ Grayscale
+ Accent tinted
+ Blur
+ Grayscale and blurred
+
+ Media art blur level
+ Blur intensity when blur filter is applied
+
+ System haptics
+ Modify system haptics intensities
+ Back gesture haptics intensity
+ Brightness slider haptics intensity
+ Edge scrolling haptics intensity
+ Volume slider haptics intensity
+ QS tile haptics intensity
+ Qs fling haptics intensity
+ Vibrate on touching QS tiles
+
+ Weather settings
+ Setup icon pack and weather service
+ Weather
+ Weather update
+ Display current weather update
+ Requires weather service to be enabled
+ Current location
+ Display current weather location
+ Current condition
+ Display current weather condition summary
+ Pixel style
+ Display weather as separate row
+
+ Always-On-Display
+ Pulse/Doze
+
+ AOD image
+ Select AOD image
+ Set custom AOD image
+ Select AOD image from gallery
+ Clock style not supported
+
+ QS widgets
+ Show widgets for quick access. \nLimits QS rows to 2 to avoid breaking AOSP QS Panel scrolling
+
+ Widgets
+ Enable lock screen widgets
+ Add widgets to lock screen
+ Device info widget
+ Show device info widget on lock screen
+ Big widgets
+ Big widget 1
+ Big widget 2
+ Mini widgets
+ Mini widget 1
+ Mini widget 2
+ Mini widget 3
+ Mini widget 4
+ Camera
+ Clock/Timer
+ Calculator
+ Gallery
+ Media Player
+ Torch
+ Play
+ Weather
+ Wifi
+ Data
+ Ringer
+ Bluetooth
+ Hotspot
+ Wallet
+
+ Lock screen widgets style
+ Material Rounded
+ Material Square
+ Translucent (Square)
+ Translucent (Rounded)
+ Translucent style widget transparency
+ Configure translucent style widget opacity level
+
+ Font Styles
+ Change system font style
+ The quick brown\nfox jumps over the\nlazy dog\n\nABCDEFGHIJKLM\nNOPQRSTUVWXYZ\nabcdefghijkl\nmnopqrstuvwxyz\n1234567890
+ Apply
+ Select font
+
+ Apply
+
+ Peek display
+ Enable minimal lock screen notification style
+ Peek display location
+ Peek display (bottom) top margin
+
+ Minimalist
+ Peek display style
+
+ Now bar
+ Enable now bar lock screen widgets
+ Now bar height
+ Adjust the height of the Now bar
+
+ Notification icons
+ Maximum notification icons visible on status bar
+
+ Statusbar action chip
+ Statusbar action chip options
+ Ongoing action chip
+ Show progress indicator in status bar for ongoing actions like downloads
+ Show media progress
+ \"Display media playback progress in the status bar
+ \"The status bar progress bar provides real-time updates for both media playback and active downloads/uploads.
+
+ - 🎵 Media Progress:
+ • Displays playback progress for music and video when media is playing.
+ • Single tap opens playback controls (Previous, Next track).
+ • Double tap toggles play/pause.
+ • Swipe left skips to the previous track.
+ • Swipe right skips to the next track.
+ • Long press opens the media app.
+
+ - 📥Download/Upload Progress:
+ • Shows progress for ongoing downloads and uploads.
+ • Automatically hides when no active transfers are detected.
+ • Single tap opens the app responsible for the download.
+
+ The progress bar dynamically switches between media and download states, ensuring you always have the most relevant information at a glance.\"
+
+ Compact Progress Indicator
+ Use a compact circular indicator for ongoing actions
+
+ Show squiggle animation
+ Show media panel squiggle animation\nAfter change need to switch music, pause music or move the progress bar to apply
+
+ Expressive Design
+ Enable Expressive Design preview
+
+ AOD wallpaper
+ Show wallpaper when aod on
+
+ Battery bar
+ Display and customize battery bar above status bar
+ Color
+ Charging color
+ Low battery color
+ Alignment
+ Thickness
+ Charging animation
+ Regular
+ Center-mirrored
+ Reversed
+ Custom charging color
+ Blend colors
+ Blend full/empty colors corresponding to battery percentage
+ Reverse color direction
+ Full → empty: red ← green ← blue ← red
+ Full → empty: red → green → blue → red
+ Use gradient color
+ Use gradient color as a scale for the battery level
+ High level color\"
+ Low level color\"
+ Charging animation color
+
+ Keyguard affordance single tap
+ Toggle keyguard affordances with a single tap
+
+ QuickSwitch
+ Customize default homescreen app
+ Nothing launcher customizations
+ Customize nothing launcher homescreen app
+ QuickSwitch is not supported; the system only has one launcher.
+ Notes: \n\n
+ 1. Due to compatibility issues with current Android API, the Lawnchair Launcher uses the Mist Launcher recents overview and will override any third-party launchers when set as the active QuickSwitch launcher. For better compatibility with third-party launchers, consider setting the QuickSwitch launcher to Mist or Pixel Launcher instead.\n\n
+ 2. External launcher modules/modifications must be adapted to the QuickSwitch structure to function properly.
+
+
+ Default
+ Color
+ Default (White)
+ Accent
+ Custom
+
+ Transient task mode
+ Transient task mode (Reboot your device to apply changes)
+ Dismiss apps from recents when last activity gets closed using back button.
+ Disable (Default)
+ Enable (Some apps will stay)
+ Force (Override app behaviour)
+
+ Small landscape notifications
+ Shows notifications smaller in width in notification panel in landscape mode just as AOSP intended
+
+ Island notification
+ Display heads-up notification in Dynamic Island style
+ The Island notification feature, inspired by iOS\'s Dynamic Island, transforms Android\'s heads-up notifications into quick-access and compact notification utility.\n\nIsland Quick Access Controls includes the following features:\n1. Tap island notification to quick answer phone calls.\n2. Long press island notification to reject phone calls.\n3. Long press island notification to expand the island notification preview.
+
+
diff --git a/res/values/mist_arrays.xml b/res/values/mist_arrays.xml
index f4ad06de..f68389bc 100644
--- a/res/values/mist_arrays.xml
+++ b/res/values/mist_arrays.xml
@@ -1037,4 +1037,88 @@
- 0
- 1
+
+
+ - @string/disable
+ - @string/enable
+
+
+
+ - 0
+ - 1
+
+
+
+
+ - @string/quick_settings_tile_shape_dynamic
+ - @string/quick_settings_tile_shape_circle
+ - @string/quick_settings_tile_shape_rounded_square
+ - @string/quick_settings_tile_shape_square
+
+
+
+ - 0
+ - 1
+ - 2
+ - 3
+
+
+
+
+ - @string/battery_bar_style_regular
+ - @string/battery_bar_style_center_mirrored
+ - @string/battery_bar_style_reversed
+
+
+
+ - 0
+ - 1
+ - 2
+
+
+
+
+ - @string/disabled
+ - @string/solid_accent
+ - @string/outline
+ - @string/solid_accent_gradient
+ - @string/solid_gradient
+ - @string/solid_gradient_corner
+ - @string/solid_gradient_void
+ - @string/solid_gradient_neumorph
+ - @string/solid_gradient_stroke
+ - @string/solid_accent_transperent
+ - @string/solid_gradient_light
+ - @string/solid_gradient_shape
+ - @string/solid_gradient_void_light
+
+
+
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - 10
+ - 11
+ - 12
+
+
+
+
+ - @string/status_bar_logo_color_default
+ - @string/status_bar_logo_color_accent
+ - @string/status_bar_logo_color_custom
+
+
+ - 0
+ - 1
+ - 2
+
+
diff --git a/res/values/mist_strings.xml b/res/values/mist_strings.xml
index 035bd8c1..25bc760d 100644
--- a/res/values/mist_strings.xml
+++ b/res/values/mist_strings.xml
@@ -332,8 +332,20 @@
Number of seconds to wait before hiding clock
Auto hide on launcher
Hide clock if launcher is visible
- Background chip
- Display accented chip behind clock
+ Background chip
+ Display accented chip behind clock
+ Solid color accent
+ Outline
+ Solid color accent gradient
+ Solid Gradient side
+ Solid accent gradient sharp
+ Gradient Void
+ Neumorph gradient
+ Sharp gradient stroke
+ Accent transperent
+ Gradient light
+ Sharp gradient corner
+ Gradient Void light
AM/PM style
24-hour clock is enabled
Normal
@@ -444,7 +456,7 @@
Data usage
Display data usage summary in quick settings footer
Lock screen
- Hide on secure lock screen
+ Swipe down on LS to view QS
Hide all quick settings in the notification shade while the device is locked
Secure QS tiles require unlock
The following quick settings require the device to be unlocked before you can interact with them:\nAirplane, Battery saver, Bluetooth, Cellular, Data saver, Hotspot, Internet, NFC, Rotation lock, and Wi-Fi
@@ -471,6 +483,11 @@
Adjust the image header size
Background transparency
Set transparency level for QS background
+ QS tiles shape
+ Dynamic
+ Circle
+ Rounded square
+ Square
Heads up
@@ -581,8 +598,12 @@
Spoof the Google Photos app as a Pixel XL
Snapchat
Spoof Snapchat as a Pixel XL to fix possible chat issues
- Unlock higher FPS in games
+ Enable Game Props spoofing
Spoof your device as different model for specific games to unlock higher FPS
+ Select Game Props JSON File
+ Pick Game Props JSON file to be used for spoofing games
+ Netflix
+ Spoof your device as different model for Netflix
Successfully downloaded pif.json. Spoofing as %1$s for Play Integrity.
@@ -596,8 +617,14 @@
Choose the PIF JSON file to be used to spoof Play Integrity
- Select keybox XML to spoof
- Select keybox XML used for key attestation spoofing for all apps system wide. Click the delete button in order to reset the keybox data values used by the system.
+ Keybox attestation override
+ Load a custom keybox XML to override device key attestation
+ Custom keybox XML loaded. Delete to clear.
+ Clear keybox data
+ Not an XML file. Choose a valid keybox XML.
+ Invalid keybox XML: required fields missing
+ Keybox loaded
+ Keybox cleared
Color Picker
@@ -729,6 +756,10 @@
Blur
Grayscale and blurred
+
+ Media art blur level
+ Blur intensity when blur filter is applied
+
System haptics
Modify system haptics intensities
@@ -873,4 +904,74 @@
Expressive Design
Enable Expressive Design preview
+
+
+ AOD wallpaper
+ Show wallpaper when aod on
+
+
+ Battery bar
+ Display and customize battery bar above status bar
+ Color
+ Charging color
+ Low battery color
+ Alignment
+ Thickness
+ Charging animation
+ Regular
+ Center-mirrored
+ Reversed
+ Custom charging color
+ Blend colors
+ Blend full/empty colors corresponding to battery percentage
+ Reverse color direction
+ Full → empty: red ← green ← blue ← red
+ Full → empty: red → green → blue → red
+ Use gradient color
+ Use gradient color as a scale for the battery level
+ High level color"
+ Low level color"
+ Charging animation color
+
+
+ Keyguard affordance single tap
+ Toggle keyguard affordances with a single tap
+
+
+ QuickSwitch
+ Customize default homescreen app
+ Nothing launcher customizations
+ Customize nothing launcher homescreen app
+ QuickSwitch is not supported; the system only has one launcher.
+
+ Notes: \n\n
+ 1. Due to compatibility issues with current Android API, the Lawnchair Launcher uses the Mist Launcher recents overview and will override any third-party launchers when set as the active QuickSwitch launcher. For better compatibility with third-party launchers, consider setting the QuickSwitch launcher to Mist or Pixel Launcher instead.\n\n
+ 2. External launcher modules/modifications must be adapted to the QuickSwitch structure to function properly.
+
+
+
+ Default
+ Color
+ Default (White)
+ Accent
+ Custom
+
+
+ Transient task mode
+ Transient task mode (Reboot your device to apply changes)
+ Dismiss apps from recents when last activity gets closed using back button.
+ Disable (Default)
+ Enable (Some apps will stay)
+ Force (Override app behaviour)
+
+
+ Small landscape notifications
+ Shows notifications smaller in width in notification panel in landscape mode just as AOSP intended
+
+
+ Island notification
+ Display heads-up notification in Dynamic Island style
+
+ The Island notification feature, inspired by iOS\'s Dynamic Island, transforms Android\'s heads-up notifications into quick-access and compact notification utility.\n\nIsland Quick Access Controls includes the following features:\n1. Tap island notification to quick answer phone calls.\n2. Long press island notification to reject phone calls.\n3. Long press island notification to expand the island notification preview.
+
diff --git a/res/xml/battery_bar.xml b/res/xml/battery_bar.xml
new file mode 100644
index 00000000..c47274bb
--- /dev/null
+++ b/res/xml/battery_bar.xml
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/xml/island_settings.xml b/res/xml/island_settings.xml
new file mode 100644
index 00000000..db5d1343
--- /dev/null
+++ b/res/xml/island_settings.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
diff --git a/res/xml/mist_settings.xml b/res/xml/mist_settings.xml
index 36e2dcd0..40cc9baa 100644
--- a/res/xml/mist_settings.xml
+++ b/res/xml/mist_settings.xml
@@ -9,11 +9,10 @@
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
android:title="@string/mist_dashboard_title">
-
-
-
+ -->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/xml/mist_settings_lock_screen.xml b/res/xml/mist_settings_lock_screen.xml
index e44a5ccf..87774625 100644
--- a/res/xml/mist_settings_lock_screen.xml
+++ b/res/xml/mist_settings_lock_screen.xml
@@ -15,13 +15,12 @@
android:title="@string/lock_screen_interface_category">
-
-
+ android:dependency="keyguard_now_bar_enabled" /> -->
+
+
-
+ android:dependency="custom_aod_image_enabled" /> -->
-
@@ -123,7 +130,7 @@
android:summary="@string/weather_settings_summary"
android:fragment="org.mist.settings.fragments.lockscreen.LockScreenWeather" />
-
+ -->
-
+ android:defaultValue="false" /> -->
-
+
+
+
diff --git a/res/xml/mist_settings_lock_screen_weather.xml b/res/xml/mist_settings_lock_screen_weather.xml
deleted file mode 100644
index 86d6384c..00000000
--- a/res/xml/mist_settings_lock_screen_weather.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/xml/mist_settings_lock_screen_widgets.xml b/res/xml/mist_settings_lock_screen_widgets.xml
deleted file mode 100644
index b6abae30..00000000
--- a/res/xml/mist_settings_lock_screen_widgets.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/xml/mist_settings_miscellaneous.xml b/res/xml/mist_settings_miscellaneous.xml
index fa21c4f4..9e20cb84 100644
--- a/res/xml/mist_settings_miscellaneous.xml
+++ b/res/xml/mist_settings_miscellaneous.xml
@@ -23,11 +23,11 @@
android:fragment="org.mist.settings.fragments.miscellaneous.HideAppListSettings" />
-
+ android:fragment="org.mist.settings.fragments.miscellaneous.SmartPixels" /> -->
+
+
-
+ settings:units="" /> -->
+
+
+
-
+ android:defaultValue="false" /> -->
-
-
-
-
-
-
-
diff --git a/res/xml/mist_settings_quick_settings.xml b/res/xml/mist_settings_quick_settings.xml
index de35dca4..5ae44d75 100644
--- a/res/xml/mist_settings_quick_settings.xml
+++ b/res/xml/mist_settings_quick_settings.xml
@@ -31,11 +31,11 @@
android:defaultValue="0" />
-
+ android:defaultValue="false" />
-
+ android:defaultValue="false" /> -->
-
+ android:min="1" /> -->
+ android:defaultValue="false" />
-
+ android:defaultValue="0" /> -->
-
+ android:defaultValue="false" /> -->
-
-
+
+
-
-
-
+ android:fragment="org.mist.settings.fragments.quicksettings.LayoutSettings" /> -->
-
-
-
-
-
+ -->
-
+ android:entries="@array/quick_settings_secure_lock_screen_entries"
+ android:entryValues="@array/quick_settings_secure_lock_screen_values"
+ android:defaultValue="1" />
-
-
+ android:defaultValue="true"/> -->
-
+ android:fragment="org.mist.settings.fragments.statusbar.StatusbarLyricSettings" /> -->
+
+
+
+
+
+
+
+
+
-
+ android:persistent="true" /> -->
-
-
+ android:fragment="org.mist.settings.fragments.themes.BrightnessSlider" /> -->
-
+
-
+ android:defaultValue="0" /> -->
-
+ android:defaultValue="true" /> -->
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/xml/power_menu_actions.xml b/res/xml/power_menu_actions.xml
index 42886d39..5647ee04 100644
--- a/res/xml/power_menu_actions.xml
+++ b/res/xml/power_menu_actions.xml
@@ -30,10 +30,10 @@
android:title="@string/power_menu_actions_screenshot_title"
android:defaultValue="false" />
-
+ android:defaultValue="false" /> -->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/xml/spoofing.xml b/res/xml/spoofing.xml
index 89f185b3..75bb3242 100644
--- a/res/xml/spoofing.xml
+++ b/res/xml/spoofing.xml
@@ -16,9 +16,7 @@
+ android:title="@string/keybox_data_title" />
+ android:defaultValue="true" />
+ android:defaultValue="false" />
+
+
+
+
+
diff --git a/res/xml/status_bar_clock.xml b/res/xml/status_bar_clock.xml
index 9e9a4698..a326b5ca 100644
--- a/res/xml/status_bar_clock.xml
+++ b/res/xml/status_bar_clock.xml
@@ -68,11 +68,13 @@
android:summary="@string/status_bar_clock_seconds_summary"
android:defaultValue="false" />
-
+ android:title="@string/statusbar_clock_chip_title"
+ android:entries="@array/statusbar_clock_chip_entries"
+ android:entryValues="@array/statusbar_clock_chip_values"
+ android:summary="%s"
+ android:defaultValue="0" />
getNonIndexableKeys(Context context) {
- List keys = super.getNonIndexableKeys(context);
- return keys;
- }
- };
-}
diff --git a/src/org/mist/settings/fragments/lockscreen/LockScreen.java b/src/org/mist/settings/fragments/lockscreen/LockScreen.java
index 403a418b..30df6267 100644
--- a/src/org/mist/settings/fragments/lockscreen/LockScreen.java
+++ b/src/org/mist/settings/fragments/lockscreen/LockScreen.java
@@ -32,8 +32,8 @@
import java.util.List;
-import org.mist.settings.preferences.SecureSettingSwitchPreference;
-import org.mist.settings.utils.ImageUtils;
+//import org.mist.settings.preferences.SecureSettingSwitchPreference;
+//import org.mist.settings.utils.ImageUtils;
@SearchIndexable
public class LockScreen extends SettingsPreferenceFragment implements
@@ -43,15 +43,15 @@ public class LockScreen extends SettingsPreferenceFragment implements
private static final String KEY_FINGERPRINT_CATEGORY = "lock_screen_fingerprint_category";
private static final String KEY_RIPPLE_EFFECT = "enable_ripple_effect";
- private static final String KEY_SCREEN_OFF_UDFPS = "screen_off_udfps_enabled";
+// private static final String KEY_SCREEN_OFF_UDFPS = "screen_off_udfps_enabled";
private static final String KEY_AUTHENTICATION_SUCCESS = "fp_success_vibrate";
private static final String KEY_AUTHENTICATION_ERROR = "fp_error_vibrate";
- private static final String CUSTOM_IMAGE_REQUEST_CODE_KEY = "lockscreen_custom_image";
- private static final int CUSTOM_IMAGE_REQUEST_CODE = 1001;
+// private static final String CUSTOM_IMAGE_REQUEST_CODE_KEY = "lockscreen_custom_image";
+// private static final int CUSTOM_IMAGE_REQUEST_CODE = 1001;
- private Preference mCustomImagePreference;
+// private Preference mCustomImagePreference;
private PreferenceCategory mFingerprintCategory;
- private SecureSettingSwitchPreference mScreenOffUdfps;
+// private SecureSettingSwitchPreference mScreenOffUdfps;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -63,34 +63,34 @@ public void onCreate(Bundle savedInstanceState) {
final PreferenceScreen prefScreen = getPreferenceScreen();
final Resources resources = context.getResources();
- mCustomImagePreference = findPreference(CUSTOM_IMAGE_REQUEST_CODE_KEY);
- int clockStyle = Settings.Secure.getIntForUser(getContext().getContentResolver(), "clock_style", 0, UserHandle.USER_CURRENT);
- String imagePath = Settings.System.getString(getContext().getContentResolver(), "custom_aod_image_uri");
- if (imagePath != null && clockStyle > 0) {
- mCustomImagePreference.setSummary(imagePath);
- mCustomImagePreference.setEnabled(true);
- } else if (clockStyle == 0) {
- mCustomImagePreference.setSummary(getContext().getString(R.string.custom_aod_image_not_supported));
- mCustomImagePreference.setEnabled(false);
- }
+// mCustomImagePreference = findPreference(CUSTOM_IMAGE_REQUEST_CODE_KEY);
+// int clockStyle = Settings.Secure.getIntForUser(getContext().getContentResolver(), "clock_style", 0, UserHandle.USER_CURRENT);
+// String imagePath = Settings.System.getString(getContext().getContentResolver(), "custom_aod_image_uri");
+// if (imagePath != null && clockStyle > 0) {
+// mCustomImagePreference.setSummary(imagePath);
+// mCustomImagePreference.setEnabled(true);
+// } else if (clockStyle == 0) {
+// mCustomImagePreference.setSummary(getContext().getString(R.string.custom_aod_image_not_supported));
+// mCustomImagePreference.setEnabled(false);
+// }
mFingerprintCategory = (PreferenceCategory) findPreference(KEY_FINGERPRINT_CATEGORY);
- mScreenOffUdfps = (SecureSettingSwitchPreference) findPreference(KEY_SCREEN_OFF_UDFPS);
+// mScreenOffUdfps = (SecureSettingSwitchPreference) findPreference(KEY_SCREEN_OFF_UDFPS);
FingerprintManager fingerprintManager = (FingerprintManager)
getActivity().getSystemService(Context.FINGERPRINT_SERVICE);
if (fingerprintManager == null || !fingerprintManager.isHardwareDetected()) {
prefScreen.removePreference(mFingerprintCategory);
- } else {
- boolean screenOffUdfpsAvailable = resources.getBoolean(
- com.android.internal.R.bool.config_supportScreenOffUdfps) ||
- !TextUtils.isEmpty(resources.getString(
- com.android.internal.R.string.config_dozeUdfpsLongPressSensorType));
-
- if (!screenOffUdfpsAvailable) {
- mFingerprintCategory.removePreference(mScreenOffUdfps);
- }
+// } else {
+// boolean screenOffUdfpsAvailable = resources.getBoolean(
+// com.android.internal.R.bool.config_supportScreenOffUdfps) ||
+// !TextUtils.isEmpty(resources.getString(
+// com.android.internal.R.string.config_dozeUdfpsLongPressSensorType));
+//
+// if (!screenOffUdfpsAvailable) {
+// mFingerprintCategory.removePreference(mScreenOffUdfps);
+// }
}
}
@@ -101,36 +101,36 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
return false;
}
- @Override
- public boolean onPreferenceTreeClick(Preference preference) {
- if (preference == mCustomImagePreference) {
- try {
- Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
- intent.setType("image/*");
- startActivityForResult(intent, CUSTOM_IMAGE_REQUEST_CODE);
- } catch(Exception e) {
- Toast.makeText(getContext(), R.string.quick_settings_header_needs_gallery, Toast.LENGTH_LONG).show();
- }
- return true;
- }
- return super.onPreferenceTreeClick(preference);
- }
-
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent result) {
- super.onActivityResult(requestCode, resultCode, result);
- if (requestCode == CUSTOM_IMAGE_REQUEST_CODE && resultCode == Activity.RESULT_OK && result != null) {
- Uri imgUri = result.getData();
- if (imgUri != null) {
- String savedImagePath = ImageUtils.saveImageToInternalStorage(getContext(), imgUri, "lockscreen_aod_image", "LOCKSCREEN_CUSTOM_AOD_IMAGE");
- if (savedImagePath != null) {
- ContentResolver resolver = getContext().getContentResolver();
- Settings.System.putStringForUser(resolver, "custom_aod_image_uri", savedImagePath, UserHandle.USER_CURRENT);
- mCustomImagePreference.setSummary(savedImagePath);
- }
- }
- }
- }
+// @Override
+// public boolean onPreferenceTreeClick(Preference preference) {
+// if (preference == mCustomImagePreference) {
+// try {
+// Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
+// intent.setType("image/*");
+// startActivityForResult(intent, CUSTOM_IMAGE_REQUEST_CODE);
+// } catch(Exception e) {
+// Toast.makeText(getContext(), R.string.quick_settings_header_needs_gallery, Toast.LENGTH_LONG).show();
+// }
+// return true;
+// }
+// return super.onPreferenceTreeClick(preference);
+// }
+//
+// @Override
+// public void onActivityResult(int requestCode, int resultCode, Intent result) {
+// super.onActivityResult(requestCode, resultCode, result);
+// if (requestCode == CUSTOM_IMAGE_REQUEST_CODE && resultCode == Activity.RESULT_OK && result != null) {
+// Uri imgUri = result.getData();
+// if (imgUri != null) {
+// String savedImagePath = ImageUtils.saveImageToInternalStorage(getContext(), imgUri, "lockscreen_aod_image", "LOCKSCREEN_CUSTOM_AOD_IMAGE");
+// if (savedImagePath != null) {
+// ContentResolver resolver = getContext().getContentResolver();
+// Settings.System.putStringForUser(resolver, "custom_aod_image_uri", savedImagePath, UserHandle.USER_CURRENT);
+// mCustomImagePreference.setSummary(savedImagePath);
+// }
+// }
+// }
+// }
@Override
public int getMetricsCategory() {
@@ -150,17 +150,17 @@ public List getNonIndexableKeys(Context context) {
if (fingerprintManager == null || !fingerprintManager.isHardwareDetected()) {
keys.add(KEY_RIPPLE_EFFECT);
- keys.add(KEY_SCREEN_OFF_UDFPS);
+// keys.add(KEY_SCREEN_OFF_UDFPS);
keys.add(KEY_AUTHENTICATION_SUCCESS);
keys.add(KEY_AUTHENTICATION_ERROR);
- } else {
- boolean screenOffUdfpsAvailable = resources.getBoolean(
- com.android.internal.R.bool.config_supportScreenOffUdfps) ||
- !TextUtils.isEmpty(resources.getString(
- com.android.internal.R.string.config_dozeUdfpsLongPressSensorType));
- if (!screenOffUdfpsAvailable) {
- keys.add(KEY_SCREEN_OFF_UDFPS);
- }
+// } else {
+// boolean screenOffUdfpsAvailable = resources.getBoolean(
+// com.android.internal.R.bool.config_supportScreenOffUdfps) ||
+// !TextUtils.isEmpty(resources.getString(
+// com.android.internal.R.string.config_dozeUdfpsLongPressSensorType));
+// if (!screenOffUdfpsAvailable) {
+// keys.add(KEY_SCREEN_OFF_UDFPS);
+// }
}
return keys;
}
diff --git a/src/org/mist/settings/fragments/lockscreen/LockScreenWeather.java b/src/org/mist/settings/fragments/lockscreen/LockScreenWeather.java
deleted file mode 100644
index 54d9f34f..00000000
--- a/src/org/mist/settings/fragments/lockscreen/LockScreenWeather.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2019-2024 MistOS
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package org.mist.settings.fragments.lockscreen;
-
-import android.content.Context;
-import android.os.Bundle;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.List;
-
-@SearchIndexable
-public class LockScreenWeather extends SettingsPreferenceFragment {
-
- public static final String TAG = "LockScreenWeather";
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- addPreferencesFromResource(R.xml.mist_settings_lock_screen_weather);
- }
-
- @Override
- public int getMetricsCategory() {
- return MetricsProto.MetricsEvent.MIST;
- }
-
- /**
- * For search
- */
- public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider(R.xml.mist_settings_lock_screen_weather) {
-
- @Override
- public List getNonIndexableKeys(Context context) {
- List keys = super.getNonIndexableKeys(context);
-
- return keys;
- }
- };
-}
diff --git a/src/org/mist/settings/fragments/lockscreen/LockScreenWidgets.java b/src/org/mist/settings/fragments/lockscreen/LockScreenWidgets.java
deleted file mode 100644
index 36dc6398..00000000
--- a/src/org/mist/settings/fragments/lockscreen/LockScreenWidgets.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * Copyright (C) 2023-2024 the risingOS Android Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.mist.settings.fragments.lockscreen;
-
-import android.app.Activity;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.provider.MediaStore;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.Button;
-import android.widget.Toast;
-
-import androidx.preference.ListPreference;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.SwitchPreferenceCompat;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.SearchIndexable;
-import com.android.settingslib.widget.LayoutPreference;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-@SearchIndexable
-public class LockScreenWidgets extends SettingsPreferenceFragment implements Preference.OnPreferenceChangeListener {
-
- public static final String TAG = "LockScreenWidgets";
-
- private static final String MAIN_WIDGET_1_KEY = "main_custom_widgets1";
- private static final String MAIN_WIDGET_2_KEY = "main_custom_widgets2";
- private static final String EXTRA_WIDGET_1_KEY = "custom_widgets1";
- private static final String EXTRA_WIDGET_2_KEY = "custom_widgets2";
- private static final String EXTRA_WIDGET_3_KEY = "custom_widgets3";
- private static final String EXTRA_WIDGET_4_KEY = "custom_widgets4";
- private static final String KEY_APPLY_CHANGE_BUTTON = "apply_change_button";
-
- private static final String LOCKSCREEN_WIDGETS_KEY = "lockscreen_widgets";
- private static final String LOCKSCREEN_WIDGETS_EXTRAS_KEY = "lockscreen_widgets_extras";
-
- private Preference mMainWidget1;
- private Preference mMainWidget2;
- private Preference mExtraWidget1;
- private Preference mExtraWidget2;
- private Preference mExtraWidget3;
- private Preference mExtraWidget4;
- private Button mApplyChange;
-
- private SwitchPreferenceCompat mLockScreenWidgetsEnabledPref;
- private List mWidgetPreferences;
-
- private Map widgetKeysMap = new HashMap<>();
- private Map initialWidgetKeysMap = new HashMap<>();
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- addPreferencesFromResource(R.xml.mist_settings_lock_screen_widgets);
-
- initializePreferences();
- setupListeners();
-
- boolean isLsWidgetsEnabled = Settings.System.getIntForUser(
- getActivity().getContentResolver(),
- "lockscreen_widgets_enabled",
- 0,
- UserHandle.USER_CURRENT) != 0;
-
- mLockScreenWidgetsEnabledPref.setChecked(isLsWidgetsEnabled);
- showWidgetPreferences(isLsWidgetsEnabled);
-
- loadInitialPreferences();
- saveInitialPreferences();
- mApplyChange.setEnabled(false);
- }
-
- private void initializePreferences() {
- mMainWidget1 = findPreference(MAIN_WIDGET_1_KEY);
- mMainWidget2 = findPreference(MAIN_WIDGET_2_KEY);
- mExtraWidget1 = findPreference(EXTRA_WIDGET_1_KEY);
- mExtraWidget2 = findPreference(EXTRA_WIDGET_2_KEY);
- mExtraWidget3 = findPreference(EXTRA_WIDGET_3_KEY);
- mExtraWidget4 = findPreference(EXTRA_WIDGET_4_KEY);
-
- mWidgetPreferences = Arrays.asList(
- mMainWidget1,
- mMainWidget2,
- mExtraWidget1,
- mExtraWidget2,
- mExtraWidget3,
- mExtraWidget4);
-
- mLockScreenWidgetsEnabledPref = findPreference("lockscreen_widgets_enabled");
-
- LayoutPreference layoutPreference = findPreference(KEY_APPLY_CHANGE_BUTTON);
- mApplyChange = layoutPreference.findViewById(R.id.apply_change);
- }
-
- private void setupListeners() {
- for (Preference widgetPref : mWidgetPreferences) {
- widgetPref.setOnPreferenceChangeListener(this);
- widgetKeysMap.put(widgetPref, "");
- }
- mLockScreenWidgetsEnabledPref.setOnPreferenceChangeListener(this);
-
- mApplyChange.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- updateWidgetPreferences();
- saveInitialPreferences();
- mApplyChange.setEnabled(false);
- }
- });
- }
-
- private void showWidgetPreferences(boolean isEnabled) {
- for (Preference widgetPref : mWidgetPreferences) {
- widgetPref.setVisible(isEnabled);
- }
- }
-
- private void loadInitialPreferences() {
- ContentResolver resolver = getActivity().getContentResolver();
- String mainWidgets = Settings.System.getString(resolver, LOCKSCREEN_WIDGETS_KEY);
- setWidgetAndPreferenceValues(mainWidgets, mMainWidget1, mMainWidget2);
- String extraWidgets = Settings.System.getString(resolver, LOCKSCREEN_WIDGETS_EXTRAS_KEY);
- setWidgetAndPreferenceValues(extraWidgets, mExtraWidget1, mExtraWidget2, mExtraWidget3, mExtraWidget4);
- }
-
- private void setWidgetAndPreferenceValues(String widgets, Preference... preferences) {
- if (widgets == null) {
- return;
- }
- List widgetList = Arrays.asList(widgets.split(","));
- for (int i = 0; i < preferences.length && i < widgetList.size(); i++) {
- String value = widgetList.get(i).trim();
- Preference pref = preferences[i];
- widgetKeysMap.put(pref, value);
- if (pref instanceof ListPreference) {
- ((ListPreference) pref).setValue(value);
- }
- }
- }
-
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- if (widgetKeysMap.containsKey(preference)) {
- widgetKeysMap.put(preference, String.valueOf(newValue));
- mApplyChange.setEnabled(hasChanges());
- return true;
- } else if (preference == mLockScreenWidgetsEnabledPref) {
- boolean isEnabled = (boolean) newValue;
- showWidgetPreferences(isEnabled);
- mLockScreenWidgetsEnabledPref.setChecked(isEnabled);
- return true;
- }
- return false;
- }
-
- private void updateWidgetPreferences() {
- List mainWidgetsList = Arrays.asList(widgetKeysMap.get(mMainWidget1), widgetKeysMap.get(mMainWidget2));
- List extraWidgetsList = Arrays.asList(widgetKeysMap.get(mExtraWidget1), widgetKeysMap.get(mExtraWidget2), widgetKeysMap.get(mExtraWidget3), widgetKeysMap.get(mExtraWidget4));
-
- mainWidgetsList = replaceEmptyWithNone(mainWidgetsList);
- extraWidgetsList = replaceEmptyWithNone(extraWidgetsList);
-
- String mainWidgets = TextUtils.join(",", mainWidgetsList);
- String extraWidgets = TextUtils.join(",", extraWidgetsList);
-
- ContentResolver resolver = getActivity().getContentResolver();
- Settings.System.putString(resolver, LOCKSCREEN_WIDGETS_KEY, mainWidgets);
- Settings.System.putString(resolver, LOCKSCREEN_WIDGETS_EXTRAS_KEY, extraWidgets);
- }
-
- private List replaceEmptyWithNone(List inputList) {
- return inputList.stream()
- .map(s -> TextUtils.isEmpty(s) ? "none" : s)
- .collect(Collectors.toList());
- }
-
- private void saveInitialPreferences() {
- initialWidgetKeysMap.clear();
- for (Preference widgetPref : mWidgetPreferences) {
- String value = widgetKeysMap.get(widgetPref);
- initialWidgetKeysMap.put(widgetPref, value);
- }
- }
-
- private boolean hasChanges() {
- for (Map.Entry entry : initialWidgetKeysMap.entrySet()) {
- Preference pref = entry.getKey();
- String initialValue = entry.getValue();
- String currentValue = widgetKeysMap.get(pref);
- if (!TextUtils.equals(initialValue, currentValue)) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public int getMetricsCategory() {
- return MetricsProto.MetricsEvent.VIEW_UNKNOWN;
- }
-
- public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider(R.xml.mist_settings_lock_screen_widgets) {
- @Override
- public List getNonIndexableKeys(Context context) {
- return super.getNonIndexableKeys(context);
- }
- };
-}
diff --git a/src/org/mist/settings/fragments/lockscreen/PeekDisplay.java b/src/org/mist/settings/fragments/lockscreen/PeekDisplay.java
deleted file mode 100644
index d08a369e..00000000
--- a/src/org/mist/settings/fragments/lockscreen/PeekDisplay.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2023-2024 the risingOS Android Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.mist.settings.fragments.lockscreen;
-
-import android.content.Context;
-import android.os.Bundle;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.List;
-
-@SearchIndexable
-public class PeekDisplay extends SettingsPreferenceFragment {
-
- public static final String TAG = "PeekDisplay";
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- addPreferencesFromResource(R.xml.mist_settings_peek_display);
- }
-
- @Override
- public int getMetricsCategory() {
- return MetricsProto.MetricsEvent.VIEW_UNKNOWN;
- }
-
- /**
- * For search
- */
- public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider(R.xml.mist_settings_peek_display) {
-
- @Override
- public List getNonIndexableKeys(Context context) {
- List keys = super.getNonIndexableKeys(context);
-
- return keys;
- }
- };
-}
diff --git a/src/org/mist/settings/fragments/lockscreen/WallpaperDepth.java b/src/org/mist/settings/fragments/lockscreen/WallpaperDepth.java
deleted file mode 100644
index f43e4184..00000000
--- a/src/org/mist/settings/fragments/lockscreen/WallpaperDepth.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (C) 2023-2024 the risingOS Android Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.mist.settings.fragments.lockscreen;
-
-import android.app.Activity;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.provider.MediaStore;
-import android.provider.SearchIndexableResource;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.widget.Toast;
-
-import androidx.preference.ListPreference;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.SwitchPreferenceCompat;
-
-import com.android.internal.logging.nano.MetricsProto;
-
-import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.List;
-
-import org.mist.settings.utils.ImageUtils;
-
-@SearchIndexable
-public class WallpaperDepth extends SettingsPreferenceFragment
- implements Preference.OnPreferenceChangeListener {
-
- public static final String TAG = "WallpaperDepth";
-
- private Preference mDepthWallpaperCustomImagePicker;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- addPreferencesFromResource(R.xml.mist_settings_wallpaper_depth);
-
- mDepthWallpaperCustomImagePicker = findPreference("depth_wallpaper_subject_image_uri");
- }
-
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- return false;
- }
-
- @Override
- public int getMetricsCategory() {
- return MetricsProto.MetricsEvent.VIEW_UNKNOWN;
- }
-
-
- @Override
- public boolean onPreferenceTreeClick(Preference preference) {
- if (preference == mDepthWallpaperCustomImagePicker) {
- try {
- Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
- intent.setType("image/*");
- startActivityForResult(intent, 10001);
- } catch(Exception e) {
- Toast.makeText(getContext(), R.string.quick_settings_header_needs_gallery, Toast.LENGTH_LONG).show();
- }
- return true;
- }
- return super.onPreferenceTreeClick(preference);
- }
-
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent result) {
- if (requestCode == 10001) {
- if (resultCode != Activity.RESULT_OK) {
- return;
- }
-
- final Uri imgUri = result.getData();
- if (imgUri != null) {
- String savedImagePath = ImageUtils.saveImageToInternalStorage(getContext(), imgUri, "depthwallpaper", "DEPTH_WALLPAPER_SUBJECT");
- if (savedImagePath != null) {
- ContentResolver resolver = getContext().getContentResolver();
- Settings.System.putStringForUser(resolver, "depth_wallpaper_subject_image_uri", savedImagePath, UserHandle.USER_CURRENT);
- }
- }
- }
- }
-
- /**
- * For search
- */
- public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider(R.xml.mist_settings_wallpaper_depth) {
-
- @Override
- public List getNonIndexableKeys(Context context) {
- List keys = super.getNonIndexableKeys(context);
- return keys;
- }
- };
-}
diff --git a/src/org/mist/settings/fragments/miscellaneous/Miscellaneous.java b/src/org/mist/settings/fragments/miscellaneous/Miscellaneous.java
index 9b504152..3e5b1e21 100644
--- a/src/org/mist/settings/fragments/miscellaneous/Miscellaneous.java
+++ b/src/org/mist/settings/fragments/miscellaneous/Miscellaneous.java
@@ -24,7 +24,7 @@
import java.util.List;
-import org.mist.settings.fragments.miscellaneous.SmartPixels;
+//import org.mist.settings.fragments.miscellaneous.SmartPixels;
@SearchIndexable
public class Miscellaneous extends SettingsPreferenceFragment implements
@@ -32,11 +32,11 @@ public class Miscellaneous extends SettingsPreferenceFragment implements
private static final String TAG = "Miscellaneous";
- private static final String KEY_DEV_CATEGORY = "miscellaneous_developer_options_category";
- private static final String KEY_SMART_PIXELS = "smart_pixels";
+// private static final String KEY_DEV_CATEGORY = "miscellaneous_developer_options_category";
+// private static final String KEY_SMART_PIXELS = "smart_pixels";
- private PreferenceCategory mDevOptionsCategory;
- private Preference mSmartPixels;
+// private PreferenceCategory mDevOptionsCategory;
+// private Preference mSmartPixels;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -48,13 +48,13 @@ public void onCreate(Bundle savedInstanceState) {
final PreferenceScreen prefScreen = getPreferenceScreen();
final Resources res = mContext.getResources();
- mDevOptionsCategory = (PreferenceCategory) findPreference(KEY_DEV_CATEGORY);
- mSmartPixels = (Preference) findPreference(KEY_SMART_PIXELS);
- boolean mSmartPixelsSupported = getResources().getBoolean(
- com.android.internal.R.bool.config_supportSmartPixels);
- if (!mSmartPixelsSupported) {
- mDevOptionsCategory.removePreference(mSmartPixels);
- }
+// mDevOptionsCategory = (PreferenceCategory) findPreference(KEY_DEV_CATEGORY);
+// mSmartPixels = (Preference) findPreference(KEY_SMART_PIXELS);
+// boolean mSmartPixelsSupported = getResources().getBoolean(
+// com.android.internal.R.bool.config_supportSmartPixels);
+// if (!mSmartPixelsSupported) {
+// mDevOptionsCategory.removePreference(mSmartPixels);
+// }
}
@Override
@@ -75,10 +75,10 @@ public int getMetricsCategory() {
public List getNonIndexableKeys(Context context) {
List keys = super.getNonIndexableKeys(context);
- boolean mSmartPixelsSupported = context.getResources().getBoolean(
- com.android.internal.R.bool.config_supportSmartPixels);
- if (!mSmartPixelsSupported)
- keys.add(KEY_SMART_PIXELS);
+// boolean mSmartPixelsSupported = context.getResources().getBoolean(
+// com.android.internal.R.bool.config_supportSmartPixels);
+// if (!mSmartPixelsSupported)
+// keys.add(KEY_SMART_PIXELS);
return keys;
}
diff --git a/src/org/mist/settings/fragments/miscellaneous/SmartPixels.java b/src/org/mist/settings/fragments/miscellaneous/SmartPixels.java
deleted file mode 100644
index fb3880e0..00000000
--- a/src/org/mist/settings/fragments/miscellaneous/SmartPixels.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2018-2022 crDroid Android Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.mist.settings.fragments.miscellaneous;
-
-import android.content.Context;
-import android.content.ContentResolver;
-import android.content.res.Resources;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.UserHandle;
-import android.provider.Settings;
-
-import androidx.preference.ListPreference;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.SwitchPreference;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
-
-public class SmartPixels extends SettingsPreferenceFragment {
-
- private static final String TAG = "SmartPixels";
-
- private static final String SMART_PIXELS_FOOTER = "smart_pixels_footer";
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- addPreferencesFromResource(R.xml.smart_pixels);
-
- findPreference(SMART_PIXELS_FOOTER).setTitle(R.string.smart_pixels_warning_text);
- }
-
- public static void reset(Context mContext) {
- ContentResolver resolver = mContext.getContentResolver();
- Settings.System.putIntForUser(resolver,
- Settings.System.SMART_PIXELS_ENABLE, 0, UserHandle.USER_CURRENT);
- Settings.System.putIntForUser(resolver,
- Settings.System.SMART_PIXELS_ON_POWER_SAVE, 0, UserHandle.USER_CURRENT);
- Settings.System.putIntForUser(resolver,
- Settings.System.SMART_PIXELS_PATTERN, 5, UserHandle.USER_CURRENT);
- Settings.System.putIntForUser(resolver,
- Settings.System.SMART_PIXELS_SHIFT_TIMEOUT, 4, UserHandle.USER_CURRENT);
- }
-
- @Override
- public int getMetricsCategory() {
- return MetricsProto.MetricsEvent.MIST;
- }
-}
diff --git a/src/org/mist/settings/fragments/miscellaneous/Spoofing.java b/src/org/mist/settings/fragments/miscellaneous/Spoofing.java
index 616e7d39..153edb16 100644
--- a/src/org/mist/settings/fragments/miscellaneous/Spoofing.java
+++ b/src/org/mist/settings/fragments/miscellaneous/Spoofing.java
@@ -71,31 +71,35 @@ public class Spoofing extends SettingsPreferenceFragment implements
private static final String TAG = "Spoofing";
private static final String KEY_PIF_JSON_FILE_PREFERENCE = "pif_json_file_preference";
+ private static final String KEY_GAME_PROPS_JSON_FILE_PREFERENCE = "game_props_json_file_preference";
private static final String KEY_SYSTEM_WIDE_CATEGORY = "spoofing_system_wide_category";
private static final String KEY_UPDATE_JSON_BUTTON = "update_pif_json";
private static final String SYS_GMS_SPOOF = "persist.sys.pixelprops.gms";
private static final String SYS_GOOGLE_SPOOF = "persist.sys.pixelprops";
- private static final String SYS_GAMEPROP_SPOOF = "persist.sys.pixelprops.games";
private static final String SYS_GPHOTOS_SPOOF = "persist.sys.pixelprops.gphotos";
private static final String SYS_QSB_SPOOF = "persist.sys.pixelprops.qsb";
private static final String SYS_SNAP_SPOOF = "persist.sys.pixelprops.snap";
+ private static final String SYS_NETF_SPOOF = "persist.sys.pixelprops.netflix";
private static final String SYS_VENDING_SPOOF = "persist.sys.pixelprops.vending";
private static final String SYS_ENABLE_TENSOR_FEATURES = "persist.sys.features.tensor";
+ private static final String SYS_GAMEPROP_ENABLED = "persist.sys.gameprops.enabled";
private static final String KEYBOX_DATA_KEY = "keybox_data_setting";
private ActivityResultLauncher mKeyboxFilePickerLauncher;
private KeyboxDataPreference mKeyboxDataPreference;
private Preference mPifJsonFilePreference;
+ private Preference mGamePropsJsonFilePreference;
private Preference mUpdateJsonButton;
private PreferenceCategory mSystemWideCategory;
private SystemPropertySwitchPreference mGmsSpoof;
private SystemPropertySwitchPreference mGoogleSpoof;
- private SystemPropertySwitchPreference mGamePropsSpoof;
private SystemPropertySwitchPreference mGphotosSpoof;
private SystemPropertySwitchPreference mQsbSpoof;
private SystemPropertySwitchPreference mSnapSpoof;
+ private SystemPropertySwitchPreference mNetfSpoof;
private SystemPropertySwitchPreference mVendingSpoof;
private SystemPropertySwitchPreference mTensorFeaturesToggle;
+ private SystemPropertySwitchPreference mGamePropsEnabled;
private Handler mHandler;
@@ -111,20 +115,22 @@ public void onCreate(Bundle savedInstanceState) {
final Resources resources = context.getResources();
mSystemWideCategory = (PreferenceCategory) findPreference(KEY_SYSTEM_WIDE_CATEGORY);
- mGamePropsSpoof = (SystemPropertySwitchPreference) findPreference(SYS_GAMEPROP_SPOOF);
mGphotosSpoof = (SystemPropertySwitchPreference) findPreference(SYS_GPHOTOS_SPOOF);
mGmsSpoof = (SystemPropertySwitchPreference) findPreference(SYS_GMS_SPOOF);
mGoogleSpoof = (SystemPropertySwitchPreference) findPreference(SYS_GOOGLE_SPOOF);
mPifJsonFilePreference = findPreference(KEY_PIF_JSON_FILE_PREFERENCE);
+ mGamePropsJsonFilePreference = findPreference(KEY_GAME_PROPS_JSON_FILE_PREFERENCE);
mQsbSpoof = (SystemPropertySwitchPreference) findPreference(SYS_QSB_SPOOF);
mSnapSpoof = (SystemPropertySwitchPreference) findPreference(SYS_SNAP_SPOOF);
+ mNetfSpoof = (SystemPropertySwitchPreference) findPreference(SYS_NETF_SPOOF);
mVendingSpoof = (SystemPropertySwitchPreference) findPreference(SYS_VENDING_SPOOF);
mUpdateJsonButton = findPreference(KEY_UPDATE_JSON_BUTTON);
mTensorFeaturesToggle = (SystemPropertySwitchPreference) findPreference(SYS_ENABLE_TENSOR_FEATURES);
+ mGamePropsEnabled = (SystemPropertySwitchPreference) findPreference(SYS_GAMEPROP_ENABLED);
String model = SystemProperties.get("ro.product.model");
boolean isTensorDevice = model.matches("Pixel [6-9][a-zA-Z ]*");
- boolean isPixelGmsEnabled = SystemProperties.getBoolean(SYS_GMS_SPOOF, true); // Default to Pixel GMS
+ boolean isPixelGmsEnabled = SystemProperties.getBoolean(SYS_GMS_SPOOF, true);
if (DeviceUtils.isCurrentlySupportedPixel()) {
mGoogleSpoof.setDefaultValue(false);
@@ -140,11 +146,14 @@ public void onCreate(Bundle savedInstanceState) {
mGmsSpoof.setOnPreferenceChangeListener(this);
mGoogleSpoof.setOnPreferenceChangeListener(this);
mGphotosSpoof.setOnPreferenceChangeListener(this);
- mGamePropsSpoof.setOnPreferenceChangeListener(this);
mQsbSpoof.setOnPreferenceChangeListener(this);
mSnapSpoof.setOnPreferenceChangeListener(this);
+ mNetfSpoof.setOnPreferenceChangeListener(this);
mVendingSpoof.setOnPreferenceChangeListener(this);
mTensorFeaturesToggle.setOnPreferenceChangeListener(this);
+ if (mGamePropsEnabled != null) {
+ mGamePropsEnabled.setOnPreferenceChangeListener(this);
+ }
mKeyboxFilePickerLauncher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
@@ -164,6 +173,13 @@ public void onCreate(Bundle savedInstanceState) {
return true;
});
+ if (mGamePropsJsonFilePreference != null) {
+ mGamePropsJsonFilePreference.setOnPreferenceClickListener(preference -> {
+ openFileSelector(10002);
+ return true;
+ });
+ }
+
mUpdateJsonButton.setOnPreferenceClickListener(preference -> {
updatePropertiesFromUrl("https://raw.githubusercontent.com/Project-Mist-OS/vendor_Spoofing/refs/heads/15/PlayIntergrity/pif.json");
return true;
@@ -205,6 +221,8 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (uri != null) {
if (requestCode == 10001) {
loadPifJson(uri);
+ } else if (requestCode == 10002) {
+ loadGameSpoofingJson(uri);
}
}
}
@@ -224,8 +242,11 @@ private void showPropertiesDialog() {
"persist.sys.pihooks_PRODUCT",
"persist.sys.pihooks_SECURITY_PATCH",
"persist.sys.pihooks_DEVICE_INITIAL_SDK_INT",
+ "persist.sys.pihooks_TYPE",
+ "persist.sys.pihooks_TAG",
"persist.sys.pihooks_RELEASE",
- "persist.sys.pihooks_SDK_INT"
+ "persist.sys.pihooks_SDK_INT",
+ "persist.sys.pihooks_DEBUG"
};
for (String key : keys) {
String value = SystemProperties.get(key, null);
@@ -304,6 +325,51 @@ private void loadPifJson(Uri uri) {
}, 1250);
}
+ private void loadGameSpoofingJson(Uri uri) {
+ Log.d(TAG, "Loading Game Props JSON from URI: " + uri.toString());
+ try (InputStream inputStream = getActivity().getContentResolver().openInputStream(uri)) {
+ if (inputStream != null) {
+ String json = new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
+ Log.d(TAG, "Game Props JSON data: " + json);
+ JSONObject jsonObject = new JSONObject(json);
+ for (Iterator it = jsonObject.keys(); it.hasNext(); ) {
+ String key = it.next();
+ if (key.startsWith("PACKAGES_") && !key.endsWith("_DEVICE")) {
+ String deviceKey = key + "_DEVICE";
+ if (jsonObject.has(deviceKey)) {
+ JSONObject deviceProps = jsonObject.getJSONObject(deviceKey);
+ JSONArray packages = jsonObject.getJSONArray(key);
+ for (int i = 0; i < packages.length(); i++) {
+ String packageName = packages.getString(i);
+ Log.d(TAG, "Spoofing package: " + packageName);
+ setGameProps(packageName, deviceProps);
+ }
+ }
+ }
+ }
+ }
+ } catch (Exception e) {
+ Log.e(TAG, "Error reading Game Props JSON or setting properties", e);
+ }
+ mHandler.postDelayed(() -> {
+ SystemRestartUtils.showSystemRestartDialog(getContext());
+ }, 1250);
+ }
+
+ private void setGameProps(String packageName, JSONObject deviceProps) {
+ try {
+ for (Iterator it = deviceProps.keys(); it.hasNext(); ) {
+ String key = it.next();
+ String value = deviceProps.getString(key);
+ String systemPropertyKey = "persist.sys.gameprops." + packageName + "." + key;
+ SystemProperties.set(systemPropertyKey, value);
+ Log.d(TAG, "Set system property: " + systemPropertyKey + " = " + value);
+ }
+ } catch (JSONException e) {
+ Log.e(TAG, "Error parsing device properties", e);
+ }
+ }
+
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
final Context context = getContext();
@@ -311,9 +377,9 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
if (preference == mGmsSpoof
|| preference == mGoogleSpoof
|| preference == mGphotosSpoof
- || preference == mGamePropsSpoof
|| preference == mQsbSpoof
|| preference == mSnapSpoof
+ || preference == mNetfSpoof
|| preference == mVendingSpoof) {
SystemRestartUtils.showSystemRestartDialog(getContext());
return true;
@@ -324,6 +390,10 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
SystemRestartUtils.showSystemRestartDialog(getContext());
return true;
}
+ if (preference == mGamePropsEnabled) {
+ SystemRestartUtils.showSystemRestartDialog(getContext());
+ return true;
+ }
return false;
}
diff --git a/src/org/mist/settings/fragments/quicksettings/LayoutSettings.java b/src/org/mist/settings/fragments/notifications/IslandSettings.java
similarity index 82%
rename from src/org/mist/settings/fragments/quicksettings/LayoutSettings.java
rename to src/org/mist/settings/fragments/notifications/IslandSettings.java
index 9b5b6bff..ed6fa8c0 100644
--- a/src/org/mist/settings/fragments/quicksettings/LayoutSettings.java
+++ b/src/org/mist/settings/fragments/notifications/IslandSettings.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2024 crDroid Android Project
+ * Copyright (C) 2023 the risingOS Android Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.mist.settings.fragments.quicksettings;
+package org.mist.settings.fragments.notifications;
import android.content.ContentResolver;
import android.content.Context;
@@ -30,14 +30,14 @@
import java.util.List;
@SearchIndexable
-public class LayoutSettings extends SettingsPreferenceFragment {
+public class IslandSettings extends SettingsPreferenceFragment {
- public static final String TAG = "LayoutSettings";
+ public static final String TAG = "IslandSettings";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- addPreferencesFromResource(R.xml.qs_layout_settings);
+ addPreferencesFromResource(R.xml.island_settings);
}
@Override
@@ -49,7 +49,7 @@ public int getMetricsCategory() {
* For search
*/
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider(R.xml.qs_layout_settings) {
+ new BaseSearchIndexProvider(R.xml.island_settings) {
@Override
public List getNonIndexableKeys(Context context) {
diff --git a/src/org/mist/settings/fragments/powermenu/PowerMenuActions.java b/src/org/mist/settings/fragments/powermenu/PowerMenuActions.java
index b54a353e..39b29d06 100644
--- a/src/org/mist/settings/fragments/powermenu/PowerMenuActions.java
+++ b/src/org/mist/settings/fragments/powermenu/PowerMenuActions.java
@@ -55,7 +55,7 @@ public class PowerMenuActions extends SettingsPreferenceFragment {
private static final String CATEGORY_POWER_MENU_ITEMS = "power_menu_items";
private SwitchPreferenceCompat mScreenshotPref;
- private SwitchPreferenceCompat mOnTheGoPref;
+// private SwitchPreferenceCompat mOnTheGoPref;
private SwitchPreferenceCompat mAirplanePref;
private SwitchPreferenceCompat mUsersPref;
private SwitchPreferenceCompat mLockDownPref;
@@ -81,8 +81,8 @@ public void onCreate(Bundle savedInstanceState) {
for (String action : PowerMenuConstants.getAllActions()) {
if (action.equals(GLOBAL_ACTION_KEY_SCREENSHOT)) {
mScreenshotPref = (SwitchPreferenceCompat) findPreference(GLOBAL_ACTION_KEY_SCREENSHOT);
- } else if (action.equals(GLOBAL_ACTION_KEY_ONTHEGO)) {
- mOnTheGoPref = (SwitchPreferenceCompat) findPreference(GLOBAL_ACTION_KEY_ONTHEGO);
+ // } else if (action.equals(GLOBAL_ACTION_KEY_ONTHEGO)) {
+ // mOnTheGoPref = (SwitchPreferenceCompat) findPreference(GLOBAL_ACTION_KEY_ONTHEGO);
} else if (action.equals(GLOBAL_ACTION_KEY_AIRPLANE)) {
mAirplanePref = (SwitchPreferenceCompat) findPreference(GLOBAL_ACTION_KEY_AIRPLANE);
} else if (action.equals(GLOBAL_ACTION_KEY_USERS)) {
@@ -111,10 +111,10 @@ public void onStart() {
GLOBAL_ACTION_KEY_SCREENSHOT));
}
- if (mOnTheGoPref != null) {
- mOnTheGoPref.setChecked(mLineageGlobalActions.userConfigContains(
- GLOBAL_ACTION_KEY_ONTHEGO));
- }
+// if (mOnTheGoPref != null) {
+// mOnTheGoPref.setChecked(mLineageGlobalActions.userConfigContains(
+// GLOBAL_ACTION_KEY_ONTHEGO));
+// }
if (mAirplanePref != null) {
mAirplanePref.setChecked(mLineageGlobalActions.userConfigContains(
@@ -160,9 +160,9 @@ public boolean onPreferenceTreeClick(Preference preference) {
value = mScreenshotPref.isChecked();
mLineageGlobalActions.updateUserConfig(value, GLOBAL_ACTION_KEY_SCREENSHOT);
- } else if (preference == mOnTheGoPref) {
- value = mOnTheGoPref.isChecked();
- mLineageGlobalActions.updateUserConfig(value, GLOBAL_ACTION_KEY_ONTHEGO);
+// } else if (preference == mOnTheGoPref) {
+// value = mOnTheGoPref.isChecked();
+// mLineageGlobalActions.updateUserConfig(value, GLOBAL_ACTION_KEY_ONTHEGO);
} else if (preference == mAirplanePref) {
value = mAirplanePref.isChecked();
diff --git a/src/org/mist/settings/fragments/quicksettings/QuickSettings.java b/src/org/mist/settings/fragments/quicksettings/QuickSettings.java
index 771f0b3f..9c62f48d 100644
--- a/src/org/mist/settings/fragments/quicksettings/QuickSettings.java
+++ b/src/org/mist/settings/fragments/quicksettings/QuickSettings.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019-2024 MITSOS
+ * Copyright (C) 2019-2024 MistOS
* SPDX-License-Identifier: Apache-2.0
*/
@@ -19,9 +19,10 @@
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.internal.util.android.ThemeUtils;
+// import com.android.internal.util.android.ThemeUtils;
import com.android.settings.R;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -48,17 +49,18 @@ public class QuickSettings extends SettingsPreferenceFragment implements
private static final String KEY_BATTERY_PERCENT = "qs_show_battery_percent";
private static final String KEY_BATTERY_STYLE = "qs_battery_style";
private static final String KEY_BRIGHTNESS_SLIDER_POSITION = "qs_brightness_slider_position";
+ private static final String KEY_BRIGHTNESS_SLIDER_HAPTIC = "qs_brightness_slider_haptic";
private static final String KEY_INTERFACE_CATEGORY = "quick_settings_interface_category";
private static final String KEY_MISCELLANEOUS_CATEGORY = "quick_settings_miscellaneous_category";
private static final String KEY_QS_BLUETOOTH_SHOW_DIALOG = "qs_bt_show_dialog";
- private static final String KEY_QS_PANEL_STYLE = "qs_panel_style";
- private static final String KEY_QS_UI_STYLE = "qs_tile_ui_style";
- private static final String KEY_QS_WIDGETS_ENABLED = "qs_widgets_enabled";
+// private static final String KEY_QS_PANEL_STYLE = "qs_panel_style";
+// private static final String KEY_QS_UI_STYLE = "qs_tile_ui_style";
+// private static final String KEY_QS_WIDGETS_ENABLED = "qs_widgets_enabled";
private static final String KEY_SHOW_BRIGHTNESS_SLIDER = "qs_show_brightness_slider";
private static final String KEY_SHOW_AUTO_BRIGHTNESS = "qs_show_auto_brightness";
- private static final String KEY_TILE_ANIM_STYLE = "qs_tile_animation_style";
- private static final String KEY_TILE_ANIM_DURATION = "qs_tile_animation_duration";
- private static final String KEY_TILE_ANIM_INTERPOLATOR = "qs_tile_animation_interpolator";
+// private static final String KEY_TILE_ANIM_STYLE = "qs_tile_animation_style";
+// private static final String KEY_TILE_ANIM_DURATION = "qs_tile_animation_duration";
+// private static final String KEY_TILE_ANIM_INTERPOLATOR = "qs_tile_animation_interpolator";
private static final int BATTERY_STYLE_PORTRAIT = 0;
private static final int BATTERY_STYLE_TEXT = 4;
@@ -68,32 +70,33 @@ public class QuickSettings extends SettingsPreferenceFragment implements
private PreferenceCategory mMiscellaneousCategory;
private ListPreference mShowBrightnessSlider;
private ListPreference mBrightnessSliderPosition;
- private ListPreference mQsPanelStyle;
- private ListPreference mQsUI;
- private LineageSecureSettingSwitchPreference mShowAutoBrightness;
+// private ListPreference mQsPanelStyle;
+// private ListPreference mQsUI;
+ private SwitchPreferenceCompat mBrightnessSliderHaptic;
+ private SwitchPreferenceCompat mShowAutoBrightness;
private SystemSettingListPreference mBatteryStyle;
private SystemSettingListPreference mBatteryPercent;
- private SystemSettingListPreference mTileAnimationInterpolator;
- private SystemSettingListPreference mTileAnimationStyle;
- private SystemSettingSeekBarPreference mTileAnimationDuration;
- private SystemSettingSwitchPreference mQsWidgetsPref;
- private SystemSettingSwitchPreference mSplitShadePref;
+// private SystemSettingListPreference mTileAnimationInterpolator;
+// private SystemSettingListPreference mTileAnimationStyle;
+// private SystemSettingSeekBarPreference mTileAnimationDuration;
+// private SystemSettingSwitchPreference mQsWidgetsPref;
+// private SystemSettingSwitchPreference mSplitShadePref;
- private static ThemeUtils mThemeUtils;
+// private static ThemeUtils mThemeUtils;
- private Handler mHandler = new Handler();
+// private Handler mHandler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.mist_settings_quick_settings);
- mThemeUtils = ThemeUtils.getInstance(getActivity());
+// mThemeUtils = ThemeUtils.getInstance(getActivity());
- final Context mContext = getContext();
- final ContentResolver resolver = mContext.getContentResolver();
+ final Context context = getContext();
+ final ContentResolver resolver = context.getContentResolver();
final PreferenceScreen prefScreen = getPreferenceScreen();
- final Resources resources = mContext.getResources();
+ final Resources res = context.getResources();
mBatteryStyle = (SystemSettingListPreference) findPreference(KEY_BATTERY_STYLE);
mBatteryPercent = (SystemSettingListPreference) findPreference(KEY_BATTERY_PERCENT);
@@ -114,8 +117,11 @@ public void onCreate(Bundle savedInstanceState) {
mBrightnessSliderPosition = findPreference(KEY_BRIGHTNESS_SLIDER_POSITION);
mBrightnessSliderPosition.setEnabled(showSlider);
+ mBrightnessSliderHaptic = findPreference(KEY_BRIGHTNESS_SLIDER_HAPTIC);
+ mBrightnessSliderHaptic.setEnabled(showSlider);
+
mShowAutoBrightness = findPreference(KEY_SHOW_AUTO_BRIGHTNESS);
- boolean automaticAvailable = mContext.getResources().getBoolean(
+ boolean automaticAvailable = context.getResources().getBoolean(
com.android.internal.R.bool.config_automatic_brightness_available);
if (automaticAvailable) {
mShowAutoBrightness.setEnabled(showSlider);
@@ -123,34 +129,34 @@ public void onCreate(Bundle savedInstanceState) {
prefScreen.removePreference(mShowAutoBrightness);
}
- mTileAnimationStyle = (SystemSettingListPreference) findPreference(KEY_TILE_ANIM_STYLE);
- mTileAnimationDuration = (SystemSettingSeekBarPreference) findPreference(KEY_TILE_ANIM_DURATION);
- mTileAnimationInterpolator = (SystemSettingListPreference) findPreference(KEY_TILE_ANIM_INTERPOLATOR);
- mTileAnimationStyle.setOnPreferenceChangeListener(this);
+// mTileAnimationStyle = (SystemSettingListPreference) findPreference(KEY_TILE_ANIM_STYLE);
+// mTileAnimationDuration = (SystemSettingSeekBarPreference) findPreference(KEY_TILE_ANIM_DURATION);
+// mTileAnimationInterpolator = (SystemSettingListPreference) findPreference(KEY_TILE_ANIM_INTERPOLATOR);
+// mTileAnimationStyle.setOnPreferenceChangeListener(this);
- int tileAnimationStyle = Settings.System.getIntForUser(getContentResolver(),
- Settings.System.QS_TILE_ANIMATION_STYLE, 0, UserHandle.USER_CURRENT);
- updateTileAnimStyle(tileAnimationStyle);
+// int tileAnimationStyle = Settings.System.getIntForUser(getContentResolver(),
+// Settings.System.QS_TILE_ANIMATION_STYLE, 0, UserHandle.USER_CURRENT);
+// updateTileAnimStyle(tileAnimationStyle);
mMiscellaneousCategory = (PreferenceCategory) findPreference(KEY_MISCELLANEOUS_CATEGORY);
- if (!DeviceUtils.deviceSupportsBluetooth(mContext)) {
+ if (!DeviceUtils.deviceSupportsBluetooth(context)) {
prefScreen.removePreference(mMiscellaneousCategory);
}
- mQsUI = (ListPreference) findPreference(KEY_QS_UI_STYLE);
- mQsUI.setOnPreferenceChangeListener(this);
+// mQsUI = (ListPreference) findPreference(KEY_QS_UI_STYLE);
+// mQsUI.setOnPreferenceChangeListener(this);
- mQsPanelStyle = (ListPreference) findPreference(KEY_QS_PANEL_STYLE);
- mQsPanelStyle.setOnPreferenceChangeListener(this);
+// mQsPanelStyle = (ListPreference) findPreference(KEY_QS_PANEL_STYLE);
+// mQsPanelStyle.setOnPreferenceChangeListener(this);
- mQsWidgetsPref = findPreference(KEY_QS_WIDGETS_ENABLED);
- mQsWidgetsPref.setOnPreferenceChangeListener(this);
+// mQsWidgetsPref = findPreference(KEY_QS_WIDGETS_ENABLED);
+// mQsWidgetsPref.setOnPreferenceChangeListener(this);
- mSplitShadePref = (SystemSettingSwitchPreference) findPreference("qs_split_shade_enabled");
- mSplitShadePref.setOnPreferenceChangeListener(this);
+// mSplitShadePref = (SystemSettingSwitchPreference) findPreference("qs_split_shade_enabled");
+// mSplitShadePref.setOnPreferenceChangeListener(this);
- checkQSOverlays(mContext);
+// checkQSOverlays(mContext);
}
@Override
@@ -160,6 +166,7 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
if (preference == mShowBrightnessSlider) {
int value = Integer.parseInt((String) newValue);
mBrightnessSliderPosition.setEnabled(value > 0);
+ mBrightnessSliderHaptic.setEnabled(value > 0);
if (mShowAutoBrightness != null)
mShowAutoBrightness.setEnabled(value > 0);
return true;
@@ -168,151 +175,151 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
mBatteryPercent.setEnabled(
value != BATTERY_STYLE_TEXT && value != BATTERY_STYLE_HIDDEN);
return true;
- } else if (preference == mQsUI) {
- int value = Integer.parseInt((String) newValue);
- Settings.System.putIntForUser(resolver,
- Settings.System.QS_TILE_UI_STYLE, value, UserHandle.USER_CURRENT);
- updateQsStyle(getContext());
- checkQSOverlays(getContext());
- return true;
- } else if (preference == mQsPanelStyle) {
- int value = Integer.parseInt((String) newValue);
- Settings.System.putIntForUser(resolver,
- Settings.System.QS_PANEL_STYLE, value, UserHandle.USER_CURRENT);
- updateQsPanelStyle(getContext());
- checkQSOverlays(getContext());
- return true;
- } else if (preference == mTileAnimationStyle) {
- int value = Integer.parseInt((String) newValue);
- updateTileAnimStyle(value);
- return true;
- } else if (preference == mSplitShadePref) {
- int value = (boolean) newValue ? 1 : 0;
- Settings.System.putIntForUser(resolver,
- "qs_split_shade_enabled", value, UserHandle.USER_CURRENT);
- updateSplitShadeEnabled(getActivity());
- return true;
- } else if (preference == mQsWidgetsPref) {
- SystemUtils.showSystemUiRestartDialog(context);
- return true;
+// } else if (preference == mQsUI) {
+// int value = Integer.parseInt((String) newValue);
+// Settings.System.putIntForUser(resolver,
+// Settings.System.QS_TILE_UI_STYLE, value, UserHandle.USER_CURRENT);
+// updateQsStyle(getContext());
+// checkQSOverlays(getContext());
+// return true;
+// } else if (preference == mQsPanelStyle) {
+// int value = Integer.parseInt((String) newValue);
+// Settings.System.putIntForUser(resolver,
+// Settings.System.QS_PANEL_STYLE, value, UserHandle.USER_CURRENT);
+// updateQsPanelStyle(getContext());
+// checkQSOverlays(getContext());
+// return true;
+// } else if (preference == mTileAnimationStyle) {
+// int value = Integer.parseInt((String) newValue);
+// updateTileAnimStyle(value);
+// return true;
+// } else if (preference == mSplitShadePref) {
+// int value = (boolean) newValue ? 1 : 0;
+// Settings.System.putIntForUser(resolver,
+// "qs_split_shade_enabled", value, UserHandle.USER_CURRENT);
+// updateSplitShadeEnabled(getActivity());
+// return true;
+// } else if (preference == mQsWidgetsPref) {
+// SystemUtils.showSystemUiRestartDialog(context);
+// return true;
}
return false;
}
- private void updateTileAnimStyle(int tileAnimationStyle) {
- mTileAnimationDuration.setEnabled(tileAnimationStyle != 0);
- mTileAnimationInterpolator.setEnabled(tileAnimationStyle != 0);
- }
-
- private void updateSplitShadeEnabled(Context context) {
- ContentResolver resolver = context.getContentResolver();
- boolean splitShadeEnabled = Settings.System.getIntForUser(
- resolver,
- "qs_split_shade_enabled" , 0, UserHandle.USER_CURRENT) != 0;
- String splitShadeStyleCategory = "android.theme.customization.better_qs";
- String overlayThemeTarget = "com.android.systemui";
- String overlayThemePackage = "com.android.system.qs.ui.better_qs";
- if (mThemeUtils == null) {
- mThemeUtils = ThemeUtils.getInstance(context);
- }
- mHandler.postDelayed(() -> {
- mThemeUtils.setOverlayEnabled(splitShadeStyleCategory, overlayThemeTarget, overlayThemeTarget);
- if (splitShadeEnabled) {
- mThemeUtils.setOverlayEnabled(splitShadeStyleCategory, overlayThemePackage, overlayThemeTarget);
- }
- }, 1250);
- }
-
- private static void updateQsStyle(Context context) {
- ContentResolver resolver = context.getContentResolver();
-
- boolean isA11Style = Settings.System.getIntForUser(resolver,
- Settings.System.QS_TILE_UI_STYLE , 0, UserHandle.USER_CURRENT) != 0;
-
- String qsUIStyleCategory = "android.theme.customization.qs_ui";
- String overlayThemeTarget = "com.android.systemui";
- String overlayThemePackage = "com.android.system.qs.ui.A11";
-
- if (mThemeUtils == null) {
- mThemeUtils = ThemeUtils.getInstance(context);
- }
-
- // reset all overlays before applying
- mThemeUtils.setOverlayEnabled(qsUIStyleCategory, overlayThemeTarget, overlayThemeTarget);
-
- if (isA11Style) {
- mThemeUtils.setOverlayEnabled(qsUIStyleCategory, overlayThemePackage, overlayThemeTarget);
- }
- }
-
- private static void updateQsPanelStyle(Context context) {
- ContentResolver resolver = context.getContentResolver();
-
- int qsPanelStyle = Settings.System.getIntForUser(resolver,
- Settings.System.QS_PANEL_STYLE, 0, UserHandle.USER_CURRENT);
-
- String qsPanelStyleCategory = "android.theme.customization.qs_panel";
- String overlayThemeTarget = "com.android.systemui";
- String overlayThemePackage = "com.android.systemui";
-
- switch (qsPanelStyle) {
- case 1:
- overlayThemePackage = "com.android.system.qs.outline";
- break;
- case 2:
- case 3:
- overlayThemePackage = "com.android.system.qs.twotoneaccent";
- break;
- case 4:
- overlayThemePackage = "com.android.system.qs.shaded";
- break;
- case 5:
- overlayThemePackage = "com.android.system.qs.cyberpunk";
- break;
- case 6:
- overlayThemePackage = "com.android.system.qs.neumorph";
- break;
- case 7:
- overlayThemePackage = "com.android.system.qs.reflected";
- break;
- case 8:
- overlayThemePackage = "com.android.system.qs.surround";
- break;
- case 9:
- overlayThemePackage = "com.android.system.qs.thin";
- break;
- default:
- break;
- }
-
- if (mThemeUtils == null) {
- mThemeUtils = ThemeUtils.getInstance(context);
- }
-
- // reset all overlays before applying
- mThemeUtils.setOverlayEnabled(qsPanelStyleCategory, overlayThemeTarget, overlayThemeTarget);
-
- if (qsPanelStyle > 0) {
- mThemeUtils.setOverlayEnabled(qsPanelStyleCategory, overlayThemePackage, overlayThemeTarget);
- }
- }
-
- private void checkQSOverlays(Context context) {
- ContentResolver resolver = context.getContentResolver();
- int isA11Style = Settings.System.getIntForUser(resolver,
- Settings.System.QS_TILE_UI_STYLE , 0, UserHandle.USER_CURRENT);
- int qsPanelStyle = Settings.System.getIntForUser(resolver,
- Settings.System.QS_PANEL_STYLE , 0, UserHandle.USER_CURRENT);
-
- // Update summaries
- int index = mQsUI.findIndexOfValue(Integer.toString(isA11Style));
- mQsUI.setValue(Integer.toString(isA11Style));
- mQsUI.setSummary(mQsUI.getEntries()[index]);
-
- index = mQsPanelStyle.findIndexOfValue(Integer.toString(qsPanelStyle));
- mQsPanelStyle.setValue(Integer.toString(qsPanelStyle));
- mQsPanelStyle.setSummary(mQsPanelStyle.getEntries()[index]);
- }
+// private void updateTileAnimStyle(int tileAnimationStyle) {
+// mTileAnimationDuration.setEnabled(tileAnimationStyle != 0);
+// mTileAnimationInterpolator.setEnabled(tileAnimationStyle != 0);
+// }
+
+// private void updateSplitShadeEnabled(Context context) {
+// ContentResolver resolver = context.getContentResolver();
+// boolean splitShadeEnabled = Settings.System.getIntForUser(
+// resolver,
+// "qs_split_shade_enabled" , 0, UserHandle.USER_CURRENT) != 0;
+// String splitShadeStyleCategory = "android.theme.customization.better_qs";
+// String overlayThemeTarget = "com.android.systemui";
+// String overlayThemePackage = "com.android.system.qs.ui.better_qs";
+// if (mThemeUtils == null) {
+// mThemeUtils = ThemeUtils.getInstance(context);
+// }
+// mHandler.postDelayed(() -> {
+// mThemeUtils.setOverlayEnabled(splitShadeStyleCategory, overlayThemeTarget, overlayThemeTarget);
+// if (splitShadeEnabled) {
+// mThemeUtils.setOverlayEnabled(splitShadeStyleCategory, overlayThemePackage, overlayThemeTarget);
+// }
+// }, 1250);
+// }
+
+// private static void updateQsStyle(Context context) {
+// ContentResolver resolver = context.getContentResolver();
+
+// boolean isA11Style = Settings.System.getIntForUser(resolver,
+// Settings.System.QS_TILE_UI_STYLE , 0, UserHandle.USER_CURRENT) != 0;
+
+// String qsUIStyleCategory = "android.theme.customization.qs_ui";
+// String overlayThemeTarget = "com.android.systemui";
+// String overlayThemePackage = "com.android.system.qs.ui.A11";
+
+// if (mThemeUtils == null) {
+// mThemeUtils = ThemeUtils.getInstance(context);
+// }
+
+// // reset all overlays before applying
+// mThemeUtils.setOverlayEnabled(qsUIStyleCategory, overlayThemeTarget, overlayThemeTarget);
+
+// if (isA11Style) {
+// mThemeUtils.setOverlayEnabled(qsUIStyleCategory, overlayThemePackage, overlayThemeTarget);
+// }
+// }
+
+// private static void updateQsPanelStyle(Context context) {
+// ContentResolver resolver = context.getContentResolver();
+
+// int qsPanelStyle = Settings.System.getIntForUser(resolver,
+// Settings.System.QS_PANEL_STYLE, 0, UserHandle.USER_CURRENT);
+
+// String qsPanelStyleCategory = "android.theme.customization.qs_panel";
+// String overlayThemeTarget = "com.android.systemui";
+// String overlayThemePackage = "com.android.systemui";
+
+// switch (qsPanelStyle) {
+// case 1:
+// overlayThemePackage = "com.android.system.qs.outline";
+// break;
+// case 2:
+// case 3:
+// overlayThemePackage = "com.android.system.qs.twotoneaccent";
+// break;
+// case 4:
+// overlayThemePackage = "com.android.system.qs.shaded";
+// break;
+// case 5:
+// overlayThemePackage = "com.android.system.qs.cyberpunk";
+// break;
+// case 6:
+// overlayThemePackage = "com.android.system.qs.neumorph";
+// break;
+// case 7:
+// overlayThemePackage = "com.android.system.qs.reflected";
+// break;
+// case 8:
+// overlayThemePackage = "com.android.system.qs.surround";
+// break;
+// case 9:
+// overlayThemePackage = "com.android.system.qs.thin";
+// break;
+// default:
+// break;
+// }
+
+// if (mThemeUtils == null) {
+// mThemeUtils = ThemeUtils.getInstance(context);
+// }
+
+// // reset all overlays before applying
+// mThemeUtils.setOverlayEnabled(qsPanelStyleCategory, overlayThemeTarget, overlayThemeTarget);
+
+// if (qsPanelStyle > 0) {
+// mThemeUtils.setOverlayEnabled(qsPanelStyleCategory, overlayThemePackage, overlayThemeTarget);
+// }
+// }
+
+// private void checkQSOverlays(Context context) {
+// ContentResolver resolver = context.getContentResolver();
+// int isA11Style = Settings.System.getIntForUser(resolver,
+// Settings.System.QS_TILE_UI_STYLE , 0, UserHandle.USER_CURRENT);
+// int qsPanelStyle = Settings.System.getIntForUser(resolver,
+// Settings.System.QS_PANEL_STYLE , 0, UserHandle.USER_CURRENT);
+
+// // Update summaries
+// int index = mQsUI.findIndexOfValue(Integer.toString(isA11Style));
+// mQsUI.setValue(Integer.toString(isA11Style));
+// mQsUI.setSummary(mQsUI.getEntries()[index]);
+
+// index = mQsPanelStyle.findIndexOfValue(Integer.toString(qsPanelStyle));
+// mQsPanelStyle.setValue(Integer.toString(qsPanelStyle));
+// mQsPanelStyle.setSummary(mQsPanelStyle.getEntries()[index]);
+// }
@Override
public int getMetricsCategory() {
@@ -325,11 +332,10 @@ public int getMetricsCategory() {
@Override
public List getNonIndexableKeys(Context context) {
List keys = super.getNonIndexableKeys(context);
- final Resources resources = context.getResources();
-
- boolean autoBrightnessAvailable = resources.getBoolean(
+ final Resources res = context.getResources();
+ boolean automaticAvailable = res.getBoolean(
com.android.internal.R.bool.config_automatic_brightness_available);
- if (!autoBrightnessAvailable) {
+ if (!automaticAvailable) {
keys.add(KEY_SHOW_AUTO_BRIGHTNESS);
}
if (!DeviceUtils.deviceSupportsBluetooth(context)) {
diff --git a/src/org/mist/settings/fragments/statusbar/BatteryBar.java b/src/org/mist/settings/fragments/statusbar/BatteryBar.java
new file mode 100644
index 00000000..0f41bacb
--- /dev/null
+++ b/src/org/mist/settings/fragments/statusbar/BatteryBar.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2019-2024 TenX-OS
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.mist.settings.fragments.statusbar;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.res.Resources;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.Preference.OnPreferenceChangeListener;
+import androidx.preference.SwitchPreferenceCompat;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+
+import org.mist.settings.preferences.SystemSettingSwitchPreference;
+
+public class BatteryBar extends SettingsPreferenceFragment
+ implements Preference.OnPreferenceChangeListener {
+
+ private static final String PREF_BATT_BAR = "statusbar_battery_bar";
+
+ private SystemSettingSwitchPreference mBatteryBar;
+
+ private boolean mIsBarSwitchingMode = false;
+ private Handler mHandler;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ addPreferencesFromResource(R.xml.battery_bar);
+
+ PreferenceScreen prefSet = getPreferenceScreen();
+ ContentResolver resolver = getActivity().getContentResolver();
+
+ int intColor;
+ String hexColor;
+
+ mBatteryBar = (SystemSettingSwitchPreference) findPreference(PREF_BATT_BAR);
+
+ mHandler = new Handler();
+
+ boolean showing = Settings.System.getIntForUser(resolver,
+ Settings.System.STATUSBAR_BATTERY_BAR, 0, UserHandle.USER_CURRENT) != 0;
+ mBatteryBar.setChecked(showing);
+ mBatteryBar.setOnPreferenceChangeListener(this);
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ ContentResolver resolver = getActivity().getContentResolver();
+ if (preference == mBatteryBar) {
+ if (mIsBarSwitchingMode) {
+ return false;
+ }
+ mIsBarSwitchingMode = true;
+ boolean value = ((Boolean)newValue);
+ Settings.System.putIntForUser(resolver, Settings.System.STATUSBAR_BATTERY_BAR,
+ value ? 1 : 0, UserHandle.USER_CURRENT);
+ mHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ mIsBarSwitchingMode = false;
+ boolean showing = Settings.System.getIntForUser(resolver,
+ Settings.System.STATUSBAR_BATTERY_BAR, 0, UserHandle.USER_CURRENT) != 0;
+ mBatteryBar.setChecked(showing);
+ }
+ }, 1500);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ return MetricsProto.MetricsEvent.MIST;
+ }
+}
diff --git a/src/org/mist/settings/fragments/statusbar/StatusBar.java b/src/org/mist/settings/fragments/statusbar/StatusBar.java
index d39f2a5c..bc2c0eea 100644
--- a/src/org/mist/settings/fragments/statusbar/StatusBar.java
+++ b/src/org/mist/settings/fragments/statusbar/StatusBar.java
@@ -30,6 +30,7 @@
import org.mist.settings.preferences.SystemSettingListPreference;
import org.mist.settings.preferences.SystemSettingSwitchPreference;
+import org.mist.settings.preferences.colorpicker.ColorPickerPreference;
import org.mist.settings.utils.DeviceUtils;
import org.mist.settings.utils.SystemUtils;
@@ -48,6 +49,8 @@ public class StatusBar extends SettingsPreferenceFragment implements
private static final String KEY_DATA_DISABLED_ICON = "data_disabled_icon";
private static final String KEY_BLUETOOTH_BATTERY_STATUS = "bluetooth_show_battery";
private static final String KEY_FOUR_G_ICON = "show_fourg_icon";
+ private static final String LOGO_COLOR = "status_bar_logo_color";
+ private static final String LOGO_COLOR_PICKER = "status_bar_logo_color_picker";
private static final String KEY_COLORED_ICONS = "statusbar_colored_icons";
private static final int PULLDOWN_DIR_NONE = 0;
@@ -68,6 +71,8 @@ public class StatusBar extends SettingsPreferenceFragment implements
private SystemSettingSwitchPreference mFourgIcon;
private SystemSettingSwitchPreference mBluetoothBatteryStatus;
private SystemSettingSwitchPreference mColoredIcons;
+ private SystemSettingListPreference mLogoColor;
+ private ColorPickerPreference mLogoColorPicker;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -91,7 +96,7 @@ public void onCreate(Bundle savedInstanceState) {
mBluetoothBatteryStatus = (SystemSettingSwitchPreference) findPreference(KEY_BLUETOOTH_BATTERY_STATUS);
mDataDisabledIcon = (SystemSettingSwitchPreference) findPreference(KEY_DATA_DISABLED_ICON);
mFourgIcon = (SystemSettingSwitchPreference) findPreference(KEY_FOUR_G_ICON);
- mBluetoothBatteryStatus = (SystemSettingSwitchPreference) findPreference(KEY_BLUETOOTH_BATTERY_STATUS);
+// mBluetoothBatteryStatus = (SystemSettingSwitchPreference) findPreference(KEY_BLUETOOTH_BATTERY_STATUS);
mColoredIcons = (SystemSettingSwitchPreference) findPreference(KEY_COLORED_ICONS);
mColoredIcons.setOnPreferenceChangeListener(this);
@@ -100,6 +105,27 @@ public void onCreate(Bundle savedInstanceState) {
mQuickPulldown.setEntryValues(R.array.status_bar_quick_pull_down_values_rtl);
}
+ mLogoColor = (SystemSettingListPreference) findPreference(LOGO_COLOR);
+ int logoColor = Settings.System.getIntForUser(resolver,
+ Settings.System.STATUS_BAR_LOGO_COLOR, 0, UserHandle.USER_CURRENT);
+ mLogoColor.setValue(String.valueOf(logoColor));
+ mLogoColor.setSummary(mLogoColor.getEntry());
+ mLogoColor.setOnPreferenceChangeListener(this);
+
+ mLogoColorPicker = (ColorPickerPreference) findPreference(LOGO_COLOR_PICKER);
+ int logoColorPicker = Settings.System.getInt(resolver,
+ Settings.System.STATUS_BAR_LOGO_COLOR_PICKER, 0xFFFFFFFF);
+ mLogoColorPicker.setNewPreviewColor(logoColorPicker);
+ String logoColorPickerHex = String.format("#%08x", (0xFFFFFFFF & logoColorPicker));
+ if (logoColorPickerHex.equals("#ffffffff")) {
+ mLogoColorPicker.setSummary(R.string.default_string);
+ } else {
+ mLogoColorPicker.setSummary(logoColorPickerHex);
+ }
+ mLogoColorPicker.setOnPreferenceChangeListener(this);
+
+ updateColorPrefs(logoColor);
+
int batterystyle = Settings.System.getIntForUser(resolver,
Settings.System.STATUS_BAR_BATTERY_STYLE, BATTERY_STYLE_PORTRAIT, UserHandle.USER_CURRENT);
int batterypercent = Settings.System.getIntForUser(resolver,
@@ -148,6 +174,26 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
mBatteryTextCharging.setEnabled(batterystyle == BATTERY_STYLE_HIDDEN ||
(batterystyle != BATTERY_STYLE_TEXT && value != 2));
return true;
+ } else if (preference == mLogoColor) {
+ int logoColor = Integer.valueOf((String) newValue);
+ int index = mLogoColor.findIndexOfValue((String) newValue);
+ Settings.System.putIntForUser(resolver,
+ Settings.System.STATUS_BAR_LOGO_COLOR, logoColor, UserHandle.USER_CURRENT);
+ mLogoColor.setSummary(mLogoColor.getEntries()[index]);
+ updateColorPrefs(logoColor);
+ return true;
+ } else if (preference == mLogoColorPicker) {
+ String hex = ColorPickerPreference.convertToARGB(
+ Integer.valueOf(String.valueOf(newValue)));
+ if (hex.equals("#ffffffff")) {
+ preference.setSummary(R.string.default_string);
+ } else {
+ preference.setSummary(hex);
+ }
+ int intHex = ColorPickerPreference.convertToColorInt(hex);
+ Settings.System.putInt(resolver,
+ Settings.System.STATUS_BAR_LOGO_COLOR_PICKER, intHex);
+ return true;
} else if (preference == mColoredIcons) {
SystemUtils.showSystemUiRestartDialog(context);
return true;
@@ -180,6 +226,12 @@ private void updateQuickPulldownSummary(int value) {
mQuickPulldown.setSummary(summary);
}
+ private void updateColorPrefs(int logoColor) {
+ if (mLogoColor != null) {
+ mLogoColorPicker.setEnabled(logoColor == 2);
+ }
+ }
+
@Override
public int getMetricsCategory() {
return MetricsEvent.MIST;
diff --git a/src/org/mist/settings/fragments/statusbar/StatusbarLyricSettings.java b/src/org/mist/settings/fragments/statusbar/StatusbarLyricSettings.java
deleted file mode 100644
index 6158a8a6..00000000
--- a/src/org/mist/settings/fragments/statusbar/StatusbarLyricSettings.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * SPDX-FileCopyrightText: 2022 Project Kaleidoscope
- * SPDX-License-Identifier: Apache-2.0
- */
-package org.mist.settings.fragments.statusbar;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.provider.Settings;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.List;
-
-@SearchIndexable
-public class StatusbarLyricSettings extends SettingsPreferenceFragment {
-
- public static final String TAG = "StatusbarLyricSettings";
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- addPreferencesFromResource(R.xml.status_bar_lyric_settings);
- }
-
- @Override
- public int getMetricsCategory() {
- return MetricsProto.MetricsEvent.MIST;
- }
-
- /**
- * For search
- */
- public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider(R.xml.status_bar_lyric_settings) {
-
- @Override
- public List getNonIndexableKeys(Context context) {
- List keys = super.getNonIndexableKeys(context);
-
- return keys;
- }
- };
-}
diff --git a/src/org/mist/settings/fragments/themes/BrightnessSlider.java b/src/org/mist/settings/fragments/themes/BrightnessSlider.java
deleted file mode 100644
index 482c931b..00000000
--- a/src/org/mist/settings/fragments/themes/BrightnessSlider.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (C) 2023 crDroid Android Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.mist.settings.fragments.themes;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.res.Resources;
-import android.content.pm.PackageManager;
-import android.graphics.drawable.AnimationDrawable;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.provider.SearchIndexableResource;
-import android.provider.Settings;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.Gravity;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.FrameLayout;
-import android.widget.TextView;
-import android.text.TextUtils;
-import androidx.preference.PreferenceViewHolder;
-import android.view.ViewGroup.LayoutParams;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.GridLayoutManager;
-import androidx.recyclerview.widget.RecyclerView.ViewHolder;
-import androidx.recyclerview.widget.RecyclerView;
-import androidx.preference.Preference;
-import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.PreferenceScreen;
-
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.Indexable;
-import com.android.settings.SettingsPreferenceFragment;
-
-import com.bumptech.glide.Glide;
-
-import com.android.internal.util.mist.ThemeUtils;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Arrays;
-
-import org.json.JSONObject;
-import org.json.JSONException;
-
-public class BrightnessSlider extends SettingsPreferenceFragment {
-
- private RecyclerView mRecyclerView;
- private ThemeUtils mThemeUtils;
- private String mCategory = "android.theme.customization.brightness_slider";
-
- private List mPkgs;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getActivity().setTitle(R.string.themes_brightness_slider_title);
-
- mThemeUtils = new ThemeUtils(getActivity());
- mPkgs = mThemeUtils.getOverlayPackagesForCategory(mCategory, "com.android.systemui");
- }
-
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
- @Nullable Bundle savedInstanceState) {
- View view = inflater.inflate(
- R.layout.item_view, container, false);
-
- mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
- GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 1);
- mRecyclerView.setLayoutManager(gridLayoutManager);
- Adapter mAdapter = new Adapter(getActivity());
- mRecyclerView.setAdapter(mAdapter);
-
- return view;
- }
-
- @Override
- public int getMetricsCategory() {
- return MetricsEvent.MIST;
- }
-
- @Override
- public void onResume() {
- super.onResume();
- }
-
- public class Adapter extends RecyclerView.Adapter {
- Context context;
- String mSelectedPkg;
- String mAppliedPkg;
-
- public Adapter(Context context) {
- this.context = context;
- }
-
- @Override
- public CustomViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.brightness_slider_option, parent, false);
- CustomViewHolder vh = new CustomViewHolder(v);
- return vh;
- }
-
- @Override
- public void onBindViewHolder(CustomViewHolder holder, final int position) {
- String pkg = mPkgs.get(position);
-
- String currentPackageName = mThemeUtils.getOverlayInfos(mCategory, "com.android.systemui").stream()
- .filter(info -> info.isEnabled())
- .map(info -> info.packageName)
- .findFirst()
- .orElse("com.android.systemui");
-
- holder.name.setText("com.android.systemui".equals(pkg) ? "Default" : getLabel(holder.name.getContext(), pkg));
-
- holder.name.setTextSize(24);
-
- if (currentPackageName.equals(pkg)) {
- mAppliedPkg = pkg;
- if (mSelectedPkg == null) {
- mSelectedPkg = pkg;
- }
- }
-
- holder.itemView.setActivated(pkg == mSelectedPkg);
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- updateActivatedStatus(mSelectedPkg, false);
- updateActivatedStatus(pkg, true);
- mSelectedPkg = pkg;
- enableOverlays(position);
- }
- });
- }
-
- @Override
- public int getItemCount() {
- return mPkgs.size();
- }
-
- public class CustomViewHolder extends RecyclerView.ViewHolder {
- TextView name;
- public CustomViewHolder(View itemView) {
- super(itemView);
- name = (TextView) itemView.findViewById(R.id.option_label);
- }
- }
-
- private void updateActivatedStatus(String pkg, boolean isActivated) {
- int index = mPkgs.indexOf(pkg);
- if (index < 0) {
- return;
- }
- RecyclerView.ViewHolder holder = mRecyclerView.findViewHolderForAdapterPosition(index);
- if (holder != null && holder.itemView != null) {
- holder.itemView.setActivated(isActivated);
- }
- }
- }
-
- public Drawable getDrawable(Context context, String pkg, String drawableName) {
- try {
- PackageManager pm = context.getPackageManager();
- Resources res = pm.getResourcesForApplication(pkg);
- int resId = res.getIdentifier(drawableName, "drawable", pkg);
- return res.getDrawable(resId);
- }
- catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public String getLabel(Context context, String pkg) {
- PackageManager pm = context.getPackageManager();
- try {
- return pm.getApplicationInfo(pkg, 0)
- .loadLabel(pm).toString();
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- return pkg;
- }
-
- public void enableOverlays(int position) {
- mThemeUtils.setOverlayEnabled(mCategory, mPkgs.get(position), "com.android.systemui");
- }
-}
diff --git a/src/org/mist/settings/fragments/themes/Wallpaper.java b/src/org/mist/settings/fragments/themes/Wallpaper.java
deleted file mode 100644
index 60c214cf..00000000
--- a/src/org/mist/settings/fragments/themes/Wallpaper.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2023-2024 the risingOS Android Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.mist.settings.fragments.themes;
-
-import android.content.Context;
-import android.os.Bundle;
-
-import androidx.preference.Preference;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.SearchIndexable;
-
-import org.mist.settings.preferences.CustomSeekBarPreference;
-import org.mist.settings.utils.SystemUtils;
-
-import java.util.List;
-
-@SearchIndexable
-public class Wallpaper extends SettingsPreferenceFragment
- implements Preference.OnPreferenceChangeListener {
-
- public static final String TAG = "Wallpaper";
-
- private Preference mBlurWpPref;
- private Preference mBlurWpStylePref;
- private Preference mDimPref;
- private Preference mDimLvlPref;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- addPreferencesFromResource(R.xml.mist_settings_wallpaper);
- mBlurWpPref = findPreference("persist.sys.wallpaper.blur_enabled");
- mBlurWpPref.setOnPreferenceChangeListener(this);
- mBlurWpStylePref = findPreference("persist.sys.wallpaper.blur_type");
- mBlurWpStylePref.setOnPreferenceChangeListener(this);
- mDimPref = findPreference("persist.sys.wallpaper.dim_enabled");
- mDimPref.setOnPreferenceChangeListener(this);
- mDimLvlPref = findPreference("persist.sys.wallpaper.dim_level");
- mDimLvlPref.setOnPreferenceChangeListener(this);
- }
-
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- final Context context = getContext();
- if (preference == mBlurWpPref
- || preference == mBlurWpStylePref
- || preference == mDimPref
- || preference == mDimLvlPref) {
- if (preference == mDimLvlPref) {
- android.os.SystemProperties.set("persist.sys.wallpaper.dim_level", newValue.toString());
- }
- SystemUtils.showSystemUiRestartDialog(context);
- return true;
- }
- return false;
- }
-
- @Override
- public int getMetricsCategory() {
- return MetricsProto.MetricsEvent.MIST;
- }
-
- /**
- * For search
- */
- public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider(R.xml.mist_settings_wallpaper) {
-
- @Override
- public List getNonIndexableKeys(Context context) {
- List keys = super.getNonIndexableKeys(context);
-
- return keys;
- }
- };
-}
diff --git a/src/org/mist/settings/preferences/KeyboxDataPreference.java b/src/org/mist/settings/preferences/KeyboxDataPreference.java
index 71654196..4ea2afa3 100644
--- a/src/org/mist/settings/preferences/KeyboxDataPreference.java
+++ b/src/org/mist/settings/preferences/KeyboxDataPreference.java
@@ -1,11 +1,13 @@
-package org.mist.settings.preferences;Add commentMore actions
+package org.mist.settings.preferences;
+import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.provider.Settings;
import android.util.AttributeSet;
import android.util.Log;
+import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
@@ -42,42 +44,66 @@ public void setFilePickerLauncher(ActivityResultLauncher launcher) {
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
+ final Context ctx = getContext();
+ final ContentResolver cr = ctx.getContentResolver();
TextView title = (TextView) holder.findViewById(R.id.title);
TextView summary = (TextView) holder.findViewById(R.id.summary);
ImageButton deleteButton = (ImageButton) holder.findViewById(R.id.delete_button);
title.setText(getTitle());
- summary.setText(getSummary());
+
+ boolean hasData = Settings.Secure.getString(
+ cr, Settings.Secure.KEYBOX_DATA) != null;
+
+ summary.setText(ctx.getString(
+ hasData ? R.string.keybox_data_loaded_summary : R.string.keybox_data_summary));
+
+ deleteButton.setVisibility(hasData ? View.VISIBLE : View.GONE);
+ deleteButton.setEnabled(hasData);
holder.itemView.setOnClickListener(v -> {
if (mFilePickerLauncher != null) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
- intent.setType("text/xml");
+ intent.setType("*/*");
+ intent.putExtra(Intent.EXTRA_MIME_TYPES, new String[]{"text/xml", "application/xml"});
intent.addCategory(Intent.CATEGORY_OPENABLE);
+ intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
mFilePickerLauncher.launch(intent);
}
});
deleteButton.setOnClickListener(v -> {
- Settings.Secure.putString(getContext().getContentResolver(),
- Settings.Secure.KEYBOX_DATA, null);
- Toast.makeText(getContext(), "XML data cleared", Toast.LENGTH_SHORT).show();
- callChangeListener(null);
+ if (!callChangeListener(Boolean.FALSE)) return;
+ Settings.Secure.putString(cr, Settings.Secure.KEYBOX_DATA, null);
+ Toast.makeText(ctx, ctx.getString(R.string.keybox_toast_file_cleared), Toast.LENGTH_SHORT).show();
+ notifyChanged();
});
}
+
public void handleFileSelected(Uri uri) {
- if (uri == null ||
- (!uri.toString().endsWith(".xml") &&
- !"text/xml".equals(getContext().getContentResolver().getType(uri)))) {
- Toast.makeText(getContext(), "Invalid file selected", Toast.LENGTH_SHORT).show();
+ final Context ctx = getContext();
+ final ContentResolver cr = ctx.getContentResolver();
+
+ if (uri == null) {
+ Toast.makeText(ctx,
+ ctx.getString(R.string.keybox_toast_invalid_file_selected), Toast.LENGTH_SHORT).show();
return;
}
- try (InputStream inputStream = getContext().getContentResolver().openInputStream(uri);
- BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
+ final String type = cr.getType(uri);
+ boolean isXmlMime = "text/xml".equals(type) || "application/xml".equals(type);
+ boolean hasXmlExt = (uri.getPath() != null && uri.getPath().toLowerCase().endsWith(".xml"));
+ if (!isXmlMime && !hasXmlExt) {
+ Toast.makeText(ctx,
+ ctx.getString(R.string.keybox_toast_invalid_file_selected), Toast.LENGTH_SHORT).show();
+ return;
+ }
+ try (InputStream inputStream = cr.openInputStream(uri);
+ BufferedReader reader = new BufferedReader(
+ new InputStreamReader(inputStream, java.nio.charset.StandardCharsets.UTF_8))) {
StringBuilder xmlContent = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
@@ -86,18 +112,20 @@ public void handleFileSelected(Uri uri) {
String xml = xmlContent.toString();
if (!validateXml(xml)) {
- Toast.makeText(getContext(), "Invalid XML: missing required data", Toast.LENGTH_SHORT).show();
+ Toast.makeText(ctx,
+ ctx.getString(R.string.keybox_toast_missing_data), Toast.LENGTH_SHORT).show();
return;
}
- Settings.Secure.putString(getContext().getContentResolver(),
- Settings.Secure.KEYBOX_DATA, xml);
- Toast.makeText(getContext(), "XML file loaded", Toast.LENGTH_SHORT).show();
- callChangeListener(xml);
-
+ if (!callChangeListener(Boolean.TRUE)) return;
+ Settings.Secure.putString(cr, Settings.Secure.KEYBOX_DATA, xml);
+ Toast.makeText(ctx,
+ ctx.getString(R.string.keybox_toast_file_loaded), Toast.LENGTH_SHORT).show();
+ notifyChanged();
} catch (IOException e) {
Log.e(TAG, "Failed to read XML file", e);
- Toast.makeText(getContext(), "Failed to read XML", Toast.LENGTH_SHORT).show();
+ Toast.makeText(ctx,
+ ctx.getString(R.string.keybox_toast_invalid_file_selected), Toast.LENGTH_SHORT).show();
}
}