Use UpdateTrackingProtectionUseCase
mozilla-mobile/android-components#2746
This commit is contained in:
parent
149c01c342
commit
cfca683a14
|
@ -16,7 +16,7 @@ class Components(private val context: Context) {
|
||||||
val services by lazy { Services(backgroundServices.accountManager, useCases.tabsUseCases) }
|
val services by lazy { Services(backgroundServices.accountManager, useCases.tabsUseCases) }
|
||||||
val core by lazy { Core(context) }
|
val core by lazy { Core(context) }
|
||||||
val search by lazy { Search(context) }
|
val search by lazy { Search(context) }
|
||||||
val useCases by lazy { UseCases(context, core.sessionManager, search.searchEngineManager) }
|
val useCases by lazy { UseCases(context, core.sessionManager, core.engine.settings, search.searchEngineManager) }
|
||||||
val utils by lazy { Utilities(context, core.sessionManager, useCases.sessionUseCases, useCases.searchUseCases) }
|
val utils by lazy { Utilities(context, core.sessionManager, useCases.sessionUseCases, useCases.searchUseCases) }
|
||||||
val analytics by lazy { Analytics(context) }
|
val analytics by lazy { Analytics(context) }
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,10 @@ package org.mozilla.fenix.components
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import mozilla.components.browser.search.SearchEngineManager
|
import mozilla.components.browser.search.SearchEngineManager
|
||||||
import mozilla.components.browser.session.SessionManager
|
import mozilla.components.browser.session.SessionManager
|
||||||
|
import mozilla.components.concept.engine.Settings
|
||||||
import mozilla.components.feature.search.SearchUseCases
|
import mozilla.components.feature.search.SearchUseCases
|
||||||
import mozilla.components.feature.session.SessionUseCases
|
import mozilla.components.feature.session.SessionUseCases
|
||||||
|
import mozilla.components.feature.session.SettingsUseCases
|
||||||
import mozilla.components.feature.tabs.TabsUseCases
|
import mozilla.components.feature.tabs.TabsUseCases
|
||||||
import org.mozilla.fenix.test.Mockable
|
import org.mozilla.fenix.test.Mockable
|
||||||
|
|
||||||
|
@ -20,6 +22,7 @@ import org.mozilla.fenix.test.Mockable
|
||||||
class UseCases(
|
class UseCases(
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
private val sessionManager: SessionManager,
|
private val sessionManager: SessionManager,
|
||||||
|
private val engineSettings: Settings,
|
||||||
private val searchEngineManager: SearchEngineManager
|
private val searchEngineManager: SearchEngineManager
|
||||||
) {
|
) {
|
||||||
/**
|
/**
|
||||||
|
@ -36,4 +39,9 @@ class UseCases(
|
||||||
* Use cases that provide search engine integration.
|
* Use cases that provide search engine integration.
|
||||||
*/
|
*/
|
||||||
val searchUseCases by lazy { SearchUseCases(context, searchEngineManager, sessionManager) }
|
val searchUseCases by lazy { SearchUseCases(context, searchEngineManager, sessionManager) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use cases that provide settings management.
|
||||||
|
*/
|
||||||
|
val settingsUseCases by lazy { SettingsUseCases(engineSettings, sessionManager) }
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,6 @@ import androidx.preference.PreferenceFragmentCompat
|
||||||
import androidx.preference.SwitchPreference
|
import androidx.preference.SwitchPreference
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
import org.mozilla.fenix.exceptions.ExceptionDomains
|
import org.mozilla.fenix.exceptions.ExceptionDomains
|
||||||
import org.mozilla.fenix.ext.components
|
|
||||||
import org.mozilla.fenix.ext.getPreferenceKey
|
import org.mozilla.fenix.ext.getPreferenceKey
|
||||||
import org.mozilla.fenix.ext.requireComponents
|
import org.mozilla.fenix.ext.requireComponents
|
||||||
import org.mozilla.fenix.utils.Settings
|
import org.mozilla.fenix.utils.Settings
|
||||||
|
@ -33,20 +32,12 @@ class TrackingProtectionFragment : PreferenceFragmentCompat() {
|
||||||
val preferenceTP = findPreference<SwitchPreference>(trackingProtectionKey)
|
val preferenceTP = findPreference<SwitchPreference>(trackingProtectionKey)
|
||||||
preferenceTP?.onPreferenceChangeListener =
|
preferenceTP?.onPreferenceChangeListener =
|
||||||
Preference.OnPreferenceChangeListener { _, newValue ->
|
Preference.OnPreferenceChangeListener { _, newValue ->
|
||||||
Settings.getInstance(context!!).setTrackingProtection(newValue = newValue as Boolean)
|
Settings.getInstance(requireContext()).setTrackingProtection(newValue = newValue as Boolean)
|
||||||
with(requireComponents.core) {
|
with(requireComponents) {
|
||||||
val policy =
|
val policy = core.createTrackingProtectionPolicy(newValue)
|
||||||
createTrackingProtectionPolicy(newValue)
|
useCases.settingsUseCases.updateTrackingProtection.invoke(policy)
|
||||||
engine.settings.trackingProtectionPolicy = policy
|
useCases.sessionUseCases.reload.invoke()
|
||||||
with(sessionManager) {
|
|
||||||
sessions.forEach {
|
|
||||||
if (newValue)
|
|
||||||
getEngineSession(it)?.enableTrackingProtection(policy) else
|
|
||||||
getEngineSession(it)?.disableTrackingProtection()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
requireContext().components.useCases.sessionUseCases.reload.invoke()
|
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ class TestComponents(private val context: Context) : Components(context) {
|
||||||
override val services by lazy { Services(backgroundServices.accountManager, useCases.tabsUseCases) }
|
override val services by lazy { Services(backgroundServices.accountManager, useCases.tabsUseCases) }
|
||||||
override val core by lazy { TestCore(context) }
|
override val core by lazy { TestCore(context) }
|
||||||
override val search by lazy { Search(context) }
|
override val search by lazy { Search(context) }
|
||||||
override val useCases by lazy { UseCases(context, core.sessionManager, search.searchEngineManager) }
|
override val useCases by lazy { UseCases(context, core.sessionManager, core.engine.settings, search.searchEngineManager) }
|
||||||
override val utils by lazy {
|
override val utils by lazy {
|
||||||
Utilities(
|
Utilities(
|
||||||
context,
|
context,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user