Loading src/com/android/settings/wifi/ConfigureWifiSettings.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -78,7 +78,7 @@ public class ConfigureWifiSettings extends DashboardFragment { final NetworkScoreManagerWrapper networkScoreManagerWrapper = final NetworkScoreManagerWrapper networkScoreManagerWrapper = new NetworkScoreManagerWrapper(context.getSystemService(NetworkScoreManager.class)); new NetworkScoreManagerWrapper(context.getSystemService(NetworkScoreManager.class)); mWifiWakeupPreferenceController = new WifiWakeupPreferenceController( mWifiWakeupPreferenceController = new WifiWakeupPreferenceController( context, getLifecycle(), networkScoreManagerWrapper); context, getLifecycle()); mUseOpenWifiPreferenceController = new UseOpenWifiPreferenceController(context, this, mUseOpenWifiPreferenceController = new UseOpenWifiPreferenceController(context, this, networkScoreManagerWrapper, getLifecycle()); networkScoreManagerWrapper, getLifecycle()); final WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); final WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); Loading src/com/android/settings/wifi/WifiSettings.java +17 −3 Original line number Original line Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.net.wifi.WpsInfo; import android.nfc.NfcAdapter; import android.nfc.NfcAdapter; import android.os.Bundle; import android.os.Bundle; import android.os.HandlerThread; import android.os.HandlerThread; import android.os.PowerManager; import android.os.Process; import android.os.Process; import android.provider.Settings; import android.provider.Settings; import android.support.annotation.VisibleForTesting; import android.support.annotation.VisibleForTesting; Loading Loading @@ -920,9 +921,8 @@ public class WifiSettings extends RestrictedSettingsFragment getContentResolver(), Settings.Global.WIFI_WAKEUP_AVAILABLE, defaultWakeupAvailable) getContentResolver(), Settings.Global.WIFI_WAKEUP_AVAILABLE, defaultWakeupAvailable) == 1; == 1; if (wifiWakeupAvailable) { if (wifiWakeupAvailable) { boolean wifiWakeupEnabled = Settings.Global.getInt( mConfigureWifiSettingsPreference.setSummary(getString( getContentResolver(), Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1; isWifiWakeupEnabled() mConfigureWifiSettingsPreference.setSummary(getString(wifiWakeupEnabled ? R.string.wifi_configure_settings_preference_summary_wakeup_on ? R.string.wifi_configure_settings_preference_summary_wakeup_on : R.string.wifi_configure_settings_preference_summary_wakeup_off)); : R.string.wifi_configure_settings_preference_summary_wakeup_off)); } } Loading @@ -937,6 +937,20 @@ public class WifiSettings extends RestrictedSettingsFragment } } } } private boolean isWifiWakeupEnabled() { PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); ContentResolver contentResolver = getContentResolver(); return Settings.Global.getInt(contentResolver, Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1 && Settings.Global.getInt(contentResolver, 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(); } private void setOffMessage() { private void setOffMessage() { final CharSequence title = getText(R.string.wifi_empty_list_wifi_off); final CharSequence title = getText(R.string.wifi_empty_list_wifi_off); // Don't use WifiManager.isScanAlwaysAvailable() to check the Wi-Fi scanning mode. Instead, // Don't use WifiManager.isScanAlwaysAvailable() to check the Wi-Fi scanning mode. Instead, Loading src/com/android/settings/wifi/WifiWakeupPreferenceController.java +3 −8 Original line number Original line Diff line number Diff line Loading @@ -44,13 +44,10 @@ public class WifiWakeupPreferenceController extends AbstractPreferenceController implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause { implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause { private static final String KEY_ENABLE_WIFI_WAKEUP = "enable_wifi_wakeup"; private static final String KEY_ENABLE_WIFI_WAKEUP = "enable_wifi_wakeup"; private final NetworkScoreManagerWrapper mNetworkScoreManager; private SettingObserver mSettingObserver; private SettingObserver mSettingObserver; public WifiWakeupPreferenceController( public WifiWakeupPreferenceController(Context context, Lifecycle lifecycle) { Context context, Lifecycle lifecycle, NetworkScoreManagerWrapper networkScoreManager) { super(context); super(context); mNetworkScoreManager = networkScoreManager; lifecycle.addObserver(this); lifecycle.addObserver(this); } } Loading Loading @@ -116,11 +113,9 @@ public class WifiWakeupPreferenceController extends AbstractPreferenceController boolean networkRecommendationsEnabled = Settings.Global.getInt( boolean networkRecommendationsEnabled = Settings.Global.getInt( mContext.getContentResolver(), mContext.getContentResolver(), Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0) == 1; Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0) == 1; boolean activeScorerSet = mNetworkScoreManager.getActiveScorerPackage() != null; enableWifiWakeup.setEnabled(networkRecommendationsEnabled && wifiScanningEnabled); enableWifiWakeup.setEnabled( networkRecommendationsEnabled && wifiScanningEnabled && activeScorerSet); if (!activeScorerSet) { if (!networkRecommendationsEnabled) { enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary_scoring_disabled); enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary_scoring_disabled); } else if (!wifiScanningEnabled) { } else if (!wifiScanningEnabled) { enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary_scanning_disabled); enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary_scanning_disabled); Loading tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java +6 −12 Original line number Original line Diff line number Diff line Loading @@ -56,8 +56,6 @@ public class WifiWakeupPreferenceControllerTest { private static final String TEST_SCORER_PACKAGE_NAME = "Test Scorer"; private static final String TEST_SCORER_PACKAGE_NAME = "Test Scorer"; private Context mContext; private Context mContext; @Mock private NetworkScoreManagerWrapper mNetworkScorer; private WifiWakeupPreferenceController mController; private WifiWakeupPreferenceController mController; @Before @Before Loading @@ -65,11 +63,11 @@ public class WifiWakeupPreferenceControllerTest { MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mContext = RuntimeEnvironment.application; mController = new WifiWakeupPreferenceController( mController = new WifiWakeupPreferenceController( mContext, mock(Lifecycle.class), mNetworkScorer); mContext, mock(Lifecycle.class)); Settings.System.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 1); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 1); SettingsShadowResources.overrideResource( SettingsShadowResources.overrideResource( com.android.internal.R.integer.config_wifi_wakeup_available, 0); com.android.internal.R.integer.config_wifi_wakeup_available, 0); when(mNetworkScorer.getActiveScorerPackage()).thenReturn(TEST_SCORER_PACKAGE_NAME); } } @After @After Loading Loading @@ -116,9 +114,8 @@ public class WifiWakeupPreferenceControllerTest { } } @Test @Test public void updateState_preferenceSetCheckedAndSetEnabledWhenSettingsAreEnabled() { public void updateState_preferenceSetCheckedAndSetEnabledWhenWakeupSettingEnabled() { final SwitchPreference preference = mock(SwitchPreference.class); final SwitchPreference preference = mock(SwitchPreference.class); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); mController.updateState(preference); mController.updateState(preference); Loading @@ -129,22 +126,20 @@ public class WifiWakeupPreferenceControllerTest { } } @Test @Test public void updateState_preferenceSetCheckedAndSetEnabledWhenSettingsAreDisabled() { public void updateState_preferenceSetUncheckedAndSetEnabledWhenWakeupSettingDisabled() { final SwitchPreference preference = mock(SwitchPreference.class); final SwitchPreference preference = mock(SwitchPreference.class); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 0); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 0); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 0); mController.updateState(preference); mController.updateState(preference); verify(preference).setChecked(false); verify(preference).setChecked(false); verify(preference).setEnabled(false); verify(preference).setEnabled(true); verify(preference).setSummary(R.string.wifi_wakeup_summary); verify(preference).setSummary(R.string.wifi_wakeup_summary); } } @Test @Test public void updateState_preferenceSetUncheckedAndSetDisabledWhenWifiScanningDisabled() { public void updateState_preferenceSetUncheckedAndSetDisabledWhenWifiScanningDisabled() { final SwitchPreference preference = mock(SwitchPreference.class); final SwitchPreference preference = mock(SwitchPreference.class); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 0); Settings.System.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 0); Loading @@ -158,9 +153,8 @@ public class WifiWakeupPreferenceControllerTest { @Test @Test public void updateState_preferenceSetUncheckedAndSetDisabledWhenScoringDisabled() { public void updateState_preferenceSetUncheckedAndSetDisabledWhenScoringDisabled() { final SwitchPreference preference = mock(SwitchPreference.class); final SwitchPreference preference = mock(SwitchPreference.class); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); when(mNetworkScorer.getActiveScorerPackage()).thenReturn(null); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 0); mController.updateState(preference); mController.updateState(preference); Loading Loading
src/com/android/settings/wifi/ConfigureWifiSettings.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -78,7 +78,7 @@ public class ConfigureWifiSettings extends DashboardFragment { final NetworkScoreManagerWrapper networkScoreManagerWrapper = final NetworkScoreManagerWrapper networkScoreManagerWrapper = new NetworkScoreManagerWrapper(context.getSystemService(NetworkScoreManager.class)); new NetworkScoreManagerWrapper(context.getSystemService(NetworkScoreManager.class)); mWifiWakeupPreferenceController = new WifiWakeupPreferenceController( mWifiWakeupPreferenceController = new WifiWakeupPreferenceController( context, getLifecycle(), networkScoreManagerWrapper); context, getLifecycle()); mUseOpenWifiPreferenceController = new UseOpenWifiPreferenceController(context, this, mUseOpenWifiPreferenceController = new UseOpenWifiPreferenceController(context, this, networkScoreManagerWrapper, getLifecycle()); networkScoreManagerWrapper, getLifecycle()); final WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); final WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); Loading
src/com/android/settings/wifi/WifiSettings.java +17 −3 Original line number Original line Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.net.wifi.WpsInfo; import android.nfc.NfcAdapter; import android.nfc.NfcAdapter; import android.os.Bundle; import android.os.Bundle; import android.os.HandlerThread; import android.os.HandlerThread; import android.os.PowerManager; import android.os.Process; import android.os.Process; import android.provider.Settings; import android.provider.Settings; import android.support.annotation.VisibleForTesting; import android.support.annotation.VisibleForTesting; Loading Loading @@ -920,9 +921,8 @@ public class WifiSettings extends RestrictedSettingsFragment getContentResolver(), Settings.Global.WIFI_WAKEUP_AVAILABLE, defaultWakeupAvailable) getContentResolver(), Settings.Global.WIFI_WAKEUP_AVAILABLE, defaultWakeupAvailable) == 1; == 1; if (wifiWakeupAvailable) { if (wifiWakeupAvailable) { boolean wifiWakeupEnabled = Settings.Global.getInt( mConfigureWifiSettingsPreference.setSummary(getString( getContentResolver(), Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1; isWifiWakeupEnabled() mConfigureWifiSettingsPreference.setSummary(getString(wifiWakeupEnabled ? R.string.wifi_configure_settings_preference_summary_wakeup_on ? R.string.wifi_configure_settings_preference_summary_wakeup_on : R.string.wifi_configure_settings_preference_summary_wakeup_off)); : R.string.wifi_configure_settings_preference_summary_wakeup_off)); } } Loading @@ -937,6 +937,20 @@ public class WifiSettings extends RestrictedSettingsFragment } } } } private boolean isWifiWakeupEnabled() { PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); ContentResolver contentResolver = getContentResolver(); return Settings.Global.getInt(contentResolver, Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1 && Settings.Global.getInt(contentResolver, 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(); } private void setOffMessage() { private void setOffMessage() { final CharSequence title = getText(R.string.wifi_empty_list_wifi_off); final CharSequence title = getText(R.string.wifi_empty_list_wifi_off); // Don't use WifiManager.isScanAlwaysAvailable() to check the Wi-Fi scanning mode. Instead, // Don't use WifiManager.isScanAlwaysAvailable() to check the Wi-Fi scanning mode. Instead, Loading
src/com/android/settings/wifi/WifiWakeupPreferenceController.java +3 −8 Original line number Original line Diff line number Diff line Loading @@ -44,13 +44,10 @@ public class WifiWakeupPreferenceController extends AbstractPreferenceController implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause { implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause { private static final String KEY_ENABLE_WIFI_WAKEUP = "enable_wifi_wakeup"; private static final String KEY_ENABLE_WIFI_WAKEUP = "enable_wifi_wakeup"; private final NetworkScoreManagerWrapper mNetworkScoreManager; private SettingObserver mSettingObserver; private SettingObserver mSettingObserver; public WifiWakeupPreferenceController( public WifiWakeupPreferenceController(Context context, Lifecycle lifecycle) { Context context, Lifecycle lifecycle, NetworkScoreManagerWrapper networkScoreManager) { super(context); super(context); mNetworkScoreManager = networkScoreManager; lifecycle.addObserver(this); lifecycle.addObserver(this); } } Loading Loading @@ -116,11 +113,9 @@ public class WifiWakeupPreferenceController extends AbstractPreferenceController boolean networkRecommendationsEnabled = Settings.Global.getInt( boolean networkRecommendationsEnabled = Settings.Global.getInt( mContext.getContentResolver(), mContext.getContentResolver(), Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0) == 1; Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0) == 1; boolean activeScorerSet = mNetworkScoreManager.getActiveScorerPackage() != null; enableWifiWakeup.setEnabled(networkRecommendationsEnabled && wifiScanningEnabled); enableWifiWakeup.setEnabled( networkRecommendationsEnabled && wifiScanningEnabled && activeScorerSet); if (!activeScorerSet) { if (!networkRecommendationsEnabled) { enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary_scoring_disabled); enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary_scoring_disabled); } else if (!wifiScanningEnabled) { } else if (!wifiScanningEnabled) { enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary_scanning_disabled); enableWifiWakeup.setSummary(R.string.wifi_wakeup_summary_scanning_disabled); Loading
tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java +6 −12 Original line number Original line Diff line number Diff line Loading @@ -56,8 +56,6 @@ public class WifiWakeupPreferenceControllerTest { private static final String TEST_SCORER_PACKAGE_NAME = "Test Scorer"; private static final String TEST_SCORER_PACKAGE_NAME = "Test Scorer"; private Context mContext; private Context mContext; @Mock private NetworkScoreManagerWrapper mNetworkScorer; private WifiWakeupPreferenceController mController; private WifiWakeupPreferenceController mController; @Before @Before Loading @@ -65,11 +63,11 @@ public class WifiWakeupPreferenceControllerTest { MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mContext = RuntimeEnvironment.application; mController = new WifiWakeupPreferenceController( mController = new WifiWakeupPreferenceController( mContext, mock(Lifecycle.class), mNetworkScorer); mContext, mock(Lifecycle.class)); Settings.System.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 1); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 1); SettingsShadowResources.overrideResource( SettingsShadowResources.overrideResource( com.android.internal.R.integer.config_wifi_wakeup_available, 0); com.android.internal.R.integer.config_wifi_wakeup_available, 0); when(mNetworkScorer.getActiveScorerPackage()).thenReturn(TEST_SCORER_PACKAGE_NAME); } } @After @After Loading Loading @@ -116,9 +114,8 @@ public class WifiWakeupPreferenceControllerTest { } } @Test @Test public void updateState_preferenceSetCheckedAndSetEnabledWhenSettingsAreEnabled() { public void updateState_preferenceSetCheckedAndSetEnabledWhenWakeupSettingEnabled() { final SwitchPreference preference = mock(SwitchPreference.class); final SwitchPreference preference = mock(SwitchPreference.class); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); mController.updateState(preference); mController.updateState(preference); Loading @@ -129,22 +126,20 @@ public class WifiWakeupPreferenceControllerTest { } } @Test @Test public void updateState_preferenceSetCheckedAndSetEnabledWhenSettingsAreDisabled() { public void updateState_preferenceSetUncheckedAndSetEnabledWhenWakeupSettingDisabled() { final SwitchPreference preference = mock(SwitchPreference.class); final SwitchPreference preference = mock(SwitchPreference.class); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 0); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 0); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 0); mController.updateState(preference); mController.updateState(preference); verify(preference).setChecked(false); verify(preference).setChecked(false); verify(preference).setEnabled(false); verify(preference).setEnabled(true); verify(preference).setSummary(R.string.wifi_wakeup_summary); verify(preference).setSummary(R.string.wifi_wakeup_summary); } } @Test @Test public void updateState_preferenceSetUncheckedAndSetDisabledWhenWifiScanningDisabled() { public void updateState_preferenceSetUncheckedAndSetDisabledWhenWifiScanningDisabled() { final SwitchPreference preference = mock(SwitchPreference.class); final SwitchPreference preference = mock(SwitchPreference.class); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 0); Settings.System.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 0); Loading @@ -158,9 +153,8 @@ public class WifiWakeupPreferenceControllerTest { @Test @Test public void updateState_preferenceSetUncheckedAndSetDisabledWhenScoringDisabled() { public void updateState_preferenceSetUncheckedAndSetDisabledWhenScoringDisabled() { final SwitchPreference preference = mock(SwitchPreference.class); final SwitchPreference preference = mock(SwitchPreference.class); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1); when(mNetworkScorer.getActiveScorerPackage()).thenReturn(null); Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 0); mController.updateState(preference); mController.updateState(preference); Loading