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:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.StateListDrawable;
|
||||
import android.os.UserManager;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.ImageButton;
|
||||
@@ -30,10 +31,10 @@ import android.widget.TextView;
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceViewHolder;
|
||||
|
||||
import com.android.settingslib.R;
|
||||
import com.android.settingslib.RestrictedPreference;
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.settingslib.wifi.WifiUtils;
|
||||
import com.android.wifitrackerlib.BaseWifiTracker;
|
||||
@@ -42,7 +43,8 @@ import com.android.wifitrackerlib.WifiEntry;
|
||||
/**
|
||||
* Preference to display a WifiEntry in a wifi picker.
|
||||
*/
|
||||
public class WifiEntryPreference extends Preference implements WifiEntry.WifiEntryCallback,
|
||||
public class WifiEntryPreference extends RestrictedPreference implements
|
||||
WifiEntry.WifiEntryCallback,
|
||||
View.OnClickListener {
|
||||
|
||||
private static final int[] STATE_SECURED = {
|
||||
@@ -86,6 +88,7 @@ public class WifiEntryPreference extends Preference implements WifiEntry.WifiEnt
|
||||
mWifiEntry = wifiEntry;
|
||||
mWifiEntry.setListener(this);
|
||||
mIconInjector = iconInjector;
|
||||
checkRestrictionAndSetDisabled(UserManager.DISALLOW_ADD_WIFI_CONFIG);
|
||||
refresh();
|
||||
}
|
||||
|
||||
@@ -309,5 +312,4 @@ public class WifiEntryPreference extends Preference implements WifiEntry.WifiEnt
|
||||
}
|
||||
return buttonIcon;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user