Remove the new task for mobile network page starts the sim onboarding
Bug: 349695880
Test: manually test
Flag: EXEMPT bugfix
Change-Id: Id5f35a9311da5e47f0417a45feadb1d1a0a2e35d
diff --git a/src/com/android/settings/network/NetworkProviderSimListController.java b/src/com/android/settings/network/NetworkProviderSimListController.java
index 46a66a6..51059a7 100644
--- a/src/com/android/settings/network/NetworkProviderSimListController.java
+++ b/src/com/android/settings/network/NetworkProviderSimListController.java
@@ -113,7 +113,7 @@
if (!info.isEmbedded && !isActiveSubscriptionId
&& !SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) {
SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId,
- true);
+ true, false);
} else {
MobileNetworkUtils.launchMobileNetworkSettings(mContext, info);
}
diff --git a/src/com/android/settings/network/SimOnboardingActivity.kt b/src/com/android/settings/network/SimOnboardingActivity.kt
index bef10cd..e39966a 100644
--- a/src/com/android/settings/network/SimOnboardingActivity.kt
+++ b/src/com/android/settings/network/SimOnboardingActivity.kt
@@ -588,11 +588,14 @@
fun startSimOnboardingActivity(
context: Context,
subId: Int,
+ isNewTask: Boolean = false,
) {
val intent = Intent(context, SimOnboardingActivity::class.java).apply {
putExtra(SUB_ID, subId)
+ if(isNewTask) {
+ setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+ }
}
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
context.startActivity(intent)
}
diff --git a/src/com/android/settings/network/SubscriptionUtil.java b/src/com/android/settings/network/SubscriptionUtil.java
index 74a10e9..fcf1599 100644
--- a/src/com/android/settings/network/SubscriptionUtil.java
+++ b/src/com/android/settings/network/SubscriptionUtil.java
@@ -24,6 +24,7 @@
import static com.android.internal.util.CollectionUtils.emptyIfNull;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.net.NetworkCapabilities;
@@ -515,18 +516,23 @@
* @param context {@code Context}
* @param subId The id of subscription need to be enabled or disabled.
* @param enable Whether the subscription with {@code subId} should be enabled or disabled.
+ * @param isNewTask Whether the start activity add the new task or not
*/
public static void startToggleSubscriptionDialogActivity(
- Context context, int subId, boolean enable) {
+ Context context, int subId, boolean enable, boolean isNewTask) {
if (!SubscriptionManager.isUsableSubscriptionId(subId)) {
Log.i(TAG, "Unable to toggle subscription due to invalid subscription ID.");
return;
}
if (enable && Flags.isDualSimOnboardingEnabled()) {
- SimOnboardingActivity.startSimOnboardingActivity(context, subId);
+ SimOnboardingActivity.startSimOnboardingActivity(context, subId, isNewTask);
return;
}
- context.startActivity(ToggleSubscriptionDialogActivity.getIntent(context, subId, enable));
+ Intent intent = ToggleSubscriptionDialogActivity.getIntent(context, subId, enable);
+ if (isNewTask) {
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ }
+ context.startActivity(intent);
}
/**
diff --git a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
index 78eb832..6f4d3c3 100644
--- a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
+++ b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
@@ -76,7 +76,6 @@
Intent intent = new Intent(context, ToggleSubscriptionDialogActivity.class);
intent.putExtra(ARG_SUB_ID, subId);
intent.putExtra(ARG_enable, enable);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
return intent;
}
diff --git a/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java b/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java
index 9394af1..6e28a0d 100644
--- a/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java
+++ b/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java
@@ -410,7 +410,7 @@
return;
}
Log.d(TAG, "Start ToggleSubscriptionDialogActivity with " + subId + " under DSDS+Mep.");
- SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId, true);
+ SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId, true, true);
}
private boolean isMultipleEnabledProfilesSupported() {