Merge "Hide toggle to Turn on Wi-Fi automatically preference in Search settings" into tm-qpr-dev am: 06cc4ed4ab
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19816198 Change-Id: I6b16ef9121b890647e1ff49ee6e380b8bbdaa832 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -89,6 +89,13 @@ public class WifiWakeupPreferenceController extends TogglePreferenceController i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
|
// Since mFragment is set only when entering Network preferences settings. So when
|
||||||
|
// mFragment == null, we can assume that the object is created by Search settings.
|
||||||
|
// When Search settings is called, if the dependent condition is not enabled, then
|
||||||
|
// return DISABLED_DEPENDENT_SETTING to hide the toggle.
|
||||||
|
if (mFragment == null && (!getLocationEnabled() || !getWifiScanningEnabled())) {
|
||||||
|
return DISABLED_DEPENDENT_SETTING;
|
||||||
|
}
|
||||||
return AVAILABLE;
|
return AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,17 +103,16 @@ public class WifiWakeupPreferenceController extends TogglePreferenceController i
|
|||||||
public boolean isChecked() {
|
public boolean isChecked() {
|
||||||
return getWifiWakeupEnabled()
|
return getWifiWakeupEnabled()
|
||||||
&& getWifiScanningEnabled()
|
&& getWifiScanningEnabled()
|
||||||
&& mLocationManager.isLocationEnabled();
|
&& getLocationEnabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean setChecked(boolean isChecked) {
|
public boolean setChecked(boolean isChecked) {
|
||||||
if (isChecked) {
|
if (isChecked) {
|
||||||
|
if (!getLocationEnabled()) {
|
||||||
if (mFragment == null) {
|
if (mFragment == null) {
|
||||||
throw new IllegalStateException("No fragment to start activity");
|
throw new IllegalStateException("No fragment to start activity");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mLocationManager.isLocationEnabled()) {
|
|
||||||
final Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
|
final Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
|
||||||
mFragment.startActivityForResult(intent, WIFI_WAKEUP_REQUEST_CODE);
|
mFragment.startActivityForResult(intent, WIFI_WAKEUP_REQUEST_CODE);
|
||||||
return false;
|
return false;
|
||||||
@@ -128,7 +134,7 @@ public class WifiWakeupPreferenceController extends TogglePreferenceController i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CharSequence getSummary() {
|
public CharSequence getSummary() {
|
||||||
if (!mLocationManager.isLocationEnabled()) {
|
if (!getLocationEnabled()) {
|
||||||
return getNoLocationSummary();
|
return getNoLocationSummary();
|
||||||
} else {
|
} else {
|
||||||
return mContext.getText(R.string.wifi_wakeup_summary);
|
return mContext.getText(R.string.wifi_wakeup_summary);
|
||||||
@@ -151,12 +157,16 @@ public class WifiWakeupPreferenceController extends TogglePreferenceController i
|
|||||||
if (requestCode != WIFI_WAKEUP_REQUEST_CODE) {
|
if (requestCode != WIFI_WAKEUP_REQUEST_CODE) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mLocationManager.isLocationEnabled() && getWifiScanningEnabled()) {
|
if (getLocationEnabled() && getWifiScanningEnabled()) {
|
||||||
setWifiWakeupEnabled(true);
|
setWifiWakeupEnabled(true);
|
||||||
updateState(mPreference);
|
updateState(mPreference);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean getLocationEnabled() {
|
||||||
|
return mLocationManager.isLocationEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
private boolean getWifiScanningEnabled() {
|
private boolean getWifiScanningEnabled() {
|
||||||
return mWifiManager.isScanAlwaysAvailable();
|
return mWifiManager.isScanAlwaysAvailable();
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,9 @@
|
|||||||
|
|
||||||
package com.android.settings.wifi;
|
package com.android.settings.wifi;
|
||||||
|
|
||||||
|
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
||||||
|
import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
@@ -68,6 +71,41 @@ public class WifiWakeupPreferenceControllerTest {
|
|||||||
doReturn(true).when(mLocationManager).isLocationEnabled();
|
doReturn(true).when(mLocationManager).isLocationEnabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getAvailabilityStatus_fragmentIsNotNull_returnAvailable() {
|
||||||
|
mController.setFragment(mFragment);
|
||||||
|
|
||||||
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getAvailabilityStatus_fragmentIsNullAndLocationDisabled_returnDisabled() {
|
||||||
|
mController.setFragment(null);
|
||||||
|
when(mLocationManager.isLocationEnabled()).thenReturn(false);
|
||||||
|
|
||||||
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getAvailabilityStatus_fragmentIsNullAndWifiScanDisabled_returnDisabled() {
|
||||||
|
mController.setFragment(null);
|
||||||
|
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
|
||||||
|
|
||||||
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setChecked_mFragmentIsNullLocationEnable_wifiWakeupEnable() {
|
||||||
|
mController.setFragment(null);
|
||||||
|
when(mLocationManager.isLocationEnabled()).thenReturn(true);
|
||||||
|
when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
|
||||||
|
when(mWifiManager.isAutoWakeupEnabled()).thenReturn(false);
|
||||||
|
|
||||||
|
mController.setChecked(true);
|
||||||
|
|
||||||
|
verify(mWifiManager).setAutoWakeupEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void setChecked_scanEnableLocationEnable_wifiWakeupEnable() {
|
public void setChecked_scanEnableLocationEnable_wifiWakeupEnable() {
|
||||||
when(mWifiManager.isAutoWakeupEnabled()).thenReturn(false);
|
when(mWifiManager.isAutoWakeupEnabled()).thenReturn(false);
|
||||||
|
Reference in New Issue
Block a user