Merge "Bluetooth 5 move timeout parameter (1/2)" am: d9f2f67a5f
am: 07d79aa3b0
Change-Id: I5f75034690784dd06d54345e60107ab7049e4da7
This commit is contained in:
@@ -7506,7 +7506,7 @@ package android.bluetooth.le {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class AdvertisingSet {
|
public final class AdvertisingSet {
|
||||||
method public void enableAdvertising(boolean);
|
method public void enableAdvertising(boolean, int);
|
||||||
method public void periodicAdvertisingEnable(boolean);
|
method public void periodicAdvertisingEnable(boolean);
|
||||||
method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
|
method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
|
||||||
method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
|
method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
|
||||||
@@ -7539,7 +7539,6 @@ package android.bluetooth.le {
|
|||||||
method public int getInterval();
|
method public int getInterval();
|
||||||
method public int getPrimaryPhy();
|
method public int getPrimaryPhy();
|
||||||
method public int getSecondaryPhy();
|
method public int getSecondaryPhy();
|
||||||
method public int getTimeout();
|
|
||||||
method public int getTxPowerLevel();
|
method public int getTxPowerLevel();
|
||||||
method public boolean includeTxPower();
|
method public boolean includeTxPower();
|
||||||
method public boolean isAnonymous();
|
method public boolean isAnonymous();
|
||||||
@@ -7573,7 +7572,6 @@ package android.bluetooth.le {
|
|||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setLegacyMode(boolean);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setLegacyMode(boolean);
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setPrimaryPhy(int);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setPrimaryPhy(int);
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setSecondaryPhy(int);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setSecondaryPhy(int);
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setTimeout(int);
|
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setTxPowerLevel(int);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setTxPowerLevel(int);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7582,6 +7580,8 @@ package android.bluetooth.le {
|
|||||||
method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
|
method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
|
||||||
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
|
||||||
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
|
||||||
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback);
|
||||||
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
|
||||||
method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
|
method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
|
||||||
method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
|
method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7810,7 +7810,7 @@ package android.bluetooth.le {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class AdvertisingSet {
|
public final class AdvertisingSet {
|
||||||
method public void enableAdvertising(boolean);
|
method public void enableAdvertising(boolean, int);
|
||||||
method public void periodicAdvertisingEnable(boolean);
|
method public void periodicAdvertisingEnable(boolean);
|
||||||
method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
|
method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
|
||||||
method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
|
method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
|
||||||
@@ -7843,7 +7843,6 @@ package android.bluetooth.le {
|
|||||||
method public int getInterval();
|
method public int getInterval();
|
||||||
method public int getPrimaryPhy();
|
method public int getPrimaryPhy();
|
||||||
method public int getSecondaryPhy();
|
method public int getSecondaryPhy();
|
||||||
method public int getTimeout();
|
|
||||||
method public int getTxPowerLevel();
|
method public int getTxPowerLevel();
|
||||||
method public boolean includeTxPower();
|
method public boolean includeTxPower();
|
||||||
method public boolean isAnonymous();
|
method public boolean isAnonymous();
|
||||||
@@ -7877,7 +7876,6 @@ package android.bluetooth.le {
|
|||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setLegacyMode(boolean);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setLegacyMode(boolean);
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setPrimaryPhy(int);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setPrimaryPhy(int);
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setSecondaryPhy(int);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setSecondaryPhy(int);
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setTimeout(int);
|
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setTxPowerLevel(int);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setTxPowerLevel(int);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7886,6 +7884,8 @@ package android.bluetooth.le {
|
|||||||
method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
|
method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
|
||||||
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
|
||||||
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
|
||||||
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback);
|
||||||
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
|
||||||
method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
|
method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
|
||||||
method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
|
method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7515,7 +7515,7 @@ package android.bluetooth.le {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class AdvertisingSet {
|
public final class AdvertisingSet {
|
||||||
method public void enableAdvertising(boolean);
|
method public void enableAdvertising(boolean, int);
|
||||||
method public void periodicAdvertisingEnable(boolean);
|
method public void periodicAdvertisingEnable(boolean);
|
||||||
method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
|
method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
|
||||||
method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
|
method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
|
||||||
@@ -7548,7 +7548,6 @@ package android.bluetooth.le {
|
|||||||
method public int getInterval();
|
method public int getInterval();
|
||||||
method public int getPrimaryPhy();
|
method public int getPrimaryPhy();
|
||||||
method public int getSecondaryPhy();
|
method public int getSecondaryPhy();
|
||||||
method public int getTimeout();
|
|
||||||
method public int getTxPowerLevel();
|
method public int getTxPowerLevel();
|
||||||
method public boolean includeTxPower();
|
method public boolean includeTxPower();
|
||||||
method public boolean isAnonymous();
|
method public boolean isAnonymous();
|
||||||
@@ -7582,7 +7581,6 @@ package android.bluetooth.le {
|
|||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setLegacyMode(boolean);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setLegacyMode(boolean);
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setPrimaryPhy(int);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setPrimaryPhy(int);
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setSecondaryPhy(int);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setSecondaryPhy(int);
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setTimeout(int);
|
|
||||||
method public android.bluetooth.le.AdvertisingSetParameters.Builder setTxPowerLevel(int);
|
method public android.bluetooth.le.AdvertisingSetParameters.Builder setTxPowerLevel(int);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7591,6 +7589,8 @@ package android.bluetooth.le {
|
|||||||
method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
|
method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
|
||||||
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
|
||||||
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
|
||||||
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback);
|
||||||
|
method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
|
||||||
method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
|
method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
|
||||||
method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
|
method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,10 +52,10 @@ interface IBluetoothGatt {
|
|||||||
|
|
||||||
void startAdvertisingSet(in AdvertisingSetParameters parameters, in AdvertiseData advertiseData,
|
void startAdvertisingSet(in AdvertisingSetParameters parameters, in AdvertiseData advertiseData,
|
||||||
in AdvertiseData scanResponse, in PeriodicAdvertisingParameters periodicParameters,
|
in AdvertiseData scanResponse, in PeriodicAdvertisingParameters periodicParameters,
|
||||||
in AdvertiseData periodicData, in IAdvertisingSetCallback callback);
|
in AdvertiseData periodicData, in int timeout, in IAdvertisingSetCallback callback);
|
||||||
void stopAdvertisingSet(in IAdvertisingSetCallback callback);
|
void stopAdvertisingSet(in IAdvertisingSetCallback callback);
|
||||||
|
|
||||||
void enableAdverisingSet(in int advertiserId, in boolean enable);
|
void enableAdverisingSet(in int advertiserId, in boolean enable, in int timeout);
|
||||||
void setAdvertisingData(in int advertiserId, in AdvertiseData data);
|
void setAdvertisingData(in int advertiserId, in AdvertiseData data);
|
||||||
void setScanResponseData(in int advertiserId, in AdvertiseData data);
|
void setScanResponseData(in int advertiserId, in AdvertiseData data);
|
||||||
void setAdvertisingParameters(in int advertiserId, in AdvertisingSetParameters parameters);
|
void setAdvertisingParameters(in int advertiserId, in AdvertisingSetParameters parameters);
|
||||||
|
|||||||
@@ -63,9 +63,9 @@ public final class AdvertisingSet {
|
|||||||
* Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}
|
* Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void enableAdvertising(boolean enable) {
|
public void enableAdvertising(boolean enable, int timeout) {
|
||||||
try {
|
try {
|
||||||
gatt.enableAdverisingSet(this.advertiserId, enable);
|
gatt.enableAdverisingSet(this.advertiserId, enable, timeout);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.e(TAG, "remote exception - ", e);
|
Log.e(TAG, "remote exception - ", e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -118,13 +118,11 @@ public final class AdvertisingSetParameters implements Parcelable {
|
|||||||
private final boolean connectable;
|
private final boolean connectable;
|
||||||
private final int interval;
|
private final int interval;
|
||||||
private final int txPowerLevel;
|
private final int txPowerLevel;
|
||||||
private final int timeoutMillis;
|
|
||||||
|
|
||||||
private AdvertisingSetParameters(boolean connectable, boolean isLegacy,
|
private AdvertisingSetParameters(boolean connectable, boolean isLegacy,
|
||||||
boolean isAnonymous, boolean includeTxPower,
|
boolean isAnonymous, boolean includeTxPower,
|
||||||
int primaryPhy, int secondaryPhy,
|
int primaryPhy, int secondaryPhy,
|
||||||
int interval, int txPowerLevel,
|
int interval, int txPowerLevel) {
|
||||||
int timeoutMillis) {
|
|
||||||
this.connectable = connectable;
|
this.connectable = connectable;
|
||||||
this.isLegacy = isLegacy;
|
this.isLegacy = isLegacy;
|
||||||
this.isAnonymous = isAnonymous;
|
this.isAnonymous = isAnonymous;
|
||||||
@@ -133,7 +131,6 @@ public final class AdvertisingSetParameters implements Parcelable {
|
|||||||
this.secondaryPhy = secondaryPhy;
|
this.secondaryPhy = secondaryPhy;
|
||||||
this.interval = interval;
|
this.interval = interval;
|
||||||
this.txPowerLevel = txPowerLevel;
|
this.txPowerLevel = txPowerLevel;
|
||||||
this.timeoutMillis = timeoutMillis;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private AdvertisingSetParameters(Parcel in) {
|
private AdvertisingSetParameters(Parcel in) {
|
||||||
@@ -145,7 +142,6 @@ public final class AdvertisingSetParameters implements Parcelable {
|
|||||||
secondaryPhy = in.readInt();
|
secondaryPhy = in.readInt();
|
||||||
interval = in.readInt();
|
interval = in.readInt();
|
||||||
txPowerLevel = in.readInt();
|
txPowerLevel = in.readInt();
|
||||||
timeoutMillis = in.readInt();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -188,11 +184,6 @@ public final class AdvertisingSetParameters implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
public int getTxPowerLevel() { return txPowerLevel; }
|
public int getTxPowerLevel() { return txPowerLevel; }
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the advertising time limit in milliseconds.
|
|
||||||
*/
|
|
||||||
public int getTimeout() { return timeoutMillis; }
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "AdvertisingSetParameters [connectable=" + connectable
|
return "AdvertisingSetParameters [connectable=" + connectable
|
||||||
@@ -202,8 +193,7 @@ public final class AdvertisingSetParameters implements Parcelable {
|
|||||||
+ ", primaryPhy=" + primaryPhy
|
+ ", primaryPhy=" + primaryPhy
|
||||||
+ ", secondaryPhy=" + secondaryPhy
|
+ ", secondaryPhy=" + secondaryPhy
|
||||||
+ ", interval=" + interval
|
+ ", interval=" + interval
|
||||||
+ ", txPowerLevel=" + txPowerLevel
|
+ ", txPowerLevel=" + txPowerLevel + "]";
|
||||||
+ ", timeoutMillis=" + timeoutMillis + "]";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -221,7 +211,6 @@ public final class AdvertisingSetParameters implements Parcelable {
|
|||||||
dest.writeInt(secondaryPhy);
|
dest.writeInt(secondaryPhy);
|
||||||
dest.writeInt(interval);
|
dest.writeInt(interval);
|
||||||
dest.writeInt(txPowerLevel);
|
dest.writeInt(txPowerLevel);
|
||||||
dest.writeInt(timeoutMillis);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Parcelable.Creator<AdvertisingSetParameters> CREATOR =
|
public static final Parcelable.Creator<AdvertisingSetParameters> CREATOR =
|
||||||
@@ -250,7 +239,6 @@ public final class AdvertisingSetParameters implements Parcelable {
|
|||||||
private int secondaryPhy = PHY_LE_1M;
|
private int secondaryPhy = PHY_LE_1M;
|
||||||
private int interval = INTERVAL_LOW;
|
private int interval = INTERVAL_LOW;
|
||||||
private int txPowerLevel = TX_POWER_MEDIUM;
|
private int txPowerLevel = TX_POWER_MEDIUM;
|
||||||
private int timeoutMillis = 0;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set whether the advertisement type should be connectable or
|
* Set whether the advertisement type should be connectable or
|
||||||
@@ -379,31 +367,13 @@ public final class AdvertisingSetParameters implements Parcelable {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Limit advertising to a given amount of time.
|
|
||||||
* @param timeoutMillis Advertising time limit. May not exceed 180000
|
|
||||||
* milliseconds. A value of 0 will disable the time limit.
|
|
||||||
* @throws IllegalArgumentException If the provided timeout is over 180000
|
|
||||||
* ms.
|
|
||||||
*/
|
|
||||||
public Builder setTimeout(int timeoutMillis) {
|
|
||||||
if (timeoutMillis < 0 || timeoutMillis > LIMITED_ADVERTISING_MAX_MILLIS) {
|
|
||||||
throw new IllegalArgumentException("timeoutMillis invalid (must be 0-" +
|
|
||||||
LIMITED_ADVERTISING_MAX_MILLIS +
|
|
||||||
" milliseconds)");
|
|
||||||
}
|
|
||||||
this.timeoutMillis = timeoutMillis;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Build the {@link AdvertisingSetParameters} object.
|
* Build the {@link AdvertisingSetParameters} object.
|
||||||
*/
|
*/
|
||||||
public AdvertisingSetParameters build() {
|
public AdvertisingSetParameters build() {
|
||||||
return new AdvertisingSetParameters(connectable, isLegacy, isAnonymous,
|
return new AdvertisingSetParameters(connectable, isLegacy, isAnonymous,
|
||||||
includeTxPower, primaryPhy,
|
includeTxPower, primaryPhy,
|
||||||
secondaryPhy, interval, txPowerLevel,
|
secondaryPhy, interval, txPowerLevel);
|
||||||
timeoutMillis);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -130,7 +130,6 @@ public final class BluetoothLeAdvertiser {
|
|||||||
AdvertisingSetParameters.Builder parameters = new AdvertisingSetParameters.Builder();
|
AdvertisingSetParameters.Builder parameters = new AdvertisingSetParameters.Builder();
|
||||||
parameters.setLegacyMode(true);
|
parameters.setLegacyMode(true);
|
||||||
parameters.setConnectable(isConnectable);
|
parameters.setConnectable(isConnectable);
|
||||||
parameters.setTimeout(settings.getTimeout());
|
|
||||||
if (settings.getMode() == AdvertiseSettings.ADVERTISE_MODE_LOW_POWER) {
|
if (settings.getMode() == AdvertiseSettings.ADVERTISE_MODE_LOW_POWER) {
|
||||||
parameters.setInterval(1600); // 1s
|
parameters.setInterval(1600); // 1s
|
||||||
} else if (settings.getMode() == AdvertiseSettings.ADVERTISE_MODE_BALANCED) {
|
} else if (settings.getMode() == AdvertiseSettings.ADVERTISE_MODE_BALANCED) {
|
||||||
@@ -152,7 +151,7 @@ public final class BluetoothLeAdvertiser {
|
|||||||
AdvertisingSetCallback wrapped = wrapOldCallback(callback, settings);
|
AdvertisingSetCallback wrapped = wrapOldCallback(callback, settings);
|
||||||
mLegacyAdvertisers.put(callback, wrapped);
|
mLegacyAdvertisers.put(callback, wrapped);
|
||||||
startAdvertisingSet(parameters.build(), advertiseData, scanResponse, null, null,
|
startAdvertisingSet(parameters.build(), advertiseData, scanResponse, null, null,
|
||||||
wrapped);
|
settings.getTimeout(), wrapped);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -216,8 +215,8 @@ public final class BluetoothLeAdvertiser {
|
|||||||
AdvertiseData advertiseData, AdvertiseData scanResponse,
|
AdvertiseData advertiseData, AdvertiseData scanResponse,
|
||||||
PeriodicAdvertisingParameters periodicParameters,
|
PeriodicAdvertisingParameters periodicParameters,
|
||||||
AdvertiseData periodicData, AdvertisingSetCallback callback) {
|
AdvertiseData periodicData, AdvertisingSetCallback callback) {
|
||||||
startAdvertisingSet(parameters, advertiseData, scanResponse, periodicParameters,
|
startAdvertisingSet(parameters, advertiseData, scanResponse, periodicParameters,
|
||||||
periodicData, callback, new Handler(Looper.getMainLooper()));
|
periodicData, 0, callback, new Handler(Looper.getMainLooper()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -237,6 +236,49 @@ public final class BluetoothLeAdvertiser {
|
|||||||
PeriodicAdvertisingParameters periodicParameters,
|
PeriodicAdvertisingParameters periodicParameters,
|
||||||
AdvertiseData periodicData, AdvertisingSetCallback callback,
|
AdvertiseData periodicData, AdvertisingSetCallback callback,
|
||||||
Handler handler) {
|
Handler handler) {
|
||||||
|
startAdvertisingSet(parameters, advertiseData, scanResponse, periodicParameters,
|
||||||
|
periodicData, 0, callback, handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new advertising set. If operation succeed, device will start advertising. This
|
||||||
|
* method returns immediately, the operation status is delivered through
|
||||||
|
* {@code callback.onAdvertisingSetStarted()}.
|
||||||
|
* <p>
|
||||||
|
* @param parameters advertising set parameters.
|
||||||
|
* @param advertiseData Advertisement data to be broadcasted.
|
||||||
|
* @param scanResponse Scan response associated with the advertisement data.
|
||||||
|
* @param periodicData Periodic advertising data.
|
||||||
|
* @param timeoutMillis Advertising time limit. May not exceed 180000
|
||||||
|
* @param callback Callback for advertising set.
|
||||||
|
*/
|
||||||
|
public void startAdvertisingSet(AdvertisingSetParameters parameters,
|
||||||
|
AdvertiseData advertiseData, AdvertiseData scanResponse,
|
||||||
|
PeriodicAdvertisingParameters periodicParameters,
|
||||||
|
AdvertiseData periodicData, int timeoutMillis,
|
||||||
|
AdvertisingSetCallback callback) {
|
||||||
|
startAdvertisingSet(parameters, advertiseData, scanResponse, periodicParameters,
|
||||||
|
periodicData, timeoutMillis, callback, new Handler(Looper.getMainLooper()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new advertising set. If operation succeed, device will start advertising. This
|
||||||
|
* method returns immediately, the operation status is delivered through
|
||||||
|
* {@code callback.onAdvertisingSetStarted()}.
|
||||||
|
* <p>
|
||||||
|
* @param parameters advertising set parameters.
|
||||||
|
* @param advertiseData Advertisement data to be broadcasted.
|
||||||
|
* @param scanResponse Scan response associated with the advertisement data.
|
||||||
|
* @param periodicData Periodic advertising data.
|
||||||
|
* @param timeoutMillis Advertising time limit. May not exceed 180000
|
||||||
|
* @param callback Callback for advertising set.
|
||||||
|
* @param handler thread upon which the callbacks will be invoked.
|
||||||
|
*/
|
||||||
|
public void startAdvertisingSet(AdvertisingSetParameters parameters,
|
||||||
|
AdvertiseData advertiseData, AdvertiseData scanResponse,
|
||||||
|
PeriodicAdvertisingParameters periodicParameters,
|
||||||
|
AdvertiseData periodicData, int timeoutMillis,
|
||||||
|
AdvertisingSetCallback callback, Handler handler) {
|
||||||
BluetoothLeUtils.checkAdapterStateOn(mBluetoothAdapter);
|
BluetoothLeUtils.checkAdapterStateOn(mBluetoothAdapter);
|
||||||
|
|
||||||
if (callback == null) {
|
if (callback == null) {
|
||||||
@@ -259,7 +301,7 @@ public final class BluetoothLeAdvertiser {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
gatt.startAdvertisingSet(parameters, advertiseData, scanResponse, periodicParameters,
|
gatt.startAdvertisingSet(parameters, advertiseData, scanResponse, periodicParameters,
|
||||||
periodicData, wrapped);
|
periodicData, timeoutMillis, wrapped);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.e(TAG, "Failed to start advertising set - ", e);
|
Log.e(TAG, "Failed to start advertising set - ", e);
|
||||||
throw new IllegalStateException("Failed to start advertising set");
|
throw new IllegalStateException("Failed to start advertising set");
|
||||||
|
|||||||
Reference in New Issue
Block a user