Revert "Device do network scan after user rotates NetworkSelection page"
This reverts commit f54ead1f9491b24db80c4ae52afcbd22dd34452e.
Reason for revert: using another way. ag/16259258
Change-Id: I4ae695237cb3417cb3d08fcbb3354dc649681aab
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index a41c89a..a471504 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -234,11 +234,6 @@
android:exported="true"
android:launchMode="singleTask"
android:configChanges="orientation|screenSize|keyboardHidden">
- <!-- Note: Since the framework does not support the multiple requests of network scan
- from the UI, this singleTask can protect that there is only one
- Settings$NetworkSelectActivity which can request the network scan.
- If removing the "singleTask" in the future, please also modify the
- Settings$NetworkSelectActivity's structure. -->
<intent-filter android:priority="1">
<!-- Displays the MobileNetworkActivity and opt-in dialog for capability discovery. -->
<action android:name="android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN" />
@@ -351,16 +346,6 @@
</activity>
<activity
- android:name="Settings$NetworkSelectActivity"
- android:label="@string/choose_network_title"
- android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout|smallestScreenSize">
- <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.network.telephony.NetworkSelectSettings" />
- <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
- android:value="true" />
- </activity>
-
- <activity
android:name="Settings$WifiDetailsSettingsActivity"
android:label="@string/wifi_details_title"
android:icon="@drawable/ic_homepage_network"
diff --git a/res/xml/mobile_network_settings.xml b/res/xml/mobile_network_settings.xml
index 673994a..7d1ff09 100644
--- a/res/xml/mobile_network_settings.xml
+++ b/res/xml/mobile_network_settings.xml
@@ -223,6 +223,7 @@
<Preference
android:key="choose_network_key"
android:title="@string/choose_network_title"
+ android:fragment="com.android.phone.NetworkSelectSetting"
settings:controller="com.android.settings.network.telephony.gsm.OpenNetworkSelectPagePreferenceController"/>
</PreferenceCategory>
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 6dd5a2e..4de795c 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -91,7 +91,6 @@
public static class WifiSettingsActivity extends SettingsActivity { /* empty */ }
public static class WifiSettings2Activity extends SettingsActivity { /* empty */ }
public static class NetworkProviderSettingsActivity extends SettingsActivity { /* empty */ }
- public static class NetworkSelectActivity extends SettingsActivity { /* empty */ }
/** Activity for the Wi-Fi network details settings. */
public static class WifiDetailsSettingsActivity extends SettingsActivity { /* empty */ }
public static class WifiP2pSettingsActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index a9f8e31..3c594a7 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -119,7 +119,6 @@
import com.android.settings.network.NetworkProviderSettings;
import com.android.settings.network.apn.ApnEditor;
import com.android.settings.network.apn.ApnSettings;
-import com.android.settings.network.telephony.NetworkSelectSettings;
import com.android.settings.nfc.AndroidBeam;
import com.android.settings.nfc.PaymentSettings;
import com.android.settings.notification.ConfigureNotificationSettings;
@@ -319,7 +318,6 @@
InteractAcrossProfilesDetails.class.getName(),
MediaControlsSettings.class.getName(),
NetworkProviderSettings.class.getName(),
- NetworkSelectSettings.class.getName(),
AlarmsAndRemindersDetails.class.getName(),
MediaManagementAppsDetails.class.getName()
};
@@ -343,7 +341,6 @@
Settings.WifiSettingsActivity.class.getName(),
Settings.DataUsageSummaryActivity.class.getName(),
Settings.NetworkProviderSettingsActivity.class.getName(),
- Settings.NetworkSelectActivity.class.getName(),
// Home page > Connected devices
Settings.BluetoothSettingsActivity.class.getName(),
Settings.WifiDisplaySettingsActivity.class.getName(),
diff --git a/src/com/android/settings/network/telephony/NetworkSelectSettings.java b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
index 67d3171..c72c18d 100644
--- a/src/com/android/settings/network/telephony/NetworkSelectSettings.java
+++ b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
@@ -19,7 +19,6 @@
import android.app.Activity;
import android.app.settings.SettingsEnums;
import android.content.Context;
-import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
@@ -102,7 +101,7 @@
@VisibleForTesting
protected void onCreateInitialization() {
mUseNewApi = enableNewAutoSelectNetworkUI(getContext());
- mSubId = getSubId();
+ mSubId = getArguments().getInt(Settings.EXTRA_SUB_ID);
mPreferenceCategory = getPreferenceCategory(PREF_KEY_NETWORK_OPERATORS);
mStatusMessagePreference = new Preference(getContext());
@@ -121,7 +120,7 @@
mMetricsFeatureProvider = getMetricsFeatureProvider(getContext());
mIsAggregationEnabled = enableAggregation(getContext());
Log.d(TAG, "init: mUseNewApi:" + mUseNewApi
- + " ,mIsAggregationEnabled:" + mIsAggregationEnabled + " ,mSubId:" + mSubId);
+ + " ,mIsAggregationEnabled:" + mIsAggregationEnabled);
}
@Keep
@@ -175,18 +174,6 @@
getPreferenceScreen().setEnabled(enable);
}
- @Keep
- @VisibleForTesting
- protected int getSubId() {
- int subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
- Intent intent = getActivity().getIntent();
- if (intent != null) {
- subId = intent.getIntExtra(Settings.EXTRA_SUB_ID,
- SubscriptionManager.INVALID_SUBSCRIPTION_ID);
- }
- return subId;
- }
-
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
diff --git a/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java b/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java
index 028c4e7..997235c 100644
--- a/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java
+++ b/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java
@@ -20,8 +20,9 @@
import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
import android.app.ProgressDialog;
+import android.app.settings.SettingsEnums;
import android.content.Context;
-import android.content.Intent;
+import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.os.Looper;
@@ -42,8 +43,10 @@
import androidx.preference.SwitchPreference;
import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
import com.android.settings.network.AllowedNetworkTypesListener;
import com.android.settings.network.telephony.MobileNetworkUtils;
+import com.android.settings.network.telephony.NetworkSelectSettings;
import com.android.settings.network.telephony.TelephonyTogglePreferenceController;
import com.android.settingslib.utils.ThreadUtils;
@@ -148,26 +151,25 @@
public boolean setChecked(boolean isChecked) {
if (isChecked) {
setAutomaticSelectionMode();
+ return false;
} else {
- if (mSwitchPreference != null) {
- Intent intent = new Intent();
- intent.setClassName("com.android.settings",
- "com.android.settings.Settings$NetworkSelectActivity");
- intent.putExtra(Settings.EXTRA_SUB_ID, mSubId);
- mSwitchPreference.setIntent(intent);
- }
+ final Bundle bundle = new Bundle();
+ bundle.putInt(Settings.EXTRA_SUB_ID, mSubId);
+ new SubSettingLauncher(mContext)
+ .setDestination(NetworkSelectSettings.class.getName())
+ .setSourceMetricsCategory(SettingsEnums.MOBILE_NETWORK_SELECT)
+ .setTitleRes(R.string.choose_network_title)
+ .setArguments(bundle)
+ .launch();
+ return false;
}
- return false;
}
@VisibleForTesting
Future setAutomaticSelectionMode() {
final long startMillis = SystemClock.elapsedRealtime();
showAutoSelectProgressBar();
- if (mSwitchPreference != null) {
- mSwitchPreference.setIntent(null);
- mSwitchPreference.setEnabled(false);
- }
+ mSwitchPreference.setEnabled(false);
return ThreadUtils.postOnBackgroundThread(() -> {
// set network selection mode in background
mTelephonyManager.setNetworkSelectionModeAutomatic();
diff --git a/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java b/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java
index 54f5ce1..4047009 100644
--- a/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java
+++ b/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java
@@ -19,12 +19,14 @@
import static androidx.lifecycle.Lifecycle.Event.ON_START;
import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
+import android.app.settings.SettingsEnums;
import android.content.Context;
-import android.content.Intent;
+import android.os.Bundle;
import android.provider.Settings;
import android.telephony.ServiceState;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
+import android.text.TextUtils;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
@@ -33,8 +35,10 @@
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
import com.android.settings.network.AllowedNetworkTypesListener;
import com.android.settings.network.telephony.MobileNetworkUtils;
+import com.android.settings.network.telephony.NetworkSelectSettings;
import com.android.settings.network.telephony.TelephonyBasePreferenceController;
/**
@@ -98,12 +102,6 @@
super.updateState(preference);
preference.setEnabled(mTelephonyManager.getNetworkSelectionMode()
!= TelephonyManager.NETWORK_SELECTION_MODE_AUTO);
-
- Intent intent = new Intent();
- intent.setClassName("com.android.settings",
- "com.android.settings.Settings$NetworkSelectActivity");
- intent.putExtra(Settings.EXTRA_SUB_ID, mSubId);
- preference.setIntent(intent);
}
@Override
@@ -116,6 +114,23 @@
}
}
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
+ final Bundle bundle = new Bundle();
+ bundle.putInt(Settings.EXTRA_SUB_ID, mSubId);
+ new SubSettingLauncher(mContext)
+ .setDestination(NetworkSelectSettings.class.getName())
+ .setSourceMetricsCategory(SettingsEnums.MOBILE_NETWORK_SELECT)
+ .setTitleRes(R.string.choose_network_title)
+ .setArguments(bundle)
+ .launch();
+ return true;
+ }
+
+ return false;
+ }
+
public OpenNetworkSelectPagePreferenceController init(Lifecycle lifecycle, int subId) {
mSubId = subId;
mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
diff --git a/tests/unit/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java b/tests/unit/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
index 6dbc4c9..391839c 100644
--- a/tests/unit/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
@@ -122,6 +122,10 @@
public TargetClass(NetworkSelectSettingsTest env) {
mTestEnv = env;
+
+ Bundle bundle = new Bundle();
+ bundle.putInt(Settings.EXTRA_SUB_ID, SUB_ID);
+ setArguments(bundle);
}
@Override
@@ -180,11 +184,6 @@
protected boolean enableAggregation(Context context) {
return mTestEnv.mIsAggregationEnabled;
}
-
- @Override
- protected int getSubId() {
- return SUB_ID;
- }
}
@Test