A Save still running with the app in the background now posts a progress notice — how many files, the one it is on, a bar, Stop all and Open — and takes it down when the queue empties. It sits on its own low-importance channel so it can be silenced without silencing the player's card, and rides its own dataSync foreground service rather than the media one: a mediaPlayback service stops itself when the bar empties, a download is not playback, and nothing else was keeping the process alive for a Save with nothing playing — which is how the first real Save died, four tracks in. Stop all goes through the same cancel(id) a row's tap takes, and Transfers grew the matching button beside Clear finished. The walk pushes two rows straight into the transfer store and reads the real notification back out of `dumpsys notification`, without fetching anything.
1.5 KiB
Default Permission
The downloads notice on the phone: update mirrors what Save is fetching,
clear takes it down, and the two listener commands are what lets the page
hear the notice's buttons (addPluginListener).
This default permission set includes the following:
allow-updateallow-clearallow-registerListenerallow-removeListener
Permission Table
| Identifier | Description |
|---|---|
|
|
Enables the clear command without any pre-configured scope. |
|
|
Denies the clear command without any pre-configured scope. |
|
|
Enables the registerListener command without any pre-configured scope. |
|
|
Denies the registerListener command without any pre-configured scope. |
|
|
Enables the removeListener command without any pre-configured scope. |
|
|
Denies the removeListener command without any pre-configured scope. |
|
|
Enables the update command without any pre-configured scope. |
|
|
Denies the update command without any pre-configured scope. |