diff options
author | 2019-04-04 13:50:10 +0000 | |
---|---|---|
committer | 2019-04-04 13:50:10 +0000 | |
commit | dd07ae579c291a2b6ffe09bd576fd908eb9e5ddd (patch) | |
tree | 5a3490b906bf2ab6bf2fb8b0eb7f8c505b178d5d | |
parent | 0454f3b8aefdf1387468a96e6de60530fcf55f83 (diff) | |
parent | 28671455229a7a1b74b54fa183c6ba4cc225099f (diff) |
Merge "Fix a possible crash when the listener is null" into qt-dev
5 files changed, 30 insertions, 14 deletions
diff --git a/services/net/java/android/net/ipmemorystore/OnBlobRetrievedListener.java b/services/net/java/android/net/ipmemorystore/OnBlobRetrievedListener.java index 9685ff6dd3ca..22978a262a11 100644 --- a/services/net/java/android/net/ipmemorystore/OnBlobRetrievedListener.java +++ b/services/net/java/android/net/ipmemorystore/OnBlobRetrievedListener.java @@ -30,12 +30,15 @@ public interface OnBlobRetrievedListener { /** Converts this OnBlobRetrievedListener to a parcelable object */ @NonNull - static IOnBlobRetrievedListener toAIDL(final OnBlobRetrievedListener listener) { + static IOnBlobRetrievedListener toAIDL(@NonNull final OnBlobRetrievedListener listener) { return new IOnBlobRetrievedListener.Stub() { @Override public void onBlobRetrieved(final StatusParcelable statusParcelable, final String l2Key, final String name, final Blob blob) { - listener.onBlobRetrieved(new Status(statusParcelable), l2Key, name, blob); + // NonNull, but still don't crash the system server if null + if (null != listener) { + listener.onBlobRetrieved(new Status(statusParcelable), l2Key, name, blob); + } } }; } diff --git a/services/net/java/android/net/ipmemorystore/OnL2KeyResponseListener.java b/services/net/java/android/net/ipmemorystore/OnL2KeyResponseListener.java index 80209c574203..9e7c1c869e1a 100644 --- a/services/net/java/android/net/ipmemorystore/OnL2KeyResponseListener.java +++ b/services/net/java/android/net/ipmemorystore/OnL2KeyResponseListener.java @@ -30,12 +30,15 @@ public interface OnL2KeyResponseListener { /** Converts this OnL2KeyResponseListener to a parcelable object */ @NonNull - static IOnL2KeyResponseListener toAIDL(final OnL2KeyResponseListener listener) { + static IOnL2KeyResponseListener toAIDL(@NonNull final OnL2KeyResponseListener listener) { return new IOnL2KeyResponseListener.Stub() { @Override public void onL2KeyResponse(final StatusParcelable statusParcelable, final String l2Key) { - listener.onL2KeyResponse(new Status(statusParcelable), l2Key); + // NonNull, but still don't crash the system server if null + if (null != listener) { + listener.onL2KeyResponse(new Status(statusParcelable), l2Key); + } } }; } diff --git a/services/net/java/android/net/ipmemorystore/OnNetworkAttributesRetrievedListener.java b/services/net/java/android/net/ipmemorystore/OnNetworkAttributesRetrievedListener.java index f0f6f4016139..59da26880bdd 100644 --- a/services/net/java/android/net/ipmemorystore/OnNetworkAttributesRetrievedListener.java +++ b/services/net/java/android/net/ipmemorystore/OnNetworkAttributesRetrievedListener.java @@ -31,15 +31,18 @@ public interface OnNetworkAttributesRetrievedListener { /** Converts this OnNetworkAttributesRetrievedListener to a parcelable object */ @NonNull static IOnNetworkAttributesRetrievedListener toAIDL( - final OnNetworkAttributesRetrievedListener listener) { + @NonNull final OnNetworkAttributesRetrievedListener listener) { return new IOnNetworkAttributesRetrievedListener.Stub() { @Override public void onNetworkAttributesRetrieved(final StatusParcelable statusParcelable, final String l2Key, final NetworkAttributesParcelable networkAttributesParcelable) { - listener.onNetworkAttributesRetrieved( - new Status(statusParcelable), l2Key, - new NetworkAttributes(networkAttributesParcelable)); + // NonNull, but still don't crash the system server if null + if (null != listener) { + listener.onNetworkAttributesRetrieved( + new Status(statusParcelable), l2Key, + new NetworkAttributes(networkAttributesParcelable)); + } } }; } diff --git a/services/net/java/android/net/ipmemorystore/OnSameL3NetworkResponseListener.java b/services/net/java/android/net/ipmemorystore/OnSameL3NetworkResponseListener.java index ba1e0e6f2b9f..0154fd259620 100644 --- a/services/net/java/android/net/ipmemorystore/OnSameL3NetworkResponseListener.java +++ b/services/net/java/android/net/ipmemorystore/OnSameL3NetworkResponseListener.java @@ -30,14 +30,18 @@ public interface OnSameL3NetworkResponseListener { /** Converts this OnSameL3NetworkResponseListener to a parcelable object */ @NonNull - static IOnSameL3NetworkResponseListener toAIDL(final OnSameL3NetworkResponseListener listener) { + static IOnSameL3NetworkResponseListener toAIDL( + @NonNull final OnSameL3NetworkResponseListener listener) { return new IOnSameL3NetworkResponseListener.Stub() { @Override public void onSameL3NetworkResponse(final StatusParcelable statusParcelable, final SameL3NetworkResponseParcelable sameL3NetworkResponseParcelable) { - listener.onSameL3NetworkResponse( - new Status(statusParcelable), - new SameL3NetworkResponse(sameL3NetworkResponseParcelable)); + // NonNull, but still don't crash the system server if null + if (null != listener) { + listener.onSameL3NetworkResponse( + new Status(statusParcelable), + new SameL3NetworkResponse(sameL3NetworkResponseParcelable)); + } } }; } diff --git a/services/net/java/android/net/ipmemorystore/OnStatusListener.java b/services/net/java/android/net/ipmemorystore/OnStatusListener.java index 0de16660ff5f..824b7b05bd5d 100644 --- a/services/net/java/android/net/ipmemorystore/OnStatusListener.java +++ b/services/net/java/android/net/ipmemorystore/OnStatusListener.java @@ -17,6 +17,7 @@ package android.net.ipmemorystore; import android.annotation.NonNull; +import android.annotation.Nullable; /** * A listener for the IpMemoryStore to return a status to a client. @@ -30,11 +31,13 @@ public interface OnStatusListener { /** Converts this OnStatusListener to a parcelable object */ @NonNull - static IOnStatusListener toAIDL(final OnStatusListener listener) { + static IOnStatusListener toAIDL(@Nullable final OnStatusListener listener) { return new IOnStatusListener.Stub() { @Override public void onComplete(final StatusParcelable statusParcelable) { - listener.onComplete(new Status(statusParcelable)); + if (null != listener) { + listener.onComplete(new Status(statusParcelable)); + } } }; } |