Fix the settings crash when SimDialogActivity is null
The PreferredSimDialogFragment did updateDialog after SimDialogActivity was finished. It caused the settings crash. This is similar to b/184899699 Bug: 220803944 Test: build pass Change-Id: I9a5964400a63053e362632944b9e7aa8ec1bbea8
This commit is contained in:
@@ -84,10 +84,11 @@ public class PreferredSimDialogFragment extends SimDialogFragment implements
|
||||
private void updateDialog(AlertDialog dialog) {
|
||||
Log.d(TAG, "Dialog updated, dismiss status: " + mWasDismissed);
|
||||
|
||||
final SubscriptionInfo info = getPreferredSubscription();
|
||||
if (mWasDismissed) {
|
||||
return;
|
||||
}
|
||||
|
||||
final SubscriptionInfo info = getPreferredSubscription();
|
||||
if (info == null) {
|
||||
dismiss();
|
||||
return;
|
||||
|
@@ -83,6 +83,12 @@ public abstract class SimDialogFragment extends InstrumentedDialogFragment imple
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
mChangeListener.stop();
|
||||
super.dismiss();
|
||||
}
|
||||
|
||||
public abstract void updateDialog();
|
||||
|
||||
@Override
|
||||
|
@@ -128,12 +128,13 @@ public class SimListDialogFragment extends SimDialogFragment {
|
||||
@Override
|
||||
public void updateDialog() {
|
||||
Log.d(TAG, "Dialog updated, dismiss status: " + mWasDismissed);
|
||||
if (mWasDismissed) {
|
||||
return;
|
||||
}
|
||||
|
||||
List<SubscriptionInfo> currentSubscriptions = getCurrentSubscriptions();
|
||||
if (currentSubscriptions == null) {
|
||||
if (!mWasDismissed) {
|
||||
dismiss();
|
||||
}
|
||||
dismiss();
|
||||
return;
|
||||
}
|
||||
boolean includeAskEveryTime = getArguments().getBoolean(KEY_INCLUDE_ASK_EVERY_TIME);
|
||||
|
Reference in New Issue
Block a user