From 72e3eef33cdec0aea4e2113088c7363e2f192cdc Mon Sep 17 00:00:00 2001 From: Brad Ebinger Date: Fri, 6 Mar 2020 14:05:16 -0800 Subject: [PATCH] API fix: getProprietaryCallExtras should not return null Bug: 149216142 Fixes: 151172594 Test: atest CtsTelephonyTestCases Merged-In: I7bd0d44f08169d41396a8cb202f3928e14bc5939 Change-Id: I7bd0d44f08169d41396a8cb202f3928e14bc5939 --- api/system-current.txt | 2 +- api/test-current.txt | 2 +- .../java/android/telephony/ims/ImsCallProfile.java | 12 ++++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/api/system-current.txt b/api/system-current.txt index aea1f61804ed7..4912cf74ba5ba 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -9783,7 +9783,7 @@ package android.telephony.ims { method public int getEmergencyServiceCategories(); method @NonNull public java.util.List getEmergencyUrns(); method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile(); - method @Nullable public android.os.Bundle getProprietaryCallExtras(); + method @NonNull public android.os.Bundle getProprietaryCallExtras(); method public int getRestrictCause(); method public int getServiceType(); method public static int getVideoStateFromCallType(int); diff --git a/api/test-current.txt b/api/test-current.txt index f4a02fab227d4..43892a8016dc7 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -3326,7 +3326,7 @@ package android.telephony.ims { method public int getEmergencyServiceCategories(); method @NonNull public java.util.List getEmergencyUrns(); method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile(); - method @Nullable public android.os.Bundle getProprietaryCallExtras(); + method @NonNull public android.os.Bundle getProprietaryCallExtras(); method public int getRestrictCause(); method public int getServiceType(); method public static int getVideoStateFromCallType(int); diff --git a/telephony/java/android/telephony/ims/ImsCallProfile.java b/telephony/java/android/telephony/ims/ImsCallProfile.java index 9e466aea97764..1e8fdceac1e6c 100644 --- a/telephony/java/android/telephony/ims/ImsCallProfile.java +++ b/telephony/java/android/telephony/ims/ImsCallProfile.java @@ -18,7 +18,6 @@ package android.telephony.ims; import android.annotation.IntDef; import android.annotation.NonNull; -import android.annotation.Nullable; import android.annotation.SystemApi; import android.annotation.TestApi; import android.compat.annotation.UnsupportedAppUsage; @@ -721,11 +720,16 @@ public final class ImsCallProfile implements Parcelable { * @return A {@link Bundle} containing proprietary call extras that were not set by the * platform. */ - public @Nullable Bundle getProprietaryCallExtras() { + public @NonNull Bundle getProprietaryCallExtras() { if (mCallExtras == null) { - return null; + return new Bundle(); } - return mCallExtras.getBundle(EXTRA_OEM_EXTRAS); + Bundle proprietaryExtras = mCallExtras.getBundle(EXTRA_OEM_EXTRAS); + if (proprietaryExtras == null) { + return new Bundle(); + } + // Make a copy so users do not accidentally change this copy of the extras. + return new Bundle(proprietaryExtras); } public ImsStreamMediaProfile getMediaProfile() {