Add logging around wakelock usage for voice notes player.
This commit is contained in:
parent
2e8ebe8b74
commit
4c5a88c6ca
2 changed files with 14 additions and 1 deletions
|
@ -11,17 +11,23 @@ import com.google.android.exoplayer2.SimpleExoPlayer
|
||||||
import com.google.android.exoplayer2.audio.AudioAttributes
|
import com.google.android.exoplayer2.audio.AudioAttributes
|
||||||
import com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
|
import com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
|
||||||
import com.google.android.exoplayer2.util.Util
|
import com.google.android.exoplayer2.util.Util
|
||||||
|
import org.signal.core.util.logging.Log
|
||||||
|
|
||||||
class VoiceNotePlaybackController(
|
class VoiceNotePlaybackController(
|
||||||
private val player: SimpleExoPlayer,
|
private val player: SimpleExoPlayer,
|
||||||
private val voiceNotePlaybackParameters: VoiceNotePlaybackParameters
|
private val voiceNotePlaybackParameters: VoiceNotePlaybackParameters
|
||||||
) : MediaSessionConnector.CommandReceiver {
|
) : MediaSessionConnector.CommandReceiver {
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private val TAG = Log.tag(VoiceNoteMediaController::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
@Suppress("deprecation")
|
@Suppress("deprecation")
|
||||||
override fun onCommand(p: Player, controlDispatcher: ControlDispatcher, command: String, extras: Bundle?, cb: ResultReceiver?): Boolean {
|
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) {
|
if (command == VoiceNotePlaybackService.ACTION_NEXT_PLAYBACK_SPEED) {
|
||||||
val speed = extras?.getFloat(VoiceNotePlaybackService.ACTION_NEXT_PLAYBACK_SPEED, 1f) ?: 1f
|
val speed = extras?.getFloat(VoiceNotePlaybackService.ACTION_NEXT_PLAYBACK_SPEED, 1f) ?: 1f
|
||||||
|
|
||||||
player.playbackParameters = PlaybackParameters(speed)
|
player.playbackParameters = PlaybackParameters(speed)
|
||||||
voiceNotePlaybackParameters.setSpeed(speed)
|
voiceNotePlaybackParameters.setSpeed(speed)
|
||||||
return true
|
return true
|
||||||
|
|
|
@ -82,6 +82,7 @@ class VoiceNoteProximityWakeLockManager(
|
||||||
sensorManager.unregisterListener(hardwareSensorEventListener)
|
sensorManager.unregisterListener(hardwareSensorEventListener)
|
||||||
|
|
||||||
if (wakeLock?.isHeld == true) {
|
if (wakeLock?.isHeld == true) {
|
||||||
|
Log.d(TAG, "[cleanUpWakeLock] Releasing wake lock.")
|
||||||
wakeLock.release()
|
wakeLock.release()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,10 +103,14 @@ class VoiceNoteProximityWakeLockManager(
|
||||||
|
|
||||||
if (isPlayerActive()) {
|
if (isPlayerActive()) {
|
||||||
if (startTime == -1L) {
|
if (startTime == -1L) {
|
||||||
|
Log.d(TAG, "[onPlaybackStateChanged] Player became active with start time $startTime, registering sensor listener.")
|
||||||
startTime = System.currentTimeMillis()
|
startTime = System.currentTimeMillis()
|
||||||
sensorManager.registerListener(hardwareSensorEventListener, proximitySensor, SensorManager.SENSOR_DELAY_NORMAL)
|
sensorManager.registerListener(hardwareSensorEventListener, proximitySensor, SensorManager.SENSOR_DELAY_NORMAL)
|
||||||
|
} else {
|
||||||
|
Log.d(TAG, "[onPlaybackStateChanged] Player became active without start time, skipping sensor registration")
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Log.d(TAG, "[onPlaybackStateChanged] Player became inactive. Cleaning up wake lock.")
|
||||||
cleanUpWakeLock()
|
cleanUpWakeLock()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -132,12 +137,14 @@ class VoiceNoteProximityWakeLockManager(
|
||||||
|
|
||||||
if (newStreamType == AudioManager.STREAM_VOICE_CALL) {
|
if (newStreamType == AudioManager.STREAM_VOICE_CALL) {
|
||||||
if (wakeLock?.isHeld == false) {
|
if (wakeLock?.isHeld == false) {
|
||||||
|
Log.d(TAG, "[onSensorChanged] Acquiring wakelock")
|
||||||
wakeLock.acquire(TimeUnit.MINUTES.toMillis(30))
|
wakeLock.acquire(TimeUnit.MINUTES.toMillis(30))
|
||||||
}
|
}
|
||||||
|
|
||||||
startTime = System.currentTimeMillis()
|
startTime = System.currentTimeMillis()
|
||||||
} else {
|
} else {
|
||||||
if (wakeLock?.isHeld == true) {
|
if (wakeLock?.isHeld == true) {
|
||||||
|
Log.d(TAG, "[onSensorChanged] Releasing wakelock")
|
||||||
wakeLock.release()
|
wakeLock.release()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue