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:
TreeHugger Robot
2022-09-05 08:36:45 +00:00
committed by Automerger Merge Worker
2 changed files with 56 additions and 8 deletions

View File

@@ -89,6 +89,13 @@ public class WifiWakeupPreferenceController extends TogglePreferenceController i
@Override
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;
}
@@ -96,17 +103,16 @@ public class WifiWakeupPreferenceController extends TogglePreferenceController i
public boolean isChecked() {
return getWifiWakeupEnabled()
&& getWifiScanningEnabled()
&& mLocationManager.isLocationEnabled();
&& getLocationEnabled();
}
@Override
public boolean setChecked(boolean isChecked) {
if (isChecked) {
if (mFragment == null) {
throw new IllegalStateException("No fragment to start activity");
}
if (!mLocationManager.isLocationEnabled()) {
if (!getLocationEnabled()) {
if (mFragment == null) {
throw new IllegalStateException("No fragment to start activity");
}
final Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
mFragment.startActivityForResult(intent, WIFI_WAKEUP_REQUEST_CODE);
return false;
@@ -128,7 +134,7 @@ public class WifiWakeupPreferenceController extends TogglePreferenceController i
@Override
public CharSequence getSummary() {
if (!mLocationManager.isLocationEnabled()) {
if (!getLocationEnabled()) {
return getNoLocationSummary();
} else {
return mContext.getText(R.string.wifi_wakeup_summary);
@@ -151,12 +157,16 @@ public class WifiWakeupPreferenceController extends TogglePreferenceController i
if (requestCode != WIFI_WAKEUP_REQUEST_CODE) {
return;
}
if (mLocationManager.isLocationEnabled() && getWifiScanningEnabled()) {
if (getLocationEnabled() && getWifiScanningEnabled()) {
setWifiWakeupEnabled(true);
updateState(mPreference);
}
}
private boolean getLocationEnabled() {
return mLocationManager.isLocationEnabled();
}
private boolean getWifiScanningEnabled() {
return mWifiManager.isScanAlwaysAvailable();
}