Skip to content

Commit 54fa5b0

Browse files
committed
refactor: update AboutScreen and HomeScreen for improved navigation and feedback options
- Changed GitHub link in AboutScreen to point to the IcePatch repository. - Added a new button in AboutScreen for user feedback and suggestions. - Simplified TopBar in HomeScreen by removing the install click handler and adjusting navigation logic. - Introduced a new ListItem in Settings for navigating to AboutScreen. Signed-off-by: [Anatdx] <an@anatdx.com>
1 parent a8a6863 commit 54fa5b0

3 files changed

Lines changed: 19 additions & 45 deletions

File tree

app/src/main/java/com/anatdx/icepatch/ui/screen/AboutScreen.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ fun AboutScreen(navigator: DestinationsNavigator) {
110110
horizontalArrangement = Arrangement.spacedBy(8.dp)
111111
) {
112112
FilledTonalButton(
113-
onClick = { uriHandler.openUri("https://github.com/Anatdx/YukiSU") }
113+
onClick = { uriHandler.openUri("https://github.com/Anatdx/IcePatch") }
114114
) {
115115
Icon(
116116
painter = painterResource(id = R.drawable.github),
@@ -119,6 +119,11 @@ fun AboutScreen(navigator: DestinationsNavigator) {
119119
Spacer(modifier = Modifier.width(ButtonDefaults.IconSpacing))
120120
Text(text = stringResource(id = R.string.about_github))
121121
}
122+
FilledTonalButton(
123+
onClick = { uriHandler.openUri("https://github.com/Anatdx/IcePatch/issues/new/choose") }
124+
) {
125+
Text(text = stringResource(id = R.string.home_more_menu_feedback_or_suggestion))
126+
}
122127
}
123128

124129
Row(

app/src/main/java/com/anatdx/icepatch/ui/screen/Home.kt

Lines changed: 4 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,7 @@ fun HomeScreen(navigator: DestinationsNavigator) {
143143
Scaffold(
144144
containerColor = Color.Transparent,
145145
topBar = {
146-
TopBar(onInstallClick = dropUnlessResumed {
147-
navigator.navigate(InstallModeSelectScreenDestination)
148-
}, navigator, kpState)
146+
TopBar(navigator = navigator, kpState = kpState)
149147
}
150148
) { innerPadding ->
151149
Column(
@@ -437,23 +435,14 @@ fun RebootDropdownItem(@StringRes id: Int, reason: String = "") {
437435
@OptIn(ExperimentalMaterial3Api::class)
438436
@Composable
439437
private fun TopBar(
440-
onInstallClick: () -> Unit, navigator: DestinationsNavigator, kpState: APApplication.State
438+
navigator: DestinationsNavigator, kpState: APApplication.State
441439
) {
442-
val uriHandler = LocalUriHandler.current
443-
var showDropdownMoreOptions by remember { mutableStateOf(false) }
444440
var showDropdownReboot by remember { mutableStateOf(false) }
445441

446442
TopAppBar(
447443
title = { Text(stringResource(R.string.app_name)) },
448444
colors = TopBarStyle.topAppBarColors(),
449445
actions = {
450-
IconButton(onClick = onInstallClick) {
451-
Icon(
452-
imageVector = Icons.Filled.InstallMobile,
453-
contentDescription = stringResource(id = R.string.mode_select_page_title)
454-
)
455-
}
456-
457446
if (kpState != APApplication.State.UNKNOWN_STATE) {
458447
IconButton(onClick = {
459448
showDropdownReboot = true
@@ -476,33 +465,6 @@ private fun TopBar(
476465
}
477466
}
478467
}
479-
480-
Box {
481-
IconButton(onClick = { showDropdownMoreOptions = true }) {
482-
Icon(
483-
imageVector = Icons.Filled.MoreVert,
484-
contentDescription = stringResource(id = R.string.settings)
485-
)
486-
ProvideMenuShape(RoundedCornerShape(10.dp)) {
487-
DropdownMenu(expanded = showDropdownMoreOptions, onDismissRequest = {
488-
showDropdownMoreOptions = false
489-
}) {
490-
DropdownMenuItem(text = {
491-
Text(stringResource(R.string.home_more_menu_feedback_or_suggestion))
492-
}, onClick = {
493-
showDropdownMoreOptions = false
494-
uriHandler.openUri("https://github.com/Anatdx/IcePatch/issues/new/choose")
495-
})
496-
DropdownMenuItem(text = {
497-
Text(stringResource(R.string.home_more_menu_about))
498-
}, onClick = {
499-
navigator.navigate(AboutScreenDestination)
500-
showDropdownMoreOptions = false
501-
})
502-
}
503-
}
504-
}
505-
}
506468
}
507469
)
508470
}
@@ -549,10 +511,8 @@ private fun KStatusCard(
549511
contentColor = cardContentColor,
550512
shadowElevation = 0.dp,
551513
tonalElevation = 0.dp,
552-
modifier = Modifier.clickable {
553-
if (kpState != APApplication.State.KERNELPATCH_INSTALLED) {
554-
navigator.navigate(InstallModeSelectScreenDestination)
555-
}
514+
modifier = Modifier.clickable(enabled = kpState != APApplication.State.KERNELPATCH_UNINSTALLING) {
515+
navigator.navigate(InstallModeSelectScreenDestination)
556516
}
557517
) {
558518
Column(

app/src/main/java/com/anatdx/icepatch/ui/screen/Settings.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import androidx.compose.foundation.verticalScroll
2828
import androidx.compose.material.icons.Icons
2929
import androidx.compose.material.icons.filled.BugReport
3030
import androidx.compose.material.icons.filled.Commit
31+
import androidx.compose.material.icons.filled.Info
3132
import androidx.compose.material.icons.filled.Engineering
3233
import androidx.compose.material.icons.filled.Key
3334
import androidx.compose.material.icons.filled.MoreHoriz
@@ -99,6 +100,7 @@ import com.anatdx.icepatch.util.setGlobalNamespaceEnabled
99100
import com.anatdx.icepatch.util.ui.APDialogBlurBehindUtils
100101
import com.anatdx.icepatch.util.ui.LocalSnackbarHost
101102
import com.anatdx.icepatch.util.ui.NavigationBarsSpacer
103+
import com.ramcosta.composedestinations.generated.destinations.AboutScreenDestination
102104
import com.ramcosta.composedestinations.generated.destinations.SettingsMoreScreenDestination
103105
import java.time.LocalDateTime
104106
import java.time.format.DateTimeFormatter
@@ -307,6 +309,13 @@ fun SettingScreen(navigator: DestinationsNavigator) {
307309
modifier = Modifier.clickable {
308310
showLogBottomSheet = true
309311
})
312+
ListItem(
313+
leadingContent = { Icon(Icons.Filled.Info, contentDescription = null) },
314+
headlineContent = { Text(stringResource(R.string.home_more_menu_about)) },
315+
modifier = Modifier.clickable {
316+
navigator.navigate(AboutScreenDestination)
317+
}
318+
)
310319
if (showLogBottomSheet) {
311320
ModalBottomSheet(
312321
onDismissRequest = { showLogBottomSheet = false },

0 commit comments

Comments
 (0)