From 60f22fbf67a69e8f3604afb46ccd7c3bd2819cb1 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Wed, 10 Sep 2014 09:15:50 -0700 Subject: Do not restore the media button event receiver Do not restore the media button event receiver on behalf of the application that registered. Prevents reported vulnerability. Bug 15428797 Change-Id: If40ee6bc0c77c191643129daa92eb26755e70cb0 --- media/java/android/media/AudioService.java | 27 --------------------------- 1 file changed, 27 deletions(-) (limited to 'media') diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java index cad20b8..f87a108 100644 --- a/media/java/android/media/AudioService.java +++ b/media/java/android/media/AudioService.java @@ -779,9 +779,6 @@ public class AudioService extends IAudioService.Stub implements OnFinished { // Broadcast vibrate settings broadcastVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER); broadcastVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION); - - // Restore the default media button receiver from the system settings - restoreMediaButtonReceiver(); } private int rescaleIndex(int index, int srcStream, int dstStream) { @@ -5169,30 +5166,6 @@ public class AudioService extends IAudioService.Stub implements OnFinished { /** * Helper function: - * Restore remote control receiver from the system settings. - */ - private void restoreMediaButtonReceiver() { - String receiverName = Settings.System.getStringForUser(mContentResolver, - Settings.System.MEDIA_BUTTON_RECEIVER, UserHandle.USER_CURRENT); - if ((null != receiverName) && !receiverName.isEmpty()) { - ComponentName eventReceiver = ComponentName.unflattenFromString(receiverName); - if (eventReceiver == null) { - // an invalid name was persisted - return; - } - // construct a PendingIntent targeted to the restored component name - // for the media button and register it - Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON); - // the associated intent will be handled by the component being registered - mediaButtonIntent.setComponent(eventReceiver); - PendingIntent pi = PendingIntent.getBroadcast(mContext, - 0/*requestCode, ignored*/, mediaButtonIntent, 0/*flags*/); - registerMediaButtonIntent(pi, eventReceiver, null); - } - } - - /** - * Helper function: * Set the new remote control receiver at the top of the RC focus stack. * Called synchronized on mAudioFocusLock, then mRCStack * precondition: mediaIntent != null -- cgit v1.1