Skip to content

Commit

Permalink
feat(launcher): Add recent tasks settings
Browse files Browse the repository at this point in the history
- Added an option to force display memory usage in recent tasks.
- Added a new page for recent tasks settings.
- Adjusted icon and text size multiplier settings.

Signed-off-by: suqi8 <[email protected]>
  • Loading branch information
suqi8 committed Jan 27, 2025
1 parent 2701f58 commit 7d0e965
Show file tree
Hide file tree
Showing 9 changed files with 99 additions and 4 deletions.
2 changes: 2 additions & 0 deletions app/src/main/java/com/suqi8/oshin/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ import com.suqi8.oshin.ui.activity.android.android
import com.suqi8.oshin.ui.activity.android.oplus_services
import com.suqi8.oshin.ui.activity.android.package_manager_services
import com.suqi8.oshin.ui.activity.com.android.launcher.launcher
import com.suqi8.oshin.ui.activity.com.android.launcher.recent_task
import com.suqi8.oshin.ui.activity.com.android.settings.settings
import com.suqi8.oshin.ui.activity.com.android.systemui.hardware_indicator
import com.suqi8.oshin.ui.activity.com.android.systemui.status_bar_clock
Expand Down Expand Up @@ -600,6 +601,7 @@ fun Main0(modifier: Modifier,context: Context,colorMode: MutableState<Int> = rem
composable("systemui\\status_bar_clock") { status_bar_clock(navController = navController) }
composable("systemui\\hardware_indicator") { hardware_indicator(navController = navController) }
composable("launcher") { launcher(navController = navController) }
composable("launcher\\recent_task") { recent_task(navController = navController) }
composable("systemui\\statusbar_icon") { statusbar_icon(navController = navController) }
composable("about_setting") { about_setting(navController,alpha,blurRadius,noiseFactor,colorMode) }
composable("about_group") { about_group(navController) }
Expand Down
4 changes: 4 additions & 0 deletions app/src/main/java/com/suqi8/oshin/Main_Function.kt
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,10 @@ fun Main_Function(
category = "systemui\\statusbar_icon"),
item(title = stringResource(R.string.wifi_arrow),
category = "systemui\\statusbar_icon"),
item(title = stringResource(R.string.force_display_memory),
category = "launcher\\recent_task"),
item(title = stringResource(id = R.string.recent_tasks),
category = "launcher\\recent_task"),
)
var miuixSearchValue by remember { mutableStateOf("") }
var expanded by rememberSaveable { mutableStateOf(false) }
Expand Down
6 changes: 4 additions & 2 deletions app/src/main/java/com/suqi8/oshin/hook/HookEntry.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,16 @@ import com.highcapable.yukihookapi.hook.factory.configs
import com.highcapable.yukihookapi.hook.factory.encase
import com.highcapable.yukihookapi.hook.xposed.bridge.event.YukiXposedEvent
import com.highcapable.yukihookapi.hook.xposed.proxy.IYukiHookXposedInit
import de.robv.android.xposed.IXposedHookZygoteInit
import de.robv.android.xposed.callbacks.XC_LoadPackage
import com.suqi8.oshin.hook.android.OplusRootCheck
import com.suqi8.oshin.hook.launcher.LauncherIcon
import com.suqi8.oshin.hook.launcher.recent_task
import com.suqi8.oshin.hook.systemui.StatusBar.StatusBar
import com.suqi8.oshin.hook.systemui.StatusBar.StatusBarClock
import com.suqi8.oshin.hook.systemui.StatusBar.StatusBarIcon
import com.suqi8.oshin.hook.systemui.StatusBar.StatusBarhardware_indicator
import com.suqi8.oshin.hook.systemui.aod.allday_screenoff
import de.robv.android.xposed.IXposedHookZygoteInit
import de.robv.android.xposed.callbacks.XC_LoadPackage

