1
0
Fork 0

For #3604 Snackbar messages for closing tabs use closed instead of deleted

master
mcarare 2019-10-08 17:06:02 +03:00
parent bf5b4fe877
commit 1c6aefd82b
2 changed files with 20 additions and 6 deletions

View File

@ -386,14 +386,14 @@ class HomeFragment : Fragment() {
}
is TabAction.Close -> {
if (pendingSessionDeletion?.deletionJob == null) {
removeTabWithUndo(action.sessionId)
removeTabWithUndo(action.sessionId, browsingModeManager.mode.isPrivate)
} else {
pendingSessionDeletion?.deletionJob?.let {
viewLifecycleOwner.lifecycleScope.launch {
it.invoke()
}.invokeOnCompletion {
pendingSessionDeletion = null
removeTabWithUndo(action.sessionId)
removeTabWithUndo(action.sessionId, browsingModeManager.mode.isPrivate)
}
}
}
@ -719,9 +719,9 @@ class HomeFragment : Fragment() {
deleteAllSessionsJob = deleteOperation
val snackbarMessage = if (private) {
getString(R.string.snackbar_private_tabs_deleted)
getString(R.string.snackbar_private_tabs_closed)
} else {
getString(R.string.snackbar_tab_deleted)
getString(R.string.snackbar_tabs_closed)
}
viewLifecycleOwner.lifecycleScope.allowUndo(
@ -739,7 +739,7 @@ class HomeFragment : Fragment() {
)
}
private fun removeTabWithUndo(sessionId: String) {
private fun removeTabWithUndo(sessionId: String, private: Boolean) {
val sessionManager = requireComponents.core.sessionManager
val deleteOperation: (suspend () -> Unit) = {
sessionManager.findSessionById(sessionId)
@ -751,9 +751,15 @@ class HomeFragment : Fragment() {
pendingSessionDeletion = PendingSessionDeletion(deleteOperation, sessionId)
val snackbarMessage = if (private) {
getString(R.string.snackbar_private_tab_closed)
} else {
getString(R.string.snackbar_tab_closed)
}
viewLifecycleOwner.lifecycleScope.allowUndo(
view!!,
getString(R.string.snackbar_tab_deleted),
snackbarMessage,
getString(R.string.snackbar_deleted_undo), {
pendingSessionDeletion = null
emitSessionChanges()

View File

@ -637,6 +637,14 @@
<string name="snackbar_tab_deleted">Tab deleted</string>
<!-- Text shown in snackbar when user deletes all tabs -->
<string name="snackbar_tabs_deleted">Tabs deleted</string>
<!-- Text shown in snackbar when user closes a tab -->
<string name="snackbar_tab_closed">Tab closed</string>
<!-- Text shown in snackbar when user closes all tabs -->
<string name="snackbar_tabs_closed">Tabs closed</string>
<!-- Text shown in snackbar when user closes a private tab -->
<string name="snackbar_private_tab_closed">Private tab closed</string>
<!-- Text shown in snackbar when user closes all private tabs -->
<string name="snackbar_private_tabs_closed">Private tabs closed</string>
<!-- Text shown in snackbar when user deletes all private tabs -->
<string name="snackbar_private_tabs_deleted">Private tabs deleted</string>
<!-- Text for action to undo deleting a tab or collection shown in snackbar -->