diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/aboutScreen/AboutFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/aboutScreen/AboutFragment.kt index a739045f..7b5a2746 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/aboutScreen/AboutFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/aboutScreen/AboutFragment.kt @@ -1,15 +1,14 @@ package com.rtbishop.look4sat.presentation.aboutScreen +import android.content.Intent +import android.net.Uri import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.material.Card -import androidx.compose.material.Icon -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Text +import androidx.compose.material.* import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -17,11 +16,14 @@ import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.fragment.app.Fragment +import com.rtbishop.look4sat.BuildConfig import com.rtbishop.look4sat.R import com.rtbishop.look4sat.presentation.theme.Look4SatTheme import dagger.hilt.android.AndroidEntryPoint @@ -43,18 +45,18 @@ class AboutFragment : Fragment() { private fun AboutScreen() { Look4SatTheme { LazyColumn( - contentPadding = PaddingValues(8.dp), - verticalArrangement = Arrangement.spacedBy(8.dp), + contentPadding = PaddingValues(6.dp), + verticalArrangement = Arrangement.spacedBy(6.dp), modifier = Modifier.fillMaxSize() ) { - item { CardAbout() } - item { CardOutro() } + item { CardAbout(BuildConfig.VERSION_NAME) } + item { CardCredits() } } } } @Composable - private fun CardAbout(modifier: Modifier = Modifier, version: String = "3.2.0") { + private fun CardAbout(version: String, modifier: Modifier = Modifier) { Card(modifier = modifier.fillMaxWidth()) { Column(horizontalAlignment = Alignment.CenterHorizontally) { Row(horizontalArrangement = Arrangement.Center) { @@ -81,35 +83,83 @@ class AboutFragment : Fragment() { Text( text = stringResource(id = R.string.app_subtitle), fontSize = 21.sp, - modifier = modifier.padding(top = 4.dp, bottom = 8.dp) + modifier = modifier.padding(top = 4.dp) ) + Row( + horizontalArrangement = Arrangement.SpaceEvenly, + modifier = Modifier.padding(start = 4.dp, end = 4.dp) + ) { + LinkButton( + onClick = { gotoUrl("https://sites.google.com/view/look4sat-privacy-policy/home") }, + text = stringResource(id = R.string.btn_privacy), + modifier = Modifier.weight(1f) + ) + LinkButton( + onClick = { gotoUrl("https://www.gnu.org/licenses/gpl-3.0.html") }, + text = stringResource(id = R.string.btn_license), + modifier = Modifier.weight(1f) + ) + } } } } @Composable - fun CardOutro(modifier: Modifier = Modifier) { + private fun CardCredits(modifier: Modifier = Modifier) { Card(modifier = modifier.fillMaxWidth()) { Column(horizontalAlignment = Alignment.CenterHorizontally) { Text( text = stringResource(id = R.string.outro_title), - fontSize = 19.sp, + fontSize = 18.sp, color = MaterialTheme.colors.secondary, modifier = modifier.padding(8.dp) ) Text( text = stringResource(id = R.string.outro_thanks), - fontSize = 17.sp, + fontSize = 16.sp, textAlign = TextAlign.Center, modifier = modifier.padding(start = 8.dp, end = 8.dp) ) Text( text = stringResource(id = R.string.outro_license), - fontSize = 17.sp, - textAlign = TextAlign.Center, - modifier = modifier.padding(8.dp) + fontSize = 18.sp, + color = MaterialTheme.colors.secondary, + modifier = modifier.padding(start = 8.dp, end = 8.dp, top = 8.dp, bottom = 4.dp) ) + Row( + horizontalArrangement = Arrangement.SpaceEvenly, + modifier = Modifier.padding(start = 4.dp, end = 4.dp) + ) { + LinkButton( + onClick = { gotoUrl("https://github.com/rt-bishop/Look4Sat/") }, + text = stringResource(id = R.string.btn_github), + modifier = Modifier.weight(1f) + ) + LinkButton( + onClick = { gotoUrl("https://ko-fi.com/rt_bishop") }, + text = stringResource(id = R.string.btn_support), + modifier = Modifier.weight(1f) + ) + LinkButton( + onClick = { gotoUrl("https://f-droid.org/en/packages/com.rtbishop.look4sat/") }, + text = stringResource(id = R.string.btn_fdroid), + modifier = Modifier.weight(1f) + ) + } } } } + + @Composable + private fun LinkButton(onClick: () -> Unit, text: String, modifier: Modifier = Modifier) { + Button( + onClick = { onClick() }, + colors = ButtonDefaults.buttonColors(backgroundColor = MaterialTheme.colors.primaryVariant), + modifier = modifier.padding(4.dp) + ) { + Text(text = text, style = TextStyle(fontWeight = FontWeight.Bold), fontSize = 18.sp) + } + } + + private fun gotoUrl(url: String) = startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url))) } diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/theme/Shape.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/theme/Shape.kt index 300e421f..1078280d 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/theme/Shape.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/theme/Shape.kt @@ -5,7 +5,7 @@ import androidx.compose.material.Shapes import androidx.compose.ui.unit.dp val Shapes = Shapes( - small = RoundedCornerShape(8.dp), - medium = RoundedCornerShape(8.dp), - large = RoundedCornerShape(8.dp) + small = RoundedCornerShape(12.dp), + medium = RoundedCornerShape(12.dp), + large = RoundedCornerShape(12.dp) ) diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/theme/Theme.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/theme/Theme.kt index 546ad5d6..13e8fe3e 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/theme/Theme.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/theme/Theme.kt @@ -14,7 +14,7 @@ fun Look4SatTheme(darkTheme: Boolean = isSystemInDarkTheme(), content: @Composab private val LightColors = lightColors( primary = SurfaceGrey, - primaryVariant = Background, + primaryVariant = ButtonGrey, secondary = Yellow, background = Background, surface = SurfaceGrey, @@ -26,7 +26,7 @@ private val LightColors = lightColors( private val DarkColors = darkColors( primary = SurfaceGrey, - primaryVariant = Background, + primaryVariant = ButtonGrey, secondary = Yellow, background = Background, surface = SurfaceGrey, diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9901fb21..7aced4f5 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -38,6 +38,8 @@ GitHub Поддержать F-Droid + Конфиденц. + Лицензия @@ -176,7 +178,5 @@ \n • DownloadAstro за интерес к приложению и публикацию интервью на сайте. - Политика конфиденциальности. - \nЭто ПО поставляется без гарантий. \nПодробности в лицензии GNU GPLv3. - + Это ПО поставляется без гарантий. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index de7db7d3..ae1bf34a 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -38,6 +38,8 @@ GitHub 支持 F-Droid + 隐私政策 + GNU GPLv3 @@ -177,7 +179,5 @@ \n • DownloadAstro team for their interest to the app and the interview published. - 隐私政策 - 该应用程序不提供任何保修。\n有关详细信息,请参阅 GNU GPLv3 许可证 。 - + 该应用程序不提供任何保修. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index de6a2b29..18230120 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -38,6 +38,8 @@ GitHub Support F-Droid + Privacy Policy + GPLv3 Licence @@ -176,7 +178,5 @@ \n\n • DownloadAstro team for their interest to the app and the interview published. - Privacy Policy. - The app comes with no warranty. \nSee the GNU GPLv3 license for details. - + The app comes with no warranty.