parent
b6d9bbda78
commit
b0d796ccee
|
@ -22,5 +22,6 @@ enum class BrowserDirection(@IdRes val fragmentId: Int) {
|
||||||
FromHistory(R.id.historyFragment),
|
FromHistory(R.id.historyFragment),
|
||||||
FromExceptions(R.id.exceptionsFragment),
|
FromExceptions(R.id.exceptionsFragment),
|
||||||
FromAbout(R.id.aboutFragment),
|
FromAbout(R.id.aboutFragment),
|
||||||
FromTrackingProtection(R.id.trackingProtectionFragment)
|
FromTrackingProtection(R.id.trackingProtectionFragment),
|
||||||
|
FromDefaultBrowserSettingsFragment(R.id.defaultBrowserSettingsFragment)
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,6 +54,7 @@ import org.mozilla.fenix.library.bookmarks.BookmarkFragmentDirections
|
||||||
import org.mozilla.fenix.library.history.HistoryFragmentDirections
|
import org.mozilla.fenix.library.history.HistoryFragmentDirections
|
||||||
import org.mozilla.fenix.search.SearchFragmentDirections
|
import org.mozilla.fenix.search.SearchFragmentDirections
|
||||||
import org.mozilla.fenix.settings.AboutFragmentDirections
|
import org.mozilla.fenix.settings.AboutFragmentDirections
|
||||||
|
import org.mozilla.fenix.settings.DefaultBrowserSettingsFragmentDirections
|
||||||
import org.mozilla.fenix.settings.SettingsFragmentDirections
|
import org.mozilla.fenix.settings.SettingsFragmentDirections
|
||||||
import org.mozilla.fenix.settings.TrackingProtectionFragmentDirections
|
import org.mozilla.fenix.settings.TrackingProtectionFragmentDirections
|
||||||
import org.mozilla.fenix.theme.DefaultThemeManager
|
import org.mozilla.fenix.theme.DefaultThemeManager
|
||||||
|
@ -275,6 +276,10 @@ open class HomeActivity : AppCompatActivity() {
|
||||||
TrackingProtectionFragmentDirections.actionTrackingProtectionFragmentToBrowserFragment(
|
TrackingProtectionFragmentDirections.actionTrackingProtectionFragmentToBrowserFragment(
|
||||||
customTabSessionId
|
customTabSessionId
|
||||||
)
|
)
|
||||||
|
BrowserDirection.FromDefaultBrowserSettingsFragment ->
|
||||||
|
DefaultBrowserSettingsFragmentDirections.actionDefaultBrowserSettingsFragmentToBrowserFragment(
|
||||||
|
customTabSessionId
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun load(
|
private fun load(
|
||||||
|
|
|
@ -10,12 +10,13 @@ import android.os.Build
|
||||||
import android.os.Build.VERSION.SDK_INT
|
import android.os.Build.VERSION.SDK_INT
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS
|
import android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.preference.CheckBoxPreference
|
import androidx.preference.CheckBoxPreference
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import mozilla.components.support.utils.Browsers
|
import mozilla.components.support.utils.Browsers
|
||||||
|
import org.mozilla.fenix.BrowserDirection
|
||||||
|
import org.mozilla.fenix.HomeActivity
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
import org.mozilla.fenix.ext.components
|
import org.mozilla.fenix.ext.components
|
||||||
import org.mozilla.fenix.ext.getPreferenceKey
|
import org.mozilla.fenix.ext.getPreferenceKey
|
||||||
|
@ -30,7 +31,11 @@ class DefaultBrowserSettingsFragment : PreferenceFragmentCompat() {
|
||||||
SharedPreferences.OnSharedPreferenceChangeListener { sharedPreferences, key ->
|
SharedPreferences.OnSharedPreferenceChangeListener { sharedPreferences, key ->
|
||||||
when (key) {
|
when (key) {
|
||||||
getPreferenceKey(R.string.pref_key_telemetry) -> {
|
getPreferenceKey(R.string.pref_key_telemetry) -> {
|
||||||
if (sharedPreferences.getBoolean(key, requireContext().settings().isTelemetryEnabled)) {
|
if (sharedPreferences.getBoolean(
|
||||||
|
key,
|
||||||
|
requireContext().settings().isTelemetryEnabled
|
||||||
|
)
|
||||||
|
) {
|
||||||
context?.components?.analytics?.metrics?.start()
|
context?.components?.analytics?.metrics?.start()
|
||||||
} else {
|
} else {
|
||||||
context?.components?.analytics?.metrics?.stop()
|
context?.components?.analytics?.metrics?.stop()
|
||||||
|
@ -42,7 +47,9 @@ class DefaultBrowserSettingsFragment : PreferenceFragmentCompat() {
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
context?.let {
|
context?.let {
|
||||||
preferenceManager.sharedPreferences.registerOnSharedPreferenceChangeListener(preferenceChangeListener)
|
preferenceManager.sharedPreferences.registerOnSharedPreferenceChangeListener(
|
||||||
|
preferenceChangeListener
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
val makeDefaultBrowserKey = getPreferenceKey(R.string.pref_key_make_default_browser)
|
val makeDefaultBrowserKey = getPreferenceKey(R.string.pref_key_make_default_browser)
|
||||||
|
@ -54,7 +61,8 @@ class DefaultBrowserSettingsFragment : PreferenceFragmentCompat() {
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
(activity as AppCompatActivity).title = getString(R.string.preferences_set_as_default_browser)
|
(activity as AppCompatActivity).title =
|
||||||
|
getString(R.string.preferences_set_as_default_browser)
|
||||||
(activity as AppCompatActivity).supportActionBar?.show()
|
(activity as AppCompatActivity).supportActionBar?.show()
|
||||||
|
|
||||||
updatePreferences()
|
updatePreferences()
|
||||||
|
@ -62,7 +70,9 @@ class DefaultBrowserSettingsFragment : PreferenceFragmentCompat() {
|
||||||
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
context?.let {
|
context?.let {
|
||||||
preferenceManager.sharedPreferences.unregisterOnSharedPreferenceChangeListener(preferenceChangeListener)
|
preferenceManager.sharedPreferences.unregisterOnSharedPreferenceChangeListener(
|
||||||
|
preferenceChangeListener
|
||||||
|
)
|
||||||
}
|
}
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
}
|
}
|
||||||
|
@ -93,13 +103,17 @@ class DefaultBrowserSettingsFragment : PreferenceFragmentCompat() {
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
defaultClickListener
|
Preference.OnPreferenceClickListener {
|
||||||
|
(activity as HomeActivity).openToBrowserAndLoad(
|
||||||
|
searchTermOrURL = SupportUtils.getSumoURLForTopic(
|
||||||
|
context!!,
|
||||||
|
SupportUtils.SumoTopic.SET_AS_DEFAULT_BROWSER
|
||||||
|
),
|
||||||
|
newTab = true,
|
||||||
|
from = BrowserDirection.FromSettings
|
||||||
|
)
|
||||||
|
true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private val defaultClickListener =
|
|
||||||
Preference.OnPreferenceClickListener { preference ->
|
|
||||||
Toast.makeText(context, "${preference.title} Clicked", Toast.LENGTH_SHORT).show()
|
|
||||||
true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,8 +9,6 @@ import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Build
|
|
||||||
import android.os.Build.VERSION.SDK_INT
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
|
@ -94,11 +92,6 @@ class SettingsFragment : PreferenceFragmentCompat(), AccountObserver {
|
||||||
updateAccountUIState(context!!, requireComponents.backgroundServices.accountManager.accountProfile())
|
updateAccountUIState(context!!, requireComponents.backgroundServices.accountManager.accountProfile())
|
||||||
|
|
||||||
preferenceManager.sharedPreferences.registerOnSharedPreferenceChangeListener(preferenceChangeListener)
|
preferenceManager.sharedPreferences.registerOnSharedPreferenceChangeListener(preferenceChangeListener)
|
||||||
|
|
||||||
if (SDK_INT <= Build.VERSION_CODES.M) {
|
|
||||||
findPreference<Preference>(getPreferenceKey(pref_key_make_default_browser))?.isVisible =
|
|
||||||
false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
|
@ -159,7 +152,7 @@ class SettingsFragment : PreferenceFragmentCompat(), AccountObserver {
|
||||||
ItsNotBrokenSnack(context!!).showSnackbar(issueNumber = "220")
|
ItsNotBrokenSnack(context!!).showSnackbar(issueNumber = "220")
|
||||||
}
|
}
|
||||||
resources.getString(pref_key_make_default_browser) -> {
|
resources.getString(pref_key_make_default_browser) -> {
|
||||||
navigateToDefaultBrowserFragment()
|
navigateToDefaultBrowserSettingsFragment()
|
||||||
}
|
}
|
||||||
resources.getString(pref_key_data_choices) -> {
|
resources.getString(pref_key_data_choices) -> {
|
||||||
navigateToDataChoices()
|
navigateToDataChoices()
|
||||||
|
@ -281,8 +274,8 @@ class SettingsFragment : PreferenceFragmentCompat(), AccountObserver {
|
||||||
Navigation.findNavController(view!!).navigate(directions)
|
Navigation.findNavController(view!!).navigate(directions)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun navigateToDefaultBrowserFragment() {
|
private fun navigateToDefaultBrowserSettingsFragment() {
|
||||||
val directions = SettingsFragmentDirections.actionSettingsFragmentToDefaultBrowserFragment()
|
val directions = SettingsFragmentDirections.actionSettingsFragmentToDefaultBrowserSettingsFragment()
|
||||||
Navigation.findNavController(view!!).navigate(directions)
|
Navigation.findNavController(view!!).navigate(directions)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,8 @@ object SupportUtils {
|
||||||
YOUR_RIGHTS("your-rights"),
|
YOUR_RIGHTS("your-rights"),
|
||||||
TRACKING_PROTECTION("tracking-protection-firefox-preview"),
|
TRACKING_PROTECTION("tracking-protection-firefox-preview"),
|
||||||
WHATS_NEW("whats-new-firefox-preview"),
|
WHATS_NEW("whats-new-firefox-preview"),
|
||||||
SEND_TABS("send-tab-preview")
|
SEND_TABS("send-tab-preview"),
|
||||||
|
SET_AS_DEFAULT_BROWSER("set-firefox-preview-default")
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -360,8 +360,8 @@
|
||||||
android:id="@+id/action_settingsFragment_to_deleteBrowsingDataOnQuitFragment"
|
android:id="@+id/action_settingsFragment_to_deleteBrowsingDataOnQuitFragment"
|
||||||
app:destination="@id/deleteBrowsingDataOnQuitFragment" />
|
app:destination="@id/deleteBrowsingDataOnQuitFragment" />
|
||||||
<action
|
<action
|
||||||
android:id="@+id/action_settingsFragment_to_defaultBrowserFragment"
|
android:id="@+id/action_settingsFragment_to_defaultBrowserSettingsFragment"
|
||||||
app:destination="@id/defaultBrowserFragment" />
|
app:destination="@id/defaultBrowserSettingsFragment" />
|
||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/dataChoicesFragment"
|
android:id="@+id/dataChoicesFragment"
|
||||||
|
@ -587,7 +587,11 @@
|
||||||
android:name="org.mozilla.fenix.share.AddNewDeviceFragment"
|
android:name="org.mozilla.fenix.share.AddNewDeviceFragment"
|
||||||
android:label="AddNewDeviceFragment" />
|
android:label="AddNewDeviceFragment" />
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/defaultBrowserFragment"
|
android:id="@+id/defaultBrowserSettingsFragment"
|
||||||
android:name="org.mozilla.fenix.settings.DefaultBrowserSettingsFragment"
|
android:name="org.mozilla.fenix.settings.DefaultBrowserSettingsFragment"
|
||||||
android:label="DefaultBrowserFragment" />
|
android:label="DefaultBrowserSettingsFragment">
|
||||||
|
<action
|
||||||
|
android:id="@+id/action_defaultBrowserSettingsFragment_to_browserFragment"
|
||||||
|
app:destination="@id/browserFragment" />
|
||||||
|
</fragment>
|
||||||
</navigation>
|
</navigation>
|
||||||
|
|
|
@ -161,7 +161,6 @@ object Deps {
|
||||||
const val leanplum = "com.leanplum:leanplum-core:${Versions.leanplum}"
|
const val leanplum = "com.leanplum:leanplum-core:${Versions.leanplum}"
|
||||||
const val leanplumMessaging = "com.leanplum:leanplum-fcm:${Versions.leanplum}"
|
const val leanplumMessaging = "com.leanplum:leanplum-fcm:${Versions.leanplum}"
|
||||||
|
|
||||||
|
|
||||||
const val androidx_annotation = "androidx.annotation:annotation:${Versions.androidx_annotation}"
|
const val androidx_annotation = "androidx.annotation:annotation:${Versions.androidx_annotation}"
|
||||||
const val androidx_fragment = "androidx.fragment:fragment-ktx:${Versions.androidx_fragment}"
|
const val androidx_fragment = "androidx.fragment:fragment-ktx:${Versions.androidx_fragment}"
|
||||||
const val androidx_appcompat = "androidx.appcompat:appcompat:${Versions.androidx_appcompat}"
|
const val androidx_appcompat = "androidx.appcompat:appcompat:${Versions.androidx_appcompat}"
|
||||||
|
|
Loading…
Reference in New Issue