From 915f3eebb5b55ee86bc49adc2728340f577e4135 Mon Sep 17 00:00:00 2001 From: Christopher Eby Date: Thu, 16 Feb 2012 02:39:34 -0600 Subject: [PATCH] Handle permission revocation --- src/org/kreed/vanilla/PlaybackService.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/org/kreed/vanilla/PlaybackService.java b/src/org/kreed/vanilla/PlaybackService.java index 06349d8e..1265765f 100644 --- a/src/org/kreed/vanilla/PlaybackService.java +++ b/src/org/kreed/vanilla/PlaybackService.java @@ -406,9 +406,13 @@ public final class PlaybackService extends Service PowerManager powerManager = (PowerManager)getSystemService(POWER_SERVICE); mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "VanillaMusicLock"); - mCallListener = new InCallListener(); - TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); - telephonyManager.listen(mCallListener, PhoneStateListener.LISTEN_CALL_STATE); + try { + mCallListener = new InCallListener(); + TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); + telephonyManager.listen(mCallListener, PhoneStateListener.LISTEN_CALL_STATE); + } catch (SecurityException e) { + // don't have READ_PHONE_STATE + } mReceiver = new Receiver(); IntentFilter filter = new IntentFilter(); @@ -694,8 +698,12 @@ public final class PlaybackService extends Service if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) { CompatFroyo.requestAudioFocus(mAudioManager); } - if (mWakeLock != null) - mWakeLock.acquire(); + try { + if (mWakeLock != null) + mWakeLock.acquire(); + } catch (SecurityException e) { + // Don't have WAKE_LOCK permission + } } else { if (mMediaPlayerInitialized) mMediaPlayer.pause();