Merge "Handle null fields when using parcels." into udc-dev am: 54d0cacacd

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23091188

Change-Id: If863757fb5c79e9b156f6d49f06a6c356345bd82
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Isaac Katzenelson
2023-05-09 23:51:50 +00:00
committed by Automerger Merge Worker
2 changed files with 17 additions and 6 deletions

View File

@@ -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

View File

@@ -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);