Made mediaPlayerHandler null safe

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
This commit is contained in:
Julius Linus 2024-05-29 10:37:41 -05:00 committed by rapterjet2004
parent 722a78407f
commit 14f793f0e8
No known key found for this signature in database
GPG Key ID: 3AA5FDFED7944099

View File

@ -388,7 +388,7 @@ class ChatActivity :
private var voicePreviewObjectAnimator: ObjectAnimator? = null private var voicePreviewObjectAnimator: ObjectAnimator? = null
var mediaPlayer: MediaPlayer? = null var mediaPlayer: MediaPlayer? = null
lateinit var mediaPlayerHandler: Handler var mediaPlayerHandler: Handler? = null
private var currentlyPlayedVoiceMessage: ChatMessage? = null private var currentlyPlayedVoiceMessage: ChatMessage? = null
@ -605,10 +605,10 @@ class ChatActivity :
override fun onSaveInstanceState(outState: Bundle) { override fun onSaveInstanceState(outState: Bundle) {
if (currentlyPlayedVoiceMessage != null) { if (currentlyPlayedVoiceMessage != null) {
outState.putString(CURRENT_AUDIO_MESSAGE_KEY, currentlyPlayedVoiceMessage!!.getId()) outState.putString(CURRENT_AUDIO_MESSAGE_KEY, currentlyPlayedVoiceMessage!!.id)
outState.putInt(CURRENT_AUDIO_POSITION_KEY, currentlyPlayedVoiceMessage!!.voiceMessagePlayedSeconds) outState.putInt(CURRENT_AUDIO_POSITION_KEY, currentlyPlayedVoiceMessage!!.voiceMessagePlayedSeconds)
outState.putBoolean(CURRENT_AUDIO_WAS_PLAYING_KEY, currentlyPlayedVoiceMessage!!.isPlayingVoiceMessage) outState.putBoolean(CURRENT_AUDIO_WAS_PLAYING_KEY, currentlyPlayedVoiceMessage!!.isPlayingVoiceMessage)
Log.d(RESUME_AUDIO_TAG, "Stored current audio message ID: " + currentlyPlayedVoiceMessage!!.getId()) Log.d(RESUME_AUDIO_TAG, "Stored current audio message ID: " + currentlyPlayedVoiceMessage!!.id)
Log.d( Log.d(
RESUME_AUDIO_TAG, RESUME_AUDIO_TAG,
"Audio Position: " + currentlyPlayedVoiceMessage!!.voiceMessagePlayedSeconds "Audio Position: " + currentlyPlayedVoiceMessage!!.voiceMessagePlayedSeconds
@ -2402,7 +2402,7 @@ class ChatActivity :
} }
} }
} }
mediaPlayerHandler.postDelayed(this, MILISEC_15) mediaPlayerHandler?.postDelayed(this, MILISEC_15)
} }
}) })
@ -2476,7 +2476,7 @@ class ChatActivity :
currentlyPlayedVoiceMessage = null currentlyPlayedVoiceMessage = null
lastRecordMediaPosition = 0 // this ensures that if audio track is changed, then it is played from the beginning lastRecordMediaPosition = 0 // this ensures that if audio track is changed, then it is played from the beginning
mediaPlayerHandler.removeCallbacksAndMessages(null) mediaPlayerHandler?.removeCallbacksAndMessages(null)
try { try {
mediaPlayer?.let { mediaPlayer?.let {
@ -3484,7 +3484,7 @@ class ChatActivity :
actionBar?.setIcon(null) actionBar?.setIcon(null)
} }
currentlyPlayedVoiceMessage?.let { stopMediaPlayer(it) } currentlyPlayedVoiceMessage?.let { stopMediaPlayer(it) } // FIXME, mediaplayer can sometimes be null here
adapter = null adapter = null
Log.d(TAG, "inConversation was set to false!") Log.d(TAG, "inConversation was set to false!")
@ -3913,7 +3913,7 @@ class ChatActivity :
} else { } else {
Log.d( Log.d(
RESUME_AUDIO_TAG, RESUME_AUDIO_TAG,
"voiceMessagePosition is -1, adapter # of items: " + adapter!!.getItemCount() "voiceMessagePosition is -1, adapter # of items: " + adapter!!.itemCount
) )
} }
} else { } else {
@ -4575,7 +4575,8 @@ class ChatActivity :
private fun showMicrophoneButton(show: Boolean) { private fun showMicrophoneButton(show: Boolean) {
if (show && CapabilitiesUtil.hasSpreedFeatureCapability( if (show && CapabilitiesUtil.hasSpreedFeatureCapability(
spreedCapabilities, SpreedFeatures.VOICE_MESSAGE_SHARING spreedCapabilities,
SpreedFeatures.VOICE_MESSAGE_SHARING
) )
) { ) {
Log.d(TAG, "Microphone shown") Log.d(TAG, "Microphone shown")