diff options
| author | 2023-05-09 23:45:07 +0000 | |
|---|---|---|
| committer | 2023-05-09 23:45:07 +0000 | |
| commit | 54d0cacacd7dff3147d91ef6b7a318ea997cff4f (patch) | |
| tree | de91457f964191c693168a89357749c12d405dfe | |
| parent | 813b664c004878a35ac85bbc9d679500d77e5513 (diff) | |
| parent | d02b24ab87988954d16ce173da798d36f4690bc7 (diff) | |
Merge "Handle null fields when using parcels." into udc-dev
| -rw-r--r-- | wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetwork.java | 19 | ||||
| -rw-r--r-- | wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivitySettingsState.java | 4 |
2 files changed, 17 insertions, 6 deletions
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 c390e42f348e..33f4d465abab 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetwork.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetwork.java @@ -275,7 +275,12 @@ public final class KnownNetwork implements Parcelable { dest.writeInt(mNetworkSource); dest.writeString(mSsid); dest.writeArraySet(mSecurityTypes); - mNetworkProviderInfo.writeToParcel(dest, flags); + if (mNetworkProviderInfo != null) { + dest.writeBoolean(true); + mNetworkProviderInfo.writeToParcel(dest, flags); + } else { + dest.writeBoolean(false); + } dest.writeBundle(mExtras); } @@ -286,9 +291,15 @@ public final class KnownNetwork implements Parcelable { */ @NonNull public static KnownNetwork readFromParcel(@NonNull Parcel in) { - return new KnownNetwork(in.readInt(), in.readString(), - (ArraySet<Integer>) in.readArraySet(null), - NetworkProviderInfo.readFromParcel(in), in.readBundle()); + int networkSource = in.readInt(); + String mSsid = in.readString(); + ArraySet<Integer> securityTypes = (ArraySet<Integer>) in.readArraySet(null); + if (in.readBoolean()) { + return new KnownNetwork(networkSource, mSsid, securityTypes, + NetworkProviderInfo.readFromParcel(in), in.readBundle()); + } + return new KnownNetwork(networkSource, mSsid, securityTypes, null, + in.readBundle()); } @NonNull 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 af3afa88f5e0..5ad3ede8498d 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivitySettingsState.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/SharedConnectivitySettingsState.java @@ -161,7 +161,7 @@ public final class SharedConnectivitySettingsState implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { - mInstantTetherSettingsPendingIntent.writeToParcel(dest, 0); + PendingIntent.writePendingIntentOrNullToParcel(mInstantTetherSettingsPendingIntent, dest); dest.writeBoolean(mInstantTetherEnabled); dest.writeBundle(mExtras); } @@ -173,7 +173,7 @@ public final class SharedConnectivitySettingsState implements Parcelable { */ @NonNull public static SharedConnectivitySettingsState readFromParcel(@NonNull Parcel in) { - PendingIntent pendingIntent = PendingIntent.CREATOR.createFromParcel(in); + PendingIntent pendingIntent = PendingIntent.readPendingIntentOrNullFromParcel(in); boolean instantTetherEnabled = in.readBoolean(); Bundle extras = in.readBundle(); return new SharedConnectivitySettingsState(instantTetherEnabled, pendingIntent, extras); |