Purchase premium capability handle null phone
Test: manual verification
Test: CTS
Bug: 261636279
Change-Id: Id77be082ef085d3b09a150bb0fed740cfbedfecd
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 68cc7d2..11f9c30 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -11353,6 +11353,21 @@
}
Phone phone = getPhone(subId);
+ if (phone == null) {
+ try {
+ int result = TelephonyManager.PURCHASE_PREMIUM_CAPABILITY_RESULT_REQUEST_FAILED;
+ callback.accept(result);
+ loge("purchasePremiumCapability: phone is null, subId=" + subId);
+ } catch (RemoteException e) {
+ String logStr = "Purchase premium capability "
+ + TelephonyManager.convertPremiumCapabilityToString(capability)
+ + " failed due to RemoteException handling null phone: " + e;
+ if (DBG) log(logStr);
+ AnomalyReporter.reportAnomaly(
+ UUID.fromString(PURCHASE_PREMIUM_CAPABILITY_ERROR_UUID), logStr);
+ }
+ return;
+ }
String appName;
try {
appName = mApp.getPackageManager().getApplicationLabel(mApp.getPackageManager()