From 3810036691fa25ef39021e8d244c13d54a892a91 Mon Sep 17 00:00:00 2001 From: Joe LaPenna Date: Thu, 25 Jan 2018 10:20:53 -0800 Subject: [PATCH] Always show wifi wake setting. Remove WIFI_WAKEUP_AVAILABLE config setting its available by default. Remove check for NETWORK_RECOMMENDATIONS_ENABLED, the feature no longer uses the recommender. Test: make RunSettingsRoboTests RunSettingsLibRoboTests; Test: atest SettingsBackupTest; manual/exploratory Bug: 69624403 Bug: 67952636 Change-Id: Ia65f7f9349e77a13ad4af1dbd992b28a5cb16368 --- .../settings/wifi/ConfigureWifiSettings.java | 8 +-- .../android/settings/wifi/WifiSettings.java | 17 ++--- .../wifi/WifiWakeupPreferenceController.java | 71 ++----------------- .../WifiWakeupPreferenceControllerTest.java | 34 +-------- 4 files changed, 14 insertions(+), 116 deletions(-) diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java index 3cd925e7d77..b359bf35f0d 100644 --- a/src/com/android/settings/wifi/ConfigureWifiSettings.java +++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java @@ -63,10 +63,7 @@ public class ConfigureWifiSettings extends DashboardFragment { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); - int tileLimit = 1; - if (mWifiWakeupPreferenceController.isAvailable()) { - tileLimit++; - } + int tileLimit = 2; if (mUseOpenWifiPreferenceController.isAvailable()) { tileLimit++; } @@ -82,8 +79,7 @@ public class ConfigureWifiSettings extends DashboardFragment { protected List getPreferenceControllers(Context context) { final NetworkScoreManagerWrapper networkScoreManagerWrapper = new NetworkScoreManagerWrapper(context.getSystemService(NetworkScoreManager.class)); - mWifiWakeupPreferenceController = new WifiWakeupPreferenceController( - context, getLifecycle()); + mWifiWakeupPreferenceController = new WifiWakeupPreferenceController(context); mUseOpenWifiPreferenceController = new UseOpenWifiPreferenceController(context, this, networkScoreManagerWrapper, getLifecycle()); final WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index e32bef469f7..22f8c43f237 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -911,17 +911,10 @@ public class WifiSettings extends RestrictedSettingsFragment private void setAdditionalSettingsSummaries() { mAdditionalSettingsPreferenceCategory.addPreference(mConfigureWifiSettingsPreference); - final int defaultWakeupAvailable = getResources().getInteger( - com.android.internal.R.integer.config_wifi_wakeup_available); - boolean wifiWakeupAvailable = Settings.Global.getInt( - getContentResolver(), Settings.Global.WIFI_WAKEUP_AVAILABLE, defaultWakeupAvailable) - == 1; - if (wifiWakeupAvailable) { - mConfigureWifiSettingsPreference.setSummary(getString( - isWifiWakeupEnabled() - ? R.string.wifi_configure_settings_preference_summary_wakeup_on - : R.string.wifi_configure_settings_preference_summary_wakeup_off)); - } + mConfigureWifiSettingsPreference.setSummary(getString( + isWifiWakeupEnabled() + ? R.string.wifi_configure_settings_preference_summary_wakeup_on + : R.string.wifi_configure_settings_preference_summary_wakeup_off)); int numSavedNetworks = mWifiTracker.getNumSavedNetworks(); if (numSavedNetworks > 0) { mAdditionalSettingsPreferenceCategory.addPreference(mSavedNetworksPreference); @@ -942,8 +935,6 @@ public class WifiSettings extends RestrictedSettingsFragment Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1 && Settings.Global.getInt(contentResolver, Settings.Global.AIRPLANE_MODE_ON, 0) == 0 - && Settings.Global.getInt(contentResolver, - Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0) == 1 && !powerManager.isPowerSaveMode(); } diff --git a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java index a3170c09cbc..bc9f2a04d2a 100644 --- a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java +++ b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java @@ -31,52 +31,28 @@ import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.wrapper.NetworkScoreManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; -import com.android.settingslib.core.lifecycle.Lifecycle; -import com.android.settingslib.core.lifecycle.LifecycleObserver; -import com.android.settingslib.core.lifecycle.events.OnPause; -import com.android.settingslib.core.lifecycle.events.OnResume; /** * {@link PreferenceControllerMixin} that controls whether the Wi-Fi Wakeup feature should be * enabled. */ public class WifiWakeupPreferenceController extends AbstractPreferenceController - implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause { + implements PreferenceControllerMixin { private static final String KEY_ENABLE_WIFI_WAKEUP = "enable_wifi_wakeup"; - private SettingObserver mSettingObserver; - public WifiWakeupPreferenceController(Context context, Lifecycle lifecycle) { + public WifiWakeupPreferenceController(Context context) { super(context); - lifecycle.addObserver(this); } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); - mSettingObserver = new SettingObserver(screen.findPreference(KEY_ENABLE_WIFI_WAKEUP)); - } - - @Override - public void onResume() { - if (mSettingObserver != null) { - mSettingObserver.register(mContext.getContentResolver(), true /* register */); - } - } - - @Override - public void onPause() { - if (mSettingObserver != null) { - mSettingObserver.register(mContext.getContentResolver(), false /* register */); - } } @Override public boolean isAvailable() { - final int defaultValue = mContext.getResources().getInteger( - com.android.internal.R.integer.config_wifi_wakeup_available); - return Settings.Global.getInt(mContext.getContentResolver(), - Settings.Global.WIFI_WAKEUP_AVAILABLE, defaultValue) == 1; + return true; } @Override @@ -110,45 +86,12 @@ public class WifiWakeupPreferenceController extends AbstractPreferenceController boolean wifiScanningEnabled = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1; - boolean networkRecommendationsEnabled = Settings.Global.getInt( - mContext.getContentResolver(), - Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0) == 1; - enableWifiWakeup.setEnabled(networkRecommendationsEnabled && wifiScanningEnabled); + enableWifiWakeup.setEnabled(wifiScanningEnabled); - if (!networkRecommendationsEnabled) { - enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary_scoring_disabled); - } else if (!wifiScanningEnabled) { - enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary_scanning_disabled); - } else { + if (wifiScanningEnabled) { enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary); - } - } - - class SettingObserver extends ContentObserver { - private final Uri NETWORK_RECOMMENDATIONS_ENABLED_URI = - Settings.Global.getUriFor(Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED); - - private final Preference mPreference; - - public SettingObserver(Preference preference) { - super(new Handler()); - mPreference = preference; - } - - public void register(ContentResolver cr, boolean register) { - if (register) { - cr.registerContentObserver(NETWORK_RECOMMENDATIONS_ENABLED_URI, false, this); - } else { - cr.unregisterContentObserver(this); - } - } - - @Override - public void onChange(boolean selfChange, Uri uri) { - super.onChange(selfChange, uri); - if (NETWORK_RECOMMENDATIONS_ENABLED_URI.equals(uri)) { - updateState(mPreference); - } + } else { + enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary_scanning_disabled); } } } diff --git a/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java index 29df5397bde..28ab1662d0a 100644 --- a/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java @@ -16,9 +16,7 @@ package com.android.settings.wifi; -import static android.provider.Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED; import static android.provider.Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE; -import static android.provider.Settings.Global.WIFI_WAKEUP_AVAILABLE; import static android.provider.Settings.Global.WIFI_WAKEUP_ENABLED; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.mock; @@ -33,7 +31,6 @@ import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.testutils.shadow.SettingsShadowResources; -import com.android.settingslib.core.lifecycle.Lifecycle; import org.junit.After; import org.junit.Before; @@ -59,12 +56,8 @@ public class WifiWakeupPreferenceControllerTest { public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; - mController = new WifiWakeupPreferenceController( - mContext, mock(Lifecycle.class)); + mController = new WifiWakeupPreferenceController(mContext); Settings.System.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 1); - Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 1); - SettingsShadowResources.overrideResource( - com.android.internal.R.integer.config_wifi_wakeup_available, 0); } @After @@ -72,18 +65,6 @@ public class WifiWakeupPreferenceControllerTest { SettingsShadowResources.reset(); } - @Test - public void testIsAvailable_returnsFalseWhenSettingIsNotAvailable() { - Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_AVAILABLE, 0); - assertThat(mController.isAvailable()).isFalse(); - } - - @Test - public void testIsAvailable_returnsTrueWhenSettingIsAvailable() { - Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_AVAILABLE, 1); - assertThat(mController.isAvailable()).isTrue(); - } - @Test public void handlePreferenceTreeClick_nonMatchingKey_shouldDoNothing() { final SwitchPreference pref = new SwitchPreference(mContext); @@ -146,17 +127,4 @@ public class WifiWakeupPreferenceControllerTest { verify(preference).setEnabled(false); verify(preference).setSummary(R.string.wifi_wakeup_summary_scanning_disabled); } - - @Test - public void updateState_preferenceSetUncheckedAndSetDisabledWhenScoringDisabled() { - final SwitchPreference preference = mock(SwitchPreference.class); - Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); - Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 0); - - mController.updateState(preference); - - verify(preference).setChecked(true); - verify(preference).setEnabled(false); - verify(preference).setSummary(R.string.wifi_wakeup_summary_scoring_disabled); - } }