diff options
author | Tom Hennen <TomHennen@users.noreply.github.com> | 2015-11-22 19:16:35 -0500 |
---|---|---|
committer | Tom Hennen <TomHennen@users.noreply.github.com> | 2015-11-22 19:16:35 -0500 |
commit | 2e18d95a74aa9b2d19c6906c81c51991a862ebc1 (patch) | |
tree | 1315f669924e186766929a1658bed64e3206801a | |
parent | e9b655b92e291d08a93fbc9de2355a4944a393ab (diff) | |
parent | 76c169885acf35e897c9feae343f53182c2f2fee (diff) | |
download | AntennaPod-2e18d95a74aa9b2d19c6906c81c51991a862ebc1.zip |
Merge pull request #1404 from TomHennen/fix_huawei_npe
Fix huawei npe
-rw-r--r-- | CHANGELOG.md | 4 | ||||
-rw-r--r-- | app/src/main/AndroidManifest.xml | 4 | ||||
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java | 16 |
3 files changed, 19 insertions, 5 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 86cd0c6d1..f07b7f7e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ Change Log ========== +Version 1.4.0.12 +---------------- +* Fix for crash on Huawei devices (media buttons may not work) + Version 1.4 ----------- * BLUETOOTH PERMISSION: Needed to be able to resume playback when a Bluetooth device reconnects with your phone diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07a02ddfb..4efd5f5b6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="de.danoeh.antennapod" - android:versionCode="1040011" - android:versionName="1.4.0.11"> + android:versionCode="1040012" + android:versionName="1.4.0.12"> <!-- Version code schema: "1.2.3-SNAPSHOT" -> 1020300 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; |