|
|
|
@ -26,28 +26,56 @@ import org.mozilla.fenix.R
|
|
|
|
|
import org.mozilla.fenix.components.FenixSnackbar
|
|
|
|
|
import org.mozilla.fenix.components.metrics.Event
|
|
|
|
|
import org.mozilla.fenix.ext.requireComponents
|
|
|
|
|
import org.mozilla.fenix.ext.settings
|
|
|
|
|
import org.mozilla.fenix.ext.showToolbar
|
|
|
|
|
import org.mozilla.fenix.utils.Settings
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("TooManyFunctions")
|
|
|
|
|
class DeleteBrowsingDataFragment : Fragment(R.layout.fragment_delete_browsing_data) {
|
|
|
|
|
|
|
|
|
|
private lateinit var controller: DeleteBrowsingDataController
|
|
|
|
|
private var scope: CoroutineScope? = null
|
|
|
|
|
private lateinit var settings: Settings
|
|
|
|
|
|
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
|
|
|
super.onViewCreated(view, savedInstanceState)
|
|
|
|
|
|
|
|
|
|
controller = DefaultDeleteBrowsingDataController(requireContext())
|
|
|
|
|
settings = requireContext().settings()
|
|
|
|
|
|
|
|
|
|
getCheckboxes().forEach {
|
|
|
|
|
it.onCheckListener = { _ -> updateDeleteButton() }
|
|
|
|
|
it.onCheckListener = { _ ->
|
|
|
|
|
updateDeleteButton()
|
|
|
|
|
updatePreference(it)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
getCheckboxes().forEach { it.isChecked = true }
|
|
|
|
|
getCheckboxes().forEach {
|
|
|
|
|
it.isChecked = when (it.id) {
|
|
|
|
|
R.id.open_tabs_item -> settings.deleteOpenTabs
|
|
|
|
|
R.id.browsing_data_item -> settings.deleteBrowsingHistory
|
|
|
|
|
R.id.cookies_item -> settings.deleteCookies
|
|
|
|
|
R.id.cached_files_item -> settings.deleteCache
|
|
|
|
|
R.id.site_permissions_item -> settings.deleteSitePermissions
|
|
|
|
|
else -> true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
view.delete_data?.setOnClickListener {
|
|
|
|
|
askToDelete()
|
|
|
|
|
}
|
|
|
|
|
updateDeleteButton()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun updatePreference(it: DeleteBrowsingDataItem) {
|
|
|
|
|
when (it.id) {
|
|
|
|
|
R.id.open_tabs_item -> settings.deleteOpenTabs = it.isChecked
|
|
|
|
|
R.id.browsing_data_item -> settings.deleteBrowsingHistory = it.isChecked
|
|
|
|
|
R.id.cookies_item -> settings.deleteCookies = it.isChecked
|
|
|
|
|
R.id.cached_files_item -> settings.deleteCache = it.isChecked
|
|
|
|
|
R.id.site_permissions_item -> settings.deleteSitePermissions = it.isChecked
|
|
|
|
|
else -> return
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExperimentalCoroutinesApi
|
|
|
|
@ -138,10 +166,6 @@ class DeleteBrowsingDataFragment : Fragment(R.layout.fragment_delete_browsing_da
|
|
|
|
|
delete_browsing_data_wrapper.isClickable = true
|
|
|
|
|
delete_browsing_data_wrapper.alpha = ENABLED_ALPHA
|
|
|
|
|
|
|
|
|
|
getCheckboxes().forEach {
|
|
|
|
|
it.isChecked = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
updateItemCounts()
|
|
|
|
|
|
|
|
|
|
FenixSnackbar.make(
|
|
|
|
|