Loading android/app/src/com/android/bluetooth/Utils.java +12 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.os.Binder; import android.os.Build; import android.os.ParcelUuid; import android.os.Process; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; import android.util.Log; Loading @@ -48,6 +49,7 @@ import java.util.concurrent.TimeUnit; public final class Utils { private static final String TAG = "BluetoothUtils"; private static final int MICROS_PER_UNIT = 625; private static final String PTS_TEST_MODE_PROPERTY = "persist.bluetooth.pts"; static final int BD_ADDR_LEN = 6; // bytes static final int BD_UUID_LEN = 16; // bytes Loading Loading @@ -383,6 +385,16 @@ public final class Utils { } } /** * Check if we are running in PTS test mode. To enable/disable PTS test mode, invoke * {@code adb shell setprop persist.bluetooth.pts true/false} * * @return true if in PTS Test mode, false otherwise */ public static boolean isPtsTestMode() { return SystemProperties.getBoolean(PTS_TEST_MODE_PROPERTY, false); } /** * Get uid/pid string in a binder call * Loading android/app/src/com/android/bluetooth/newavrcp/AvrcpTargetService.java +8 −1 Original line number Diff line number Diff line Loading @@ -61,7 +61,8 @@ public class AvrcpTargetService extends ProfileService { private static AvrcpTargetService sInstance = null; private class ListCallback implements MediaPlayerList.MediaUpdateCallback { class ListCallback implements MediaPlayerList.MediaUpdateCallback, MediaPlayerList.FolderUpdateCallback { @Override public void run(MediaData data) { boolean metadata = !Objects.equals(mCurrentData.metadata, data.metadata); Loading @@ -76,6 +77,12 @@ public class AvrcpTargetService extends ProfileService { mNativeInterface.sendMediaUpdate(metadata, state, queue); } @Override public void run(boolean availablePlayers, boolean addressedPlayers, boolean uids) { mNativeInterface.sendFolderUpdate(availablePlayers, addressedPlayers, uids); } } private class AvrcpBroadcastReceiver extends BroadcastReceiver { Loading android/app/src/com/android/bluetooth/newavrcp/MediaPlayerList.java +22 −2 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ import android.os.Looper; import android.util.Log; import android.view.KeyEvent; import com.android.bluetooth.Utils; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; Loading Loading @@ -86,7 +88,7 @@ public class MediaPlayerList { Collections.synchronizedMap(new HashMap<Integer, BrowsedPlayerWrapper>()); private int mActivePlayerId = NO_ACTIVE_PLAYER; private MediaUpdateCallback mCallback; private AvrcpTargetService.ListCallback mCallback; interface MediaUpdateCallback { void run(MediaData data); Loading @@ -100,6 +102,10 @@ public class MediaPlayerList { void run(String parentId, List<ListItem> items); } interface FolderUpdateCallback { void run(boolean availablePlayers, boolean addressedPlayers, boolean uids); } MediaPlayerList(Looper looper, Context context) { Log.v(TAG, "Creating MediaPlayerList"); Loading @@ -122,7 +128,7 @@ public class MediaPlayerList { mMediaSessionManager.setCallback(mButtonDispatchCallback, null); } void init(MediaUpdateCallback callback) { void init(AvrcpTargetService.ListCallback callback) { Log.v(TAG, "Initializing MediaPlayerList"); mCallback = callback; Loading Loading @@ -473,6 +479,10 @@ public class MediaPlayerList { return; } if (Utils.isPtsTestMode()) { sendFolderUpdate(true, true, false); } sendMediaUpdate(getActivePlayer().getCurrentMediaData()); } Loading @@ -484,6 +494,16 @@ public class MediaPlayerList { mMediaSessionManager.dispatchMediaKeyEvent(event); } private void sendFolderUpdate(boolean availablePlayers, boolean addressedPlayers, boolean uids) { d("sendFolderUpdate"); if (mCallback == null) { return; } mCallback.run(availablePlayers, addressedPlayers, uids); } private void sendMediaUpdate(MediaData data) { d("sendMediaUpdate"); if (mCallback == null) { Loading Loading
android/app/src/com/android/bluetooth/Utils.java +12 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.os.Binder; import android.os.Build; import android.os.ParcelUuid; import android.os.Process; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; import android.util.Log; Loading @@ -48,6 +49,7 @@ import java.util.concurrent.TimeUnit; public final class Utils { private static final String TAG = "BluetoothUtils"; private static final int MICROS_PER_UNIT = 625; private static final String PTS_TEST_MODE_PROPERTY = "persist.bluetooth.pts"; static final int BD_ADDR_LEN = 6; // bytes static final int BD_UUID_LEN = 16; // bytes Loading Loading @@ -383,6 +385,16 @@ public final class Utils { } } /** * Check if we are running in PTS test mode. To enable/disable PTS test mode, invoke * {@code adb shell setprop persist.bluetooth.pts true/false} * * @return true if in PTS Test mode, false otherwise */ public static boolean isPtsTestMode() { return SystemProperties.getBoolean(PTS_TEST_MODE_PROPERTY, false); } /** * Get uid/pid string in a binder call * Loading
android/app/src/com/android/bluetooth/newavrcp/AvrcpTargetService.java +8 −1 Original line number Diff line number Diff line Loading @@ -61,7 +61,8 @@ public class AvrcpTargetService extends ProfileService { private static AvrcpTargetService sInstance = null; private class ListCallback implements MediaPlayerList.MediaUpdateCallback { class ListCallback implements MediaPlayerList.MediaUpdateCallback, MediaPlayerList.FolderUpdateCallback { @Override public void run(MediaData data) { boolean metadata = !Objects.equals(mCurrentData.metadata, data.metadata); Loading @@ -76,6 +77,12 @@ public class AvrcpTargetService extends ProfileService { mNativeInterface.sendMediaUpdate(metadata, state, queue); } @Override public void run(boolean availablePlayers, boolean addressedPlayers, boolean uids) { mNativeInterface.sendFolderUpdate(availablePlayers, addressedPlayers, uids); } } private class AvrcpBroadcastReceiver extends BroadcastReceiver { Loading
android/app/src/com/android/bluetooth/newavrcp/MediaPlayerList.java +22 −2 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ import android.os.Looper; import android.util.Log; import android.view.KeyEvent; import com.android.bluetooth.Utils; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; Loading Loading @@ -86,7 +88,7 @@ public class MediaPlayerList { Collections.synchronizedMap(new HashMap<Integer, BrowsedPlayerWrapper>()); private int mActivePlayerId = NO_ACTIVE_PLAYER; private MediaUpdateCallback mCallback; private AvrcpTargetService.ListCallback mCallback; interface MediaUpdateCallback { void run(MediaData data); Loading @@ -100,6 +102,10 @@ public class MediaPlayerList { void run(String parentId, List<ListItem> items); } interface FolderUpdateCallback { void run(boolean availablePlayers, boolean addressedPlayers, boolean uids); } MediaPlayerList(Looper looper, Context context) { Log.v(TAG, "Creating MediaPlayerList"); Loading @@ -122,7 +128,7 @@ public class MediaPlayerList { mMediaSessionManager.setCallback(mButtonDispatchCallback, null); } void init(MediaUpdateCallback callback) { void init(AvrcpTargetService.ListCallback callback) { Log.v(TAG, "Initializing MediaPlayerList"); mCallback = callback; Loading Loading @@ -473,6 +479,10 @@ public class MediaPlayerList { return; } if (Utils.isPtsTestMode()) { sendFolderUpdate(true, true, false); } sendMediaUpdate(getActivePlayer().getCurrentMediaData()); } Loading @@ -484,6 +494,16 @@ public class MediaPlayerList { mMediaSessionManager.dispatchMediaKeyEvent(event); } private void sendFolderUpdate(boolean availablePlayers, boolean addressedPlayers, boolean uids) { d("sendFolderUpdate"); if (mCallback == null) { return; } mCallback.run(availablePlayers, addressedPlayers, uids); } private void sendMediaUpdate(MediaData data) { d("sendMediaUpdate"); if (mCallback == null) { Loading