[Large Screen] Launch MobileNetworkSettings by SubSettingsLauncher
Test: atest Bug: 197609014 Bug: 209606859 Change-Id: Icda934a26daeee13f663c986ebcbc92c952f9c2e
This commit is contained in:
@@ -36,7 +36,7 @@ import com.android.settings.R;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.network.helper.SubscriptionAnnotation;
|
||||
import com.android.settings.network.telephony.MobileNetworkActivity;
|
||||
import com.android.settings.network.telephony.MobileNetworkUtils;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.widget.AddPreference;
|
||||
import com.android.settingslib.Utils;
|
||||
@@ -190,12 +190,8 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController
|
||||
SubscriptionAnnotation info = subs.get(0);
|
||||
if (info.getSubInfo().isEmbedded() || info.isActive()
|
||||
|| mStatusCache.isPhysicalSimDisableSupport()) {
|
||||
final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
|
||||
intent.putExtra(Settings.EXTRA_SUB_ID, info.getSubscriptionId());
|
||||
// MobileNetworkActivity is singleTask, set SplitPairRule to show in 2-pane.
|
||||
MobileNetworkTwoPaneUtils.registerTwoPaneForMobileNetwork(mContext, intent,
|
||||
null);
|
||||
mContext.startActivity(intent);
|
||||
MobileNetworkUtils.launchMobileNetworkSettings(mContext,
|
||||
info.getSubInfo());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -36,7 +36,6 @@ import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.network.telephony.MobileNetworkActivity;
|
||||
import com.android.settings.network.telephony.MobileNetworkUtils;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
@@ -128,11 +127,7 @@ public class NetworkProviderDownloadedSimListController extends
|
||||
pref.setSummary(getSummary(subId));
|
||||
|
||||
pref.setOnPreferenceClickListener(clickedPref -> {
|
||||
final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
|
||||
intent.putExtra(Settings.EXTRA_SUB_ID, info.getSubscriptionId());
|
||||
// MobileNetworkActivity is singleTask, set SplitPairRule to show in 2-pane.
|
||||
MobileNetworkTwoPaneUtils.registerTwoPaneForMobileNetwork(mContext, intent, null);
|
||||
mContext.startActivity(intent);
|
||||
MobileNetworkUtils.launchMobileNetworkSettings(mContext, info);
|
||||
return true;
|
||||
});
|
||||
mPreferences.put(subId, pref);
|
||||
|
@@ -36,7 +36,7 @@ import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.network.telephony.MobileNetworkActivity;
|
||||
import com.android.settings.network.telephony.MobileNetworkUtils;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
@@ -126,12 +126,7 @@ public class NetworkProviderSimListController extends AbstractPreferenceControll
|
||||
SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId,
|
||||
true);
|
||||
} else {
|
||||
final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
|
||||
intent.putExtra(Settings.EXTRA_SUB_ID, info.getSubscriptionId());
|
||||
// MobileNetworkActivity is singleTask, set SplitPairRule to show in 2-pane.
|
||||
MobileNetworkTwoPaneUtils.registerTwoPaneForMobileNetwork(mContext, intent,
|
||||
null);
|
||||
mContext.startActivity(intent);
|
||||
MobileNetworkUtils.launchMobileNetworkSettings(mContext, info);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
@@ -55,7 +55,6 @@ import androidx.preference.PreferenceScreen;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.network.telephony.DataConnectivityListener;
|
||||
import com.android.settings.network.telephony.MobileNetworkActivity;
|
||||
import com.android.settings.network.telephony.MobileNetworkUtils;
|
||||
import com.android.settings.network.telephony.SignalStrengthListener;
|
||||
import com.android.settings.network.telephony.TelephonyDisplayInfoListener;
|
||||
@@ -237,7 +236,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
||||
});
|
||||
|
||||
mSubsGearPref.setOnGearClickListener(p ->
|
||||
startMobileNetworkActivity(mContext, subInfo.getSubscriptionId()));
|
||||
MobileNetworkUtils.launchMobileNetworkSettings(mContext, subInfo));
|
||||
}
|
||||
|
||||
if (!(mContext.getSystemService(UserManager.class)).isAdminUser()) {
|
||||
@@ -335,14 +334,6 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
||||
mSubsGearPref.setSummary("");
|
||||
}
|
||||
|
||||
private static void startMobileNetworkActivity(Context context, int subId) {
|
||||
final Intent intent = new Intent(context, MobileNetworkActivity.class);
|
||||
intent.putExtra(Settings.EXTRA_SUB_ID, subId);
|
||||
// MobileNetworkActivity is singleTask, set SplitPairRule to show in 2-pane.
|
||||
MobileNetworkTwoPaneUtils.registerTwoPaneForMobileNetwork(context, intent, null);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
boolean shouldInflateSignalStrength(int subId) {
|
||||
return SignalStrengthUtil.shouldInflateSignalStrength(mContext, subId);
|
||||
|
@@ -45,6 +45,7 @@ import android.graphics.drawable.LayerDrawable;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.os.Bundle;
|
||||
import android.os.PersistableBundle;
|
||||
import android.os.SystemClock;
|
||||
import android.os.SystemProperties;
|
||||
@@ -73,9 +74,11 @@ import com.android.internal.util.ArrayUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.network.SubscriptionUtil;
|
||||
import com.android.settings.network.ims.WifiCallingQueryImsState;
|
||||
import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
|
||||
import com.android.settingslib.core.instrumentation.Instrumentable;
|
||||
import com.android.settingslib.development.DevelopmentSettingsEnabler;
|
||||
import com.android.settingslib.graph.SignalDrawable;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
@@ -1008,4 +1011,21 @@ public class MobileNetworkUtils {
|
||||
return context.getResources().getString(resId);
|
||||
}
|
||||
|
||||
public static void launchMobileNetworkSettings(Context context, SubscriptionInfo info) {
|
||||
final int subId = info.getSubscriptionId();
|
||||
if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||
Log.d(TAG, "launchMobileNetworkSettings fail, subId is invalid");
|
||||
return;
|
||||
}
|
||||
|
||||
final Bundle extra = new Bundle();
|
||||
extra.putInt(Settings.EXTRA_SUB_ID, subId);
|
||||
new SubSettingLauncher(context)
|
||||
.setTitleText(SubscriptionUtil.getUniqueSubscriptionDisplayName(info, context))
|
||||
.setDestination(MobileNetworkSettings.class.getCanonicalName())
|
||||
.setSourceMetricsCategory(Instrumentable.METRICS_CATEGORY_UNKNOWN)
|
||||
.setArguments(extra)
|
||||
.launch();
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user