diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackController.kt b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackController.kt index 238e57ece..b6821a39c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackController.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/voice/VoiceNotePlaybackController.kt @@ -11,17 +11,23 @@ import com.google.android.exoplayer2.SimpleExoPlayer import com.google.android.exoplayer2.audio.AudioAttributes import com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector import com.google.android.exoplayer2.util.Util +import org.signal.core.util.logging.Log class VoiceNotePlaybackController( private val player: SimpleExoPlayer, private val voiceNotePlaybackParameters: VoiceNotePlaybackParameters ) : MediaSessionConnector.CommandReceiver { + companion object { + private val TAG = Log.tag(VoiceNoteMediaController::class.java) + } + @Suppress("deprecation") override fun onCommand(p: Player, controlDispatcher: ControlDispatcher, command: String, extras: Bundle?, cb: ResultReceiver?): Boolean { + Log.d(TAG, "[onCommand] Received player command $command (extras? ${extras != null})") + if (command == VoiceNotePlaybackService.ACTION_NEXT_PLAYBACK_SPEED) { val speed = extras?.getFloat(VoiceNotePlaybackService.ACTION_NEXT_PLAYBACK_SPEED, 1f) ?: 1f - player.playbackParameters = PlaybackParameters(speed) voiceNotePlaybackParameters.setSpeed(speed) return true 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 499dea8a2..3a4d2eda3 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 @@ -82,6 +82,7 @@ class VoiceNoteProximityWakeLockManager( sensorManager.unregisterListener(hardwareSensorEventListener) if (wakeLock?.isHeld == true) { + Log.d(TAG, "[cleanUpWakeLock] Releasing wake lock.") wakeLock.release() } @@ -102,10 +103,14 @@ class VoiceNoteProximityWakeLockManager( if (isPlayerActive()) { if (startTime == -1L) { + Log.d(TAG, "[onPlaybackStateChanged] Player became active with start time $startTime, registering sensor listener.") startTime = System.currentTimeMillis() sensorManager.registerListener(hardwareSensorEventListener, proximitySensor, SensorManager.SENSOR_DELAY_NORMAL) + } else { + Log.d(TAG, "[onPlaybackStateChanged] Player became active without start time, skipping sensor registration") } } else { + Log.d(TAG, "[onPlaybackStateChanged] Player became inactive. Cleaning up wake lock.") cleanUpWakeLock() } } @@ -132,12 +137,14 @@ class VoiceNoteProximityWakeLockManager( if (newStreamType == AudioManager.STREAM_VOICE_CALL) { if (wakeLock?.isHeld == false) { + Log.d(TAG, "[onSensorChanged] Acquiring wakelock") wakeLock.acquire(TimeUnit.MINUTES.toMillis(30)) } startTime = System.currentTimeMillis() } else { if (wakeLock?.isHeld == true) { + Log.d(TAG, "[onSensorChanged] Releasing wakelock") wakeLock.release() } }