Skip to content

Commit 612356d

Browse files
committed
refactor: 修复一些Code Lint
1 parent da39073 commit 612356d

6 files changed

Lines changed: 88 additions & 97 deletions

File tree

‎app/src/main/AndroidManifest.xml‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
<uses-permission android:name="android.permission.INTERNET" />
66
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
7-
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
7+
<uses-permission
8+
android:name="android.permission.FOREGROUND_SERVICE"
9+
tools:ignore="ForegroundServicesPolicy" />
810
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
911
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
1012
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
@@ -95,6 +97,7 @@
9597
<intent-filter>
9698
<action android:name="android.service.quicksettings.action.QS_TILE" />
9799
</intent-filter>
100+
98101
<meta-data
99102
android:name="android.service.quicksettings.ACTIVE_TILE"
100103
android:value="false" />

‎app/src/main/java/io/github/acedroidx/frp/AboutActivity.kt‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
3838
import io.github.acedroidx.frp.ui.theme.FrpTheme
3939
import io.github.acedroidx.frp.ui.theme.ThemeModeKeys
4040
import kotlinx.coroutines.flow.MutableStateFlow
41+
import androidx.compose.runtime.collectAsState
4142

4243
class AboutActivity : ComponentActivity() {
4344
private val frpVersion = MutableStateFlow("")
@@ -52,15 +53,14 @@ class AboutActivity : ComponentActivity() {
5253
val loadingText = getString(R.string.loading)
5354
frpVersion.value =
5455
preferences.getString(PreferencesKey.FRP_VERSION, loadingText) ?: loadingText
55-
val rawTheme =
56-
preferences.getString(PreferencesKey.THEME_MODE, ThemeModeKeys.FOLLOW_SYSTEM)
56+
val rawTheme = preferences.getString(PreferencesKey.THEME_MODE, ThemeModeKeys.FOLLOW_SYSTEM)
5757
themeMode.value = ThemeModeKeys.normalize(rawTheme)
5858

5959
enableEdgeToEdge()
6060
setContent {
61-
val currentTheme by themeMode.collectAsStateWithLifecycle(themeMode.value.ifEmpty { ThemeModeKeys.FOLLOW_SYSTEM })
61+
val currentTheme by themeMode.collectAsStateWithLifecycle(themeMode.collectAsState().value.ifEmpty { ThemeModeKeys.FOLLOW_SYSTEM })
6262
FrpTheme(themeMode = currentTheme) {
63-
val frpVersion by frpVersion.collectAsStateWithLifecycle(frpVersion.value.ifEmpty { loadingText })
63+
val frpVersion by frpVersion.collectAsStateWithLifecycle(frpVersion.collectAsState().value.ifEmpty { loadingText })
6464
Scaffold(topBar = {
6565
TopAppBar(title = {
6666
Text(

‎app/src/main/java/io/github/acedroidx/frp/ConfigActivity.kt‎

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ import io.github.acedroidx.frp.ui.theme.FrpTheme
4848
import io.github.acedroidx.frp.ui.theme.ThemeModeKeys
4949
import kotlinx.coroutines.flow.MutableStateFlow
5050
import java.io.File
51+
import androidx.compose.runtime.collectAsState
52+
import androidx.core.content.edit
5153

5254
class ConfigActivity : ComponentActivity() {
5355
private val configEditText = MutableStateFlow("")
@@ -81,17 +83,16 @@ class ConfigActivity : ComponentActivity() {
8183
val loadingText = getString(R.string.loading)
8284
frpVersion.value =
8385
preferences.getString(PreferencesKey.FRP_VERSION, loadingText) ?: loadingText
84-
val rawTheme =
85-
preferences.getString(PreferencesKey.THEME_MODE, ThemeModeKeys.FOLLOW_SYSTEM)
86+
val rawTheme = preferences.getString(PreferencesKey.THEME_MODE, ThemeModeKeys.FOLLOW_SYSTEM)
8687
themeMode.value = ThemeModeKeys.normalize(rawTheme)
8788
readConfig()
8889
readIsAutoStart()
8990

9091
enableEdgeToEdge()
9192
setContent {
92-
val currentTheme by themeMode.collectAsStateWithLifecycle(themeMode.value.ifEmpty { ThemeModeKeys.FOLLOW_SYSTEM })
93+
val currentTheme by themeMode.collectAsStateWithLifecycle(themeMode.collectAsState().value.ifEmpty { ThemeModeKeys.FOLLOW_SYSTEM })
9394
FrpTheme(themeMode = currentTheme) {
94-
val frpVersion by frpVersion.collectAsStateWithLifecycle(frpVersion.value.ifEmpty { loadingText })
95+
val frpVersion by frpVersion.collectAsStateWithLifecycle(frpVersion.collectAsState().value.ifEmpty { loadingText })
9596
Scaffold(topBar = {
9697
TopAppBar(title = {
9798
Text(
@@ -249,15 +250,15 @@ class ConfigActivity : ComponentActivity() {
249250
}
250251

251252
fun setAutoStart(value: Boolean) {
252-
val editor = preferences.edit()
253-
val set = preferences.getStringSet(autoStartPreferencesKey, emptySet())?.toMutableSet()
254-
if (value) {
255-
set?.add(configFile.name)
256-
} else {
257-
set?.remove(configFile.name)
253+
preferences.edit {
254+
val set = preferences.getStringSet(autoStartPreferencesKey, emptySet())?.toMutableSet()
255+
if (value) {
256+
set?.add(configFile.name)
257+
} else {
258+
set?.remove(configFile.name)
259+
}
260+
putStringSet(autoStartPreferencesKey, set)
258261
}
259-
editor.putStringSet(autoStartPreferencesKey, set)
260-
editor.apply()
261262
isAutoStart.value = value
262263
}
263264

‎app/src/main/java/io/github/acedroidx/frp/MainActivity.kt‎

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ import java.io.File
8383
import java.text.SimpleDateFormat
8484
import java.util.Date
8585
import java.util.Locale
86+
import androidx.compose.runtime.collectAsState
8687

8788

8889
class MainActivity : ComponentActivity() {
@@ -174,18 +175,16 @@ class MainActivity : ComponentActivity() {
174175

175176
// 应用"最近任务中排除"设置
176177
val excludeFromRecents = preferences.getBoolean(PreferencesKey.EXCLUDE_FROM_RECENTS, false)
177-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
178-
try {
179-
val am = getSystemService(ACTIVITY_SERVICE) as android.app.ActivityManager
180-
val appTasks = am.appTasks
181-
if (appTasks.isNotEmpty()) {
182-
for (task in appTasks) {
183-
task.setExcludeFromRecents(excludeFromRecents)
184-
}
178+
try {
179+
val am = getSystemService(ACTIVITY_SERVICE) as android.app.ActivityManager
180+
val appTasks = am.appTasks
181+
if (appTasks.isNotEmpty()) {
182+
for (task in appTasks) {
183+
task.setExcludeFromRecents(excludeFromRecents)
185184
}
186-
} catch (e: Exception) {
187-
Log.e("MainActivity", "Failed to set excludeFromRecents: ${e.message}")
188185
}
186+
} catch (e: Exception) {
187+
Log.e("MainActivity", "Failed to set excludeFromRecents: ${e.message}")
189188
}
190189

191190
val loadingText = getString(R.string.loading)
@@ -202,13 +201,13 @@ class MainActivity : ComponentActivity() {
202201

203202
enableEdgeToEdge()
204203
setContent {
205-
val currentTheme by themeMode.collectAsStateWithLifecycle(themeMode.value)
204+
val currentTheme by themeMode.collectAsStateWithLifecycle(themeMode.collectAsState().value)
206205
val openDialog = remember { mutableStateOf(false) }
207206
val snackbarHostState = remember { SnackbarHostState() }
208207
val permissionGranted by permissionGranted.collectAsStateWithLifecycle(true)
209208

210209
FrpTheme(themeMode = currentTheme) {
211-
val frpVersion by frpVersion.collectAsStateWithLifecycle(frpVersion.value.ifEmpty { loadingText })
210+
val frpVersion by frpVersion.collectAsStateWithLifecycle(frpVersion.collectAsState().value.ifEmpty { loadingText })
212211
Scaffold(topBar = {
213212
TopAppBar(title = {
214213
Text(
@@ -561,23 +560,22 @@ class MainActivity : ComponentActivity() {
561560
override fun onResume() {
562561
super.onResume()
563562
// 从 SharedPreferences 重新加载主题设置
564-
val savedTheme = preferences.getString(PreferencesKey.THEME_MODE, ThemeModeKeys.FOLLOW_SYSTEM)
563+
val savedTheme =
564+
preferences.getString(PreferencesKey.THEME_MODE, ThemeModeKeys.FOLLOW_SYSTEM)
565565
themeMode.value = ThemeModeKeys.normalize(savedTheme)
566566

567567
// 重新应用"最近任务中排除"设置
568568
val excludeFromRecents = preferences.getBoolean(PreferencesKey.EXCLUDE_FROM_RECENTS, false)
569-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
570-
try {
571-
val am = getSystemService(ACTIVITY_SERVICE) as android.app.ActivityManager
572-
val appTasks = am.appTasks
573-
if (appTasks.isNotEmpty()) {
574-
for (task in appTasks) {
575-
task.setExcludeFromRecents(excludeFromRecents)
576-
}
569+
try {
570+
val am = getSystemService(ACTIVITY_SERVICE) as android.app.ActivityManager
571+
val appTasks = am.appTasks
572+
if (appTasks.isNotEmpty()) {
573+
for (task in appTasks) {
574+
task.setExcludeFromRecents(excludeFromRecents)
577575
}
578-
} catch (e: Exception) {
579-
Log.e("MainActivity", "Failed to set excludeFromRecents in onResume: ${e.message}")
580576
}
577+
} catch (e: Exception) {
578+
Log.e("MainActivity", "Failed to set excludeFromRecents in onResume: ${e.message}")
581579
}
582580

583581
// 重新检查权限状态(用户可能从设置页面返回)

‎app/src/main/java/io/github/acedroidx/frp/SettingsActivity.kt‎

Lines changed: 46 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
4141
import io.github.acedroidx.frp.ui.theme.FrpTheme
4242
import io.github.acedroidx.frp.ui.theme.ThemeModeKeys
4343
import kotlinx.coroutines.flow.MutableStateFlow
44+
import androidx.compose.runtime.collectAsState
45+
import androidx.core.content.edit
4446

4547
class SettingsActivity : ComponentActivity() {
4648
private val isStartup = MutableStateFlow(false)
@@ -61,8 +63,7 @@ class SettingsActivity : ComponentActivity() {
6163
isStartup.value = preferences.getBoolean(PreferencesKey.AUTO_START, false)
6264

6365
// 读取主题设置,默认为跟随系统
64-
val rawTheme =
65-
preferences.getString(PreferencesKey.THEME_MODE, ThemeModeKeys.FOLLOW_SYSTEM)
66+
val rawTheme = preferences.getString(PreferencesKey.THEME_MODE, ThemeModeKeys.FOLLOW_SYSTEM)
6667
themeMode.value = ThemeModeKeys.normalize(rawTheme)
6768

6869
// 读取 Tasker 权限设置,默认为允许
@@ -80,7 +81,7 @@ class SettingsActivity : ComponentActivity() {
8081

8182
enableEdgeToEdge()
8283
setContent {
83-
val currentTheme by themeMode.collectAsStateWithLifecycle(themeMode.value.ifEmpty { ThemeModeKeys.FOLLOW_SYSTEM })
84+
val currentTheme by themeMode.collectAsStateWithLifecycle(themeMode.collectAsState().value.ifEmpty { ThemeModeKeys.FOLLOW_SYSTEM })
8485
FrpTheme(themeMode = currentTheme) {
8586
Scaffold(topBar = {
8687
TopAppBar(title = {
@@ -110,7 +111,7 @@ class SettingsActivity : ComponentActivity() {
110111
@Composable
111112
fun SettingsContent() {
112113
val isAutoStart by isStartup.collectAsStateWithLifecycle(false)
113-
val currentTheme by themeMode.collectAsStateWithLifecycle(themeMode.value.ifEmpty { ThemeModeKeys.FOLLOW_SYSTEM })
114+
val currentTheme by themeMode.collectAsStateWithLifecycle(themeMode.collectAsState().value.ifEmpty { ThemeModeKeys.FOLLOW_SYSTEM })
114115
val isTaskerAllowed by allowTasker.collectAsStateWithLifecycle(true)
115116
val isExcludeFromRecents by excludeFromRecents.collectAsStateWithLifecycle(false)
116117
val currentQuickTileConfig by quickTileConfig.collectAsStateWithLifecycle(null)
@@ -133,9 +134,9 @@ class SettingsActivity : ComponentActivity() {
133134
title = stringResource(R.string.auto_start_switch),
134135
checked = isAutoStart,
135136
onCheckedChange = { checked ->
136-
val editor = preferences.edit()
137-
editor.putBoolean(PreferencesKey.AUTO_START, checked)
138-
editor.apply()
137+
preferences.edit {
138+
putBoolean(PreferencesKey.AUTO_START, checked)
139+
}
139140
isStartup.value = checked
140141
})
141142

@@ -147,9 +148,9 @@ class SettingsActivity : ComponentActivity() {
147148
currentKey = currentTheme,
148149
options = themeOptions,
149150
onValueChange = { newThemeKey ->
150-
val editor = preferences.edit()
151-
editor.putString(PreferencesKey.THEME_MODE, newThemeKey)
152-
editor.apply()
151+
preferences.edit {
152+
putString(PreferencesKey.THEME_MODE, newThemeKey)
153+
}
153154
themeMode.value = ThemeModeKeys.normalize(newThemeKey)
154155
})
155156

@@ -161,15 +162,15 @@ class SettingsActivity : ComponentActivity() {
161162
currentConfig = currentQuickTileConfig,
162163
configs = configs,
163164
onConfigChange = { config ->
164-
val editor = preferences.edit()
165-
if (config != null) {
166-
editor.putString(PreferencesKey.QUICK_TILE_CONFIG_TYPE, config.type.name)
167-
editor.putString(PreferencesKey.QUICK_TILE_CONFIG_NAME, config.fileName)
168-
} else {
169-
editor.remove(PreferencesKey.QUICK_TILE_CONFIG_TYPE)
170-
editor.remove(PreferencesKey.QUICK_TILE_CONFIG_NAME)
165+
preferences.edit {
166+
if (config != null) {
167+
putString(PreferencesKey.QUICK_TILE_CONFIG_TYPE, config.type.name)
168+
putString(PreferencesKey.QUICK_TILE_CONFIG_NAME, config.fileName)
169+
} else {
170+
remove(PreferencesKey.QUICK_TILE_CONFIG_TYPE)
171+
remove(PreferencesKey.QUICK_TILE_CONFIG_NAME)
172+
}
171173
}
172-
editor.apply()
173174
quickTileConfig.value = config
174175
})
175176

@@ -180,9 +181,9 @@ class SettingsActivity : ComponentActivity() {
180181
title = stringResource(R.string.allow_tasker_title),
181182
checked = isTaskerAllowed,
182183
onCheckedChange = { checked ->
183-
val editor = preferences.edit()
184-
editor.putBoolean(PreferencesKey.ALLOW_TASKER, checked)
185-
editor.apply()
184+
preferences.edit {
185+
putBoolean(PreferencesKey.ALLOW_TASKER, checked)
186+
}
186187
allowTasker.value = checked
187188
})
188189

@@ -193,35 +194,32 @@ class SettingsActivity : ComponentActivity() {
193194
title = stringResource(R.string.exclude_from_recents_title),
194195
checked = isExcludeFromRecents,
195196
onCheckedChange = { checked ->
196-
val editor = preferences.edit()
197-
editor.putBoolean(PreferencesKey.EXCLUDE_FROM_RECENTS, checked)
198-
editor.apply()
197+
preferences.edit {
198+
putBoolean(PreferencesKey.EXCLUDE_FROM_RECENTS, checked)
199+
}
199200
excludeFromRecents.value = checked
200201

201202
// 立即应用设置,不需要重启
202-
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
203-
try {
204-
val am =
205-
getSystemService(ACTIVITY_SERVICE) as android.app.ActivityManager
206-
val appTasks = am.appTasks
207-
android.util.Log.d(
208-
"SettingsActivity", "appTasks size: ${appTasks.size}"
209-
)
210-
if (appTasks.isNotEmpty()) {
211-
for (task in appTasks) {
212-
task.setExcludeFromRecents(checked)
213-
android.util.Log.d(
214-
"SettingsActivity", "Set excludeFromRecents to $checked"
215-
)
216-
}
217-
} else {
218-
android.util.Log.w("SettingsActivity", "appTasks is empty")
203+
try {
204+
val am = getSystemService(ACTIVITY_SERVICE) as android.app.ActivityManager
205+
val appTasks = am.appTasks
206+
android.util.Log.d(
207+
"SettingsActivity", "appTasks size: ${appTasks.size}"
208+
)
209+
if (appTasks.isNotEmpty()) {
210+
for (task in appTasks) {
211+
task.setExcludeFromRecents(checked)
212+
android.util.Log.d(
213+
"SettingsActivity", "Set excludeFromRecents to $checked"
214+
)
219215
}
220-
} catch (e: Exception) {
221-
android.util.Log.e(
222-
"SettingsActivity", "Failed to set excludeFromRecents: ${e.message}"
223-
)
216+
} else {
217+
android.util.Log.w("SettingsActivity", "appTasks is empty")
224218
}
219+
} catch (e: Exception) {
220+
android.util.Log.e(
221+
"SettingsActivity", "Failed to set excludeFromRecents: ${e.message}"
222+
)
225223
}
226224
})
227225

@@ -264,8 +262,9 @@ class SettingsActivity : ComponentActivity() {
264262
) {
265263
var expanded by remember { mutableStateOf(false) }
266264

267-
val currentLabel = options.firstOrNull { it.first == currentKey }?.second
268-
?: stringResource(R.string.theme_mode_follow_system)
265+
val currentLabel = options.firstOrNull { it.first == currentKey }?.second ?: stringResource(
266+
R.string.theme_mode_follow_system
267+
)
269268

270269
Row(modifier = Modifier
271270
.fillMaxWidth()

‎app/src/main/res/values/colors.xml‎

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)