commit | e40251b9f5c607b14112011a08b84a3dc34f4cb1 | [log] [tgz] |
---|---|---|
author | Treehugger Robot <treehugger-gerrit@google.com> | Wed Aug 19 14:56:13 2020 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Wed Aug 19 14:56:13 2020 +0000 |
tree | de8b0f6ac5cd00b70b3c16ec9fb3178ac015b47f | |
parent | af57413abc806723e5934349008ed9006cd4be20 [diff] | |
parent | 16503cf51762563a7342efdc5921f59576565771 [diff] |
Merge "Settings: Fix exception in about phone during SIM swap" am: 16503cf517 Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1344083 Change-Id: Iad9e0eb16478e12ff2e5340c34bb8cc4ba5ece3e
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java index 370bdfb..9858ad2 100644 --- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java +++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
@@ -152,6 +152,7 @@ private final Context mContext; private boolean mShowLatestAreaInfo; + private boolean mIsRegisteredListener = false; private final BroadcastReceiver mAreaInfoReceiver = new BroadcastReceiver() { @Override @@ -282,11 +283,22 @@ mContext.registerReceiver(mAreaInfoReceiver, new IntentFilter(CellBroadcastIntents.ACTION_AREA_INFO_UPDATED)); } + + mIsRegisteredListener = true; } @Override public void onPause() { if (mSubscriptionInfo == null) { + if (mIsRegisteredListener) { + mSubscriptionManager.removeOnSubscriptionsChangedListener( + mOnSubscriptionsChangedListener); + mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); + if (mShowLatestAreaInfo) { + mContext.unregisterReceiver(mAreaInfoReceiver); + } + mIsRegisteredListener = false; + } return; }