@InjectYukiHookWithXposed(entryClassName = "opatch", isUsingResourcesHook = true)
class HookEntry : IYukiHookXposedInit {
Expand Down Expand Up @@ -44,6 +45,7 @@ class HookEntry : IYukiHookXposedInit {
loadApp(hooker = StatusBarhardware_indicator())
loadApp(hooker = LauncherIcon())
loadApp(hooker = StatusBarIcon())
loadApp(hooker = recent_task())
loadApp(name = "com.android.systemui") {
/*"com.android.systemui.statusbar.phone.StatusBarIconController".toClass().apply {
method {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class LauncherIcon: YukiBaseHooker() {
@SuppressLint("UseCompatLoadingForDrawables", "SetTextI18n")
override fun onHook() {
loadApp("com.android.launcher"){
if (prefs("settings").getFloat("com_android_launcher_icon_text", 1.00f) != 1.00f) {
if (prefs("launcher").getFloat("icon_text", 1.00f) != 1.00f) {
"com.android.launcher3.DeviceProfile".toClass().apply {
method {
name = "updateIconSize"
Expand All @@ -30,7 +30,7 @@ class LauncherIcon: YukiBaseHooker() {
iconScaleField.set(instance,scale)
field.get(instance).set(2.0f)*/
before {
args[0] = prefs("settings").getFloat("com_android_launcher_icon_text", 1.00f)
args[0] = prefs("launcher").getFloat("icon_text", 1.00f)
}
}
}
Expand Down
33 changes: 33 additions & 0 deletions app/src/main/java/com/suqi8/oshin/hook/launcher/recent_task.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.suqi8.oshin.hook.launcher

import android.annotation.SuppressLint
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
import com.highcapable.yukihookapi.hook.factory.method

class recent_task: YukiBaseHooker() {
@SuppressLint("UseCompatLoadingForDrawables", "SetTextI18n")
override fun onHook() {
loadApp("com.android.launcher"){
if (prefs("launcher\\recent_task").getBoolean("com_android_launcher_icon_text", false)) {
"com.oplus.quickstep.memory.MemoryInfoManager".toClass().apply {
method {
name = "isAllowMemoryInfoDisplay"
}.hook {
after {
args[0] = true
}
}
}
"com.oplus.quickstep.memory.MemoryInfoManager".toClass().apply {
method {
name = "needMemoryDetail"
}.hook{
after {
args[0] = true
}
}
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import com.suqi8.oshin.R
import com.suqi8.oshin.ui.activity.funlistui.FunPage
import com.suqi8.oshin.ui.activity.funlistui.FunSlider
import top.yukonga.miuix.kmp.basic.Card
import top.yukonga.miuix.kmp.extra.SuperArrow

@SuppressLint("SuspiciousIndentation")
@Composable
Expand All @@ -27,6 +28,17 @@ fun launcher(navController: NavController) {
.fillMaxWidth()
.padding(horizontal = 12.dp)
.padding(bottom = 6.dp, top = 15.dp)
) {
SuperArrow(title = stringResource(id = R.string.recent_tasks),
onClick = {
navController.navigate("launcher\\recent_task")
})
}
Card(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 12.dp)
.padding(bottom = 6.dp, top = 6.dp)
) {
FunSlider(
title = stringResource(R.string.desktop_icon_and_text_size_multiplier),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.suqi8.oshin.ui.activity.com.android.launcher

import android.annotation.SuppressLint
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.navigation.NavController
import com.suqi8.oshin.R
import com.suqi8.oshin.ui.activity.funlistui.FunPage
import com.suqi8.oshin.ui.activity.funlistui.FunSwich
import top.yukonga.miuix.kmp.basic.Card

@SuppressLint("SuspiciousIndentation")
@Composable
fun recent_task(navController: NavController) {
FunPage(
title = stringResource(R.string.recent_tasks),
appList = listOf("com.android.launcher"),
navController = navController
) {
Card(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 12.dp)
.padding(bottom = 6.dp, top = 15.dp)
) {
FunSwich(
title = stringResource(R.string.force_display_memory),
category = "launcher\\recent_task",
key = "force_display_memory",
defValue = false
)
}
}
}
2 changes: 2 additions & 0 deletions app/src/main/res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -216,4 +216,6 @@
<string name="oplus_root_check_summary">关闭内置的root检测器</string>
<string name="clock_margin">时钟边距</string>
<string name="clock_format_example">时钟格式示例</string>
<string name="recent_tasks">最近任务</string>
<string name="force_display_memory">强制显示运行内存</string>
</resources>
2 changes: 2 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -217,4 +217,6 @@
<string name="oplus_root_check_summary">Disable root checker</string>
<string name="clock_margin">Clock Margin</string>
<string name="clock_format_example">Clock Format Example</string>
<string name="recent_tasks">Recent Tasks</string>
<string name="force_display_memory">Force Display Memory</string>
</resources>

0 comments on commit 7d0e965

Please sign in to comment.