diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2016-01-21 03:36:43 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-01-21 03:36:43 -0800 |
commit | f4c20173d8622563f5bd80ef4d15525286cf601e (patch) | |
tree | e776a996ab4dabfdc566285db425d0ffd2df5f58 /src/org/codeaurora/gallery3d/video/CodeauroraVideoView.java | |
parent | 16870fa9241b73a8ed0b77c7741a3b4628586843 (diff) | |
parent | a1dbd23b6334f23e7853d6cd3d90a90cd1ea8a9b (diff) | |
download | android_packages_apps_Gallery2-f4c20173d8622563f5bd80ef4d15525286cf601e.tar.gz android_packages_apps_Gallery2-f4c20173d8622563f5bd80ef4d15525286cf601e.tar.bz2 android_packages_apps_Gallery2-f4c20173d8622563f5bd80ef4d15525286cf601e.zip |
Merge "Gallery2: fix video play abnormal when screen is locked."
Diffstat (limited to 'src/org/codeaurora/gallery3d/video/CodeauroraVideoView.java')
-rw-r--r-- | src/org/codeaurora/gallery3d/video/CodeauroraVideoView.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/org/codeaurora/gallery3d/video/CodeauroraVideoView.java b/src/org/codeaurora/gallery3d/video/CodeauroraVideoView.java index 0cb26d2d3..0475aef82 100644 --- a/src/org/codeaurora/gallery3d/video/CodeauroraVideoView.java +++ b/src/org/codeaurora/gallery3d/video/CodeauroraVideoView.java @@ -1,6 +1,7 @@ package org.codeaurora.gallery3d.video; import android.app.AlertDialog; +import android.app.KeyguardManager; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -96,6 +97,7 @@ public class CodeauroraVideoView extends SurfaceView implements MediaPlayerContr private boolean mOnResumed; private boolean mIsShowDialog = false; private boolean mErrorDialogShowing = false; + private KeyguardManager mKeyguardManager; private final Handler mHandler = new Handler() { public void handleMessage(final Message msg) { @@ -948,6 +950,21 @@ public class CodeauroraVideoView extends SurfaceView implements MediaPlayerContr setVideoURI(uri, headers); } + private boolean isKeyguardLocked() { + if (mKeyguardManager == null) { + mKeyguardManager = + (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE); + } + // isKeyguardSecure excludes the slide lock case. + boolean locked = (mKeyguardManager != null) + && mKeyguardManager.inKeyguardRestrictedInputMode(); + if (LOG) { + Log.v(TAG, "isKeyguardLocked() locked=" + locked + ", mKeyguardManager=" + + mKeyguardManager); + } + return locked; + } + private void doPreparedIfReady(final MediaPlayer mp) { if (LOG) { Log.v(TAG, "doPreparedIfReady() mHasGotPreparedCallBack=" + mHasGotPreparedCallBack @@ -955,7 +972,7 @@ public class CodeauroraVideoView extends SurfaceView implements MediaPlayerContr + mNeedWaitLayout + ", mCurrentState=" + mCurrentState); } - if (mHasGotPreparedCallBack && mHasGotMetaData && !mNeedWaitLayout) { + if (mHasGotPreparedCallBack && mHasGotMetaData && !mNeedWaitLayout && !isKeyguardLocked()) { doPrepared(mp); } } |