Add new warning dialogue when user is Resetting mobile network settings.

If the user is reseting mobile network settings and have all these
conditions:
- No Wi-fi
- Has check to delete all eSIMs
- Has a least one RAC sim carrier
Then show the warning dialogue.

Test: make, manually test, atest SubSettingLauncherTest, atest ResetNetworkTest,  atest SubscriptionUtilTest
Bug: 328649510
Merged-In: I47d9b868b649b259d5e4008ec742317d2cb7cf51
Change-Id: I47d9b868b649b259d5e4008ec742317d2cb7cf51
(cherry picked from commit 147cc19b53)
This commit is contained in:
Rafael Higuera Silva
2024-03-13 23:18:47 +00:00
parent 2244c6296f
commit 363535192d
8 changed files with 195 additions and 17 deletions

View File

@@ -49,6 +49,7 @@ import com.android.settings.core.InstrumentedFragment;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.network.ResetNetworkRestrictionViewBuilder;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.network.telephony.EuiccRacConnectivityDialogActivity;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.password.ConfirmLockPattern;
import com.android.settingslib.development.DevelopmentSettingsEnabler;
@@ -121,6 +122,8 @@ public class ResetNetwork extends InstrumentedFragment {
@VisibleForTesting
void showFinalConfirmation() {
Bundle args = new Bundle();
Context context = getContext();
boolean resetSims = false;
// TODO(b/317276437) Simplify the logic once flag is released
int resetOptions = ResetNetworkRequest.RESET_CONNECTIVITY_MANAGER
@@ -142,18 +145,25 @@ public class ResetNetwork extends InstrumentedFragment {
}
}
if (mEsimContainer.getVisibility() == View.VISIBLE && mEsimCheckbox.isChecked()) {
request.setResetEsim(getContext().getPackageName())
.writeIntoBundle(args);
resetSims = true;
request.setResetEsim(context.getPackageName()).writeIntoBundle(args);
} else {
request.writeIntoBundle(args);
}
new SubSettingLauncher(getContext())
.setDestination(ResetNetworkConfirm.class.getName())
.setArguments(args)
.setTitleRes(R.string.reset_mobile_network_settings_confirm_title)
.setSourceMetricsCategory(getMetricsCategory())
.launch();
SubSettingLauncher launcher =
new SubSettingLauncher(context)
.setDestination(ResetNetworkConfirm.class.getName())
.setArguments(args)
.setTitleRes(R.string.reset_mobile_network_settings_confirm_title)
.setSourceMetricsCategory(getMetricsCategory());
if (resetSims && SubscriptionUtil.shouldShowRacDialog(context)) {
context.startActivity(
EuiccRacConnectivityDialogActivity.getIntent(context, launcher.toIntent()));
} else {
launcher.launch();
}
}
/**