avoid NPE for voice message playback

Exception java.lang.NullPointerException:
  at com.nextcloud.talk.controllers.ChatController.startPlayback (ChatController.kt:985)
  at com.nextcloud.talk.controllers.ChatController.access$startPlayback (ChatController.kt:219)
  at com.nextcloud.talk.controllers.ChatController$downloadFileToCache$1.invoke (ChatController.kt:1130)
  at com.nextcloud.talk.controllers.ChatController$downloadFileToCache$1.invoke (ChatController.kt:1128)
  at com.nextcloud.talk.controllers.ChatController.downloadFileToCache$lambda$19 (ChatController.kt:1128)
  at com.nextcloud.talk.controllers.ChatController.$r8$lambda$oLS0bGL_zLma74VfkfStO_mReb4
  at com.nextcloud.talk.controllers.ChatController$$ExternalSyntheticLambda10.onChanged
  at androidx.lifecycle.LiveData.considerNotify (LiveData.java:133)
  at androidx.lifecycle.LiveData.dispatchingValue (LiveData.java:151)
  at androidx.lifecycle.LiveData.setValue (LiveData.java:309)
  at androidx.lifecycle.MutableLiveData.setValue (MutableLiveData.java:50)
  at androidx.lifecycle.LiveData$1.run (LiveData.java:93)
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.app.ActivityThread.main (ActivityThread.java:8775)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:571)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2023-02-14 12:36:43 +01:00 committed by Marcel Hibbe (Rebase PR Action)
parent 490feefc8b
commit 4932541de7

View File

@ -975,8 +975,9 @@ class ChatController(args: Bundle) :
initMediaPlayer(message) initMediaPlayer(message)
if (!mediaPlayer!!.isPlaying) { mediaPlayer?.let {
mediaPlayer!!.start() if (!it.isPlaying) {
it.start()
} }
mediaPlayerHandler = Handler() mediaPlayerHandler = Handler()
@ -995,6 +996,7 @@ class ChatController(args: Bundle) :
message.isPlayingVoiceMessage = true message.isPlayingVoiceMessage = true
adapter?.update(message) adapter?.update(message)
} }
}
private fun pausePlayback(message: ChatMessage) { private fun pausePlayback(message: ChatMessage) {
if (mediaPlayer!!.isPlaying) { if (mediaPlayer!!.isPlaying) {