From 6edfb1a2932afc13a9a1456b778d1d5b630b5de6 Mon Sep 17 00:00:00 2001 From: Imanol Fernandez Date: Mon, 13 Jan 2020 15:50:33 +0100 Subject: [PATCH] Handle the new autoplay permissions --- .../vrbrowser/browser/PermissionDelegate.java | 9 +++++++++ .../vrbrowser/browser/engine/EngineProvider.kt | 1 - .../vrbrowser/browser/engine/SessionStore.java | 16 ---------------- .../ui/widgets/settings/DisplayOptionsView.java | 3 +-- 4 files changed, 10 insertions(+), 19 deletions(-) diff --git a/app/src/common/shared/org/mozilla/vrbrowser/browser/PermissionDelegate.java b/app/src/common/shared/org/mozilla/vrbrowser/browser/PermissionDelegate.java index f79df3cce..572aceb7a 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/browser/PermissionDelegate.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/browser/PermissionDelegate.java @@ -119,6 +119,15 @@ public void onContentPermissionRequest(GeckoSession aSession, String aUri, int a return; } + if (aType == PERMISSION_AUTOPLAY_AUDIBLE || aType == PERMISSION_AUTOPLAY_INAUDIBLE) { + if (SettingsStore.getInstance(mContext).isAutoplayEnabled()) { + callback.grant(); + } else { + callback.reject(); + } + return; + } + PermissionWidget.PermissionType type; if (aType == PERMISSION_DESKTOP_NOTIFICATION) { type = PermissionWidget.PermissionType.Notification; diff --git a/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/EngineProvider.kt b/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/EngineProvider.kt index c1386121a..1c73717be 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/EngineProvider.kt +++ b/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/EngineProvider.kt @@ -35,7 +35,6 @@ object EngineProvider { builder.displayDpiOverride(SettingsStore.getInstance(context).displayDpi) builder.screenSizeOverride(SettingsStore.getInstance(context).maxWindowWidth, SettingsStore.getInstance(context).maxWindowHeight) - builder.autoplayDefault(if (SettingsStore.getInstance(context).isAutoplayEnabled) GeckoRuntimeSettings.AUTOPLAY_DEFAULT_ALLOWED else GeckoRuntimeSettings.AUTOPLAY_DEFAULT_BLOCKED) if (SettingsStore.getInstance(context).transparentBorderWidth > 0) { builder.useMaxScreenDepth(true) diff --git a/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/SessionStore.java b/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/SessionStore.java index 4577811f5..cc40ba7d2 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/SessionStore.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/SessionStore.java @@ -284,22 +284,6 @@ public void setRemoteDebugging(final boolean enabled) { } } - public void setAutoplayEnabled(final boolean enabled) { - if (mRuntime != null) { - mRuntime.getSettings().setAutoplayDefault(enabled ? - GeckoRuntimeSettings.AUTOPLAY_DEFAULT_ALLOWED : - GeckoRuntimeSettings.AUTOPLAY_DEFAULT_BLOCKED); - } - } - - public boolean getAutoplayEnabled() { - if (mRuntime != null) { - return mRuntime.getSettings().getAutoplayDefault() == GeckoRuntimeSettings.AUTOPLAY_DEFAULT_ALLOWED; - } - - return false; - } - public void setLocales(List locales) { if (mRuntime != null) { mRuntime.getSettings().setLocales(locales.stream().toArray(String[]::new)); diff --git a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/settings/DisplayOptionsView.java b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/settings/DisplayOptionsView.java index 08a02b8e3..38476e98e 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/settings/DisplayOptionsView.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/settings/DisplayOptionsView.java @@ -59,7 +59,7 @@ private void initialize(Context aContext) { setMSAAMode(mBinding.msaaRadio.getIdForValue(msaaLevel), false); mBinding.autoplaySwitch.setOnCheckedChangeListener(mAutoplayListener); - setAutoplay(SessionStore.get().getAutoplayEnabled(), false); + setAutoplay(SettingsStore.getInstance(getContext()).isAutoplayEnabled(), false); mDefaultHomepageUrl = getContext().getString(R.string.homepage_url); @@ -232,7 +232,6 @@ private void setAutoplay(boolean value, boolean doApply) { mBinding.autoplaySwitch.setOnCheckedChangeListener(mAutoplayListener); if (doApply) { - SessionStore.get().setAutoplayEnabled(value); SettingsStore.getInstance(getContext()).setAutoplayEnabled(value); } }