From 9b4b096c390bb87d030c11c37e18cb3da9a82146 Mon Sep 17 00:00:00 2001 From: "qinmin@chromium.org" Date: Wed, 6 Mar 2013 20:48:03 +0000 Subject: remove READ_PHONE_STATE permission as AudioManager can achieve the same functionality AudioManager.AudioFocus_LOSS_TRANSIENT covers the phone ringing case, so we don't need READ_PHONE_STATE permission. PhoneStateListener also impacts the DRT tests as it cannot be created on a background thread BUG=178318 Review URL: https://chromiumcodereview.appspot.com/12480009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186499 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/android/testshell/java/AndroidManifest.xml | 1 - .../android/browsertests_apk/AndroidManifest.xml | 1 - .../shell/android/shell_apk/AndroidManifest.xml | 1 - .../org/chromium/media/MediaPlayerListener.java | 35 +++------------------- 4 files changed, 4 insertions(+), 34 deletions(-) diff --git a/chrome/android/testshell/java/AndroidManifest.xml b/chrome/android/testshell/java/AndroidManifest.xml index 237d0fe..e8f2fa8 100644 --- a/chrome/android/testshell/java/AndroidManifest.xml +++ b/chrome/android/testshell/java/AndroidManifest.xml @@ -72,7 +72,6 @@ - diff --git a/content/shell/android/browsertests_apk/AndroidManifest.xml b/content/shell/android/browsertests_apk/AndroidManifest.xml index b2db72a..01e1006 100644 --- a/content/shell/android/browsertests_apk/AndroidManifest.xml +++ b/content/shell/android/browsertests_apk/AndroidManifest.xml @@ -67,7 +67,6 @@ - diff --git a/content/shell/android/shell_apk/AndroidManifest.xml b/content/shell/android/shell_apk/AndroidManifest.xml index 1eb5964..4d9ed7d 100644 --- a/content/shell/android/shell_apk/AndroidManifest.xml +++ b/content/shell/android/shell_apk/AndroidManifest.xml @@ -67,7 +67,6 @@ - diff --git a/media/base/android/java/src/org/chromium/media/MediaPlayerListener.java b/media/base/android/java/src/org/chromium/media/MediaPlayerListener.java index 47bda73..ba080c8 100644 --- a/media/base/android/java/src/org/chromium/media/MediaPlayerListener.java +++ b/media/base/android/java/src/org/chromium/media/MediaPlayerListener.java @@ -9,8 +9,6 @@ import android.content.Context; import android.content.pm.PackageManager; import android.media.AudioManager; import android.media.MediaPlayer; -import android.telephony.PhoneStateListener; -import android.telephony.TelephonyManager; import org.chromium.base.CalledByNative; import org.chromium.base.JNINamespace; @@ -18,7 +16,7 @@ import org.chromium.base.JNINamespace; // This class implements all the listener interface for android mediaplayer. // Callbacks will be sent to the native class for processing. @JNINamespace("media") -class MediaPlayerListener extends PhoneStateListener implements MediaPlayer.OnPreparedListener, +class MediaPlayerListener implements MediaPlayer.OnPreparedListener, MediaPlayer.OnCompletionListener, MediaPlayer.OnBufferingUpdateListener, MediaPlayer.OnSeekCompleteListener, @@ -106,15 +104,9 @@ class MediaPlayerListener extends PhoneStateListener implements MediaPlayer.OnPr } @Override - public void onCallStateChanged(int type, String number) { - if (type != TelephonyManager.CALL_STATE_IDLE) { - nativeOnMediaInterrupted(mNativeMediaPlayerListener); - } - } - - @Override public void onAudioFocusChange(int focusChange) { - if (focusChange == AudioManager.AUDIOFOCUS_LOSS) { + if (focusChange == AudioManager.AUDIOFOCUS_LOSS || + focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT) { nativeOnMediaInterrupted(mNativeMediaPlayerListener); } } @@ -122,16 +114,6 @@ class MediaPlayerListener extends PhoneStateListener implements MediaPlayer.OnPr @CalledByNative public void releaseResources() { if (mContext != null) { - if (PackageManager.PERMISSION_GRANTED == - mContext.checkCallingOrSelfPermission(permission.READ_PHONE_STATE)) { - // Unregister the listener. - TelephonyManager mgr = - (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); - if (mgr != null) { - mgr.listen(this, PhoneStateListener.LISTEN_NONE); - } - } - // Unregister the wish for audio focus. AudioManager am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); if (am != null) { @@ -144,7 +126,7 @@ class MediaPlayerListener extends PhoneStateListener implements MediaPlayer.OnPr private static MediaPlayerListener create(int nativeMediaPlayerListener, Context context, MediaPlayer mediaPlayer) { final MediaPlayerListener listener = - new MediaPlayerListener(nativeMediaPlayerListener, context); + new MediaPlayerListener(nativeMediaPlayerListener, context); mediaPlayer.setOnBufferingUpdateListener(listener); mediaPlayer.setOnCompletionListener(listener); mediaPlayer.setOnErrorListener(listener); @@ -156,15 +138,6 @@ class MediaPlayerListener extends PhoneStateListener implements MediaPlayer.OnPr mediaPlayer.setWakeMode(context, android.os.PowerManager.FULL_WAKE_LOCK); } - if (PackageManager.PERMISSION_GRANTED == - context.checkCallingOrSelfPermission(permission.READ_PHONE_STATE)) { - TelephonyManager mgr = - (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); - if (mgr != null) { - mgr.listen(listener, PhoneStateListener.LISTEN_CALL_STATE); - } - } - AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); am.requestAudioFocus( listener, -- cgit v1.1