Disable "Add network" if DISALLOW_ADD_WIFI_CONFIG

- When DISALLOW_ADD_WIFI_CONFIG is not restricted by Admin
  - Disable the preference directly

Bug: 335387874
Flag: EXEMPT bugfix
Test: Manual testing
atest -c AddWifiNetworkPreferenceTest

Change-Id: I0bb08656971107c73d7632a395a820d03723620b
This commit is contained in:
Weng Su
2024-07-05 06:51:01 +08:00
parent a954e914dd
commit a7b13c11cd
2 changed files with 42 additions and 12 deletions

View File

@@ -26,11 +26,13 @@ import android.widget.ImageButton;
import androidx.annotation.DrawableRes;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
import com.android.settings.wifi.dpp.WifiDppUtils;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils;
/**
* The Preference for users to add Wi-Fi networks in WifiSettings
@@ -53,7 +55,7 @@ public class AddWifiNetworkPreference extends RestrictedPreference {
setTitle(R.string.wifi_add_network);
mScanIconDrawable = getDrawable(R.drawable.ic_scan_24dp);
checkRestrictionAndSetDisabled(UserManager.DISALLOW_ADD_WIFI_CONFIG);
checkRestrictionAndSetDisabled();
}
@Override
@@ -80,4 +82,15 @@ public class AddWifiNetworkPreference extends RestrictedPreference {
}
return buttonIcon;
}
@VisibleForTesting
void checkRestrictionAndSetDisabled() {
checkRestrictionAndSetDisabled(UserManager.DISALLOW_ADD_WIFI_CONFIG);
if (isDisabledByAdmin()) {
return;
}
if (!WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(getContext())) {
setEnabled(false);
}
}
}