Fix non-dismissible resumption players.

Ensure resumption players created when a non-dismissible notification
is cancelled force the 'isClearable' flag to true. This fixes a bug
where a resumption player is non-dismissable.

Test: manual - Finish item in Pocket Casts, attempt long-press dismiss.
Bug: 169271494
Change-Id: I186f9ee6fc228ad5bd1d49970fb44709783b74dc
Merged-In: I186f9ee6fc228ad5bd1d49970fb44709783b74dc
(cherry picked from commit 656e986464)
This commit is contained in:
Jeff DeCew
2020-11-02 13:06:16 -05:00
parent 2efeb4274f
commit 36fc7e464e

View File

@@ -609,7 +609,8 @@ class MediaDataManager(
// Move to resume key (aka package name) if that key doesn't already exist. // Move to resume key (aka package name) if that key doesn't already exist.
val resumeAction = getResumeMediaAction(removed.resumeAction!!) val resumeAction = getResumeMediaAction(removed.resumeAction!!)
val updated = removed.copy(token = null, actions = listOf(resumeAction), val updated = removed.copy(token = null, actions = listOf(resumeAction),
actionsToShowInCompact = listOf(0), active = false, resumption = true) actionsToShowInCompact = listOf(0), active = false, resumption = true,
isClearable = true)
val pkg = removed?.packageName val pkg = removed?.packageName
val migrate = mediaEntries.put(pkg, updated) == null val migrate = mediaEntries.put(pkg, updated) == null
// Notify listeners of "new" controls when migrating or removed and update when not // Notify listeners of "new" controls when migrating or removed and update when not