Loading OWNERS +0 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,6 @@ girardier@google.com #{LAST_RESORT_SUGGESTION} muhammadfalam@google.com #{LAST_RESORT_SUGGESTION} siyuanh@google.com #{LAST_RESORT_SUGGESTION} sungsoo@google.com #{LAST_RESORT_SUGGESTION} # Per-file ownership Loading android/app/OWNERS +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ eruffieux@google.com hallstrom@google.com jpawlowski@google.com mylesgw@google.com okamil@google.com siyuanh@google.com wescande@google.com yuyangh@google.com android/app/aidl/android/bluetooth/IBluetooth.aidl +0 −4 Original line number Diff line number Diff line Loading @@ -69,10 +69,6 @@ interface IBluetooth @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE)") int getNameLengthForAdvertise(in AttributionSource attributionSource); @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") int getIoCapability(in AttributionSource attributionSource); @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") boolean setIoCapability(int capability, in AttributionSource attributionSource); @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)") int getScanMode(in AttributionSource attributionSource); @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)") Loading android/app/src/com/android/bluetooth/bass_client/BassClientService.java +54 −7 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Deque; import java.util.HashMap; import java.util.HashSet; Loading @@ -90,6 +91,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.PriorityQueue; import java.util.concurrent.ConcurrentHashMap; /** Loading Loading @@ -130,7 +132,8 @@ public class BassClientService extends ProfileService { private final List<Integer> mActiveSyncedSources = new ArrayList<>(); private final Map<Integer, PeriodicAdvertisingCallback> mPeriodicAdvCallbacksMap = new HashMap<>(); private final List<ScanResult> mSourceSyncRequestsQueue = new ArrayList<ScanResult>(); private final PriorityQueue<SourceSyncRequest> mSourceSyncRequestsQueue = new PriorityQueue<>(sSourceSyncRequestComparator); private final Map<Integer, Boolean> mFirstTimeBisDiscoveryMap = new HashMap<Integer, Boolean>(); private final List<AddSourceData> mPendingSourcesToAdd = new ArrayList<AddSourceData>(); Loading Loading @@ -205,6 +208,52 @@ public class BassClientService extends ProfileService { && BluetoothProperties.isProfileBapBroadcastAssistEnabled().orElse(false); } private static class SourceSyncRequest { private ScanResult mScanResult; private boolean mHasPriority; SourceSyncRequest(ScanResult scanResult, boolean hasPriority) { this.mScanResult = scanResult; this.mHasPriority = hasPriority; } public ScanResult getScanResult() { return mScanResult; } public int getRssi() { return mScanResult.getRssi(); } public boolean hasPriority() { return mHasPriority; } @Override public String toString() { return "SourceSyncRequest{" + "mScanResult=" + mScanResult + ", mHasPriority=" + mHasPriority + '}'; } } private static final Comparator<SourceSyncRequest> sSourceSyncRequestComparator = new Comparator<SourceSyncRequest>() { @Override public int compare(SourceSyncRequest ssr1, SourceSyncRequest ssr2) { if (ssr1.hasPriority() && !ssr2.hasPriority()) { return -1; } else if (!ssr1.hasPriority() && ssr2.hasPriority()) { return 1; } else { return Integer.compare(ssr2.getRssi(), ssr1.getRssi()); } } }; private static class AddSourceData { BluetoothDevice mSink; BluetoothLeBroadcastMetadata mSourceMetadata; Loading Loading @@ -2059,11 +2108,7 @@ public class BassClientService extends ProfileService { } synchronized (mSourceSyncRequestsQueue) { if (hasPriority) { mSourceSyncRequestsQueue.add(0, scanRes); } else { mSourceSyncRequestsQueue.add(scanRes); } mSourceSyncRequestsQueue.add(new SourceSyncRequest(scanRes, hasPriority)); } handleSelectSourceRequest(); Loading @@ -2085,7 +2130,7 @@ public class BassClientService extends ProfileService { } ScanResult scanRes; synchronized (mSourceSyncRequestsQueue) { scanRes = mSourceSyncRequestsQueue.remove(0); scanRes = mSourceSyncRequestsQueue.poll().getScanResult(); } ScanRecord scanRecord = scanRes.getScanRecord(); Loading Loading @@ -2244,6 +2289,8 @@ public class BassClientService extends ProfileService { sink, sourceMetadata, BluetoothStatusCodes.ERROR_LOCAL_NOT_ENOUGH_RESOURCES); return; } } } else { Loading android/app/src/com/android/bluetooth/btservice/AbstractionLayer.java +0 −2 Original line number Diff line number Diff line Loading @@ -54,8 +54,6 @@ public final class AbstractionLayer { public static final int BT_DEVICE_TYPE_BLE = 0x02; public static final int BT_DEVICE_TYPE_DUAL = 0x03; static final int BT_PROPERTY_LOCAL_IO_CAPS = 0x0e; static final int BT_BOND_STATE_NONE = 0x00; static final int BT_BOND_STATE_BONDING = 0x01; static final int BT_BOND_STATE_BONDED = 0x02; Loading Loading
OWNERS +0 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,6 @@ girardier@google.com #{LAST_RESORT_SUGGESTION} muhammadfalam@google.com #{LAST_RESORT_SUGGESTION} siyuanh@google.com #{LAST_RESORT_SUGGESTION} sungsoo@google.com #{LAST_RESORT_SUGGESTION} # Per-file ownership Loading
android/app/OWNERS +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ eruffieux@google.com hallstrom@google.com jpawlowski@google.com mylesgw@google.com okamil@google.com siyuanh@google.com wescande@google.com yuyangh@google.com
android/app/aidl/android/bluetooth/IBluetooth.aidl +0 −4 Original line number Diff line number Diff line Loading @@ -69,10 +69,6 @@ interface IBluetooth @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE)") int getNameLengthForAdvertise(in AttributionSource attributionSource); @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)") int getIoCapability(in AttributionSource attributionSource); @JavaPassthrough(annotation="@android.annotation.RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT,android.Manifest.permission.BLUETOOTH_PRIVILEGED})") boolean setIoCapability(int capability, in AttributionSource attributionSource); @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)") int getScanMode(in AttributionSource attributionSource); @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN)") Loading
android/app/src/com/android/bluetooth/bass_client/BassClientService.java +54 −7 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Deque; import java.util.HashMap; import java.util.HashSet; Loading @@ -90,6 +91,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.PriorityQueue; import java.util.concurrent.ConcurrentHashMap; /** Loading Loading @@ -130,7 +132,8 @@ public class BassClientService extends ProfileService { private final List<Integer> mActiveSyncedSources = new ArrayList<>(); private final Map<Integer, PeriodicAdvertisingCallback> mPeriodicAdvCallbacksMap = new HashMap<>(); private final List<ScanResult> mSourceSyncRequestsQueue = new ArrayList<ScanResult>(); private final PriorityQueue<SourceSyncRequest> mSourceSyncRequestsQueue = new PriorityQueue<>(sSourceSyncRequestComparator); private final Map<Integer, Boolean> mFirstTimeBisDiscoveryMap = new HashMap<Integer, Boolean>(); private final List<AddSourceData> mPendingSourcesToAdd = new ArrayList<AddSourceData>(); Loading Loading @@ -205,6 +208,52 @@ public class BassClientService extends ProfileService { && BluetoothProperties.isProfileBapBroadcastAssistEnabled().orElse(false); } private static class SourceSyncRequest { private ScanResult mScanResult; private boolean mHasPriority; SourceSyncRequest(ScanResult scanResult, boolean hasPriority) { this.mScanResult = scanResult; this.mHasPriority = hasPriority; } public ScanResult getScanResult() { return mScanResult; } public int getRssi() { return mScanResult.getRssi(); } public boolean hasPriority() { return mHasPriority; } @Override public String toString() { return "SourceSyncRequest{" + "mScanResult=" + mScanResult + ", mHasPriority=" + mHasPriority + '}'; } } private static final Comparator<SourceSyncRequest> sSourceSyncRequestComparator = new Comparator<SourceSyncRequest>() { @Override public int compare(SourceSyncRequest ssr1, SourceSyncRequest ssr2) { if (ssr1.hasPriority() && !ssr2.hasPriority()) { return -1; } else if (!ssr1.hasPriority() && ssr2.hasPriority()) { return 1; } else { return Integer.compare(ssr2.getRssi(), ssr1.getRssi()); } } }; private static class AddSourceData { BluetoothDevice mSink; BluetoothLeBroadcastMetadata mSourceMetadata; Loading Loading @@ -2059,11 +2108,7 @@ public class BassClientService extends ProfileService { } synchronized (mSourceSyncRequestsQueue) { if (hasPriority) { mSourceSyncRequestsQueue.add(0, scanRes); } else { mSourceSyncRequestsQueue.add(scanRes); } mSourceSyncRequestsQueue.add(new SourceSyncRequest(scanRes, hasPriority)); } handleSelectSourceRequest(); Loading @@ -2085,7 +2130,7 @@ public class BassClientService extends ProfileService { } ScanResult scanRes; synchronized (mSourceSyncRequestsQueue) { scanRes = mSourceSyncRequestsQueue.remove(0); scanRes = mSourceSyncRequestsQueue.poll().getScanResult(); } ScanRecord scanRecord = scanRes.getScanRecord(); Loading Loading @@ -2244,6 +2289,8 @@ public class BassClientService extends ProfileService { sink, sourceMetadata, BluetoothStatusCodes.ERROR_LOCAL_NOT_ENOUGH_RESOURCES); return; } } } else { Loading
android/app/src/com/android/bluetooth/btservice/AbstractionLayer.java +0 −2 Original line number Diff line number Diff line Loading @@ -54,8 +54,6 @@ public final class AbstractionLayer { public static final int BT_DEVICE_TYPE_BLE = 0x02; public static final int BT_DEVICE_TYPE_DUAL = 0x03; static final int BT_PROPERTY_LOCAL_IO_CAPS = 0x0e; static final int BT_BOND_STATE_NONE = 0x00; static final int BT_BOND_STATE_BONDING = 0x01; static final int BT_BOND_STATE_BONDED = 0x02; Loading