From 860995be848d0671c7d628cce8cdc09bbb069d40 Mon Sep 17 00:00:00 2001 From: Imanol Fernandez Date: Mon, 7 Oct 2019 23:34:37 +0200 Subject: [PATCH] Fix video projection menu position Media Controls (#1927) --- .../shared/org/mozilla/vrbrowser/VRBrowserActivity.java | 7 +++++++ .../mozilla/vrbrowser/ui/widgets/MediaControlsWidget.java | 5 +++++ .../vrbrowser/ui/widgets/WidgetManagerDelegate.java | 1 + 3 files changed, 13 insertions(+) diff --git a/app/src/common/shared/org/mozilla/vrbrowser/VRBrowserActivity.java b/app/src/common/shared/org/mozilla/vrbrowser/VRBrowserActivity.java index b9e0a2e48..7e345a6d6 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/VRBrowserActivity.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/VRBrowserActivity.java @@ -154,6 +154,7 @@ public void run() { private AudioManager mAudioManager; private Widget mActiveDialog; private Set mPoorPerformanceWhiteList; + private float mCurrentCylinderDensity = 0; private boolean callOnAudioManager(Consumer fn) { if (mAudioManager == null) { @@ -1358,12 +1359,18 @@ public void setCylinderDensity(final float aDensity) { if (mWindows != null && aDensity == 0.0f && mWindows.getWindowsCount() > 1) { return; } + mCurrentCylinderDensity = aDensity; queueRunnable(() -> setCylinderDensityNative(aDensity)); if (mWindows != null) { mWindows.updateCurvedMode(false); } } + @Override + public float getCylinderDensity() { + return mCurrentCylinderDensity; + } + @Override public void setCPULevel(int aCPULevel) { queueRunnable(() -> setCPULevelNative(aCPULevel)); diff --git a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/MediaControlsWidget.java b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/MediaControlsWidget.java index 670517dd4..2d6e10958 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/MediaControlsWidget.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/MediaControlsWidget.java @@ -106,6 +106,11 @@ private void initialize(Context aContext) { placement.worldWidth = 0.5f; placement.parentAnchorX = 0.65f; placement.parentAnchorY = 0.4f; + placement.cylinderMapRadius = 0.0f; + if (mWidgetManager.getCylinderDensity() > 0) { + placement.rotationAxisY = 1.0f; + placement.rotation = (float) Math.toRadians(-7); + } mProjectionMenu.getPlacement().visible = !mProjectionMenu.getPlacement().visible; mWidgetManager.updateWidget(mProjectionMenu); }); diff --git a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WidgetManagerDelegate.java b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WidgetManagerDelegate.java index 88e2204d3..e4dc8fa0a 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WidgetManagerDelegate.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WidgetManagerDelegate.java @@ -69,6 +69,7 @@ interface WorldClickListener { void hideVRVideo(); void resetUIYaw(); void setCylinderDensity(float aDensity); + float getCylinderDensity(); void setCPULevel(@VRBrowserActivity.CPULevelFlags int aCPULevel); void addFocusChangeListener(@NonNull FocusChangeListener aListener); void removeFocusChangeListener(@NonNull FocusChangeListener aListener);