diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlayerCallback.kt b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlayerCallback.kt index 4dae9c1a75..77cc51592a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlayerCallback.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlayerCallback.kt @@ -207,6 +207,8 @@ class VoiceNotePlayerCallback(val context: Context, val player: VoiceNotePlayer) player.setAudioAttributes(attributes, newStreamType == AudioManager.STREAM_MUSIC) if (newStreamType == AudioManager.STREAM_VOICE_CALL) { player.playWhenReady = true + } else { + Log.i(TAG, "Audio stream set to $newStreamType. Not playing when ready.") } } return Futures.immediateFuture(SessionResult(SessionResult.RESULT_SUCCESS)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNoteProximityWakeLockManager.kt b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNoteProximityWakeLockManager.kt index 2b3ad2be55..fe8b4613ae 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNoteProximityWakeLockManager.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNoteProximityWakeLockManager.kt @@ -61,7 +61,7 @@ class VoiceNoteProximityWakeLockManager( } fun unregisterCallbacksAndRelease() { - mediaController.addListener(mediaControllerCallback) + mediaController.removeListener(mediaControllerCallback) cleanUpWakeLock() } @@ -94,7 +94,7 @@ class VoiceNoteProximityWakeLockManager( inner class ProximityListener : Player.Listener { override fun onEvents(player: Player, events: Player.Events) { super.onEvents(player, events) - if (events.contains(Player.EVENT_PLAYBACK_STATE_CHANGED)) { + if (events.containsAny(Player.EVENT_PLAYBACK_STATE_CHANGED, Player.EVENT_IS_PLAYING_CHANGED)) { if (!isActivityResumed()) { return } @@ -125,8 +125,10 @@ class VoiceNoteProximityWakeLockManager( inner class HardwareSensorEventListener : SensorEventListener { override fun onSensorChanged(event: SensorEvent) { - if (startTime == -1L || - System.currentTimeMillis() - startTime <= 500 || + if (System.currentTimeMillis() - startTime <= 500) { + Log.i(TAG, "Ignoring sensor change because it's too close to start time.") + return + } else if (startTime == -1L || !isActivityResumed() || !mediaController.isPlaying || event.sensor.type != Sensor.TYPE_PROXIMITY ||