Merge "Settings: Fix exception in about phone during SIM swap"
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user