Merge "Settings: Fix exception in about phone during SIM swap"

This commit is contained in:
Treehugger Robot
2020-08-19 14:47:21 +00:00
committed by Gerrit Code Review

View File

@@ -152,6 +152,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
private final Context mContext; private final Context mContext;
private boolean mShowLatestAreaInfo; private boolean mShowLatestAreaInfo;
private boolean mIsRegisteredListener = false;
private final BroadcastReceiver mAreaInfoReceiver = new BroadcastReceiver() { private final BroadcastReceiver mAreaInfoReceiver = new BroadcastReceiver() {
@Override @Override
@@ -282,11 +283,22 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
mContext.registerReceiver(mAreaInfoReceiver, mContext.registerReceiver(mAreaInfoReceiver,
new IntentFilter(CellBroadcastIntents.ACTION_AREA_INFO_UPDATED)); new IntentFilter(CellBroadcastIntents.ACTION_AREA_INFO_UPDATED));
} }
mIsRegisteredListener = true;
} }
@Override @Override
public void onPause() { public void onPause() {
if (mSubscriptionInfo == null) { if (mSubscriptionInfo == null) {
if (mIsRegisteredListener) {
mSubscriptionManager.removeOnSubscriptionsChangedListener(
mOnSubscriptionsChangedListener);
mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
if (mShowLatestAreaInfo) {
mContext.unregisterReceiver(mAreaInfoReceiver);
}
mIsRegisteredListener = false;
}
return; return;
} }