parent
1f09f48e6b
commit
a50f316659
1 changed files with 12 additions and 8 deletions
|
@ -77,15 +77,17 @@ public class VoiceNotePlaybackService extends MediaSessionService {
|
||||||
player.addListener(new VoiceNotePlayerEventListener());
|
player.addListener(new VoiceNotePlayerEventListener());
|
||||||
|
|
||||||
voiceNotePlayerCallback = new VoiceNotePlayerCallback(this, player);
|
voiceNotePlayerCallback = new VoiceNotePlayerCallback(this, player);
|
||||||
mediaSession = buildMediaSession(false);
|
|
||||||
|
|
||||||
if (mediaSession == null) {
|
final MediaSession session = buildMediaSession(false);
|
||||||
|
if (session == null) {
|
||||||
Log.e(TAG, "Unable to create media session at all, stopping service to avoid crash.");
|
Log.e(TAG, "Unable to create media session at all, stopping service to avoid crash.");
|
||||||
stopSelf();
|
stopSelf();
|
||||||
return;
|
return;
|
||||||
|
} else {
|
||||||
|
mediaSession = session;
|
||||||
}
|
}
|
||||||
|
|
||||||
keyClearedReceiver = new KeyClearedReceiver(this, mediaSession.getToken());
|
keyClearedReceiver = new KeyClearedReceiver(this, session.getToken());
|
||||||
|
|
||||||
setMediaNotificationProvider(new VoiceNoteMediaNotificationProvider(this));
|
setMediaNotificationProvider(new VoiceNoteMediaNotificationProvider(this));
|
||||||
setListener(new MediaSessionServiceListener());
|
setListener(new MediaSessionServiceListener());
|
||||||
|
@ -96,9 +98,10 @@ public class VoiceNotePlaybackService extends MediaSessionService {
|
||||||
public void onTaskRemoved(Intent rootIntent) {
|
public void onTaskRemoved(Intent rootIntent) {
|
||||||
super.onTaskRemoved(rootIntent);
|
super.onTaskRemoved(rootIntent);
|
||||||
|
|
||||||
if (mediaSession != null) {
|
final MediaSession session = mediaSession;
|
||||||
mediaSession.getPlayer().stop();
|
if (session != null) {
|
||||||
mediaSession.getPlayer().clearMediaItems();
|
session.getPlayer().stop();
|
||||||
|
session.getPlayer().clearMediaItems();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,8 +110,9 @@ public class VoiceNotePlaybackService extends MediaSessionService {
|
||||||
AppDependencies.getDatabaseObserver().unregisterObserver(attachmentDeletionObserver);
|
AppDependencies.getDatabaseObserver().unregisterObserver(attachmentDeletionObserver);
|
||||||
player.release();
|
player.release();
|
||||||
|
|
||||||
if (mediaSession != null) {
|
final MediaSession session = mediaSession;
|
||||||
mediaSession.release();
|
if (session != null) {
|
||||||
|
session.release();
|
||||||
mediaSession = null;
|
mediaSession = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue