mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-07-02 03:56:23 +01:00
Add intrumented testing and a small fix for nav from shortcuts.
This commit is contained in:
@@ -144,21 +144,7 @@ class MainNavigationViewModel(
|
||||
|
||||
viewModelScope.launch {
|
||||
internalDetailLocation.collect { location ->
|
||||
when (location) {
|
||||
is MainNavigationDetailLocation.Conversation -> {
|
||||
internalActiveChatThreadId.update { location.controllerKey }
|
||||
}
|
||||
|
||||
is MainNavigationDetailLocation.CallLinkDetails -> {
|
||||
internalActiveCallId.update { location.controllerKey }
|
||||
}
|
||||
|
||||
is MainNavigationDetailLocation.Calls -> {
|
||||
internalActiveCallId.update { location.controllerKey }
|
||||
}
|
||||
|
||||
else -> Unit
|
||||
}
|
||||
updateActiveStateForLocation(location)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -187,8 +173,9 @@ class MainNavigationViewModel(
|
||||
|
||||
earlyFocusedPaneRequested = null
|
||||
|
||||
earlyNavigationDetailLocationRequested?.let {
|
||||
goTo(it)
|
||||
earlyNavigationDetailLocationRequested?.let { detail ->
|
||||
lockPaneToSecondary = false
|
||||
updateActiveStateForLocation(detail)
|
||||
}
|
||||
|
||||
return this.navigator!!
|
||||
@@ -238,6 +225,24 @@ class MainNavigationViewModel(
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateActiveStateForLocation(location: MainNavigationDetailLocation) {
|
||||
when (location) {
|
||||
is MainNavigationDetailLocation.Conversation -> {
|
||||
internalActiveChatThreadId.update { location.controllerKey }
|
||||
}
|
||||
|
||||
is MainNavigationDetailLocation.CallLinkDetails -> {
|
||||
internalActiveCallId.update { location.controllerKey }
|
||||
}
|
||||
|
||||
is MainNavigationDetailLocation.Calls -> {
|
||||
internalActiveCallId.update { location.controllerKey }
|
||||
}
|
||||
|
||||
else -> Unit
|
||||
}
|
||||
}
|
||||
|
||||
private fun goToConversation(location: MainNavigationDetailLocation.Conversation) = viewModelScope.launch {
|
||||
val args = location.conversationArgs
|
||||
val liveRecipient = Recipient.live(args.recipientId)
|
||||
|
||||
Reference in New Issue
Block a user