diff options
author | Tom Hennen <tom.hennen@gmail.com> | 2015-11-22 18:50:18 -0500 |
---|---|---|
committer | Tom Hennen <tom.hennen@gmail.com> | 2015-11-22 18:50:18 -0500 |
commit | 40c5f5e0d083eb1f6ce95e12bbe7354e1ddc42ea (patch) | |
tree | e08277c6bcefb389cb9662263916216bd5bf4751 | |
parent | e9b655b92e291d08a93fbc9de2355a4944a393ab (diff) | |
download | AntennaPod-40c5f5e0d083eb1f6ce95e12bbe7354e1ddc42ea.zip |
catch null pointer exception to fix some huawei devices.
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java index f6c71daa7..df3dbfa69 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java @@ -116,9 +116,19 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre PendingIntent buttonReceiverIntent = PendingIntent.getBroadcast(context, 0, mediaButtonIntent, PendingIntent.FLAG_UPDATE_CURRENT); mediaSession = new MediaSessionCompat(context, TAG, eventReceiver, buttonReceiverIntent); - mediaSession.setCallback(sessionCallback); - mediaSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS | MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS); - mediaSession.setActive(true); + + try { + mediaSession.setCallback(sessionCallback); + mediaSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS | MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS); + mediaSession.setActive(true); + } catch (NullPointerException npe) { + // on some devices (Huawei) setting active can cause a NullPointerException + // even with correct use of the api. + // See http://stackoverflow.com/questions/31556679/android-huawei-mediassessioncompat + // and https://plus.google.com/+IanLake/posts/YgdTkKFxz7d + Log.e(TAG, "NullPointerException while setting up MediaSession"); + npe.printStackTrace(); + } mediaPlayer = null; statusBeforeSeeking = null; |