统一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({
MIUIActivity.safeSP.getInt(
"screen_hole_location", 0
) == 2
val layoutCompatibilityBinding = GetDataBinding({
MIUIActivity.safeSP.getBoolean(
"layout_compatibility_mode", false
)
}) { view, flags, data ->
when (flags) {
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 {
it[0] = getString(R.string.off)
it[1] = getString(R.string.center)
it[2] = getString(R.string.left_or_right)
}
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)
}
})
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.layout_compatibility_mode, tipsId = R.string.layout_compatibility_mode_summary
), SwitchV("layout_compatibility_mode", dataBindingSend = layoutCompatibilityBinding.bindingSend)
)
Text(
textId = R.string.left_margin, dataBindingRecv = layoutCompatibilityModeBinding.binding.getRecv(2)
textId = R.string.left_margin, dataBindingRecv = layoutCompatibilityBinding.binding.getRecv(2)
)
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(
textId = R.string.right_margin, dataBindingRecv = layoutCompatibilityModeBinding.binding.getRecv(2)
textId = R.string.right_margin, dataBindingRecv = layoutCompatibilityBinding.binding.getRecv(2)
)
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()
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() {
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 statusBarTop = 0
@ -51,7 +52,7 @@ object StatusBarLayoutForT : HookRegister() {
}
//判断是否开启居中挖孔兼容模式
if (getHoleLocation == 1) {
if (isCompatibilityMode) {
findMethod("com.android.systemui.ScreenDecorations") {
name == "boundsFromDirection" && parameterCount == 3 && isStatic
}.hookBefore {
@ -163,7 +164,7 @@ object StatusBarLayoutForT : HookRegister() {
statusBarBottom = statusBar!!.paddingBottom
if (getHoleLocation == 2) {
if (isCompatibilityMode) {
val customLeftMargin = XSPUtils.getInt("status_bar_left_margin", 0)
if (customLeftMargin != 0) {
statusBarLeft = customLeftMargin
@ -378,7 +379,7 @@ object StatusBarLayoutForT : HookRegister() {
statusBarBottom = statusBar!!.paddingBottom
if (getHoleLocation == 2) {
if (isCompatibilityMode) {
val customLeftMargin = XSPUtils.getInt("status_bar_left_margin", 0)
if (customLeftMargin != 0) {
statusBarLeft = customLeftMargin
@ -395,7 +396,7 @@ object StatusBarLayoutForT : HookRegister() {
findMethod("com.android.systemui.statusbar.phone.PhoneStatusBarView") {
name == "updateLayoutForCutout"
}.hookAfter {
if (getHoleLocation == 2) {
if (isCompatibilityMode) {
val context = (it.thisObject as ViewGroup).context
updateLayout(context)
}

View File

@ -132,7 +132,6 @@
<string name="layout_compatibility_mode">Režim kompatibility</string>
<string name="left_margin">Levý 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="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>

View File

@ -136,7 +136,6 @@
<string name="layout_compatibility_mode">Modo de compatibilidad</string>
<string name="left_margin">Margen izquierdo (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="hide_network_speed_splitter">Remover el divisor de la velocidad de red</string>
<string name="updater">Actualizador</string>

View File

@ -127,7 +127,6 @@
<string name="layout_compatibility_mode">Mode Compatibilité</string>
<string name="left_margin">Marge gauche (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="hide_network_speed_splitter">Masquer le écart de vitesse du réseau</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="left_margin">Bal 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="hide_network_speed_splitter">Hálózati sebességosztó elrejtése</string>
<string name="updater">Frissítés</string>

View File

@ -126,7 +126,6 @@
<string name="layout_compatibility_mode">Mode kompatibel</string>
<string name="left_margin">Batas kiri (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="hide_network_speed_splitter">Sembunyikan pembagi kecepatan jaringan</string>
<string name="updater">Pembaruan</string>

View File

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

View File

@ -136,7 +136,6 @@
<string name="layout_compatibility_mode">Tryb zgodności</string>
<string name="left_margin">Lewy 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="hide_network_speed_splitter">Ukryj rozdzielacz prędkości sieci</string>
<string name="updater">Aktualizacje</string>

View File

@ -134,7 +134,6 @@
<string name="layout_compatibility_mode">Mod compatibilitate</string>
<string name="left_margin">Marginea din stânga (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="hide_network_speed_splitter">Ascunde separatorul vitezei rețelei</string>
<string name="updater">Actualizator</string>

View File

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

View File

@ -136,7 +136,6 @@
<string name="layout_compatibility_mode">Uyumluluk modu</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="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="hide_network_speed_splitter">Ağ hızı ayırıcısını gizle</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="left_margin">Lề trá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="hide_network_speed_splitter">Ẩn bộ chia tốc độ mạng</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="left_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="hide_network_speed_splitter">隐藏网速分隔符</string>
<string name="updater">系统更新</string>

View File

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

View File

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

View File

@ -140,7 +140,7 @@
<string name="layout_compatibility_mode">Compatibility mode</string>
<string name="left_margin">Left 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="hide_network_speed_splitter">Hide network speed splitter</string>
<string name="updater">Updater</string>