Handle ImsException in IMS callback APIs
Test: atest FrameworksTelephonyTests
Merged-In: I9bfe8de10a47be1625c8deb25fadcea4e7866aa8
Change-Id: I9bfe8de10a47be1625c8deb25fadcea4e7866aa8
diff --git a/src/com/android/services/telephony/TelecomAccountRegistry.java b/src/com/android/services/telephony/TelecomAccountRegistry.java
index 37c5d7c..55fd914 100644
--- a/src/com/android/services/telephony/TelecomAccountRegistry.java
+++ b/src/com/android/services/telephony/TelecomAccountRegistry.java
@@ -46,6 +46,7 @@
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
import android.telephony.TelephonyManager;
+import android.telephony.ims.ImsException;
import android.telephony.ims.ImsMmTelManager;
import android.telephony.ims.feature.MmTelFeature;
import android.telephony.ims.stub.ImsRegistrationImplBase;
@@ -114,10 +115,10 @@
}
try {
- mMmTelManager = ImsMmTelManager.createForSubscriptionId(mContext, getSubId());
+ mMmTelManager = ImsMmTelManager.createForSubscriptionId(getSubId());
} catch (IllegalArgumentException e) {
Log.i(this, "Not registering MmTel capabilities listener because the subid '"
- + getSubId() + "' is invalid");
+ + getSubId() + "' is invalid: " + e.getMessage());
return;
}
@@ -151,9 +152,9 @@
try {
mMmTelManager.registerMmTelCapabilityCallback(mContext.getMainExecutor(),
mMmtelCapabilityCallback);
- } catch (IllegalStateException e) {
+ } catch (ImsException e) {
Log.w(this, "registerMmTelCapabilityCallback: registration failed, no ImsService"
- + " available.");
+ + " available. Exception: " + e.getMessage());
return;
}
}
diff --git a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsCallingActivity.java b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsCallingActivity.java
index fea2bf8..0ff6cc1 100644
--- a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsCallingActivity.java
+++ b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsCallingActivity.java
@@ -20,6 +20,7 @@
import android.content.Context;
import android.os.Bundle;
import android.telephony.SubscriptionManager;
+import android.telephony.ims.ImsException;
import android.telephony.ims.ImsMmTelManager;
import android.telephony.ims.feature.MmTelFeature;
import android.telephony.ims.stub.ImsRegistrationImplBase;
@@ -162,12 +163,12 @@
mListView = (ListView) findViewById(R.id.cap_cb_list);
mListView.setAdapter(mCapabiltyEventAdapter);
try {
- mImsManager = ImsMmTelManager.createForSubscriptionId(this,
+ mImsManager = ImsMmTelManager.createForSubscriptionId(
SubscriptionManager.getDefaultVoiceSubscriptionId());
Log.i("ImsCallingActivity", "onResume");
mImsManager.registerMmTelCapabilityCallback(getMainExecutor(), mCapabilityCallback);
- } catch (IllegalArgumentException e) {
- Log.w("ImsCallingActivity", "illegal subscription ID.");
+ } catch (IllegalArgumentException | ImsException e) {
+ Log.w("ImsCallingActivity", "Exception: " + e.getMessage());
}
}
diff --git a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsRegistrationActivity.java b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsRegistrationActivity.java
index 3317ff1..e4a4e6f 100644
--- a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsRegistrationActivity.java
+++ b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsRegistrationActivity.java
@@ -20,6 +20,7 @@
import android.content.Context;
import android.os.Bundle;
import android.telephony.SubscriptionManager;
+import android.telephony.ims.ImsException;
import android.telephony.ims.ImsMmTelManager;
import android.telephony.ims.ImsReasonInfo;
import android.telephony.ims.stub.ImsRegistrationImplBase;
@@ -177,10 +178,10 @@
mListView = (ListView) findViewById(R.id.reg_cb_list);
mListView.setAdapter(mRegItemAdapter);
try {
- mImsManager = ImsMmTelManager.createForSubscriptionId(this,
+ mImsManager = ImsMmTelManager.createForSubscriptionId(
SubscriptionManager.getDefaultVoiceSubscriptionId());
mImsManager.registerImsRegistrationCallback(getMainExecutor(), mRegistrationCallback);
- } catch (IllegalArgumentException e) {
+ } catch (IllegalArgumentException | ImsException e) {
Log.w("ImsCallingActivity", "illegal subscription ID.");
}