From 7345665db8edae9a7ef7bda4113668b75408828b Mon Sep 17 00:00:00 2001 From: Aunali321 Date: Mon, 22 May 2023 04:14:43 +0530 Subject: [PATCH] feat(update screen): complete main update screen --- .../compose/ui/screen/SettingsScreen.kt | 2 +- .../ui/screen/settings/AboutSettingsScreen.kt | 2 +- .../screen/settings/UpdatesSettingsScreen.kt | 60 ++++++++++++++++++- app/src/main/res/values/strings.xml | 7 +++ 4 files changed, 68 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/app/revanced/manager/compose/ui/screen/SettingsScreen.kt b/app/src/main/java/app/revanced/manager/compose/ui/screen/SettingsScreen.kt index 6c75bbc..7452b65 100644 --- a/app/src/main/java/app/revanced/manager/compose/ui/screen/SettingsScreen.kt +++ b/app/src/main/java/app/revanced/manager/compose/ui/screen/SettingsScreen.kt @@ -111,7 +111,7 @@ fun SettingsScreen( ListItem( modifier = Modifier.clickable { navController.navigate(destination) }, headlineContent = { Text(stringResource(titleDescIcon.first), style = MaterialTheme.typography.titleLarge) }, - supportingContent = { Text(stringResource(titleDescIcon.second), style = MaterialTheme.typography.bodyMedium) }, + supportingContent = { Text(stringResource(titleDescIcon.second), style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.outline) }, leadingContent = { Icon(titleDescIcon.third, null) } ) } diff --git a/app/src/main/java/app/revanced/manager/compose/ui/screen/settings/AboutSettingsScreen.kt b/app/src/main/java/app/revanced/manager/compose/ui/screen/settings/AboutSettingsScreen.kt index 01f25d2..975c586 100644 --- a/app/src/main/java/app/revanced/manager/compose/ui/screen/settings/AboutSettingsScreen.kt +++ b/app/src/main/java/app/revanced/manager/compose/ui/screen/settings/AboutSettingsScreen.kt @@ -174,7 +174,7 @@ fun AboutSettingsScreen( .padding(8.dp) .clickable { onClick() }, headlineContent = { Text(title, style = MaterialTheme.typography.titleLarge) }, - supportingContent = { Text(description, style = MaterialTheme.typography.bodyMedium) } + supportingContent = { Text(description, style = MaterialTheme.typography.bodyMedium,color = MaterialTheme.colorScheme.outline) } ) } } diff --git a/app/src/main/java/app/revanced/manager/compose/ui/screen/settings/UpdatesSettingsScreen.kt b/app/src/main/java/app/revanced/manager/compose/ui/screen/settings/UpdatesSettingsScreen.kt index e7ad621..34be100 100644 --- a/app/src/main/java/app/revanced/manager/compose/ui/screen/settings/UpdatesSettingsScreen.kt +++ b/app/src/main/java/app/revanced/manager/compose/ui/screen/settings/UpdatesSettingsScreen.kt @@ -1,15 +1,31 @@ package app.revanced.manager.compose.ui.screen.settings +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Update import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.ListItem +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp import app.revanced.manager.compose.R import app.revanced.manager.compose.ui.component.AppTopBar @@ -18,6 +34,13 @@ import app.revanced.manager.compose.ui.component.AppTopBar fun UpdatesSettingsScreen( onBackClick: () -> Unit ) { + + val listItems = listOf( + Triple(stringResource(R.string.update_channel), stringResource(R.string.update_channel_description), third = { /*TODO*/ }), + Triple(stringResource(R.string.update_notifications), stringResource(R.string.update_notifications_description), third = { /*TODO*/ }), + Triple(stringResource(R.string.changelog), stringResource(R.string.changelog_description), third = { /*TODO*/ }), + ) + Scaffold( topBar = { AppTopBar( @@ -27,9 +50,44 @@ fun UpdatesSettingsScreen( } ) { paddingValues -> Column( - modifier = Modifier.fillMaxSize().padding(paddingValues).verticalScroll(rememberScrollState()) + modifier = Modifier + .fillMaxSize() + .padding(paddingValues) + .verticalScroll(rememberScrollState()) ) { + UpdateNotification() + listItems.forEach { (title, description, onClick) -> + ListItem( + modifier = Modifier + .fillMaxWidth() + .padding(8.dp) + .clickable { onClick() }, + headlineContent = { Text(title, style = MaterialTheme.typography.titleLarge) }, + supportingContent = { Text(description, style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.outline) } + ) + } + } + } +} +@Composable +fun UpdateNotification() { + Box( + modifier = Modifier + .fillMaxWidth() + .padding(16.dp) + .clip(RoundedCornerShape(16.dp)) + .background(MaterialTheme.colorScheme.secondaryContainer) + ) { + Row( + modifier = Modifier + .fillMaxWidth() + .padding(16.dp), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(16.dp) + ) { + Icon(imageVector = Icons.Default.Update, contentDescription = null) + Text(text = stringResource(R.string.update_notification), style = MaterialTheme.typography.bodyMedium) } } } \ 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 5286455..437a530 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -84,4 +84,11 @@ Options for debugging issues About ReVanced Manager ReVanced Manager is an application designed to work with ReVanced Patcher, which allows for long-lasting patches to be created for Android apps. The patching system is designed to automatically work with new versions of apps with minimal maintenance. + A minor update for ReVanced Manager is available. Click here to update and get the latest features and fixes! + Update channel + Stable + Update notifications + Dialog on app launch + badges + Changelog + Check out the latest changes in this update \ No newline at end of file