diff --git a/app/src/common/shared/com/igalia/wolvic/VRBrowserActivity.java b/app/src/common/shared/com/igalia/wolvic/VRBrowserActivity.java index 32a7e864d0..9bfc20c8f6 100644 --- a/app/src/common/shared/com/igalia/wolvic/VRBrowserActivity.java +++ b/app/src/common/shared/com/igalia/wolvic/VRBrowserActivity.java @@ -136,6 +136,8 @@ public class VRBrowserActivity extends PlatformActivity implements WidgetManager public static final String EXTRA_LAUNCH_IMMERSIVE_PARENT_XPATH = "launch_immersive_parent_xpath"; public static final String EXTRA_LAUNCH_IMMERSIVE_ELEMENT_XPATH = "launch_immersive_element_xpath"; + private boolean shouldRestoreHeadLockOnVRVideoExit; + private BroadcastReceiver mCrashReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { @@ -2022,12 +2024,20 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permi @Override public void showVRVideo(final int aWindowHandle, final @VideoProjectionMenuWidget.VideoProjectionFlags int aVideoProjection) { + if (mSettings.isHeadLockEnabled()) { + mSettings.setHeadLockEnabled(false); + shouldRestoreHeadLockOnVRVideoExit = true; + } queueRunnable(() -> showVRVideoNative(aWindowHandle, aVideoProjection)); } @Override public void hideVRVideo() { queueRunnable(this::hideVRVideoNative); + + if (shouldRestoreHeadLockOnVRVideoExit) { + mSettings.setHeadLockEnabled(true); + } } @Override