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); |
} |
} |