| Index: device/power_save_blocker/android/java/src/org/chromium/device/power_save_blocker/PowerSaveBlocker.java
|
| diff --git a/device/power_save_blocker/android/java/src/org/chromium/device/power_save_blocker/PowerSaveBlocker.java b/device/power_save_blocker/android/java/src/org/chromium/device/power_save_blocker/PowerSaveBlocker.java
|
| index 3638d98071e6e51afe80efc1da5ab0e9fa2f7028..c29dfe32eb80650bf604b936c3918272af42eb35 100644
|
| --- a/device/power_save_blocker/android/java/src/org/chromium/device/power_save_blocker/PowerSaveBlocker.java
|
| +++ b/device/power_save_blocker/android/java/src/org/chromium/device/power_save_blocker/PowerSaveBlocker.java
|
| @@ -8,7 +8,6 @@ import android.view.View;
|
|
|
| import org.chromium.base.annotations.CalledByNative;
|
| import org.chromium.base.annotations.JNINamespace;
|
| -import org.chromium.ui.base.ViewAndroidDelegate;
|
|
|
| import java.lang.ref.WeakReference;
|
|
|
| @@ -25,22 +24,21 @@ class PowerSaveBlocker {
|
| private PowerSaveBlocker() {}
|
|
|
| @CalledByNative
|
| - private void applyBlock(ViewAndroidDelegate delegate) {
|
| + private void applyBlock(View anchorView) {
|
| assert mKeepScreenOnView == null;
|
| - View anchorView = delegate.acquireAnchorView();
|
| mKeepScreenOnView = new WeakReference<>(anchorView);
|
| - delegate.setAnchorViewPosition(anchorView, 0, 0, 0, 0);
|
| anchorView.setKeepScreenOn(true);
|
| }
|
|
|
| @CalledByNative
|
| - private void removeBlock(ViewAndroidDelegate delegate) {
|
| - assert mKeepScreenOnView != null;
|
| + private void removeBlock() {
|
| + // mKeepScreenOnView may be null since it's possible that |applyBlock()|
|
| + // was not invoked due to having failed to acquire an anchor view.
|
| + if (mKeepScreenOnView == null) return;
|
| View anchorView = mKeepScreenOnView.get();
|
| mKeepScreenOnView = null;
|
| if (anchorView == null) return;
|
|
|
| anchorView.setKeepScreenOn(false);
|
| - delegate.releaseAnchorView(anchorView);
|
| }
|
| }
|
|
|