Compare commits

10 Commits

Author SHA1 Message Date
乌堆小透明
b6d89d28a2 New translations strings.xml (Spanish)
[ci skip] New translations from Crowdin
2022-03-21 22:28:45 +08:00
乌堆小透明
3fe3d4f8bb New translations strings.xml (Spanish)
[ci skip] New translations from Crowdin
2022-03-21 21:29:30 +08:00
乌堆小透明
6aee23e1f3 New translations strings.xml (Chinese Traditional)
[ci skip] New translations from Crowdin
2022-03-21 20:46:04 +08:00
乌堆小透明
a0568ced7f New translations strings.xml (Russian)
[ci skip] New translations from Crowdin
2022-03-21 20:46:03 +08:00
乌堆小透明
085b375dc6 优化大移动类型宽度 2022-03-21 20:06:35 +08:00
乌堆小透明
7c13214e2d Update version to 1.5.2 2022-03-21 19:57:48 +08:00
乌堆小透明
469f004baa New Crowdin updates (#101)
* New translations strings.xml (Russian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Romanian)
[ci skip] New translations from Crowdin

* New translations strings.xml (French)
[ci skip] New translations from Crowdin

* New translations strings.xml (Japanese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Turkish)
[ci skip] New translations from Crowdin

* New translations strings.xml (Romanian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Chinese Simplified)
[ci skip] New translations from Crowdin
2022-03-21 19:57:26 +08:00
乌堆小透明
eec755d642 优化大移动类型对齐 2022-03-21 19:54:34 +08:00
乌堆小透明
14ca833ec1 修复未激活模块磁贴服务FC 2022-03-21 19:45:26 +08:00
乌堆小透明
8bcb89b04d 新增大移动类型图标 2022-03-21 17:55:16 +08:00
16 changed files with 224 additions and 50 deletions

View File

@@ -12,8 +12,8 @@ android {
applicationId = "com.lt2333.simplicitytools"
minSdk = 31
targetSdk = 32
versionCode = 52
versionName = "1.5.1"
versionCode = 53
versionName = "1.5.2"
}
buildTypes {

View File

@@ -498,6 +498,14 @@ class SettingsActivity : MIUIActivity() {
menuButton.visibility = View.VISIBLE
return ArrayList<BaseView>().apply {
add(TitleTextV(resId = R.string.statusbar))
add(
TextSummaryWithSwitchV(
TextSummaryV(
textId = R.string.big_mobile_type_icon
),
SwitchV("big_mobile_type_icon")
)
)
add(
TextSummaryWithSwitchV(
TextSummaryV(

View File

@@ -58,6 +58,8 @@ class SystemUI : IXposedHookLoadPackage {
OldQSCustom().handleLoadPackage(lpparam)
//双排网速
DoubleLineNetworkSpeed().handleLoadPackage(lpparam)
StatusBarBigMobileTypeIcon().handleLoadPackage(lpparam)
}
}

View File

@@ -3,29 +3,54 @@ package com.lt2333.simplicitytools.hook.app.systemui
import android.view.View
import android.widget.ImageView
import android.widget.TextView
import com.lt2333.simplicitytools.util.XSPUtils
import com.lt2333.simplicitytools.util.getObjectField
import com.lt2333.simplicitytools.util.hasEnable
import com.lt2333.simplicitytools.util.hookAfterMethod
import de.robv.android.xposed.IXposedHookLoadPackage
import de.robv.android.xposed.XC_MethodHook
import de.robv.android.xposed.callbacks.XC_LoadPackage
class HideMobileTypeIcon : IXposedHookLoadPackage {
val isBigType=XSPUtils.getBoolean("big_mobile_type_icon", false)
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
val iconState = "com.android.systemui.statusbar.phone.StatusBarSignalPolicy\$MobileIconState"
"com.android.systemui.statusbar.StatusBarMobileView".hookAfterMethod(lpparam.classLoader, "initViewState", iconState) {
hasEnable("hide_mobile_type_icon") {
(it.thisObject.getObjectField("mMobileType") as TextView).visibility = View.INVISIBLE
(it.thisObject.getObjectField("mMobileTypeImage") as ImageView).visibility = View.INVISIBLE
(it.thisObject.getObjectField("mMobileTypeSingle") as TextView).visibility = View.INVISIBLE
}
val iconState =
"com.android.systemui.statusbar.phone.StatusBarSignalPolicy\$MobileIconState"
"com.android.systemui.statusbar.StatusBarMobileView".hookAfterMethod(
lpparam.classLoader,
"initViewState",
iconState
) {
hideMobileTypeIcon(it)
}
"com.android.systemui.statusbar.StatusBarMobileView".hookAfterMethod(lpparam.classLoader, "updateState", iconState) {
hasEnable("hide_mobile_type_icon") {
(it.thisObject.getObjectField("mMobileType") as TextView).visibility = View.INVISIBLE
(it.thisObject.getObjectField("mMobileTypeImage") as ImageView).visibility = View.INVISIBLE
(it.thisObject.getObjectField("mMobileTypeSingle") as TextView).visibility = View.INVISIBLE
"com.android.systemui.statusbar.StatusBarMobileView".hookAfterMethod(
lpparam.classLoader,
"updateState",
iconState
) {
hideMobileTypeIcon(it)
}
}
fun hideMobileTypeIcon(it: XC_MethodHook.MethodHookParam) {
hasEnable("hide_mobile_type_icon") {
if (isBigType) {
(it.thisObject.getObjectField("mMobileType") as TextView).visibility =
View.GONE
(it.thisObject.getObjectField("mMobileTypeImage") as ImageView).visibility =
View.GONE
(it.thisObject.getObjectField("mMobileTypeSingle") as TextView).visibility =
View.GONE
} else {
(it.thisObject.getObjectField("mMobileType") as TextView).visibility =
View.INVISIBLE
(it.thisObject.getObjectField("mMobileTypeImage") as ImageView).visibility =
View.INVISIBLE
(it.thisObject.getObjectField("mMobileTypeSingle") as TextView).visibility =
View.INVISIBLE
}
}
}
}

View File

@@ -0,0 +1,83 @@
package com.lt2333.simplicitytools.hook.app.systemui
import android.content.Context
import android.content.res.Resources
import android.view.Gravity
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import cn.fkj233.ui.activity.dp2px
import com.lt2333.simplicitytools.util.hasEnable
import com.lt2333.simplicitytools.util.hookAfterMethod
import de.robv.android.xposed.IXposedHookLoadPackage
import de.robv.android.xposed.callbacks.XC_LoadPackage
class StatusBarBigMobileTypeIcon : IXposedHookLoadPackage {
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
hasEnable("big_mobile_type_icon") {
"com.android.systemui.statusbar.StatusBarMobileView".hookAfterMethod(
lpparam.classLoader,
"init"
) {
val StatusBarMobileView = it.thisObject as ViewGroup
val context: Context = StatusBarMobileView.context
val res: Resources = context.resources
val mobile_container_left_ID: Int =
res.getIdentifier("mobile_container_left", "id", "com.android.systemui")
val mobile_left_mobile_inout_ID: Int = res.getIdentifier(
"mobile_left_mobile_inout",
"id",
"com.android.systemui"
)
val mobile_container_right_ID: Int = res.getIdentifier(
"mobile_container_right",
"id",
"com.android.systemui"
)
val mobile_type_ID: Int =
res.getIdentifier("mobile_type", "id", "com.android.systemui")
val TextAppearance_StatusBar_Carrier_ID: Int = res.getIdentifier(
"TextAppearance.StatusBar.Carrier",
"style",
"com.android.systemui"
)
//获取mobile_container_left并在父布局中删除
val mobile_container_left =
StatusBarMobileView.findViewById<ViewGroup>(mobile_container_left_ID)
val mobile_container_left_fl =
mobile_container_left.layoutParams as LinearLayout.LayoutParams
(mobile_container_left.parent as ViewGroup).removeView(mobile_container_left)
//获取mobile_container_right的父布局并在mobile_container_right前添加mobile_container_left
val mobile_container_right =
StatusBarMobileView.findViewById<ViewGroup>(mobile_container_right_ID)
val RightParentLayout = mobile_container_right.parent as ViewGroup
val mobile_container_right_Index =
RightParentLayout.indexOfChild(mobile_container_left)
RightParentLayout.addView(
mobile_container_left,
mobile_container_right_Index - 1
)
mobile_container_left_fl.topMargin = dp2px(context, 1.5f)
mobile_container_left.layoutParams = mobile_container_left_fl
val mobile_type = StatusBarMobileView.findViewById<TextView>(mobile_type_ID)
mobile_type.setTextAppearance(TextAppearance_StatusBar_Carrier_ID)
val mobile_type_fl = mobile_type.layoutParams as FrameLayout.LayoutParams
mobile_type_fl.width = dp2px(context, 25f)
mobile_type_fl.gravity = Gravity.CENTER or Gravity.START
mobile_type.layoutParams = mobile_type_fl
val mobile_left_mobile_inout =
StatusBarMobileView.findViewById<ImageView>(mobile_left_mobile_inout_ID)
val mobile_left_mobile_inout_fl =
mobile_left_mobile_inout.layoutParams as FrameLayout.LayoutParams
mobile_left_mobile_inout_fl.width = dp2px(context, 8f)
mobile_left_mobile_inout_fl.marginStart = dp2px(context, 16f)
mobile_left_mobile_inout_fl.bottomMargin = dp2px(context, 3f)
mobile_left_mobile_inout.layoutParams = mobile_left_mobile_inout_fl
}
}
}
}

View File

@@ -3,32 +3,38 @@ package com.lt2333.simplicitytools.tile
import android.service.quicksettings.Tile
import android.service.quicksettings.TileService
class AllowScreenshots : TileService(){
class AllowScreenshots : TileService() {
val key = "disable_flag_secure"
override fun onClick() {
super.onClick()
val pref = getSharedPreferences("config", MODE_WORLD_READABLE)
val prefEditor = pref.edit()
if (pref.getBoolean(key, false)) {
prefEditor.putBoolean(key, false)
qsTile.state = Tile.STATE_INACTIVE
} else {
prefEditor.putBoolean(key, true)
qsTile.state = Tile.STATE_ACTIVE
try {
val pref = getSharedPreferences("config", MODE_WORLD_READABLE)
val prefEditor = pref.edit()
if (pref.getBoolean(key, false)) {
prefEditor.putBoolean(key, false)
qsTile.state = Tile.STATE_INACTIVE
} else {
prefEditor.putBoolean(key, true)
qsTile.state = Tile.STATE_ACTIVE
}
prefEditor.commit()
qsTile.updateTile()
} catch (e: SecurityException) {
}
prefEditor.commit()
qsTile.updateTile()
}
override fun onStartListening() {
super.onStartListening()
val pref = getSharedPreferences("config", MODE_WORLD_READABLE)
if (pref.getBoolean(key, false)) {
qsTile.state = Tile.STATE_ACTIVE
} else {
qsTile.state = Tile.STATE_INACTIVE
try {
val pref = getSharedPreferences("config", MODE_WORLD_READABLE)
if (pref.getBoolean(key, false)) {
qsTile.state = Tile.STATE_ACTIVE
} else {
qsTile.state = Tile.STATE_INACTIVE
}
qsTile.updateTile()
} catch (e: SecurityException) {
}
qsTile.updateTile()
}
}

View File

@@ -9,28 +9,33 @@ class LockMaxFpsTile : TileService() {
override fun onClick() {
super.onClick()
val pref = getSharedPreferences("config", MODE_WORLD_READABLE)
val prefEditor = pref.edit()
if (pref.getBoolean(key, false)) {
prefEditor.putBoolean(key, false)
qsTile.state = Tile.STATE_INACTIVE
} else {
prefEditor.putBoolean(key, true)
qsTile.state = Tile.STATE_ACTIVE
try {
val pref = getSharedPreferences("config", MODE_WORLD_READABLE)
val prefEditor = pref.edit()
if (pref.getBoolean(key, false)) {
prefEditor.putBoolean(key, false)
qsTile.state = Tile.STATE_INACTIVE
} else {
prefEditor.putBoolean(key, true)
qsTile.state = Tile.STATE_ACTIVE
}
prefEditor.commit()
qsTile.updateTile()
} catch (e: SecurityException) {
}
prefEditor.commit()
qsTile.updateTile()
}
override fun onStartListening() {
super.onStartListening()
val pref = getSharedPreferences("config", MODE_WORLD_READABLE)
if (pref.getBoolean(key, false)) {
qsTile.state = Tile.STATE_ACTIVE
} else {
qsTile.state = Tile.STATE_INACTIVE
try {
val pref = getSharedPreferences("config", MODE_WORLD_READABLE)
if (pref.getBoolean(key, false)) {
qsTile.state = Tile.STATE_ACTIVE
} else {
qsTile.state = Tile.STATE_INACTIVE
}
qsTile.updateTile()
} catch (e: SecurityException) {
}
qsTile.updateTile()
}
}

View File

@@ -173,4 +173,8 @@
<string name="status_bar_network_speed_dual_row_size">Tamaño de fila dual (0: no cambiar)</string>
<string name="status_bar_network_speed_dual_row_icon">Icono de fila dual</string>
<string name="none">Ninguno</string>
<string name="status_bar_network_speed_dual_row_gravity">Alineación de icono en fila dual</string>
<string name="left">Izquierda</string>
<string name="right">Derecha</string>
<string name="big_mobile_type_icon">Icono grande de red móvil</string>
</resources>

View File

@@ -173,4 +173,7 @@
<string name="status_bar_network_speed_dual_row_size">Taille de double ligne (0: ne pas changer)</string>
<string name="status_bar_network_speed_dual_row_icon">Icône de double ligne</string>
<string name="none">Aucune</string>
<string name="status_bar_network_speed_dual_row_gravity">Alignement double ligne</string>
<string name="left">Gauche</string>
<string name="right">Droite</string>
</resources>

View File

@@ -25,6 +25,7 @@
<string name="hide_alarm_icon">アラームアイコンを隠す</string>
<string name="hide_hotspot_icon">ポータブルホットスポットアイコンを隠す</string>
<string name="hide_headset_icon">ヘッドセットアイコンを隠す</string>
<string name="hide_bluetooth_battery_icon">Bluetooth機器のバッテリーアイコンを非表示</string>
<string name="hide_big_hd_icon">大きなHDアイコンを隠す</string>
<string name="hide_small_hd_icon">小さいHDアイコンを隠す</string>
<string name="hide_hd_no_service_icon">HD サービスなしアイコンを隠す</string>
@@ -40,13 +41,14 @@
<string name="statusbar">ステータスバー</string>
<string name="status_bar_time_seconds">秒を表示する</string>
<string name="status_bar_network_speed_refresh_speed">ネットワーク速度を秒単位で更新</string>
<string name="remove_the_maximum_number_of_notification_icons">通知アイコンの最大数を削除する</string>
<string name="remove_the_maximum_number_of_notification_icons">通知アイコン数の上限を削除する</string>
<string name="main_switch">モジュールのメインスイッチ</string>
<string name="hide_gps_icon">GPS アイコンを隠す</string>
<string name="hide_status_bar_network_speed_second">ネットワーク速度の単位(/s)を隠す</string>
<string name="menu">メニュー</string>
<string name="Tips">注意事項</string>
<string name="skip_waiting_time">5/10秒間の警告時間をスキップ</string>
<string name="unlock_unlimited_cropping">写真・スクリーンショットをトリミングする際の制限を解除する</string>
<string name="hide_slave_wifi_icon">Wi-Fiセカンダリアイコンを隠す</string>
<string name="HideLauncherIcon">ランチャーアイコンを隠す</string>
<string name="hide_battery_percentage_icon">バッテリー (%) を隠す</string>
@@ -156,4 +158,22 @@
<string name="remove_open_app_confirmation_popup_summary">「外部アプリを開く」ポップアップを削除します</string>
<string name="hide_volume_icon">音量アイコンを非表示</string>
<string name="hide_zen_icon">ZENアイコンを隠す</string>
<string name="hide_icon">アイコンを隠す</string>
<string name="double_tap_to_sleep">2回タップでスリープ</string>
<string name="home_double_tap_to_sleep_summary">ホーム画面の空白を2回タップしてスリープする</string>
<string name="old_quick_settings_panel">古いクイック設定パネル</string>
<string name="old_qs_custom_switch">クイック設定の行数と列数をカスタマイズ</string>
<string name="qs_custom_columns_unexpanded">縦(未展開時)</string>
<string name="qs_custom_rows"></string>
<string name="qs_custom_columns"></string>
<string name="qs_custom_rows_horizontal">横(横持ち時)</string>
<string name="status_bar_dual_row_network_speed">ネットワーク速度の2行表示</string>
<string name="status_bar_dual_row_network_speed_summary">ネットワーク速度を上下に表示する</string>
<string name="status_bar_network_speed">ステータスバーのネットワーク速度</string>
<string name="status_bar_network_speed_dual_row_size">2行のサイズ0変更なし</string>
<string name="status_bar_network_speed_dual_row_icon">2行アイコン</string>
<string name="none">なし</string>
<string name="status_bar_network_speed_dual_row_gravity">2行の配置</string>
<string name="left"></string>
<string name="right"></string>
</resources>

View File

@@ -173,4 +173,8 @@
<string name="status_bar_network_speed_dual_row_size">Dimensiune rând dublu (0: nu se modifică)</string>
<string name="status_bar_network_speed_dual_row_icon">Pictogramă rând dublu</string>
<string name="none">Nimic</string>
<string name="status_bar_network_speed_dual_row_gravity">Aliniere rândul dublu</string>
<string name="left">Stânga</string>
<string name="right">Dreapta</string>
<string name="big_mobile_type_icon">Pictogramă mare pentru tipul datelor mobile</string>
</resources>

View File

@@ -177,4 +177,8 @@
<string name="status_bar_network_speed_dual_row_size">Размер скорости сети в 2 строки (0: не изменять)</string>
<string name="status_bar_network_speed_dual_row_icon">Иконка двойной скорости сети</string>
<string name="none">Нет</string>
<string name="status_bar_network_speed_dual_row_gravity">Выравнивание скорости сети в 2 ряда</string>
<string name="left">Влево</string>
<string name="right">Вправо</string>
<string name="big_mobile_type_icon">Большая иконка типа сети</string>
</resources>

View File

@@ -10,7 +10,7 @@
<string name="disable_flag_secure_summary">Güvenlik için Kontrol merkezinde açılır hızlı ayar eklemeye izin vermeyen yazılımda ekran görüntüsüne izin ver</string>
<string name="home">Ev</string>
<string name="home_time">Her zaman Ana ekran saatini göster</string>
<string name="reboot_host">Tüm kapsamı yeniden başlat</string>
<string name="reboot_host">Cihazı yeniden başlat</string>
<string name="reboot">Sistemi Yeniden Başlat </string>
<!--Status bar icons-->
<string name="status_bar_icon">Durum çubuğu simgeleri</string>
@@ -174,4 +174,8 @@
<string name="status_bar_network_speed_dual_row_size">Çift sıra boyutu (0: değişmez)</string>
<string name="status_bar_network_speed_dual_row_icon">Çift satır simgesi</string>
<string name="none">Hiçbiri</string>
<string name="status_bar_network_speed_dual_row_gravity">Çift sıra hizalama</string>
<string name="left">Sol</string>
<string name="right">Sağ </string>
<string name="big_mobile_type_icon">Büyük mobil ikon tipi</string>
</resources>

View File

@@ -176,4 +176,5 @@
<string name="status_bar_network_speed_dual_row_gravity">双排对齐</string>
<string name="left">左边</string>
<string name="right">右边</string>
<string name="big_mobile_type_icon">大移动类型图标</string>
</resources>

View File

@@ -173,4 +173,8 @@
<string name="status_bar_network_speed_dual_row_size">雙排大小0不更改</string>
<string name="status_bar_network_speed_dual_row_icon">雙行圖示</string>
<string name="none"></string>
<string name="status_bar_network_speed_dual_row_gravity">雙行網速對齊</string>
<string name="left">置左</string>
<string name="right">置右</string>
<string name="big_mobile_type_icon">大行動網路圖示</string>
</resources>

View File

@@ -180,4 +180,5 @@
<string name="status_bar_network_speed_dual_row_gravity">Dual row align</string>
<string name="left">Left</string>
<string name="right">Right</string>
<string name="big_mobile_type_icon">Big Mobile Type Icon</string>
</resources>