From 216b7267d8b74c14f3754c56bb82dcbb40b68544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C9=91rry=20Shiv=C9=91m?= Date: Mon, 25 Dec 2023 15:35:06 +0530 Subject: [PATCH] Improve code quality & Update dependencies (#60) * Improve code quality & Update dependencies. * Fix crash in widget setup. * Minor UI improvements. --------- Signed-off-by: starry-shivam --- .idea/appInsightsSettings.xml | 45 ++++ .idea/deploymentTargetDropDown.xml | 17 +- .idea/gradle.xml | 5 +- .idea/kotlinc.xml | 2 +- .idea/migrations.xml | 10 + app/build.gradle | 25 +- .../com/starry/greenstash/MainActivity.kt | 15 +- .../greenstash/database/core/AppDatabase.kt | 6 +- .../greenstash/database/goal/GoalDao.kt | 6 +- .../greenstash/database/widget/WidgetDao.kt | 7 +- .../di/{MianModule.kt => MainModule.kt} | 17 +- .../reminder/ReminderNotificationSender.kt | 31 +-- .../reminder/receivers/AlarmReceiver.kt | 2 + .../greenstash/ui/navigation/DrawerScreens.kt | 6 +- .../greenstash/ui/navigation/NavGraph.kt | 236 ++++-------------- .../greenstash/ui/navigation/Screens.kt | 10 +- .../ui/screens/home/composables/GoalItem.kt | 7 +- .../screens/home/composables/GoalLazyItem.kt | 5 +- .../screens/home/composables/HomeAppBars.kt | 2 + .../ui/screens/home/composables/HomeScreen.kt | 16 +- .../screens/home/viewmodels/HomeViewModel.kt | 7 +- .../info/composables/GoalInfoScreen.kt | 29 +-- .../screens/info/viewmodels/InfoViewModel.kt | 14 +- .../screens/input/composables/InputScreen.kt | 18 +- .../input/viewmodels/InputViewModel.kt | 13 +- .../settings/composables/SettingsScreen.kt | 78 ++---- .../settings/viewmodels/SettingsViewModel.kt | 61 +++-- .../welcome/composables/WelcomeScreen.kt | 13 +- .../welcome/viewmodels/WelcomeViewModel.kt | 12 +- .../com/starry/greenstash/ui/theme/Type.kt | 37 ++- .../com/starry/greenstash/utils/Extensions.kt | 13 + .../starry/greenstash/utils/GoalTextUtils.kt | 46 ++-- .../{PreferenceUtils.kt => PreferenceUtil.kt} | 36 +-- .../java/com/starry/greenstash/utils/Utils.kt | 15 ++ .../starry/greenstash/widget/GoalWidget.kt | 15 +- .../greenstash/widget/WidgetViewModel.kt | 4 +- .../configuration/WidgetConfigActivity.kt | 10 +- app/src/main/res/drawable/ic_goal_delete.xml | 10 +- app/src/main/res/drawable/ic_goal_edit.xml | 9 +- app/src/main/res/drawable/ic_goal_info.xml | 7 +- app/src/main/res/drawable/ic_nav_backups.xml | 12 +- app/src/main/res/drawable/ic_nav_home.xml | 8 +- app/src/main/res/drawable/ic_nav_settings.xml | 8 +- app/src/main/res/font/redhatdisplay_black.ttf | Bin 0 -> 47908 bytes app/src/main/res/font/redhatdisplay_bold.ttf | Bin 0 -> 47924 bytes .../res/font/redhatdisplay_bolditalic.ttf | Bin 0 -> 50016 bytes .../main/res/font/redhatdisplay_extrabold.ttf | Bin 0 -> 47968 bytes .../main/res/font/redhatdisplay_italic.ttf | Bin 0 -> 50012 bytes app/src/main/res/font/redhatdisplay_light.ttf | Bin 0 -> 47988 bytes .../main/res/font/redhatdisplay_medium.ttf | Bin 0 -> 47972 bytes .../main/res/font/redhatdisplay_regular.ttf | Bin 0 -> 47952 bytes .../main/res/font/redhatdisplay_semibold.ttf | Bin 0 -> 47980 bytes build.gradle | 15 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 54 files changed, 495 insertions(+), 467 deletions(-) create mode 100644 .idea/appInsightsSettings.xml create mode 100644 .idea/migrations.xml rename app/src/main/java/com/starry/greenstash/di/{MianModule.kt => MainModule.kt} (85%) rename app/src/main/java/com/starry/greenstash/utils/{PreferenceUtils.kt => PreferenceUtil.kt} (76%) create mode 100644 app/src/main/res/font/redhatdisplay_black.ttf create mode 100644 app/src/main/res/font/redhatdisplay_bold.ttf create mode 100644 app/src/main/res/font/redhatdisplay_bolditalic.ttf create mode 100644 app/src/main/res/font/redhatdisplay_extrabold.ttf create mode 100644 app/src/main/res/font/redhatdisplay_italic.ttf create mode 100644 app/src/main/res/font/redhatdisplay_light.ttf create mode 100644 app/src/main/res/font/redhatdisplay_medium.ttf create mode 100644 app/src/main/res/font/redhatdisplay_regular.ttf create mode 100644 app/src/main/res/font/redhatdisplay_semibold.ttf diff --git a/.idea/appInsightsSettings.xml b/.idea/appInsightsSettings.xml new file mode 100644 index 00000000..5c682537 --- /dev/null +++ b/.idea/appInsightsSettings.xml @@ -0,0 +1,45 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 5dd2abd2..0c0c3383 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -1,17 +1,10 @@ - - - - - - - - - - - - + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index ae388c2a..0897082f 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,16 +4,15 @@ diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml index fdf8d994..ae3f30ae 100644 --- a/.idea/kotlinc.xml +++ b/.idea/kotlinc.xml @@ -1,6 +1,6 @@ - \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 00000000..f8051a6f --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 45672751..fc963b09 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -58,7 +58,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion '1.5.2' + kotlinCompilerExtensionVersion '1.5.6' } packagingOptions { resources { @@ -75,16 +75,18 @@ aboutLibraries { dependencies { - def composeBom = platform('androidx.compose:compose-bom:2023.08.00') + def composeBom = platform('androidx.compose:compose-bom:2023.10.01') implementation composeBom androidTestImplementation composeBom // Android core components. implementation 'androidx.core:core-ktx:1.12.0' + implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.2' - implementation 'androidx.activity:activity-compose:1.8.0' + implementation 'androidx.activity:activity-compose:1.8.2' implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.6.2" implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2" + implementation "androidx.navigation:navigation-compose:2.7.6" // Jetpack compose. implementation "androidx.compose.ui:ui" implementation "androidx.compose.ui:ui-tooling-preview" @@ -94,22 +96,19 @@ dependencies { implementation "androidx.compose.material3:material3" // Accompanist compose. implementation "com.google.accompanist:accompanist-systemuicontroller:0.28.0" - implementation "com.google.accompanist:accompanist-navigation-animation:0.33.1-alpha" // Material theme for main activity. - implementation 'com.google.android.material:material:1.10.0' + implementation 'com.google.android.material:material:1.11.0' // Android 12+ splash API. implementation 'androidx.core:core-splashscreen:1.0.1' // Room database - implementation "androidx.room:room-ktx:2.5.2" - implementation 'androidx.appcompat:appcompat:1.6.1' - implementation 'androidx.core:core-ktx:1.12.0' - ksp "androidx.room:room-compiler:2.5.2" - androidTestImplementation "androidx.room:room-testing:2.5.2" + implementation "androidx.room:room-ktx:$room_version" + ksp "androidx.room:room-compiler:$room_version" + androidTestImplementation "androidx.room:room-testing:$room_version" // Dagger - Hilt. implementation "com.google.dagger:hilt-android:$hilt_version" - implementation "androidx.hilt:hilt-navigation-compose:1.0.0" + implementation "androidx.hilt:hilt-navigation-compose:1.1.0" ksp "com.google.dagger:hilt-android-compiler:$hilt_version" - ksp "androidx.hilt:hilt-compiler:1.0.0" + ksp "androidx.hilt:hilt-compiler:1.1.0" // DataStore Preferences. implementation("androidx.datastore:datastore-preferences:1.0.0") // Gson JSON parser. @@ -129,7 +128,7 @@ dependencies { // Crash Handler. implementation 'cat.ereza:customactivityoncrash:2.4.0' // Oreo back-ports for API 24 (N) - coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3' + coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' // Testing components. testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' diff --git a/app/src/main/java/com/starry/greenstash/MainActivity.kt b/app/src/main/java/com/starry/greenstash/MainActivity.kt index f9ec6be8..b3d6e697 100644 --- a/app/src/main/java/com/starry/greenstash/MainActivity.kt +++ b/app/src/main/java/com/starry/greenstash/MainActivity.kt @@ -45,13 +45,12 @@ import androidx.compose.ui.unit.dp import androidx.core.content.ContextCompat import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen import androidx.lifecycle.ViewModelProvider -import com.google.accompanist.navigation.animation.rememberAnimatedNavController +import androidx.navigation.compose.rememberNavController import com.google.accompanist.systemuicontroller.rememberSystemUiController import com.starry.greenstash.ui.navigation.NavGraph import com.starry.greenstash.ui.screens.settings.viewmodels.SettingsViewModel import com.starry.greenstash.ui.screens.settings.viewmodels.ThemeMode import com.starry.greenstash.ui.theme.GreenStashTheme -import com.starry.greenstash.utils.PreferenceUtils import com.starry.greenstash.utils.Utils import com.starry.greenstash.utils.toToast import dagger.hilt.android.AndroidEntryPoint @@ -77,12 +76,14 @@ class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - PreferenceUtils.initialize(this) settingsViewModel = ViewModelProvider(this)[SettingsViewModel::class.java] mainViewModel = ViewModelProvider(this)[MainViewModel::class.java] // Setup app theme according to user's settings. - settingsViewModel.setUpAppTheme() + ThemeMode.entries.find { it.ordinal == settingsViewModel.getThemeValue() } + ?.let { settingsViewModel.setTheme(it) } + settingsViewModel.setMaterialYou(settingsViewModel.getMaterialYouValue()) + // show splash screen until we figure out start nav destination. installSplashScreen().setKeepOnScreenCondition { @@ -92,7 +93,7 @@ class MainActivity : AppCompatActivity() { // refresh reminders mainViewModel.refreshReminders() - val appLockStatus = PreferenceUtils.getBoolean(PreferenceUtils.APP_LOCK, false) + val appLockStatus = settingsViewModel.getAppLockValue() if (appLockStatus && !mainViewModel.appUnlocked) { executor = ContextCompat.getMainExecutor(this) @@ -121,7 +122,7 @@ class MainActivity : AppCompatActivity() { if (biometricManager.canAuthenticate(Utils.getAuthenticators()) != BiometricManager.BIOMETRIC_SUCCESS) { setAppContents() mainViewModel.appUnlocked = true - PreferenceUtils.putBoolean(PreferenceUtils.APP_LOCK, false) + settingsViewModel.setAppLock(false) } else { finish() // close the app. } @@ -159,7 +160,7 @@ class MainActivity : AppCompatActivity() { modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background ) { - val navController = rememberAnimatedNavController() + val navController = rememberNavController() val screen by mainViewModel.startDestination NavGraph(navController = navController, screen) } diff --git a/app/src/main/java/com/starry/greenstash/database/core/AppDatabase.kt b/app/src/main/java/com/starry/greenstash/database/core/AppDatabase.kt index 1824d977..a5f4c7a0 100644 --- a/app/src/main/java/com/starry/greenstash/database/core/AppDatabase.kt +++ b/app/src/main/java/com/starry/greenstash/database/core/AppDatabase.kt @@ -25,7 +25,11 @@ package com.starry.greenstash.database.core import android.content.Context -import androidx.room.* +import androidx.room.AutoMigration +import androidx.room.Database +import androidx.room.Room +import androidx.room.RoomDatabase +import androidx.room.TypeConverters import com.starry.greenstash.database.goal.Goal import com.starry.greenstash.database.goal.GoalDao import com.starry.greenstash.database.transaction.Transaction diff --git a/app/src/main/java/com/starry/greenstash/database/goal/GoalDao.kt b/app/src/main/java/com/starry/greenstash/database/goal/GoalDao.kt index 41a0beab..3ebe689e 100644 --- a/app/src/main/java/com/starry/greenstash/database/goal/GoalDao.kt +++ b/app/src/main/java/com/starry/greenstash/database/goal/GoalDao.kt @@ -26,7 +26,11 @@ package com.starry.greenstash.database.goal import androidx.lifecycle.LiveData -import androidx.room.* +import androidx.room.Dao +import androidx.room.Insert +import androidx.room.Query +import androidx.room.Transaction +import androidx.room.Update import com.starry.greenstash.database.core.GoalWithTransactions import kotlinx.coroutines.flow.Flow diff --git a/app/src/main/java/com/starry/greenstash/database/widget/WidgetDao.kt b/app/src/main/java/com/starry/greenstash/database/widget/WidgetDao.kt index b6a4b3ac..6ef80717 100644 --- a/app/src/main/java/com/starry/greenstash/database/widget/WidgetDao.kt +++ b/app/src/main/java/com/starry/greenstash/database/widget/WidgetDao.kt @@ -25,7 +25,12 @@ package com.starry.greenstash.database.widget -import androidx.room.* +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query +import androidx.room.Update @Dao interface WidgetDao { diff --git a/app/src/main/java/com/starry/greenstash/di/MianModule.kt b/app/src/main/java/com/starry/greenstash/di/MainModule.kt similarity index 85% rename from app/src/main/java/com/starry/greenstash/di/MianModule.kt rename to app/src/main/java/com/starry/greenstash/di/MainModule.kt index 396e9439..2de4e2ae 100644 --- a/app/src/main/java/com/starry/greenstash/di/MianModule.kt +++ b/app/src/main/java/com/starry/greenstash/di/MainModule.kt @@ -37,13 +37,16 @@ import com.starry.greenstash.database.goal.GoalDao import com.starry.greenstash.other.WelcomeDataStore import com.starry.greenstash.reminder.ReminderManager import com.starry.greenstash.reminder.ReminderNotificationSender +import com.starry.greenstash.utils.PreferenceUtil import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.components.SingletonComponent +import kotlinx.coroutines.ExperimentalCoroutinesApi import javax.inject.Singleton +@ExperimentalCoroutinesApi @ExperimentalMaterialApi @ExperimentalFoundationApi @ExperimentalComposeUiApi @@ -51,7 +54,7 @@ import javax.inject.Singleton @ExperimentalMaterial3Api @InstallIn(SingletonComponent::class) @Module -class MianModule { +class MainModule { @Singleton @Provides @@ -66,6 +69,9 @@ class MianModule { @Provides fun provideWidgetDao(appDatabase: AppDatabase) = appDatabase.getWidgetDao() + @Provides + fun providePreferenceUtil(@ApplicationContext context: Context) = PreferenceUtil(context) + @Provides @Singleton fun provideDataStoreRepository( @@ -78,11 +84,14 @@ class MianModule { @Provides @Singleton - fun provideReminderNotificationSender(@ApplicationContext context: Context) = - ReminderNotificationSender(context) + fun provideReminderNotificationSender( + @ApplicationContext context: Context, + preferenceUtil: PreferenceUtil + ) = + ReminderNotificationSender(context, preferenceUtil) @Provides @Singleton - fun providebackupmanager(@ApplicationContext context: Context, goalDao: GoalDao) = + fun provideBackupManager(@ApplicationContext context: Context, goalDao: GoalDao) = BackupManager(context = context, goalDao = goalDao) } \ No newline at end of file diff --git a/app/src/main/java/com/starry/greenstash/reminder/ReminderNotificationSender.kt b/app/src/main/java/com/starry/greenstash/reminder/ReminderNotificationSender.kt index a5a596f4..ee3c7247 100644 --- a/app/src/main/java/com/starry/greenstash/reminder/ReminderNotificationSender.kt +++ b/app/src/main/java/com/starry/greenstash/reminder/ReminderNotificationSender.kt @@ -25,20 +25,16 @@ package com.starry.greenstash.reminder -import android.Manifest import android.app.NotificationManager import android.app.PendingIntent import android.content.Context import android.content.Intent -import android.content.pm.PackageManager -import android.os.Build import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.ui.ExperimentalComposeUiApi import androidx.core.app.NotificationCompat -import androidx.core.content.ContextCompat import com.starry.greenstash.MainActivity import com.starry.greenstash.R import com.starry.greenstash.database.core.GoalWithTransactions @@ -46,39 +42,30 @@ import com.starry.greenstash.database.goal.GoalPriority import com.starry.greenstash.reminder.receivers.ReminderDepositReceiver import com.starry.greenstash.reminder.receivers.ReminderDismissReceiver import com.starry.greenstash.utils.GoalTextUtils -import com.starry.greenstash.utils.PreferenceUtils +import com.starry.greenstash.utils.PreferenceUtil import com.starry.greenstash.utils.Utils import kotlinx.coroutines.ExperimentalCoroutinesApi + @ExperimentalCoroutinesApi @ExperimentalMaterial3Api @ExperimentalAnimationApi @ExperimentalComposeUiApi @ExperimentalFoundationApi @ExperimentalMaterialApi -class ReminderNotificationSender(private val context: Context) { - +class ReminderNotificationSender( + private val context: Context, + private val preferenceUtil: PreferenceUtil +) { companion object { const val REMINDER_CHANNEL_ID = "reminder_notification_channel" const val REMINDER_CHANNEL_NAME = "Goal Reminders" private const val INTENT_UNIQUE_CODE = 7546 } - init { - PreferenceUtils.initialize(context) - } - private val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager - fun hasNotificationPermission() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - ContextCompat.checkSelfPermission( - context, Manifest.permission.POST_NOTIFICATIONS - ) == PackageManager.PERMISSION_GRANTED - } else { - true - } - fun sendNotification(goalItem: GoalWithTransactions) { val goal = goalItem.goal @@ -96,10 +83,10 @@ class ReminderNotificationSender(private val context: Context) { .setContentIntent(createActivityIntent()) val remainingAmount = (goal.targetAmount - goalItem.getCurrentlySavedAmount()) - val defCurrency = PreferenceUtils.getString(PreferenceUtils.DEFAULT_CURRENCY, "") + val defCurrency = preferenceUtil.getString(PreferenceUtil.DEFAULT_CURRENCY_STR, "") if (goal.deadline.isNotEmpty() && goal.deadline.isNotBlank()) { - val calculatedDays = GoalTextUtils.calcRemainingDays(goal) + val calculatedDays = GoalTextUtils(preferenceUtil).calcRemainingDays(goal) when (goal.priority) { GoalPriority.High -> { val amountDay = remainingAmount / calculatedDays.remainingDays @@ -145,7 +132,7 @@ class ReminderNotificationSender(private val context: Context) { } fun updateWithDepositNotification(goalId: Long, amount: Double) { - val defCurrency = PreferenceUtils.getString(PreferenceUtils.DEFAULT_CURRENCY, "") + val defCurrency = preferenceUtil.getString(PreferenceUtil.DEFAULT_CURRENCY_STR, "") val notification = NotificationCompat.Builder(context, REMINDER_CHANNEL_ID) .setSmallIcon(R.drawable.ic_reminder_notification) .setContentTitle(context.getString(R.string.notification_deposited_title)) diff --git a/app/src/main/java/com/starry/greenstash/reminder/receivers/AlarmReceiver.kt b/app/src/main/java/com/starry/greenstash/reminder/receivers/AlarmReceiver.kt index 6ee23be7..160ac7e0 100644 --- a/app/src/main/java/com/starry/greenstash/reminder/receivers/AlarmReceiver.kt +++ b/app/src/main/java/com/starry/greenstash/reminder/receivers/AlarmReceiver.kt @@ -42,12 +42,14 @@ import com.starry.greenstash.reminder.ReminderNotificationSender import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.launch import java.time.DayOfWeek import java.time.LocalDate import java.time.LocalDateTime import javax.inject.Inject +@ExperimentalCoroutinesApi @ExperimentalMaterialApi @ExperimentalFoundationApi @ExperimentalComposeUiApi diff --git a/app/src/main/java/com/starry/greenstash/ui/navigation/DrawerScreens.kt b/app/src/main/java/com/starry/greenstash/ui/navigation/DrawerScreens.kt index e4d55a8b..6f9c628a 100644 --- a/app/src/main/java/com/starry/greenstash/ui/navigation/DrawerScreens.kt +++ b/app/src/main/java/com/starry/greenstash/ui/navigation/DrawerScreens.kt @@ -28,9 +28,9 @@ package com.starry.greenstash.ui.navigation import com.starry.greenstash.R sealed class DrawerScreens(val route: String, val nameResId: Int, val iconResId: Int) { - object Home : DrawerScreens("home", R.string.drawer_home, R.drawable.ic_nav_home) - object Backups : DrawerScreens("backups", R.string.drawer_backups, R.drawable.ic_nav_backups) - object Settings : + data object Home : DrawerScreens("home", R.string.drawer_home, R.drawable.ic_nav_home) + data object Backups : DrawerScreens("backups", R.string.drawer_backups, R.drawable.ic_nav_backups) + data object Settings : DrawerScreens("settings", R.string.drawer_settings, R.drawable.ic_nav_settings) } diff --git a/app/src/main/java/com/starry/greenstash/ui/navigation/NavGraph.kt b/app/src/main/java/com/starry/greenstash/ui/navigation/NavGraph.kt index 932bc05e..649015f6 100644 --- a/app/src/main/java/com/starry/greenstash/ui/navigation/NavGraph.kt +++ b/app/src/main/java/com/starry/greenstash/ui/navigation/NavGraph.kt @@ -42,9 +42,9 @@ import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.navigation.NavHostController import androidx.navigation.NavType +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable import androidx.navigation.navArgument -import com.google.accompanist.navigation.animation.AnimatedNavHost -import com.google.accompanist.navigation.animation.composable import com.starry.greenstash.ui.screens.backups.BackupScreen import com.starry.greenstash.ui.screens.home.composables.HomeScreen import com.starry.greenstash.ui.screens.info.composables.GoalInfoScreen @@ -55,6 +55,33 @@ import com.starry.greenstash.ui.screens.settings.composables.SettingsScreen import com.starry.greenstash.ui.screens.welcome.composables.WelcomeScreen import kotlinx.coroutines.ExperimentalCoroutinesApi + +private const val NAVIGATION_ANIM_DURATION = 300 + +private fun enterTransition() = slideInHorizontally( + initialOffsetX = { NAVIGATION_ANIM_DURATION }, animationSpec = tween( + durationMillis = NAVIGATION_ANIM_DURATION, easing = FastOutSlowInEasing + ) +) + fadeIn(animationSpec = tween(NAVIGATION_ANIM_DURATION)) + +private fun exitTransition() = slideOutHorizontally( + targetOffsetX = { -NAVIGATION_ANIM_DURATION }, animationSpec = tween( + durationMillis = NAVIGATION_ANIM_DURATION, easing = FastOutSlowInEasing + ) +) + fadeOut(animationSpec = tween(NAVIGATION_ANIM_DURATION)) + +private fun popEnterTransition() = slideInHorizontally( + initialOffsetX = { -NAVIGATION_ANIM_DURATION }, animationSpec = tween( + durationMillis = NAVIGATION_ANIM_DURATION, easing = FastOutSlowInEasing + ) +) + fadeIn(animationSpec = tween(NAVIGATION_ANIM_DURATION)) + +private fun popExitTransition() = slideOutHorizontally( + targetOffsetX = { NAVIGATION_ANIM_DURATION }, animationSpec = tween( + durationMillis = NAVIGATION_ANIM_DURATION, easing = FastOutSlowInEasing + ) +) + fadeOut(animationSpec = tween(NAVIGATION_ANIM_DURATION)) + @ExperimentalCoroutinesApi @ExperimentalMaterialApi @ExperimentalFoundationApi @@ -66,7 +93,7 @@ fun NavGraph( navController: NavHostController, startDestination: String ) { - AnimatedNavHost( + NavHost( navController = navController, startDestination = startDestination, modifier = Modifier.background(MaterialTheme.colorScheme.background) @@ -75,21 +102,8 @@ fun NavGraph( /** Welcome Screen */ composable( route = Screens.WelcomeScreen.route, - exitTransition = { - slideOutHorizontally( - targetOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - }, - popEnterTransition = { - slideInHorizontally( - initialOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - - }, + exitTransition = { exitTransition() }, + popEnterTransition = { popEnterTransition() }, ) { WelcomeScreen(navController = navController) } @@ -97,21 +111,8 @@ fun NavGraph( /** Home Screen */ composable( route = DrawerScreens.Home.route, - exitTransition = { - slideOutHorizontally( - targetOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - }, - popEnterTransition = { - slideInHorizontally( - initialOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - - }, + exitTransition = { exitTransition() }, + popEnterTransition = { popEnterTransition() }, ) { HomeScreen(navController) } @@ -119,36 +120,10 @@ fun NavGraph( /** Goal Info Screen */ composable( route = Screens.GoalInfoScreen.route, - enterTransition = { - slideInHorizontally( - initialOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - }, - exitTransition = { - slideOutHorizontally( - targetOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - - }, - popEnterTransition = { - slideInHorizontally( - initialOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - - }, - popExitTransition = { - slideOutHorizontally( - targetOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - }, + enterTransition = { enterTransition() }, + exitTransition = { exitTransition() }, + popEnterTransition = { popEnterTransition() }, + popExitTransition = { popExitTransition() }, arguments = listOf( navArgument(GOAL_INFO_ARG_KEY) { type = NavType.StringType @@ -159,40 +134,13 @@ fun NavGraph( GoalInfoScreen(goalId = goalId, navController) } - /** Input Screen */ composable( route = Screens.InputScreen.route, - enterTransition = { - slideInHorizontally( - initialOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - }, - exitTransition = { - slideOutHorizontally( - targetOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - - }, - popEnterTransition = { - slideInHorizontally( - initialOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - - }, - popExitTransition = { - slideOutHorizontally( - targetOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - }, + enterTransition = { enterTransition() }, + exitTransition = { exitTransition() }, + popEnterTransition = { popEnterTransition() }, + popExitTransition = { popExitTransition() }, arguments = listOf(navArgument(EDIT_GOAL_ARG_KEY) { nullable = true defaultValue = null @@ -206,36 +154,10 @@ fun NavGraph( /** Backup Screen */ composable( route = DrawerScreens.Backups.route, - enterTransition = { - slideInHorizontally( - initialOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - }, - exitTransition = { - slideOutHorizontally( - targetOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - - }, - popEnterTransition = { - slideInHorizontally( - initialOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - - }, - popExitTransition = { - slideOutHorizontally( - targetOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - } + enterTransition = { enterTransition() }, + exitTransition = { exitTransition() }, + popEnterTransition = { popEnterTransition() }, + popExitTransition = { popExitTransition() }, ) { BackupScreen(navController) } @@ -243,36 +165,10 @@ fun NavGraph( /** Settings Screen */ composable( route = DrawerScreens.Settings.route, - enterTransition = { - slideInHorizontally( - initialOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - }, - exitTransition = { - slideOutHorizontally( - targetOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - - }, - popEnterTransition = { - slideInHorizontally( - initialOffsetX = { -300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - - }, - popExitTransition = { - slideOutHorizontally( - targetOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - } + enterTransition = { enterTransition() }, + exitTransition = { exitTransition() }, + popEnterTransition = { popEnterTransition() }, + popExitTransition = { popExitTransition() }, ) { SettingsScreen(navController) } @@ -280,20 +176,8 @@ fun NavGraph( /** Open Source Licenses Screen */ composable( route = Screens.OSLScreen.route, - enterTransition = { - slideInHorizontally( - initialOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - }, - popExitTransition = { - slideOutHorizontally( - targetOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - }, + enterTransition = { enterTransition() }, + popExitTransition = { popExitTransition() }, ) { OSLScreen(navController = navController) } @@ -301,20 +185,8 @@ fun NavGraph( /** About Screen */ composable( route = Screens.AboutScreen.route, - enterTransition = { - slideInHorizontally( - initialOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeIn(animationSpec = tween(300)) - }, - popExitTransition = { - slideOutHorizontally( - targetOffsetX = { 300 }, animationSpec = tween( - durationMillis = 300, easing = FastOutSlowInEasing - ) - ) + fadeOut(animationSpec = tween(300)) - }, + enterTransition = { enterTransition() }, + popExitTransition = { popExitTransition() }, ) { AboutScreen(navController = navController) } diff --git a/app/src/main/java/com/starry/greenstash/ui/navigation/Screens.kt b/app/src/main/java/com/starry/greenstash/ui/navigation/Screens.kt index 566308d8..67d39cd7 100644 --- a/app/src/main/java/com/starry/greenstash/ui/navigation/Screens.kt +++ b/app/src/main/java/com/starry/greenstash/ui/navigation/Screens.kt @@ -29,19 +29,19 @@ const val EDIT_GOAL_ARG_KEY = "editGoal" const val GOAL_INFO_ARG_KEY = "goalId" sealed class Screens(val route: String) { - object InputScreen : Screens("input_screen?$EDIT_GOAL_ARG_KEY={$EDIT_GOAL_ARG_KEY}") { + data object InputScreen : Screens("input_screen?$EDIT_GOAL_ARG_KEY={$EDIT_GOAL_ARG_KEY}") { fun withGoalToEdit(goalId: String): String { return route.replace("{$EDIT_GOAL_ARG_KEY}", goalId) } } - object GoalInfoScreen : Screens("goal_info_screen/{$GOAL_INFO_ARG_KEY}") { + data object GoalInfoScreen : Screens("goal_info_screen/{$GOAL_INFO_ARG_KEY}") { fun withGoalId(goalId: String): String { return route.replace("{$GOAL_INFO_ARG_KEY}", goalId) } } - object AboutScreen : Screens("about_screen") - object OSLScreen : Screens("osl_screen") - object WelcomeScreen : Screens("welcome_screen") + data object AboutScreen : Screens("about_screen") + data object OSLScreen : Screens("osl_screen") + data object WelcomeScreen : Screens("welcome_screen") } \ No newline at end of file diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/GoalItem.kt b/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/GoalItem.kt index 6eccf87a..e6d3bfb3 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/GoalItem.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/GoalItem.kt @@ -63,6 +63,7 @@ import androidx.compose.ui.unit.sp import coil.compose.AsyncImage import coil.request.ImageRequest import com.starry.greenstash.R +import com.starry.greenstash.ui.theme.greenstashFont @Composable fun GoalItem( @@ -148,7 +149,8 @@ fun GoalItem( Text( text = stringResource(id = R.string.deposit_button).uppercase(), fontWeight = FontWeight.SemiBold, - color = MaterialTheme.colorScheme.onSurface + color = MaterialTheme.colorScheme.onSurface, + fontFamily = greenstashFont ) } TextButton( @@ -157,7 +159,8 @@ fun GoalItem( Text( text = stringResource(id = R.string.withdraw_button).uppercase(), fontWeight = FontWeight.SemiBold, - color = MaterialTheme.colorScheme.onSurface + color = MaterialTheme.colorScheme.onSurface, + fontFamily = greenstashFont ) } diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/GoalLazyItem.kt b/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/GoalLazyItem.kt index 94f0dc77..3de96154 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/GoalLazyItem.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/GoalLazyItem.kt @@ -46,7 +46,6 @@ import com.starry.greenstash.database.core.GoalWithTransactions import com.starry.greenstash.ui.navigation.Screens import com.starry.greenstash.ui.screens.home.viewmodels.BottomSheetType import com.starry.greenstash.ui.screens.home.viewmodels.HomeViewModel -import com.starry.greenstash.utils.GoalTextUtils import com.starry.greenstash.utils.Utils import com.starry.greenstash.utils.validateAmount import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -79,8 +78,8 @@ fun GoalLazyColumnItem( val hapticFeedback = LocalHapticFeedback.current GoalItem(title = item.goal.title, - primaryText = GoalTextUtils.buildPrimaryText(context, progressPercent, item), - secondaryText = GoalTextUtils.buildSecondaryText(context, item), + primaryText = viewModel.goalTextUtil.buildPrimaryText(context, progressPercent, item), + secondaryText = viewModel.goalTextUtil.buildSecondaryText(context, item), goalProgress = progressPercent.toFloat() / 100, goalImage = item.goal.goalImage, onDepositClicked = { diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/HomeAppBars.kt b/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/HomeAppBars.kt index 8bc52098..833dc629 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/HomeAppBars.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/HomeAppBars.kt @@ -58,6 +58,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.starry.greenstash.R import com.starry.greenstash.ui.screens.home.viewmodels.SearchWidgetState +import com.starry.greenstash.ui.theme.greenstashFont @ExperimentalMaterial3Api @Composable @@ -108,6 +109,7 @@ fun DefaultAppBar( stringResource(id = R.string.home_screen_header), maxLines = 1, overflow = TextOverflow.Ellipsis, + fontFamily = greenstashFont ) }, navigationIcon = { IconButton(onClick = { onMenuClicked() }) { diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/HomeScreen.kt b/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/HomeScreen.kt index 6d33b5bd..de1495db 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/HomeScreen.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/home/composables/HomeScreen.kt @@ -117,6 +117,7 @@ import com.starry.greenstash.ui.screens.home.viewmodels.FilterField import com.starry.greenstash.ui.screens.home.viewmodels.FilterSortType import com.starry.greenstash.ui.screens.home.viewmodels.HomeViewModel import com.starry.greenstash.ui.screens.home.viewmodels.SearchWidgetState +import com.starry.greenstash.utils.Utils import com.starry.greenstash.utils.isScrollingUp import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.delay @@ -197,18 +198,19 @@ fun HomeScreenContent( Spacer(Modifier.height(14.dp)) Text( - text = stringResource(id = R.string.app_name), + text = Utils.getGreeting(), modifier = Modifier.padding(start = 16.dp, top = 12.dp), - fontSize = 18.sp, - fontWeight = FontWeight.Medium, + fontSize = 24.sp, + fontWeight = FontWeight.SemiBold, + color = MaterialTheme.colorScheme.onSurface ) Divider( - thickness = 1.dp, + thickness = 0.5.dp, modifier = Modifier .fillMaxWidth() .padding(top = 16.dp, bottom = 16.dp), - color = MaterialTheme.colorScheme.onSurface + color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.2f) ) items.forEach { item -> @@ -528,7 +530,7 @@ fun FilterMenuSheet(viewModel: HomeViewModel) { ) Row(modifier = Modifier.fillMaxWidth()) { Column(modifier = Modifier.weight(1f), verticalArrangement = Arrangement.Center) { - FilterField.values().forEach { + FilterField.entries.forEach { FilterButton( text = it.name, isSelected = it == viewModel.filterFlowData.value.filterField, @@ -536,7 +538,7 @@ fun FilterMenuSheet(viewModel: HomeViewModel) { } } Column(modifier = Modifier.weight(1f), verticalArrangement = Arrangement.Center) { - FilterSortType.values().forEach { + FilterSortType.entries.forEach { FilterButton( text = it.name, isSelected = viewModel.filterFlowData.value.sortType.name == it.name, diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/home/viewmodels/HomeViewModel.kt b/app/src/main/java/com/starry/greenstash/ui/screens/home/viewmodels/HomeViewModel.kt index f2159ab7..53fc2341 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/home/viewmodels/HomeViewModel.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/home/viewmodels/HomeViewModel.kt @@ -42,6 +42,8 @@ import com.starry.greenstash.database.transaction.Transaction import com.starry.greenstash.database.transaction.TransactionDao import com.starry.greenstash.database.transaction.TransactionType import com.starry.greenstash.reminder.ReminderManager +import com.starry.greenstash.utils.GoalTextUtils +import com.starry.greenstash.utils.PreferenceUtil import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -68,9 +70,12 @@ data class FilterFlowData(val filterField: FilterField, val sortType: FilterSort class HomeViewModel @Inject constructor( private val goalDao: GoalDao, private val transactionDao: TransactionDao, - private val reminderManager: ReminderManager + private val reminderManager: ReminderManager, + private val preferenceUtil: PreferenceUtil ) : ViewModel() { + val goalTextUtil = GoalTextUtils(preferenceUtil) + private val _filterFlowData: MutableState = mutableStateOf( FilterFlowData( FilterField.Title, diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/info/composables/GoalInfoScreen.kt b/app/src/main/java/com/starry/greenstash/ui/screens/info/composables/GoalInfoScreen.kt index b166434f..81b5bf88 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/info/composables/GoalInfoScreen.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/info/composables/GoalInfoScreen.kt @@ -25,7 +25,6 @@ package com.starry.greenstash.ui.screens.info.composables -import android.content.Context import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background @@ -85,7 +84,6 @@ import com.airbnb.lottie.compose.animateLottieCompositionAsState import com.airbnb.lottie.compose.rememberLottieComposition import com.starry.greenstash.MainActivity import com.starry.greenstash.R -import com.starry.greenstash.database.core.GoalWithTransactions import com.starry.greenstash.database.goal.GoalPriority import com.starry.greenstash.database.goal.GoalPriority.High import com.starry.greenstash.database.goal.GoalPriority.Low @@ -97,8 +95,7 @@ import com.starry.greenstash.ui.common.ExpandableCard import com.starry.greenstash.ui.common.ExpandableTextCard import com.starry.greenstash.ui.screens.info.viewmodels.InfoViewModel import com.starry.greenstash.ui.screens.settings.viewmodels.ThemeMode -import com.starry.greenstash.utils.GoalTextUtils -import com.starry.greenstash.utils.PreferenceUtils +import com.starry.greenstash.ui.theme.greenstashFont import com.starry.greenstash.utils.Utils import com.starry.greenstash.utils.getActivity import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -125,6 +122,7 @@ fun GoalInfoScreen(goalId: String, navController: NavController) { text = stringResource(id = R.string.info_screen_header), maxLines = 1, overflow = TextOverflow.Ellipsis, + fontFamily = greenstashFont ) }, navigationIcon = { IconButton(onClick = { navController.navigateUp() }) { @@ -150,8 +148,7 @@ fun GoalInfoScreen(goalId: String, navController: NavController) { CircularProgressIndicator() } } else { - val currencySymbol = - PreferenceUtils.getString(PreferenceUtils.DEFAULT_CURRENCY, "$")!! + val currencySymbol = viewModel.getDefaultCurrencyValue() val progressPercent = ((state.goalData!!.getCurrentlySavedAmount() / state.goalData.goal.targetAmount) * 100).toInt() @@ -164,7 +161,9 @@ fun GoalInfoScreen(goalId: String, navController: NavController) { currencySymbol = currencySymbol, targetAmount = state.goalData.goal.targetAmount, savedAmount = state.goalData.getCurrentlySavedAmount(), - daysLeftText = getRemainingDaysText(context, state.goalData), + daysLeftText = viewModel.goalTextUtils.getRemainingDaysText( + context, state.goalData + ), progress = progressPercent.toFloat() / 100 ) GoalPriorityCard(goalPriority = state.goalData.goal.priority) @@ -423,22 +422,6 @@ fun TransactionItem(transactionType: TransactionType, amount: String, date: Stri thickness = 0.8.dp ) } - -} - - -private fun getRemainingDaysText(context: Context, goalItem: GoalWithTransactions): String { - return if (goalItem.getCurrentlySavedAmount() >= goalItem.goal.targetAmount) { - context.getString(R.string.info_card_goal_achieved) - } else { - if (goalItem.goal.deadline.isNotEmpty() && goalItem.goal.deadline.isNotBlank()) { - val calculatedDays = GoalTextUtils.calcRemainingDays(goalItem.goal) - context.getString(R.string.info_card_remaining_days) - .format(calculatedDays.remainingDays) - } else { - context.getString(R.string.info_card_no_deadline_set) - } - } } @ExperimentalCoroutinesApi diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/info/viewmodels/InfoViewModel.kt b/app/src/main/java/com/starry/greenstash/ui/screens/info/viewmodels/InfoViewModel.kt index 346383fd..9c6dc5b5 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/info/viewmodels/InfoViewModel.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/info/viewmodels/InfoViewModel.kt @@ -32,6 +32,8 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.starry.greenstash.database.core.GoalWithTransactions import com.starry.greenstash.database.goal.GoalDao +import com.starry.greenstash.utils.GoalTextUtils +import com.starry.greenstash.utils.PreferenceUtil import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay @@ -44,8 +46,14 @@ data class InfoScreenState( ) @HiltViewModel -class InfoViewModel @Inject constructor(private val goalDao: GoalDao) : ViewModel() { +class InfoViewModel @Inject constructor( + private val goalDao: GoalDao, + private val preferenceUtil: PreferenceUtil +) : ViewModel() { + + val goalTextUtils = GoalTextUtils(preferenceUtil) var state by mutableStateOf(InfoScreenState()) + fun loadGoalData(goalId: Long) { viewModelScope.launch(Dispatchers.IO) { val goalWithTransactions = goalDao.getGoalWithTransactionById(goalId) @@ -53,4 +61,8 @@ class InfoViewModel @Inject constructor(private val goalDao: GoalDao) : ViewMode state = state.copy(isLoading = false, goalData = goalWithTransactions) } } + + fun getDefaultCurrencyValue() = preferenceUtil.getString( + PreferenceUtil.DEFAULT_CURRENCY_STR, "$" + )!! } \ No newline at end of file diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/input/composables/InputScreen.kt b/app/src/main/java/com/starry/greenstash/ui/screens/input/composables/InputScreen.kt index 6e64dfde..701fc011 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/input/composables/InputScreen.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/input/composables/InputScreen.kt @@ -129,14 +129,13 @@ import com.starry.greenstash.BuildConfig import com.starry.greenstash.MainActivity import com.starry.greenstash.R import com.starry.greenstash.database.goal.GoalPriority -import com.starry.greenstash.reminder.ReminderNotificationSender import com.starry.greenstash.ui.common.SelectableChipGroup import com.starry.greenstash.ui.navigation.DrawerScreens import com.starry.greenstash.ui.screens.input.viewmodels.InputViewModel -import com.starry.greenstash.ui.screens.settings.viewmodels.DateStyle -import com.starry.greenstash.utils.PreferenceUtils +import com.starry.greenstash.ui.theme.greenstashFont import com.starry.greenstash.utils.Utils import com.starry.greenstash.utils.getActivity +import com.starry.greenstash.utils.hasNotificationPermission import com.starry.greenstash.utils.toToast import com.starry.greenstash.utils.validateAmount import kotlinx.coroutines.CoroutineScope @@ -196,13 +195,7 @@ fun InputScreen(editGoalId: String?, navController: NavController) { CalendarDialog( state = calenderState, selection = CalendarSelection.Date { date -> viewModel.state = viewModel.state.copy( - deadline = date.format( - DateTimeFormatter.ofPattern( - PreferenceUtils.getString( - PreferenceUtils.DATE_FORMAT, DateStyle.DateMonthYear.pattern - ) - ) - ) + deadline = date.format(DateTimeFormatter.ofPattern(viewModel.getDateStyleValue())) ) }, config = CalendarConfig( monthSelection = true, yearSelection = true, disabledTimeline = CalendarTimeline.PAST @@ -245,6 +238,7 @@ fun InputScreen(editGoalId: String?, navController: NavController) { text = topBarText, maxLines = 1, overflow = TextOverflow.Ellipsis, + fontFamily = greenstashFont ) }, navigationIcon = { IconButton(onClick = { navController.navigateUp() }) { @@ -612,9 +606,7 @@ fun GoalReminderMenu( snackbarHostState: SnackbarHostState, coroutineScope: CoroutineScope ) { - var hasNotificationPermission by remember { - mutableStateOf(ReminderNotificationSender(context).hasNotificationPermission()) - } + var hasNotificationPermission by remember { mutableStateOf(context.hasNotificationPermission()) } val launcher = rememberLauncherForActivityResult( contract = ActivityResultContracts.RequestPermission(), diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/input/viewmodels/InputViewModel.kt b/app/src/main/java/com/starry/greenstash/ui/screens/input/viewmodels/InputViewModel.kt index 4f2079c0..81d9670b 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/input/viewmodels/InputViewModel.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/input/viewmodels/InputViewModel.kt @@ -42,7 +42,9 @@ import com.starry.greenstash.database.goal.Goal import com.starry.greenstash.database.goal.GoalDao import com.starry.greenstash.database.goal.GoalPriority import com.starry.greenstash.reminder.ReminderManager +import com.starry.greenstash.ui.screens.settings.viewmodels.DateStyle import com.starry.greenstash.utils.ImageUtils +import com.starry.greenstash.utils.PreferenceUtil import com.starry.greenstash.utils.Utils import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers @@ -68,7 +70,8 @@ data class InputScreenState( @HiltViewModel class InputViewModel @Inject constructor( private val goalDao: GoalDao, - private val reminderManager: ReminderManager + private val reminderManager: ReminderManager, + private val preferenceUtil: PreferenceUtil ) : ViewModel() { var state by mutableStateOf(InputScreenState()) @@ -83,7 +86,7 @@ class InputViewModel @Inject constructor( uri = state.goalImageUri!!, context = context, maxSize = 1024 ) else null, additionalNotes = state.additionalNotes, - priority = GoalPriority.values().find { it.name == state.priority }!!, + priority = GoalPriority.entries.find { it.name == state.priority }!!, reminder = state.reminder ) @@ -124,7 +127,7 @@ class InputViewModel @Inject constructor( uri = state.goalImageUri!!, context = context, maxSize = 1024 ) else goal.goalImage, additionalNotes = state.additionalNotes, - priority = GoalPriority.values().find { it.name == state.priority }!!, + priority = GoalPriority.entries.find { it.name == state.priority }!!, reminder = state.reminder ) // copy id of already saved goal to update it. @@ -145,4 +148,8 @@ class InputViewModel @Inject constructor( state = state.copy(deadline = "") } + fun getDateStyleValue() = preferenceUtil.getString( + PreferenceUtil.DATE_FORMAT_STR, DateStyle.DateMonthYear.pattern + ) + } \ No newline at end of file diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/settings/composables/SettingsScreen.kt b/app/src/main/java/com/starry/greenstash/ui/screens/settings/composables/SettingsScreen.kt index 3e3587d3..7ea5adad 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/settings/composables/SettingsScreen.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/settings/composables/SettingsScreen.kt @@ -80,7 +80,7 @@ import com.starry.greenstash.R import com.starry.greenstash.ui.navigation.Screens import com.starry.greenstash.ui.screens.settings.viewmodels.DateStyle import com.starry.greenstash.ui.screens.settings.viewmodels.ThemeMode -import com.starry.greenstash.utils.PreferenceUtils +import com.starry.greenstash.ui.theme.greenstashFont import com.starry.greenstash.utils.Utils import com.starry.greenstash.utils.getActivity import com.starry.greenstash.utils.toToast @@ -111,7 +111,8 @@ fun SettingsScreen(navController: NavController) { Text( stringResource(id = R.string.settings_screen_header), maxLines = 1, - overflow = TextOverflow.Ellipsis + overflow = TextOverflow.Ellipsis, + fontFamily = greenstashFont ) }, navigationIcon = { IconButton(onClick = { navController.navigateUp() }) { @@ -130,9 +131,7 @@ fun SettingsScreen(navController: NavController) { LazyColumn(modifier = Modifier.padding(it)) { /** Display Settings */ item { - val themeValue = when (PreferenceUtils.getInt( - PreferenceUtils.APP_THEME, ThemeMode.Auto.ordinal - )) { + val themeValue = when (viewModel.getThemeValue()) { ThemeMode.Light.ordinal -> "Light" ThemeMode.Dark.ordinal -> "Dark" else -> "System" @@ -144,12 +143,7 @@ fun SettingsScreen(navController: NavController) { } val materialYouSwitch = remember { - mutableStateOf( - PreferenceUtils.getBoolean( - PreferenceUtils.MATERIAL_YOU, - Build.VERSION.SDK_INT >= Build.VERSION_CODES.S - ) - ) + mutableStateOf(viewModel.getMaterialYouValue()) } Column( @@ -174,14 +168,12 @@ fun SettingsScreen(navController: NavController) { if (newValue) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { viewModel.setMaterialYou(true) - PreferenceUtils.putBoolean(PreferenceUtils.MATERIAL_YOU, true) } else { materialYouSwitch.value = false context.getString(R.string.material_you_error).toToast(context) } } else { viewModel.setMaterialYou(false) - PreferenceUtils.putBoolean(PreferenceUtils.MATERIAL_YOU, false) } } ) @@ -235,30 +227,15 @@ fun SettingsScreen(navController: NavController) { when (selectedThemeOption) { "Light" -> { - viewModel.setTheme( - ThemeMode.Light - ) - PreferenceUtils.putInt( - PreferenceUtils.APP_THEME, ThemeMode.Light.ordinal - ) + viewModel.setTheme(ThemeMode.Light) } "Dark" -> { - viewModel.setTheme( - ThemeMode.Dark - ) - PreferenceUtils.putInt( - PreferenceUtils.APP_THEME, ThemeMode.Dark.ordinal - ) + viewModel.setTheme(ThemeMode.Dark) } "System" -> { - viewModel.setTheme( - ThemeMode.Auto - ) - PreferenceUtils.putInt( - PreferenceUtils.APP_THEME, ThemeMode.Auto.ordinal - ) + viewModel.setTheme(ThemeMode.Auto) } } }) { @@ -278,9 +255,7 @@ fun SettingsScreen(navController: NavController) { /** Locales Setting */ item { - val dateValue = if (PreferenceUtils.getString( - PreferenceUtils.DATE_FORMAT, DateStyle.DateMonthYear.pattern - ) == DateStyle.YearMonthDate.pattern + val dateValue = if (viewModel.getDateStyleValue() == DateStyle.YearMonthDate.pattern ) { "YYYY/MM/DD" } else { @@ -296,11 +271,9 @@ fun SettingsScreen(navController: NavController) { val currencyEntries = context.resources.getStringArray(R.array.currency_entries) val currencyValues = context.resources.getStringArray(R.array.currency_values) - val currencyValue = currencyEntries[currencyValues.indexOf( - PreferenceUtils.getString( - PreferenceUtils.DEFAULT_CURRENCY, currencyValues.first() - ) - )] + val currencyValue = currencyEntries[ + currencyValues.indexOf(viewModel.getDefaultCurrencyValue()) + ] val currencyDialog = remember { mutableStateOf(false) } val (selectedCurrencyOption, onCurrencyOptionSelected) = remember { @@ -371,17 +344,11 @@ fun SettingsScreen(navController: NavController) { when (selectedDateOption) { "DD/MM/YYYY" -> { - PreferenceUtils.putString( - PreferenceUtils.DATE_FORMAT, - DateStyle.DateMonthYear.pattern - ) + viewModel.setDateStyle(DateStyle.DateMonthYear.pattern) } "YYYY/MM/DD" -> { - PreferenceUtils.putString( - PreferenceUtils.DATE_FORMAT, - DateStyle.YearMonthDate.pattern - ) + viewModel.setDateStyle(DateStyle.YearMonthDate.pattern) } } }) { @@ -448,7 +415,7 @@ fun SettingsScreen(navController: NavController) { currencyDialog.value = false val choice = currencyValues[currencyEntries.indexOf(selectedCurrencyOption)] - PreferenceUtils.putString(PreferenceUtils.DEFAULT_CURRENCY, choice) + viewModel.setDefaultCurrency(choice) }) { Text(stringResource(id = R.string.dialog_confirm_button)) } @@ -465,13 +432,7 @@ fun SettingsScreen(navController: NavController) { /** Security Settings. */ item { - val appLockSwitch = remember { - mutableStateOf( - PreferenceUtils.getBoolean( - PreferenceUtils.APP_LOCK, false - ) - ) - } + val appLockSwitch = remember { mutableStateOf(viewModel.getAppLockValue()) } Column( modifier = Modifier.padding(top = 10.dp) @@ -507,10 +468,7 @@ fun SettingsScreen(navController: NavController) { context.getString(R.string.auth_successful) .toToast(context) mainActivity.mainViewModel.appUnlocked = true - PreferenceUtils.putBoolean( - PreferenceUtils.APP_LOCK, - true - ) + viewModel.setAppLock(true) } override fun onAuthenticationFailed() { @@ -528,7 +486,7 @@ fun SettingsScreen(navController: NavController) { biometricPrompt.authenticate(promptInfo) } else { - PreferenceUtils.putBoolean(PreferenceUtils.APP_LOCK, false) + viewModel.setAppLock(false) } } ) diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/settings/viewmodels/SettingsViewModel.kt b/app/src/main/java/com/starry/greenstash/ui/screens/settings/viewmodels/SettingsViewModel.kt index 2a467fff..798ef352 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/settings/viewmodels/SettingsViewModel.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/settings/viewmodels/SettingsViewModel.kt @@ -31,18 +31,24 @@ import androidx.compose.runtime.Composable import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import com.starry.greenstash.utils.PreferenceUtils +import com.starry.greenstash.utils.PreferenceUtil +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject enum class ThemeMode { Light, Dark, Auto } sealed class DateStyle(val pattern: String) { - object DateMonthYear : DateStyle("dd/MM/yyyy") - object YearMonthDate : DateStyle("yyyy/MM/dd") + data object DateMonthYear : DateStyle("dd/MM/yyyy") + data object YearMonthDate : DateStyle("yyyy/MM/dd") } -class SettingsViewModel : ViewModel() { +@HiltViewModel +class SettingsViewModel @Inject constructor( + private val preferenceUtil: PreferenceUtil +) : ViewModel() { + private val _theme = MutableLiveData(ThemeMode.Auto) private val _materialYou = MutableLiveData(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) @@ -51,29 +57,50 @@ class SettingsViewModel : ViewModel() { fun setTheme(newTheme: ThemeMode) { _theme.postValue(newTheme) + preferenceUtil.putInt(PreferenceUtil.APP_THEME_INT, newTheme.ordinal) } fun setMaterialYou(newValue: Boolean) { _materialYou.postValue(newValue) + preferenceUtil.putBoolean(PreferenceUtil.MATERIAL_YOU_BOOL, newValue) + } + + fun setDateStyle(newValue: String) { + preferenceUtil.putString(PreferenceUtil.DATE_FORMAT_STR, newValue) + } + + fun setDefaultCurrency(newValue: String) { + preferenceUtil.putString(PreferenceUtil.DEFAULT_CURRENCY_STR, newValue) + } + + fun setAppLock(newValue: Boolean) { + preferenceUtil.putBoolean(PreferenceUtil.APP_LOCK_BOOL, newValue) } + fun getThemeValue() = preferenceUtil.getInt( + PreferenceUtil.APP_THEME_INT, ThemeMode.Auto.ordinal + ) + + fun getMaterialYouValue() = preferenceUtil.getBoolean( + PreferenceUtil.MATERIAL_YOU_BOOL, Build.VERSION.SDK_INT >= Build.VERSION_CODES.S + ) + + fun getDateStyleValue() = preferenceUtil.getString( + PreferenceUtil.DATE_FORMAT_STR, DateStyle.DateMonthYear.pattern + ) + + fun getDefaultCurrencyValue() = preferenceUtil.getString( + PreferenceUtil.DEFAULT_CURRENCY_STR, "$" + ) + + fun getAppLockValue() = preferenceUtil.getBoolean( + PreferenceUtil.APP_LOCK_BOOL, false + ) + @Composable fun getCurrentTheme(): ThemeMode { return if (theme.value == ThemeMode.Auto) { if (isSystemInDarkTheme()) ThemeMode.Dark else ThemeMode.Light } else theme.value!! } - - fun setUpAppTheme() { - when (PreferenceUtils.getInt(PreferenceUtils.APP_THEME, ThemeMode.Auto.ordinal)) { - ThemeMode.Auto.ordinal -> setTheme(ThemeMode.Auto) - ThemeMode.Dark.ordinal -> setTheme(ThemeMode.Dark) - ThemeMode.Light.ordinal -> setTheme(ThemeMode.Light) - } - setMaterialYou( - PreferenceUtils.getBoolean( - PreferenceUtils.MATERIAL_YOU, Build.VERSION.SDK_INT >= Build.VERSION_CODES.S - ) - ) - } } \ No newline at end of file diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/welcome/composables/WelcomeScreen.kt b/app/src/main/java/com/starry/greenstash/ui/screens/welcome/composables/WelcomeScreen.kt index d592a650..ddec6dce 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/welcome/composables/WelcomeScreen.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/welcome/composables/WelcomeScreen.kt @@ -73,7 +73,6 @@ import com.airbnb.lottie.compose.rememberLottieComposition import com.starry.greenstash.R import com.starry.greenstash.ui.navigation.DrawerScreens import com.starry.greenstash.ui.screens.welcome.viewmodels.WelcomeViewModel -import com.starry.greenstash.utils.PreferenceUtils @Composable fun WelcomeScreen(navController: NavController) { @@ -82,12 +81,7 @@ fun WelcomeScreen(navController: NavController) { val currencyEntries = context.resources.getStringArray(R.array.currency_entries) val currencyValues = context.resources.getStringArray(R.array.currency_values) - - val currencyValue = currencyEntries[currencyValues.indexOf( - PreferenceUtils.getString( - PreferenceUtils.DEFAULT_CURRENCY, currencyValues.first() - ) - )] + val currencyValue = currencyEntries[currencyValues.indexOf(viewModel.getDefaultCurrencyValue())] val currencyDialog = remember { mutableStateOf(false) } val (selectedCurrencyOption, onCurrencyOptionSelected) = remember { @@ -222,9 +216,8 @@ fun WelcomeScreen(navController: NavController) { }, confirmButton = { TextButton(onClick = { currencyDialog.value = false - val choice = - currencyValues[currencyEntries.indexOf(selectedCurrencyOption)] - PreferenceUtils.putString(PreferenceUtils.DEFAULT_CURRENCY, choice) + val choice = currencyValues[currencyEntries.indexOf(selectedCurrencyOption)] + viewModel.setDefaultCurrency(choice) }) { Text(stringResource(id = R.string.dialog_confirm_button)) } diff --git a/app/src/main/java/com/starry/greenstash/ui/screens/welcome/viewmodels/WelcomeViewModel.kt b/app/src/main/java/com/starry/greenstash/ui/screens/welcome/viewmodels/WelcomeViewModel.kt index 911e5d87..63399fc8 100644 --- a/app/src/main/java/com/starry/greenstash/ui/screens/welcome/viewmodels/WelcomeViewModel.kt +++ b/app/src/main/java/com/starry/greenstash/ui/screens/welcome/viewmodels/WelcomeViewModel.kt @@ -28,6 +28,7 @@ package com.starry.greenstash.ui.screens.welcome.viewmodels import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.starry.greenstash.other.WelcomeDataStore +import com.starry.greenstash.utils.PreferenceUtil import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -35,7 +36,8 @@ import javax.inject.Inject @HiltViewModel class WelcomeViewModel @Inject constructor( - private val welcomeDataStore: WelcomeDataStore + private val welcomeDataStore: WelcomeDataStore, + private val preferenceUtil: PreferenceUtil ) : ViewModel() { fun saveOnBoardingState(completed: Boolean) { @@ -43,4 +45,12 @@ class WelcomeViewModel @Inject constructor( welcomeDataStore.saveOnBoardingState(completed = completed) } } + + fun setDefaultCurrency(newValue: String) { + preferenceUtil.putString(PreferenceUtil.DEFAULT_CURRENCY_STR, newValue) + } + + fun getDefaultCurrencyValue() = preferenceUtil.getString( + PreferenceUtil.DEFAULT_CURRENCY_STR, "$" + ) } \ No newline at end of file diff --git a/app/src/main/java/com/starry/greenstash/ui/theme/Type.kt b/app/src/main/java/com/starry/greenstash/ui/theme/Type.kt index d86e5857..48e22f89 100644 --- a/app/src/main/java/com/starry/greenstash/ui/theme/Type.kt +++ b/app/src/main/java/com/starry/greenstash/ui/theme/Type.kt @@ -27,14 +27,49 @@ package com.starry.greenstash.ui.theme import androidx.compose.material3.Typography 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.unit.sp +import com.starry.greenstash.R + +val greenstashFont = FontFamily( + listOf( + Font( + resId = R.font.redhatdisplay_black, + weight = FontWeight.Black + ), + Font( + resId = R.font.redhatdisplay_bold, + weight = FontWeight.Bold + ), + Font( + resId = R.font.redhatdisplay_extrabold, + weight = FontWeight.ExtraBold + ), + Font( + resId = R.font.redhatdisplay_light, + weight = FontWeight.Light + ), + Font( + resId = R.font.redhatdisplay_medium, + weight = FontWeight.Medium + ), + Font( + resId = R.font.redhatdisplay_regular, + weight = FontWeight.Normal + ), + Font( + resId = R.font.redhatdisplay_semibold, + weight = FontWeight.SemiBold + ), + ) +) // Set of Material typography styles to start with val Typography = Typography( bodyLarge = TextStyle( - fontFamily = FontFamily.Default, + fontFamily = greenstashFont, fontWeight = FontWeight.Normal, fontSize = 16.sp, diff --git a/app/src/main/java/com/starry/greenstash/utils/Extensions.kt b/app/src/main/java/com/starry/greenstash/utils/Extensions.kt index 779a86b5..b34878a8 100644 --- a/app/src/main/java/com/starry/greenstash/utils/Extensions.kt +++ b/app/src/main/java/com/starry/greenstash/utils/Extensions.kt @@ -25,8 +25,11 @@ package com.starry.greenstash.utils +import android.Manifest import android.content.Context import android.content.ContextWrapper +import android.content.pm.PackageManager +import android.os.Build import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.lazy.LazyListState @@ -36,6 +39,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue +import androidx.core.content.ContextCompat import java.io.File import java.io.PrintWriter @@ -45,6 +49,15 @@ fun Context.getActivity(): AppCompatActivity? = when (this) { else -> null } +fun Context.hasNotificationPermission() = + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + ContextCompat.checkSelfPermission( + this, Manifest.permission.POST_NOTIFICATIONS + ) == PackageManager.PERMISSION_GRANTED + } else { + true + } + @Composable fun LazyListState.isScrollingUp(): Boolean { var previousIndex by remember(this) { mutableIntStateOf(firstVisibleItemIndex) } diff --git a/app/src/main/java/com/starry/greenstash/utils/GoalTextUtils.kt b/app/src/main/java/com/starry/greenstash/utils/GoalTextUtils.kt index 99fcf90b..0d6fc974 100644 --- a/app/src/main/java/com/starry/greenstash/utils/GoalTextUtils.kt +++ b/app/src/main/java/com/starry/greenstash/utils/GoalTextUtils.kt @@ -35,7 +35,7 @@ import java.time.LocalDateTime import java.time.format.DateTimeFormatter import java.time.temporal.ChronoUnit -object GoalTextUtils { +class GoalTextUtils(private val preferenceUtil: PreferenceUtil) { data class CalculatedDays( val remainingDays: Long, @@ -66,7 +66,7 @@ object GoalTextUtils { context.getString(R.string.progress_greet5) } } - val defCurrency = PreferenceUtils.getString(PreferenceUtils.DEFAULT_CURRENCY, "") + val defCurrency = preferenceUtil.getString(PreferenceUtil.DEFAULT_CURRENCY_STR, "") text += if (progressPercent < 100) { "\n" + context.getString(R.string.currently_saved_incomplete) } else { @@ -84,7 +84,7 @@ object GoalTextUtils { if ((remainingAmount > 0f)) { if (item.goal.deadline.isNotEmpty() && item.goal.deadline.isNotBlank()) { val calculatedDays = calcRemainingDays(item.goal) - val defCurrency = PreferenceUtils.getString(PreferenceUtils.DEFAULT_CURRENCY, "") + val defCurrency = preferenceUtil.getString(PreferenceUtil.DEFAULT_CURRENCY_STR, "") // build description string. var text = context.getString(R.string.goal_days_left) .format(calculatedDays.parsedEndDate, calculatedDays.remainingDays) + "\n" @@ -140,10 +140,25 @@ object GoalTextUtils { } + fun getRemainingDaysText(context: Context, goalItem: GoalWithTransactions): String { + return if (goalItem.getCurrentlySavedAmount() >= goalItem.goal.targetAmount) { + context.getString(R.string.info_card_goal_achieved) + } else { + if (goalItem.goal.deadline.isNotEmpty() && goalItem.goal.deadline.isNotBlank()) { + val calculatedDays = calcRemainingDays(goalItem.goal) + context.getString(R.string.info_card_remaining_days) + .format(calculatedDays.remainingDays) + } else { + context.getString(R.string.info_card_no_deadline_set) + } + } + } + + fun calcRemainingDays(goal: Goal): CalculatedDays { // calculate remaining days between today and endDate (deadline). - val preferredDateFormat = PreferenceUtils.getString( - PreferenceUtils.DATE_FORMAT, DateStyle.DateMonthYear.pattern + val preferredDateFormat = preferenceUtil.getString( + PreferenceUtil.DATE_FORMAT_STR, DateStyle.DateMonthYear.pattern ) val dateFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern(preferredDateFormat) @@ -156,16 +171,17 @@ object GoalTextUtils { val reverseDate: (String) -> String = { goal.deadline.split("/").reversed().joinToString(separator = "/") } - val endDate = if (goal.deadline.split("/") - .first().length == 2 && preferredDateFormat != DateStyle.DateMonthYear.pattern - ) { - reverseDate(goal.deadline) - } else if (goal.deadline.split("/") - .first().length == 4 && preferredDateFormat != DateStyle.YearMonthDate.pattern - ) { - reverseDate(goal.deadline) - } else { - goal.deadline + + val endDate = when { + goal.deadline.split("/").first().length == 2 && + preferredDateFormat != DateStyle.DateMonthYear.pattern -> + reverseDate(goal.deadline) + + goal.deadline.split("/").first().length == 4 && + preferredDateFormat != DateStyle.YearMonthDate.pattern -> + reverseDate(goal.deadline) + + else -> goal.deadline } val startDateValue: LocalDate = LocalDate.parse(startDate, dateFormatter) diff --git a/app/src/main/java/com/starry/greenstash/utils/PreferenceUtils.kt b/app/src/main/java/com/starry/greenstash/utils/PreferenceUtil.kt similarity index 76% rename from app/src/main/java/com/starry/greenstash/utils/PreferenceUtils.kt rename to app/src/main/java/com/starry/greenstash/utils/PreferenceUtil.kt index f065efae..f2e7ec9d 100644 --- a/app/src/main/java/com/starry/greenstash/utils/PreferenceUtils.kt +++ b/app/src/main/java/com/starry/greenstash/utils/PreferenceUtil.kt @@ -29,32 +29,34 @@ import android.content.Context import android.content.SharedPreferences import com.starry.greenstash.ui.screens.settings.viewmodels.DateStyle -object PreferenceUtils { - private lateinit var prefs: SharedPreferences - private const val PREFS_NAME = "myne_settings" +class PreferenceUtil(context: Context) { - // Preference keys - const val APP_THEME = "theme_settings" - const val MATERIAL_YOU = "material_you" - const val DEFAULT_CURRENCY = "default_currency" - const val DATE_FORMAT = "date_format" - const val APP_LOCK = "app_lock" + companion object { + private const val PREFS_NAME = "greenstash_settings" - fun initialize(context: Context) { + // Preference keys + const val APP_THEME_INT = "theme_settings" + const val MATERIAL_YOU_BOOL = "material_you" + const val DEFAULT_CURRENCY_STR = "default_currency" + const val DATE_FORMAT_STR = "date_format" + const val APP_LOCK_BOOL = "app_lock" + } + + private var prefs: SharedPreferences + + init { prefs = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE) // Pre-populate some preference data with default values - if (!keyExists(DEFAULT_CURRENCY)) { - putString(DEFAULT_CURRENCY, "$") + if (!keyExists(DEFAULT_CURRENCY_STR)) { + putString(DEFAULT_CURRENCY_STR, "$") } - if (!keyExists(DATE_FORMAT)) { - putString(DATE_FORMAT, DateStyle.DateMonthYear.pattern) + if (!keyExists(DATE_FORMAT_STR)) { + putString(DATE_FORMAT_STR, DateStyle.DateMonthYear.pattern) } } private fun keyExists(key: String): Boolean { - if (prefs.contains(key)) - return true - return false + return prefs.contains(key) } fun putString(key: String, value: String) { diff --git a/app/src/main/java/com/starry/greenstash/utils/Utils.kt b/app/src/main/java/com/starry/greenstash/utils/Utils.kt index 268d775b..6e42e1e4 100644 --- a/app/src/main/java/com/starry/greenstash/utils/Utils.kt +++ b/app/src/main/java/com/starry/greenstash/utils/Utils.kt @@ -32,6 +32,8 @@ import androidx.biometric.BiometricManager.Authenticators.DEVICE_CREDENTIAL import java.math.RoundingMode import java.text.DecimalFormat import java.text.DecimalFormatSymbols +import java.text.SimpleDateFormat +import java.util.Date import java.util.Locale object Utils { @@ -75,4 +77,17 @@ object Utils { } else { BIOMETRIC_STRONG or DEVICE_CREDENTIAL } + + fun getGreeting(): String { + val currentTime = System.currentTimeMillis() + val simpleDateFormat = SimpleDateFormat("HH", Locale.US) + + return when (simpleDateFormat.format(Date(currentTime)).toInt()) { + in 0..11 -> "Good Morning!" + in 12..16 -> "Good Afternoon!" + in 17..20 -> "Good Evening!" + else -> "Good Night!" + } + } + } \ No newline at end of file diff --git a/app/src/main/java/com/starry/greenstash/widget/GoalWidget.kt b/app/src/main/java/com/starry/greenstash/widget/GoalWidget.kt index 74566691..728f24f9 100644 --- a/app/src/main/java/com/starry/greenstash/widget/GoalWidget.kt +++ b/app/src/main/java/com/starry/greenstash/widget/GoalWidget.kt @@ -39,7 +39,7 @@ import android.widget.RemoteViews import com.starry.greenstash.R import com.starry.greenstash.database.core.GoalWithTransactions import com.starry.greenstash.utils.GoalTextUtils -import com.starry.greenstash.utils.PreferenceUtils +import com.starry.greenstash.utils.PreferenceUtil import com.starry.greenstash.utils.Utils import dagger.hilt.EntryPoints @@ -89,6 +89,8 @@ class GoalWidget : AppWidgetProvider() { fun updateWidgetContents( context: Context, appWidgetId: Int, goalItem: GoalWithTransactions ) { + val preferenceUtil = PreferenceUtil(context) + val goalTextUtils = GoalTextUtils(preferenceUtil) val appWidgetManager = AppWidgetManager.getInstance(context) val views = RemoteViews(context.packageName, R.layout.goal_widget) @@ -103,7 +105,7 @@ class GoalWidget : AppWidgetProvider() { views.setCharSequence(R.id.widgetTitle, "setText", goalItem.goal.title) // Set Widget description. - val defCurrency = PreferenceUtils.getString(PreferenceUtils.DEFAULT_CURRENCY, "") + val defCurrency = preferenceUtil.getString(PreferenceUtil.DEFAULT_CURRENCY_STR, "$") val widgetDesc = context.getString(R.string.goal_widget_desc) .format( "$defCurrency${Utils.formatCurrency(goalItem.getCurrentlySavedAmount())} / $defCurrency${ @@ -118,7 +120,7 @@ class GoalWidget : AppWidgetProvider() { val remainingAmount = (goalItem.goal.targetAmount - goalItem.getCurrentlySavedAmount()) if (remainingAmount > 0f) { if (goalItem.goal.deadline.isNotEmpty() && goalItem.goal.deadline.isNotBlank()) { - val calculatedDays = GoalTextUtils.calcRemainingDays(goalItem.goal) + val calculatedDays = goalTextUtils.calcRemainingDays(goalItem.goal) if (calculatedDays.remainingDays > 2) { val amountDays = "$defCurrency${ Utils.formatCurrency( @@ -145,6 +147,7 @@ class GoalWidget : AppWidgetProvider() { views.setCharSequence(R.id.widgetAmountWeek, "setText", amountWeeks) views.setViewVisibility(R.id.widgetAmountWeek, View.VISIBLE) } + views.setViewVisibility(R.id.widgetNoDeadlineSet, View.GONE) } else { views.setViewVisibility(R.id.widgetNoDeadlineSet, View.VISIBLE) } @@ -189,9 +192,9 @@ class GoalWidget : AppWidgetProvider() { private fun initialiseVm(context: Context) { if (!this::viewModel.isInitialized) { - viewModel = EntryPoints.get(context.applicationContext, WidgetEntryPoint::class.java) - .getViewModel() - PreferenceUtils.initialize(context) + println("viewmodel not initialised") + viewModel = EntryPoints + .get(context.applicationContext, WidgetEntryPoint::class.java).getViewModel() } } diff --git a/app/src/main/java/com/starry/greenstash/widget/WidgetViewModel.kt b/app/src/main/java/com/starry/greenstash/widget/WidgetViewModel.kt index aac2669c..5270d525 100644 --- a/app/src/main/java/com/starry/greenstash/widget/WidgetViewModel.kt +++ b/app/src/main/java/com/starry/greenstash/widget/WidgetViewModel.kt @@ -30,6 +30,7 @@ import androidx.lifecycle.viewModelScope import com.starry.greenstash.database.core.GoalWithTransactions import com.starry.greenstash.database.goal.GoalDao import com.starry.greenstash.database.widget.WidgetDao +import com.starry.greenstash.utils.PreferenceUtil import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -37,7 +38,8 @@ import javax.inject.Inject class WidgetViewModel @Inject constructor( private val widgetDao: WidgetDao, - private val goalDao: GoalDao + private val goalDao: GoalDao, + private val preferenceUtil: PreferenceUtil ) : ViewModel() { fun getGoalFromWidgetId( diff --git a/app/src/main/java/com/starry/greenstash/widget/configuration/WidgetConfigActivity.kt b/app/src/main/java/com/starry/greenstash/widget/configuration/WidgetConfigActivity.kt index 02ef2889..f7d1c58d 100644 --- a/app/src/main/java/com/starry/greenstash/widget/configuration/WidgetConfigActivity.kt +++ b/app/src/main/java/com/starry/greenstash/widget/configuration/WidgetConfigActivity.kt @@ -93,7 +93,6 @@ import com.starry.greenstash.R import com.starry.greenstash.ui.screens.settings.viewmodels.SettingsViewModel import com.starry.greenstash.ui.screens.settings.viewmodels.ThemeMode import com.starry.greenstash.ui.theme.GreenStashTheme -import com.starry.greenstash.utils.PreferenceUtils import com.starry.greenstash.widget.GoalWidget import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -114,9 +113,11 @@ class WidgetConfigActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - PreferenceUtils.initialize(this) settingsViewModel = ViewModelProvider(this)[SettingsViewModel::class.java] - settingsViewModel.setUpAppTheme() + // Setup app theme according to user's settings. + ThemeMode.entries.find { it.ordinal == settingsViewModel.getThemeValue() } + ?.let { settingsViewModel.setTheme(it) } + settingsViewModel.setMaterialYou(settingsViewModel.getMaterialYouValue()) setContent { GreenStashTheme(settingsViewModel = settingsViewModel) { @@ -236,8 +237,7 @@ class WidgetConfigActivity : AppCompatActivity() { .fillMaxSize() .padding(top = 4.dp) ) { - val defCurrency = - PreferenceUtils.getString(PreferenceUtils.DEFAULT_CURRENCY, "") + val defCurrency = settingsViewModel.getDefaultCurrencyValue() items(allGoals.size) { idx -> val item = allGoals[idx] diff --git a/app/src/main/res/drawable/ic_goal_delete.xml b/app/src/main/res/drawable/ic_goal_delete.xml index 92001b4d..0906950c 100644 --- a/app/src/main/res/drawable/ic_goal_delete.xml +++ b/app/src/main/res/drawable/ic_goal_delete.xml @@ -1,9 +1,15 @@ + + + android:fillColor="#1C274C" + android:pathData="M3 6.38597C3 5.90152 3.34538 5.50879 3.77143 5.50879L6.43567 5.50832C6.96502 5.49306 7.43202 5.11033 7.61214 4.54412C7.61688 4.52923 7.62232 4.51087 7.64185 4.44424L7.75665 4.05256C7.8269 3.81241 7.8881 3.60318 7.97375 3.41617C8.31209 2.67736 8.93808 2.16432 9.66147 2.03297C9.84457 1.99972 10.0385 1.99986 10.2611 2.00002H13.7391C13.9617 1.99986 14.1556 1.99972 14.3387 2.03297C15.0621 2.16432 15.6881 2.67736 16.0264 3.41617C16.1121 3.60318 16.1733 3.81241 16.2435 4.05256L16.3583 4.44424C16.3778 4.51087 16.3833 4.52923 16.388 4.54412C16.5682 5.11033 17.1278 5.49353 17.6571 5.50879H20.2286C20.6546 5.50879 21 5.90152 21 6.38597C21 6.87043 20.6546 7.26316 20.2286 7.26316H3.77143C3.34538 7.26316 3 6.87043 3 6.38597Z" /> + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_goal_edit.xml b/app/src/main/res/drawable/ic_goal_edit.xml index 4fedcd4d..ebcafd9c 100644 --- a/app/src/main/res/drawable/ic_goal_edit.xml +++ b/app/src/main/res/drawable/ic_goal_edit.xml @@ -1,9 +1,14 @@ + + + android:fillColor="#1C274C" + android:pathData="M11.4001 18.1612L11.4001 18.1612L18.796 10.7653C17.7894 10.3464 16.5972 9.6582 15.4697 8.53068C14.342 7.40298 13.6537 6.21058 13.2348 5.2039L5.83882 12.5999L5.83879 12.5999C5.26166 13.1771 4.97307 13.4657 4.7249 13.7838C4.43213 14.1592 4.18114 14.5653 3.97634 14.995C3.80273 15.3593 3.67368 15.7465 3.41556 16.5208L2.05445 20.6042C1.92743 20.9852 2.0266 21.4053 2.31063 21.6894C2.59466 21.9734 3.01478 22.0726 3.39584 21.9456L7.47918 20.5844C8.25351 20.3263 8.6407 20.1973 9.00498 20.0237C9.43469 19.8189 9.84082 19.5679 10.2162 19.2751C10.5343 19.0269 10.823 18.7383 11.4001 18.1612Z" /> + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_goal_info.xml b/app/src/main/res/drawable/ic_goal_info.xml index e3d03104..1ba50119 100644 --- a/app/src/main/res/drawable/ic_goal_info.xml +++ b/app/src/main/res/drawable/ic_goal_info.xml @@ -1,9 +1,12 @@ + + + android:fillColor="#1C274C" + android:fillType="evenOdd" + android:pathData="M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM12 17.75C12.4142 17.75 12.75 17.4142 12.75 17V11C12.75 10.5858 12.4142 10.25 12 10.25C11.5858 10.25 11.25 10.5858 11.25 11V17C11.25 17.4142 11.5858 17.75 12 17.75ZM12 7C12.5523 7 13 7.44772 13 8C13 8.55228 12.5523 9 12 9C11.4477 9 11 8.55228 11 8C11 7.44772 11.4477 7 12 7Z" /> \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_nav_backups.xml b/app/src/main/res/drawable/ic_nav_backups.xml index 09ca29eb..7c945841 100644 --- a/app/src/main/res/drawable/ic_nav_backups.xml +++ b/app/src/main/res/drawable/ic_nav_backups.xml @@ -1,10 +1,14 @@ + + - + android:fillColor="#1C274C" + android:pathData="M16.7137 2.12656C15.8784 1.69663 14.7918 2.39036 12.6187 3.77783L12.0565 4.13679C11.4389 4.53106 11.1301 4.7282 10.7836 4.78478C10.4371 4.84135 10.092 4.75097 9.40191 4.57019L8.77361 4.4056C6.34506 3.76944 5.13079 3.45136 4.43551 4.1312C3.74024 4.81103 4.02442 6.03855 4.59279 8.4936L4.73983 9.12875C4.90135 9.82639 4.9821 10.1752 4.91653 10.5216C4.85096 10.868 4.64648 11.1727 4.23754 11.7821L3.86521 12.3369C2.42609 14.4815 1.70653 15.5538 2.11218 16.4039C2.51782 17.254 3.78002 17.3189 6.30442 17.4487L6.95753 17.4823C7.67487 17.5192 8.03356 17.5377 8.33956 17.6952C8.64557 17.8526 8.86425 18.1314 9.30163 18.6888L9.69981 19.1963C11.2389 21.1578 12.0085 22.1386 12.9545 21.9842C13.9005 21.8297 14.3964 20.6423 15.3882 18.2675L15.6448 17.6531C15.9266 16.9783 16.0675 16.6409 16.3222 16.3918C16.5769 16.1428 16.9165 16.0104 17.5958 15.7454L18.2142 15.5043C20.6046 14.572 21.7997 14.1059 21.9787 13.1603C22.1577 12.2148 21.202 11.416 19.2906 9.81846L18.7961 9.40516C18.2529 8.9512 17.9813 8.7242 17.8327 8.4128C17.6841 8.10139 17.6753 7.74082 17.6578 7.01967L17.6418 6.36312C17.58 3.82537 17.5491 2.5565 16.7137 2.12656Z" /> + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_nav_home.xml b/app/src/main/res/drawable/ic_nav_home.xml index 993f3ab0..c6643e5a 100644 --- a/app/src/main/res/drawable/ic_nav_home.xml +++ b/app/src/main/res/drawable/ic_nav_home.xml @@ -1,10 +1,10 @@ - + android:fillColor="#1C274C" + android:fillType="evenOdd" + android:pathData="M2.519,7.823C2,8.771 2,9.915 2,12.204V13.725C2,17.626 2,19.576 3.172,20.788C4.343,22 6.229,22 10,22H14C17.771,22 19.657,22 20.828,20.788C22,19.576 22,17.626 22,13.725V12.204C22,9.915 22,8.771 21.481,7.823C20.962,6.874 20.013,6.286 18.116,5.108L16.116,3.867C14.111,2.622 13.108,2 12,2C10.892,2 9.889,2.622 7.884,3.867L5.884,5.108C3.987,6.286 3.038,6.874 2.519,7.823ZM9.447,15.398C9.114,15.151 8.644,15.221 8.397,15.553C8.151,15.886 8.221,16.356 8.553,16.603C9.526,17.323 10.715,17.75 12,17.75C13.285,17.75 14.474,17.323 15.447,16.603C15.779,16.356 15.849,15.886 15.602,15.553C15.356,15.221 14.886,15.151 14.553,15.398C13.825,15.937 12.946,16.25 12,16.25C11.054,16.25 10.175,15.937 9.447,15.398Z" /> + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_nav_settings.xml b/app/src/main/res/drawable/ic_nav_settings.xml index b0a938c0..1ee6b02f 100644 --- a/app/src/main/res/drawable/ic_nav_settings.xml +++ b/app/src/main/res/drawable/ic_nav_settings.xml @@ -1,10 +1,10 @@ - + android:fillColor="#1C274C" + android:fillType="evenOdd" + android:pathData="M14.279,2.152C13.908,2 13.439,2 12.5,2C11.561,2 11.092,2 10.721,2.152C10.227,2.355 9.835,2.745 9.631,3.235C9.537,3.458 9.501,3.718 9.486,4.098C9.465,4.656 9.177,5.172 8.69,5.451C8.203,5.73 7.609,5.72 7.111,5.459C6.773,5.281 6.528,5.183 6.286,5.151C5.756,5.082 5.22,5.224 4.796,5.547C4.478,5.789 4.243,6.193 3.774,7C3.304,7.807 3.07,8.21 3.017,8.605C2.948,9.131 3.091,9.663 3.417,10.083C3.565,10.276 3.774,10.437 4.098,10.639C4.574,10.936 4.88,11.442 4.88,12C4.88,12.558 4.574,13.064 4.098,13.361C3.774,13.563 3.565,13.724 3.416,13.917C3.091,14.337 2.947,14.869 3.017,15.395C3.07,15.789 3.304,16.193 3.774,17C4.243,17.807 4.478,18.211 4.796,18.453C5.22,18.776 5.756,18.918 6.286,18.849C6.528,18.817 6.773,18.719 7.111,18.541C7.609,18.28 8.203,18.27 8.69,18.549C9.177,18.828 9.465,19.344 9.486,19.902C9.501,20.281 9.537,20.542 9.631,20.765C9.835,21.255 10.227,21.645 10.721,21.848C11.092,22 11.561,22 12.5,22C13.439,22 13.908,22 14.279,21.848C14.773,21.645 15.165,21.255 15.369,20.765C15.463,20.542 15.499,20.281 15.514,19.902C15.535,19.344 15.823,18.828 16.31,18.549C16.797,18.27 17.391,18.28 17.889,18.541C18.227,18.719 18.472,18.817 18.714,18.849C19.244,18.918 19.78,18.776 20.204,18.453C20.522,18.211 20.757,17.807 21.226,17C21.696,16.193 21.93,15.789 21.983,15.395C22.052,14.869 21.909,14.337 21.583,13.916C21.435,13.724 21.226,13.563 20.902,13.361C20.426,13.064 20.12,12.558 20.12,12C20.12,11.442 20.426,10.936 20.902,10.639C21.226,10.437 21.435,10.276 21.584,10.083C21.909,9.663 22.052,9.131 21.983,8.605C21.93,8.211 21.696,7.807 21.226,7C20.757,6.193 20.522,5.789 20.204,5.547C19.78,5.224 19.244,5.082 18.714,5.151C18.472,5.183 18.227,5.281 17.889,5.459C17.392,5.72 16.797,5.73 16.31,5.451C15.823,5.172 15.535,4.656 15.514,4.098C15.499,3.718 15.463,3.458 15.369,3.235C15.165,2.745 14.773,2.355 14.279,2.152ZM12.5,15C14.17,15 15.523,13.657 15.523,12C15.523,10.343 14.17,9 12.5,9C10.83,9 9.477,10.343 9.477,12C9.477,13.657 10.83,15 12.5,15Z" /> + \ No newline at end of file diff --git a/app/src/main/res/font/redhatdisplay_black.ttf b/app/src/main/res/font/redhatdisplay_black.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c2e6c8a6b0d965ec392ae71a77c379cd3db73d33 GIT binary patch literal 47908 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

}0lK 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 HBLw~%FDssS literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/redhatdisplay_bold.ttf b/app/src/main/res/font/redhatdisplay_bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c952056602728dc7967c2cfef8d5d3dda67fa7aa GIT binary patch literal 47924 zcmc${2YeJ&7yo_lY_gk1LV8a&y-*Sol0XQ(hu*{rh7ciilOPI+SZG$TfnvelMT!)~ z@~EhfqNpf{5-BQ=ii#jcQM2=Y@15Pv2Gqa*_w#-}?+(A6nKQSZd(OG%o;w?a6hgG+ z%TI`b{rV3G$_e~a2%`e(%>ze{7*m;l@fSkmOctX1PXot{>yz+pL&m_jRYNHvNRKe>P)w zb=9tshhOJ9iSifDth#)Td{4YcdhUgDR@Ka!w76~=LPR;K&N*jxeZ!QM`$hekv8U{_ffh^A?)h znqT(2y2}{ zA7Y*51W_crLzOn0pCRow+d3g;_Yz_{X>x%W)_2HIu}(P6W~+a;-(@Grx2b3HdtJ6u z*DOSYqIo|CZSv=k@GFq-U`AV#CX(+M5zlubhZM;oh3{)Pq_~blilrPO7&=x=no-p- zON5GZgSbRxcRkfIp%+3%E`g_)_xijm;)cX3uPGS<@ zMdHHxxs&R}IrVer)Qgb~JQkI@bS0gNm+CuEe>0|Bt2Rhls=lrME9p_ZSKk5p+s?N| zZ6n{1gJfqJAwCnE;rsx4-$mqeB$3+6A>{zdYq{&fc(&Z-Gip|y0Z`jhZj4UtCvO)v z*-g%b5-RNSR(&^J-sYw%37sZqcuP|G0%QkSCE!Eh3E`d&{SlyR@T8&n_MWD%9WfK$R+X?&hzDU@@CFg$ZO?IoG+Kx$QwD&lUK_d zIA10gOX`qwUv$&6;^&UC&@>cl$q4-*+%2L@!UQAzB$Oq*%dD4hBE;Oz+-Y`BfPTShp z@@#!==iBDk7TT8EZnv$oy>8oW``j%~P*bD64>;vs%>=W(R*;m@{u|H^L&M9zs^5V)dJ29Wc9Ev#>(-bRXLt+QSULN~Y?3UR7#O{jS7kec3hq$hB{o+Q%y%YCI z+@ZK1;(m+wi*Fl$Mf|e(+v6XN|8M->_@5FS3GEZkO_-jrFyZ=y)d|}ZK2JE2U?v79 z#wO+@_DdX|cy8i7iH{~em-s^B>xmyF9!&gS;?GI`NnuHeN%=`#lLjS?OS;tOSeA5K z()~$KC2dW5CF!lC-AVhB4krDc?3Wy!oSHl}xi0zkR{{GE*{hGe=}zoVg-%XJ%toa8}=}aang~eU$ZEc0hJv_KfUnv!BcUCi`?w zkDNg{=j7DnG~`^Db6d`%IWOeAm2)`f_uQP^qTErrlXGX~-ktkxZgXBpUQ}LLUhllh zyfJwf=UtY!IPYeTwRunEZOMB(?^xb%`4Rbf`NQ+)=iiinU;b11@8utNTWw`)qOds1 z1~c2+@O`i~y|7(TqCj-z>U?prm@gJ#Ef*PyMwzk0c*|(C<)$o2`Ppf620Npj3CA}Z zPF5Oml=`CartzsQCuMQUNvGiqbVfSkoJmfnF15(nRhQb}Tzp2U(o?GJ%3S#drKbV? zam{lbQx~q=)%W4iCg%gJn*7x0#g#Dn82$JjYMi6)xEgJoW1MeY{~y0?vYot0PL-489Wq8< zD2K}ta;#h}bC{8`ncs3{p1e=qBkz|T)EEJb8hPm7`^MIYyo@{IH=l@)G%g zoPuQ>FH^9RHrZ7^Bp;SlGEuIRcVX8T%Q*RnJeQd+6YK6L%jIqIR(ZQDVD3nTN4X+h zPLwhl#n}1*j7VQ*m~t_WkvRvCW}-Mx-Yq7GOT|nv8%``>CVCm0eh;?&5v=>e z_-~Jk=f!%lQEU=#ivNh$#T#O~*eec*ePX{jBtDaC#X)gW{3w1BC&ZuP2jLP~%n45B zhiqnsJn<;A*%P9JcoHAsG0{;xh0HxI%ET7YNjxV?@FKd3ZK6nQVCH*~`SAtOgW0${ zb8;{7s^}?R!GC#23=(gPKH@boSo~M?$9o$n-V#H^yUduo#Cu|xcwdYVABf>%w;0Ln zGD>_TMvFa+?JO#vuF^%ATxi6g`!zpDXx-2TrCZ;SW4#q zZ}0%Vm+>-9Cdp)Gxh$C=o#G1dyO<|_6PJtAVv#UqCs`y*WHFvpsT?QIkv$B9{{I*0 z@_}){{L|PZdK&MGOydaWCEzO2)0V*fm!c;gdr#wP5pHbf+yK3f^ADUm@caq)`7vno zgw427L>Qll&ZT<)jx8>SH(`VI=GeNs-25nGn`zO#Y z^<1S@?e~RoN(8z4QzqM*`@wGT0sZUF`BU2})mQTy?z1_+>C@*@V>ac|cYR(if>r;0 zp?Kj7zo8=6_ug}DC_Z_h_;n@}|9tT%=@mc!1r)!1q4}Mk{+^f|?- z6e)5&b=Px03SB;hKAkdm8(s8usci*mp&L`(`R0*+jVP7J@M0e)-zZU}teMRZ9=9`H zMsM8JpGBgf>hXc?K9S~o@4Z&-I1_(Dy9_`6lxhQQp^g6t)jpMG98mpGsB@p6QSC?G zMwzctULNJW3;qLM!=k9Zz9Wz5^JhGd=6;)cuKMrhL7s$PJafpK=y#e3(ELz!dZ2jY z1KY{g_nv2(Z)-$H&Nj_I#Y11fPsLLYjQP5bBF$sP=YN3Wzc17{_(F||7h6QK{8FSM z2TB(H&loSFj5D#0u~&Fn#ItT!YxmDVJ(vb=1XqH?paE{JBuhZUQR;`0Yn4B!4Wj_%mM|19loQ)*SXzu@II^-$BcwV$M?gGDxFk8Hc z@mr|tA47c}O!T={w4q=Y>+B-qS!8gOsD($}IgO~xmCUOR%;wi|zm3^ld2B?4X)>MP{Uo9^b`5;*P{EA zcc}Z?E^>`b_qBuZ(jGc_1Ca4=-1NW}p2(n<{>orvW3M|+2=?l6_jMcW)qU>kP;}vP z_jQ;EA#!51p)G0Le3s$pN0FNzfrsdFUq|APdHNfLZN1Y?kH&wS>b{P_t15I~$8sg` zxN6YeL3mURc$u|~{~Y|uDtw>Oc$YJ|nuQ!Q53*N-e(Y-}A$l z+y92|9q_Hs3jW8dDOGk{A_*q*Yenbb%TeeEmz|y%R~M9 zI$LB}jYtDBUeAiEfTNzVsH22AQ0vi@dah@1o(**h&quHV8>+|AH`g3$oux-}ik9-3 zLf12ktCo@#=c-9%mC&AN=jhz3->P;eE4+>x zPSMh`*7bT?Q^h)~ihN2hCh@K6p2xjvhZCBrw>RrLb=?5JooDgp-*JDWZm-fE54Tmj zhp{dmLO=h0)RiV#_T;bnScttWcIS4wEuixZ8|d_wptxe?=;p1t+rO&Y(*~=Ze^*mq zS~>^GP_k&*4JYkWHFlz}Y9thQ&n#mk>1Q*8*D$6HJnxM>DDEriRT7nZ7RRT!$7e1h z=8?dHR{a=(!%(`$|KgTKV}!??=L>=p9#rE6P~0W(Tyx33punWkBCA$ zywMKSUO@jk=~3uROrcbiF*|idPP(zG?k@hzKF?dUa;11i#ky(Fv-qy2nCyx0iy9T< zC&uuO3>EKMdjzcge^dJeGD=3v7_m#n5@~oJKWI0Rmv~n7iF$>f!W!Sns^f@Eml-mX z{(c~{h(Syty0M3dPmWk6*6XNGzHCRF;SZua9f{-4@RH%nIDtjVN{n3Jf$k$+EB1&F|5%Cy7#A6g(AH&FwLj%VX*Ex>} z#|1<>F2cX=r7gueF-`WCebCC8!X??MlYR9bi4^)54eVCUj8b~7#~ zl5&N3fjxo+;(v0X+H+tBW08)2UCo}ywd{i|VQ*xaT+S}S_3VATN{lKHZN7;}&wlo( zJ||LjGZCMI;;_7t_2C!9tisuqReOg|u}AX|`zYz+L3UNP5F^@5tm_T2lNi`5#H^ka z5%|9o#WJ~4t|GQ}o4j3l>navTZ0}BDdTWTp-OZj_2r;W(#L+Hhr{fx;R7=Hj^hbFt zK}1_iZhkPUJ6bF9s68tGU-g6YI*%%Qk;@HznU`I1a-b-Zge&Tx%5cgBjzDMMv z@-bFgC&kb5aruONQa&Z0me0s%<$C#?+#ol~O>(n*UT%?FiI<%sD%He}-J9%09cRz; zC;V?GJD@5Wcr80D+vN*tms7qZUzV@PSLJ`?Yw~sW^LENNS`{larB;9Rb4lGmZSIVDYIwQOb_l` zU0YW@cjhHCYAz4zJ9&0PRdsdEtOk3(>MBxks+(QaVDGQ<+WTu_P=9YSM}Mm{TmM;8 z9R1xT4s0ngWMK8|nKP@bGJ^(s^Z5;$R8Zs1_6IQ!s++8L8; zf-74RhYay4)jqVUdTv9FeW-3*$WWh0enY9yKHPdf+v*G#URF{4V4Ls6&R z_HkCF<62cZ&fV#8R;T^P)z!|LVjriwZXd6!3miYWwx+J8zP8>zeo9@{Wi`R$Tj~!! zujSf)o_=gUUuO$C-^+D-m9E-R<*uyCJz&)>d4sB3Qct!z0AWT=ef>0hjm~Ya(d3{S zZ$d|nRi3Q|A*gYeIi;n{kSRXA37X=~=QmXe!PJ(7_F7#-P^~wKQ9I31>uznWTOMjH zd6?FcFJ!t;1tHU?)Ya6?no%`ta&5JJhBb&YtU;XNlg@7jwb*A_&u3ZBXZbw0&$h;C zcB^rkZ8gTucD@q2IxAnDZ@zl{D7fCIef2)i{Th^TH0X>04XuTvkA1FH>D*S8&UJHO zu3I?fYT=k`3CBELUEn;gaLluWV_r-B!B@0g+pn;MW4_K7G~dhWfU1u5)l+BBp3w$% zrElIl-6Hp0L{&>kZc^JSPtD#Ox(4@Ms9V^)w^kqAw;@%kE8dK{NA5fSDIIx>B4~Z&fhs=5ZT*5|;6skIg*aB5X;ou-A(uc@0ouXb|7R4XYqwy3aENyMC* zy4u;3l>tRlC#&Lvrd}~;YK^WbsAksWs`{y#S~Jsg8SKuh$o8rRb@J;!w{CWTs-j~< z)g%XITAv%{>3iCPfGbMCC9~(&Sr@gJS!wEPFIR-XdQAN+eN|J-i$glmtXg+Ly2i3X zWs!;s%R0NyCGK;n`&{NecX6M)TIVkAd|f)Z?~B~$V)xlyUKe+HUEJk$ahKP{U0xSm z9y60p&snGA+*g&uxu13Jqsu8Q>eENx7xmH4iwcX~^%h(8cIs-ir&Cw!zNnMVH=zH3 z0V>~s0R#F4YPm!bCIxB-oxaGOzNm}9X~Uby#?P?cOA2+rm*l4$X5yL3hvprb={0q;MAXcxy6JcUilXu< z7_tGcL#0-4^+^1+Q+yA?cgbZ3>;Uw=;sd_l0dL>|ZR5O=ow`Ta1GGMOi`(&~)Mq(f z&O*FFwR<`ZpM8R+3OrANCrS-QAN7q_r>>LLH~V9X^1J??rz!39wc2}?GF4x{qOY&l z-|Ag4DNpNf^_H7@t4Mv9P>Pfn=xfyiNkmqCPf_2x2NIu*Yr~@7rLPa^r@44z)|*+% zXKMq8!tm$Rn`It9EKz%g*WjfoA8v*6+VCaSTV%J<`#bR5*626Lcz;a2IitC*-kaln zCpkmaA-n6E4E;VCF->7aCh^p0!<%%xwiw!GIjfaS()=Gk<|pO}_B#HrK4z0oay8cf zuRrD=Dl08eBcMO#JLXAqr@Azota@72Mp`SK=iA(`QhM*ydjX11LAqbBnEOm63&Q*X z8Z9+XnO~}VuFfpSO}CzUzX=Mfk9pXW&$@^5qjlBNa`(L|$CK-rsoxx+Zegx4_n4Q_ z4%M#{=1I=S=qdd+o5|rYKeqCp^&RJ?s5k5W`lH^qJL_Y9Y3|cR{nY9$^`2m_o|@GY ztL3!8;t(xr`Or3YOZ3NQe0579QV#v#;}HJl2J;*9QS%5?`lX2OKC4UBug|Ru+QUfk zNl=`mghL|Q++y+utOz4tn0b}C)4WP^YLEFa_s7f+(HowsOy1V08^KyekpHhg;eSmw z_xv@T)zM#m%nj6W|6e|8MWmft=2TDIT=97h#~kX`{LK8CD`hL)AM-)amHX_L8GYxG zpC%pZ}t-d`8Rj)<1ap1R=jj;Wc6*1 z8Y4bRrcclwOTra}x1-Pgm_L~BX=lhq@2 z<*&!Fk$&;EfFkfw?@oF@-u&1YMfBdQYo*D;8Z+}CS6-QO>zW$7uYtQQI<>p4=3^?S z+meN~NQ(IpdiB2fy!jopP+dc=B~$9#w6lH(BA9w566;}F(4DHeKqd4TRXKCTK z5?OdI>%~y1l)07=Sht&=% zA8Mj!jKxmRwYuX$2i*c?15Q%nljf)1@p5R(utn$o!87jI%va#RHr<{zSO#IPHPsvA zMR046xrX)xVJ&Vp=aY`ssUDh?VOD9I^r`xGmuT6;AZ&TFrK#AT&)iR&Dd9;Izr*~3 z7H!kK-AAuZ>t0#os%@Togsd_dPxnXZk^Y$9Q^qmmQhhABNzm74d|6ia45C}k808>( z_lwq#-*pd_YNgWU4tX;15N+1dEujvn_MMyZLMs#d;L9qOL+ z^wy%0yTzKgxz~z9GSA1{P3ji?YO#~ZoA0M34e8yM!QDFnSDKalYu^2cJ}8Z9M9)IJ z{o1E`sXq86N}ij|C;2``n}zwN`X(}}o*u>9N*0;scJooZF=6dm>r_gQv=ws8oKFv} zzPI!c-l})t`Iz@YwfOw2=Cdk6weA~l+ue3UCqLs$r7^!kL^39U7c>`DNBXnS|U?ux3Do)>*sQNnDpY_^w-3~kYY-hcw z&?TRHrR6uiXs%j~@PvG?%?oZHFa$3BGGiFk{{kDax*x&AMQ9}$Lkx!%R$$Bx>2 zl<+?9>-zD&?q06eh>rS#WZ#l8g#&wx26KU+WbrI?8 zxOL^aT$Xc<%<)!Mr5q*_czb&UZ{v+(2P~Plv&Zm_U{S{B2#EUI6~#ltBji?NJdlAiyPd8Q;X1&K_jo(v8LPjb0d(iw(y z7SM)5c1|7aovL_KR}Kd_fIC{$ok=dE`2u z!@*9ZN3xT(WQS|Xj?pshr)4@;%XFNU=@c!~hL&l6WcoUKyoAF}L}n>`Qu5sa$zA~$ zuV-J)PK4%0_PK82uxnX2kaQ*GO1{&ze7Di^ohVjwL}~d>5_fSpwUkF`DbLWq>N3PS zjsSKnAEEq5^&a3;>=fo8`%hE8lKTKH_XcvmjqB|k{z(7JjMyveKN{$Pr2}t~zD4fs zUb%mddf(@;^S1hKO8$VuuBG2V`ah$z&p85!$sOWaX+pZzgf?0e6167yYaK|^IuNCG zAVcdwh?f2YE&X;a{qb7*l|{`L@ml)RwDiYo>Ce~F-%d+^zLx%WTKXfk^rvEVhl?y_ zclpNd@~xyl#7Fu=wDh;v(x0oWFYjqyDlg@YzdBjRyKHCbK%~}z5Y%=tQY2)z+@ra# zW~XHPWqp_Rar%VxUg_m&3)3cLeU~y66s5FHKAK*hFgBqyZb#hBaSgezT1VE$o-1S*gZl8;(PY(zS_&pZ-Jt%J5% zM?)M(tcdw6=Ixl*V%EhhikZsYYcUgIdd0k^rVO5Z7Ly+n72OnlAZBXx#^@WPr|~^f zJ=4$Ed9FzNw&#d0r;Mo_>slYASx0&52}g93${Ss19pvDME>wt4r+!+X%8B~TQ-f}c zYL6gaZ+#|7r}k8` zc=w@>Qq+3|9kqATMSCaZv?+mKKFqLz2%gEHG(A#*^k*(~!wKGz+2Pq>rtlSQBy zbOt5ROF@~rPj)eXmt8rRbM9t7Ec;W=05A{?0+r@3atIg-hJg{hH$MuD0TayEWvzLV z_l-m4bhLb?xmnKUeh%~3rRE8FC3EH?a1~e#t_IhDYr%D330Ml2nV-q!UBO?%c5j|qgY@X|a+i%-Z3sM9!4H&4ThBh=h1>+qbDrOo_U`hggDkPS6Q z^Q4)adt@h47J*{W8I6fmE`lW&>b9q{B^N`G69rHm>t2~0DOQqwPT2ABorn4i0A z{6Vh6(+!~XAKdNQL+WNyH)>L!Rz$k6gxn1M1583lhCJRR;N?BuLaYQcypGbBfTds= zd3n>GS>4I3?qpt{;-1x=VkPud_$#+^zJqkD$$vL~;iKF?1|A1bfG5FI;AyZPJO?&_ zjbIbl44wyDz&5ZQyZ~MVJHSieW$JzfybAsUc7nISf2r?X+O&)7_rY%P0r(Jn1on~l zQ?MU=20jM|KqL4990Z5Jx3vE|a14A8)OzYq%5DZOV2W_*52x*bNQ?{sfq>P%3f z4G0Bc_?c}%IEVm|APP;0rd)qG*a;bIM0Xv?;AzI`w6-rNk*?41$`a7KBsh7OmdGQF z>p{kI59xlu@8L~#B0+maFo*=vAddKNJh>8(u0-Mx$>ut|$q;%U!W%{*cqt)_QV5=4 z2=C~Hus#gIyHWd#AtI0b`Jf$W4?2KupaOIUJ-|6&JUADe2hIly3rqYgD zFbzxxGilQ-FdNJPmx4M_4;sK+a2c3Kn=c1ffcann?OzD41dG5mNb+^8`UK9 z<(zN8Yh20sR&WQjJ6Rd8CMvv!w%pBopKIafJ>%arxLGTcG7(48o9cnRzSpMw41Gw?Y$02;v;;2<~z zzNPKofn(r%@FV>=4t@eE{&o`l3{HVxfQm2u3Vx%Xr@`;w5AY{_ZU!!3iekx{Ub2#w z2JklzAiD>U-2=$(0c7_8vU>p8J%H>UKz0uxy9bcdUC8M!>|ujsOy$L(7OOqY+^Mb0 zOsuf7Ftee};n}5JD@(HpTlqASxd+MIBSOtfkj_0w=N=JDq$de$nu46ClEw+rKsv|( znIH>fgB*|x^2nDD+JW|<1Ly`SKzGms455y5IFASCg7d)n-~w?%iMa)=gM5O^3o0v@Hj$H3#@3GgI%3Oo&-p`2&I zdaj=X8^A`e32X+>gDqeyX|{3R4qgB+f*s%`@EW@QI(P%T3El?pfOo-r|ut1^dBg;B#;QG=eX{L2w8hChZaMCHM+nd<~9*|ABA7xA5XSpmrp`2S3864G#_E@?XkkEnW68(Ynw){>B#y_yf15ZJ)&*(FRWIB-JZh<%G$-#-znz^w$;YG zl7N*}EB)21^_arkx7CC+(mD)E529Y2d#F=l?lDDzw{K}5| ze9#WG2OU5+PyxDw9^f1>9-Ir#1LuPaz=hx56~QcwoEfUck% zbR%B{=ni^-p3r)M-k=ZY3;KcnU;r2h27$q#5)7dqLpcuv!@&qJ5{v?)!5ATXaIA;WndmWyc}Es=7R2$OmVxS4yCjn%A=O zjYD1%SbrwtBTnVI7EA-v!2)Ot!IfYUu#xh2ERKVkPOx@XI=9+2hEVUnwO`e=Yci+-mw+i?Ds8F-)4+7VIuA`cjV7H& zlTM>ar_rR-Xwqpk=`@;j8cjNlCLKVN4xmW~(4+%!^I^F8Fx-3?Za$2k@F#x4pZE!X zx;;_f)zK-vI$DY5-U{xZ4|h_gnl;vNeHVG|=KSxy(EsmOPXB%dbPBCHg;t$Ht4^U+ zr_rj@Xw_-7>NHw)8m&5wR-HzxPNP+)(W=vE)hV><6k2r(tvZEPokFWlp;f2Qs#9py zzg#tuwk-$;5g-yofoR~KkC5I^nT3CKd!nAT?sg>k1d^;|{RX1ptJyWWi`n_V;9a5~ zF+>--5%uR6;ly(jh$tnIcD0J7FeA_8?-;1rH;5>TlPHRlD2kIPijydclPHRlD2kIP zijydclPHRk_XPgNUIlv`7jR8%$ht#|Sf^9l9%4Zfe`BY-z7nd|ApN#2d+Pd$=vw@AVkuBO*_@mEP=RA0Eut4|n{PxY z)CA6nq*1jeGwY^u?*wTe9b|w^kOi_q4#)*VNI#E!mxC+7e6WE03&E9O5x9o&QM2$p z;9hVaxF4(o4}b^3L*QZX2t6f2Dpj05O#S^85Dp?hB*-Q{m;>@bCnTl_6oby71X?NR zLX@jqNA`Bf5u8VXF<>lZUI0(3I8OrW;CTo=uYo6Py|r3$yaxUh=^PWN)i*~lk{E>N z8%C}zO2(0fBeI?OCtPhr25jVPQsboMTxn$(se?$}OiCr=N+#4BGb$3Cz|O7p^nG~r z3MqEW_ROd%j#@!Vq7jsHFYh}$csn8(M1p9bTA@db^7FXQ2kk(6&;fJ<6`(ul0nP#A z!MWf(a6Y&ITnH`#6Tn1p9Xh=PECtKZ&*hv~f?L5I+~0|Ru^Nq3+I=_YN1;Ck9tTf= zC&5$TX|NtV2R49>U=!F3o(EgNHn1JM0A2(;z)N5s_!R61pMlT80niA(00+S#@Gb56 z4jcpDV_E#s89Q)*01ya*KrjdaZ2<2cVtwDi`o8l|BZp=F2!H1zWk1w-BiE~ewjpSc z(ko?mzCwdmFgE)coBe3gGR9{=Qfz9A~ zumx--%{I>4!3*F;umijVUgPc8*TEa$P4G5&2fPd3Bi|nIG57@R1^dXO-U!?eJ_DbF z1E3Ln0SA0QKJWSMcI%a1{Ixd;`9P58r`f;Ct{Rd^!$(0w(}(Gvbl#!6Vs& zN3sWxWDg$69z2qxcqB*hNRHx>9K|C!fk$!zkK_a%$qAwe`-vj#CyKBidlrfn4Mium zp%dHCiEZe_HgsYeI#?@$v9{~6w(GIB>(P@F=n1nX)-&6@ z6U%!iJ43&-GxR$a_)aX2|9@7{e_*NgIM2R(2y6k1?$iK0MN1Co@$H5ce zN$?bS8azX}&w}+_KL<8|jbIbl44wyDz*f?1 zI0=3Rr@$|u3H%EFgiq>?RTnUk5Rd2Lk4)Nu0|bCT5Cnoj2xtRBK^SvTTM!N+KqTNV zQS%-Vo+6T)ZB9q$rlV`qSwTD4@pG`_=U~Urf!<9=@20!;?vz{aPN8?pkl#<)g>6Rf zn$f#vIS5peX9ySyhJg`yTBE=iV0lK5BH5pKeI4Q|=-y6rZzsC96W!a1?(IbPcA|Sb z(Y>AM-cEF{S*`)fn^G$R%bW7`qVS-2)5pPjJ{UxTXrO0R=9WCJ^Fcd+mNL&BXP!IG zJa?RV?l|+@apt(=%yGw=9=Ovi8at!@Z2* zUdC`QW4MOVz#=LCA(iJ&kOtC02FL_iARFX>T=4Jq2qwanf44_) z4e!Wbi*>q=-&8CCOMx|muN5nxUk`2oH-ei0mK6)J8w;@(3$Ysuu@(!ln^}E}&#e9f zv-)AU@CCE_LHDe_1B*^-1B*^-1BH*m0(H{j0-#||7I00e>{5DY><8xRV@*jH!^ z!a)Rx1T9_w@5y3ults#A=FS7kGPPKuxA6de#1g%Y2k;}Bu>dQ?U;6+9!5~m+9%lAG z%L>qJY{TOLYF_wdAukPvUc26ohMP8=i8G5+eTKXD0m zz_C&)`hNobRgwNCX7>}=wJ(J=yMO7P-A|y;C(-AV=<`YR`6T*$5`8|2KA%LNPomE! z(dU!sa}yS>2@BVRg=@mXsi=Mv7On{k*Mx;rQTh|;a}!ps2`krxm21MvHDTqNuyRdU zxhAY!6IQMXuiyk;!3n&A6Lo`g08ZIfnimLw}BW^(UL_9FPyx8$KnROF>J#LcNK!i+6<%q7O~XJWaeabdYz3 z4$5`tw2GOnAX<=&ygz0|9&`-oMICvnFt5?FAIi#;H)6n4Pz$C3qV=rs1S>qj3Qw@Y z6U0xNh@Uh`cA$u#H1S4Sg?W#B)A&(&(Bs3?!YkzUlWn8_d{!7ldxdex*uiR;-+NT^ zhl4V5(j1Y+Hb3cnOeWtu&~_|bVu=j@D(aL+|gIe6f-ih|tYite)qzrDVotgK-DOGOnGMK2jU3deWt zI4mx1bmxi-i{*VCva>t5I(N#;??gw?x+e7(#6^Y>{nI-dC7pX1#nct+$j;744>h8r zQn)WIiw!m8n&Hc9x^}%}+3@li7o|N*-388*6?LRFzg#s~8Y zMs-h1uNYM@f0b-AV(H|rU22w&xH_$3WI@5GiuC54#*UJU7gr8hG_gdrUh(N7N(|OK zicWJMJ&gp{JZW<^OPIK5-TX%vxzk=qT7LBaKdqGEJ&j~ngLJq~lkSoEuEUxmzZgw$ zB&QWe&R|GsSw=~kYO!2BeCZ`!yG~vFczRhMkG@SZQc`sxcSem+TY zOXd9Leum9eAon!?;cmk-Ob?;O4q(XClJeE71OE?sJt4KEyt=vIs@WVF=TJ4BwLT9VOyY+=` z`_8)MU+9*{;@OM-Id*%7SMOBo?T*+i6fUPMwiFddJ=}dTY6>z(w)gEv*G>am8>2GX z4q4PWHePpTRJZi>Zllu6+eUi&q0U3D?KHm5;h2!$D|t|!yHA}8efo44eF|kY-qI&W zWQMI(ug)1bvwLNawGXbiZ(FBs-8yYEc9c!()%TKk*FhQLIwh~|oS)yB5#;R#<6`4Y z{??n11S(6FlarlY(z&!0+kz%#q}%P$Q8BTxmN}DM$356{O!rHBw(phEx#tb%UDS8M zxM6p78$N4xPI+p_((7uc4q6h_vwUi4VRUX{W=?Qi*u_J8UtHX|~JYRsoU4%Hi_qZ#3@?~SR)jEcpJo8M3=u-C>qQZR;SNw(GxttnnrnKto; zp{w$S6cttGtsHto(9oME%9~wvrK8%l8&#^VCfqcP|1Zj8*ZHksl~nRAWt{7)d-r~R zrweo6yx+({DXA|3gMO!$8c}ak>G)^Mu-Tqpd&k7(E0#}OdG}q{--vW)%go9*d?>W~8vd}fc#m^bl@1ulqE~%BimB=)hCDWpL zN!WF@QQ=x7msZQq7gf8m_!Ic1)mz&g_H3o?_5qHqn_JP>c1|C*E7$XP za$8zC-&^Y@PpxK#@iVomy#yrhnD?WJ$D z=+>;Pxs4oaZckVJaMKl6E&6u6lTD0drWvJYaVC@g=@@>GS5Vf`_O~;--R`j53Av=Q zxI=bsVp4KKe!`&n7Zm;79N%%p(4h9kL%;7(m>eA*9(AsxTh+ore>vfo_OoZ%3bWgl z|3#ZOs5X1)_j&vByqm6OqL*!|kLnk|4!NDbq=w z(TL5&;lpJcOl6lYla~!&IKN9I|AxMy6YH8*28n>{?EV7J?GVtgENeD7)bwkslHjpPJ-)XvGp)wS4@?{(e*a5|T>f zJFX%OP>FoEIjC}^vJ5@Zi`kTwf;_1SN-IX1$7{lO@+yZhyKVc}g7S6+6ybHc3fiF> z(E)D-g=npCYpGi;&xlBv+;qEq zVOC2iij!9A=T&MX2cO3Hj^0FCb6iGAaY=D>8bDOEpB0Yn8`PtR^0xSPy)65HlXd6v zsdI%YuS-5SQq`cw{2|>Q^><_(a)Xjh=xXZepk=3xB|GMYiq3wGkY&1G7Jajuz8iXP zU5-WH;HG~7y_ZeNh(+IG(fO;WLhP}ro>}zg-RVDt{((=u>&@YojF?R}{9-?MdiDeG z32Dzal%H!;vSXFANtMHRXPX(~OE|BE#ER z2CucbqlP!BVX#eEG^>VR@CD{DR`okqUe-TsrK-DN{=o+qkCo1w|nTc z2VJB+icWimw3MQFW2N5cPOW`eT{>@#>C&g^(k;5u3X9I~MSSQ=D=hkkR&*sj7JZAN zBmcSlIjao%8;7M3RUU7Xsg-peD!@dL7M*pb%e-<3D;C_xA;xX4`ObC$Tempc^SVp( z%=Sae)6&X^w(l^s-03VIT6*zSg9l%Aap|Je(FOAh$E7X08W)tsns!C?+0t)YfKLzC z^Y?BQ|EwO~?rrh5Ry|R2YV~B3?g{UaxxM~Gy#8W6W9K+B%9LxVm#z3ndP)m5vZQDI z8WXE~mYpMGV&t7A)%h8V$8{)CYk|%e=Q*z)U0BL`z-7wVnBqj$>X^6G+8{2*bu_jt zI4M4VO5s(5)Z#56HoLm;>PmHaM2-mwQR}#zepjeoezbROyAvwDx-LZ!+4azsJXrMY zJl%|(+stU~jrTayE6DaN4*!p?xyMCFA5zpID=#4_IX*vO$PH!x=&bjdKSsF;$8Zy( zB9xoZz4)J9_uiAb+A{qLv)Yxn^s=Ql8&q#pFX0Jm3wJN!Nsy$EXp;8#u^!6bFD}tO zzqahI6)TkIzkIojtKYDA@rHWWH>!M{L-Slkdz62Xplx6TK9pKH@T;iSJ`{6=UPolO z-KC-ycPTkb)sWxD$1AF`RvI0(`=jfl-IPnaReiKOktXYzWGS_Us#pjs?r0TtVfDvq zGP(r!O^pokot~@S@5_3!w(t8dCwELp=$Ook@|v!bd-tgBa_t}S?URx^#H%{=nnueP zrD@6NspZI`D+^-LH&d^YFN>~tY|%HgqALqx(YLgsD__K-ujhAgE#)ZvwdmVgrC0iE z(fNO|G><#uSE#j@UbAbbf{+vDH_CSb=J1_&0~|v=v?E(GZ#u9TQW!qQ}_E%LfjcKP0Czby2(ixw-w@W%rDY>22(YJ=JN@6+?zx zF)$`Nb7pS8cJ2D-#K*rIn}F>|!6$LhJ9wuf0p9q8CqSXQg!3Z{hAkX4XyLFPm*$O4 z?wOU_Gb^i4ZbtW{(YbSi1}+#nZ2q9a4(B;jbNjW=@1K*Ld``Pgns=x9zX{zv@GT#Q z1CHf*xurrOF*1kt51cjWxaaP_}E@qx+4y&`O#6I#5Q+mS2S0*KBs@XcKvd7 zEloyyBLdsPs>r97nCR#@^mQ!?%p=Zv61^M?+dKd5ri$jsEDq?oADIhnFgYC&Q`fn{msz5Fjb%rTawRiY3R8?8q? zT3g(u4GouE9NoTcWKwue&doQ=)pbSZUgYOr@8_46QBdcq)$PqUdKlsG9AAX?dZLsi zYL%hHOBY(AVwScuI8;$Fr$b@8(Rtl__8L(+4`vO?9+bLl$)fBYF)=+eVMk8?z45Wr zqN6%@&MO!=zY>PVM5QoEy)6sJ4I)$&UAp4%+9v70{s3Cwy5RHUuA@Kx z=uRzOA+?Slm(g3EH+OJ9v5iL~vUH!c&Jl*xn&;&XTIjtdZeC>`;J3kyEBGC z*{3F>lKi|Ic!u;dlcHhPENVp?V`S&yiz)|SHGDV@>!J~Py>oJU=jHav&hDede!-wY z3zYEB%k7Vp*QI@DPmZ+^|iN-TiTl`Q{wX#H!EwyM%w5*rM5)DdS=wpd? z8K1N(@~AR9y}qVM>qTd*g}aviXK8~xLl?I99Anvw+`*~KTz~kOi(S7Iy6s(5Msqt^ z?rSbA$(Pp}(Q2KfybcD}qrwgbGk!q(?8vap$lN|rMqqh*rVPH^;mFN$@&B(2e&r<_ zu{739;L+PNL%Yg!`h<2*51QYhUxzVy9m`VFCl4Q4Qq{NX%)&nHhUaE=aOPAGA6;=t zP*%nTDJiM(QE~oZA;WqW56*L@otGGw6dMg8cv$zMVOlaH%-`f%;~8aruo@-W)hkm* zhsxB%LqtM$7=PaM=_~HI!wFS8~rGOxUUt@ zwH-Wo$1OMCddLWLJt8k?{#EgcG{2LEC_$^3?_IZCbI#QIDd#L+d2LM%>7SD$UF+qj z=3nJ77wd4-MLukXTA@})>Xue@g5%W}nTt%x_?n5$d{ERyV)b zb7(qc;G4*OltDbHB@Ub@?XExNCfDz>O_eOEuX4RxuRJNsBRGPma1D&G%jb@?P=E1K zH~Ub(_EI0H3 zQdG==vayA8CiQJ`M0#A9kbYk0miezDiutccuj$zZ(;Hm@%z~+%GhKh=_D}H(v?Z21 zI~I4cT$QLSx2uwsnV#)CKNjY9Y$to`Inqo?4v7y54$eqP$@mLSt>4qaDHXZ0dcTR@ zD?659gwXo}{s$Z_-zpA`S4HRk+U4?fkz3|TbU|)cftoJP%JygbU@gI$4?T`pXDf_@ z^L4gI))K~+rIuet$Gm;8m3#ZJ)n{D4@=`atsmjMv@^YOeFT7i$q)1VfWLVVg2(t3W zqO?E8#&qiynA(@N90R>Atvj!^9^cHfLQNUs31a6Z^qbM+ue`O437vy|R%+)5RMrnT z%XiBvuxESMZfCZ0gHP*^d0YRyn|j(XjXgx0me5lNfBWuyWh&^^Y2ylfjd&G@@$t}N zS*jM7XdCtq{$Tdt)EjSHQC9XhKH-I9vr_twZGPztzfgNP%<+NN9AB*Fcsvm-jPgGe zohY2gUby$YVk2|gL?)yptvGkD*S&ag@F@3awbx^~)EYznn42|*?G2^#7Im`^RgJ7g z-Ts%<4L($539PhRe5i`M7WH`_s*)p%y8g$OHYjbfsGHc7qwm;6oyzOciy|L7cvO!*eHV<(EKg4_&&=$`!XdC<{h-2g`eY|2W(`c~GO&F}bijq7X^}k# zcJBSqgh{K0U!Kt|GfO4UBDpnI%JWz9vRq5i=8zVuk{64*p@nKIMwb*dOlBB0M)a#K z>6LU?>7QqcRU`h3@u2akH6rwp3EjKt+=DGJ?Ug9M((Sv2+FE=Rx%bL*`}eNQ>5!B; zu50J?qT=*Hr2{IL-*(N2dA-t$J7+{CjqF=KD|l38cV|LeQgCu)Nlr#VT4GvkTKi#@ zuJ&@@70dI66z7&?CML8EjSNbR@7=lbTr^GX534l>v#YgUvfLG`1wKA*dHIU#ulMzH z`)Zx8Im6i{I`FD0QAe&;z!hTX<}kf_$0L)eT0fuB^ykDZyX zf&UFlrT>g_6ZCG4RqiHLE}9h0uEU3{p@P*rPG_uz^iC{3neRmBSra7}c5PSCbwxq@ zM77Hl*|xpU(&&J-|qsI2ELy3XfJRj0KIR=Q_Vw_8+tj`j3XU+}a8s^XuOcB4*ft-n;c zE3I+^RJj&aX}U$->_b(xS=0?aR3&p3bqgJ{sS<1-W5F}g=Jis$; zS(Yc}p;mpBi-z}}k(n{ASLNKkt}BDQk&m8z=455g?48$}RbZ}O3(9_2-p(nWV90_& zr5!tz`Z|1N9XpokHKGnOu||B?GQQq^w{T>@RYXUbF>3*u!xPy#w=y;EqKeF1I?T#2ZbC&yUge^l+d|VK z=v|v@>1dlaTSL=>q9T(AXI7OCT`-8NL0MI0%r4u$2nZl<7T10ZOW^qS5nnh0TiUNi z-fHPa-F{0hRbN@is|ch1i~lBnnUr6LYTIJbx4Y>?@721~oBjoJh?XmBRjJCk-IAc4 zs!oflWW}Ox-$}7hqga84D~TB2>MaLrUh_5j7P~BOvBlJToW-L=@U!x)7al66X7yV}sQ@c)?2A z+q)OuSH1JBaIHv2iS`b?9^zlEboE--ceOjZdW2r?j;Jp6EO@c9s@xZC>Mt%Z6ZI}D zbJ+fF{XEcrcEO3Po-MxYGo3)pe z%O>Stqy4x(5Q8>G{UAt;%>(~?>Kdr}Wo zSv`xo*@vnm*`jXnp(?9qQMdR|TgqL3+*58(L)i~2?KYpZ%6?eXP0dP%idaV$GCyT| zJyTYZdJ*Xx=kT3VWusazcB>e#;~t$dhcpWnH4805F4V$b_cp7tf_)u7dq ztv>BjR>Puh)Kun8;v%YtYb?&4qqSXA6*nyE79VO$+Vz84(kgyhX*cM!Run{~z1u4H zq)Ka1Ra%R>!H249v#48qs4XR||4Nl$MMe~LtyS)STd1mBi@M#1sytJR`uu;DL?-h; z$1deP)daQY<@IscLBV=^Hc+A&q?YXf%+=F9M~)jB-!XPnYsm@L* zDMhKNMaimPYE|13uWYF!me75x?zGz7U^V-9yBq1vzn-y(h5uG9@Spz^SVx<}6#p$M zn&zf%_MtK=Zt4af>i^T;l?TUJT>0r9Nh4dfq|w~>DSdNj?o*@DHM$Q=vPQRT*%G$o z+frm>3&&Y=#U~ipu(lWD6ks4GO8{e%Y{F7t64+3IY*I^-3RJQoW;eTmKtkA5lGSK` z{e3f%97rmu>>pdTtI~WkUw41~y?*`P>(}qS?nZBCQ@^+(b-CUrmS*rN3ZBZAeY!+w zsg3r-GHcI99PpayM+~&r@s!}s%sRsgC}H|)jJFGCJv`X}DX6ZQI|Nsi;O!BtG0S#h zAZ1yNC2zrdku~S$u)z2(3+ z#!MAcEV5b#uURSNxj0=Inyxdb%h)W-24foxaG+YE`qb?akJWCfjMVOcjn|~Av#&0d zP>FoC%UD`gw>>4bl*(gIbPTRLHDvVb^?oCNm8Ca%&Pa{LT0`S^Ym?@1i4N|A5^aAl zJ`z?dY~^A)jeX*k5kqt|oF`r_HPbv=AB%Lm$V=)ib>=R!-jqkgG+$Gu z)iF8|TFvMLNPwn&<-_GvMkhk*Q_HF1KsJ@lI0vch`Q`H9>umXF`0^}@-~fFebDg88 zTOv9^p5XNvmcDyM`W-ACJ)l|q8U1VUqzkcP2n){HftJzFFYf@}Vd9K2vlf0qeF0|0 zF&^uJT^%ULBOF_pp(G{kduz4TL9;eE5|0f81Hq87$zG;gePfABul4ErR3VLPd(x>> zI}AonZa2kMo^-k1QruD$9IJMv;s$4{GuZ2Oclf=XCX=brV(InBQoCHra`}XeQ&?@} zYien^%D_3zN>}DsnatVmDm7UZz8D*8PSDNd2z?7}6E$!l6_FmjFibb!0<$I&y@9-M z3wdeitZ$5-Kgwqj(Hz}K-llIe>v;pyZSml~j`lrsr;yRnaSW4sBHBR*$h-8KNDhg~ z@$+Sj*bFIbBm*9v>(>qGBYwn|Ncz@PRq7&sd8wQZl+9~2YGYY#5?`q06rCmC1jYeh z8u1&aNIjh$9Axz$ro-e7`XRH?W{o>Vq%DCt)>TD?X6B^&5)YrV49;ZWAM z;+Y@QQF4I(jLo<33|L0+^pQ%l+ik{&j=D@nm&<5!F`2Ost-MCxMQQjemZUyBgP|4A zKFgPPI$y|s(~S}ti9l3AR^b~C;kBSqJ%M0cxnU#x0h(Rk&)) z%eDB>c1z4+j#(@*GkzrOTAdwc3Onk(jZQ*-{}|XoBr)rw5I(nUJ$BpF))RNq$-lxM zT0KX{bG?;j!BsZyT6+iIS#P(uA3ciIy+QIJd6<5irvm7fB$&6?PCk5D@g|=BGIX?E zi%;-9fQP>vx_N!(tyf<~&K2m6&www`!`EASv-2Ag$m)njjZ5EHyuxTZkqxXNqOUF5 z$Pv^acygF1Ll=TAa-He%C6W!EWl0O!>T0#im*pwoU~3AodkpJUA?{J=)x#FQ--6F- zzs2hJTP=P@HR8qXIQxBuwPpwr{NkoNcb-8g`fr$w;Ok*?W&+I%vmso`O|UvF;F%v# zSssU!HJJ4m5RRV{qC7n#I+rJuXSr_+&k-mM=p7Dly+U8WyC9%kHKPE^i#yQu-s<0T8t6y|Y z$c4{Zy8Y17b4k(nfs^NX%KANd@{~DhGDXdnh}j(ZzA0?Bgw5u##T>?z6ug4dUtYtB z5#W^rE2uHYE3f*%C+JxpE9(^fggiio7;Fb1d!6LqPxkE-($UK+(%)Q8zi&l4{lrqb z_}&%i;$27w-YQ8kV0jY#)r8$VVQV9HyzeaTn{)Sg54&$!y1$RVZ_VAKUY6e`Y5-i3 z#d2~ReT78?H}fJkD@#-)e)!X$KHRl+=gzHfbi9A=-23eVbuS+J$ydIB{RP^t$-&oeRx70c!gcvNjHC71pwHe>&|iFS9DN zgN<6hMqXl)a>kN!dAznZE-x=Ja#B-?T;u;ibUZm0XqajUj3vjTg{vm>3rO6xrE0Xe zc(iJZD^3dXCs!2$N(UgipS}zz`^e+uT^>p|&QG|Ewn^ED0e1q{sBs|)ya_4^r@BhF z`)6kZ+vo`07MPt4LT5|vYv@chcBJ<2Yv^c9b=J=TKTMQjy&|I`!7469;a{4c-#b4~ z?%(muGdnUjtSASLn_Du4@MU>Z2+H$M%+Eiw<5TP*Tp-md7GI$T;L#^)67w%8l z9D4J%fu@khvU`oW!d!l1eqp|)+-yI96EF>C(dGeCo^REuENjXs&P1~5RHn5R*a?NV)X+}?OQjg!Fx{Gn@N;H&p*b!7F1RUHY1Up=7G6h(=lsBd`9TG#4TJ;IM7*ft49!(Q^<;*-2I zgG?ag{U-u(b`Wzg~%iG^aaSx4I(BtH{kppVSJpS zKc_7?uPte_jDZ{9&6Y7HV)Z!I5Jzh z#->&|)vmk3n~rq#9-oT)(tGNgwpBaj3RkN;+!r*$x3=7eHgk&~pl#p4s5Xwa-U_@R>YcuivDzRCV7-ZG>$21a9p^x2Eo2=e z$;J0)*G7G0E$lt9;ZSHe=2@?AlsVNJhg$8_s2$Rjp(oUN%VaDzc}r*KtrM}>#4TOP z?L8h(58{uv^;CMgw>=OVj6?^6HgmH|rg7_aZjD^tWVZd?%EhKEK0f8?+gVeyv(J2l2=i`UcYaJ1?Mj8!kX^ zu2kwwNV^6CAA5B|E4Yo9Nsu-TQnu7mYJ-4NSs-~J!xf}$puK&dk#5{XGVg7~A?D;^ zqWa8dGXMVdr!Rl)&Fbnm8E4thOH89e+n5aJAiss71V02PY__u`SYKEmSIFfmDAYz_ zc|As=?+@QODIe(}`0E*!Pn;gwaJO%xVQVrxP$NZ*&WD8jNOwhA(;rSw8^-*171iI^ z-BMUmSXe4)?cQJCP~YP6*i)WXNogTcTf8Z|*U?;;Vsp=e#ph@p*vpQyxT1g#LAnr( zstEX)&HZDM5JG4fDM4Qo+zS$g7||zCrj;t0z&9L6Nc+u!)}F1=$^NRHZH+YtLkZuY zGqQbS%}jS=pho7h_eL9}URQByups80=q!DpsI0#`IUJ?(P>qk1Hq z*H7L$PaRgZsjMLLqdd1wr7tUByQUf!??ME~F2oy`GdKme`U?1@fR@p?Ld-yuV)=b( z)84wey-l^z&9;73P_GLr`w-^wIi25R^6O@{NjmnowC(FC933n0awA$}Ugmpw2Gt;f zJhqX2_8Lbau}j=ZNT>f?e3Kr*$WhPto*?3&2;+UAN-t%-x#Z-}avhHzM4%brOqS#X zB>A4yF2B55UTAblr}gc=GLk2eO!O8M(CXbCHyqKkxPEiEkghsVTuVq&;hBwrOb zZb@qM^W2o0Yz?7keyNTY${e;46Q^C(GF>$`W)DZ}ViLKdVnnVhEy@cSI5DkG?q*a+ zLBQA)fvpq4D8a9P2npd|EH;jPi1EsmDmhM>&VkqY(cQW`(Fk!alZ`4f|HaY%TGL!T--w*%Z$xk z#Mx0rsMU&E0?_3O$U!mF2;I2v<7=JA@i2mZ@8|Px;^zi_Do+cNiME+5r!-O~jgZBpc?syz5P?D(f8O z)mBS_zC3h(dgih5a?>W2vSxpuKN6j&ZQNFqxx`uht(-ApwS>|6V$3FZe4vlCkQ2NF zW3mA7<0bTl8s)!D4eT+pM}YJh}t9_!HZLd=iNuwL`jQ*ZTMnISKB?Ax?(Wd`LS4X7Cu zg!vL86xqHZY}m`%&$IK?awyt%g{G(>=>J_Qh)8Rg4cwi~Fmq$1z+` zHW!26_v5MWVCD=NKHcA+dGw7(c9PF$M)p2J6tG3I8Q_PA7JU|Tc=Q(}dQQpVQ6t0p zKFM+i67AhPx;_0tXVTVFXR5VqEG2)R`AT7Vqos9wqWP0W<6{+8W7Hl>m6hqq?95YT zYa*NLfk6hH7Vl{Qj&d>kxp6xy2MbobMhsN(LmEGplcteRcc$;%659nTO*v`?L8X(? z<{in@C)R;VSG(&uP^r19X!ySA*-PVg^SDY`JD2uHViUEg?KNbm!sc(SFh(rakOA$r z0GKG+3*B{2*sfqNNn{REMdo$dJ~z4W2W_7ciQb`P*a+@OEl7V6KByD1oj!lC{q$$p{&sYzIdbuPX`j z7R*xMzsXX+Qu)R9q2adH;h{FW(`BeeE$p2oXh9GyaPaVF$&-PO(PgO(98aMVepZXd zeb&8BU8S%a3>JgdqShFVDy>afrR{Piy9m*$bfz>JG3vsKQl+$5+NgpBSgH!^t#OaW zRlJ(hdfBOb3bbT2$4hC9i7{c?$b}+5`1+S7D=WV;MaI`Pz531Ob@$8yPB|GSkkM=m zOy{^Li(w9r+63wbaOb*XAtk3am~FT6pjZXognjNtd@8hVUsxw@+=u}&@5 z7<%iK27{7)bQX(FYq5~wYM<6ww3bs;vpD z%r9ey*Y?@;QV?Xq&*KyJ^9|58` zAjS+F5m{^#~rZNjXw|2`Blz&kOY|a&A~ccMovv-_Oaa>P#&~P zA7uL?;A9JtsDj*WW44v!IM;&dtSt95ayfF6KsiA^D^4$gC57S^U2S{J>&b z^cq_BEBKSnBATQC*HIoX8}Ys^%nNZKJ4ds?xRslqjkK;i8Gn(`=B>@0Ct@!wwr-rA z9-f|=!G(=;U7{rU4|<6CF18W^qb+$TbBT;JFDxX9nV5RM^)2@1J!sP!dI+?10eeGz z`FV!TAh|#$pi}Wa$d9qxER7A{aJ6t;i>tE9fu*om{fH%xUUI?7ZiRnmo7ZHntTdZo z=w@@SN_am$k8vo37O{{<;7{23jM*G>Vd~7hEEpbROGZ4wI5FP1Nu|@NHl-%b-7a^x zd9q=%TBlP_G~8hBcDs7a=Nu`HLtrOc>gP#qHuqL~dd!olNu^4yoNSmd_j)SVn>XWL ztyVTWm)HFvbeHlTl%Mh(1Y3R@J`^$Yqrfi;Y@N?+$&|7y@LG++8u%!HS2l07NXZkK zQ{;#5PiHOxpIJ``@0nmUTZh$z4tS6tSD9Z%a9837VrB~1;HRiNo(R~Yvg5}MT>+_S zEtU;tz7a^8Ok`@|*8`q_MDlIa`lorrKI$Js%Ex)Y02gSArm=q|Otl!#VC<1_(hu(H zB^F}pyOYwVo5^VA(YB{Ej7DUOuc0jSU_3^rczsoPUc4-CWaQMA%p8+9sJjh&V}56O aZ_Kvb-kAR%L%{1i|JP#({@2F|i2fTH*T&BP literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/redhatdisplay_bolditalic.ttf b/app/src/main/res/font/redhatdisplay_bolditalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..428c430f4daae94b4feaeb7c61f756a9882aa6d5 GIT binary patch literal 50016 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

G9K{@AN3;X-M#Zt;Sh0-VUO6fikN*`kp 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 BanAq% literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/redhatdisplay_extrabold.ttf b/app/src/main/res/font/redhatdisplay_extrabold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..53fa55a3be8ab1706179673037c0442b11d37f2b GIT binary patch literal 47968 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/redhatdisplay_italic.ttf b/app/src/main/res/font/redhatdisplay_italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..353c11c91747c9b52139ed35261494124052adf5 GIT binary patch literal 50012 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/redhatdisplay_medium.ttf b/app/src/main/res/font/redhatdisplay_medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..032e44d3abb4d3f4ca9e7849bca6b2e0542c0142 GIT binary patch literal 47972 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 YeN8HVR&He1Dq>203VL62NdVsiBm-qwm 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 K@W0+WK=Pl|^^P?F literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/redhatdisplay_semibold.ttf b/app/src/main/res/font/redhatdisplay_semibold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..da13756d4d113407b62902e593d828482d9944e6 GIT binary patch literal 47980 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