[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.core.PreferenceControllerMixin;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
import com.android.settings.network.helper.SubscriptionAnnotation;
|
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.overlay.FeatureFactory;
|
||||||
import com.android.settings.widget.AddPreference;
|
import com.android.settings.widget.AddPreference;
|
||||||
import com.android.settingslib.Utils;
|
import com.android.settingslib.Utils;
|
||||||
@@ -190,12 +190,8 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController
|
|||||||
SubscriptionAnnotation info = subs.get(0);
|
SubscriptionAnnotation info = subs.get(0);
|
||||||
if (info.getSubInfo().isEmbedded() || info.isActive()
|
if (info.getSubInfo().isEmbedded() || info.isActive()
|
||||||
|| mStatusCache.isPhysicalSimDisableSupport()) {
|
|| mStatusCache.isPhysicalSimDisableSupport()) {
|
||||||
final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
|
MobileNetworkUtils.launchMobileNetworkSettings(mContext,
|
||||||
intent.putExtra(Settings.EXTRA_SUB_ID, info.getSubscriptionId());
|
info.getSubInfo());
|
||||||
// MobileNetworkActivity is singleTask, set SplitPairRule to show in 2-pane.
|
|
||||||
MobileNetworkTwoPaneUtils.registerTwoPaneForMobileNetwork(mContext, intent,
|
|
||||||
null);
|
|
||||||
mContext.startActivity(intent);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -36,7 +36,6 @@ import androidx.preference.PreferenceCategory;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.network.telephony.MobileNetworkActivity;
|
|
||||||
import com.android.settings.network.telephony.MobileNetworkUtils;
|
import com.android.settings.network.telephony.MobileNetworkUtils;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
@@ -128,11 +127,7 @@ public class NetworkProviderDownloadedSimListController extends
|
|||||||
pref.setSummary(getSummary(subId));
|
pref.setSummary(getSummary(subId));
|
||||||
|
|
||||||
pref.setOnPreferenceClickListener(clickedPref -> {
|
pref.setOnPreferenceClickListener(clickedPref -> {
|
||||||
final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
|
MobileNetworkUtils.launchMobileNetworkSettings(mContext, info);
|
||||||
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);
|
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
mPreferences.put(subId, pref);
|
mPreferences.put(subId, pref);
|
||||||
|
@@ -36,7 +36,7 @@ import androidx.preference.PreferenceCategory;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.R;
|
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.AbstractPreferenceController;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||||
@@ -126,12 +126,7 @@ public class NetworkProviderSimListController extends AbstractPreferenceControll
|
|||||||
SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId,
|
SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId,
|
||||||
true);
|
true);
|
||||||
} else {
|
} else {
|
||||||
final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
|
MobileNetworkUtils.launchMobileNetworkSettings(mContext, info);
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
@@ -55,7 +55,6 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.network.telephony.DataConnectivityListener;
|
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.MobileNetworkUtils;
|
||||||
import com.android.settings.network.telephony.SignalStrengthListener;
|
import com.android.settings.network.telephony.SignalStrengthListener;
|
||||||
import com.android.settings.network.telephony.TelephonyDisplayInfoListener;
|
import com.android.settings.network.telephony.TelephonyDisplayInfoListener;
|
||||||
@@ -237,7 +236,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
|||||||
});
|
});
|
||||||
|
|
||||||
mSubsGearPref.setOnGearClickListener(p ->
|
mSubsGearPref.setOnGearClickListener(p ->
|
||||||
startMobileNetworkActivity(mContext, subInfo.getSubscriptionId()));
|
MobileNetworkUtils.launchMobileNetworkSettings(mContext, subInfo));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(mContext.getSystemService(UserManager.class)).isAdminUser()) {
|
if (!(mContext.getSystemService(UserManager.class)).isAdminUser()) {
|
||||||
@@ -335,14 +334,6 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
|||||||
mSubsGearPref.setSummary("");
|
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
|
@VisibleForTesting
|
||||||
boolean shouldInflateSignalStrength(int subId) {
|
boolean shouldInflateSignalStrength(int subId) {
|
||||||
return SignalStrengthUtil.shouldInflateSignalStrength(mContext, subId);
|
return SignalStrengthUtil.shouldInflateSignalStrength(mContext, subId);
|
||||||
|
@@ -45,6 +45,7 @@ import android.graphics.drawable.LayerDrawable;
|
|||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.Network;
|
import android.net.Network;
|
||||||
import android.net.NetworkCapabilities;
|
import android.net.NetworkCapabilities;
|
||||||
|
import android.os.Bundle;
|
||||||
import android.os.PersistableBundle;
|
import android.os.PersistableBundle;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
@@ -73,9 +74,11 @@ import com.android.internal.util.ArrayUtils;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settings.network.SubscriptionUtil;
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.network.ims.WifiCallingQueryImsState;
|
import com.android.settings.network.ims.WifiCallingQueryImsState;
|
||||||
import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
|
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.development.DevelopmentSettingsEnabler;
|
||||||
import com.android.settingslib.graph.SignalDrawable;
|
import com.android.settingslib.graph.SignalDrawable;
|
||||||
import com.android.settingslib.utils.ThreadUtils;
|
import com.android.settingslib.utils.ThreadUtils;
|
||||||
@@ -1008,4 +1011,21 @@ public class MobileNetworkUtils {
|
|||||||
return context.getResources().getString(resId);
|
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