D26702: [MPRIS Data Engine] Support player proxying for another one

2020-01-16 Thread Kai Uwe Broulik
This revision was not accepted when it landed; it landed in state "Needs 
Review".
This revision was automatically updated to reflect the committed changes.
Closed by commit R120:e4f91a3ee8b0: [MPRIS Data Engine] Support player proxying 
for another one (authored by broulik).

REPOSITORY
  R120 Plasma Workspace

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D26702?vs=73678=73692

REVISION DETAIL
  https://phabricator.kde.org/D26702

AFFECTED FILES
  dataengines/mpris2/multiplexer.cpp
  dataengines/mpris2/multiplexer.h

To: broulik, #plasma, fvogt
Cc: plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, zachus, fbampaloukas, 
GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, 
jensreuterberg, abetts, sebas, apol, ahiemstra, mart


D26702: [MPRIS Data Engine] Support player proxying for another one

2020-01-16 Thread Kai Uwe Broulik
broulik created this revision.
broulik added reviewers: Plasma, fvogt.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
broulik requested review of this revision.

REVISION SUMMARY
  Plasma Browser Integration provides controls for Chrome, so when a player 
with `kde:pid` metadata is found, it is preferred over the actual pid it 
represents.

TEST PLAN
  Still behaves as before:
  
  - It never switches away from a playing player when another starts playing
  - It switches to a playing player if there was none before
  - When current player gets paused, it switches to another playing one, if 
any, or a paused one, if any, or a stopped one, if any. When the current player 
gets paused and there is no playing one, it makes sure to prefer the paused 
proxy over another random paused player.
  - Closing a player, switches to another play one, if any, or a paused one, if 
any, or a stopped one, if any
  - Verified that it never used Chrome's broken mpris when p-b-i was running
  - When disabling p-b-i controls were transferred to Chrome's own mpris

REPOSITORY
  R120 Plasma Workspace

REVISION DETAIL
  https://phabricator.kde.org/D26702

AFFECTED FILES
  dataengines/mpris2/multiplexer.cpp
  dataengines/mpris2/multiplexer.h

To: broulik, #plasma, fvogt
Cc: plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, zachus, fbampaloukas, 
GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, 
jensreuterberg, abetts, sebas, apol, ahiemstra, mart