diff options
author | qinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-06 20:48:03 +0000 |
---|---|---|
committer | qinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-06 20:48:03 +0000 |
commit | 9b4b096c390bb87d030c11c37e18cb3da9a82146 (patch) | |
tree | 5f4b5bc34dc0d283e12da530a727fc0850cb54f2 | |
parent | 162a9fd70dba993491606e3b6d48a868be041c18 (diff) | |
download | chromium_src-9b4b096c390bb87d030c11c37e18cb3da9a82146.zip chromium_src-9b4b096c390bb87d030c11c37e18cb3da9a82146.tar.gz chromium_src-9b4b096c390bb87d030c11c37e18cb3da9a82146.tar.bz2 |
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
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 @@ <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.GET_ACCOUNTS"/> <uses-permission android:name="android.permission.INTERNET"/> - <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> 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 @@ <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.VIBRATE"/> - <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 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 @@ <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.VIBRATE"/> - <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 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, |