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

View File

@ -637,6 +637,14 @@
<string name="snackbar_tab_deleted">Tab deleted</string> <string name="snackbar_tab_deleted">Tab deleted</string>
<!-- Text shown in snackbar when user deletes all tabs --> <!-- Text shown in snackbar when user deletes all tabs -->
<string name="snackbar_tabs_deleted">Tabs deleted</string> <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 --> <!-- Text shown in snackbar when user deletes all private tabs -->
<string name="snackbar_private_tabs_deleted">Private tabs deleted</string> <string name="snackbar_private_tabs_deleted">Private tabs deleted</string>
<!-- Text for action to undo deleting a tab or collection shown in snackbar --> <!-- Text for action to undo deleting a tab or collection shown in snackbar -->