|
|
@ -42,7 +42,7 @@ import org.mozilla.fenix.share.ShareTab
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("TooManyFunctions", "LargeClass")
|
|
|
|
@SuppressWarnings("TooManyFunctions", "LargeClass")
|
|
|
|
class HistoryFragment : LibraryPageFragment<HistoryItem>(), BackHandler {
|
|
|
|
class HistoryFragment : LibraryPageFragment<HistoryItem>(), BackHandler {
|
|
|
|
private lateinit var historyStore: HistoryStore
|
|
|
|
private lateinit var historyStore: HistoryFragmentStore
|
|
|
|
private lateinit var historyView: HistoryView
|
|
|
|
private lateinit var historyView: HistoryView
|
|
|
|
private lateinit var historyInteractor: HistoryInteractor
|
|
|
|
private lateinit var historyInteractor: HistoryInteractor
|
|
|
|
private lateinit var viewModel: HistoryViewModel
|
|
|
|
private lateinit var viewModel: HistoryViewModel
|
|
|
@ -54,9 +54,9 @@ class HistoryFragment : LibraryPageFragment<HistoryItem>(), BackHandler {
|
|
|
|
): View? {
|
|
|
|
): View? {
|
|
|
|
val view = inflater.inflate(R.layout.fragment_history, container, false)
|
|
|
|
val view = inflater.inflate(R.layout.fragment_history, container, false)
|
|
|
|
historyStore = StoreProvider.get(this) {
|
|
|
|
historyStore = StoreProvider.get(this) {
|
|
|
|
HistoryStore(
|
|
|
|
HistoryFragmentStore(
|
|
|
|
HistoryState(
|
|
|
|
HistoryFragmentState(
|
|
|
|
items = listOf(), mode = HistoryState.Mode.Normal
|
|
|
|
items = listOf(), mode = HistoryFragmentState.Mode.Normal
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -106,7 +106,7 @@ class HistoryFragment : LibraryPageFragment<HistoryItem>(), BackHandler {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
viewModel.invalidate()
|
|
|
|
viewModel.invalidate()
|
|
|
|
historyStore.dispatch(HistoryAction.ExitDeletionMode)
|
|
|
|
historyStore.dispatch(HistoryFragmentAction.ExitDeletionMode)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -135,12 +135,12 @@ class HistoryFragment : LibraryPageFragment<HistoryItem>(), BackHandler {
|
|
|
|
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
|
|
|
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
|
|
|
val mode = historyStore.state.mode
|
|
|
|
val mode = historyStore.state.mode
|
|
|
|
when (mode) {
|
|
|
|
when (mode) {
|
|
|
|
HistoryState.Mode.Normal -> R.menu.library_menu
|
|
|
|
HistoryFragmentState.Mode.Normal -> R.menu.library_menu
|
|
|
|
is HistoryState.Mode.Editing -> R.menu.history_select_multi
|
|
|
|
is HistoryFragmentState.Mode.Editing -> R.menu.history_select_multi
|
|
|
|
else -> null
|
|
|
|
else -> null
|
|
|
|
}?.let { inflater.inflate(it, menu) }
|
|
|
|
}?.let { inflater.inflate(it, menu) }
|
|
|
|
|
|
|
|
|
|
|
|
if (mode is HistoryState.Mode.Editing) {
|
|
|
|
if (mode is HistoryFragmentState.Mode.Editing) {
|
|
|
|
menu.findItem(R.id.share_history_multi_select)?.run {
|
|
|
|
menu.findItem(R.id.share_history_multi_select)?.run {
|
|
|
|
isVisible = true
|
|
|
|
isVisible = true
|
|
|
|
icon.colorFilter = PorterDuffColorFilter(
|
|
|
|
icon.colorFilter = PorterDuffColorFilter(
|
|
|
@ -174,7 +174,7 @@ class HistoryFragment : LibraryPageFragment<HistoryItem>(), BackHandler {
|
|
|
|
lifecycleScope.launch(Main) {
|
|
|
|
lifecycleScope.launch(Main) {
|
|
|
|
deleteSelectedHistory(historyStore.state.mode.selectedItems, components)
|
|
|
|
deleteSelectedHistory(historyStore.state.mode.selectedItems, components)
|
|
|
|
viewModel.invalidate()
|
|
|
|
viewModel.invalidate()
|
|
|
|
historyStore.dispatch(HistoryAction.ExitDeletionMode)
|
|
|
|
historyStore.dispatch(HistoryFragmentAction.ExitDeletionMode)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
true
|
|
|
|
true
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -228,13 +228,13 @@ class HistoryFragment : LibraryPageFragment<HistoryItem>(), BackHandler {
|
|
|
|
dialog.cancel()
|
|
|
|
dialog.cancel()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setPositiveButton(R.string.delete_browsing_data_prompt_allow) { dialog: DialogInterface, _ ->
|
|
|
|
setPositiveButton(R.string.delete_browsing_data_prompt_allow) { dialog: DialogInterface, _ ->
|
|
|
|
historyStore.dispatch(HistoryAction.EnterDeletionMode)
|
|
|
|
historyStore.dispatch(HistoryFragmentAction.EnterDeletionMode)
|
|
|
|
lifecycleScope.launch {
|
|
|
|
lifecycleScope.launch {
|
|
|
|
requireComponents.analytics.metrics.track(Event.HistoryAllItemsRemoved)
|
|
|
|
requireComponents.analytics.metrics.track(Event.HistoryAllItemsRemoved)
|
|
|
|
requireComponents.core.historyStorage.deleteEverything()
|
|
|
|
requireComponents.core.historyStorage.deleteEverything()
|
|
|
|
launch(Main) {
|
|
|
|
launch(Main) {
|
|
|
|
viewModel.invalidate()
|
|
|
|
viewModel.invalidate()
|
|
|
|
historyStore.dispatch(HistoryAction.ExitDeletionMode)
|
|
|
|
historyStore.dispatch(HistoryFragmentAction.ExitDeletionMode)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|