统一A13状态栏兼容模式

This commit is contained in:
LittleTurtle2333
2023-02-17 23:07:07 +08:00
parent de220825a2
commit 8fe9d09624
17 changed files with 21 additions and 53 deletions

View File

@@ -51,10 +51,10 @@ import com.lt2333.simplicitytools.R
} }
}) })
val layoutCompatibilityModeBinding = GetDataBinding({ val layoutCompatibilityBinding = GetDataBinding({
MIUIActivity.safeSP.getInt( MIUIActivity.safeSP.getBoolean(
"screen_hole_location", 0 "layout_compatibility_mode", false
) == 2 )
}) { view, flags, data -> }) { view, flags, data ->
when (flags) { when (flags) {
1 -> (view as Switch).isEnabled = data as Boolean 1 -> (view as Switch).isEnabled = data as Boolean
@@ -62,43 +62,23 @@ import com.lt2333.simplicitytools.R
} }
} }
val screenHoleLocation: HashMap<Int, String> = hashMapOf<Int, String>().also { TextSummaryWithSwitch(
it[0] = getString(R.string.off) TextSummaryV(
it[1] = getString(R.string.center) textId = R.string.layout_compatibility_mode, tipsId = R.string.layout_compatibility_mode_summary
it[2] = getString(R.string.left_or_right) ), SwitchV("layout_compatibility_mode", dataBindingSend = layoutCompatibilityBinding.bindingSend)
} )
TextSummaryWithSpinner(TextSummaryV(
textId = R.string.layout_compatibility_mode, tipsId = R.string.screen_hole_location
), SpinnerV(
screenHoleLocation[MIUIActivity.safeSP.getInt(
"screen_hole_location", 0
)].toString()
) {
add(screenHoleLocation[0].toString()) {
MIUIActivity.safeSP.putAny("screen_hole_location", 0)
layoutCompatibilityModeBinding.binding.Send().send(false)
}
add(screenHoleLocation[1].toString()) {
MIUIActivity.safeSP.putAny("screen_hole_location", 1)
layoutCompatibilityModeBinding.binding.Send().send(false)
}
add(screenHoleLocation[2].toString()) {
MIUIActivity.safeSP.putAny("screen_hole_location", 2)
layoutCompatibilityModeBinding.binding.Send().send(true)
}
})
Text( Text(
textId = R.string.left_margin, dataBindingRecv = layoutCompatibilityModeBinding.binding.getRecv(2) textId = R.string.left_margin, dataBindingRecv = layoutCompatibilityBinding.binding.getRecv(2)
) )
SeekBarWithText( SeekBarWithText(
"status_bar_left_margin", 0, 300, 0, dataBindingRecv = layoutCompatibilityModeBinding.binding.getRecv(2) "status_bar_left_margin", 0, 300, 0, dataBindingRecv = layoutCompatibilityBinding.binding.getRecv(2)
) )
Text( Text(
textId = R.string.right_margin, dataBindingRecv = layoutCompatibilityModeBinding.binding.getRecv(2) textId = R.string.right_margin, dataBindingRecv = layoutCompatibilityBinding.binding.getRecv(2)
) )
SeekBarWithText( SeekBarWithText(
"status_bar_right_margin", 0, 300, 0, dataBindingRecv = layoutCompatibilityModeBinding.binding.getRecv(2) "status_bar_right_margin", 0, 300, 0, dataBindingRecv = layoutCompatibilityBinding.binding.getRecv(2)
) )
Line() Line()
TitleText(textId = R.string.status_bar_clock_format) TitleText(textId = R.string.status_bar_clock_format)

View File

