diff --git a/app/src/common/shared/org/mozilla/vrbrowser/VRBrowserActivity.java b/app/src/common/shared/org/mozilla/vrbrowser/VRBrowserActivity.java index 327ce644f..7fe1df4cb 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/VRBrowserActivity.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/VRBrowserActivity.java @@ -336,8 +336,6 @@ protected void onPause() { } mAudioEngine.pauseEngine(); - SessionStore.get().onPause(); - mWindows.onPause(); for (Widget widget: mWidgets.values()) { @@ -360,7 +358,7 @@ protected void onResume() { mOffscreenDisplay.onResume(); } - SessionStore.get().onResume(); + mWindows.onResume(); mAudioEngine.resumeEngine(); for (Widget widget: mWidgets.values()) { diff --git a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java index b58ec1a16..d14a603de 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java @@ -239,6 +239,20 @@ protected void onDismiss() { } } + @Override + public void onPause() { + super.onPause(); + mSessionStack.setActive(false); + } + + @Override + public void onResume() { + super.onResume(); + if (isVisible()) { + mSessionStack.setActive(true); + } + } + public void close() { TelemetryWrapper.closeWindowEvent(mWindowId); @@ -820,6 +834,7 @@ public void setVisible(boolean aVisible) { if (mWidgetPlacement.visible == aVisible) { return; } + mSessionStack.setActive(aVisible); mWidgetPlacement.visible = aVisible; if (!aVisible) { if (mIsBookmarksVisible || mIsHistoryVisible) { diff --git a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/Windows.java b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/Windows.java index 2d6c96478..b1bca2807 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/Windows.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/Windows.java @@ -360,6 +360,21 @@ public void resumeCompositor() { public void onPause() { saveState(); + for (WindowWidget window: mRegularWindows) { + window.onPause(); + } + for (WindowWidget window: mPrivateWindows) { + window.onPause(); + } + } + + public void onResume() { + for (WindowWidget window: mRegularWindows) { + window.onResume(); + } + for (WindowWidget window: mPrivateWindows) { + window.onResume(); + } } public void onDestroy() {