Show policy transparency dialog if adding Wi-Fi config is not allowed

- When the user is restricted by UserManager.DISALLOW_ADD_WIFI_CONFIG, clicking on a Wi-Fi network will show the Settings policy transparency dialog.

- The "Not allowed by your organization" summary in Wi-Fi networks will be removed in a separate CL.

Bug: 233871529
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=Wifi

Change-Id: Ia978be8e85a5809de1331f3e0edc11fbc8925c80
This commit is contained in:
Weng Su
2022-10-07 02:08:57 +08:00
parent a27418931c
commit a81bb19618
9 changed files with 68 additions and 42 deletions

View File

@@ -19,28 +19,25 @@ package com.android.settings.wifi;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.UserManager;
import android.util.Log;
import android.widget.ImageButton;
import androidx.annotation.DrawableRes;
import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.wifi.dpp.WifiDppUtils;
import com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils;
import com.android.settingslib.RestrictedPreference;
/**
* The Preference for users to add Wi-Fi networks in WifiSettings
*/
public class AddWifiNetworkPreference extends Preference {
public class AddWifiNetworkPreference extends RestrictedPreference {
private static final String TAG = "AddWifiNetworkPreference";
private final Drawable mScanIconDrawable;
@VisibleForTesting
boolean mIsAddWifiConfigAllow;
public AddWifiNetworkPreference(Context context) {
super(context);
@@ -51,8 +48,7 @@ public class AddWifiNetworkPreference extends Preference {
setTitle(R.string.wifi_add_network);
mScanIconDrawable = getDrawable(R.drawable.ic_scan_24dp);
mIsAddWifiConfigAllow = WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(context);
updatePreferenceForRestriction();
checkRestrictionAndSetDisabled(UserManager.DISALLOW_ADD_WIFI_CONFIG);
}
@Override
@@ -79,12 +75,4 @@ public class AddWifiNetworkPreference extends Preference {
}
return buttonIcon;
}
@VisibleForTesting
void updatePreferenceForRestriction() {
if (!mIsAddWifiConfigAllow) {
setEnabled(false);
setSummary(R.string.not_allowed_by_ent);
}
}
}