Merge "Fix the settings crash when SimDialogActivity is null" into tm-dev am: 9ca62b2290

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17049215

Change-Id: I11a7df9bad11d3324ff62e4710ce050ca4275e3a
This commit is contained in:
SongFerng Wang
2022-03-03 12:54:40 +00:00
committed by Automerger Merge Worker
3 changed files with 12 additions and 4 deletions

View File

@@ -84,10 +84,11 @@ public class PreferredSimDialogFragment extends SimDialogFragment implements
private void updateDialog(AlertDialog dialog) { private void updateDialog(AlertDialog dialog) {
Log.d(TAG, "Dialog updated, dismiss status: " + mWasDismissed); Log.d(TAG, "Dialog updated, dismiss status: " + mWasDismissed);
final SubscriptionInfo info = getPreferredSubscription();
if (mWasDismissed) { if (mWasDismissed) {
return; return;
} }
final SubscriptionInfo info = getPreferredSubscription();
if (info == null) { if (info == null) {
dismiss(); dismiss();
return; return;

View File

@@ -83,6 +83,12 @@ public abstract class SimDialogFragment extends InstrumentedDialogFragment imple
} }
} }
@Override
public void dismiss() {
mChangeListener.stop();
super.dismiss();
}
public abstract void updateDialog(); public abstract void updateDialog();
@Override @Override

View File

@@ -128,12 +128,13 @@ public class SimListDialogFragment extends SimDialogFragment {
@Override @Override
public void updateDialog() { public void updateDialog() {
Log.d(TAG, "Dialog updated, dismiss status: " + mWasDismissed); Log.d(TAG, "Dialog updated, dismiss status: " + mWasDismissed);
if (mWasDismissed) {
return;
}
List<SubscriptionInfo> currentSubscriptions = getCurrentSubscriptions(); List<SubscriptionInfo> currentSubscriptions = getCurrentSubscriptions();
if (currentSubscriptions == null) { if (currentSubscriptions == null) {
if (!mWasDismissed) { dismiss();
dismiss();
}
return; return;
} }
boolean includeAskEveryTime = getArguments().getBoolean(KEY_INCLUDE_ASK_EVERY_TIME); boolean includeAskEveryTime = getArguments().getBoolean(KEY_INCLUDE_ASK_EVERY_TIME);