diff --git a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt
index d8da62ee..8cdd35fc 100644
--- a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt
+++ b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt
@@ -853,6 +853,97 @@ class SettingsActivity : MIUIActivity() {
), SwitchV("lock_screen_double_tap_to_sleep")
)
)
+
+ add(LineV())
+ add(TitleTextV(resId = R.string.old_quick_settings_panel))
+ val old_qs_custom_switch_binding = getDataBinding(
+ SPUtils.getBoolean(
+ activity,
+ "old_qs_custom_switch",
+ false
+ )
+ ) { view, flags, data ->
+ when (flags) {
+ 1 -> (view as Switch).isEnabled = data as Boolean
+ 2 -> view.visibility = if (data as Boolean) View.VISIBLE else View.GONE
+ }
+ }
+ add(
+ TextSummaryWithSwitchV(
+ TextSummaryV(
+ textId = R.string.old_qs_custom_switch,
+ colorId = R.color.purple_700
+ ),
+ SwitchV(
+ "old_qs_custom_switch",
+ dataBindingSend = old_qs_custom_switch_binding.bindingSend
+ )
+ )
+ )
+
+ add(
+ TextV(
+ resId = R.string.qs_custom_rows,
+ dataBindingRecv = old_qs_custom_switch_binding.binding.getRecv(2)
+ )
+ )
+ add(
+ SeekBarWithTextV(
+ "qs_custom_rows",
+ 1,
+ 6,
+ 3,
+ dataBindingRecv = old_qs_custom_switch_binding.binding.getRecv(2)
+ )
+ )
+
+
+ add(
+ TextV(
+ resId = R.string.qs_custom_rows_horizontal,
+ dataBindingRecv = old_qs_custom_switch_binding.binding.getRecv(2)
+ )
+ )
+ add(
+ SeekBarWithTextV(
+ "qs_custom_rows_horizontal",
+ 1,
+ 3,
+ 2,
+ dataBindingRecv = old_qs_custom_switch_binding.binding.getRecv(2)
+ )
+ )
+
+ add(
+ TextV(
+ resId = R.string.qs_custom_columns,
+ dataBindingRecv = old_qs_custom_switch_binding.binding.getRecv(2)
+ )
+ )
+ add(
+ SeekBarWithTextV(
+ "qs_custom_columns",
+ 1,
+ 7,
+ 4,
+ dataBindingRecv = old_qs_custom_switch_binding.binding.getRecv(2)
+ )
+ )
+ add(
+ TextV(
+ resId = R.string.qs_custom_columns_unexpanded,
+ dataBindingRecv = old_qs_custom_switch_binding.binding.getRecv(2)
+ )
+ )
+ add(
+ SeekBarWithTextV(
+ "qs_custom_columns_unexpanded",
+ 1,
+ 7,
+ 5,
+ dataBindingRecv = old_qs_custom_switch_binding.binding.getRecv(2)
+ )
+ )
}
}
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt
index 74208192..b4a07c31 100644
--- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt
+++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt
@@ -54,6 +54,8 @@ class SystemUI : IXposedHookLoadPackage {
LockScreenDoubleTapToSleep().handleLoadPackage(lpparam)
//双击状态栏锁屏
StatusBarDoubleTapToSleep().handleLoadPackage(lpparam)
+
+ Test().handleLoadPackage(lpparam)
}
}
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/Test.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/Test.kt
new file mode 100644
index 00000000..4781b279
--- /dev/null
+++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/Test.kt
@@ -0,0 +1,52 @@
+package com.lt2333.simplicitytools.hook.app.systemui
+
+import android.content.res.Configuration
+import android.view.ViewGroup
+import com.lt2333.simplicitytools.util.XSPUtils
+import com.lt2333.simplicitytools.util.hasEnable
+import com.lt2333.simplicitytools.util.hookAfterMethod
+import com.lt2333.simplicitytools.util.hookBeforeMethod
+import de.robv.android.xposed.IXposedHookLoadPackage
+import de.robv.android.xposed.XposedHelpers
+import de.robv.android.xposed.callbacks.XC_LoadPackage
+
+class Test : IXposedHookLoadPackage {
+ override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
+ hasEnable("old_qs_custom_switch") {
+ val mRows = XSPUtils.getInt("qs_custom_rows", 3)
+ val mRowsHorizontal = XSPUtils.getInt("qs_custom_rows_horizontal", 2)
+ val mColumns = XSPUtils.getInt("qs_custom_columns", 4)
+ val mColumnsUnexpanded = XSPUtils.getInt("qs_custom_columns_unexpanded", 5)
+
+ "com.android.systemui.qs.MiuiQuickQSPanel".hookBeforeMethod(
+ lpparam.classLoader,
+ "setMaxTiles", Int::class.java
+ ) {
+ //未展开时的列数
+ it.args[0] = mColumnsUnexpanded
+ }
+
+ "com.android.systemui.qs.MiuiTileLayout".hookAfterMethod(
+ lpparam.classLoader,
+ "updateColumns"
+ ) {
+ //展开时的列数
+ XposedHelpers.setObjectField(it.thisObject, "mColumns", mColumns)
+ }
+ "com.android.systemui.qs.MiuiTileLayout".hookAfterMethod(
+ lpparam.classLoader,
+ "updateResources"
+ ) {
+ //展开时的行数
+ val viewGroup = it.thisObject as ViewGroup
+ val mConfiguration: Configuration = viewGroup.context.resources.configuration
+ if (mConfiguration.orientation == Configuration.ORIENTATION_PORTRAIT) {
+ XposedHelpers.setObjectField(viewGroup, "mMaxAllowedRows", mRows)
+ } else {
+ XposedHelpers.setObjectField(viewGroup, "mMaxAllowedRows", mRowsHorizontal)
+ }
+ viewGroup.requestLayout()
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 66d3581e..bd8d0a41 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -165,4 +165,10 @@
Hide Icon
Double tap to sleep
Double-tap the blank space to sleep
+ Old quick settings panel
+ Customize rows and columns
+ Columns (Unexpanded)
+ Rows
+ Columns
+ Rows (horizontal)