Merge "Store whether the Dialog was previously dismissed" into sc-dev
diff --git a/src/com/android/settings/sim/PreferredSimDialogFragment.java b/src/com/android/settings/sim/PreferredSimDialogFragment.java
index c4a9484..7786dd1 100644
--- a/src/com/android/settings/sim/PreferredSimDialogFragment.java
+++ b/src/com/android/settings/sim/PreferredSimDialogFragment.java
@@ -23,6 +23,7 @@
import android.os.Bundle;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
+import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -81,7 +82,12 @@
}
private void updateDialog(AlertDialog dialog) {
+ Log.d(TAG, "Dialog updated, dismiss status: " + mWasDismissed);
+
final SubscriptionInfo info = getPreferredSubscription();
+ if (mWasDismissed) {
+ return;
+ }
if (info == null) {
dismiss();
return;
diff --git a/src/com/android/settings/sim/SimDialogFragment.java b/src/com/android/settings/sim/SimDialogFragment.java
index 362fccc..889f062 100644
--- a/src/com/android/settings/sim/SimDialogFragment.java
+++ b/src/com/android/settings/sim/SimDialogFragment.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
+import android.util.Log;
import androidx.annotation.NonNull;
@@ -34,6 +35,7 @@
private static final String KEY_DIALOG_TYPE = "dialog_type";
private SubscriptionsChangeListener mChangeListener;
+ protected boolean mWasDismissed = false;
protected static Bundle initArguments(int dialogType, int titleResId) {
final Bundle args = new Bundle();
@@ -53,6 +55,8 @@
@Override
public void onAttach(Context context) {
super.onAttach(context);
+ Log.d(TAG, "Dialog Attached.");
+ mWasDismissed = false;
mChangeListener = new SubscriptionsChangeListener(context, this);
}
@@ -70,6 +74,8 @@
@Override
public void onDismiss(@NonNull DialogInterface dialog) {
+ Log.d(TAG, "Dialog Dismissed.");
+ mWasDismissed = true;
super.onDismiss(dialog);
final SimDialogActivity activity = (SimDialogActivity) getActivity();
if (activity != null && !activity.isFinishing()) {
diff --git a/src/com/android/settings/sim/SimListDialogFragment.java b/src/com/android/settings/sim/SimListDialogFragment.java
index 2e3cfc7..2681d7b 100644
--- a/src/com/android/settings/sim/SimListDialogFragment.java
+++ b/src/com/android/settings/sim/SimListDialogFragment.java
@@ -24,6 +24,7 @@
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.text.TextUtils;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -49,6 +50,7 @@
*/
public class SimListDialogFragment extends SimDialogFragment implements
DialogInterface.OnClickListener {
+ private static final String TAG = "SimListDialogFragment";
protected static final String KEY_INCLUDE_ASK_EVERY_TIME = "include_ask_every_time";
protected SelectSubscriptionAdapter mAdapter;
@@ -101,9 +103,13 @@
@Override
public void updateDialog() {
+ Log.d(TAG, "Dialog updated, dismiss status: " + mWasDismissed);
+
List<SubscriptionInfo> currentSubscriptions = getCurrentSubscriptions();
if (currentSubscriptions == null) {
- dismiss();
+ if (!mWasDismissed) {
+ dismiss();
+ }
return;
}
if (getArguments().getBoolean(KEY_INCLUDE_ASK_EVERY_TIME)) {