For issue #16847 Show the autoplay icon in the toolbar

upstream-sync
Arturo Mejia 4 years ago
parent 3b0e70a856
commit f263b7333a

@ -41,4 +41,9 @@ object FeatureFlags {
* Enables the new MediaSession API.
*/
val newMediaSessionApi = Config.channel.isNightlyOrDebug
/**
* Enabled showing site permission indicators in the toolbars.
*/
val permissionIndicatorsToolbar = Config.channel.isNightlyOrDebug
}

@ -126,6 +126,8 @@ import org.mozilla.fenix.wifi.SitePermissionsWifiIntegration
import java.lang.ref.WeakReference
import mozilla.components.feature.media.fullscreen.MediaFullscreenOrientationFeature
import org.mozilla.fenix.FeatureFlags.newMediaSessionApi
import org.mozilla.fenix.settings.PhoneFeature
import org.mozilla.fenix.settings.quicksettings.QuickSettingsSheetDialogFragmentDirections
/**
* Base fragment extended by [BrowserFragment].
@ -367,6 +369,10 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler,
showQuickSettingsDialog()
}
browserToolbarView.view.display.setOnPermissionIndicatorClickedListener {
navigateToAutoplaySetting()
}
browserToolbarView.view.display.setOnTrackingProtectionClickedListener {
context.metrics.track(Event.TrackingProtectionIconPressed)
showTrackingProtectionPanel()
@ -1282,4 +1288,10 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler,
browserToolbarView.setScrollFlags(enabled)
}
}
private fun navigateToAutoplaySetting() {
val directions = QuickSettingsSheetDialogFragmentDirections
.actionGlobalSitePermissionsManagePhoneFeature(PhoneFeature.AUTOPLAY_AUDIBLE)
findNavController().navigate(directions)
}
}

@ -151,7 +151,8 @@ class BrowserToolbarView(
menu = primaryTextColor,
hint = secondaryTextColor,
separator = separatorColor,
trackingProtection = primaryTextColor
trackingProtection = primaryTextColor,
permissionHighlights = primaryTextColor
)
display.hint = context.getString(R.string.search_hint)

@ -24,6 +24,7 @@ import mozilla.components.feature.toolbar.ToolbarPresenter
import mozilla.components.lib.publicsuffixlist.PublicSuffixList
import mozilla.components.support.base.feature.LifecycleAwareFeature
import mozilla.components.support.ktx.android.view.hideKeyboard
import org.mozilla.fenix.FeatureFlags
import org.mozilla.fenix.R
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.settings
@ -128,6 +129,10 @@ class DefaultToolbarIntegration(
)
}
if (FeatureFlags.permissionIndicatorsToolbar) {
toolbar.display.indicators += DisplayToolbar.Indicators.PERMISSION_HIGHLIGHTS
}
toolbar.display.displayIndicatorSeparator =
context.settings().shouldUseTrackingProtection

@ -28,6 +28,7 @@ import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.AS
import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.BLOCKED
import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.requireComponents
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.ext.showToolbar
@ -213,6 +214,7 @@ class SitePermissionsManagePhoneFeatureFragment : Fragment() {
requireComponents.analytics.metrics.track(Event.AutoPlaySettingChanged(setting))
settings.setSitePermissionsPhoneFeatureAction(AUTOPLAY_AUDIBLE, audible)
settings.setSitePermissionsPhoneFeatureAction(AUTOPLAY_INAUDIBLE, inaudible)
context?.components?.useCases?.sessionUseCases?.reload?.invoke()
}
private fun bindBlockedByAndroidContainer(rootView: View) {

Loading…
Cancel
Save