mirror of
https://github.com/fork-maintainers/iceraven-browser
synced 2024-11-11 13:11:01 +00:00
No issue: Removes feature flags for delete data (#5738)
This commit is contained in:
parent
060e915d2b
commit
eb3c9f86e2
@ -45,17 +45,6 @@ object FeatureFlags {
|
|||||||
*/
|
*/
|
||||||
val etpCategories = nightly or debug
|
val etpCategories = nightly or debug
|
||||||
|
|
||||||
/**
|
|
||||||
* Granular data deletion provides additional choices on the Delete Browsing Data
|
|
||||||
* setting screen for cookies, cached images and files, and site permissions.
|
|
||||||
*/
|
|
||||||
val granularDataDeletion = nightly or debug
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gives option in Settings to Delete Browsing Data on new menu option Quit
|
|
||||||
*/
|
|
||||||
val deleteDataOnQuit = nightly or debug
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gives option in Settings to disable auto play media
|
* Gives option in Settings to disable auto play media
|
||||||
*/
|
*/
|
||||||
|
@ -30,7 +30,6 @@ import mozilla.components.concept.sync.OAuthAccount
|
|||||||
import mozilla.components.concept.sync.Profile
|
import mozilla.components.concept.sync.Profile
|
||||||
import org.mozilla.fenix.BrowserDirection
|
import org.mozilla.fenix.BrowserDirection
|
||||||
import org.mozilla.fenix.Config
|
import org.mozilla.fenix.Config
|
||||||
import org.mozilla.fenix.FeatureFlags
|
|
||||||
import org.mozilla.fenix.FenixApplication
|
import org.mozilla.fenix.FenixApplication
|
||||||
import org.mozilla.fenix.HomeActivity
|
import org.mozilla.fenix.HomeActivity
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
@ -105,14 +104,6 @@ class SettingsFragment : PreferenceFragmentCompat(), AccountObserver {
|
|||||||
isVisible = false
|
isVisible = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FeatureFlags.deleteDataOnQuit) {
|
|
||||||
findPreference<Preference>(
|
|
||||||
getPreferenceKey(R.string.pref_key_delete_browsing_data_on_quit_preference)
|
|
||||||
)?.apply {
|
|
||||||
isVisible = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
|
@ -10,7 +10,6 @@ import kotlinx.coroutines.delay
|
|||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import mozilla.components.concept.engine.Engine
|
import mozilla.components.concept.engine.Engine
|
||||||
import mozilla.components.feature.tab.collections.TabCollection
|
import mozilla.components.feature.tab.collections.TabCollection
|
||||||
import org.mozilla.fenix.FeatureFlags
|
|
||||||
import org.mozilla.fenix.ext.components
|
import org.mozilla.fenix.ext.components
|
||||||
import kotlin.coroutines.CoroutineContext
|
import kotlin.coroutines.CoroutineContext
|
||||||
|
|
||||||
@ -36,14 +35,7 @@ class DefaultDeleteBrowsingDataController(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun deleteBrowsingData() {
|
override suspend fun deleteBrowsingData() {
|
||||||
if (FeatureFlags.granularDataDeletion) {
|
deleteHistoryAndDOMStorages()
|
||||||
deleteHistoryAndDOMStorages()
|
|
||||||
} else {
|
|
||||||
withContext(coroutineContext) {
|
|
||||||
context.components.core.engine.clearData(Engine.BrowsingData.all())
|
|
||||||
}
|
|
||||||
context.components.core.historyStorage.deleteEverything()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun deleteHistoryAndDOMStorages() {
|
override suspend fun deleteHistoryAndDOMStorages() {
|
||||||
|
@ -22,7 +22,6 @@ import kotlinx.coroutines.launch
|
|||||||
import mozilla.components.browser.session.Session
|
import mozilla.components.browser.session.Session
|
||||||
import mozilla.components.browser.session.SessionManager
|
import mozilla.components.browser.session.SessionManager
|
||||||
import mozilla.components.feature.tab.collections.TabCollection
|
import mozilla.components.feature.tab.collections.TabCollection
|
||||||
import org.mozilla.fenix.FeatureFlags
|
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
import org.mozilla.fenix.components.FenixSnackbar
|
import org.mozilla.fenix.components.FenixSnackbar
|
||||||
import org.mozilla.fenix.components.metrics.Event
|
import org.mozilla.fenix.components.metrics.Event
|
||||||
@ -61,16 +60,7 @@ class DeleteBrowsingDataFragment : Fragment() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!FeatureFlags.granularDataDeletion) {
|
getCheckboxes().forEach { it.isChecked = true }
|
||||||
// Disabling the disabled state until we have APIs to decide
|
|
||||||
// if there is data to delete for all categories
|
|
||||||
getCheckboxes().forEach {
|
|
||||||
it.onCheckListener = { _ -> updateCheckboxState() }
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Otherwise, all checkboxes should default to checked state
|
|
||||||
getCheckboxes().forEach { it.isChecked = true }
|
|
||||||
}
|
|
||||||
|
|
||||||
view.delete_data?.setOnClickListener {
|
view.delete_data?.setOnClickListener {
|
||||||
askToDelete()
|
askToDelete()
|
||||||
@ -161,7 +151,7 @@ class DeleteBrowsingDataFragment : Fragment() {
|
|||||||
.setText(resources.getString(R.string.preferences_delete_browsing_data_snackbar))
|
.setText(resources.getString(R.string.preferences_delete_browsing_data_snackbar))
|
||||||
.show()
|
.show()
|
||||||
|
|
||||||
if (popAfter || FeatureFlags.granularDataDeletion) viewLifecycleOwner.lifecycleScope.launch(
|
if (popAfter) viewLifecycleOwner.lifecycleScope.launch(
|
||||||
Dispatchers.Main
|
Dispatchers.Main
|
||||||
) {
|
) {
|
||||||
findNavController().popBackStack(R.id.homeFragment, false)
|
findNavController().popBackStack(R.id.homeFragment, false)
|
||||||
@ -177,13 +167,6 @@ class DeleteBrowsingDataFragment : Fragment() {
|
|||||||
updateSitePermissions()
|
updateSitePermissions()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateCheckboxState() {
|
|
||||||
val enabled = getCheckboxes().any { it.isChecked }
|
|
||||||
|
|
||||||
view?.delete_data?.isEnabled = enabled
|
|
||||||
view?.delete_data?.alpha = if (enabled) ENABLED_ALPHA else DISABLED_ALPHA
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun updateTabCount() {
|
private fun updateTabCount() {
|
||||||
view?.open_tabs_item?.apply {
|
view?.open_tabs_item?.apply {
|
||||||
val openTabs = requireComponents.core.sessionManager.sessions.size
|
val openTabs = requireComponents.core.sessionManager.sessions.size
|
||||||
@ -191,7 +174,6 @@ class DeleteBrowsingDataFragment : Fragment() {
|
|||||||
R.string.preferences_delete_browsing_data_tabs_subtitle,
|
R.string.preferences_delete_browsing_data_tabs_subtitle,
|
||||||
openTabs
|
openTabs
|
||||||
)
|
)
|
||||||
if (!FeatureFlags.granularDataDeletion) isEnabled = openTabs > 0
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,7 +189,6 @@ class DeleteBrowsingDataFragment : Fragment() {
|
|||||||
R.string.preferences_delete_browsing_data_browsing_data_subtitle,
|
R.string.preferences_delete_browsing_data_browsing_data_subtitle,
|
||||||
historyCount
|
historyCount
|
||||||
)
|
)
|
||||||
if (!FeatureFlags.granularDataDeletion) isEnabled = historyCount > 0
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -226,7 +207,6 @@ class DeleteBrowsingDataFragment : Fragment() {
|
|||||||
R.string.preferences_delete_browsing_data_collections_subtitle,
|
R.string.preferences_delete_browsing_data_collections_subtitle,
|
||||||
collectionsCount
|
collectionsCount
|
||||||
)
|
)
|
||||||
if (!FeatureFlags.granularDataDeletion) isEnabled = collectionsCount > 0
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -246,18 +226,14 @@ class DeleteBrowsingDataFragment : Fragment() {
|
|||||||
|
|
||||||
private fun getCheckboxes(): List<DeleteBrowsingDataItem> {
|
private fun getCheckboxes(): List<DeleteBrowsingDataItem> {
|
||||||
val fragmentView = view!!
|
val fragmentView = view!!
|
||||||
val originalList = listOf(
|
return listOf(
|
||||||
fragmentView.open_tabs_item,
|
fragmentView.open_tabs_item,
|
||||||
fragmentView.browsing_data_item,
|
fragmentView.browsing_data_item,
|
||||||
fragmentView.collections_item
|
fragmentView.collections_item,
|
||||||
)
|
|
||||||
@Suppress("ConstantConditionIf")
|
|
||||||
val granularList = if (FeatureFlags.granularDataDeletion) listOf(
|
|
||||||
fragmentView.cookies_item,
|
fragmentView.cookies_item,
|
||||||
fragmentView.cached_files_item,
|
fragmentView.cached_files_item,
|
||||||
fragmentView.site_permissions_item
|
fragmentView.site_permissions_item
|
||||||
) else emptyList()
|
)
|
||||||
return originalList + granularList
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -75,7 +75,6 @@
|
|||||||
android:key="@string/pref_key_delete_browsing_data"
|
android:key="@string/pref_key_delete_browsing_data"
|
||||||
android:title="@string/preferences_delete_browsing_data" />
|
android:title="@string/preferences_delete_browsing_data" />
|
||||||
<androidx.preference.Preference
|
<androidx.preference.Preference
|
||||||
app:isPreferenceVisible="false"
|
|
||||||
android:icon="@drawable/ic_exit"
|
android:icon="@drawable/ic_exit"
|
||||||
android:key="@string/pref_key_delete_browsing_data_on_quit_preference"
|
android:key="@string/pref_key_delete_browsing_data_on_quit_preference"
|
||||||
android:title="@string/preferences_delete_browsing_data_on_quit" />
|
android:title="@string/preferences_delete_browsing_data_on_quit" />
|
||||||
|
Loading…
Reference in New Issue
Block a user