Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5355340 authored by Jakub Pawlowski's avatar Jakub Pawlowski Committed by android-build-merger
Browse files

Merge "Bluetooth 5 PHY simplification" am: a9acf9db97 am: d43127865b

am: ce8de6c3f7

Change-Id: I74da41983775b03ee2e642a07b5a8bdcf3be45cf
parents bbb17626 9582b46a
Loading
Loading
Loading
Loading
+19 −9
Original line number Diff line number Diff line
@@ -593,24 +593,34 @@ public final class BluetoothDevice implements Parcelable {
    public static final int TRANSPORT_LE = 2;

    /**
     * 1M initiating PHY.
     * Bluetooth LE 1M PHY.
     */
    public static final int PHY_LE_1M = 1;

    /**
     * 2M initiating PHY.
     * Bluetooth LE 2M PHY.
     */
    public static final int PHY_LE_2M = 2;

    /**
     * LE Coded initiating PHY.
     * Bluetooth LE Coded PHY.
     */
    public static final int PHY_LE_CODED = 4;
    public static final int PHY_LE_CODED = 3;

    /**
     * Any LE PHY.
     * Bluetooth LE 1M PHY mask.
     */
    public static final int PHY_LE_ANY = PHY_LE_1M | PHY_LE_2M | PHY_LE_CODED;
    public static final int PHY_LE_1M_MASK = 1;

    /**
     * Bluetooth LE 2M PHY mask.
     */
    public static final int PHY_LE_2M_MASK = 2;

    /**
     * Bluetooth LE Coded PHY mask.
     */
    public static final int PHY_LE_CODED_MASK = 4;

    /**
     * No preferred coding when transmitting on the LE Coded PHY.
@@ -1651,7 +1661,7 @@ public final class BluetoothDevice implements Parcelable {
     */
    public BluetoothGatt connectGatt(Context context, boolean autoConnect,
                                     BluetoothGattCallback callback, int transport) {
        return (connectGatt(context, autoConnect,callback, TRANSPORT_AUTO, PHY_LE_1M));
        return (connectGatt(context, autoConnect,callback, TRANSPORT_AUTO, PHY_LE_1M_MASK));
    }

    /**
@@ -1668,8 +1678,8 @@ public final class BluetoothDevice implements Parcelable {
     *             {@link BluetoothDevice#TRANSPORT_AUTO} or
     *             {@link BluetoothDevice#TRANSPORT_BREDR} or {@link BluetoothDevice#TRANSPORT_LE}
     * @param phy preferred PHY for connections to remote LE device. Bitwise OR of any of
     *             {@link BluetoothDevice#PHY_LE_1M}, {@link BluetoothDevice#PHY_LE_2M},
     *             and {@link BluetoothDevice#PHY_LE_CODED}. This option does not take effect if
     *             {@link BluetoothDevice#PHY_LE_1M_MASK}, {@link BluetoothDevice#PHY_LE_2M_MASK},
     *             and {@link BluetoothDevice#PHY_LE_CODED_MASK}. This option does not take effect if
     *             {@code autoConnect} is set to true.
     * @throws IllegalArgumentException if callback is null
     */
+4 −4
Original line number Diff line number Diff line
@@ -785,11 +785,11 @@ public final class BluetoothGatt implements BluetoothProfile {
     * if no PHY change happens. It is also triggered when remote device updates the PHY.
     *
     * @param txPhy preferred transmitter PHY. Bitwise OR of any of
     *             {@link BluetoothDevice#PHY_LE_1M}, {@link BluetoothDevice#PHY_LE_2M}, and
     *             {@link BluetoothDevice#PHY_LE_CODED}.
     *             {@link BluetoothDevice#PHY_LE_1M_MASK}, {@link BluetoothDevice#PHY_LE_2M_MASK},
     *             and {@link BluetoothDevice#PHY_LE_CODED_MASK}.
     * @param rxPhy preferred receiver PHY. Bitwise OR of any of
     *             {@link BluetoothDevice#PHY_LE_1M}, {@link BluetoothDevice#PHY_LE_2M}, and
     *             {@link BluetoothDevice#PHY_LE_CODED}.
     *             {@link BluetoothDevice#PHY_LE_1M_MASK}, {@link BluetoothDevice#PHY_LE_2M_MASK},
     *             and {@link BluetoothDevice#PHY_LE_CODED_MASK}.
     * @param phyOptions preferred coding to use when transmitting on the LE Coded PHY. Can be one
     *             of {@link BluetoothDevice#PHY_OPTION_NO_PREFERRED},
     *             {@link BluetoothDevice#PHY_OPTION_S2} or {@link BluetoothDevice#PHY_OPTION_S8}
+4 −4
Original line number Diff line number Diff line
@@ -558,11 +558,11 @@ public final class BluetoothGattServer implements BluetoothProfile {
     *
     * @param device The remote device to send this response to
     * @param txPhy preferred transmitter PHY. Bitwise OR of any of
     *             {@link BluetoothDevice#PHY_LE_1M}, {@link BluetoothDevice#PHY_LE_2M}, and
     *             {@link BluetoothDevice#PHY_LE_CODED}.
     *             {@link BluetoothDevice#PHY_LE_1M_MASK}, {@link BluetoothDevice#PHY_LE_2M_MASK},
     *             and {@link BluetoothDevice#PHY_LE_CODED_MASK}.
     * @param rxPhy preferred receiver PHY. Bitwise OR of any of
     *             {@link BluetoothDevice#PHY_LE_1M}, {@link BluetoothDevice#PHY_LE_2M}, and
     *             {@link BluetoothDevice#PHY_LE_CODED}.
     *             {@link BluetoothDevice#PHY_LE_1M_MASK}, {@link BluetoothDevice#PHY_LE_2M_MASK},
     *             and {@link BluetoothDevice#PHY_LE_CODED_MASK}.
     * @param phyOptions preferred coding to use when transmitting on the LE Coded PHY. Can be one
     *             of {@link BluetoothDevice#PHY_OPTION_NO_PREFERRED},
     *             {@link BluetoothDevice#PHY_OPTION_S2} or {@link BluetoothDevice#PHY_OPTION_S8}
+13 −25
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.bluetooth.le;

import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.os.Parcel;
import android.os.Parcelable;

@@ -29,21 +30,6 @@ import android.os.Parcelable;
 */
public final class AdvertisingSetParameters implements Parcelable {

    /**
     * 1M advertiser PHY.
     */
    public static final int PHY_LE_1M = 1;

    /**
     * 2M advertiser PHY.
     */
    public static final int PHY_LE_2M = 2;

    /**
     * LE Coded advertiser PHY.
     */
    public static final int PHY_LE_CODED = 3;

    /**
    * Advertise on low frequency, around every 1000ms. This is the default and
    * preferred advertising mode as it consumes the least power.
@@ -246,8 +232,8 @@ public final class AdvertisingSetParameters implements Parcelable {
        private boolean isLegacy = false;
        private boolean isAnonymous = false;
        private boolean includeTxPower = false;
        private int primaryPhy = PHY_LE_1M;
        private int secondaryPhy = PHY_LE_1M;
        private int primaryPhy = BluetoothDevice.PHY_LE_1M;
        private int secondaryPhy = BluetoothDevice.PHY_LE_1M;
        private int interval = INTERVAL_LOW;
        private int txPowerLevel = TX_POWER_MEDIUM;

@@ -321,12 +307,13 @@ public final class AdvertisingSetParameters implements Parcelable {
         * Use {@link BluetoothAdapter#isLeCodedPhySupported} to determine if LE Coded PHY is
         * supported on this device.
         * @param primaryPhy Primary advertising physical channel, can only be
         *            {@link AdvertisingSetParameters#PHY_LE_1M} or
         *            {@link AdvertisingSetParameters#PHY_LE_CODED}.
         *            {@link BluetoothDevice#PHY_LE_1M} or
         *            {@link BluetoothDevice#PHY_LE_CODED}.
         * @throws IllegalArgumentException If the primaryPhy is invalid.
         */
        public Builder setPrimaryPhy(int primaryPhy) {
            if (primaryPhy != PHY_LE_1M && primaryPhy != PHY_LE_CODED) {
            if (primaryPhy != BluetoothDevice.PHY_LE_1M &&
                primaryPhy != BluetoothDevice.PHY_LE_CODED) {
               throw new IllegalArgumentException("bad primaryPhy " + primaryPhy);
            }
            this.primaryPhy = primaryPhy;
@@ -343,14 +330,15 @@ public final class AdvertisingSetParameters implements Parcelable {
         * supported on this device.
         *
         * @param secondaryPhy Secondary advertising physical channel, can only be
         *            one of {@link AdvertisingSetParameters#PHY_LE_1M},
         *            {@link AdvertisingSetParameters#PHY_LE_2M} or
         *            {@link AdvertisingSetParameters#PHY_LE_CODED}.
         *            one of {@link BluetoothDevice#PHY_LE_1M},
         *            {@link BluetoothDevice#PHY_LE_2M} or
         *            {@link BluetoothDevice#PHY_LE_CODED}.
         * @throws IllegalArgumentException If the secondaryPhy is invalid.
         */
        public Builder setSecondaryPhy(int secondaryPhy) {
            if (secondaryPhy != PHY_LE_1M && secondaryPhy !=PHY_LE_2M &&
                secondaryPhy != PHY_LE_CODED) {
            if (secondaryPhy != BluetoothDevice.PHY_LE_1M &&
                secondaryPhy != BluetoothDevice.PHY_LE_2M &&
                secondaryPhy != BluetoothDevice.PHY_LE_CODED) {
               throw new IllegalArgumentException("bad secondaryPhy " + secondaryPhy);
            }
            this.secondaryPhy = secondaryPhy;
+4 −3
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.bluetooth.le;

import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothGatt;
import android.bluetooth.BluetoothUuid;
import android.bluetooth.IBluetoothGatt;
@@ -363,12 +364,12 @@ public final class BluetoothLeAdvertiser {
            boolean support2MPhy = mBluetoothAdapter.isLe2MPhySupported();
            int pphy = parameters.getPrimaryPhy();
            int sphy = parameters.getSecondaryPhy();
            if (pphy == AdvertisingSetParameters.PHY_LE_CODED && !supportCodedPhy) {
            if (pphy == BluetoothDevice.PHY_LE_CODED && !supportCodedPhy) {
                throw new IllegalArgumentException("Unsupported primary PHY selected");
            }

            if ((sphy == AdvertisingSetParameters.PHY_LE_CODED && !supportCodedPhy)
                || (sphy == AdvertisingSetParameters.PHY_LE_2M && !support2MPhy)) {
            if ((sphy == BluetoothDevice.PHY_LE_CODED && !supportCodedPhy)
                || (sphy == BluetoothDevice.PHY_LE_2M && !support2MPhy)) {
                throw new IllegalArgumentException("Unsupported secondary PHY selected");
            }

Loading