Merge "[Settings] Only display 1 SIM UI when multiple with same group UUID"
diff --git a/res/xml/top_level_settings_grouped.xml b/res/xml/top_level_settings_grouped.xml
index 964c198..dc78f47 100644
--- a/res/xml/top_level_settings_grouped.xml
+++ b/res/xml/top_level_settings_grouped.xml
@@ -29,7 +29,6 @@
android:icon="@drawable/ic_homepage_network"
android:key="top_level_network"
android:order="-120"
- android:summary="@string/summary_placeholder"
android:title="@string/network_dashboard_title"
settings:controller="com.android.settings.network.TopLevelNetworkEntryPreferenceController"/>
@@ -38,7 +37,6 @@
android:icon="@drawable/ic_homepage_connected_device"
android:key="top_level_connected_devices"
android:order="-110"
- android:summary="@string/summary_placeholder"
android:title="@string/connected_devices_dashboard_title"
settings:controller="com.android.settings.connecteddevice.TopLevelConnectedDevicesPreferenceController"/>
</PreferenceCategory>
@@ -52,7 +50,6 @@
android:icon="@drawable/ic_homepage_apps"
android:key="top_level_apps_and_notifs"
android:order="-100"
- android:summary="@string/app_and_notification_dashboard_summary"
android:title="@string/app_and_notification_dashboard_title"/>
</PreferenceCategory>
@@ -65,7 +62,6 @@
android:icon="@drawable/ic_homepage_battery"
android:key="top_level_battery"
android:order="-90"
- android:summary="@string/summary_placeholder"
android:title="@string/power_usage_summary_title"
settings:controller="com.android.settings.fuelgauge.TopLevelBatteryPreferenceController"/>
@@ -74,7 +70,6 @@
android:icon="@drawable/ic_homepage_storage"
android:key="top_level_storage"
android:order="-80"
- android:summary="@string/summary_placeholder"
android:title="@string/storage_settings"
settings:controller="com.android.settings.deviceinfo.TopLevelStoragePreferenceController"/>
@@ -83,7 +78,6 @@
android:icon="@drawable/ic_homepage_sound"
android:key="top_level_sound"
android:order="-70"
- android:summary="@string/sound_dashboard_summary"
android:title="@string/sound_settings"/>
<Preference
@@ -91,7 +85,6 @@
android:icon="@drawable/ic_homepage_display"
android:key="top_level_display"
android:order="-60"
- android:summary="@string/summary_placeholder"
android:title="@string/display_settings"
settings:controller="com.android.settings.display.TopLevelDisplayPreferenceController"/>
@@ -100,7 +93,6 @@
android:icon="@drawable/ic_homepage_accessibility"
android:key="top_level_accessibility"
android:order="-50"
- android:summary="@string/accessibility_settings_summary"
android:title="@string/accessibility_settings"
settings:controller="com.android.settings.accessibility.TopLevelAccessibilityPreferenceController"/>
</PreferenceCategory>
@@ -114,7 +106,6 @@
android:icon="@drawable/ic_homepage_privacy"
android:key="top_level_privacy"
android:order="-40"
- android:summary="@string/privacy_dashboard_summary"
android:title="@string/privacy_dashboard_title"/>
<Preference
@@ -122,7 +113,6 @@
android:icon="@drawable/ic_homepage_location"
android:key="top_level_location"
android:order="-30"
- android:summary="@string/location_settings_loading_app_permission_stats"
android:title="@string/location_settings_title"
settings:controller="com.android.settings.location.TopLevelLocationPreferenceController"/>
@@ -131,7 +121,6 @@
android:icon="@drawable/ic_homepage_security"
android:key="top_level_security"
android:order="-20"
- android:summary="@string/summary_placeholder"
android:title="@string/security_settings_title"
settings:controller="com.android.settings.security.TopLevelSecurityEntryPreferenceController"/>
</PreferenceCategory>
@@ -145,7 +134,6 @@
android:icon="@drawable/ic_homepage_accounts"
android:key="top_level_accounts"
android:order="-10"
- android:summary="@string/summary_placeholder"
android:title="@string/account_dashboard_title"
settings:controller="com.android.settings.accounts.TopLevelAccountEntryPreferenceController"/>
</PreferenceCategory>
@@ -159,7 +147,6 @@
android:icon="@drawable/ic_homepage_system_dashboard"
android:key="top_level_system"
android:order="10"
- android:summary="@string/system_dashboard_summary"
android:title="@string/header_category_system"/>
<Preference
@@ -167,7 +154,6 @@
android:icon="@drawable/ic_homepage_about"
android:key="top_level_about_device"
android:order="20"
- android:summary="@string/summary_placeholder"
android:title="@string/about_settings"
settings:controller="com.android.settings.deviceinfo.aboutphone.TopLevelAboutDevicePreferenceController"/>
@@ -175,7 +161,6 @@
android:icon="@drawable/ic_homepage_support"
android:key="top_level_support"
android:order="100"
- android:summary="@string/support_summary"
android:title="@string/page_tab_title_support"
settings:controller="com.android.settings.support.SupportPreferenceController"/>
</PreferenceCategory>
diff --git a/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceController.java b/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceController.java
index e4e32e5..7cd746f 100644
--- a/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceController.java
+++ b/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceController.java
@@ -21,9 +21,11 @@
import android.os.UserHandle;
import android.text.BidiFormatter;
import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.FeatureFlags;
import com.android.settingslib.accounts.AuthenticatorHelper;
import java.util.ArrayList;
@@ -41,6 +43,11 @@
@Override
public CharSequence getSummary() {
+ // Remove homepage summaries for silky home.
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ return null;
+ }
+
final AuthenticatorHelper authHelper = new AuthenticatorHelper(mContext,
UserHandle.of(UserHandle.myUserId()), null /* OnAccountsUpdateListener */);
final String[] types = authHelper.getEnabledAccountTypes();
diff --git a/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java b/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java
index fd36bca..fac3201 100644
--- a/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java
@@ -17,9 +17,11 @@
package com.android.settings.connecteddevice;
import android.content.Context;
+import android.util.FeatureFlagUtils;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.FeatureFlags;
public class TopLevelConnectedDevicesPreferenceController extends BasePreferenceController {
@@ -36,6 +38,11 @@
@Override
public CharSequence getSummary() {
+ // Remove homepage summaries for silky home.
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ return null;
+ }
+
return mContext.getText(
AdvancedConnectedDeviceController.getConnectedDevicesSummaryResourceId(mContext));
}
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index bfcfc82..0243b8a 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -47,6 +47,7 @@
import android.provider.Settings;
import android.text.TextUtils;
import android.util.ArrayMap;
+import android.util.FeatureFlagUtils;
import android.util.Log;
import android.util.Pair;
import android.widget.Toast;
@@ -58,11 +59,13 @@
import com.android.settings.R;
import com.android.settings.SettingsActivity;
+import com.android.settings.core.FeatureFlags;
import com.android.settings.dashboard.profileselector.ProfileSelectDialog;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.PrimarySwitchPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.drawer.ActivityTile;
+import com.android.settingslib.drawer.CategoryKey;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.Tile;
import com.android.settingslib.drawer.TileUtils;
@@ -255,6 +258,12 @@
}
private DynamicDataObserver bindSummaryAndGetObserver(Preference preference, Tile tile) {
+ // Skip binding homepage tile summaries for silky home.
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)
+ && TextUtils.equals(tile.getCategory(), CategoryKey.CATEGORY_HOMEPAGE)) {
+ return null;
+ }
+
final CharSequence summary = tile.getSummary(mContext);
if (summary != null) {
preference.setSummary(summary);
diff --git a/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java b/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
index 8a2d3ba..dcc581c 100644
--- a/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
@@ -19,11 +19,13 @@
import android.content.Context;
import android.os.storage.StorageManager;
import android.text.format.Formatter;
+import android.util.FeatureFlagUtils;
import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.FeatureFlags;
import com.android.settingslib.deviceinfo.PrivateStorageInfo;
import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
import com.android.settingslib.utils.ThreadUtils;
@@ -48,6 +50,11 @@
@Override
protected void refreshSummary(Preference preference) {
+ // Remove homepage summaries for silky home.
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ return;
+ }
+
if (preference == null) {
return;
}
diff --git a/src/com/android/settings/deviceinfo/aboutphone/TopLevelAboutDevicePreferenceController.java b/src/com/android/settings/deviceinfo/aboutphone/TopLevelAboutDevicePreferenceController.java
index 83efcc4..3bda7b9 100644
--- a/src/com/android/settings/deviceinfo/aboutphone/TopLevelAboutDevicePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/aboutphone/TopLevelAboutDevicePreferenceController.java
@@ -17,8 +17,10 @@
package com.android.settings.deviceinfo.aboutphone;
import android.content.Context;
+import android.util.FeatureFlagUtils;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.FeatureFlags;
import com.android.settings.deviceinfo.DeviceNamePreferenceController;
public class TopLevelAboutDevicePreferenceController extends BasePreferenceController {
@@ -34,6 +36,11 @@
@Override
public CharSequence getSummary() {
+ // Remove homepage summaries for silky home.
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ return null;
+ }
+
final DeviceNamePreferenceController deviceNamePreferenceController =
new DeviceNamePreferenceController(mContext, "unused_key");
return deviceNamePreferenceController.getSummary();
diff --git a/src/com/android/settings/display/TopLevelDisplayPreferenceController.java b/src/com/android/settings/display/TopLevelDisplayPreferenceController.java
index 73aafe5..cd2dd13 100644
--- a/src/com/android/settings/display/TopLevelDisplayPreferenceController.java
+++ b/src/com/android/settings/display/TopLevelDisplayPreferenceController.java
@@ -17,9 +17,11 @@
package com.android.settings.display;
import android.content.Context;
+import android.util.FeatureFlagUtils;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.FeatureFlags;
public class TopLevelDisplayPreferenceController extends BasePreferenceController {
@@ -36,6 +38,11 @@
@Override
public CharSequence getSummary() {
+ // Remove homepage summaries for silky home.
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ return null;
+ }
+
final WallpaperPreferenceController controller =
new WallpaperPreferenceController(mContext, "unused_key");
if (controller.isAvailable()) {
diff --git a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
index 88fd1ce..1936698 100644
--- a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
@@ -17,12 +17,14 @@
package com.android.settings.fuelgauge;
import android.content.Context;
+import android.util.FeatureFlagUtils;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.FeatureFlags;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
@@ -69,6 +71,11 @@
@Override
public CharSequence getSummary() {
+ // Remove homepage summaries for silky home.
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ return null;
+ }
+
return getDashboardLabel(mContext, mBatteryInfo);
}
diff --git a/src/com/android/settings/location/TopLevelLocationPreferenceController.java b/src/com/android/settings/location/TopLevelLocationPreferenceController.java
index ec58a34..fe85c7f 100644
--- a/src/com/android/settings/location/TopLevelLocationPreferenceController.java
+++ b/src/com/android/settings/location/TopLevelLocationPreferenceController.java
@@ -11,6 +11,7 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.permission.PermissionControllerManager;
+import android.util.FeatureFlagUtils;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
@@ -18,6 +19,7 @@
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.FeatureFlags;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
@@ -50,6 +52,11 @@
@Override
public CharSequence getSummary() {
+ // Remove homepage summaries for silky home.
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ return null;
+ }
+
if (mLocationManager.isLocationEnabled()) {
if (mNumTotal == -1) {
return mContext.getString(R.string.location_settings_loading_app_permission_stats);
diff --git a/src/com/android/settings/network/TopLevelNetworkEntryPreferenceController.java b/src/com/android/settings/network/TopLevelNetworkEntryPreferenceController.java
index c630cc7..fe2392b 100644
--- a/src/com/android/settings/network/TopLevelNetworkEntryPreferenceController.java
+++ b/src/com/android/settings/network/TopLevelNetworkEntryPreferenceController.java
@@ -20,10 +20,12 @@
import android.icu.text.ListFormatter;
import android.text.BidiFormatter;
import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.FeatureFlags;
import com.android.settings.wifi.WifiPrimarySwitchPreferenceController;
import java.util.ArrayList;
@@ -51,6 +53,11 @@
@Override
public CharSequence getSummary() {
+ // Remove homepage summaries for silky home.
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ return null;
+ }
+
final String wifiSummary = BidiFormatter.getInstance()
.unicodeWrap(mContext.getString(R.string.wifi_settings_title));
final String mobileSummary = mContext.getString(
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index 6327375..fd585a1 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -365,9 +365,15 @@
}
private int getPreferredNetworkMode() {
- return Settings.Global.getInt(mContext.getContentResolver(),
+ int networkMode = Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE);
+ if (!showNrList()) {
+ Log.d(LOG_TAG, "Network mode :" + networkMode + " reduce NR");
+ networkMode = reduceNrToLteNetworkType(networkMode);
+ }
+ Log.d(LOG_TAG, "getPreferredNetworkMode: " + networkMode);
+ return networkMode;
}
private EnabledNetworks getEnabledNetworkType() {
@@ -635,6 +641,40 @@
}
}
+ /**
+ * Transform NR5G network mode to LTE network mode.
+ *
+ * @param networkType an 5G network mode.
+ * @return the corresponding network mode without 5G.
+ */
+ private static int reduceNrToLteNetworkType(int networkType) {
+ switch(networkType) {
+ case TelephonyManagerConstants.NETWORK_MODE_NR_LTE:
+ return TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY;
+ case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO:
+ return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO;
+ case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA:
+ return TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA;
+ case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
+ return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA;
+ case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA:
+ return TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA;
+ case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA:
+ return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA;
+ case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM:
+ return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM;
+ case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA:
+ return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA;
+ case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA:
+ return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA;
+ case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+ return TelephonyManagerConstants
+ .NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
+ default:
+ return networkType; // do nothing
+ }
+ }
+
private void setPreferenceValueAndSummary() {
setPreferenceValueAndSummary(getPreferredNetworkMode());
}
diff --git a/src/com/android/settings/network/telephony/MobileNetworkActivity.java b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
index 6513384..b179770 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkActivity.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
@@ -16,6 +16,8 @@
package com.android.settings.network.telephony;
+import static com.android.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY;
+
import android.app.ActionBar;
import android.content.Intent;
import android.os.Bundle;
@@ -254,8 +256,13 @@
final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
final int subId = subInfo.getSubscriptionId();
+ final Intent intent = getIntent();
final Bundle bundle = new Bundle();
bundle.putInt(Settings.EXTRA_SUB_ID, subId);
+ if (intent != null && Settings.ACTION_MMS_MESSAGE_SETTING.equals(intent.getAction())) {
+ // highlight "mms_message" preference.
+ bundle.putString(EXTRA_FRAGMENT_ARG_KEY, "mms_message");
+ }
final String fragmentTag = buildFragmentTag(subId);
if (fragmentManager.findFragmentByTag(fragmentTag) != null) {
diff --git a/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java b/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
index 4a4d345..4efc620 100644
--- a/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
+++ b/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
@@ -19,10 +19,12 @@
import android.content.Context;
import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager;
+import android.util.FeatureFlagUtils;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.FeatureFlags;
public class TopLevelSecurityEntryPreferenceController extends BasePreferenceController {
@@ -37,6 +39,11 @@
@Override
public CharSequence getSummary() {
+ // Remove homepage summaries for silky home.
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ return null;
+ }
+
final FingerprintManager fpm =
Utils.getFingerprintManagerOrNull(mContext);
final FaceManager faceManager =
diff --git a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
index 76a8c5f..d0708ea 100644
--- a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
+++ b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
@@ -36,6 +36,7 @@
import android.view.MenuInflater;
import android.view.MenuItem;
+import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
@@ -78,7 +79,8 @@
private HandlerThread mWorkerThread;
private WifiDetailPreferenceController2 mWifiDetailPreferenceController2;
private List<WifiDialog2.WifiDialog2Listener> mWifiDialogListeners = new ArrayList<>();
- private List<AbstractPreferenceController> mControllers;
+ @VisibleForTesting
+ List<AbstractPreferenceController> mControllers;
@Override
public void onDestroy() {
@@ -255,6 +257,11 @@
* API call for refreshing the preferences in this fragment.
*/
public void refreshPreferences() {
+ updatePreferenceStates();
+ displayPreferenceControllers();
+ }
+
+ protected void displayPreferenceControllers() {
final PreferenceScreen screen = getPreferenceScreen();
for (AbstractPreferenceController controller : mControllers) {
// WifiDetailPreferenceController2 gets the callback WifiEntryCallback#onUpdated,
diff --git a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
index a0d4b16..d6e1b60 100644
--- a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
@@ -69,12 +69,13 @@
public void updateState(Preference preference) {
final DropDownPreference dropDownPreference = (DropDownPreference) preference;
final int randomizationLevel = getRandomizationValue();
+ final boolean isSelectable = mWifiEntry.canSetPrivacy();
+ preference.setSelectable(isSelectable);
dropDownPreference.setValue(Integer.toString(randomizationLevel));
updateSummary(dropDownPreference, randomizationLevel);
- // Makes preference not selectable, when this is a ephemeral network.
- if (!mWifiEntry.canSetPrivacy()) {
- preference.setSelectable(false);
+ // If the preference cannot be selectable, display a temporary network in the summary.
+ if (!isSelectable) {
dropDownPreference.setSummary(R.string.wifi_privacy_settings_ephemeral_summary);
}
}
diff --git a/tests/unit/InstrumentedEntitlementApp/Android.bp b/tests/legacy_unit/InstrumentedEntitlementApp/Android.bp
similarity index 100%
rename from tests/unit/InstrumentedEntitlementApp/Android.bp
rename to tests/legacy_unit/InstrumentedEntitlementApp/Android.bp
diff --git a/tests/unit/InstrumentedEntitlementApp/AndroidManifest.xml b/tests/legacy_unit/InstrumentedEntitlementApp/AndroidManifest.xml
similarity index 100%
rename from tests/unit/InstrumentedEntitlementApp/AndroidManifest.xml
rename to tests/legacy_unit/InstrumentedEntitlementApp/AndroidManifest.xml
diff --git a/tests/unit/InstrumentedEntitlementApp/src/android/test/entitlement/InstrumentedEntitlementActivity.java b/tests/legacy_unit/InstrumentedEntitlementApp/src/android/test/entitlement/InstrumentedEntitlementActivity.java
similarity index 100%
rename from tests/unit/InstrumentedEntitlementApp/src/android/test/entitlement/InstrumentedEntitlementActivity.java
rename to tests/legacy_unit/InstrumentedEntitlementApp/src/android/test/entitlement/InstrumentedEntitlementActivity.java
diff --git a/tests/legacy_unit/README b/tests/legacy_unit/README
new file mode 100644
index 0000000..9e318d7
--- /dev/null
+++ b/tests/legacy_unit/README
@@ -0,0 +1 @@
+Directory for legacy settings unit tests, which are no longer maintained.
diff --git a/tests/unit/src/com/android/settings/UserCredentialsTest.java b/tests/legacy_unit/src/com/android/settings/UserCredentialsTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/UserCredentialsTest.java
rename to tests/legacy_unit/src/com/android/settings/UserCredentialsTest.java
diff --git a/tests/unit/src/com/android/settings/UtilsTest.java b/tests/legacy_unit/src/com/android/settings/UtilsTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/UtilsTest.java
rename to tests/legacy_unit/src/com/android/settings/UtilsTest.java
diff --git a/tests/unit/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/legacy_unit/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
rename to tests/legacy_unit/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
diff --git a/tests/unit/src/com/android/settings/accounts/AccountsSettingsTest.java b/tests/legacy_unit/src/com/android/settings/accounts/AccountsSettingsTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/accounts/AccountsSettingsTest.java
rename to tests/legacy_unit/src/com/android/settings/accounts/AccountsSettingsTest.java
diff --git a/tests/unit/src/com/android/settings/accounts/Authenticator.java b/tests/legacy_unit/src/com/android/settings/accounts/Authenticator.java
similarity index 100%
rename from tests/unit/src/com/android/settings/accounts/Authenticator.java
rename to tests/legacy_unit/src/com/android/settings/accounts/Authenticator.java
diff --git a/tests/unit/src/com/android/settings/accounts/TestAuthService.java b/tests/legacy_unit/src/com/android/settings/accounts/TestAuthService.java
similarity index 100%
rename from tests/unit/src/com/android/settings/accounts/TestAuthService.java
rename to tests/legacy_unit/src/com/android/settings/accounts/TestAuthService.java
diff --git a/tests/unit/src/com/android/settings/applications/manageapplications/ManageApplicationsUnitTest.java b/tests/legacy_unit/src/com/android/settings/applications/manageapplications/ManageApplicationsUnitTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/applications/manageapplications/ManageApplicationsUnitTest.java
rename to tests/legacy_unit/src/com/android/settings/applications/manageapplications/ManageApplicationsUnitTest.java
diff --git a/tests/unit/src/com/android/settings/backup/BackupIntentTest.java b/tests/legacy_unit/src/com/android/settings/backup/BackupIntentTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/backup/BackupIntentTest.java
rename to tests/legacy_unit/src/com/android/settings/backup/BackupIntentTest.java
diff --git a/tests/unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java b/tests/legacy_unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
rename to tests/legacy_unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
diff --git a/tests/unit/src/com/android/settings/core/LifecycleEventHandlingTest.java b/tests/legacy_unit/src/com/android/settings/core/LifecycleEventHandlingTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/core/LifecycleEventHandlingTest.java
rename to tests/legacy_unit/src/com/android/settings/core/LifecycleEventHandlingTest.java
diff --git a/tests/unit/src/com/android/settings/dashboard/FirstIdViewMatcher.java b/tests/legacy_unit/src/com/android/settings/dashboard/FirstIdViewMatcher.java
similarity index 100%
rename from tests/unit/src/com/android/settings/dashboard/FirstIdViewMatcher.java
rename to tests/legacy_unit/src/com/android/settings/dashboard/FirstIdViewMatcher.java
diff --git a/tests/unit/src/com/android/settings/dashboard/PreferenceThemeTest.java b/tests/legacy_unit/src/com/android/settings/dashboard/PreferenceThemeTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/dashboard/PreferenceThemeTest.java
rename to tests/legacy_unit/src/com/android/settings/dashboard/PreferenceThemeTest.java
diff --git a/tests/unit/src/com/android/settings/dashboard/UiBlockerControllerTest.java b/tests/legacy_unit/src/com/android/settings/dashboard/UiBlockerControllerTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/dashboard/UiBlockerControllerTest.java
rename to tests/legacy_unit/src/com/android/settings/dashboard/UiBlockerControllerTest.java
diff --git a/tests/unit/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java b/tests/legacy_unit/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
rename to tests/legacy_unit/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
diff --git a/tests/unit/src/com/android/settings/display/NightDisplaySettingsActivityTest.java b/tests/legacy_unit/src/com/android/settings/display/NightDisplaySettingsActivityTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/display/NightDisplaySettingsActivityTest.java
rename to tests/legacy_unit/src/com/android/settings/display/NightDisplaySettingsActivityTest.java
diff --git a/tests/unit/src/com/android/settings/display/ThemePreferenceControllerTest.java b/tests/legacy_unit/src/com/android/settings/display/ThemePreferenceControllerTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/display/ThemePreferenceControllerTest.java
rename to tests/legacy_unit/src/com/android/settings/display/ThemePreferenceControllerTest.java
diff --git a/tests/unit/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java b/tests/legacy_unit/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
rename to tests/legacy_unit/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
diff --git a/tests/unit/src/com/android/settings/notification/AppBubbleNotificationSettingsTest.java b/tests/legacy_unit/src/com/android/settings/notification/AppBubbleNotificationSettingsTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/notification/AppBubbleNotificationSettingsTest.java
rename to tests/legacy_unit/src/com/android/settings/notification/AppBubbleNotificationSettingsTest.java
diff --git a/tests/unit/src/com/android/settings/notification/ChannelNotificationSettingsTest.java b/tests/legacy_unit/src/com/android/settings/notification/ChannelNotificationSettingsTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/notification/ChannelNotificationSettingsTest.java
rename to tests/legacy_unit/src/com/android/settings/notification/ChannelNotificationSettingsTest.java
diff --git a/tests/unit/src/com/android/settings/notification/OWNERS b/tests/legacy_unit/src/com/android/settings/notification/OWNERS
similarity index 100%
rename from tests/unit/src/com/android/settings/notification/OWNERS
rename to tests/legacy_unit/src/com/android/settings/notification/OWNERS
diff --git a/tests/unit/src/com/android/settings/notification/app/ChannelListPreferenceControllerTest.java b/tests/legacy_unit/src/com/android/settings/notification/app/ChannelListPreferenceControllerTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/notification/app/ChannelListPreferenceControllerTest.java
rename to tests/legacy_unit/src/com/android/settings/notification/app/ChannelListPreferenceControllerTest.java
diff --git a/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java b/tests/legacy_unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
rename to tests/legacy_unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
diff --git a/tests/unit/src/com/android/settings/print/PrintJobSettingsActivityTest.java b/tests/legacy_unit/src/com/android/settings/print/PrintJobSettingsActivityTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/print/PrintJobSettingsActivityTest.java
rename to tests/legacy_unit/src/com/android/settings/print/PrintJobSettingsActivityTest.java
diff --git a/tests/unit/src/com/android/settings/search/SearchIndexablesContractTest.java b/tests/legacy_unit/src/com/android/settings/search/SearchIndexablesContractTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/search/SearchIndexablesContractTest.java
rename to tests/legacy_unit/src/com/android/settings/search/SearchIndexablesContractTest.java
diff --git a/tests/unit/src/com/android/settings/search/SearchResultTrampolineTest.java b/tests/legacy_unit/src/com/android/settings/search/SearchResultTrampolineTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/search/SearchResultTrampolineTest.java
rename to tests/legacy_unit/src/com/android/settings/search/SearchResultTrampolineTest.java
diff --git a/tests/unit/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java b/tests/legacy_unit/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
rename to tests/legacy_unit/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
diff --git a/tests/unit/src/com/android/settings/sim/OWNERS b/tests/legacy_unit/src/com/android/settings/sim/OWNERS
similarity index 100%
rename from tests/unit/src/com/android/settings/sim/OWNERS
rename to tests/legacy_unit/src/com/android/settings/sim/OWNERS
diff --git a/tests/unit/src/com/android/settings/tests/BluetoothRequestPermissionTest.java b/tests/legacy_unit/src/com/android/settings/tests/BluetoothRequestPermissionTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/tests/BluetoothRequestPermissionTest.java
rename to tests/legacy_unit/src/com/android/settings/tests/BluetoothRequestPermissionTest.java
diff --git a/tests/unit/src/com/android/settings/tests/Manufacturer.java b/tests/legacy_unit/src/com/android/settings/tests/Manufacturer.java
similarity index 100%
rename from tests/unit/src/com/android/settings/tests/Manufacturer.java
rename to tests/legacy_unit/src/com/android/settings/tests/Manufacturer.java
diff --git a/tests/unit/src/com/android/settings/tests/Operator.java b/tests/legacy_unit/src/com/android/settings/tests/Operator.java
similarity index 100%
rename from tests/unit/src/com/android/settings/tests/Operator.java
rename to tests/legacy_unit/src/com/android/settings/tests/Operator.java
diff --git a/tests/unit/src/com/android/settings/utils/FileSizeFormatterTest.java b/tests/legacy_unit/src/com/android/settings/utils/FileSizeFormatterTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/utils/FileSizeFormatterTest.java
rename to tests/legacy_unit/src/com/android/settings/utils/FileSizeFormatterTest.java
diff --git a/tests/unit/src/com/android/settings/utils/MockedServiceManager.java b/tests/legacy_unit/src/com/android/settings/utils/MockedServiceManager.java
similarity index 100%
rename from tests/unit/src/com/android/settings/utils/MockedServiceManager.java
rename to tests/legacy_unit/src/com/android/settings/utils/MockedServiceManager.java
diff --git a/tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java b/tests/legacy_unit/src/com/android/settings/vpn2/AppSettingsTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java
rename to tests/legacy_unit/src/com/android/settings/vpn2/AppSettingsTest.java
diff --git a/tests/unit/src/com/android/settings/vpn2/PreferenceListTest.java b/tests/legacy_unit/src/com/android/settings/vpn2/PreferenceListTest.java
similarity index 100%
rename from tests/unit/src/com/android/settings/vpn2/PreferenceListTest.java
rename to tests/legacy_unit/src/com/android/settings/vpn2/PreferenceListTest.java
diff --git a/tests/unit/src/com/android/settings/wifi/calling/OWNERS b/tests/legacy_unit/src/com/android/settings/wifi/calling/OWNERS
similarity index 100%
rename from tests/unit/src/com/android/settings/wifi/calling/OWNERS
rename to tests/legacy_unit/src/com/android/settings/wifi/calling/OWNERS
diff --git a/tests/robotests/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceControllerTest.java
index 8fe8e19..1cd5fb1 100644
--- a/tests/robotests/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceControllerTest.java
@@ -19,8 +19,10 @@
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
+import android.util.FeatureFlagUtils;
import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
import com.android.settings.testutils.shadow.ShadowAuthenticationHelper;
import org.junit.After;
@@ -51,6 +53,10 @@
@After
public void tearDown() {
ShadowAuthenticationHelper.reset();
+
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, false);
+ }
}
@Test
@@ -76,4 +82,11 @@
// should only show the 2 accounts with labels
assertThat(mController.getSummary()).isEqualTo(LABELS[0] + " and " + LABELS[1]);
}
+
+ @Test
+ public void getSummary_silkyHomeEnabled_shouldBeNull() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+
+ assertThat(mController.getSummary()).isNull();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java
index 14fe4bd..232bc16 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java
@@ -22,9 +22,12 @@
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
+import android.util.FeatureFlagUtils;
import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -46,6 +49,13 @@
mController = new TopLevelConnectedDevicesPreferenceController(mContext, "test_key");
}
+ @After
+ public void tearDown() {
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, false);
+ }
+ }
+
@Test
public void getAvailibilityStatus_availableByDefault() {
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
@@ -64,6 +74,13 @@
.isEqualTo(mContext.getText(R.string.settings_label_launcher));
}
+ @Test
+ public void getSummary_silkyHomeEnabled_shouldBeNull() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+
+ assertThat(mController.getSummary()).isNull();
+ }
+
@Implements(AdvancedConnectedDeviceController.class)
private static class ShadowAdvancedConnectedDeviceController {
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
index 5bc07da..36bc376 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
@@ -55,6 +55,7 @@
import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
+import android.util.FeatureFlagUtils;
import android.util.Pair;
import androidx.fragment.app.FragmentActivity;
@@ -65,6 +66,7 @@
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
+import com.android.settings.core.FeatureFlags;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowTileUtils;
import com.android.settings.testutils.shadow.ShadowUserManager;
@@ -75,6 +77,7 @@
import com.android.settingslib.drawer.Tile;
import com.android.settingslib.drawer.TileUtils;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -146,6 +149,13 @@
mImpl = new DashboardFeatureProviderImpl(mContext);
}
+ @After
+ public void tearDown() {
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, false);
+ }
+ }
+
@Test
public void shouldHoldAppContext() {
assertThat(mImpl.mContext).isEqualTo(mContext.getApplicationContext());
@@ -670,4 +680,31 @@
assertThat(argument.getValue().getIdentifier()).isEqualTo(0);
verify(mActivity, never()).getSupportFragmentManager();
}
+
+ @Test
+ public void bindPreference_silkyHomeEnabled_shouldNotBindHomepageTileSummary() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+ final Preference preference = new Preference(RuntimeEnvironment.application);
+ final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+
+ mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+ MetricsEvent.VIEW_UNKNOWN, preference, tile, null /*key */,
+ Preference.DEFAULT_ORDER);
+
+ assertThat(preference.getSummary()).isNull();
+ }
+
+ @Test
+ public void bindPreference_silkyHomeEnabled_shouldBindSubpageTileSummary() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+ final Preference preference = new Preference(RuntimeEnvironment.application);
+ final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_SYSTEM);
+
+ mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+ MetricsEvent.VIEW_UNKNOWN, preference, tile, null /*key */,
+ Preference.DEFAULT_ORDER);
+
+ assertThat(preference.getSummary()).isEqualTo(
+ mContext.getText(R.string.about_settings_summary));
+ }
}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java
index 7d7be6c..e19066a 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java
@@ -28,12 +28,15 @@
import android.icu.text.NumberFormat;
import android.os.storage.VolumeInfo;
import android.text.format.Formatter;
+import android.util.FeatureFlagUtils;
import androidx.preference.Preference;
import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -68,6 +71,13 @@
mController = new TopLevelStoragePreferenceController(mContext, "test_key");
}
+ @After
+ public void tearDown() {
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, false);
+ }
+ }
+
@Test
public void updateSummary_shouldDisplayUsedPercentAndFreeSpace() throws Exception {
final VolumeInfo volumeInfo = mVolumes.get(0);
@@ -90,4 +100,11 @@
assertThat(preference.getSummary()).isEqualTo(
mContext.getString(R.string.storage_summary, percentage, freeSpace));
}
+
+ @Test
+ public void refreshSummary_silkyHomeEnabled_shouldBeNull() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+
+ assertThat(mController.getSummary()).isNull();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/aboutphone/TopLevelAboutDevicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/aboutphone/TopLevelAboutDevicePreferenceControllerTest.java
index 988a94b..16c77a4 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/aboutphone/TopLevelAboutDevicePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/aboutphone/TopLevelAboutDevicePreferenceControllerTest.java
@@ -23,7 +23,11 @@
import android.content.Context;
import android.os.Build;
import android.provider.Settings.Global;
+import android.util.FeatureFlagUtils;
+import com.android.settings.core.FeatureFlags;
+
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -42,6 +46,13 @@
mController = new TopLevelAboutDevicePreferenceController(mContext, "test_key");
}
+ @After
+ public void teardown() {
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, false);
+ }
+ }
+
@Test
public void getAvailabilityState_shouldBeAvailable() {
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
@@ -57,4 +68,12 @@
Global.putString(mContext.getContentResolver(), Global.DEVICE_NAME, "Test");
assertThat(mController.getSummary().toString()).isEqualTo("Test");
}
+
+ @Test
+ public void getSummary_silkyHomeEnabled_shouldBeNull() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+ Global.putString(mContext.getContentResolver(), Global.DEVICE_NAME, "Test");
+
+ assertThat(mController.getSummary()).isNull();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java
index d16a6d2..a52ad71 100644
--- a/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java
@@ -31,9 +31,12 @@
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.util.FeatureFlagUtils;
import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -65,6 +68,13 @@
mController = new TopLevelDisplayPreferenceController(mContext, "test_key");
}
+ @After
+ public void tearDown() {
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, false);
+ }
+ }
+
@Test
public void getAvailibilityStatus_availableByDefault() {
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
@@ -109,4 +119,11 @@
assertThat(mController.getSummary())
.isEqualTo(mContext.getText(R.string.display_dashboard_nowallpaper_summary));
}
+
+ @Test
+ public void getSummary_silkyHomeEnabled_shouldBeNull() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+
+ assertThat(mController.getSummary()).isNull();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
index 3775802..b356143 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
@@ -23,7 +23,11 @@
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
+import android.util.FeatureFlagUtils;
+import com.android.settings.core.FeatureFlags;
+
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -42,6 +46,13 @@
mController = new TopLevelBatteryPreferenceController(mContext, "test_key");
}
+ @After
+ public void tearDown() {
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, false);
+ }
+ }
+
@Test
public void getAvailibilityStatus_availableByDefault() {
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
@@ -66,4 +77,11 @@
info.chargeLabel = "5% - charging";
assertThat(getDashboardLabel(mContext, info)).isEqualTo("5% - charging");
}
+
+ @Test
+ public void getSummary_silkyHomeEnabled_shouldBeNull() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+
+ assertThat(mController.getSummary()).isNull();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/location/TopLevelLocationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/TopLevelLocationPreferenceControllerTest.java
index 68e7f88..2fa7413 100644
--- a/tests/robotests/src/com/android/settings/location/TopLevelLocationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/TopLevelLocationPreferenceControllerTest.java
@@ -20,9 +20,12 @@
import android.content.Context;
import android.location.LocationManager;
+import android.util.FeatureFlagUtils;
import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -43,6 +46,13 @@
mLocationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
}
+ @After
+ public void tearDown() {
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, false);
+ }
+ }
+
@Test
public void isAvailable_byDefault_shouldReturnTrue() {
assertThat(mController.isAvailable()).isTrue();
@@ -83,4 +93,11 @@
R.plurals.location_settings_summary_location_on,
LOCATION_APP_COUNT, LOCATION_APP_COUNT));
}
+
+ @Test
+ public void getSummary_silkyHomeEnabled_shouldBeNull() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+
+ assertThat(mController.getSummary()).isNull();
+ }
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/network/TopLevelNetworkEntryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/TopLevelNetworkEntryPreferenceControllerTest.java
index a3f0c90..857b3eb 100644
--- a/tests/robotests/src/com/android/settings/network/TopLevelNetworkEntryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/TopLevelNetworkEntryPreferenceControllerTest.java
@@ -24,7 +24,9 @@
import android.content.Context;
import android.os.UserManager;
+import android.util.FeatureFlagUtils;
+import com.android.settings.core.FeatureFlags;
import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
import com.android.settings.testutils.shadow.ShadowUtils;
import com.android.settings.wifi.WifiPrimarySwitchPreferenceController;
@@ -77,6 +79,10 @@
@After
public void tearDown() {
ShadowUtils.reset();
+
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, false);
+ }
}
@Test
@@ -103,4 +109,11 @@
assertThat(mController.getSummary()).isEqualTo("Wi\u2011Fi and data usage");
}
+
+ @Test
+ public void getSummary_silkyHomeEnabled_shouldBeNull() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+
+ assertThat(mController.getSummary()).isNull();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
index e38bd62..e519b9a 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
@@ -222,6 +222,28 @@
}
@Test
+ public void updateState_NrEnableBoolFalse_5gOptionHidden() {
+ mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA);
+ mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+ mPersistableBundle.putBoolean(CarrierConfigManager.KEY_NR_ENABLED_BOOL, false);
+
+ mController.init(mLifecycle, SUB_ID);
+ Settings.Global.putInt(mContext.getContentResolver(),
+ Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
+ TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA);
+
+ mController.updateState(mPreference);
+
+ assertThat(mPreference.getValue()).isEqualTo(
+ String.valueOf(
+ TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+ assertThat(mPreference.getEntryValues())
+ .asList()
+ .doesNotContain(
+ String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA));
+ }
+
+ @Test
public void updateState_GlobalDisAllowed5g_GlobalWithoutNR() {
mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
@@ -393,6 +415,11 @@
} else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA) {
mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true);
+ } else if (networkMode
+ == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA) {
+ mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
+ mPersistableBundle.putBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL, true);
+ mPersistableBundle.putBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL, true);
}
}
@@ -407,6 +434,6 @@
}
private void mockPhoneType(int phoneType) {
- doReturn(TelephonyManager.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
+ doReturn(phoneType).when(mTelephonyManager).getPhoneType();
}
}
diff --git a/tests/robotests/src/com/android/settings/security/TopLevelSecurityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/TopLevelSecurityEntryPreferenceControllerTest.java
similarity index 87%
rename from tests/robotests/src/com/android/settings/security/TopLevelSecurityPreferenceControllerTest.java
rename to tests/robotests/src/com/android/settings/security/TopLevelSecurityEntryPreferenceControllerTest.java
index 4e18a3e..33d22d4 100644
--- a/tests/robotests/src/com/android/settings/security/TopLevelSecurityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/TopLevelSecurityEntryPreferenceControllerTest.java
@@ -16,6 +16,8 @@
package com.android.settings.security;
+import static com.google.common.truth.Truth.assertThat;
+
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -23,9 +25,12 @@
import android.content.pm.PackageManager;
import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager;
+import android.util.FeatureFlagUtils;
import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -35,7 +40,7 @@
import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
-public class TopLevelSecurityPreferenceControllerTest {
+public class TopLevelSecurityEntryPreferenceControllerTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
@@ -55,6 +60,13 @@
mController = new TopLevelSecurityEntryPreferenceController(mContext, "test_key");
}
+ @After
+ public void tearDown() {
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SILKY_HOME)) {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, false);
+ }
+ }
+
@Test
public void geSummary_hasFace_hasStaticSummary() {
when(mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FACE))
@@ -128,4 +140,11 @@
verify(mContext).getText(R.string.security_dashboard_summary_no_fingerprint);
}
+
+ @Test
+ public void getSummary_silkyHomeEnabled_shouldBeNull() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+
+ assertThat(mController.getSummary()).isNull();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
index 4b1a8ca..e0fb578 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
@@ -24,6 +24,7 @@
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -32,14 +33,25 @@
import android.view.MenuInflater;
import android.view.MenuItem;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.AbstractPreferenceController;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.ArrayList;
@RunWith(RobolectricTestRunner.class)
public class WifiNetworkDetailsFragment2Test {
+ final String TEST_PREFERENCE_KEY = "TEST_PREFERENCE_KEY";
+
private WifiNetworkDetailsFragment2 mFragment;
@Before
@@ -73,4 +85,44 @@
verify(menuItem).setIcon(com.android.internal.R.drawable.ic_mode_edit);
}
+
+ @Test
+ public void refreshPreferences_controllerShouldUpdateStateAndDisplayPreference() {
+ final FakeFragment fragment = spy(new FakeFragment());
+ final PreferenceScreen screen = mock(PreferenceScreen.class);
+ final Preference preference = mock(Preference.class);
+ final TestController controller = mock(TestController.class);
+ doReturn(screen).when(fragment).getPreferenceScreen();
+ doReturn(preference).when(screen).findPreference(TEST_PREFERENCE_KEY);
+ doReturn(TEST_PREFERENCE_KEY).when(controller).getPreferenceKey();
+ fragment.mControllers = new ArrayList<>();
+ fragment.mControllers.add(controller);
+ fragment.addPreferenceController(controller);
+
+ fragment.refreshPreferences();
+
+ verify(controller).updateState(preference);
+ verify(controller).displayPreference(screen);
+ }
+
+ // Fake WifiNetworkDetailsFragment2 to override the protected method as public.
+ public class FakeFragment extends WifiNetworkDetailsFragment2 {
+
+ @Override
+ public void addPreferenceController(AbstractPreferenceController controller) {
+ super.addPreferenceController(controller);
+ }
+ }
+
+ public class TestController extends BasePreferenceController {
+
+ public TestController() {
+ super(RuntimeEnvironment.application, TEST_PREFERENCE_KEY);
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return AVAILABLE;
+ }
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
index 0414b1c..d3244fa 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
@@ -89,7 +89,15 @@
}
@Test
- public void testUpdateState_canSetPrivacy_shouldBeSelectable() {
+ public void testUpdateState_canSetPrivacyInNextUpdate_shouldBeSelectable() {
+ // Return false in WifiEntry#canSetPrivacy to make preference un-selectable first.
+ when(mMockWifiEntry.canSetPrivacy()).thenReturn(false);
+
+ mPreferenceController.updateState(mDropDownPreference);
+
+ assertThat(mDropDownPreference.isSelectable()).isFalse();
+
+ // Return true in WifiEntry#canSetPrivacy to verify preference back to selectable.
when(mMockWifiEntry.canSetPrivacy()).thenReturn(true);
mPreferenceController.updateState(mDropDownPreference);
@@ -98,7 +106,15 @@
}
@Test
- public void testUpdateState_canNotSetPrivacy_shouldNotSelectable() {
+ public void testUpdateState_canNotSetPrivacyInNextUpdate_shouldNotBeSelectable() {
+ // Return true in WifiEntry#canSetPrivacy to make preference selectable first.
+ when(mMockWifiEntry.canSetPrivacy()).thenReturn(true);
+
+ mPreferenceController.updateState(mDropDownPreference);
+
+ assertThat(mDropDownPreference.isSelectable()).isTrue();
+
+ // Return false in WifiEntry#canSetPrivacy to verify preference back to un-selectable.
when(mMockWifiEntry.canSetPrivacy()).thenReturn(false);
mPreferenceController.updateState(mDropDownPreference);
diff --git a/tests/unit/AndroidTest.xml b/tests/unit/AndroidTest.xml
index 9ce7657..b9321a3 100644
--- a/tests/unit/AndroidTest.xml
+++ b/tests/unit/AndroidTest.xml
@@ -19,7 +19,6 @@
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
<option name="cleanup-apks" value="true" />
<option name="test-file-name" value="SettingsUnitTests.apk" />
- <option name="test-file-name" value="InstrumentedEntitlementApp.apk" />
</target_preparer>
<option name="test-tag" value="SettingsUnitTests" />
diff --git a/tests/unit/README b/tests/unit/README
index f5fdea0..5a85603 100644
--- a/tests/unit/README
+++ b/tests/unit/README
@@ -1,3 +1,11 @@
+The simplest way to run all SettingsUnitTests is with atest
+$ atest SettingsUnitTests
+
+A single class can also be tested with the following command
+$ atest -c <YourClassName>
+
+// The following instrutions show how to run the test suite using make + adb //
+
To build the tests you can use the following command at the root of your android source tree
$ make SettingsUnitTests