diff options
author | Ivan Podogov <ginkage@google.com> | 2018-02-27 17:58:16 +0000 |
---|---|---|
committer | Hansong Zhang <hsz@google.com> | 2018-03-22 16:29:54 -0700 |
commit | 690633fc66ed83b20c75b7e116123ff3e078099f (patch) | |
tree | 703b36029bd014bf00952cde331c75cf5b7629b8 /framework/java/android/bluetooth/BluetoothHidDeviceAppQosSettings.java | |
parent | a70a16b3e9d2433b7517e679f630d9dab33eea8a (diff) |
HIDD: Address API Review concerns
* Replace bare field usage with getter methods;
* Remove Builder;
* Move BluetoothHidDeviceCallback to inner class;
* Remove toArray() and equals();
* Throw IllegalArgumentException where applicable;
* Add an Executor parameter before Callback;
Bug: 72168436, 72168126
Test: make update-api, make, make sl4a.Common
Change-Id: I13095458bf3ded7a376e8d20fd13df12ef426693
(cherry picked from commit f2f5dc355fa9a962ded0d29368535796aa4116d8)
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothHidDeviceAppQosSettings.java')
-rw-r--r-- | framework/java/android/bluetooth/BluetoothHidDeviceAppQosSettings.java | 188 |
1 files changed, 55 insertions, 133 deletions
diff --git a/framework/java/android/bluetooth/BluetoothHidDeviceAppQosSettings.java b/framework/java/android/bluetooth/BluetoothHidDeviceAppQosSettings.java index c05df2d23e..a485b898c2 100644 --- a/framework/java/android/bluetooth/BluetoothHidDeviceAppQosSettings.java +++ b/framework/java/android/bluetooth/BluetoothHidDeviceAppQosSettings.java @@ -29,12 +29,12 @@ import android.os.Parcelable; */ public final class BluetoothHidDeviceAppQosSettings implements Parcelable { - public final int serviceType; - public final int tokenRate; - public final int tokenBucketSize; - public final int peakBandwidth; - public final int latency; - public final int delayVariation; + private final int mServiceType; + private final int mTokenRate; + private final int mTokenBucketSize; + private final int mPeakBandwidth; + private final int mLatency; + private final int mDelayVariation; public static final int SERVICE_NO_TRAFFIC = 0x00; public static final int SERVICE_BEST_EFFORT = 0x01; @@ -44,38 +44,53 @@ public final class BluetoothHidDeviceAppQosSettings implements Parcelable { /** * Create a BluetoothHidDeviceAppQosSettings object for the Bluetooth L2CAP channel. The QoS - * Settings is optional. Recommended to use BluetoothHidDeviceAppQosSettings.Builder. - * Please refer to Bluetooth HID Specfication v1.1.1 Section 5.2 and Appendix D for parameters. + * Settings is optional. Please refer to Bluetooth HID Specfication v1.1.1 Section 5.2 and + * Appendix D for parameters. * - * @param serviceType L2CAP service type - * @param tokenRate L2CAP token rate - * @param tokenBucketSize L2CAP token bucket size - * @param peakBandwidth L2CAP peak bandwidth - * @param latency L2CAP latency - * @param delayVariation L2CAP delay variation + * @param serviceType L2CAP service type, default = SERVICE_BEST_EFFORT + * @param tokenRate L2CAP token rate, default = 0 + * @param tokenBucketSize L2CAP token bucket size, default = 0 + * @param peakBandwidth L2CAP peak bandwidth, default = 0 + * @param latency L2CAP latency, default = MAX + * @param delayVariation L2CAP delay variation, default = MAX */ - public BluetoothHidDeviceAppQosSettings(int serviceType, int tokenRate, int tokenBucketSize, - int peakBandwidth, int latency, int delayVariation) { - this.serviceType = serviceType; - this.tokenRate = tokenRate; - this.tokenBucketSize = tokenBucketSize; - this.peakBandwidth = peakBandwidth; - this.latency = latency; - this.delayVariation = delayVariation; + public BluetoothHidDeviceAppQosSettings( + int serviceType, + int tokenRate, + int tokenBucketSize, + int peakBandwidth, + int latency, + int delayVariation) { + mServiceType = serviceType; + mTokenRate = tokenRate; + mTokenBucketSize = tokenBucketSize; + mPeakBandwidth = peakBandwidth; + mLatency = latency; + mDelayVariation = delayVariation; } - @Override - public boolean equals(Object o) { - if (o instanceof BluetoothHidDeviceAppQosSettings) { - BluetoothHidDeviceAppQosSettings qos = (BluetoothHidDeviceAppQosSettings) o; - return this.serviceType == qos.serviceType - && this.tokenRate == qos.tokenRate - && this.tokenBucketSize == qos.tokenBucketSize - && this.peakBandwidth == qos.peakBandwidth - && this.latency == qos.latency - && this.delayVariation == qos.delayVariation; - } - return false; + public int getServiceType() { + return mServiceType; + } + + public int getTokenRate() { + return mTokenRate; + } + + public int getTokenBucketSize() { + return mTokenBucketSize; + } + + public int getPeakBandwidth() { + return mPeakBandwidth; + } + + public int getLatency() { + return mLatency; + } + + public int getDelayVariation() { + return mDelayVariation; } @Override @@ -106,104 +121,11 @@ public final class BluetoothHidDeviceAppQosSettings implements Parcelable { @Override public void writeToParcel(Parcel out, int flags) { - out.writeInt(serviceType); - out.writeInt(tokenRate); - out.writeInt(tokenBucketSize); - out.writeInt(peakBandwidth); - out.writeInt(latency); - out.writeInt(delayVariation); - } - - /** @return an int array representation of this instance */ - public int[] toArray() { - return new int[] { - serviceType, tokenRate, tokenBucketSize, peakBandwidth, latency, delayVariation - }; - } - - /** A helper to build the BluetoothHidDeviceAppQosSettings object. */ - public static class Builder { - // Optional parameters - initialized to default values - private int mServiceType = SERVICE_BEST_EFFORT; - private int mTokenRate = 0; - private int mTokenBucketSize = 0; - private int mPeakBandwidth = 0; - private int mLatency = MAX; - private int mDelayVariation = MAX; - - /** - * Set the service type. - * - * @param val service type. Should be one of {SERVICE_NO_TRAFFIC, SERVICE_BEST_EFFORT, - * SERVICE_GUARANTEED}, with SERVICE_BEST_EFFORT being the default one. - * @return BluetoothHidDeviceAppQosSettings Builder with specified service type. - */ - public Builder serviceType(int val) { - mServiceType = val; - return this; - } - /** - * Set the token rate. - * - * @param val token rate - * @return BluetoothHidDeviceAppQosSettings Builder with specified token rate. - */ - public Builder tokenRate(int val) { - mTokenRate = val; - return this; - } - - /** - * Set the bucket size. - * - * @param val bucket size - * @return BluetoothHidDeviceAppQosSettings Builder with specified bucket size. - */ - public Builder tokenBucketSize(int val) { - mTokenBucketSize = val; - return this; - } - - /** - * Set the peak bandwidth. - * - * @param val peak bandwidth - * @return BluetoothHidDeviceAppQosSettings Builder with specified peak bandwidth. - */ - public Builder peakBandwidth(int val) { - mPeakBandwidth = val; - return this; - } - /** - * Set the latency. - * - * @param val latency - * @return BluetoothHidDeviceAppQosSettings Builder with specified latency. - */ - public Builder latency(int val) { - mLatency = val; - return this; - } - - /** - * Set the delay variation. - * - * @param val delay variation - * @return BluetoothHidDeviceAppQosSettings Builder with specified delay variation. - */ - public Builder delayVariation(int val) { - mDelayVariation = val; - return this; - } - - /** - * Build the BluetoothHidDeviceAppQosSettings object. - * - * @return BluetoothHidDeviceAppQosSettings object with current settings. - */ - public BluetoothHidDeviceAppQosSettings build() { - return new BluetoothHidDeviceAppQosSettings(mServiceType, mTokenRate, mTokenBucketSize, - mPeakBandwidth, mLatency, mDelayVariation); - } + out.writeInt(mServiceType); + out.writeInt(mTokenRate); + out.writeInt(mTokenBucketSize); + out.writeInt(mPeakBandwidth); + out.writeInt(mLatency); + out.writeInt(mDelayVariation); } } |