aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java b/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
index 0ff09ad1a..c2d8e1d2f 100644
--- a/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
+++ b/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
@@ -115,6 +115,7 @@ public class SubscriptionInfoUpdater extends Handler {
// The current foreground user ID.
private int mCurrentlyActiveUserId;
private CarrierServiceBindHelper mCarrierServiceBindHelper;
+ private boolean mIsShutdown;
public SubscriptionInfoUpdater(Context context, Phone[] phone, CommandsInterface[] ci) {
logd("Constructor invoked");
@@ -124,10 +125,12 @@ public class SubscriptionInfoUpdater extends Handler {
mSubscriptionManager = SubscriptionManager.from(mContext);
mPackageManager = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+ mIsShutdown = false;
IntentFilter intentFilter = new IntentFilter(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
intentFilter.addAction(IccCardProxy.ACTION_INTERNAL_SIM_STATE_CHANGED);
intentFilter.addAction(Intent.ACTION_USER_UNLOCKED);
+ intentFilter.addAction(Intent.ACTION_SHUTDOWN);
mContext.registerReceiver(sReceiver, intentFilter);
mCarrierServiceBindHelper = new CarrierServiceBindHelper(mContext);
@@ -201,6 +204,11 @@ public class SubscriptionInfoUpdater extends Handler {
return;
}
+ if (action.equals(Intent.ACTION_SHUTDOWN)) {
+ mIsShutdown = true;
+ return;
+ }
+
if (!action.equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED) &&
!action.equals(IccCardProxy.ACTION_INTERNAL_SIM_STATE_CHANGED)) {
return;
@@ -666,7 +674,7 @@ public class SubscriptionInfoUpdater extends Handler {
}
}
- if (insertedSimCount == 1) {
+ if (!mIsShutdown && insertedSimCount == 1) {
SubscriptionInfo sir = subInfos.get(0);
int subId = sir.getSubscriptionId();
mSubscriptionManager.setDefaultDataSubId(subId);