diff --git a/app/src/main/kotlin/org/fossify/math/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/math/activities/SettingsActivity.kt index 6015b441..13f4c7e7 100644 --- a/app/src/main/kotlin/org/fossify/math/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/math/activities/SettingsActivity.kt @@ -5,21 +5,17 @@ import android.content.Intent import android.os.Bundle import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity -import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext import androidx.lifecycle.compose.collectAsStateWithLifecycle import org.fossify.commons.activities.CustomizationActivity -import org.fossify.commons.compose.alert_dialog.rememberAlertDialogState import org.fossify.commons.compose.extensions.enableEdgeToEdgeSimple import org.fossify.commons.compose.extensions.onEventValue import org.fossify.commons.compose.theme.AppThemeSurface import org.fossify.commons.compose.theme.getAppIconIds import org.fossify.commons.compose.theme.getAppLauncherName -import org.fossify.commons.dialogs.FeatureLockedAlertDialog -import org.fossify.commons.extensions.getCustomizeColorsString import org.fossify.commons.extensions.isOrWasThankYouInstalled import org.fossify.commons.extensions.launchPurchaseThankYouIntent import org.fossify.commons.helpers.APP_ICON_IDS @@ -58,13 +54,14 @@ class SettingsActivity : AppCompatActivity() { (wasUseEnglishToggledFlow || Locale.getDefault().language != "en") && !isTiramisuPlus() } } - val isOrWasThankYouInstalled = onEventValue { context.isOrWasThankYouInstalled() } + val isOrWasThankYouInstalled = onEventValue { + context.isOrWasThankYouInstalled(allowPretend = false) + } val displayLanguage = remember { Locale.getDefault().displayLanguage } - val featureLockedDialogState = getFeatureLockedDialogState() SettingsScreen( displayLanguage = displayLanguage, goBack = ::finish, - customizeColors = ::handleCustomizeColorsClick, + customizeColors = ::startCustomizationActivity, customizeWidgetColors = ::setupCustomizeWidgetColors, preventPhoneFromSleeping = preventPhoneFromSleeping, onPreventPhoneFromSleeping = preferences::preventPhoneFromSleeping::set, @@ -80,22 +77,12 @@ class SettingsActivity : AppCompatActivity() { }, onSetupLanguagePress = ::launchChangeAppLanguageIntent, showCheckmarksOnSwitches = showCheckmarksOnSwitches, - lockedCustomizeColorText = getCustomizeColorsString(), - featureLockedDialogState = featureLockedDialogState ) } } } - @Composable - private fun getFeatureLockedDialogState() = - rememberAlertDialogState().apply { - DialogMember { - FeatureLockedAlertDialog(alertDialogState = this, cancelCallback = {}) - } - } - - private fun handleCustomizeColorsClick() { + private fun startCustomizationActivity() { Intent(applicationContext, CustomizationActivity::class.java).apply { putExtra(APP_ICON_IDS, getAppIconIds()) putExtra(APP_LAUNCHER_NAME, getAppLauncherName()) diff --git a/app/src/main/kotlin/org/fossify/math/compose/SettingsScreen.kt b/app/src/main/kotlin/org/fossify/math/compose/SettingsScreen.kt index dd6e103c..f2e9cb8a 100644 --- a/app/src/main/kotlin/org/fossify/math/compose/SettingsScreen.kt +++ b/app/src/main/kotlin/org/fossify/math/compose/SettingsScreen.kt @@ -5,8 +5,6 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewParameter -import org.fossify.commons.compose.alert_dialog.AlertDialogState -import org.fossify.commons.compose.alert_dialog.rememberAlertDialogState import org.fossify.commons.compose.extensions.BooleanPreviewParameterProvider import org.fossify.commons.compose.extensions.MyDevices import org.fossify.commons.compose.lists.SimpleColumnScaffold @@ -35,9 +33,7 @@ internal fun SettingsScreen( onUseEnglishPress: (Boolean) -> Unit, onSetupLanguagePress: () -> Unit, showCheckmarksOnSwitches: Boolean, - lockedCustomizeColorText: String, - displayLanguage: String, - featureLockedDialogState: AlertDialogState + displayLanguage: String ) { SimpleColumnScaffold( title = stringResource(id = org.fossify.commons.R.string.settings), @@ -47,13 +43,9 @@ internal fun SettingsScreen( SettingsTitleTextComponent(text = stringResource(id = org.fossify.commons.R.string.color_customization)) }) { SettingsPreferenceComponent( - label = lockedCustomizeColorText, + label = stringResource(id = org.fossify.commons.R.string.customize_colors), doOnPreferenceClick = { - if (isOrWasThankYouInstalled) { - customizeColors() - } else { - featureLockedDialogState.show() - } + customizeColors() }, preferenceLabelColor = MaterialTheme.colorScheme.onSurface ) @@ -123,9 +115,7 @@ private fun SettingsScreenPreview( isUseEnglishChecked = false, onUseEnglishPress = {}, onSetupLanguagePress = {}, - lockedCustomizeColorText = "Customize Colors", displayLanguage = "English", - featureLockedDialogState = rememberAlertDialogState(), showCheckmarksOnSwitches = showCheckmarksOnSwitches ) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4fa222da..d8a0a0d1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -21,7 +21,7 @@ evalex = "3.5.0" #Room room = "2.7.2" #Fossify -commons = "4.4.2" +commons = "5.0.0" #Gradle gradlePlugins-agp = "8.11.1" #build