@@ -19,7 +19,8 @@ import com.lt2333.simplicitytools.utils.xposed.base.HookRegister
object StatusBarLayoutForT : HookRegister() { object StatusBarLayoutForT : HookRegister() {
private val getMode = XSPUtils.getInt("status_bar_layout_mode", 0) private val getMode = XSPUtils.getInt("status_bar_layout_mode", 0)
private val getHoleLocation = XSPUtils.getInt("screen_hole_location", 0) private val isCompatibilityMode = XSPUtils.getBoolean("layout_compatibility_mode", false)
private var statusBarLeft = 0 private var statusBarLeft = 0
private var statusBarTop = 0 private var statusBarTop = 0
@@ -51,7 +52,7 @@ object StatusBarLayoutForT : HookRegister() {
} }
//判断是否开启居中挖孔兼容模式 //判断是否开启居中挖孔兼容模式
if (getHoleLocation == 1) { if (isCompatibilityMode) {
findMethod("com.android.systemui.ScreenDecorations") { findMethod("com.android.systemui.ScreenDecorations") {
name == "boundsFromDirection" && parameterCount == 3 && isStatic name == "boundsFromDirection" && parameterCount == 3 && isStatic
}.hookBefore { }.hookBefore {
@@ -163,7 +164,7 @@ object StatusBarLayoutForT : HookRegister() {
statusBarBottom = statusBar!!.paddingBottom statusBarBottom = statusBar!!.paddingBottom
if (getHoleLocation == 2) { if (isCompatibilityMode) {
val customLeftMargin = XSPUtils.getInt("status_bar_left_margin", 0) val customLeftMargin = XSPUtils.getInt("status_bar_left_margin", 0)
if (customLeftMargin != 0) { if (customLeftMargin != 0) {
statusBarLeft = customLeftMargin statusBarLeft = customLeftMargin
@@ -378,7 +379,7 @@ object StatusBarLayoutForT : HookRegister() {
statusBarBottom = statusBar!!.paddingBottom statusBarBottom = statusBar!!.paddingBottom
if (getHoleLocation == 2) { if (isCompatibilityMode) {
val customLeftMargin = XSPUtils.getInt("status_bar_left_margin", 0) val customLeftMargin = XSPUtils.getInt("status_bar_left_margin", 0)
if (customLeftMargin != 0) { if (customLeftMargin != 0) {
statusBarLeft = customLeftMargin statusBarLeft = customLeftMargin
@@ -395,7 +396,7 @@ object StatusBarLayoutForT : HookRegister() {
findMethod("com.android.systemui.statusbar.phone.PhoneStatusBarView") { findMethod("com.android.systemui.statusbar.phone.PhoneStatusBarView") {
name == "updateLayoutForCutout" name == "updateLayoutForCutout"
}.hookAfter { }.hookAfter {
if (getHoleLocation == 2) { if (isCompatibilityMode) {
val context = (it.thisObject as ViewGroup).context val context = (it.thisObject as ViewGroup).context
updateLayout(context) updateLayout(context)
} }

View File

@@ -132,7 +132,6 @@
<string name="layout_compatibility_mode">Režim kompatibility</string> <string name="layout_compatibility_mode">Režim kompatibility</string>
<string name="left_margin">Levý okraj (0: Auto)</string> <string name="left_margin">Levý okraj (0: Auto)</string>
<string name="right_margin">Pravý okraj (0: Auto)</string> <string name="right_margin">Pravý okraj (0: Auto)</string>
<string name="layout_compatibility_mode_summary">Umožnit zobrazení levého a pravého otvoru</string>
<string name="remove_macro_blacklist">Odstranit makro-černou listinu</string> <string name="remove_macro_blacklist">Odstranit makro-černou listinu</string>
<string name="hide_network_speed_splitter">Skrýt rozdělovač rychlosti sítě</string> <string name="hide_network_speed_splitter">Skrýt rozdělovač rychlosti sítě</string>
<string name="remove_ota_validate_summary">- Podpořte pouze použití VAB série, prosím neotevírejte jiné série.\n- Nemusí být potřeba interní testovací kvalifikace, aby bylo možné nainstalovat celý interní testovací balíček.\n- Ti, kdo mají interní testovací oprávnění, nebudou moci přijímat aktualizace interních testů a mohou být použity k blokování aktualizací systému.\n- Po aktualizaci křížových verzí je doporučeno vymazat data.\n- Neoficiální ROM použití není podporováno.</string> <string name="remove_ota_validate_summary">- Podpořte pouze použití VAB série, prosím neotevírejte jiné série.\n- Nemusí být potřeba interní testovací kvalifikace, aby bylo možné nainstalovat celý interní testovací balíček.\n- Ti, kdo mají interní testovací oprávnění, nebudou moci přijímat aktualizace interních testů a mohou být použity k blokování aktualizací systému.\n- Po aktualizaci křížových verzí je doporučeno vymazat data.\n- Neoficiální ROM použití není podporováno.</string>

View File

@@ -136,7 +136,6 @@
<string name="layout_compatibility_mode">Modo de compatibilidad</string> <string name="layout_compatibility_mode">Modo de compatibilidad</string>
<string name="left_margin">Margen izquierdo (0: Auto)</string> <string name="left_margin">Margen izquierdo (0: Auto)</string>
<string name="right_margin">Margen derecho (0: Auto)</string> <string name="right_margin">Margen derecho (0: Auto)</string>
<string name="layout_compatibility_mode_summary">Hace que los agujeros izquierdo y derecho de la pantalla se puedan mostrar normalmente</string>
<string name="remove_macro_blacklist">Remueve la lista negra de game macro</string> <string name="remove_macro_blacklist">Remueve la lista negra de game macro</string>
<string name="hide_network_speed_splitter">Remover el divisor de la velocidad de red</string> <string name="hide_network_speed_splitter">Remover el divisor de la velocidad de red</string>
<string name="updater">Actualizador</string> <string name="updater">Actualizador</string>

View File

@@ -127,7 +127,6 @@
<string name="layout_compatibility_mode">Mode Compatibilité</string> <string name="layout_compatibility_mode">Mode Compatibilité</string>
<string name="left_margin">Marge gauche (0: Auto)</string> <string name="left_margin">Marge gauche (0: Auto)</string>
<string name="right_margin">Marge droite (0: Auto)</string> <string name="right_margin">Marge droite (0: Auto)</string>
<string name="layout_compatibility_mode_summary">L\'écran de trou peut s\'afficher normalement</string>
<string name="remove_macro_blacklist">Supprimer la liste noire des macros du jeu</string> <string name="remove_macro_blacklist">Supprimer la liste noire des macros du jeu</string>
<string name="hide_network_speed_splitter">Masquer le écart de vitesse du réseau</string> <string name="hide_network_speed_splitter">Masquer le écart de vitesse du réseau</string>
<string name="updater">Mise à jour</string> <string name="updater">Mise à jour</string>

View File

@@ -133,7 +133,6 @@
<string name="layout_compatibility_mode">Kompatibilitási mód</string> <string name="layout_compatibility_mode">Kompatibilitási mód</string>
<string name="left_margin">Bal margó (0: Automatikus)</string> <string name="left_margin">Bal margó (0: Automatikus)</string>
<string name="right_margin">Jobb margó (0: Automatikus)</string> <string name="right_margin">Jobb margó (0: Automatikus)</string>
<string name="layout_compatibility_mode_summary">A bal és jobb oldali lyuk képernyő normálisan jeleníthető meg</string>
<string name="remove_macro_blacklist">Játék makró feketelista eltávolítása</string> <string name="remove_macro_blacklist">Játék makró feketelista eltávolítása</string>
<string name="hide_network_speed_splitter">Hálózati sebességosztó elrejtése</string> <string name="hide_network_speed_splitter">Hálózati sebességosztó elrejtése</string>
<string name="updater">Frissítés</string> <string name="updater">Frissítés</string>

View File

@@ -126,7 +126,6 @@
<string name="layout_compatibility_mode">Mode kompatibel</string> <string name="layout_compatibility_mode">Mode kompatibel</string>
<string name="left_margin">Batas kiri (0: Otomatis)</string> <string name="left_margin">Batas kiri (0: Otomatis)</string>
<string name="right_margin">Batas kanan (0: Otomatis)</string> <string name="right_margin">Batas kanan (0: Otomatis)</string>
<string name="layout_compatibility_mode_summary">Buat layar lubang kiri dan kanan dapat ditampilkan secara normal</string>
<string name="remove_macro_blacklist">Hapus pengecualian makro game</string> <string name="remove_macro_blacklist">Hapus pengecualian makro game</string>
<string name="hide_network_speed_splitter">Sembunyikan pembagi kecepatan jaringan</string> <string name="hide_network_speed_splitter">Sembunyikan pembagi kecepatan jaringan</string>
<string name="updater">Pembaruan</string> <string name="updater">Pembaruan</string>

View File

@@ -136,7 +136,6 @@
<string name="layout_compatibility_mode">互換モード</string> <string name="layout_compatibility_mode">互換モード</string>
<string name="left_margin">左マージン0自動</string> <string name="left_margin">左マージン0自動</string>
<string name="right_margin">右マージン0自動</string> <string name="right_margin">右マージン0自動</string>
<string name="layout_compatibility_mode_summary">左右の穴の画面を正常に表示できるようにする</string>
<string name="remove_macro_blacklist">ゲームのマクロブラックリストを削除</string> <string name="remove_macro_blacklist">ゲームのマクロブラックリストを削除</string>
<string name="hide_network_speed_splitter">ネットワーク速度分割器を非表示</string> <string name="hide_network_speed_splitter">ネットワーク速度分割器を非表示</string>
<string name="updater">更新</string> <string name="updater">更新</string>

View File

@@ -136,7 +136,6 @@
<string name="layout_compatibility_mode">Tryb zgodności</string> <string name="layout_compatibility_mode">Tryb zgodności</string>
<string name="left_margin">Lewy margines (0: autom.)</string> <string name="left_margin">Lewy margines (0: autom.)</string>
<string name="right_margin">Prawy margines (0: autom.)</string> <string name="right_margin">Prawy margines (0: autom.)</string>
<string name="layout_compatibility_mode_summary">Spraw, aby lewy i prawy otwór na aparat mógł być wyświetlany normalnie</string>
<string name="remove_macro_blacklist">Usuń czarną listę gier, dla których wyłączono obsługę makr</string> <string name="remove_macro_blacklist">Usuń czarną listę gier, dla których wyłączono obsługę makr</string>
<string name="hide_network_speed_splitter">Ukryj rozdzielacz prędkości sieci</string> <string name="hide_network_speed_splitter">Ukryj rozdzielacz prędkości sieci</string>
<string name="updater">Aktualizacje</string> <string name="updater">Aktualizacje</string>

View File

@@ -134,7 +134,6 @@
<string name="layout_compatibility_mode">Mod compatibilitate</string> <string name="layout_compatibility_mode">Mod compatibilitate</string>
<string name="left_margin">Marginea din stânga (0: Auto)</string> <string name="left_margin">Marginea din stânga (0: Auto)</string>
<string name="right_margin">Marginea din dreapta (0: auto)</string> <string name="right_margin">Marginea din dreapta (0: auto)</string>
<string name="layout_compatibility_mode_summary">Aliniere pictograme</string>
<string name="remove_macro_blacklist">Elimină lista neagră a macrocomenzilor jocurilor</string> <string name="remove_macro_blacklist">Elimină lista neagră a macrocomenzilor jocurilor</string>
<string name="hide_network_speed_splitter">Ascunde separatorul vitezei rețelei</string> <string name="hide_network_speed_splitter">Ascunde separatorul vitezei rețelei</string>
<string name="updater">Actualizator</string> <string name="updater">Actualizator</string>

View File

@@ -136,7 +136,6 @@
<string name="layout_compatibility_mode">Режим совместимости</string> <string name="layout_compatibility_mode">Режим совместимости</string>
<string name="left_margin">Отступ слева (0: Авто)</string> <string name="left_margin">Отступ слева (0: Авто)</string>
<string name="right_margin">Отступ справа (0: Автоматически)</string> <string name="right_margin">Отступ справа (0: Автоматически)</string>
<string name="layout_compatibility_mode_summary">Выравнивание иконок</string>
<string name="remove_macro_blacklist">Удалить черный список игровых макросов</string> <string name="remove_macro_blacklist">Удалить черный список игровых макросов</string>
<string name="hide_network_speed_splitter">Скрыть разделитель скорости сети</string> <string name="hide_network_speed_splitter">Скрыть разделитель скорости сети</string>
<string name="updater">OTA</string> <string name="updater">OTA</string>

View File

@@ -136,7 +136,6 @@
<string name="layout_compatibility_mode">Uyumluluk modu</string> <string name="layout_compatibility_mode">Uyumluluk modu</string>
<string name="left_margin">Sol kenar boşluğu (0: Otomatik)</string> <string name="left_margin">Sol kenar boşluğu (0: Otomatik)</string>
<string name="right_margin">Sağ kenar boşluğu (0: Otomatik)</string> <string name="right_margin">Sağ kenar boşluğu (0: Otomatik)</string>
<string name="layout_compatibility_mode_summary">Sol ve sağ delik ekranının normal olarak görüntülenebilmesini sağlayın</string>
<string name="remove_macro_blacklist">Oyun makrosu kara listesini kaldır</string> <string name="remove_macro_blacklist">Oyun makrosu kara listesini kaldır</string>
<string name="hide_network_speed_splitter">Ağ hızı ayırıcısını gizle</string> <string name="hide_network_speed_splitter">Ağ hızı ayırıcısını gizle</string>
<string name="updater">Güncelleyici</string> <string name="updater">Güncelleyici</string>

View File

@@ -136,7 +136,6 @@
<string name="layout_compatibility_mode">Chế độ tương thích</string> <string name="layout_compatibility_mode">Chế độ tương thích</string>
<string name="left_margin">Lề trái (0: Tự động)</string> <string name="left_margin">Lề trái (0: Tự động)</string>
<string name="right_margin">Lề phải (0: Tự động)</string> <string name="right_margin">Lề phải (0: Tự động)</string>
<string name="layout_compatibility_mode_summary">Làm cho màn hình đục lỗ bên trái và bên phải có thể hiển thị bình thường</string>
<string name="remove_macro_blacklist">Xóa danh sách đen macro trò chơi</string> <string name="remove_macro_blacklist">Xóa danh sách đen macro trò chơi</string>
<string name="hide_network_speed_splitter">Ẩn bộ chia tốc độ mạng</string> <string name="hide_network_speed_splitter">Ẩn bộ chia tốc độ mạng</string>
<string name="updater">Trình cập nhật</string> <string name="updater">Trình cập nhật</string>

View File

@@ -136,7 +136,7 @@
<string name="layout_compatibility_mode">兼容模式</string> <string name="layout_compatibility_mode">兼容模式</string>
<string name="left_margin">左边距 (0: 自动)</string> <string name="left_margin">左边距 (0: 自动)</string>
<string name="right_margin">右边距 (0: 自动)</string> <string name="right_margin">右边距 (0: 自动)</string>
<string name="layout_compatibility_mode_summary">使左右挖孔屏幕能正常显示</string> <string name="layout_compatibility_mode_summary">强制完整屏布局(支持所有异形屏)</string>
<string name="remove_macro_blacklist">去除游戏自动连招黑名单</string> <string name="remove_macro_blacklist">去除游戏自动连招黑名单</string>
<string name="hide_network_speed_splitter">隐藏网速分隔符</string> <string name="hide_network_speed_splitter">隐藏网速分隔符</string>
<string name="updater">系统更新</string> <string name="updater">系统更新</string>

View File

@@ -136,7 +136,6 @@
<string name="layout_compatibility_mode">兼容模式</string> <string name="layout_compatibility_mode">兼容模式</string>
<string name="left_margin">左邊距 (0: 自動)</string> <string name="left_margin">左邊距 (0: 自動)</string>
<string name="right_margin">右邊距 (0: 自動)</string> <string name="right_margin">右邊距 (0: 自動)</string>
<string name="layout_compatibility_mode_summary">使左右挖孔螢幕能正常顯示</string>
<string name="remove_macro_blacklist">去除遊戲自動連招黑名單</string> <string name="remove_macro_blacklist">去除遊戲自動連招黑名單</string>
<string name="hide_network_speed_splitter">隱藏網速分隔符</string> <string name="hide_network_speed_splitter">隱藏網速分隔符</string>
<string name="updater">系統更新</string> <string name="updater">系統更新</string>

View File

@@ -136,7 +136,6 @@
<string name="layout_compatibility_mode">相容模式</string> <string name="layout_compatibility_mode">相容模式</string>
<string name="left_margin">左邊距 (0: 自動)</string> <string name="left_margin">左邊距 (0: 自動)</string>
<string name="right_margin">右邊距 (0: 自動)</string> <string name="right_margin">右邊距 (0: 自動)</string>
<string name="layout_compatibility_mode_summary">使左右挖孔螢幕能正常顯示</string>
<string name="remove_macro_blacklist">去除遊戲自動連招黑名單</string> <string name="remove_macro_blacklist">去除遊戲自動連招黑名單</string>
<string name="hide_network_speed_splitter">隱藏網速分隔符</string> <string name="hide_network_speed_splitter">隱藏網速分隔符</string>
<string name="updater">系統更新</string> <string name="updater">系統更新</string>

View File

@@ -140,7 +140,7 @@
<string name="layout_compatibility_mode">Compatibility mode</string> <string name="layout_compatibility_mode">Compatibility mode</string>
<string name="left_margin">Left margin (0: Auto)</string> <string name="left_margin">Left margin (0: Auto)</string>
<string name="right_margin">Right margin (0: Auto)</string> <string name="right_margin">Right margin (0: Auto)</string>
<string name="layout_compatibility_mode_summary">Make the left and right hole screen can be displayed normally</string> <string name="layout_compatibility_mode_summary">Force full screen layout (supports all special-shaped screens)</string>
<string name="remove_macro_blacklist">Remove game macro blacklist</string> <string name="remove_macro_blacklist">Remove game macro blacklist</string>
<string name="hide_network_speed_splitter">Hide network speed splitter</string> <string name="hide_network_speed_splitter">Hide network speed splitter</string>
<string name="updater">Updater</string> <string name="updater">Updater</string>