mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 01:40:07 +01:00
Fix lifecycle of VoiceNoteProximityWakeLockManager.
This commit is contained in:
committed by
Greyson Parrelli
parent
314ea98393
commit
e02c8b9db7
@@ -124,6 +124,12 @@ public class VoiceNoteMediaController implements DefaultLifecycleObserver {
|
||||
|
||||
@Override
|
||||
public void onDestroy(@NonNull LifecycleOwner owner) {
|
||||
if (voiceNoteProximityWakeLockManager != null) {
|
||||
voiceNoteProximityWakeLockManager.unregisterCallbacksAndRelease();
|
||||
voiceNoteProximityWakeLockManager.unregisterFromLifecycle();
|
||||
voiceNoteProximityWakeLockManager = null;
|
||||
}
|
||||
|
||||
activity.getLifecycle().removeObserver(this);
|
||||
activity = null;
|
||||
}
|
||||
@@ -294,6 +300,7 @@ public class VoiceNoteMediaController implements DefaultLifecycleObserver {
|
||||
if (voiceNoteProximityWakeLockManager != null) {
|
||||
Log.d(TAG, "Session reconnected, cleaning up old wake lock manager");
|
||||
voiceNoteProximityWakeLockManager.unregisterCallbacksAndRelease();
|
||||
voiceNoteProximityWakeLockManager.unregisterFromLifecycle();
|
||||
voiceNoteProximityWakeLockManager = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,12 @@ class VoiceNoteProximityWakeLockManager(
|
||||
cleanUpWakeLock()
|
||||
}
|
||||
|
||||
fun unregisterFromLifecycle() {
|
||||
if (proximitySensor != null) {
|
||||
activity.lifecycle.removeObserver(this)
|
||||
}
|
||||
}
|
||||
|
||||
private fun isActivityResumed() = activity.lifecycle.currentState.isAtLeast(Lifecycle.State.RESUMED)
|
||||
|
||||
private fun isPlayerActive() = mediaController.playbackState.state == PlaybackStateCompat.STATE_BUFFERING ||
|
||||
|
||||
Reference in New Issue
Block a user