From f4d9b90937b3e1187cae6f205713e7293733edca Mon Sep 17 00:00:00 2001 From: IllusionMan1212 Date: Tue, 11 Jul 2023 18:35:01 +0300 Subject: [PATCH] use viewmodels and parse tsv files and display them --- app/build.gradle.kts | 8 +- app/src/main/AndroidManifest.xml | 1 + .../com/illusionware/npsbrowser/NPSApp.kt | 25 ++ .../illusionware/npsbrowser/Preferences.kt | 246 ------------ .../npsbrowser/activities/MainActivity.kt | 351 ++++++++++-------- .../data/OnboardingPreferencesRepository.kt | 36 ++ .../data/SettingsPreferencesRepository.kt | 219 +++++++++++ .../npsbrowser/model/ConsoleType.kt | 9 + .../npsbrowser/model/PackageItem.kt | 18 + .../npsbrowser/model/PackageItemType.kt | 7 + .../npsbrowser/ui/pages/Onboarding.kt | 275 ++++++++++---- .../npsbrowser/ui/pages/Settings.kt | 244 +++++------- .../viewmodels/OnboardingViewModel.kt | 52 +++ .../npsbrowser/viewmodels/PackageListData.kt | 147 +++++++- .../viewmodels/SettingsViewModel.kt | 138 +++++++ app/src/main/res/drawable/folder_bubbles.xml | 20 + app/src/main/res/font/readex_pro_bold.ttf | Bin 0 -> 102404 bytes .../main/res/font/readex_pro_extra_light.ttf | Bin 0 -> 102080 bytes app/src/main/res/font/readex_pro_light.ttf | Bin 0 -> 102176 bytes app/src/main/res/font/readex_pro_medium.ttf | Bin 0 -> 102252 bytes app/src/main/res/font/readex_pro_regular.ttf | Bin 0 -> 101728 bytes .../main/res/font/readex_pro_semi_bold.ttf | Bin 0 -> 102396 bytes build.gradle.kts | 3 +- 23 files changed, 1155 insertions(+), 644 deletions(-) create mode 100644 app/src/main/java/com/illusionware/npsbrowser/NPSApp.kt delete mode 100644 app/src/main/java/com/illusionware/npsbrowser/Preferences.kt create mode 100644 app/src/main/java/com/illusionware/npsbrowser/data/OnboardingPreferencesRepository.kt create mode 100644 app/src/main/java/com/illusionware/npsbrowser/data/SettingsPreferencesRepository.kt create mode 100644 app/src/main/java/com/illusionware/npsbrowser/model/ConsoleType.kt create mode 100644 app/src/main/java/com/illusionware/npsbrowser/model/PackageItem.kt create mode 100644 app/src/main/java/com/illusionware/npsbrowser/model/PackageItemType.kt create mode 100644 app/src/main/java/com/illusionware/npsbrowser/viewmodels/OnboardingViewModel.kt create mode 100644 app/src/main/java/com/illusionware/npsbrowser/viewmodels/SettingsViewModel.kt create mode 100644 app/src/main/res/drawable/folder_bubbles.xml create mode 100644 app/src/main/res/font/readex_pro_bold.ttf create mode 100644 app/src/main/res/font/readex_pro_extra_light.ttf create mode 100644 app/src/main/res/font/readex_pro_light.ttf create mode 100644 app/src/main/res/font/readex_pro_medium.ttf create mode 100644 app/src/main/res/font/readex_pro_regular.ttf create mode 100644 app/src/main/res/font/readex_pro_semi_bold.ttf diff --git a/app/build.gradle.kts b/app/build.gradle.kts index cea2e01..dd9cc31 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -61,7 +61,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion = "1.4.4" + kotlinCompilerExtensionVersion = "1.4.8" } buildToolsVersion = "33.0.1" kotlinOptions { @@ -76,10 +76,12 @@ repositories { dependencies { implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1") + implementation("androidx.lifecycle:lifecycle-runtime-compose:2.6.1") implementation("androidx.activity:activity-compose:1.7.2") implementation(platform("androidx.compose:compose-bom:2022.10.00")) implementation("androidx.compose.ui:ui") implementation("androidx.compose.ui:ui-graphics") + implementation("androidx.core:core-ktx:1.10.1") androidTestImplementation(platform("androidx.compose:compose-bom:2022.10.00")) androidTestImplementation("androidx.compose.ui:ui-test-junit4") // Jetpack Compose @@ -88,7 +90,7 @@ dependencies { androidTestImplementation(composeBom) // Material 3 - implementation("androidx.compose.material3:material3:1.1.0") + implementation("androidx.compose.material3:material3:1.1.1") implementation("androidx.compose.material:material-icons-extended:1.4.3") // Android Studio Preview support implementation("androidx.compose.ui:ui-tooling-preview") @@ -100,7 +102,7 @@ dependencies { // Compose extras library for controlling system ui and etc. implementation("com.google.accompanist:accompanist-systemuicontroller:0.31.2-alpha") - implementation("com.github.doyaaaaaken:kotlin-csv-jvm:1.9.1") + implementation("com.github.IllusionMan1212:kotlin-csv:cedb7c5ab2") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2dc2646..e4b0650 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -7,6 +7,7 @@ by preferencesDataStore( + name = PREFERENCES_NAME +) + +class NPSApp: Application() { + lateinit var settingsPreferencesRepository: SettingsPreferencesRepository + lateinit var onboardingPreferencesRepository: OnboardingPreferencesRepository + + override fun onCreate() { + super.onCreate() + settingsPreferencesRepository = SettingsPreferencesRepository(dataStore) + onboardingPreferencesRepository = OnboardingPreferencesRepository(dataStore) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/illusionware/npsbrowser/Preferences.kt b/app/src/main/java/com/illusionware/npsbrowser/Preferences.kt deleted file mode 100644 index 1dc03b3..0000000 --- a/app/src/main/java/com/illusionware/npsbrowser/Preferences.kt +++ /dev/null @@ -1,246 +0,0 @@ -package com.illusionware.npsbrowser - -import android.content.Context -import android.net.Uri -import android.os.Environment -import androidx.datastore.preferences.core.booleanPreferencesKey -import androidx.datastore.preferences.core.edit -import androidx.datastore.preferences.core.intPreferencesKey -import androidx.datastore.preferences.core.stringPreferencesKey -import androidx.datastore.preferences.preferencesDataStore -import kotlinx.coroutines.flow.first -import kotlinx.coroutines.flow.map - -enum class ConsoleType { - PSVITA, - PS3, - PSP, - PSX, - PSM, -} - -enum class DataType { - GAMES, - DLC, - THEMES, -} - -enum class Layout { - LIST, - GRID, -} - -class Preferences(private val context: Context) { - companion object { - private val Context.dataStore by preferencesDataStore("settings") - private val APP_THEME = intPreferencesKey("app_theme") - private val DATA_LAYOUT = intPreferencesKey("layout") - private val SEEN_ONBOARDING = booleanPreferencesKey("seen_onboarding") - private val PSV_GAMES = stringPreferencesKey("psv_games") - private val PS3_GAMES = stringPreferencesKey("ps3_games") - private val PSP_GAMES = stringPreferencesKey("psp_games") - private val PSX_GAMES = stringPreferencesKey("psx_games") - private val PSM_GAMES = stringPreferencesKey("psm_games") - private val PSV_DLC = stringPreferencesKey("psv_dlc") - private val PS3_DLC = stringPreferencesKey("ps3_dlc") - private val PSP_DLC = stringPreferencesKey("psp_dlc") - private val PSV_THEMES = stringPreferencesKey("psv_themes") - private val HMAC_KEY = stringPreferencesKey("hmac_key") - private val DOWNLOAD_DIR = stringPreferencesKey("download_dir") - private val UNPACK_DIR = stringPreferencesKey("unpack_dir") - private val UNPACK_IN_DOWNLOAD = booleanPreferencesKey("unpack_in_download") - private val DELETE_AFTER_UNPACK = booleanPreferencesKey("delete_after_unpack") - private val PKG2ZIP_PARAMS = stringPreferencesKey("pkg2zip_params") - private val PKG2ZIP_AUTO_DECRYPT = booleanPreferencesKey("pkg2zip_auto_decrypt") - } - - val theme = context.dataStore.data.map { prefs -> - prefs[APP_THEME] ?: 2 - } - - val layout = context.dataStore.data.map{ prefs -> - prefs[DATA_LAYOUT] ?: Layout.LIST.ordinal - } - - val seenOnboarding = context.dataStore.data.map{ prefs -> - prefs[SEEN_ONBOARDING] ?: false - } - - val psvGames = context.dataStore.data.map{ prefs -> - prefs[PSV_GAMES] ?: "" - } - - val ps3Games = context.dataStore.data.map{ prefs -> - prefs[PS3_GAMES] ?: "" - } - - val pspGames = context.dataStore.data.map{ prefs -> - prefs[PSP_GAMES] ?: "" - } - - val psxGames = context.dataStore.data.map{ prefs -> - prefs[PSX_GAMES] ?: "" - } - - val psmGames = context.dataStore.data.map{ prefs -> - prefs[PSM_GAMES] ?: "" - } - - val psvDLC = context.dataStore.data.map{ prefs -> - prefs[PSV_DLC] ?: "" - } - - val ps3DLC = context.dataStore.data.map{ prefs -> - prefs[PS3_DLC] ?: "" - } - - val pspDLC = context.dataStore.data.map{ prefs -> - prefs[PSP_DLC] ?: "" - } - - val psvThemes = context.dataStore.data.map{ prefs -> - prefs[PSV_THEMES] ?: "" - } - - val hmacKey = context.dataStore.data.map{ prefs -> - prefs[HMAC_KEY] ?: "" - } - - val downloadDir = context.dataStore.data.map{ prefs -> - prefs[DOWNLOAD_DIR] ?: Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)?.path ?: "" - } - - val unpackDir = context.dataStore.data.map{ prefs -> - prefs[UNPACK_DIR] ?: Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)?.path ?: "" - } - - val unpackInDownload = context.dataStore.data.map{ prefs -> - prefs[UNPACK_IN_DOWNLOAD] ?: false - } - - val deleteAfterUnpack = context.dataStore.data.map{ prefs -> - prefs[DELETE_AFTER_UNPACK] ?: false - } - - val pkg2zipParams = context.dataStore.data.map{ prefs -> - prefs[PKG2ZIP_PARAMS] ?: "-x {pkgFile} \"{zRifKey}\"" - } - - val pkg2zipAutoDecrypt = context.dataStore.data.map{ prefs -> - prefs[PKG2ZIP_AUTO_DECRYPT] ?: true - } - - suspend fun changeTheme(theme: Int) { - context.dataStore.edit { prefs -> - prefs[APP_THEME] = theme - } - } - - suspend fun changeLayout(layout: Int) { - context.dataStore.edit { prefs -> - prefs[DATA_LAYOUT] = layout - } - } - - suspend fun finishOnboarding() { - context.dataStore.edit { prefs -> - prefs[SEEN_ONBOARDING] = true - } - } - - suspend fun setTSVFile(console: ConsoleType, contentType: DataType, file: Uri) { - context.dataStore.edit { prefs -> - when (console) { - ConsoleType.PSVITA -> { - when (contentType) { - DataType.GAMES -> prefs[PSV_GAMES] = file.toString() - DataType.DLC -> prefs[PSV_DLC] = file.toString() - DataType.THEMES -> prefs[PSV_THEMES] = file.toString() - } - } - ConsoleType.PS3 -> { - when (contentType) { - DataType.GAMES -> prefs[PS3_GAMES] = file.toString() - DataType.DLC -> prefs[PS3_DLC] = file.toString() - else -> {} - } - } - ConsoleType.PSP -> { - when (contentType) { - DataType.GAMES -> prefs[PSP_GAMES] = file.toString() - DataType.DLC -> prefs[PSP_DLC] = file.toString() - else -> {} - } - } - ConsoleType.PSX -> { - when (contentType) { - DataType.GAMES -> prefs[PSX_GAMES] = file.toString() - else -> {} - } - } - ConsoleType.PSM -> { - when (contentType) { - DataType.GAMES -> prefs[PSM_GAMES] = file.toString() - else -> {} - } - } - } - } - } - - suspend fun getAvailableTsvs(): List> { - val list = mutableListOf>() - if (psvGames.first().isNotEmpty()) list.add(Pair(ConsoleType.PSVITA, DataType.GAMES)) - if (psvDLC.first().isNotEmpty()) list.add(Pair(ConsoleType.PSVITA, DataType.DLC)) - if (psvThemes.first().isNotEmpty()) list.add(Pair(ConsoleType.PSVITA, DataType.THEMES)) - if (ps3Games.first().isNotEmpty()) list.add(Pair(ConsoleType.PS3, DataType.GAMES)) - if (ps3DLC.first().isNotEmpty()) list.add(Pair(ConsoleType.PS3, DataType.DLC)) - if (pspGames.first().isNotEmpty()) list.add(Pair(ConsoleType.PSP, DataType.GAMES)) - if (pspDLC.first().isNotEmpty()) list.add(Pair(ConsoleType.PSP, DataType.DLC)) - if (psxGames.first().isNotEmpty()) list.add(Pair(ConsoleType.PSX, DataType.GAMES)) - if (psmGames.first().isNotEmpty()) list.add(Pair(ConsoleType.PSM, DataType.GAMES)) - return list - } - - suspend fun setHMACKey(key: String) { - context.dataStore.edit { prefs -> - prefs[HMAC_KEY] = key - } - } - - suspend fun setDownloadDir(dir: String) { - context.dataStore.edit { prefs -> - prefs[DOWNLOAD_DIR] = dir - } - } - - suspend fun setUnpackDir(dir: String) { - context.dataStore.edit { prefs -> - prefs[UNPACK_DIR] = dir - } - } - - suspend fun setUnpackInDownload(unpackInDownload: Boolean) { - context.dataStore.edit { prefs -> - prefs[UNPACK_IN_DOWNLOAD] = unpackInDownload - } - } - - suspend fun setDeleteAfterUnpack(deleteAfterUnpack: Boolean) { - context.dataStore.edit { prefs -> - prefs[DELETE_AFTER_UNPACK] = deleteAfterUnpack - } - } - - suspend fun setPkg2zipParams(params: String) { - context.dataStore.edit { prefs -> - prefs[PKG2ZIP_PARAMS] = params - } - } - - suspend fun setPkg2zipAutoDecrypt(autoDecrypt: Boolean) { - context.dataStore.edit { prefs -> - prefs[PKG2ZIP_AUTO_DECRYPT] = autoDecrypt - } - } -} diff --git a/app/src/main/java/com/illusionware/npsbrowser/activities/MainActivity.kt b/app/src/main/java/com/illusionware/npsbrowser/activities/MainActivity.kt index e4762da..51205a4 100644 --- a/app/src/main/java/com/illusionware/npsbrowser/activities/MainActivity.kt +++ b/app/src/main/java/com/illusionware/npsbrowser/activities/MainActivity.kt @@ -3,9 +3,7 @@ package com.illusionware.npsbrowser.activities import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background -import androidx.compose.foundation.basicMarquee import androidx.compose.foundation.clickable import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Arrangement @@ -16,7 +14,6 @@ import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.aspectRatio -import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding @@ -25,6 +22,8 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.items +import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack @@ -32,6 +31,8 @@ import androidx.compose.material.icons.filled.Close import androidx.compose.material.icons.filled.GridView import androidx.compose.material.icons.filled.Search import androidx.compose.material.icons.filled.Settings +import androidx.compose.material.icons.filled.ViewList +import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme @@ -47,7 +48,6 @@ import androidx.compose.material3.TextFieldDefaults import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -69,31 +69,34 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.Font import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController import coil.compose.AsyncImage import coil.request.ImageRequest -import com.illusionware.npsbrowser.ConsoleType -import com.illusionware.npsbrowser.Layout -import com.illusionware.npsbrowser.Preferences import com.illusionware.npsbrowser.R +import com.illusionware.npsbrowser.data.ItemLayout +import com.illusionware.npsbrowser.data.SettingsPreferences +import com.illusionware.npsbrowser.model.ConsoleType +import com.illusionware.npsbrowser.model.PackageItem +import com.illusionware.npsbrowser.ui.components.* +import com.illusionware.npsbrowser.ui.pages.OnBoarding +import com.illusionware.npsbrowser.ui.pages.SettingsScreen import com.illusionware.npsbrowser.ui.theme.ColorAccent +import com.illusionware.npsbrowser.ui.theme.ColorOnPrimaryLight import com.illusionware.npsbrowser.ui.theme.NPSBrowserTheme import com.illusionware.npsbrowser.ui.theme.Typography -import com.illusionware.npsbrowser.ui.components.* -import com.illusionware.npsbrowser.ui.pages.SettingsScreen -import com.illusionware.npsbrowser.ui.pages.OnBoarding -import com.illusionware.npsbrowser.ui.theme.ColorOnPrimaryLight -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.first -import kotlinx.coroutines.launch +import com.illusionware.npsbrowser.viewmodels.OnboardingViewModel +import com.illusionware.npsbrowser.viewmodels.PackageListViewModel +import com.illusionware.npsbrowser.viewmodels.SettingsViewModel import kotlinx.coroutines.runBlocking val PlaceholderColor = Color(0x1F888888) @@ -102,59 +105,60 @@ val redHatDisplayFamily = FontFamily( ) class MainActivity : ComponentActivity() { - override fun onCreate(savedInstanceState: Bundle?) { installSplashScreen() super.onCreate(savedInstanceState) setContent { - Router() - } - } -} + val settingsViewModel: SettingsViewModel = viewModel( + factory = SettingsViewModel.Factory + ) + val onboardingViewModel: OnboardingViewModel = viewModel( + factory = OnboardingViewModel.Factory + ) -@Composable -fun Router() { - val prefs = Preferences(LocalContext.current) - var theme by remember { runBlocking { mutableStateOf(prefs.theme.first()) } } - var seenOnboarding by remember { runBlocking { mutableStateOf(prefs.seenOnboarding.first()) } } - val navController = rememberNavController() + val onboardingPrefs = onboardingViewModel.uiState.collectAsStateWithLifecycle().value + val appTheme = runBlocking { settingsViewModel.getAppTheme() } + val settingsPrefs = settingsViewModel.uiState.collectAsStateWithLifecycle().value + val navController = rememberNavController() - val darkTheme = when (theme) { - 0 -> false - 1 -> true - else -> isSystemInDarkTheme() - } + val darkTheme = when (appTheme) { + 0 -> false + 1 -> true + else -> isSystemInDarkTheme() + } - NPSBrowserTheme(darkTheme = darkTheme) { - Surface( - modifier = Modifier.fillMaxSize(), - color = if (seenOnboarding) MaterialTheme.colorScheme.background else ColorAccent - ) { - NavHost( - navController = navController, - startDestination = if (seenOnboarding) "Home" else "Onboarding", - ) { - composable(route = "Home") { - HomePage( - navigateToSettings = { navController.navigate("Settings") } - ) - } - composable(route = "Settings") { - SettingsScreen( - navigationGoBack = { navController.popBackStack() }, - onThemeChange = { v -> theme = v }, - ) - } - composable(route = "Onboarding") { - OnBoarding( - navigateToHome = { - navController.popBackStack() - seenOnboarding = true - navController.navigate("Home") - }, - darkTheme = darkTheme - ) + NPSBrowserTheme(darkTheme = darkTheme) { + Surface( + modifier = Modifier.fillMaxSize(), + color = if (onboardingPrefs.seenOnboarding) MaterialTheme.colorScheme.background else ColorAccent + ) { + NavHost( + navController = navController, + startDestination = if (onboardingPrefs.seenOnboarding) "Home" else "Onboarding", + ) { + composable(route = "Home") { + HomePage( + navigateToSettings = { navController.navigate("Settings") }, + settingsPrefs = settingsPrefs, + settingsViewModel = settingsViewModel, + ) + } + composable(route = "Settings") { + SettingsScreen( + navigationGoBack = { navController.popBackStack() }, + ) + } + composable(route = "Onboarding") { + OnBoarding( + navigateToHome = { + navController.popBackStack() + navController.navigate("Home") + }, + darkTheme = darkTheme, + ) + } + } } } } @@ -163,17 +167,18 @@ fun Router() { @OptIn(ExperimentalMaterial3Api::class) @Composable -@Preview -fun HomePage(navigateToSettings: () -> Unit = {}) { - val prefs = Preferences(LocalContext.current) +fun HomePage( + navigateToSettings: () -> Unit = {}, + settingsPrefs: SettingsPreferences, + settingsViewModel: SettingsViewModel, +) { var isSearchOpen by rememberSaveable { mutableStateOf(false)} var searchQuery by rememberSaveable { mutableStateOf("")} val searchBar = remember { FocusRequester() } var layoutDialogOpen by remember { mutableStateOf(false) } - val tsvs by remember { runBlocking { mutableStateOf(prefs.getAvailableTsvs()) }} + val tsvs = settingsViewModel.availableTsvs() var selectedBarItem by remember { mutableStateOf(ConsoleType.PSVITA) } -// val noTsvs by remember { mutableStateOf(false) } Scaffold( topBar = { @@ -239,7 +244,7 @@ fun HomePage(navigateToSettings: () -> Unit = {}) { tooltip = stringResource(id = R.string.layout), onClick = { layoutDialogOpen = true } ) { - Icon(imageVector = Icons.Filled.GridView, contentDescription = stringResource( + Icon(imageVector = if (settingsPrefs.layout == ItemLayout.GRID.ordinal) Icons.Filled.GridView else Icons.Filled.ViewList, contentDescription = stringResource( id = R.string.layout )) } @@ -267,16 +272,16 @@ fun HomePage(navigateToSettings: () -> Unit = {}) { if (tsvs.isEmpty()) { NoTsvs(navigateToSettings = navigateToSettings) } else { -// when (selectedBarItem) { -// ConsoleType.PSVITA -> VitaPage(searchQuery = searchQuery) -// ConsoleType.PS3 -> PS3Page(searchQuery = searchQuery) -// } - PackageList(selectedBarItem) + PackageList(selectedBarItem, settingsPrefs = settingsPrefs) } } if (layoutDialogOpen) { - LayoutDialog(onDismiss = { layoutDialogOpen = false }) + LayoutDialog( + onDismiss = { layoutDialogOpen = false }, + prefs = settingsPrefs, + viewModel = settingsViewModel, + ) } } } @@ -368,54 +373,82 @@ fun NoTsvs(padding: PaddingValues = PaddingValues(0.dp), navigateToSettings: () } @Composable -@Preview -fun PackageList(type: ConsoleType = ConsoleType.PSVITA) { - val prefs = Preferences(LocalContext.current) - val layout = prefs.layout.collectAsState(initial = Layout.LIST.ordinal).value -// val thing = when (type) { -// ConsoleType.PSVITA -> { -// var list = ArrayList() -// list.add(Package("test")) -// val gs = prefs.psvGames.collectAsState(initial = emptyList()) -// list.add(gs.value) -// } -// ConsoleType.PS3 -> { -// prefs.ps3Games.collectAsState(initial = emptyList()) -// } -// ConsoleType.PSP -> { -// prefs.pspGames.collectAsState(initial = emptyList()) -// } -// ConsoleType.PSX -> { -// prefs.psxGames.collectAsState(initial = emptyList()) -// } -// ConsoleType.PSM -> { -// prefs.psmGames.collectAsState(initial = emptyList()) -// } -// } +fun PackageList( + type: ConsoleType = ConsoleType.PSVITA, + viewModel: PackageListViewModel = viewModel( + factory = PackageListViewModel.Factory + ), + settingsPrefs: SettingsPreferences, +) { + val uiState = viewModel.uiState.collectAsStateWithLifecycle().value + + val packages = when (type) { + ConsoleType.PSVITA -> { + uiState.packages.filter { it.consoleType == ConsoleType.PSVITA } + } + ConsoleType.PS3 -> { + uiState.packages.filter { it.consoleType == ConsoleType.PS3 } + } + ConsoleType.PSP -> { + uiState.packages.filter { it.consoleType == ConsoleType.PSP } + } + ConsoleType.PSX -> { + uiState.packages.filter { it.consoleType == ConsoleType.PSX } + } + ConsoleType.PSM -> { + uiState.packages.filter { it.consoleType == ConsoleType.PSM } + } + } Column(Modifier.fillMaxSize()) { - if (layout == Layout.LIST.ordinal) { - LazyColumn { - items(15) { - PackageListItem() - } + if (uiState.isLoading) { + Box( + modifier = Modifier + .fillMaxSize() + .padding(16.dp), + contentAlignment = Alignment.Center + ) { + CircularProgressIndicator() } } else { - LazyVerticalGrid( - columns = GridCells.Adaptive(140.dp), - contentPadding = PaddingValues(8.dp), - ) { - items(15) { - PackageGridItem() + if (packages.isEmpty()) { + Box( + modifier = Modifier + .fillMaxSize() + .padding(16.dp), + contentAlignment = Alignment.Center + ) { + Text( + "You haven't added any TSVs for this console yet", + style = Typography.bodyLarge, + textAlign = TextAlign.Center, + color = MaterialTheme.colorScheme.outline + ) + } + } else { + if (settingsPrefs.layout == ItemLayout.LIST.ordinal) { + LazyColumn { + items(packages) { + PackageListItem(it) + } + } + } else { + LazyVerticalGrid( + columns = GridCells.Adaptive(140.dp), + contentPadding = PaddingValues(8.dp), + ) { + items(packages) { + PackageGridItem(it) + } + } } } } } } -@OptIn(ExperimentalFoundationApi::class) @Composable -fun PackageListItem() { +fun PackageListItem(item: PackageItem) { Box( Modifier .fillMaxWidth() @@ -434,7 +467,7 @@ fun PackageListItem() { ) { AsyncImage( model = ImageRequest.Builder(LocalContext.current) - .data("https://picsum.photos/200") + .data("TODO:") .crossfade(true) .error(R.drawable.default_game_icon) .build(), @@ -451,7 +484,7 @@ fun PackageListItem() { horizontalArrangement = Arrangement.spacedBy(8.dp) ) { Text( - text = "10 Second Ninja X", + text = item.name, color = MaterialTheme.colorScheme.onBackground, style = Typography.bodyLarge, overflow = TextOverflow.Ellipsis, @@ -466,25 +499,33 @@ fun PackageListItem() { horizontalArrangement = Arrangement.spacedBy(12.dp), ) { ProvideTextStyle(value = Typography.bodySmall.copy(color = MaterialTheme.colorScheme.outline)) { - Text(text = "US") - Text(text = "3.69") - Text(text = "223.8MB") - Tag(title = "GAME", small = true) + Text(text = item.region) + if (item.minFW.isNotEmpty()) { + Text(text = String.format("%.2f", item.minFW.toFloat())) + } + if (item.pkgSize.isNotEmpty()) { + Text(text = item.pkgSize) + } + Tag(title = item.dataType.name, small = true) } } } } Column { - Icon( - painter = painterResource(id = R.drawable.no_url_icon), - contentDescription = "No PKG URL", - tint = Color(0xFFCB5A5A) - ) - Icon( - painter = painterResource(id = R.drawable.no_key_icon), - contentDescription = "No Zrif Key", - tint = Color(0xFFCB5A5A) - ) + if (item.pkgUrl.isEmpty() || item.pkgUrl == "MISSING") { + Icon( + painter = painterResource(id = R.drawable.no_url_icon), + contentDescription = "No PKG URL", + tint = Color(0xFFCB5A5A) + ) + } + if (item.consoleType != ConsoleType.PSX && (item.zRif.isEmpty() && item.rap.isEmpty())) { + Icon( + painter = painterResource(id = R.drawable.no_key_icon), + contentDescription = "No License Key", + tint = Color(0xFFCB5A5A) + ) + } } } } @@ -512,8 +553,7 @@ fun Tag(title: String, small: Boolean = false) { } @Composable -@Preview -fun PackageGridItem() { +fun PackageGridItem(item: PackageItem) { Box( Modifier .fillMaxWidth() @@ -529,7 +569,7 @@ fun PackageGridItem() { content = { AsyncImage( model = ImageRequest.Builder(LocalContext.current) - .data("https://picsum.photos/200") + .data("TODO:") .crossfade(true) .error(R.drawable.default_game_icon) .build(), @@ -540,7 +580,7 @@ fun PackageGridItem() { .fillMaxWidth(), contentScale = ContentScale.Crop, ) - Tag(title = "GAME") + Tag(title = item.dataType.name) } ) { measurables, constraints -> val imagePlaceable = measurables[0].measure(constraints) @@ -555,7 +595,7 @@ fun PackageGridItem() { } } Text( - text = "10 Second Ninja X", + text = item.name, color = MaterialTheme.colorScheme.onBackground, style = Typography.bodyLarge, overflow = TextOverflow.Ellipsis, @@ -566,32 +606,41 @@ fun PackageGridItem() { horizontalArrangement = Arrangement.spacedBy(12.dp) ) { ProvideTextStyle(value = Typography.bodySmall.copy(color = MaterialTheme.colorScheme.outline)) { - Text(text = "US") - Text(text = "3.69") - Text(text = "223.8MB") + Text(text = item.region) + if (item.minFW.isNotEmpty()) { + Text(text = String.format("%.2f", item.minFW.toFloat())) + } + if (item.pkgSize.isNotEmpty()) { + Text(text = item.pkgSize) + } } } Row { - Icon( - painter = painterResource(id = R.drawable.no_url_icon), - contentDescription = "No PKG URL", - tint = Color(0xFFCB5A5A) - ) - Icon( - painter = painterResource(id = R.drawable.no_key_icon), - contentDescription = "No Zrif Key", - tint = Color(0xFFCB5A5A) - ) + if (item.pkgUrl.isEmpty() || item.pkgUrl == "MISSING") { + Icon( + painter = painterResource(id = R.drawable.no_url_icon), + contentDescription = "No PKG URL", + tint = Color(0xFFCB5A5A) + ) + } + if (item.zRif.isEmpty() && item.rap.isEmpty()) { + Icon( + painter = painterResource(id = R.drawable.no_key_icon), + contentDescription = "No License Key", + tint = Color(0xFFCB5A5A) + ) + } } } } } @Composable -fun LayoutDialog(onDismiss: () -> Unit) { - val prefs = Preferences(LocalContext.current) - val layout = prefs.layout.collectAsState(initial = Layout.LIST.ordinal).value - +fun LayoutDialog( + onDismiss: () -> Unit, + prefs: SettingsPreferences, + viewModel: SettingsViewModel +) { NPSAlertDialog( onDismiss = onDismiss, title = stringResource(id = R.string.layout), @@ -604,13 +653,13 @@ fun LayoutDialog(onDismiss: () -> Unit) { Column { NPSRadioButton( text = "List", - selected = layout == Layout.LIST.ordinal, - onClick = { CoroutineScope(Dispatchers.IO).launch { prefs.changeLayout(Layout.LIST.ordinal) } }, + selected = prefs.layout == ItemLayout.LIST.ordinal, + onClick = { viewModel.setLayout(ItemLayout.LIST) }, ) NPSRadioButton( text = "Grid", - selected = layout == Layout.GRID.ordinal, - onClick = { CoroutineScope(Dispatchers.IO).launch { prefs.changeLayout(Layout.GRID.ordinal) } }, + selected = prefs.layout == ItemLayout.GRID.ordinal, + onClick = { viewModel.setLayout(ItemLayout.GRID) }, ) } } diff --git a/app/src/main/java/com/illusionware/npsbrowser/data/OnboardingPreferencesRepository.kt b/app/src/main/java/com/illusionware/npsbrowser/data/OnboardingPreferencesRepository.kt new file mode 100644 index 0000000..0d53288 --- /dev/null +++ b/app/src/main/java/com/illusionware/npsbrowser/data/OnboardingPreferencesRepository.kt @@ -0,0 +1,36 @@ +package com.illusionware.npsbrowser.data + +import androidx.datastore.core.DataStore +import androidx.datastore.preferences.core.Preferences +import androidx.datastore.preferences.core.booleanPreferencesKey +import androidx.datastore.preferences.core.edit +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.runBlocking + +data class OnboardingPreferences( + val seenOnboarding: Boolean, +) + +class OnboardingPreferencesRepository( + private val dataStore: DataStore, +) { + companion object { + private val SEEN_ONBOARDING = booleanPreferencesKey("seen_onboarding") + } + + fun getPreferences(): Flow = + runBlocking { dataStore.data.map { mapOnboardingSettings(it) } } + + suspend fun setSeenOnboarding(seen: Boolean) { + dataStore.edit { prefs -> + prefs[SEEN_ONBOARDING] = seen + } + } + + private fun mapOnboardingSettings(prefs: Preferences): OnboardingPreferences { + return OnboardingPreferences( + prefs[SEEN_ONBOARDING] ?: false, + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/illusionware/npsbrowser/data/SettingsPreferencesRepository.kt b/app/src/main/java/com/illusionware/npsbrowser/data/SettingsPreferencesRepository.kt new file mode 100644 index 0000000..82d5b66 --- /dev/null +++ b/app/src/main/java/com/illusionware/npsbrowser/data/SettingsPreferencesRepository.kt @@ -0,0 +1,219 @@ +package com.illusionware.npsbrowser.data + +import android.net.Uri +import android.os.Environment +import androidx.datastore.core.DataStore +import androidx.datastore.preferences.core.Preferences +import androidx.datastore.preferences.core.booleanPreferencesKey +import androidx.datastore.preferences.core.edit +import androidx.datastore.preferences.core.intPreferencesKey +import androidx.datastore.preferences.core.stringPreferencesKey +import com.illusionware.npsbrowser.model.ConsoleType +import com.illusionware.npsbrowser.model.PackageItemType +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.map + +val defaultDownloadDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).absolutePath + "/NPSBrowser" + +enum class ItemLayout { + LIST, + GRID, +} + +enum class Theme { + LIGHT, + DARK, + SYSTEM, +} + +data class SettingsPreferences( + val appTheme: Int, + val layout: Int, + val psvGames: String, + val ps3Games: String, + val pspGames: String, + val psxGames: String, + val psmGames: String, + val psvDlc: String, + val ps3Dlc: String, + val pspDlc: String, + val psvThemes: String, + val hmacKey: String, + val downloadDir: String, + val unpackDir: String, + val unpackInDownload: Boolean, + val deleteAfterUnpack: Boolean, + val pkg2zipParams: String, + val pkg2zipAutoDecrypt: Boolean, +) + +class SettingsPreferencesRepository( + private val dataStore: DataStore +) { + companion object { + private val APP_THEME = intPreferencesKey("app_theme") + private val LAYOUT = intPreferencesKey("layout") + private val PSV_GAMES = stringPreferencesKey("psv_games") + private val PS3_GAMES = stringPreferencesKey("ps3_games") + private val PSP_GAMES = stringPreferencesKey("psp_games") + private val PSX_GAMES = stringPreferencesKey("psx_games") + private val PSM_GAMES = stringPreferencesKey("psm_games") + private val PSV_DLC = stringPreferencesKey("psv_dlc") + private val PS3_DLC = stringPreferencesKey("ps3_dlc") + private val PSP_DLC = stringPreferencesKey("psp_dlc") + private val PSV_THEMES = stringPreferencesKey("psv_themes") + private val HMAC_KEY = stringPreferencesKey("hmac_key") + private val DOWNLOAD_DIR = stringPreferencesKey("download_dir") + private val UNPACK_DIR = stringPreferencesKey("unpack_dir") + private val UNPACK_IN_DOWNLOAD = booleanPreferencesKey("unpack_in_download") + private val DELETE_AFTER_UNPACK = booleanPreferencesKey("delete_after_unpack") + private val PKG2ZIP_PARAMS = stringPreferencesKey("pkg2zip_params") + private val PKG2ZIP_AUTO_DECRYPT = booleanPreferencesKey("pkg2zip_auto_decrypt") + } + + private val tsvFiles = MutableSharedFlow>() + + fun getPreferences(): Flow = + dataStore.data.map { mapSettingsPreferences(it) } + + suspend fun availableTsvs(): MutableList> { + val list = mutableListOf>() + + return dataStore.data.map { + if (it[PSV_GAMES]?.isNotEmpty() == true) list.add(Triple(it[PSV_GAMES] ?: "", ConsoleType.PSVITA, PackageItemType.GAME)) + if (it[PSV_DLC]?.isNotEmpty() == true) list.add(Triple(it[PSV_DLC] ?: "", ConsoleType.PSVITA, PackageItemType.DLC)) + if (it[PSV_THEMES]?.isNotEmpty() == true) list.add(Triple(it[PSV_THEMES] ?: "", ConsoleType.PSVITA, PackageItemType.THEME)) + if (it[PS3_GAMES]?.isNotEmpty() == true) list.add(Triple(it[PS3_GAMES] ?: "", ConsoleType.PS3, PackageItemType.GAME)) + if (it[PS3_DLC]?.isNotEmpty() == true) list.add(Triple(it[PS3_DLC] ?: "", ConsoleType.PS3, PackageItemType.DLC)) + if (it[PSP_GAMES]?.isNotEmpty() == true) list.add(Triple(it[PSP_GAMES] ?: "", ConsoleType.PSP, PackageItemType.GAME)) + if (it[PSP_DLC]?.isNotEmpty() == true) list.add(Triple(it[PSP_DLC] ?: "", ConsoleType.PSP, PackageItemType.DLC)) + if (it[PSX_GAMES]?.isNotEmpty() == true) list.add(Triple(it[PSX_GAMES] ?: "", ConsoleType.PSX, PackageItemType.GAME)) + if (it[PSM_GAMES]?.isNotEmpty() == true) list.add(Triple(it[PSM_GAMES] ?: "", ConsoleType.PSM, PackageItemType.GAME)) + + list + }.first() + } + + suspend fun setTheme(theme: Theme) { + dataStore.edit { prefs -> + prefs[APP_THEME] = theme.ordinal + } + } + + suspend fun setLayout(layout: ItemLayout) { + dataStore.edit { prefs -> + prefs[LAYOUT] = layout.ordinal + } + } + + suspend fun setHMACKey(key: String) { + dataStore.edit { prefs -> + prefs[HMAC_KEY] = key + } + } + + suspend fun setDownloadDir(dir: String) { + dataStore.edit { prefs -> + prefs[DOWNLOAD_DIR] = dir + } + } + + suspend fun setUnpackDir(dir: String) { + dataStore.edit { prefs -> + prefs[UNPACK_DIR] = dir + } + } + + suspend fun setUnpackInDownload(unpackInDownload: Boolean) { + dataStore.edit { prefs -> + prefs[UNPACK_IN_DOWNLOAD] = unpackInDownload + } + } + + suspend fun setDeleteAfterUnpack(deleteAfterUnpack: Boolean) { + dataStore.edit { prefs -> + prefs[DELETE_AFTER_UNPACK] = deleteAfterUnpack + } + } + + suspend fun setPkg2zipParams(params: String) { + dataStore.edit { prefs -> + prefs[PKG2ZIP_PARAMS] = params + } + } + + suspend fun setPkg2zipAutoDecrypt(autoDecrypt: Boolean) { + dataStore.edit { prefs -> + prefs[PKG2ZIP_AUTO_DECRYPT] = autoDecrypt + } + } + + fun tsvFiles() = tsvFiles + + suspend fun setTSVFile(console: ConsoleType, contentType: PackageItemType, file: Uri) { + tsvFiles.emit(Triple(file.toString(), console, contentType)) + + dataStore.edit { prefs -> + when (console) { + ConsoleType.PSVITA -> { + when (contentType) { + PackageItemType.GAME -> prefs[PSV_GAMES] = file.toString() + PackageItemType.DLC -> prefs[PSV_DLC] = file.toString() + PackageItemType.THEME -> prefs[PSV_THEMES] = file.toString() + } + } + ConsoleType.PS3 -> { + when (contentType) { + PackageItemType.GAME -> prefs[PS3_GAMES] = file.toString() + PackageItemType.DLC -> prefs[PS3_DLC] = file.toString() + else -> {} + } + } + ConsoleType.PSP -> { + when (contentType) { + PackageItemType.GAME -> prefs[PSP_GAMES] = file.toString() + PackageItemType.DLC -> prefs[PSP_DLC] = file.toString() + else -> {} + } + } + ConsoleType.PSX -> { + when (contentType) { + PackageItemType.GAME -> prefs[PSX_GAMES] = file.toString() + else -> {} + } + } + ConsoleType.PSM -> { + when (contentType) { + PackageItemType.GAME -> prefs[PSM_GAMES] = file.toString() + else -> {} + } + } + } + } + } + + private fun mapSettingsPreferences(prefs: Preferences): SettingsPreferences { + return SettingsPreferences( + prefs[APP_THEME] ?: Theme.SYSTEM.ordinal, + prefs[LAYOUT] ?: ItemLayout.LIST.ordinal, + prefs[PSV_GAMES] ?: "", + prefs[PS3_GAMES] ?: "", + prefs[PSP_GAMES] ?: "", + prefs[PSX_GAMES] ?: "", + prefs[PSM_GAMES] ?: "", + prefs[PSV_DLC] ?: "", + prefs[PS3_DLC] ?: "", + prefs[PSP_DLC] ?: "", + prefs[PSV_THEMES] ?: "", + prefs[HMAC_KEY] ?: "", + prefs[DOWNLOAD_DIR] ?: defaultDownloadDir, + prefs[UNPACK_DIR] ?: defaultDownloadDir, + prefs[UNPACK_IN_DOWNLOAD] ?: false, + prefs[DELETE_AFTER_UNPACK] ?: false, + prefs[PKG2ZIP_PARAMS] ?: "-x {pkgFile} \"{zRifKey}\"", + prefs[PKG2ZIP_AUTO_DECRYPT] ?: true, + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/illusionware/npsbrowser/model/ConsoleType.kt b/app/src/main/java/com/illusionware/npsbrowser/model/ConsoleType.kt new file mode 100644 index 0000000..6b3085a --- /dev/null +++ b/app/src/main/java/com/illusionware/npsbrowser/model/ConsoleType.kt @@ -0,0 +1,9 @@ +package com.illusionware.npsbrowser.model + +enum class ConsoleType { + PSVITA, + PS3, + PSP, + PSX, + PSM, +} diff --git a/app/src/main/java/com/illusionware/npsbrowser/model/PackageItem.kt b/app/src/main/java/com/illusionware/npsbrowser/model/PackageItem.kt new file mode 100644 index 0000000..1910ad2 --- /dev/null +++ b/app/src/main/java/com/illusionware/npsbrowser/model/PackageItem.kt @@ -0,0 +1,18 @@ +package com.illusionware.npsbrowser.model + +data class PackageItem( + val titleId: String, + val region: String, + val name: String, + val pkgUrl: String, + val contentId: String, + val modificationDate: String, + val pkgSize: String, + val sha256: String, + val zRif: String, + val rap: String, + val minFW: String, + + val consoleType: ConsoleType, + val dataType: PackageItemType, +) \ No newline at end of file diff --git a/app/src/main/java/com/illusionware/npsbrowser/model/PackageItemType.kt b/app/src/main/java/com/illusionware/npsbrowser/model/PackageItemType.kt new file mode 100644 index 0000000..20b7f8b --- /dev/null +++ b/app/src/main/java/com/illusionware/npsbrowser/model/PackageItemType.kt @@ -0,0 +1,7 @@ +package com.illusionware.npsbrowser.model + +enum class PackageItemType { + GAME, + DLC, + THEME, +} \ No newline at end of file diff --git a/app/src/main/java/com/illusionware/npsbrowser/ui/pages/Onboarding.kt b/app/src/main/java/com/illusionware/npsbrowser/ui/pages/Onboarding.kt index 3097b80..20d7062 100644 --- a/app/src/main/java/com/illusionware/npsbrowser/ui/pages/Onboarding.kt +++ b/app/src/main/java/com/illusionware/npsbrowser/ui/pages/Onboarding.kt @@ -2,6 +2,7 @@ package com.illusionware.npsbrowser.ui.pages import android.annotation.SuppressLint import android.app.Activity +import android.content.Intent import android.content.pm.ActivityInfo import android.net.Uri import androidx.activity.compose.rememberLauncherForActivityResult @@ -68,7 +69,6 @@ import androidx.compose.material3.FilledTonalButton import androidx.compose.material3.Icon import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Switch -import androidx.compose.runtime.collectAsState import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.graphics.graphicsLayer @@ -77,21 +77,45 @@ import androidx.compose.ui.layout.layoutId import androidx.compose.ui.platform.LocalClipboardManager import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.Font +import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.unit.sp -import com.illusionware.npsbrowser.ConsoleType -import com.illusionware.npsbrowser.DataType -import com.illusionware.npsbrowser.Preferences +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import androidx.lifecycle.viewmodel.compose.viewModel +import com.illusionware.npsbrowser.data.SettingsPreferences +import com.illusionware.npsbrowser.model.ConsoleType +import com.illusionware.npsbrowser.model.PackageItemType import com.illusionware.npsbrowser.ui.components.NPSIconButton +import com.illusionware.npsbrowser.viewmodels.OnboardingViewModel +import com.illusionware.npsbrowser.viewmodels.SettingsViewModel import kotlinx.coroutines.launch const val PAGE_COUNT = 3 +val readexProFamily = FontFamily( + Font(R.font.readex_pro_extra_light, FontWeight.ExtraLight), + Font(R.font.readex_pro_light, FontWeight.Light), + Font(R.font.readex_pro_regular, FontWeight.Normal), + Font(R.font.readex_pro_medium, FontWeight.Medium), + Font(R.font.readex_pro_semi_bold, FontWeight.SemiBold), + Font(R.font.readex_pro_bold, FontWeight.Bold), +) + @OptIn(ExperimentalFoundationApi::class) @SuppressLint("SourceLockedOrientationActivity") @Composable -fun OnBoarding(navigateToHome: () -> Unit = {}, darkTheme: Boolean = false) { +fun OnBoarding( + navigateToHome: () -> Unit = {}, + darkTheme: Boolean = false, + onboardingViewModel: OnboardingViewModel = viewModel( + factory = OnboardingViewModel.Factory + ), + settingsViewModel: SettingsViewModel = viewModel( + factory = SettingsViewModel.Factory + ), +) { val systemUiController = rememberSystemUiController() val pagerState = rememberPagerState( initialPage = 0, @@ -99,13 +123,14 @@ fun OnBoarding(navigateToHome: () -> Unit = {}, darkTheme: Boolean = false) { ) val scope = rememberCoroutineScope() val context = LocalContext.current + val settingsPrefs = settingsViewModel.uiState.collectAsStateWithLifecycle().value val darkIcons = when (pagerState.currentPage) { 0 -> false else -> true } - DisposableEffect(systemUiController, darkIcons) { + DisposableEffect(systemUiController) { systemUiController.setStatusBarColor( color = Color.Transparent, darkIcons = darkIcons && !darkTheme @@ -123,18 +148,48 @@ fun OnBoarding(navigateToHome: () -> Unit = {}, darkTheme: Boolean = false) { HorizontalPager(pageCount = PAGE_COUNT, state = pagerState) { page -> when (page) { - 0 -> OnBoardingInitial(incrementPage = { scope.launch { pagerState.animateScrollToPage(pagerState.currentPage + 1) } }) + 0 -> OnBoardingInitial( + incrementPage = { + scope.launch { pagerState.animateScrollToPage(pagerState.currentPage + 1) } + }, + ) 1 -> OnBoardingSetupTSVs( page = page, - incrementPage = { scope.launch { pagerState.animateScrollToPage(pagerState.currentPage + 1) } }, - skipToEnd = { scope.launch { pagerState.animateScrollToPage(PAGE_COUNT - 1) } } + incrementPage = { + scope.launch { pagerState.animateScrollToPage(pagerState.currentPage + 1) } + }, + skipToEnd = { + scope.launch { pagerState.animateScrollToPage(PAGE_COUNT - 1) } + }, + settingsViewModel, ) +// 2 -> OnBoardingStoragePermission( +// page = page, +// incrementPage = { +// scope.launch { pagerState.animateScrollToPage(pagerState.currentPage + 1) } +// }, +// decrementPage = { +// scope.launch { pagerState.animateScrollToPage(pagerState.currentPage - 1) } +// }, +// skipToEnd = { +// scope.launch { pagerState.animateScrollToPage(PAGE_COUNT - 1) } +// }, +// ) 2 -> OnBoardingSetupSettings( page = page, - incrementPage = { scope.launch { pagerState.animateScrollToPage(pagerState.currentPage + 1) } }, - decrementPage = { scope.launch { pagerState.animateScrollToPage(pagerState.currentPage - 1) } }, - skipToEnd = { scope.launch { pagerState.animateScrollToPage(PAGE_COUNT - 1) } }, - navigateToHome = navigateToHome + incrementPage = { + scope.launch { pagerState.animateScrollToPage(pagerState.currentPage + 1) } + }, + decrementPage = { + scope.launch { pagerState.animateScrollToPage(pagerState.currentPage - 1) } + }, + skipToEnd = { + scope.launch { pagerState.animateScrollToPage(PAGE_COUNT - 1) } + }, + navigateToHome = navigateToHome, + settingsViewModel, + onboardingViewModel, + settingsPrefs, ) } } @@ -232,15 +287,12 @@ fun OnBoardingInitial(incrementPage: () -> Unit = {}) { } @Composable -@Preview fun OnBoardingSetupTSVs( page: Int = 1, incrementPage: () -> Unit = {}, - skipToEnd: () -> Unit = {} + skipToEnd: () -> Unit = {}, + settingsViewModel: SettingsViewModel, ) { - val prefs = Preferences(LocalContext.current) - val scope = rememberCoroutineScope() - Scaffold { padding -> Column( Modifier @@ -291,49 +343,49 @@ fun OnBoardingSetupTSVs( TSVGroup(title = "PS Vita") { TSVButton( "Games", - onFinish = { scope.launch { prefs.setTSVFile(ConsoleType.PSVITA, DataType.GAMES, it) }} + onFinish = { settingsViewModel.setTSVFile(ConsoleType.PSVITA, PackageItemType.GAME, it) } ) TSVButton( "Themes", - onFinish = { scope.launch { prefs.setTSVFile(ConsoleType.PSVITA, DataType.THEMES, it) }} + onFinish = { settingsViewModel.setTSVFile(ConsoleType.PSVITA, PackageItemType.THEME, it) } ) TSVButton( "DLC", - onFinish = { scope.launch { prefs.setTSVFile(ConsoleType.PSVITA, DataType.DLC, it) }} + onFinish = { settingsViewModel.setTSVFile(ConsoleType.PSVITA, PackageItemType.DLC, it) } ) } TSVGroup(title = "PSP") { TSVButton( "Games", - onFinish = { scope.launch { prefs.setTSVFile(ConsoleType.PSP, DataType.GAMES, it) }} + onFinish = { settingsViewModel.setTSVFile(ConsoleType.PSP, PackageItemType.GAME, it) } ) TSVButton( "DLC", - onFinish = { scope.launch { prefs.setTSVFile(ConsoleType.PSP, DataType.DLC, it) }} + onFinish = { settingsViewModel.setTSVFile(ConsoleType.PSP, PackageItemType.DLC, it) } ) Box(modifier = Modifier.width(110.dp)) } TSVGroup(title = "PS3") { TSVButton( "Games", - onFinish = { scope.launch { prefs.setTSVFile(ConsoleType.PS3, DataType.GAMES, it) }} + onFinish = { settingsViewModel.setTSVFile(ConsoleType.PS3, PackageItemType.GAME, it) } ) TSVButton( "DLC", - onFinish = { scope.launch { prefs.setTSVFile(ConsoleType.PS3, DataType.DLC, it) }} + onFinish = { settingsViewModel.setTSVFile(ConsoleType.PS3, PackageItemType.DLC, it) } ) Box(modifier = Modifier.width(110.dp)) } TSVGroup(title = "PSX") { TSVButton( "Games", - onFinish = { scope.launch { prefs.setTSVFile(ConsoleType.PSX, DataType.GAMES, it) }} + onFinish = { settingsViewModel.setTSVFile(ConsoleType.PSX, PackageItemType.GAME, it) } ) } TSVGroup(title = "PSM") { TSVButton( "Games", - onFinish = { scope.launch { prefs.setTSVFile(ConsoleType.PSM, DataType.GAMES, it) }} + onFinish = { settingsViewModel.setTSVFile(ConsoleType.PSM, PackageItemType.GAME, it) } ) } } @@ -400,19 +452,24 @@ fun TSVGroup(title: String, content: @Composable RowScope.() -> Unit) { @Composable fun TSVButton(title: String, onFinish: (Uri) -> Unit) { + val context = LocalContext.current var hasSelected by rememberSaveable { mutableStateOf(false) } val filePicker = rememberLauncherForActivityResult( - contract = ActivityResultContracts.GetContent(), + contract = ActivityResultContracts.OpenDocument(), ) { fileUri -> if (fileUri != null) { + context.contentResolver.takePersistableUriPermission( + fileUri, + Intent.FLAG_GRANT_READ_URI_PERMISSION + ) onFinish(fileUri) hasSelected = true } } FilledTonalButton( onClick = { - filePicker.launch("text/tab-separated-values") + filePicker.launch(arrayOf("text/tab-separated-values")) }, modifier = Modifier .width(110.dp) @@ -470,34 +527,114 @@ fun TSVButton(title: String, onFinish: (Uri) -> Unit) { } } +//@Composable +//fun OnBoardingStoragePermission( +// page: Int = 2, +// incrementPage: () -> Unit = {}, +// decrementPage: () -> Unit = {}, +// skipToEnd: () -> Unit = {}, +//) { +// val hasPermission = when (PackageManager.PERMISSION_GRANTED) { +// ContextCompat.checkSelfPermission( +// LocalContext.current, +// Manifest.permission.WRITE_EXTERNAL_STORAGE +// ) -> true +// else -> false +// } +// +// val permissionLegacy = rememberLauncherForActivityResult( +// contract = ActivityResultContracts.RequestPermission(), +// ) {} +// +// Scaffold { padding -> +// Column( +// Modifier +// .padding(padding) +// .padding(16.dp) +// .fillMaxSize(), +// verticalArrangement = Arrangement.SpaceBetween +// ) { +// Column( +// Modifier +// .padding(vertical = 32.dp) +// .weight(1.0f) +// .fillMaxHeight(), +// horizontalAlignment = Alignment.CenterHorizontally, +// ) { +// Image( +// painter = painterResource(id = R.drawable.folder_bubbles), +// contentDescription = "Folder Image", +// contentScale = ContentScale.Crop, +// modifier = Modifier.fillMaxWidth() +// ) +// Text( +// text = "Storage".uppercase(), +// style = TextStyle.Default.copy( +// fontWeight = FontWeight.Bold, +// fontSize = 28.sp, +// fontFamily = readexProFamily +// ), +// ) +// Spacer(modifier = Modifier.height(24.dp)) +// Text( +// "Granting storage permission allows us to bypass newer Android limitations and choose any directory as your download directory", +// style = TextStyle.Default.copy( +// fontSize = 20.sp, +// fontFamily = readexProFamily +// ), +// textAlign = TextAlign.Center, +// ) +// Spacer(modifier = Modifier +// .fillMaxHeight() +// .weight(1.0f)) +// Button( +// onClick = { +// permissionLegacy.launch(Manifest.permission.WRITE_EXTERNAL_STORAGE) +// }, +// modifier = Modifier.fillMaxWidth(), +// enabled = !hasPermission, +// ) { +// Text( +// text = if (hasPermission) "Granted" else "Grant", +// style = TextStyle.Default.copy( +// fontSize = 18.sp, +// fontFamily = readexProFamily +// ), +// ) +// } +// } +// Column(Modifier.fillMaxWidth()) { +// OnBoardingBottomButtons( +// page = page, +// incrementPage = incrementPage, +// decrementPage = decrementPage, +// skipToEnd = skipToEnd +// ) +// } +// } +// } +//} + @Composable -@Preview fun OnBoardingSetupSettings( page: Int = 2, incrementPage: () -> Unit = {}, decrementPage: () -> Unit = {}, skipToEnd: () -> Unit = {}, navigateToHome: () -> Unit = {}, + settingsViewModel: SettingsViewModel, + onboardingViewModel: OnboardingViewModel, + settingsPrefs: SettingsPreferences, ) { val clipboard = LocalClipboardManager.current - val prefs = Preferences(LocalContext.current) - val scope = rememberCoroutineScope() var hmacKey by rememberSaveable(stateSaver = TextFieldValue.Saver) { mutableStateOf(TextFieldValue("")) } - var pkg2zipArgs = prefs.pkg2zipParams.collectAsState(initial = "").value - val downloadDir = prefs.downloadDir.collectAsState(initial = "").value - val unpackDir = prefs.unpackDir.collectAsState(initial = "").value - val unpackInDownload = prefs.unpackInDownload.collectAsState(initial = false).value - val deleteAfterUnpack = prefs.deleteAfterUnpack.collectAsState(initial = false).value - val autoDecrypt = prefs.pkg2zipAutoDecrypt.collectAsState(initial = true).value val downloadDirPicker = rememberLauncherForActivityResult( contract = ActivityResultContracts.OpenDocumentTree(), ) { dirUri -> if (dirUri != null) { - scope.launch { - prefs.setDownloadDir(dirUri.toString()) - } + settingsViewModel.setDownloadDir(dirUri.toString()) } } @@ -505,17 +642,13 @@ fun OnBoardingSetupSettings( contract = ActivityResultContracts.OpenDocumentTree(), ) { dirUri -> if (dirUri != null) { - scope.launch { - prefs.setUnpackDir(dirUri.toString()) - } + settingsViewModel.setUnpackDir(dirUri.toString()) } } fun setHmacKey(key: String) { if (key.isNotEmpty()) { - scope.launch { - prefs.setHMACKey(key) - } + settingsViewModel.setHMACKey(key) } } @@ -592,20 +725,16 @@ fun OnBoardingSetupSettings( Column { Toggleable( title = "Unpack in download directory", - checked = unpackInDownload, + checked = settingsPrefs.unpackInDownload, onCheckedChange = { - scope.launch { - prefs.setUnpackInDownload(it) - } + settingsViewModel.setUnpackInDownload(it) }, ) Toggleable( title = "Delete package after unpacking", - checked = deleteAfterUnpack, + checked = settingsPrefs.deleteAfterUnpack, onCheckedChange = { - scope.launch { - prefs.setDeleteAfterUnpack(it) - } + settingsViewModel.setDeleteAfterUnpack(it) }, ) Box( @@ -618,7 +747,7 @@ fun OnBoardingSetupSettings( text = "Download Directory", ) Text( - text = Uri.decode(downloadDir).ifEmpty { "None" }, + text = Uri.decode(settingsPrefs.downloadDir).ifEmpty { "None" }, color = MaterialTheme.colorScheme.outline, ) } @@ -633,7 +762,7 @@ fun OnBoardingSetupSettings( text = "Unpack Directory", ) Text( - text = Uri.decode(unpackDir).ifEmpty { "None" }, + text = Uri.decode(settingsPrefs.unpackDir).ifEmpty { "None" }, color = MaterialTheme.colorScheme.outline, ) } @@ -648,23 +777,18 @@ fun OnBoardingSetupSettings( ) Toggleable( title = "Automatically decrypt downloaded content", - checked = autoDecrypt, + checked = settingsPrefs.pkg2zipAutoDecrypt, onCheckedChange = { - scope.launch { - prefs.setPkg2zipAutoDecrypt(it) - } + settingsViewModel.setPkg2zipAutoDecrypt(it) }, ) OutlinedTextField( modifier = Modifier .fillMaxWidth() .padding(horizontal = 16.dp), - value = pkg2zipArgs, + value = settingsPrefs.pkg2zipParams, onValueChange = { - pkg2zipArgs = it - scope.launch { - prefs.setPkg2zipParams(it) - } + settingsViewModel.setPkg2zipParams(it) }, // TODO: validate args are legal ?? label = { Text(text = "Pkg2zip args") }, placeholder = { Text(text = "-x {pkgFile} \"{zRifKey}\"") }, @@ -679,7 +803,9 @@ fun OnBoardingSetupSettings( incrementPage = incrementPage, decrementPage = decrementPage, skipToEnd = skipToEnd, - navigateToHome = navigateToHome + navigateToHome = navigateToHome, + settingsViewModel = settingsViewModel, + onboardingViewModel = onboardingViewModel, ) } } @@ -714,17 +840,18 @@ fun OnBoardingBottomButtons( decrementPage: () -> Unit = {}, skipToEnd: () -> Unit = {}, navigateToHome: () -> Unit = {}, + settingsViewModel: SettingsViewModel? = null, + onboardingViewModel: OnboardingViewModel? = null ) { - val prefs = Preferences(LocalContext.current) - val scope = rememberCoroutineScope() + val finalPage = PAGE_COUNT - 1 Row( modifier = Modifier .fillMaxWidth() .fillMaxHeight(0.1f), - horizontalArrangement = if (page != 2) Arrangement.SpaceBetween else Arrangement.End, + horizontalArrangement = if (page != finalPage) Arrangement.SpaceBetween else Arrangement.End, ) { - if (page == 1) { + if (page != finalPage) { FilledTonalButton( onClick = skipToEnd, colors = ButtonDefaults.filledTonalButtonColors( @@ -741,13 +868,11 @@ fun OnBoardingBottomButtons( Text(text = "Prev") } } - if (page == 2) { + if (page == finalPage) { Button( onClick = { navigateToHome() - scope.launch { - prefs.finishOnboarding() - } + onboardingViewModel?.finishOnboarding(settingsViewModel!!.shouldCreateDefaultDir()) }, contentPadding = PaddingValues(horizontal = 18.dp) ) { diff --git a/app/src/main/java/com/illusionware/npsbrowser/ui/pages/Settings.kt b/app/src/main/java/com/illusionware/npsbrowser/ui/pages/Settings.kt index 88e685d..cec5d6f 100644 --- a/app/src/main/java/com/illusionware/npsbrowser/ui/pages/Settings.kt +++ b/app/src/main/java/com/illusionware/npsbrowser/ui/pages/Settings.kt @@ -1,5 +1,6 @@ package com.illusionware.npsbrowser.ui.pages +import android.content.Intent import android.net.Uri import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts @@ -22,16 +23,10 @@ import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material.icons.filled.ContentPaste -import androidx.compose.material.icons.outlined.ArrowCircleDown -import androidx.compose.material.icons.outlined.ArrowDownward import androidx.compose.material.icons.outlined.ArrowDropDown -import androidx.compose.material.icons.outlined.ArrowOutward -import androidx.compose.material.icons.outlined.ArrowUpward -import androidx.compose.material.icons.outlined.CompareArrows import androidx.compose.material.icons.outlined.FileDownload import androidx.compose.material.icons.outlined.Key import androidx.compose.material.icons.outlined.Palette -import androidx.compose.material.icons.outlined.SubdirectoryArrowRight import androidx.compose.material.icons.outlined.Unarchive import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme @@ -42,11 +37,9 @@ import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.SideEffect -import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -59,28 +52,37 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import com.illusionware.npsbrowser.ConsoleType -import com.illusionware.npsbrowser.DataType -import com.illusionware.npsbrowser.Preferences +import androidx.compose.ui.unit.sp +import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.illusionware.npsbrowser.R import com.illusionware.npsbrowser.ui.components.NPSAlertDialog import com.illusionware.npsbrowser.ui.components.NPSIconButton import com.illusionware.npsbrowser.ui.components.NPSRadioButton import com.illusionware.npsbrowser.ui.theme.ColorSecondaryLight import com.illusionware.npsbrowser.ui.theme.Typography -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch +import com.illusionware.npsbrowser.viewmodels.SettingsViewModel +import androidx.lifecycle.viewmodel.compose.viewModel +import com.illusionware.npsbrowser.data.SettingsPreferences +import com.illusionware.npsbrowser.data.Theme +import com.illusionware.npsbrowser.model.ConsoleType +import com.illusionware.npsbrowser.model.PackageItemType -val Themes = hashMapOf( - 0 to "Light", - 1 to "Dark", - 2 to "Use System Theme" +private val Themes = hashMapOf( + Theme.LIGHT.ordinal to "Light", + Theme.DARK.ordinal to "Dark", + Theme.SYSTEM.ordinal to "Use System Theme" ) @Composable @Preview -fun SettingsScreen(navigationGoBack: () -> Unit = {}, onThemeChange: (v: Int) -> Unit = {}) { +fun SettingsScreen( + navigationGoBack: () -> Unit = {}, + viewModel: SettingsViewModel = viewModel( + factory = SettingsViewModel.Factory + ) +) { + val prefs = viewModel.uiState.collectAsStateWithLifecycle().value + Scaffold ( topBar = { Row( @@ -102,11 +104,11 @@ fun SettingsScreen(navigationGoBack: () -> Unit = {}, onThemeChange: (v: Int) -> .verticalScroll(rememberScrollState()) ) { Column(verticalArrangement = Arrangement.spacedBy(20.dp), modifier = Modifier.padding(vertical = 16.dp)) { - Appearance(onThemeChange) - TsvFiles() - Updates() - Downloads() - Pkg2Zip() + Appearance(viewModel, prefs) + TsvFiles(viewModel, prefs) + Updates(viewModel, prefs) + Downloads(viewModel, prefs) + Pkg2Zip(viewModel, prefs) } } @@ -114,83 +116,63 @@ fun SettingsScreen(navigationGoBack: () -> Unit = {}, onThemeChange: (v: Int) -> } @Composable -fun Appearance(onThemeChange: (v: Int) -> Unit) { - val prefs = Preferences(LocalContext.current) - val theme = prefs.theme.collectAsState(initial = 0) - +fun Appearance(viewModel: SettingsViewModel, prefs: SettingsPreferences) { var themeOpenDialog by remember { mutableStateOf(false) } SettingGroup(title = stringResource(id = R.string.appearance)) { DialogSetting( title = stringResource(id = R.string.theme), - value = Themes[theme.value] ?: "None", + value = Themes[prefs.appTheme] ?: "None", icon = Icons.Outlined.Palette, onClick = { themeOpenDialog = true } ) } if (themeOpenDialog) { ThemeDialog( + prefs = prefs, onDismiss = { themeOpenDialog = false }, - onThemeChange = onThemeChange + onThemeChange = { + viewModel.setTheme(it) + } ) } } @Composable -fun TsvFiles() { - val prefs = Preferences(LocalContext.current) - val scope = rememberCoroutineScope() - +fun TsvFiles(viewModel: SettingsViewModel, prefs: SettingsPreferences) { var expanded by remember { mutableStateOf(false) } - val psvGames = prefs.psvGames.collectAsState(initial = "").value.ifEmpty { "Browse" } - val psvDlc = prefs.psvDLC.collectAsState(initial = "").value.ifEmpty { "Browse" } - val psvThemes = prefs.psvThemes.collectAsState(initial = "").value.ifEmpty { "Browse" } - val ps3Games = prefs.ps3Games.collectAsState(initial = "").value.ifEmpty { "Browse" } - val ps3Dlc = prefs.ps3DLC.collectAsState(initial = "").value.ifEmpty { "Browse" } - val pspGames = prefs.pspGames.collectAsState(initial = "").value.ifEmpty { "Browse" } - val pspDlc = prefs.pspDLC.collectAsState(initial = "").value.ifEmpty { "Browse" } - val psxGames = prefs.psxGames.collectAsState(initial = "").value.ifEmpty { "Browse" } - val psmGames = prefs.psmGames.collectAsState(initial = "").value.ifEmpty { "Browse" } SettingGroup(title = "TSV Files") { TSVPicker( title = "PSV Games", - value = Uri.decode(psvGames), + value = Uri.decode(prefs.psvGames.ifEmpty { "Browse" }), icon = painterResource(id = R.drawable.vita_icon), onFilePick = { - scope.launch(Dispatchers.IO) { - prefs.setTSVFile(ConsoleType.PSVITA, DataType.GAMES, it) - } + viewModel.setTSVFile(ConsoleType.PSVITA, PackageItemType.GAME, it) } ) TSVPicker( title = "PSV DLC", - value = Uri.decode(psvDlc), + value = Uri.decode(prefs.psvDlc.ifEmpty { "Browse" }), icon = null, onFilePick = { - scope.launch(Dispatchers.IO) { - prefs.setTSVFile(ConsoleType.PSVITA, DataType.DLC, it) - } + viewModel.setTSVFile(ConsoleType.PSVITA, PackageItemType.DLC, it) } ) TSVPicker( title = "PSV Themes", - value = Uri.decode(psvThemes), + value = Uri.decode(prefs.psvThemes.ifEmpty { "Browse" }), icon = null, onFilePick = { - scope.launch(Dispatchers.IO) { - prefs.setTSVFile(ConsoleType.PSVITA, DataType.THEMES, it) - } + viewModel.setTSVFile(ConsoleType.PSVITA, PackageItemType.THEME, it) }, ) TSVPicker( title = "PS3 Games", - value = Uri.decode(ps3Games), + value = Uri.decode(prefs.ps3Games).ifEmpty { "Browse" }, icon = painterResource(id = R.drawable.ps3_icon), onFilePick = { - scope.launch(Dispatchers.IO) { - prefs.setTSVFile(ConsoleType.PS3, DataType.GAMES, it) - } + viewModel.setTSVFile(ConsoleType.PS3, PackageItemType.GAME, it) } ) if (!expanded) { @@ -209,52 +191,42 @@ fun TsvFiles() { Column(verticalArrangement = Arrangement.spacedBy(4.dp)) { TSVPicker( title = "PS3 DLC", - value = Uri.decode(ps3Dlc), + value = Uri.decode(prefs.ps3Dlc).ifEmpty { "Browse" }, icon = null, onFilePick = { - scope.launch(Dispatchers.IO) { - prefs.setTSVFile(ConsoleType.PS3, DataType.DLC, it) - } + viewModel.setTSVFile(ConsoleType.PS3, PackageItemType.DLC, it) } ) TSVPicker( title = "PSP Games", - value = Uri.decode(pspGames), + value = Uri.decode(prefs.pspGames).ifEmpty { "Browse" }, icon = painterResource(id = R.drawable.psp_icon), onFilePick = { - scope.launch(Dispatchers.IO) { - prefs.setTSVFile(ConsoleType.PSP, DataType.GAMES, it) - } + viewModel.setTSVFile(ConsoleType.PSP, PackageItemType.GAME, it) } ) TSVPicker( title = "PSP DLC", - value = Uri.decode(pspDlc), + value = Uri.decode(prefs.pspDlc).ifEmpty { "Browse" }, icon = null, onFilePick = { - scope.launch(Dispatchers.IO) { - prefs.setTSVFile(ConsoleType.PSP, DataType.DLC, it) - } + viewModel.setTSVFile(ConsoleType.PSP, PackageItemType.DLC, it) } ) TSVPicker( title = "PSX Games", - value = Uri.decode(psxGames), + value = Uri.decode(prefs.psxGames).ifEmpty { "Browse" }, icon = painterResource(id = R.drawable.psx_icon), onFilePick = { - scope.launch(Dispatchers.IO) { - prefs.setTSVFile(ConsoleType.PSX, DataType.GAMES, it) - } + viewModel.setTSVFile(ConsoleType.PSX, PackageItemType.GAME, it) } ) TSVPicker( title = "PSM Games", - value = Uri.decode(psmGames), + value = Uri.decode(prefs.psmGames).ifEmpty { "Browse" }, icon = painterResource(id = R.drawable.psm_icon), onFilePick = { - scope.launch(Dispatchers.IO) { - prefs.setTSVFile(ConsoleType.PSM, DataType.GAMES, it) - } + viewModel.setTSVFile(ConsoleType.PSM, PackageItemType.GAME, it) } ) } @@ -269,10 +241,16 @@ fun TSVPicker( icon: Painter? = null, onFilePick: (Uri) -> Unit, ) { + val context = LocalContext.current + val filePicker = rememberLauncherForActivityResult( - contract = ActivityResultContracts.GetContent(), + contract = ActivityResultContracts.OpenDocument(), ) { fileUri -> if (fileUri != null) { + context.contentResolver.takePersistableUriPermission( + fileUri, + Intent.FLAG_GRANT_READ_URI_PERMISSION + ) onFilePick(fileUri) } } @@ -282,28 +260,25 @@ fun TSVPicker( value = value, icon = icon, onClick = { - filePicker.launch("text/tab-separated-values") + filePicker.launch(arrayOf("text/tab-separated-values")) } )} @Composable -fun Updates() { - val prefs = Preferences(LocalContext.current) - val scope = rememberCoroutineScope() +fun Updates(viewModel: SettingsViewModel, prefs: SettingsPreferences) { val clipboard = LocalClipboardManager.current - val hmacKey = prefs.hmacKey.collectAsState(initial = "").value var hmacOpenDialog by remember { mutableStateOf(false) } var dialogHmacKey by remember { mutableStateOf("") } SideEffect { - dialogHmacKey = hmacKey + dialogHmacKey = prefs.hmacKey } SettingGroup(title = "Updates") { DialogSetting( title = "HMAC Key", - value = hmacKey.ifEmpty { "None" }, + value = prefs.hmacKey.ifEmpty { "None" }, icon = Icons.Outlined.Key, onClick = { hmacOpenDialog = true } ) @@ -317,9 +292,7 @@ fun Updates() { Text(text = "Cancel") } TextButton(onClick = { - scope.launch { - prefs.setHMACKey(dialogHmacKey) - } + viewModel.setHMACKey(dialogHmacKey) hmacOpenDialog = false }) { Text(text = "OK") @@ -349,21 +322,12 @@ fun Updates() { } @Composable -fun Downloads() { - val prefs = Preferences(LocalContext.current) - val scope = rememberCoroutineScope() - val downloadDir = prefs.downloadDir.collectAsState(initial = "").value - val unpackDir = prefs.unpackDir.collectAsState(initial = "").value - val unpackInDownload = prefs.unpackInDownload.collectAsState(initial = false).value - val deleteAfterUnpack = prefs.deleteAfterUnpack.collectAsState(initial = false).value - +fun Downloads(viewModel: SettingsViewModel, prefs: SettingsPreferences) { val downloadDirPicker = rememberLauncherForActivityResult( contract = ActivityResultContracts.OpenDocumentTree(), ) { dirUri -> if (dirUri != null) { - scope.launch { - prefs.setDownloadDir(dirUri.toString()) - } + viewModel.setDownloadDir(dirUri.toString()) } } @@ -371,34 +335,28 @@ fun Downloads() { contract = ActivityResultContracts.OpenDocumentTree(), ) { dirUri -> if (dirUri != null) { - scope.launch { - prefs.setUnpackDir(dirUri.toString()) - } + viewModel.setUnpackDir(dirUri.toString()) } } SettingGroup(title = "Downloads") { ToggleSetting( title = "Unpack in Download Directory", - checked = unpackInDownload, + checked = prefs.unpackInDownload, onClick = { - scope.launch { - prefs.setUnpackInDownload(it) - } + viewModel.setUnpackInDownload(it) } ) ToggleSetting( title = "Delete package after unpacking", - checked = deleteAfterUnpack, + checked = prefs.deleteAfterUnpack, onClick = { - scope.launch { - prefs.setDeleteAfterUnpack(it) - } + viewModel.setDeleteAfterUnpack(it) } ) DialogSetting( title = "Download Directory", - value = Uri.decode(downloadDir), + value = Uri.decode(prefs.downloadDir).ifEmpty { "None" }, icon = Icons.Outlined.FileDownload, onClick = { downloadDirPicker.launch(Uri.EMPTY) @@ -406,7 +364,7 @@ fun Downloads() { ) DialogSetting( title = "Unpack Directory", - value = Uri.decode(unpackDir), + value = Uri.decode(prefs.unpackDir).ifEmpty { "None" }, icon = Icons.Outlined.Unarchive, onClick = { unpackDirPicker.launch(Uri.EMPTY) @@ -416,32 +374,25 @@ fun Downloads() { } @Composable -fun Pkg2Zip() { - val prefs = Preferences(LocalContext.current) - val scope = rememberCoroutineScope() - - val autoDecrypt = prefs.pkg2zipAutoDecrypt.collectAsState(initial = true).value - val pkg2zipParams = prefs.pkg2zipParams.collectAsState(initial = "").value +fun Pkg2Zip(viewModel: SettingsViewModel, prefs: SettingsPreferences) { var pkg2zipOpenDialog by remember { mutableStateOf(false) } var dialogPkg2zipParams by remember { mutableStateOf("") } SideEffect { - dialogPkg2zipParams = pkg2zipParams + dialogPkg2zipParams = prefs.pkg2zipParams } SettingGroup(title = "Pkg2Zip") { ToggleSetting( title = "Automatically decrypt downloaded content", - checked = autoDecrypt, + checked = prefs.pkg2zipAutoDecrypt, onClick = { - scope.launch { - prefs.setPkg2zipAutoDecrypt(it) - } + viewModel.setPkg2zipAutoDecrypt(it) } ) DialogSetting( title = "Decryption params", - value = pkg2zipParams.ifEmpty { "None" }, + value = prefs.pkg2zipParams.ifEmpty { "None" }, icon = painterResource( id = R.drawable.lock_open ), @@ -457,9 +408,7 @@ fun Pkg2Zip() { Text(text = "Cancel") } TextButton(onClick = { - scope.launch { - prefs.setPkg2zipParams(dialogPkg2zipParams) - } + viewModel.setPkg2zipParams(dialogPkg2zipParams) pkg2zipOpenDialog = false }) { Text(text = "OK") @@ -478,10 +427,11 @@ fun Pkg2Zip() { } @Composable -fun ThemeDialog(onDismiss: () -> Unit, onThemeChange: (v: Int) -> Unit) { - val prefs = Preferences(LocalContext.current) - val theme = prefs.theme.collectAsState(initial = "") - +fun ThemeDialog( + prefs: SettingsPreferences, + onDismiss: () -> Unit, + onThemeChange: (v: Theme) -> Unit +) { NPSAlertDialog( onDismiss = onDismiss, title = stringResource(id = R.string.theme), @@ -495,27 +445,24 @@ fun ThemeDialog(onDismiss: () -> Unit, onThemeChange: (v: Int) -> Unit) { Column { NPSRadioButton( text = "Light", - onClick = { CoroutineScope(Dispatchers.IO).launch { - onThemeChange(0) - prefs.changeTheme(0) } + onClick = { + onThemeChange(Theme.LIGHT) }, - selected = theme.value == 0, + selected = prefs.appTheme == Theme.LIGHT.ordinal, ) NPSRadioButton( text = "Dark", - onClick = { CoroutineScope(Dispatchers.IO).launch { - onThemeChange(1) - prefs.changeTheme(1) } + onClick = { + onThemeChange(Theme.DARK) }, - selected = theme.value == 1, + selected = prefs.appTheme == Theme.DARK.ordinal, ) NPSRadioButton( text = "Use System Theme", - onClick = { CoroutineScope(Dispatchers.IO).launch { - onThemeChange(2) - prefs.changeTheme(2) } + onClick = { + onThemeChange(Theme.SYSTEM) }, - selected = theme.value == 2, + selected = prefs.appTheme == Theme.SYSTEM.ordinal, ) } } @@ -553,9 +500,9 @@ fun DialogSetting(title: String, value: String, icon: Painter?, onClick: () -> U } else { Box(modifier = Modifier.width(56.dp)) } - Column { + Column(verticalArrangement = Arrangement.spacedBy(4.dp)) { Text(text = title, color = MaterialTheme.colorScheme.onBackground) - Text(text = value, color = ColorSecondaryLight) + Text(text = value, color = ColorSecondaryLight, fontSize = 14.sp) } } } @@ -583,11 +530,12 @@ fun DialogSetting( } else { Box(modifier = Modifier.width(56.dp)) } - Column { + Column(verticalArrangement = Arrangement.spacedBy(4.dp)) { Text(text = title, color = MaterialTheme.colorScheme.onBackground) Text( text = value, color = ColorSecondaryLight, + fontSize = 14.sp, maxLines = if (singleLine) 1 else Int.MAX_VALUE, overflow = TextOverflow.Ellipsis, modifier = Modifier.padding(end = 24.dp) diff --git a/app/src/main/java/com/illusionware/npsbrowser/viewmodels/OnboardingViewModel.kt b/app/src/main/java/com/illusionware/npsbrowser/viewmodels/OnboardingViewModel.kt new file mode 100644 index 0000000..468d20c --- /dev/null +++ b/app/src/main/java/com/illusionware/npsbrowser/viewmodels/OnboardingViewModel.kt @@ -0,0 +1,52 @@ +package com.illusionware.npsbrowser.viewmodels + +import android.os.Environment +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.APPLICATION_KEY +import androidx.lifecycle.viewModelScope +import androidx.lifecycle.viewmodel.initializer +import androidx.lifecycle.viewmodel.viewModelFactory +import com.illusionware.npsbrowser.NPSApp +import com.illusionware.npsbrowser.data.OnboardingPreferences +import com.illusionware.npsbrowser.data.OnboardingPreferencesRepository +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch +import java.io.File + +class OnboardingViewModel( + private val onboardingPreferencesRepository: OnboardingPreferencesRepository +): ViewModel() { + val uiState: StateFlow = + onboardingPreferencesRepository.getPreferences().stateIn( + viewModelScope, + SharingStarted.WhileSubscribed(2_000), + OnboardingPreferences( + false, + ) + ) + + fun finishOnboarding(shouldCreateDefaultDir: Boolean) { + viewModelScope.launch(Dispatchers.IO) { + if (shouldCreateDefaultDir) { + val dir = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "NPSBrowser") + if (!dir.exists()) { + dir.mkdir() + } + } + onboardingPreferencesRepository.setSeenOnboarding(true) + } + } + + companion object { + val Factory: ViewModelProvider.Factory = viewModelFactory { + initializer { + val application = (this[APPLICATION_KEY] as NPSApp) + OnboardingViewModel(application.onboardingPreferencesRepository) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/illusionware/npsbrowser/viewmodels/PackageListData.kt b/app/src/main/java/com/illusionware/npsbrowser/viewmodels/PackageListData.kt index 09885dc..c68db0c 100644 --- a/app/src/main/java/com/illusionware/npsbrowser/viewmodels/PackageListData.kt +++ b/app/src/main/java/com/illusionware/npsbrowser/viewmodels/PackageListData.kt @@ -1,45 +1,152 @@ package com.illusionware.npsbrowser.viewmodels +import android.net.Uri import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.APPLICATION_KEY +import androidx.lifecycle.viewModelScope +import androidx.lifecycle.viewmodel.initializer +import androidx.lifecycle.viewmodel.viewModelFactory import com.github.doyaaaaaken.kotlincsv.dsl.context.ExcessFieldsRowBehaviour import com.github.doyaaaaaken.kotlincsv.dsl.context.InsufficientFieldsRowBehaviour import com.github.doyaaaaaken.kotlincsv.dsl.csvReader -import com.illusionware.npsbrowser.ConsoleType -import com.illusionware.npsbrowser.DataType +import com.illusionware.npsbrowser.NPSApp +import com.illusionware.npsbrowser.data.SettingsPreferencesRepository +import com.illusionware.npsbrowser.model.ConsoleType +import com.illusionware.npsbrowser.model.PackageItem +import com.illusionware.npsbrowser.model.PackageItemType +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow - -data class Package( - val id: String, - val title: String, - val region: String, - val minFW: String, - val pkgUrl: String, - val pkgSize: Int, - val consoleType: ConsoleType, - val dataType: DataType, -) +import kotlinx.coroutines.launch +import java.io.InputStream data class PackageListUiState( - val packages: List = emptyList(), + val packages: ArrayList = ArrayList(), val error: String = "", + val isLoading: Boolean = true, ) -class PackageListViewModel(): ViewModel() { - // TODO: actually properly think about and implement this +class PackageListViewModel(app: NPSApp, settingsRepo: SettingsPreferencesRepository): ViewModel() { private val _uiState = MutableStateFlow(PackageListUiState()) val uiState: StateFlow = _uiState.asStateFlow() + private val tsvReader = csvReader { - charset = "ISO_8859_1" + charset = "UTF-8" quoteChar = '"' delimiter = '\t' excessFieldsRowBehaviour = ExcessFieldsRowBehaviour.TRIM insufficientFieldsRowBehaviour = InsufficientFieldsRowBehaviour.EMPTY_STRING } - fun loadPackagesFromTsv() { - val file = "psv_games.tsv" - val rows = tsvReader.readAll(file) + init { + viewModelScope.launch(Dispatchers.IO) { + val list = ArrayList() + + settingsRepo.availableTsvs().forEach { + list += parsePackageFromTSV(it, app) + } + + list.sortBy { it.name } + + _uiState.emit(PackageListUiState(isLoading = false, packages = list)) + + settingsRepo.tsvFiles().collect { tsv -> + _uiState.emit(PackageListUiState()) + + val alreadyExists = list.find { item -> + item.consoleType == tsv.second && item.dataType == tsv.third + } + + if (alreadyExists != null) { + list.removeAll { item -> + item.consoleType == tsv.second && item.dataType == tsv.third + } + } + + list.addAll(parsePackageFromTSV(tsv, app)) + list.sortBy { it.name } + + _uiState.emit(PackageListUiState(isLoading = false, packages = list)) + } + } + } + + private fun parsePackageFromTSV( + it: Triple, app: NPSApp + ): ArrayList { + val list = ArrayList() + + val fileUri = it.first + val console = it.second + val type = it.third + + val file: InputStream? + try { + file = app.contentResolver.openInputStream(Uri.parse(fileUri)) + } catch (e: Exception) { + throw e + } + val tsv = tsvReader.readAllWithHeader(file!!) + + tsv.forEach { row -> + var size = "" + val tempSize = row["File Size"] + if (!tempSize.isNullOrEmpty()) { + size = bytesIntoHumanReadable(tempSize.toLong()) + } + list.add( + PackageItem( + row["Title ID"] ?: "", + row["Region"] ?: "", + row["Name"] ?: "", + row["PKG direct link"] ?: "", + row["Content ID"] ?: "", + row["Last Modification Date"] ?: "", + size, + row["SHA256"] ?: "", + row["zRIF"] ?: "", + row["RAP"] ?: "", + row["Required FW"] ?: "", + console, + type, + ) + ) + } + + file.close() + + return list + } + + private fun bytesIntoHumanReadable(bytes: Long): String { + val kilobyte: Long = 1024 + val megabyte = kilobyte * 1024 + val gigabyte = megabyte * 1024 + val terabyte = gigabyte * 1024 + + return if (bytes in 0 until kilobyte) { + "$bytes" + "B" + } else if (bytes in kilobyte until megabyte) { + String.format("%.2f", (bytes.toDouble() / kilobyte.toDouble())) + "KB" + } else if (bytes in megabyte until gigabyte) { + String.format("%.2f", (bytes.toDouble() / megabyte.toDouble())) + "MB" + } else if (bytes in gigabyte until terabyte) { + String.format("%.2f", (bytes.toDouble() / gigabyte.toDouble())) + "GB" + } else if (bytes >= terabyte) { + String.format("%.2f", (bytes.toDouble() / terabyte.toDouble())) + "TB" + } else { + "$bytes" + "B" + } + } + + companion object { + val Factory: ViewModelProvider.Factory = viewModelFactory { + initializer { + val application = (this[APPLICATION_KEY] as NPSApp) + PackageListViewModel(application, application.settingsPreferencesRepository) + } + } } } diff --git a/app/src/main/java/com/illusionware/npsbrowser/viewmodels/SettingsViewModel.kt b/app/src/main/java/com/illusionware/npsbrowser/viewmodels/SettingsViewModel.kt new file mode 100644 index 0000000..59d43dd --- /dev/null +++ b/app/src/main/java/com/illusionware/npsbrowser/viewmodels/SettingsViewModel.kt @@ -0,0 +1,138 @@ +package com.illusionware.npsbrowser.viewmodels + +import android.net.Uri +import android.os.Environment +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.APPLICATION_KEY +import androidx.lifecycle.viewModelScope +import androidx.lifecycle.viewmodel.initializer +import androidx.lifecycle.viewmodel.viewModelFactory +import com.illusionware.npsbrowser.NPSApp +import com.illusionware.npsbrowser.data.ItemLayout +import com.illusionware.npsbrowser.data.SettingsPreferences +import com.illusionware.npsbrowser.data.SettingsPreferencesRepository +import com.illusionware.npsbrowser.data.Theme +import com.illusionware.npsbrowser.model.ConsoleType +import com.illusionware.npsbrowser.model.PackageItemType +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch + +class SettingsViewModel(private val settingsPrefsRepo: SettingsPreferencesRepository): ViewModel() { + val uiState: StateFlow = + settingsPrefsRepo.getPreferences().stateIn(viewModelScope, SharingStarted.Lazily, SettingsPreferences( + Theme.SYSTEM.ordinal, + ItemLayout.LIST.ordinal, + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + false, + false, + "", + true, + )) + + fun availableTsvs(): MutableList> { + val list = mutableListOf>() + if (uiState.value.psvGames.isNotEmpty()) list.add(Pair(ConsoleType.PSVITA, PackageItemType.GAME)) + if (uiState.value.ps3Games.isNotEmpty()) list.add(Pair(ConsoleType.PS3, PackageItemType.GAME)) + if (uiState.value.pspGames.isNotEmpty()) list.add(Pair(ConsoleType.PSP, PackageItemType.GAME)) + if (uiState.value.psxGames.isNotEmpty()) list.add(Pair(ConsoleType.PSX, PackageItemType.GAME)) + if (uiState.value.psmGames.isNotEmpty()) list.add(Pair(ConsoleType.PSM, PackageItemType.GAME)) + + return list + } + + suspend fun getAppTheme(): Int { + return settingsPrefsRepo.getPreferences().first().appTheme + } + + fun shouldCreateDefaultDir(): Boolean { + val defaultDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).absolutePath + "/NPSBrowser" + + return uiState.value.downloadDir == defaultDir + || uiState.value.unpackDir == defaultDir + } + + fun setTSVFile(console: ConsoleType, itemType: PackageItemType, file: Uri) { + viewModelScope.launch(Dispatchers.IO) { + settingsPrefsRepo.setTSVFile(console, itemType, file) + } + } + + fun setTheme(theme: Theme) { + viewModelScope.launch(Dispatchers.IO) { + settingsPrefsRepo.setTheme(theme) + } + } + + fun setLayout(layout: ItemLayout) { + viewModelScope.launch(Dispatchers.IO) { + settingsPrefsRepo.setLayout(layout) + } + } + + fun setHMACKey(hmacKey: String) { + viewModelScope.launch(Dispatchers.IO) { + settingsPrefsRepo.setHMACKey(hmacKey) + } + } + + fun setDownloadDir(downloadDir: String) { + viewModelScope.launch(Dispatchers.IO) { + settingsPrefsRepo.setDownloadDir(downloadDir) + } + } + + fun setUnpackDir(unpackDir: String) { + viewModelScope.launch(Dispatchers.IO) { + settingsPrefsRepo.setUnpackDir(unpackDir) + } + } + + fun setUnpackInDownload(unpackInDownload: Boolean) { + viewModelScope.launch(Dispatchers.IO) { + settingsPrefsRepo.setUnpackInDownload(unpackInDownload) + } + } + + fun setDeleteAfterUnpack(deleteAfterUnpack: Boolean) { + viewModelScope.launch(Dispatchers.IO) { + settingsPrefsRepo.setDeleteAfterUnpack(deleteAfterUnpack) + } + } + + fun setPkg2zipParams(pkg2zipParams: String) { + viewModelScope.launch(Dispatchers.IO) { + settingsPrefsRepo.setPkg2zipParams(pkg2zipParams) + } + } + + fun setPkg2zipAutoDecrypt(pkg2zipAutoDecrypt: Boolean) { + viewModelScope.launch(Dispatchers.IO) { + settingsPrefsRepo.setPkg2zipAutoDecrypt(pkg2zipAutoDecrypt) + } + } + + companion object { + val Factory: ViewModelProvider.Factory = viewModelFactory { + initializer { + val application = (this[APPLICATION_KEY] as NPSApp) + SettingsViewModel(application.settingsPreferencesRepository) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/folder_bubbles.xml b/app/src/main/res/drawable/folder_bubbles.xml new file mode 100644 index 0000000..590ac0d --- /dev/null +++ b/app/src/main/res/drawable/folder_bubbles.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/font/readex_pro_bold.ttf b/app/src/main/res/font/readex_pro_bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7f56cba41c9574053ac7650f43b3d3175ecf9a96 GIT binary patch literal 102404 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/readex_pro_extra_light.ttf b/app/src/main/res/font/readex_pro_extra_light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f008ca6e2721cc68f0789356137c705045933528 GIT binary patch literal 102080 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 z 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/readex_pro_light.ttf b/app/src/main/res/font/readex_pro_light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bfbe921ff852b15b2458f75c3e179dc04ddf5943 GIT binary patch literal 102176 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

S?+>h+C2GjMMH7tx3jQQTc)bQO-Zx0B-tvC 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/readex_pro_medium.ttf b/app/src/main/res/font/readex_pro_medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..abd3cf9043698a806e4bb9185e6fba4ed557e2c8 GIT binary patch literal 102252 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/readex_pro_regular.ttf b/app/src/main/res/font/readex_pro_regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..93fc8922a4430521fce41f95efb4f557ef28139f GIT binary patch literal 101728 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 NOQBtJ@DsqR{|hnUbcg@| literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/readex_pro_semi_bold.ttf b/app/src/main/res/font/readex_pro_semi_bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5ca7312224ba9497ba7f895203029488545a6ec5 GIT binary patch literal 102396 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

_;XmP!1q4hz<0f(_-@Ei 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 aa)&7%?TE(xCFUu9PUB7c26A@s)&BqjsE5q} literal 0 HcmV?d00001 diff --git a/build.gradle.kts b/build.gradle.kts index 4c8fd4a..8462ad7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - val kotlin_version = "1.8.10" + val kotlin_version = "1.8.22" repositories { google() @@ -20,6 +20,7 @@ allprojects { repositories { google() mavenCentral() + maven( url = "https://jitpack.io" ) } }