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 episode in Pocket Casts, attempt long-press dismiss.
Bug: 169271494
Change-Id: I186f9ee6fc228ad5bd1d49970fb44709783b74dc
This commit is contained in:
Jeff DeCew
2020-11-02 13:06:16 -05:00
parent a85a66e6c2
commit 656e986464

View File

@@ -641,7 +641,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