Skip to content

Commit

Permalink
Add AboutLibraries
Browse files Browse the repository at this point in the history
  • Loading branch information
kaajjo committed Dec 5, 2022
1 parent b664dbf commit 4cd05e7
Show file tree
Hide file tree
Showing 7 changed files with 72 additions and 0 deletions.
4 changes: 4 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ plugins {
id 'kotlin-parcelize'
id 'kotlin-kapt'
id 'com.google.dagger.hilt.android'
id 'com.mikepenz.aboutlibraries.plugin'
}

android {
Expand Down Expand Up @@ -97,4 +98,7 @@ dependencies {

// support library
implementation 'androidx.appcompat:appcompat:1.7.0-alpha01'

// licenses
implementation "com.mikepenz:aboutlibraries-compose:$latestAboutLibsRelease"
}
2 changes: 2 additions & 0 deletions app/src/main/java/com/kaajjo/libresudoku/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import com.kaajjo.libresudoku.ui.gameshistory.savedgame.SavedGameScreen
import com.kaajjo.libresudoku.ui.home.HomeScreen
import com.kaajjo.libresudoku.ui.learn.LearnScreen
import com.kaajjo.libresudoku.ui.more.MoreScreen
import com.kaajjo.libresudoku.ui.more.about.AboutLibrariesScreen
import com.kaajjo.libresudoku.ui.more.about.AboutScreen
import com.kaajjo.libresudoku.ui.onboarding.WelcomeScreen
import com.kaajjo.libresudoku.ui.settings.SettingsScreen
Expand Down Expand Up @@ -114,6 +115,7 @@ class MainActivity : AppCompatActivity() {
composable("statistics") { StatisticsScreen(navController, hiltViewModel()) }
composable("history") { GamesHistoryScreen(navController, hiltViewModel()) }
composable("learn") { LearnScreen(navController) }
composable("open_source_licenses") { AboutLibrariesScreen(navController) }
composable(
route = "settings/?fromGame={fromGame}",
arguments = listOf(navArgument("fromGame") {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.kaajjo.libresudoku.ui.more.about

import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Person
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.navigation.NavController
import com.mikepenz.aboutlibraries.ui.compose.LibrariesContainer
import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults
import com.kaajjo.libresudoku.R

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun AboutLibrariesScreen(navController: NavController) {
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(rememberTopAppBarState())
Scaffold(
modifier = Modifier
.nestedScroll(scrollBehavior.nestedScrollConnection),
topBar = {
TopAppBar(
title = { Text(stringResource(R.string.libraries_licenses_title)) },
scrollBehavior = scrollBehavior,
navigationIcon = {
IconButton(onClick = {
navController.popBackStack()
}) {
Icon(
painterResource(R.drawable.ic_round_arrow_back_24),
contentDescription = null
)
}
}
)
},
) { innerPadding ->
LibrariesContainer(
modifier = Modifier
.fillMaxSize()
.padding(innerPadding),
colors = LibraryDefaults.libraryColors(
backgroundColor = MaterialTheme.colorScheme.background,
contentColor = MaterialTheme.colorScheme.onBackground,
badgeBackgroundColor = MaterialTheme.colorScheme.primary,
badgeContentColor = MaterialTheme.colorScheme.onPrimary
)
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,13 @@ fun AboutScreen(
uriHandler.openUri("https://github.com/kaajjo/Libre-Sudoku")
}
)
PreferenceRow(
title = stringResource(R.string.libraries_licenses_title),
painter = painterResource(R.drawable.ic_outline_info_24),
onClick = {
navController.navigate("open_source_licenses")
}
)
}
}
}
1 change: 1 addition & 0 deletions app/src/main/res/values-ru-rRU/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -169,4 +169,5 @@
<string name="learn_hidden_pairs_title">Скрытые пары</string>
<string name="learn_hidden_pairs_1">Скрытые пары это почти то же самое, что и голые пары, только с одним отличием, они скрыты среди других. Эти две клетки имеют кое-что общее, а именно, в них могут стоять цифры 6 и 9, и это единственные две клетки в этом блоке, где они могут стоять</string>
<string name="learn_hidden_pairs_2">Из этого можно сделать вывод, что эти две клетки будут содержать имеено эти две цифры, и никакие другие. Так что, мы можем убрать ненужные заметки из этих клеток. Как и с голыми парами, это точно также работае со строками и столбцами</string>
<string name="libraries_licenses_title">Open source лицензии</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 @@ -205,4 +205,6 @@
<string name="page_previous">Previous</string>
<string name="page_next">Next</string>
<string name="no_value_default" translatable="false">--</string>

<string name="libraries_licenses_title">Open source licenses</string>
</resources>
2 changes: 2 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ buildscript {
ext {
compose_version = '1.3.1'
room_version = "2.4.3"
latestAboutLibsRelease = '10.5.2'
}
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '7.3.0' apply false
id 'com.android.library' version '7.3.0' apply false
id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
id 'com.google.dagger.hilt.android' version '2.44.2' apply false
id 'com.mikepenz.aboutlibraries.plugin' version "$latestAboutLibsRelease" apply false
}

0 comments on commit 4cd05e7

Please sign in to comment.