| Index: ui/android/java/src/org/chromium/ui/ViewAndroid.java
|
| diff --git a/ui/android/java/src/org/chromium/ui/ViewAndroid.java b/ui/android/java/src/org/chromium/ui/ViewAndroid.java
|
| index 0f0ca116a79c753f2058de2842c15b91ae4ebc2c..97c8e1dcfd3460dbdf857f5148653d079cd0f008 100644
|
| --- a/ui/android/java/src/org/chromium/ui/ViewAndroid.java
|
| +++ b/ui/android/java/src/org/chromium/ui/ViewAndroid.java
|
| @@ -4,6 +4,8 @@
|
|
|
| package org.chromium.ui;
|
|
|
| +import android.view.View;
|
| +
|
| import org.chromium.base.JNINamespace;
|
| import org.chromium.ui.ViewAndroidDelegate;
|
| import org.chromium.ui.WindowAndroid;
|
| @@ -23,6 +25,8 @@ public class ViewAndroid {
|
| private int mNativeViewAndroid = 0;
|
| private final ViewAndroidDelegate mViewAndroidDelegate;
|
| private final WindowAndroid mWindowAndroid;
|
| + private int mKeepScreenOnCount;
|
| + private View mKeepScreenOnView;
|
|
|
| /**
|
| * Constructs a View object.
|
| @@ -55,6 +59,29 @@ public class ViewAndroid {
|
| return mNativeViewAndroid;
|
| }
|
|
|
| + /**
|
| + * Set KeepScreenOn flag. If the flag already set, increase mKeepScreenOnCount.
|
| + */
|
| + public void incrementKeepScreenOnCount() {
|
| + mKeepScreenOnCount++;
|
| + if (mKeepScreenOnCount == 1) {
|
| + mKeepScreenOnView = mViewAndroidDelegate.acquireAnchorView();
|
| + mKeepScreenOnView.setKeepScreenOn(true);
|
| + }
|
| + }
|
| +
|
| + /**
|
| + * Decrease mKeepScreenOnCount, if it is decreased to 0, remove the flag.
|
| + */
|
| + public void decrementKeepScreenOnCount() {
|
| + assert mKeepScreenOnCount > 0;
|
| + mKeepScreenOnCount--;
|
| + if (mKeepScreenOnCount == 0) {
|
| + mViewAndroidDelegate.releaseAnchorView(mKeepScreenOnView);
|
| + mKeepScreenOnView = null;
|
| + }
|
| + }
|
| +
|
| private native int nativeInit(int windowPtr);
|
| private native void nativeDestroy(int nativeViewAndroid);
|
| }
|
|
|