Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 66e4b949 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Bug fix caused by animation." into udc-dev am: 58897d9b am:...

Merge "Merge "Bug fix caused by animation." into udc-dev am: 58897d9b am: f77dfeb4 am: c2fb635e" into udc-qpr-dev-plus-aosp
parents 67eeab94 61e236a9
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -49,6 +49,7 @@ class CredentialManagerRepo(
    private val context: Context,
    private val context: Context,
    intent: Intent,
    intent: Intent,
    userConfigRepo: UserConfigRepo,
    userConfigRepo: UserConfigRepo,
    isNewActivity: Boolean,
) {
) {
    val requestInfo: RequestInfo?
    val requestInfo: RequestInfo?
    private val providerEnabledList: List<ProviderData>
    private val providerEnabledList: List<ProviderData>
@@ -125,7 +126,8 @@ class CredentialManagerRepo(
                        isPasskeyFirstUse = isPasskeyFirstUse,
                        isPasskeyFirstUse = isPasskeyFirstUse,
                    )!!,
                    )!!,
                    getCredentialUiState = null,
                    getCredentialUiState = null,
                    cancelRequestState = cancelUiRequestState
                    cancelRequestState = cancelUiRequestState,
                    isInitialRender = isNewActivity,
                )
                )
            }
            }
            RequestInfo.TYPE_GET -> {
            RequestInfo.TYPE_GET -> {
@@ -140,7 +142,8 @@ class CredentialManagerRepo(
                    if (autoSelectEntry == null) ProviderActivityState.NOT_APPLICABLE
                    if (autoSelectEntry == null) ProviderActivityState.NOT_APPLICABLE
                    else ProviderActivityState.READY_TO_LAUNCH,
                    else ProviderActivityState.READY_TO_LAUNCH,
                    isAutoSelectFlow = autoSelectEntry != null,
                    isAutoSelectFlow = autoSelectEntry != null,
                    cancelRequestState = cancelUiRequestState
                    cancelRequestState = cancelUiRequestState,
                    isInitialRender = isNewActivity,
                )
                )
            }
            }
            else -> {
            else -> {
@@ -149,6 +152,7 @@ class CredentialManagerRepo(
                        createCredentialUiState = null,
                        createCredentialUiState = null,
                        getCredentialUiState = null,
                        getCredentialUiState = null,
                        cancelRequestState = cancelUiRequestState,
                        cancelRequestState = cancelUiRequestState,
                        isInitialRender = isNewActivity,
                    )
                    )
                } else {
                } else {
                    throw IllegalStateException("Unrecognized request type: ${requestInfo?.type}")
                    throw IllegalStateException("Unrecognized request type: ${requestInfo?.type}")
+4 −2
Original line number Original line Diff line number Diff line
@@ -62,7 +62,8 @@ class CredentialSelectorActivity : ComponentActivity() {
                return
                return
            }
            }
            val userConfigRepo = UserConfigRepo(this)
            val userConfigRepo = UserConfigRepo(this)
            val credManRepo = CredentialManagerRepo(this, intent, userConfigRepo)
            val credManRepo = CredentialManagerRepo(
                this, intent, userConfigRepo, isNewActivity = true)


            val backPressedCallback = object : OnBackPressedCallback(
            val backPressedCallback = object : OnBackPressedCallback(
                true // default to enabled
                true // default to enabled
@@ -103,7 +104,8 @@ class CredentialSelectorActivity : ComponentActivity() {
                }
                }
            } else {
            } else {
                val userConfigRepo = UserConfigRepo(this)
                val userConfigRepo = UserConfigRepo(this)
                val credManRepo = CredentialManagerRepo(this, intent, userConfigRepo)
                val credManRepo = CredentialManagerRepo(
                    this, intent, userConfigRepo, isNewActivity = false)
                viewModel.onNewCredentialManagerRepo(credManRepo)
                viewModel.onNewCredentialManagerRepo(credManRepo)
            }
            }
        } catch (e: Exception) {
        } catch (e: Exception) {
+6 −1
Original line number Original line Diff line number Diff line
@@ -53,6 +53,7 @@ data class UiState(
    // launched immediately, and canceling it will cancel the whole UI flow.
    // launched immediately, and canceling it will cancel the whole UI flow.
    val isAutoSelectFlow: Boolean = false,
    val isAutoSelectFlow: Boolean = false,
    val cancelRequestState: CancelUiRequestState?,
    val cancelRequestState: CancelUiRequestState?,
    val isInitialRender: Boolean,
)
)


