Add loading screen to linked devices.

This commit is contained in:
Michelle Tang
2024-06-10 10:08:00 -07:00
committed by Alex Hart
parent 571004df50
commit bfe2b5cba9
3 changed files with 8 additions and 4 deletions

View File

@@ -81,14 +81,14 @@ class LinkDeviceFragment : ComposeFragment() {
LaunchedEffect(state.showFinishedSheet) {
if (state.showFinishedSheet) {
findNavController().safeNavigate(R.id.action_linkDeviceFragment_to_linkDeviceFinishedSheet)
navController.safeNavigate(R.id.action_linkDeviceFragment_to_linkDeviceFinishedSheet)
viewModel.markFinishedSheetSeen()
}
}
Scaffolds.Settings(
title = stringResource(id = R.string.preferences__linked_devices),
onNavigationClick = { findNavController().popOrFinish() },
onNavigationClick = { navController.popOrFinish() },
navigationIconPainter = painterResource(id = R.drawable.ic_arrow_left_24),
navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close)
) { contentPadding: PaddingValues ->
@@ -122,7 +122,9 @@ fun DeviceDescriptionScreen(
onRemoveDevice: (Device) -> Unit = {}
) {
if (state.progressDialogMessage != -1) {
if (navController?.currentDestination?.id == R.id.linkDeviceFinishedSheet) {
if (navController?.currentDestination?.id == R.id.linkDeviceFinishedSheet &&
state.progressDialogMessage == R.string.LinkDeviceFragment__linking_device
) {
navController.popBackStack()
}
Dialogs.IndeterminateProgressDialog(stringResource(id = state.progressDialogMessage))

View File

@@ -76,7 +76,7 @@ class LinkDeviceViewModel : ViewModel() {
return
}
_state.value = _state.value.copy(
progressDialogMessage = if (isPotentialNewDevice) R.string.LinkDeviceFragment__linking_device else -1,
progressDialogMessage = if (isPotentialNewDevice) R.string.LinkDeviceFragment__linking_device else R.string.LinkDeviceFragment__loading,
pendingNewDevice = if (isPotentialNewDevice) false else _state.value.pendingNewDevice
)
viewModelScope.launch(Dispatchers.IO) {

View File

@@ -885,6 +885,8 @@
<string name="LinkDeviceFragment__linking_device">Linking device…</string>
<!-- Toast message shown after a device has been linked -->
<string name="LinkDeviceFragment__device_approved">Device approved</string>
<!-- Progress dialog message indicating that the list of linked devices is currently loading -->
<string name="LinkDeviceFragment__loading">Loading…</string>
<!-- AddLinkDeviceFragment -->
<!-- Description text shown on the QR code scanner when linking a device -->