From fb2fd5f52c3de68ea8395eb0b5e5543e8ab26763 Mon Sep 17 00:00:00 2001 From: Teng-Hui Zhu Date: Mon, 26 Sep 2011 17:10:41 -0700 Subject: [PATCH] Double check the permission before setting the Wake Lock bug:5361732 Change-Id: Ia9092b25d62c4a14cba885f5e3fac0326d0fde1c --- core/java/android/webkit/HTML5VideoInline.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/java/android/webkit/HTML5VideoInline.java b/core/java/android/webkit/HTML5VideoInline.java index 97dc2918a2c9a..42581c2fa51da 100644 --- a/core/java/android/webkit/HTML5VideoInline.java +++ b/core/java/android/webkit/HTML5VideoInline.java @@ -1,6 +1,8 @@ package android.webkit; +import android.Manifest.permission; +import android.content.pm.PackageManager; import android.graphics.SurfaceTexture; import android.media.MediaPlayer; import android.webkit.HTML5VideoView; @@ -52,7 +54,12 @@ public class HTML5VideoInline extends HTML5VideoView{ public void prepareDataAndDisplayMode(HTML5VideoViewProxy proxy) { super.prepareDataAndDisplayMode(proxy); setFrameAvailableListener(proxy); - mPlayer.setWakeMode(proxy.getContext(), PowerManager.FULL_WAKE_LOCK); + // TODO: This is a workaround, after b/5375681 fixed, we should switch + // to the better way. + if (mProxy.getContext().checkCallingOrSelfPermission(permission.WAKE_LOCK) + == PackageManager.PERMISSION_GRANTED) { + mPlayer.setWakeMode(proxy.getContext(), PowerManager.FULL_WAKE_LOCK); + } } // Pause the play and update the play/pause button