From 1699876aab97a2b3fada8130fe2309835f830074 Mon Sep 17 00:00:00 2001 From: bachinger Date: Fri, 20 Jul 2018 03:50:33 -0700 Subject: [PATCH] call stop(true) when media action stop is received ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=205377624 --- .../ext/mediasession/DefaultPlaybackController.java | 4 ++-- .../exoplayer2/ext/mediasession/MediaSessionConnector.java | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/DefaultPlaybackController.java b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/DefaultPlaybackController.java index ce597b45cd..7d983e14e9 100644 --- a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/DefaultPlaybackController.java +++ b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/DefaultPlaybackController.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 The Android Open Source Project + * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -127,7 +127,7 @@ public class DefaultPlaybackController implements MediaSessionConnector.Playback @Override public void onStop(Player player) { - player.stop(); + player.stop(true); } @Override diff --git a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java index 6db58a2e3b..9b39a0415e 100644 --- a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java +++ b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java @@ -689,13 +689,16 @@ public final class MediaSessionConnector { @Override public MediaMetadataCompat getMetadata(Player player) { + if (player.getCurrentTimeline().isEmpty()) { + return null; + } MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder(); - if (player != null && player.isPlayingAd()) { + if (player.isPlayingAd()) { builder.putLong(MediaMetadataCompat.METADATA_KEY_ADVERTISEMENT, 1); } builder.putLong( MediaMetadataCompat.METADATA_KEY_DURATION, - player == null ? 0 : player.getDuration() == C.TIME_UNSET ? -1 : player.getDuration()); + player.getDuration() == C.TIME_UNSET ? -1 : player.getDuration()); long activeQueueItemId = mediaController.getPlaybackState().getActiveQueueItemId(); if (activeQueueItemId != MediaSessionCompat.QueueItem.UNKNOWN_ID) { List queue = mediaController.getQueue();