Support enabling optimized storage after proceeding through upgrade sheet.

This commit is contained in:
Alex Hart
2024-10-18 12:46:50 -03:00
committed by Greyson Parrelli
parent 6c326f672d
commit 4460c45c31
2 changed files with 22 additions and 0 deletions

View File

@@ -12,7 +12,9 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
import androidx.fragment.app.setFragmentResult
import androidx.fragment.app.setFragmentResultListener
import kotlinx.coroutines.rx3.asFlowable
import org.signal.core.ui.Dialogs
import org.thoughtcrime.securesms.backup.v2.MessageBackupTier
@@ -32,6 +34,18 @@ abstract class UpgradeToPaidTierBottomSheet : ComposeBottomSheetDialogFragment()
companion object {
const val RESULT_KEY = "UpgradeToPaidTierBottomSheet.RESULT_KEY"
fun addResultListener(fragment: Fragment, onUpgradedToPaidTier: () -> Unit) {
fragment.setFragmentResultListener(RESULT_KEY) { key, bundle ->
if (RESULT_KEY == key) {
val didCompleteSignup = bundle.getBoolean(RESULT_KEY, false)
if (didCompleteSignup) {
onUpgradedToPaidTier()
}
}
}
}
}
private val viewModel: MessageBackupsFlowViewModel by viewModel {

View File

@@ -5,6 +5,7 @@
package org.thoughtcrime.securesms.components.settings.app.storage
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.widget.TextView
@@ -63,6 +64,7 @@ import org.signal.core.ui.Texts
import org.signal.core.ui.theme.SignalTheme
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.billing.upgrade.UpgradeToEnableOptimizedStorageSheet
import org.thoughtcrime.securesms.billing.upgrade.UpgradeToPaidTierBottomSheet
import org.thoughtcrime.securesms.compose.ComposeFragment
import org.thoughtcrime.securesms.database.MediaTable
import org.thoughtcrime.securesms.keyvalue.KeepMessagesDuration
@@ -82,6 +84,12 @@ class ManageStorageSettingsFragment : ComposeFragment() {
private val viewModel by viewModel<ManageStorageSettingsViewModel> { ManageStorageSettingsViewModel() }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
UpgradeToPaidTierBottomSheet.addResultListener(this) {
viewModel.setOptimizeStorage(true)
}
}
@ExperimentalMaterial3Api
@Composable
override fun FragmentContent() {