Loading android/app/src/com/android/bluetooth/avrcp/BrowsablePlayerConnector.java +18 −5 Original line number Diff line number Diff line Loading @@ -152,11 +152,7 @@ public class BrowsablePlayerConnector { case MSG_TIMEOUT: { Log.v(TAG, "Timed out waiting for players"); for (BrowsedPlayerWrapper wrapper : mPendingPlayers) { if (DEBUG) Log.d(TAG, "Disconnecting " + wrapper.getPackageName()); wrapper.disconnect(); } mPendingPlayers.clear(); removePendingPlayers(); } break; } Loading @@ -169,4 +165,21 @@ public class BrowsablePlayerConnector { } }; } private void removePendingPlayers() { for (BrowsedPlayerWrapper wrapper : mPendingPlayers) { if (DEBUG) Log.d(TAG, "Disconnecting " + wrapper.getPackageName()); wrapper.disconnect(); } mPendingPlayers.clear(); } void cleanup() { if (mPendingPlayers.size() != 0) { Log.i(TAG, "Bluetooth turn off with " + mPendingPlayers.size() + " pending player(s)"); mHandler.removeMessages(MSG_TIMEOUT); removePendingPlayers(); mHandler = null; } } } android/app/src/com/android/bluetooth/avrcp/MediaPlayerList.java +6 −2 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ public class MediaPlayerList { private int mActivePlayerId = NO_ACTIVE_PLAYER; private AvrcpTargetService.ListCallback mCallback; private BrowsablePlayerConnector mBrowsablePlayerConnector; interface MediaUpdateCallback { void run(MediaData data); Loading Loading @@ -140,8 +141,8 @@ public class MediaPlayerList { .getPackageManager() .queryIntentServices(intent, PackageManager.MATCH_ALL); BrowsablePlayerConnector.connectToPlayers(mContext, mLooper, playerList, (List<BrowsedPlayerWrapper> players) -> { mBrowsablePlayerConnector = BrowsablePlayerConnector.connectToPlayers(mContext, mLooper, playerList, (List<BrowsedPlayerWrapper> players) -> { Log.i(TAG, "init: Browsable Player list size is " + players.size()); // Check to see if the list has been cleaned up before this completed Loading Loading @@ -196,6 +197,9 @@ public class MediaPlayerList { } mMediaPlayers.clear(); if (mBrowsablePlayerConnector != null) { mBrowsablePlayerConnector.cleanup(); } for (BrowsedPlayerWrapper player : mBrowsablePlayers.values()) { player.disconnect(); } Loading Loading
android/app/src/com/android/bluetooth/avrcp/BrowsablePlayerConnector.java +18 −5 Original line number Diff line number Diff line Loading @@ -152,11 +152,7 @@ public class BrowsablePlayerConnector { case MSG_TIMEOUT: { Log.v(TAG, "Timed out waiting for players"); for (BrowsedPlayerWrapper wrapper : mPendingPlayers) { if (DEBUG) Log.d(TAG, "Disconnecting " + wrapper.getPackageName()); wrapper.disconnect(); } mPendingPlayers.clear(); removePendingPlayers(); } break; } Loading @@ -169,4 +165,21 @@ public class BrowsablePlayerConnector { } }; } private void removePendingPlayers() { for (BrowsedPlayerWrapper wrapper : mPendingPlayers) { if (DEBUG) Log.d(TAG, "Disconnecting " + wrapper.getPackageName()); wrapper.disconnect(); } mPendingPlayers.clear(); } void cleanup() { if (mPendingPlayers.size() != 0) { Log.i(TAG, "Bluetooth turn off with " + mPendingPlayers.size() + " pending player(s)"); mHandler.removeMessages(MSG_TIMEOUT); removePendingPlayers(); mHandler = null; } } }
android/app/src/com/android/bluetooth/avrcp/MediaPlayerList.java +6 −2 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ public class MediaPlayerList { private int mActivePlayerId = NO_ACTIVE_PLAYER; private AvrcpTargetService.ListCallback mCallback; private BrowsablePlayerConnector mBrowsablePlayerConnector; interface MediaUpdateCallback { void run(MediaData data); Loading Loading @@ -140,8 +141,8 @@ public class MediaPlayerList { .getPackageManager() .queryIntentServices(intent, PackageManager.MATCH_ALL); BrowsablePlayerConnector.connectToPlayers(mContext, mLooper, playerList, (List<BrowsedPlayerWrapper> players) -> { mBrowsablePlayerConnector = BrowsablePlayerConnector.connectToPlayers(mContext, mLooper, playerList, (List<BrowsedPlayerWrapper> players) -> { Log.i(TAG, "init: Browsable Player list size is " + players.size()); // Check to see if the list has been cleaned up before this completed Loading Loading @@ -196,6 +197,9 @@ public class MediaPlayerList { } mMediaPlayers.clear(); if (mBrowsablePlayerConnector != null) { mBrowsablePlayerConnector.cleanup(); } for (BrowsedPlayerWrapper player : mBrowsablePlayers.values()) { player.disconnect(); } Loading