Skip to content

Commit b9b9016

Browse files
PM-10725: Always show share sheet after creating send regardless of how it was made (#4841)
1 parent 778a630 commit b9b9016

File tree

2 files changed

+14
-52
lines changed

2 files changed

+14
-52
lines changed

app/src/main/java/com/x8bit/bitwarden/ui/tools/feature/send/addsend/AddSendViewModel.kt

+6-14
Original file line numberDiff line numberDiff line change
@@ -199,20 +199,12 @@ class AddSendViewModel @Inject constructor(
199199

200200
is CreateSendResult.Success -> {
201201
mutableStateFlow.update { it.copy(dialogState = null) }
202-
if (state.isShared) {
203-
navigateBack()
204-
clipboardManager.setText(
205-
result.sendView.toSendUrl(state.baseWebSendUrl),
206-
toastDescriptorOverride = R.string.send_link.asText(),
207-
)
208-
} else {
209-
navigateBack()
210-
sendEvent(
211-
AddSendEvent.ShowShareSheet(
212-
message = result.sendView.toSendUrl(state.baseWebSendUrl),
213-
),
214-
)
215-
}
202+
navigateBack()
203+
sendEvent(
204+
AddSendEvent.ShowShareSheet(
205+
message = result.sendView.toSendUrl(state.baseWebSendUrl),
206+
),
207+
)
216208
}
217209
}
218210
}

app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/addsend/AddSendViewModelTest.kt

+8-38
Original file line numberDiff line numberDiff line change
@@ -156,36 +156,6 @@ class AddSendViewModelTest : BaseViewModelTest() {
156156
}
157157
}
158158

159-
@Suppress("MaxLineLength")
160-
@Test
161-
fun `SaveClick with createSend success should emit NavigateBack and ShowShareSheet when not an external shared`() =
162-
runTest {
163-
val viewState = DEFAULT_VIEW_STATE.copy(
164-
common = DEFAULT_COMMON_STATE.copy(name = "input"),
165-
)
166-
val initialState = DEFAULT_STATE.copy(viewState = viewState)
167-
val mockSendView = mockk<SendView>()
168-
every { viewState.toSendView(clock) } returns mockSendView
169-
val sendUrl = "www.test.com/send/test"
170-
val resultSendView = mockk<SendView> {
171-
every { toSendUrl(DEFAULT_ENVIRONMENT_URL) } returns sendUrl
172-
}
173-
coEvery {
174-
vaultRepository.createSend(sendView = mockSendView, fileUri = null)
175-
} returns CreateSendResult.Success(sendView = resultSendView)
176-
val viewModel = createViewModel(initialState)
177-
178-
viewModel.eventFlow.test {
179-
viewModel.trySendAction(AddSendAction.SaveClick)
180-
assertEquals(AddSendEvent.NavigateBack, awaitItem())
181-
assertEquals(AddSendEvent.ShowShareSheet(sendUrl), awaitItem())
182-
}
183-
assertEquals(initialState, viewModel.stateFlow.value)
184-
coVerify(exactly = 1) {
185-
vaultRepository.createSend(sendView = mockSendView, fileUri = null)
186-
}
187-
}
188-
189159
@Suppress("MaxLineLength")
190160
@Test
191161
fun `SaveClick with createSend success should copy the send URL to the clipboard and emit NavigateBack`() =
@@ -212,15 +182,15 @@ class AddSendViewModelTest : BaseViewModelTest() {
212182
viewModel.eventFlow.test {
213183
viewModel.trySendAction(AddSendAction.SaveClick)
214184
assertEquals(AddSendEvent.NavigateBack, awaitItem())
185+
assertEquals(
186+
AddSendEvent.ShowShareSheet(message = "www.test.com/send/test"),
187+
awaitItem(),
188+
)
215189
}
216190
assertEquals(initialState, viewModel.stateFlow.value)
217191
coVerify(exactly = 1) {
218192
vaultRepository.createSend(sendView = mockSendView, fileUri = null)
219193
specialCircumstanceManager.specialCircumstance = null
220-
clipboardManager.setText(
221-
text = sendUrl,
222-
toastDescriptorOverride = R.string.send_link.asText(),
223-
)
224194
}
225195
}
226196

@@ -250,15 +220,15 @@ class AddSendViewModelTest : BaseViewModelTest() {
250220
viewModel.eventFlow.test {
251221
viewModel.trySendAction(AddSendAction.SaveClick)
252222
assertEquals(AddSendEvent.ExitApp, awaitItem())
223+
assertEquals(
224+
AddSendEvent.ShowShareSheet(message = "www.test.com/send/test"),
225+
awaitItem(),
226+
)
253227
}
254228
assertEquals(initialState, viewModel.stateFlow.value)
255229
coVerify(exactly = 1) {
256230
vaultRepository.createSend(sendView = mockSendView, fileUri = null)
257231
specialCircumstanceManager.specialCircumstance = null
258-
clipboardManager.setText(
259-
text = sendUrl,
260-
toastDescriptorOverride = R.string.send_link.asText(),
261-
)
262232
}
263233
}
264234

0 commit comments

Comments
 (0)