data class CancelUiRequestState(
data class CancelUiRequestState(
@@ -82,6 +83,10 @@ class CredentialSelectorViewModel(
        uiState = uiState.copy(dialogState = DialogState.COMPLETE)
        uiState = uiState.copy(dialogState = DialogState.COMPLETE)
    }
    }


    fun onInitialRenderComplete() {
        uiState = uiState.copy(isInitialRender = false)
    }

    fun onCancellationUiRequested(appDisplayName: String?) {
    fun onCancellationUiRequested(appDisplayName: String?) {
        uiState = uiState.copy(cancelRequestState = CancelUiRequestState(appDisplayName))
        uiState = uiState.copy(cancelRequestState = CancelUiRequestState(appDisplayName))
    }
    }
@@ -96,7 +101,7 @@ class CredentialSelectorViewModel(


    fun onNewCredentialManagerRepo(credManRepo: CredentialManagerRepo) {
    fun onNewCredentialManagerRepo(credManRepo: CredentialManagerRepo) {
        this.credManRepo = credManRepo
        this.credManRepo = credManRepo
        uiState = credManRepo.initState()
        uiState = credManRepo.initState().copy(isInitialRender = false)


        if (this.credManRepo.requestInfo?.token != credManRepo.requestInfo?.token) {
        if (this.credManRepo.requestInfo?.token != credManRepo.requestInfo?.token) {
            this.uiMetrics.resetInstanceId()
            this.uiMetrics.resetInstanceId()
+4 −7
Original line number Original line Diff line number Diff line
@@ -20,10 +20,6 @@ import androidx.compose.foundation.background
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Modifier
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Color
@@ -40,9 +36,10 @@ import kotlinx.coroutines.launch
@Composable
@Composable
fun ModalBottomSheet(
fun ModalBottomSheet(
    sheetContent: @Composable ColumnScope.() -> Unit,
    sheetContent: @Composable ColumnScope.() -> Unit,
    onDismiss: () -> Unit
    onDismiss: () -> Unit,
    isInitialRender: Boolean,
    onInitialRenderComplete: () -> Unit,
) {
) {
    var isInitialRender by remember { mutableStateOf(true) }
    val scope = rememberCoroutineScope()
    val scope = rememberCoroutineScope()
    val state = rememberModalBottomSheetState(
    val state = rememberModalBottomSheetState(
        initialValue = ModalBottomSheetValue.Hidden,
        initialValue = ModalBottomSheetValue.Hidden,
@@ -64,7 +61,7 @@ fun ModalBottomSheet(
    LaunchedEffect(state.currentValue) {
    LaunchedEffect(state.currentValue) {
        if (state.currentValue == ModalBottomSheetValue.Hidden) {
        if (state.currentValue == ModalBottomSheetValue.Hidden) {
            if (isInitialRender) {
            if (isInitialRender) {
                isInitialRender = false
                onInitialRenderComplete()
                scope.launch { state.show() }
                scope.launch { state.show() }
            } else {
            } else {
                onDismiss()
                onDismiss()
+3 −1
Original line number Original line Diff line number Diff line
@@ -164,7 +164,9 @@ fun CreateCredentialScreen(
                }
                }
            }
            }
        },
        },
        onDismiss = viewModel::onUserCancel
        onDismiss = viewModel::onUserCancel,
        isInitialRender = viewModel.uiState.isInitialRender,
        onInitialRenderComplete = viewModel::onInitialRenderComplete,
    )
    )
}
}


Loading