Skip to content

Commit

Permalink
fix: Prevent onboarding screen reentry after install, dependency upda…
Browse files Browse the repository at this point in the history
…tes and cleanup

- Prevents users from navigating back to the onboarding screen after accepting the terms and conditions on a fresh install.
- Updates project dependencies to their latest versions.
- Removes unused project dependencies to reduce build size and potential conflicts.
- Corrects the privacy settings title from "Settings" to its proper name.
- Removes unused resources to further optimize the application.
  • Loading branch information
Mihai-Cristian Condrea committed Dec 12, 2024
1 parent fd063a7 commit 9ce1402
Show file tree
Hide file tree
Showing 25 changed files with 83 additions and 126 deletions.
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
# Version 1.1.3:

- **Fix**: Prevented users from navigating back to the onboarding screen after accepting the terms
and conditions on a fresh install.
- **Fix**: Fixed an issue where text inputs would grow vertically when the user pressed enter
repeatedly.
- **Minor**: Updated project dependencies to their latest versions.
- **Minor**: Removed unused project dependencies to reduce build size and potential conflicts.
- **Fix**: Corrected the privacy settings title from "Settings" to its proper name.
- **Minor**: Removed unused resources to further optimize the application.

# Version 1.1.2:

- **Minor**: Text fields now offer a more intuitive keyboard experience.
Expand Down
68 changes: 32 additions & 36 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ android {
applicationId = "com.d4rk.cartcalculator"
minSdk = 23
targetSdk = 35
versionCode = 75
versionName = "1.1.2"
versionCode = 76
versionName = "1.1.3"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
resourceConfigurations += listOf(
"en" ,
Expand Down Expand Up @@ -94,19 +94,13 @@ android {
}

dependencies {
// Firebase
implementation(dependencyNotation = platform(libs.firebase.bom))
implementation(dependencyNotation = libs.firebase.crashlytics.ktx)
implementation(dependencyNotation = libs.firebase.analytics.ktx)
implementation(dependencyNotation = libs.firebase.perf)

// Google
implementation(dependencyNotation = libs.play.services.ads)
implementation(dependencyNotation = libs.billing)
implementation(dependencyNotation = libs.material)
implementation(dependencyNotation = libs.review.ktx)
implementation(dependencyNotation = libs.app.update.ktx)
implementation(dependencyNotation = libs.volley)
// AndroidX
implementation(dependencyNotation = libs.androidx.core.ktx)
implementation(dependencyNotation = libs.androidx.appcompat)
implementation(dependencyNotation = libs.androidx.core.splashscreen)
implementation(dependencyNotation = libs.androidx.multidex)
implementation(dependencyNotation = libs.androidx.work.runtime.ktx)

// Compose
implementation(dependencyNotation = platform(libs.androidx.compose.bom))
Expand All @@ -124,38 +118,40 @@ dependencies {
implementation(dependencyNotation = libs.androidx.datastore.preferences)
implementation(dependencyNotation = libs.androidx.navigation.compose)

// AndroidX
implementation(dependencyNotation = libs.androidx.core.ktx)
implementation(dependencyNotation = libs.androidx.appcompat)
implementation(dependencyNotation = libs.androidx.core.splashscreen)
// Firebase
implementation(dependencyNotation = platform(libs.firebase.bom))
implementation(dependencyNotation = libs.firebase.crashlytics.ktx)
implementation(dependencyNotation = libs.firebase.analytics.ktx)
implementation(dependencyNotation = libs.firebase.perf)

// Google
implementation(dependencyNotation = libs.play.services.ads)
implementation(dependencyNotation = libs.billing)
implementation(dependencyNotation = libs.material)
implementation(dependencyNotation = libs.review.ktx)
implementation(dependencyNotation = libs.app.update.ktx)
implementation(dependencyNotation = libs.volley)

// Images
implementation(dependencyNotation = libs.coil.compose)

// Lifecycle
implementation(dependencyNotation = libs.androidx.lifecycle.runtime.ktx)
implementation(dependencyNotation = libs.androidx.lifecycle.process)
implementation(dependencyNotation = libs.androidx.lifecycle.common.java8)
implementation(dependencyNotation = libs.androidx.lifecycle.livedata.ktx)
implementation(dependencyNotation = libs.androidx.lifecycle.process)
implementation(dependencyNotation = libs.androidx.lifecycle.viewmodel.ktx)
implementation(dependencyNotation = libs.androidx.multidex)
implementation(dependencyNotation = libs.androidx.work.runtime.ktx)
implementation(dependencyNotation = libs.androidx.lifecycle.viewmodel.compose)
implementation(dependencyNotation = libs.androidx.lifecycle.runtime.compose)

// Kotlin
implementation(dependencyNotation = libs.kotlinx.coroutines.android)

// KSP
ksp(dependencyNotation = libs.androidx.room.compiler)
implementation(dependencyNotation = libs.androidx.room.ktx)
implementation(dependencyNotation = libs.androidx.room.runtime)

// Kotlin
implementation(dependencyNotation = libs.kotlinx.coroutines.android)

// Image Compression
implementation(dependencyNotation = libs.coil.compose)

// About
implementation(dependencyNotation = libs.aboutlibraries)
implementation(dependencyNotation = libs.core)

// Test
testImplementation(dependencyNotation = libs.junit)
androidTestImplementation(dependencyNotation = libs.androidx.junit)
androidTestImplementation(dependencyNotation = libs.androidx.espresso.core)
androidTestImplementation(dependencyNotation = libs.ui.test.junit4)
debugImplementation(dependencyNotation = libs.androidx.ui.tooling)
debugImplementation(dependencyNotation = libs.androidx.ui.test.manifest)
}
4 changes: 3 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@
android:theme="@style/AppTheme"
tools:targetApi="33">

<activity android:name=".ui.screens.startup.StartupActivity" />
<activity
android:name=".ui.screens.startup.StartupActivity"
android:noHistory="true" />

<activity
android:name=".ui.screens.main.MainActivity"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.graphicsLayer
import com.d4rk.cartcalculator.ui.components.animations.bounceClick
import com.d4rk.cartcalculator.ui.components.modifiers.bounceClick

@Composable
fun AnimatedExtendedFloatingActionButton(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ fun AddNewCartAlertDialogContent(

Column {
OutlinedTextField(value = nameText.value ,
singleLine = true ,
onValueChange = { nameText.value = it } ,
label = { Text(text = stringResource(id = R.string.cart_name)) } ,
keyboardOptions = KeyboardOptions(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ fun AddNewCartItemAlertDialog(

@Composable
fun AddNewCartItemAlertDialogContent(
cartId : Int ,
newCartItem : MutableState<ShoppingCartItemsTable?>
cartId : Int , newCartItem : MutableState<ShoppingCartItemsTable?>
) {
val nameText = remember { mutableStateOf(value = "") }
val priceText = remember { mutableStateOf(value = "") }
Expand All @@ -73,6 +72,7 @@ fun AddNewCartItemAlertDialogContent(

Column {
OutlinedTextField(value = nameText.value ,
singleLine = true ,
onValueChange = { nameText.value = it } ,
label = { Text(text = stringResource(id = R.string.item_name)) } ,
keyboardOptions = KeyboardOptions(
Expand All @@ -84,16 +84,19 @@ fun AddNewCartItemAlertDialogContent(
modifier = Modifier.focusRequester(nameFocusRequester))

OutlinedTextField(value = priceText.value ,
singleLine = true ,
onValueChange = { priceText.value = it } ,
label = { Text(text = stringResource(id = R.string.item_price)) } ,
placeholder = { Text(text = stringResource(id = R.string.enter_item_price)) } ,
keyboardOptions = KeyboardOptions(
keyboardType = KeyboardType.Number , imeAction = ImeAction.Next
) ,
keyboardActions = KeyboardActions(onNext = { quantityFocusRequester.requestFocus() }) ,
modifier = Modifier.focusRequester(priceFocusRequester))
modifier = Modifier.focusRequester(priceFocusRequester)
)

OutlinedTextField(value = quantityText.value ,
singleLine = true ,
onValueChange = { quantityText.value = it } ,
label = { Text(text = stringResource(id = R.string.quantity)) } ,
placeholder = { Text(text = stringResource(id = R.string.enter_quantity)) } ,
Expand All @@ -103,15 +106,16 @@ fun AddNewCartItemAlertDialogContent(
keyboardActions = KeyboardActions(onDone = {
keyboardController?.hide()
}) ,
modifier = Modifier.focusRequester(quantityFocusRequester))
modifier = Modifier.focusRequester(quantityFocusRequester)
)

Spacer(modifier = Modifier.height(24.dp))
Icon(imageVector = Icons.Outlined.Info , contentDescription = null)
Spacer(modifier = Modifier.height(12.dp))
Text(stringResource(id = R.string.dialog_info_cart_item))
}

if (nameText.value.isNotEmpty() && priceText.value.isNotEmpty() && quantityText.value.isNotEmpty()) {
if (nameText.value.isNotBlank() && priceText.value.isNotBlank() && quantityText.value.isNotBlank()) {
val price = priceText.value.replace(oldChar = ',' , newChar = '.').toDoubleOrNull()
val quantity = quantityText.value.toIntOrNull()
if (price != null && quantity != null) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.d4rk.cartcalculator.ui.components.animations
package com.d4rk.cartcalculator.ui.components.modifiers

import android.content.Context
import androidx.compose.animation.core.animateFloatAsState
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import com.d4rk.cartcalculator.R
import com.d4rk.cartcalculator.data.model.ui.navigation.NavigationDrawerItem
import com.d4rk.cartcalculator.ui.components.animations.bounceClick
import com.d4rk.cartcalculator.ui.components.animations.hapticDrawerSwipe
import com.d4rk.cartcalculator.ui.components.modifiers.bounceClick
import com.d4rk.cartcalculator.ui.components.modifiers.hapticDrawerSwipe
import com.d4rk.cartcalculator.ui.screens.help.HelpActivity
import com.d4rk.cartcalculator.ui.screens.main.MainScreenContent
import com.d4rk.cartcalculator.utils.IntentUtils
Expand Down Expand Up @@ -119,11 +119,6 @@ fun NavigationDrawer(
contentDescription = title
)
} ,
badge = {
item.badgeText.isNotBlank().let {
Text(text = item.badgeText)
}
} ,
modifier = Modifier
.padding(
NavigationDrawerItemDefaults.ItemPadding
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.res.stringResource
import com.d4rk.cartcalculator.R
import com.d4rk.cartcalculator.ui.components.animations.bounceClick
import com.d4rk.cartcalculator.ui.components.modifiers.bounceClick
import com.d4rk.cartcalculator.ui.screens.support.SupportActivity
import com.d4rk.cartcalculator.utils.IntentUtils
import kotlinx.coroutines.CoroutineScope
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ import com.d4rk.cartcalculator.data.database.table.ShoppingCartItemsTable
import com.d4rk.cartcalculator.data.datastore.DataStore
import com.d4rk.cartcalculator.data.model.ui.screens.UiCartModel
import com.d4rk.cartcalculator.ui.components.ads.AdBanner
import com.d4rk.cartcalculator.ui.components.animations.animateVisibility
import com.d4rk.cartcalculator.ui.components.animations.bounceClick
import com.d4rk.cartcalculator.ui.components.animations.hapticSwipeToDismissBox
import com.d4rk.cartcalculator.ui.components.modifiers.animateVisibility
import com.d4rk.cartcalculator.ui.components.modifiers.bounceClick
import com.d4rk.cartcalculator.ui.components.modifiers.hapticSwipeToDismissBox
import com.d4rk.cartcalculator.ui.components.dialogs.AddNewCartItemAlertDialog
import com.d4rk.cartcalculator.ui.components.dialogs.DeleteCartItemAlertDialog
import java.util.Locale
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import com.d4rk.cartcalculator.R
import com.d4rk.cartcalculator.ui.components.AnimatedExtendedFloatingActionButton
import com.d4rk.cartcalculator.ui.components.animations.bounceClick
import com.d4rk.cartcalculator.ui.components.modifiers.bounceClick
import com.d4rk.cartcalculator.ui.components.dialogs.VersionInfoAlertDialog
import com.d4rk.cartcalculator.utils.IntentUtils
import com.d4rk.cartcalculator.utils.rememberHtmlData
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ import androidx.compose.ui.unit.dp
import com.d4rk.cartcalculator.R
import com.d4rk.cartcalculator.data.database.table.ShoppingCartTable
import com.d4rk.cartcalculator.data.model.ui.screens.UiHomeModel
import com.d4rk.cartcalculator.ui.components.animations.animateVisibility
import com.d4rk.cartcalculator.ui.components.animations.bounceClick
import com.d4rk.cartcalculator.ui.components.animations.hapticSwipeToDismissBox
import com.d4rk.cartcalculator.ui.components.modifiers.animateVisibility
import com.d4rk.cartcalculator.ui.components.modifiers.bounceClick
import com.d4rk.cartcalculator.ui.components.modifiers.hapticSwipeToDismissBox
import com.d4rk.cartcalculator.ui.components.dialogs.AddNewCartAlertDialog
import com.d4rk.cartcalculator.ui.components.dialogs.DeleteCartAlertDialog
import java.text.SimpleDateFormat
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import androidx.compose.ui.unit.dp
import com.d4rk.cartcalculator.R
import com.d4rk.cartcalculator.data.datastore.DataStore
import com.d4rk.cartcalculator.ui.components.SwitchCardComposable
import com.d4rk.cartcalculator.ui.components.animations.bounceClick
import com.d4rk.cartcalculator.ui.components.modifiers.bounceClick
import com.d4rk.cartcalculator.ui.components.navigation.TopAppBarScaffoldWithBackButton
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import com.d4rk.cartcalculator.utils.IntentUtils
fun PrivacySettingsComposable(activity: PrivacySettingsActivity) {
val context: Context = LocalContext.current
TopAppBarScaffoldWithBackButton(
title = stringResource(id = R.string.settings),
title = stringResource(id = R.string.security_and_privacy),
onBackClicked = { activity.finish() }) { paddingValues ->
LazyColumn(
modifier = Modifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import com.d4rk.cartcalculator.R
import com.d4rk.cartcalculator.data.datastore.DataStore
import com.d4rk.cartcalculator.ui.components.PreferenceItem
import com.d4rk.cartcalculator.ui.components.SwitchCardComposable
import com.d4rk.cartcalculator.ui.components.animations.bounceClick
import com.d4rk.cartcalculator.ui.components.modifiers.bounceClick
import com.d4rk.cartcalculator.ui.components.navigation.TopAppBarScaffoldWithBackButton
import com.d4rk.cartcalculator.utils.IntentUtils
import com.google.android.ump.ConsentInformation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ import com.d4rk.cartcalculator.BuildConfig
import com.d4rk.cartcalculator.R
import com.d4rk.cartcalculator.data.datastore.DataStore
import com.d4rk.cartcalculator.ui.components.SwitchCardComposable
import com.d4rk.cartcalculator.ui.components.animations.bounceClick
import com.d4rk.cartcalculator.ui.components.modifiers.bounceClick
import com.d4rk.cartcalculator.ui.components.navigation.TopAppBarScaffoldWithBackButton
import com.d4rk.cartcalculator.utils.IntentUtils
import kotlinx.coroutines.CoroutineScope
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ import com.d4rk.cartcalculator.R
import com.d4rk.cartcalculator.ui.screens.main.MainActivity
import com.d4rk.cartcalculator.utils.IntentUtils
import com.d4rk.cartcalculator.utils.PermissionsUtils
import com.d4rk.cartcalculator.ui.components.animations.bounceClick
import com.d4rk.cartcalculator.ui.components.modifiers.bounceClick
import com.d4rk.cartcalculator.ui.components.navigation.TopAppBarScaffold

@Composable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ import com.d4rk.cartcalculator.R
import com.d4rk.cartcalculator.ui.components.ads.LargeBannerAdsComposable
import com.d4rk.cartcalculator.data.datastore.DataStore
import com.d4rk.cartcalculator.utils.IntentUtils
import com.d4rk.cartcalculator.ui.components.animations.bounceClick
import com.d4rk.cartcalculator.ui.components.modifiers.bounceClick
import com.d4rk.cartcalculator.ui.components.navigation.TopAppBarScaffoldWithBackButton

@Composable
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.d4rk.cartcalculator.utils

import android.app.Application
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.State
Expand All @@ -19,11 +18,11 @@ import java.net.HttpURLConnection
import java.net.URL

object OpenSourceLicensesUtils {
const val packageName = BuildConfig.APPLICATION_ID
private const val PACKAGE_NAME = BuildConfig.APPLICATION_ID

private suspend fun getChangelogMarkdown(): String {
return withContext(Dispatchers.IO) {
val url = URL("https://raw.githubusercontent.com/D4rK7355608/$packageName/refs/heads/master/CHANGELOG.md")
val url = URL("https://raw.githubusercontent.com/D4rK7355608/$PACKAGE_NAME/refs/heads/master/CHANGELOG.md")
(url.openConnection() as? HttpURLConnection)?.let { connection ->
try {
connection.requestMethod = "GET"
Expand All @@ -43,7 +42,7 @@ object OpenSourceLicensesUtils {

private suspend fun getEulaMarkdown(): String {
return withContext(Dispatchers.IO) {
val url = URL("https://raw.githubusercontent.com/D4rK7355608/$packageName/refs/heads/master/EULA.md")
val url = URL("https://raw.githubusercontent.com/D4rK7355608/$PACKAGE_NAME/refs/heads/master/EULA.md")
(url.openConnection() as? HttpURLConnection)?.let { connection ->
try {
connection.requestMethod = "GET"
Expand Down
11 changes: 0 additions & 11 deletions app/src/main/res/values-night-v27/themes.xml

This file was deleted.

10 changes: 0 additions & 10 deletions app/src/main/res/values-night/themes.xml

This file was deleted.

11 changes: 0 additions & 11 deletions app/src/main/res/values-v27/themes.xml

This file was deleted.

Loading

0 comments on commit 9ce1402

Please sign in to comment.