Merge "Remove autovalue from HeadsetPiece."
diff --git a/nearby/service/java/com/android/server/nearby/common/bluetooth/fastpair/HeadsetPiece.java b/nearby/service/java/com/android/server/nearby/common/bluetooth/fastpair/HeadsetPiece.java
index f387497..26ff79f 100644
--- a/nearby/service/java/com/android/server/nearby/common/bluetooth/fastpair/HeadsetPiece.java
+++ b/nearby/service/java/com/android/server/nearby/common/bluetooth/fastpair/HeadsetPiece.java
@@ -16,17 +16,13 @@
package com.android.server.nearby.common.bluetooth.fastpair;
-import android.annotation.TargetApi;
import android.net.Uri;
-import android.os.Build.VERSION_CODES;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.Nullable;
import androidx.core.content.FileProvider;
-import com.google.auto.value.AutoValue;
-
import java.util.Arrays;
import java.util.Objects;
@@ -34,46 +30,68 @@
* This class is subclass of real headset. It contains image url, battery value and charging
* status.
*/
-// Objects.equals is only available after KitKat.
-@TargetApi(VERSION_CODES.KITKAT)
-@AutoValue
-public abstract class HeadsetPiece implements Parcelable {
+public class HeadsetPiece implements Parcelable {
+ private int mLowLevelThreshold;
+ private int mBatteryLevel;
+ private String mImageUrl;
+ private boolean mCharging;
+ private Uri mImageContentUri;
+
+ private HeadsetPiece(
+ int lowLevelThreshold,
+ int batteryLevel,
+ String imageUrl,
+ boolean charging,
+ @Nullable Uri imageContentUri) {
+ this.mLowLevelThreshold = lowLevelThreshold;
+ this.mBatteryLevel = batteryLevel;
+ this.mImageUrl = imageUrl;
+ this.mCharging = charging;
+ this.mImageContentUri = imageContentUri;
+ }
+
+ /**
+ * Returns a builder of HeadsetPiece.
+ */
+ public static HeadsetPiece.Builder builder() {
+ return new HeadsetPiece.Builder();
+ }
/**
* The low level threshold.
*/
- public abstract int lowLevelThreshold();
+ public int lowLevelThreshold() {
+ return mLowLevelThreshold;
+ }
/**
* The battery level.
*/
- public abstract int batteryLevel();
+ public int batteryLevel() {
+ return mBatteryLevel;
+ }
/**
* The web URL of the image.
*/
- public abstract String imageUrl();
+ public String imageUrl() {
+ return mImageUrl;
+ }
/**
* Whether the headset is charging.
*/
- public abstract boolean charging();
+ public boolean charging() {
+ return mCharging;
+ }
/**
* The content Uri of the image if it could be downloaded from the web URL and generated through
* {@link FileProvider#getUriForFile} successfully, otherwise null.
*/
@Nullable
- public abstract Uri imageContentUri();
-
- /**
- * Returns a builder of HeadsetPiece.
- */
- public static HeadsetPiece.Builder builder() {
- return new AutoValue_HeadsetPiece.Builder();
- }
-
- HeadsetPiece() {
+ public Uri imageContentUri() {
+ return mImageContentUri;
}
/**
@@ -83,41 +101,74 @@
return batteryLevel() <= lowLevelThreshold() && batteryLevel() >= 0 && !charging();
}
+ @Override
+ public String toString() {
+ return "HeadsetPiece{"
+ + "lowLevelThreshold=" + mLowLevelThreshold + ", "
+ + "batteryLevel=" + mBatteryLevel + ", "
+ + "imageUrl=" + mImageUrl + ", "
+ + "charging=" + mCharging + ", "
+ + "imageContentUri=" + mImageContentUri
+ + "}";
+ }
+
/**
* Builder function for headset piece.
*/
- @AutoValue.Builder
- public abstract static class Builder {
+ public static class Builder {
+ private int mLowLevelThreshold;
+ private int mBatteryLevel;
+ private String mImageUrl;
+ private boolean mCharging;
+ private Uri mImageContentUri;
/**
* Set low level threshold.
*/
- public abstract HeadsetPiece.Builder setLowLevelThreshold(int lowLevelThreshold);
+ public HeadsetPiece.Builder setLowLevelThreshold(int lowLevelThreshold) {
+ this.mLowLevelThreshold = lowLevelThreshold;
+ return this;
+ }
/**
* Set battery level.
*/
- public abstract HeadsetPiece.Builder setBatteryLevel(int level);
+ public HeadsetPiece.Builder setBatteryLevel(int level) {
+ this.mBatteryLevel = level;
+ return this;
+ }
/**
* Set image url.
*/
- public abstract HeadsetPiece.Builder setImageUrl(String url);
+ public HeadsetPiece.Builder setImageUrl(String url) {
+ this.mImageUrl = url;
+ return this;
+ }
/**
* Set charging.
*/
- public abstract HeadsetPiece.Builder setCharging(boolean charging);
+ public HeadsetPiece.Builder setCharging(boolean charging) {
+ this.mCharging = charging;
+ return this;
+ }
/**
* Set image content Uri.
*/
- public abstract HeadsetPiece.Builder setImageContentUri(Uri uri);
+ public HeadsetPiece.Builder setImageContentUri(Uri uri) {
+ this.mImageContentUri = uri;
+ return this;
+ }
/**
* Builds HeadSetPiece.
*/
- public abstract HeadsetPiece build();
+ public HeadsetPiece build() {
+ return new HeadsetPiece(mLowLevelThreshold, mBatteryLevel, mImageUrl, mCharging,
+ mImageContentUri);
+ }
}
@Override