Loading api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -1306,8 +1306,8 @@ package android.bluetooth { method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean removeActiveDevice(int); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean removeOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setActiveDevice(@NonNull android.bluetooth.BluetoothDevice, int); method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean setScanMode(int, int); method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean setScanMode(int); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setScanMode(int, long); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setScanMode(int); field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED"; field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE"; field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2 Loading core/java/android/bluetooth/BluetoothAdapter.java +23 −10 Original line number Diff line number Diff line Loading @@ -1485,9 +1485,8 @@ public final class BluetoothAdapter { * <p>The Bluetooth scan mode determines if the local adapter is * connectable and/or discoverable from remote Bluetooth devices. * <p>For privacy reasons, discoverable mode is automatically turned off * after <code>duration</code> seconds. For example, 120 seconds should be * enough for a remote device to initiate and complete its discovery * process. * after <code>durationMillis</code> milliseconds. For example, 120000 milliseconds should be * enough for a remote device to initiate and complete its discovery process. * <p>Valid scan mode values are: * {@link #SCAN_MODE_NONE}, * {@link #SCAN_MODE_CONNECTABLE}, Loading @@ -1502,24 +1501,29 @@ public final class BluetoothAdapter { * </code>instead. * * @param mode valid scan mode * @param duration time in seconds to apply scan mode, only used for {@link * @param durationMillis time in milliseconds to apply scan mode, only used for {@link * #SCAN_MODE_CONNECTABLE_DISCOVERABLE} * @return true if the scan mode was set, false otherwise * @hide */ @SystemApi @RequiresPermission(Manifest.permission.BLUETOOTH) public boolean setScanMode(@ScanMode int mode, int duration) { @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setScanMode(@ScanMode int mode, long durationMillis) { if (getState() != STATE_ON) { return false; } try { mServiceLock.readLock().lock(); if (mService != null) { return mService.setScanMode(mode, duration); int durationSeconds = Math.toIntExact(durationMillis / 1000); return mService.setScanMode(mode, durationSeconds); } } catch (RemoteException e) { Log.e(TAG, "", e); } catch (ArithmeticException ex) { Log.e(TAG, "setScanMode: Duration in seconds outside of the bounds of an int"); throw new IllegalArgumentException("Duration not in bounds. In seconds, the " + "durationMillis must be in the range of an int"); } finally { mServiceLock.readLock().unlock(); } Loading Loading @@ -1552,13 +1556,22 @@ public final class BluetoothAdapter { * @hide */ @SystemApi @RequiresPermission(Manifest.permission.BLUETOOTH) @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setScanMode(@ScanMode int mode) { if (getState() != STATE_ON) { return false; } /* getDiscoverableTimeout() to use the latest from NV than use 0 */ return setScanMode(mode, getDiscoverableTimeout()); try { mServiceLock.readLock().lock(); if (mService != null) { return mService.setScanMode(mode, getDiscoverableTimeout()); } } catch (RemoteException e) { Log.e(TAG, "", e); } finally { mServiceLock.readLock().unlock(); } return false; } /** @hide */ Loading Loading
api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -1306,8 +1306,8 @@ package android.bluetooth { method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean removeActiveDevice(int); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean removeOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setActiveDevice(@NonNull android.bluetooth.BluetoothDevice, int); method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean setScanMode(int, int); method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean setScanMode(int); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setScanMode(int, long); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setScanMode(int); field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED"; field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE"; field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2 Loading
core/java/android/bluetooth/BluetoothAdapter.java +23 −10 Original line number Diff line number Diff line Loading @@ -1485,9 +1485,8 @@ public final class BluetoothAdapter { * <p>The Bluetooth scan mode determines if the local adapter is * connectable and/or discoverable from remote Bluetooth devices. * <p>For privacy reasons, discoverable mode is automatically turned off * after <code>duration</code> seconds. For example, 120 seconds should be * enough for a remote device to initiate and complete its discovery * process. * after <code>durationMillis</code> milliseconds. For example, 120000 milliseconds should be * enough for a remote device to initiate and complete its discovery process. * <p>Valid scan mode values are: * {@link #SCAN_MODE_NONE}, * {@link #SCAN_MODE_CONNECTABLE}, Loading @@ -1502,24 +1501,29 @@ public final class BluetoothAdapter { * </code>instead. * * @param mode valid scan mode * @param duration time in seconds to apply scan mode, only used for {@link * @param durationMillis time in milliseconds to apply scan mode, only used for {@link * #SCAN_MODE_CONNECTABLE_DISCOVERABLE} * @return true if the scan mode was set, false otherwise * @hide */ @SystemApi @RequiresPermission(Manifest.permission.BLUETOOTH) public boolean setScanMode(@ScanMode int mode, int duration) { @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setScanMode(@ScanMode int mode, long durationMillis) { if (getState() != STATE_ON) { return false; } try { mServiceLock.readLock().lock(); if (mService != null) { return mService.setScanMode(mode, duration); int durationSeconds = Math.toIntExact(durationMillis / 1000); return mService.setScanMode(mode, durationSeconds); } } catch (RemoteException e) { Log.e(TAG, "", e); } catch (ArithmeticException ex) { Log.e(TAG, "setScanMode: Duration in seconds outside of the bounds of an int"); throw new IllegalArgumentException("Duration not in bounds. In seconds, the " + "durationMillis must be in the range of an int"); } finally { mServiceLock.readLock().unlock(); } Loading Loading @@ -1552,13 +1556,22 @@ public final class BluetoothAdapter { * @hide */ @SystemApi @RequiresPermission(Manifest.permission.BLUETOOTH) @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setScanMode(@ScanMode int mode) { if (getState() != STATE_ON) { return false; } /* getDiscoverableTimeout() to use the latest from NV than use 0 */ return setScanMode(mode, getDiscoverableTimeout()); try { mServiceLock.readLock().lock(); if (mService != null) { return mService.setScanMode(mode, getDiscoverableTimeout()); } } catch (RemoteException e) { Log.e(TAG, "", e); } finally { mServiceLock.readLock().unlock(); } return false; } /** @hide */ Loading