diff options
| author | 2023-02-13 03:41:39 +0000 | |
|---|---|---|
| committer | 2023-02-14 05:57:44 +0000 | |
| commit | ad5e0ec675958b2dc88a70c46e4502c5d12dc70e (patch) | |
| tree | e5aaddfba83ee872669aeffcc01588ae7256ef00 /wifi/java/src | |
| parent | e09f92c2d5d8b6d45c2428408ed1fc433dc8a87b (diff) | |
Added network objects to ConnectionStatus classes.
Fixed parceling issues across all classes.
Bug: 268748251
API-Coverage-Bug: 265968015
Test: atest TetherNetworkConnectionStatusTest KnownNetworkConnectionStatusTest
Change-Id: I1a5f33d638137d6131261b30f24d71ef5720690d
Diffstat (limited to 'wifi/java/src')
6 files changed, 149 insertions, 33 deletions
diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/DeviceInfo.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/DeviceInfo.java index 9aad9aafbd7e..52abf33bc761 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/DeviceInfo.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/DeviceInfo.java @@ -270,12 +270,22 @@ public final class DeviceInfo implements Parcelable { return 0; } + /** + * Creates a {@link DeviceInfo} object from a parcel. + * + * @hide + */ + @NonNull + public static DeviceInfo readFromParcel(@NonNull Parcel in) { + return new DeviceInfo(in.readInt(), in.readString(), in.readString(), in.readInt(), + in.readInt()); + } + @NonNull public static final Creator<DeviceInfo> CREATOR = new Creator<DeviceInfo>() { @Override public DeviceInfo createFromParcel(Parcel in) { - return new DeviceInfo(in.readInt(), in.readString(), in.readString(), in.readInt(), - in.readInt()); + return readFromParcel(in); } @Override diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetwork.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetwork.java index b219e86ec407..161c83ce2fab 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetwork.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetwork.java @@ -228,15 +228,25 @@ public final class KnownNetwork implements Parcelable { dest.writeInt(mNetworkSource); dest.writeString(mSsid); dest.writeIntArray(mSecurityTypes); - dest.writeTypedObject(mDeviceInfo, 0); + mDeviceInfo.writeToParcel(dest, flags); + } + + /** + * Creates a {@link KnownNetwork} object from a parcel. + * + * @hide + */ + @NonNull + public static KnownNetwork readFromParcel(@NonNull Parcel in) { + return new KnownNetwork(in.readInt(), in.readString(), in.createIntArray(), + DeviceInfo.readFromParcel(in)); } @NonNull public static final Creator<KnownNetwork> CREATOR = new Creator<>() { @Override public KnownNetwork createFromParcel(Parcel in) { - return new KnownNetwork(in.readInt(), in.readString(), in.createIntArray(), - in.readTypedObject(DeviceInfo.CREATOR)); + return readFromParcel(in); } @Override diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetworkConnectionStatus.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetworkConnectionStatus.java index 2cefb8e9f5ae..b2f04ff49195 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetworkConnectionStatus.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetworkConnectionStatus.java @@ -63,6 +63,7 @@ public final class KnownNetworkConnectionStatus implements Parcelable { public @interface ConnectionStatus {} @ConnectionStatus private final int mStatus; + private final KnownNetwork mKnownNetwork; private final Bundle mExtras; /** @@ -70,6 +71,7 @@ public final class KnownNetworkConnectionStatus implements Parcelable { */ public static final class Builder { @ConnectionStatus private int mStatus; + private KnownNetwork mKnownNetwork; private Bundle mExtras; public Builder() {} @@ -86,6 +88,17 @@ public final class KnownNetworkConnectionStatus implements Parcelable { } /** + * Sets the {@link KnownNetwork} object of the connection. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setKnownNetwork(@NonNull KnownNetwork knownNetwork) { + mKnownNetwork = knownNetwork; + return this; + } + + /** * Sets the extras bundle * * @return Returns the Builder object. @@ -103,12 +116,14 @@ public final class KnownNetworkConnectionStatus implements Parcelable { */ @NonNull public KnownNetworkConnectionStatus build() { - return new KnownNetworkConnectionStatus(mStatus, mExtras); + return new KnownNetworkConnectionStatus(mStatus, mKnownNetwork, mExtras); } } - private KnownNetworkConnectionStatus(@ConnectionStatus int status, Bundle extras) { + private KnownNetworkConnectionStatus(@ConnectionStatus int status, KnownNetwork knownNetwork, + Bundle extras) { mStatus = status; + mKnownNetwork = knownNetwork; mExtras = extras; } @@ -123,6 +138,16 @@ public final class KnownNetworkConnectionStatus implements Parcelable { } /** + * Gets the {@link KnownNetwork} object of the connection. + * + * @return Returns a KnownNetwork object. + */ + @NonNull + public KnownNetwork getKnownNetwork() { + return mKnownNetwork; + } + + /** * Gets the extras Bundle. * * @return Returns a Bundle object. @@ -136,12 +161,13 @@ public final class KnownNetworkConnectionStatus implements Parcelable { public boolean equals(Object obj) { if (!(obj instanceof KnownNetworkConnectionStatus)) return false; KnownNetworkConnectionStatus other = (KnownNetworkConnectionStatus) obj; - return mStatus == other.getStatus(); + return mStatus == other.getStatus() + && Objects.equals(mKnownNetwork, other.getKnownNetwork()); } @Override public int hashCode() { - return Objects.hash(mStatus); + return Objects.hash(mStatus, mKnownNetwork); } @Override @@ -152,15 +178,27 @@ public final class KnownNetworkConnectionStatus implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(mStatus); + mKnownNetwork.writeToParcel(dest, flags); dest.writeBundle(mExtras); } + /** + * Creates a {@link KnownNetworkConnectionStatus} object from a parcel. + * + * @hide + */ + @NonNull + public static KnownNetworkConnectionStatus readFromParcel(@NonNull Parcel in) { + return new KnownNetworkConnectionStatus(in.readInt(), + KnownNetwork.readFromParcel(in), + in.readBundle()); + } + @NonNull public static final Creator<KnownNetworkConnectionStatus> CREATOR = new Creator<>() { @Override public KnownNetworkConnectionStatus createFromParcel(Parcel in) { - return new KnownNetworkConnectionStatus(in.readInt(), - in.readBundle(getClass().getClassLoader())); + return readFromParcel(in); } @Override @@ -173,6 +211,7 @@ public final class KnownNetworkConnectionStatus implements Parcelable { public String toString() { return new StringBuilder("KnownNetworkConnectionStatus[") .append("status=").append(mStatus) + .append("known network=").append(mKnownNetwork.toString()) .append("extras=").append(mExtras.toString()) .append("]").toString(); } diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivitySettingsState.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivitySettingsState.java index 87f5efd5e0c8..4809befb8d20 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivitySettingsState.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivitySettingsState.java @@ -128,12 +128,22 @@ public final class SharedConnectivitySettingsState implements Parcelable { dest.writeBundle(mExtras); } + /** + * Creates a {@link SharedConnectivitySettingsState} object from a parcel. + * + * @hide + */ + @NonNull + public static SharedConnectivitySettingsState readFromParcel(@NonNull Parcel in) { + return new SharedConnectivitySettingsState(in.readBoolean(), + in.readBundle()); + } + @NonNull public static final Creator<SharedConnectivitySettingsState> CREATOR = new Creator<>() { @Override public SharedConnectivitySettingsState createFromParcel(Parcel in) { - return new SharedConnectivitySettingsState(in.readBoolean(), - in.readBundle(getClass().getClassLoader())); + return readFromParcel(in); } @Override diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/TetherNetwork.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/TetherNetwork.java index 3eff72416b12..af4fd4a2cc76 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/TetherNetwork.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/TetherNetwork.java @@ -328,7 +328,7 @@ public final class TetherNetwork implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeLong(mDeviceId); - dest.writeTypedObject(mDeviceInfo, 0); + mDeviceInfo.writeToParcel(dest, flags); dest.writeInt(mNetworkType); dest.writeString(mNetworkName); dest.writeString(mHotspotSsid); @@ -336,14 +336,23 @@ public final class TetherNetwork implements Parcelable { dest.writeIntArray(mHotspotSecurityTypes); } + /** + * Creates a {@link TetherNetwork} object from a parcel. + * + * @hide + */ + @NonNull + public static TetherNetwork readFromParcel(@NonNull Parcel in) { + return new TetherNetwork(in.readLong(), DeviceInfo.readFromParcel(in), + in.readInt(), in.readString(), in.readString(), in.readString(), + in.createIntArray()); + } + @NonNull public static final Creator<TetherNetwork> CREATOR = new Creator<>() { @Override public TetherNetwork createFromParcel(Parcel in) { - return new TetherNetwork(in.readLong(), in.readTypedObject( - android.net.wifi.sharedconnectivity.app.DeviceInfo.CREATOR), - in.readInt(), in.readString(), in.readString(), in.readString(), - in.createIntArray()); + return readFromParcel(in); } @Override diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/TetherNetworkConnectionStatus.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/TetherNetworkConnectionStatus.java index 86202bb6674d..3cf44ed3ed32 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/TetherNetworkConnectionStatus.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/TetherNetworkConnectionStatus.java @@ -105,6 +105,7 @@ public final class TetherNetworkConnectionStatus implements Parcelable { public @interface ConnectionStatus {} @ConnectionStatus private final int mStatus; + private final TetherNetwork mTetherNetwork; private final Bundle mExtras; /** @@ -112,6 +113,7 @@ public final class TetherNetworkConnectionStatus implements Parcelable { */ public static final class Builder { @ConnectionStatus private int mStatus; + private TetherNetwork mTetherNetwork; private Bundle mExtras; public Builder() {} @@ -128,6 +130,17 @@ public final class TetherNetworkConnectionStatus implements Parcelable { } /** + * Sets the {@link TetherNetwork} object of the connection. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setTetherNetwork(@NonNull TetherNetwork tetherNetwork) { + mTetherNetwork = tetherNetwork; + return this; + } + + /** * Sets the extras bundle * * @return Returns the Builder object. @@ -145,12 +158,14 @@ public final class TetherNetworkConnectionStatus implements Parcelable { */ @NonNull public TetherNetworkConnectionStatus build() { - return new TetherNetworkConnectionStatus(mStatus, mExtras); + return new TetherNetworkConnectionStatus(mStatus, mTetherNetwork, mExtras); } } - private TetherNetworkConnectionStatus(@ConnectionStatus int status, Bundle extras) { + private TetherNetworkConnectionStatus(@ConnectionStatus int status, TetherNetwork tetherNetwork, + Bundle extras) { mStatus = status; + mTetherNetwork = tetherNetwork; mExtras = extras; } @@ -165,6 +180,16 @@ public final class TetherNetworkConnectionStatus implements Parcelable { } /** + * Gets the {@link TetherNetwork} object of the connection. + * + * @return Returns a TetherNetwork object. + */ + @NonNull + public TetherNetwork getTetherNetwork() { + return mTetherNetwork; + } + + /** * Gets the extras Bundle. * * @return Returns a Bundle object. @@ -178,12 +203,13 @@ public final class TetherNetworkConnectionStatus implements Parcelable { public boolean equals(Object obj) { if (!(obj instanceof TetherNetworkConnectionStatus)) return false; TetherNetworkConnectionStatus other = (TetherNetworkConnectionStatus) obj; - return mStatus == other.getStatus(); + return mStatus == other.getStatus() + && Objects.equals(mTetherNetwork, other.getTetherNetwork()); } @Override public int hashCode() { - return Objects.hash(mStatus); + return Objects.hash(mStatus, mTetherNetwork); } @Override @@ -194,27 +220,39 @@ public final class TetherNetworkConnectionStatus implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(mStatus); + mTetherNetwork.writeToParcel(dest, flags); dest.writeBundle(mExtras); } + /** + * Creates a {@link TetherNetworkConnectionStatus} object from a parcel. + * + * @hide + */ + @NonNull + public static TetherNetworkConnectionStatus readFromParcel(@NonNull Parcel in) { + return new TetherNetworkConnectionStatus(in.readInt(), + TetherNetwork.readFromParcel(in), in.readBundle()); + } + @NonNull public static final Creator<TetherNetworkConnectionStatus> CREATOR = new Creator<>() { - @Override - public TetherNetworkConnectionStatus createFromParcel(Parcel in) { - return new TetherNetworkConnectionStatus(in.readInt(), - in.readBundle(getClass().getClassLoader())); - } - - @Override - public TetherNetworkConnectionStatus[] newArray(int size) { - return new TetherNetworkConnectionStatus[size]; - } - }; + @Override + public TetherNetworkConnectionStatus createFromParcel(Parcel in) { + return readFromParcel(in); + } + + @Override + public TetherNetworkConnectionStatus[] newArray(int size) { + return new TetherNetworkConnectionStatus[size]; + } + }; @Override public String toString() { return new StringBuilder("TetherNetworkConnectionStatus[") .append("status=").append(mStatus) + .append("tether network=").append(mTetherNetwork.toString()) .append("extras=").append(mExtras.toString()) .append("]").toString(); } |