Restrict WifiAPITest

- Disable Wi-Fi functions below if user has DISALLOW_CHANGE_WIFI_STATE
  - disableNetwork
  - disconnect
  - enableNetwork

Bug: 290612834
Flag: None
Test: Manual testing
Change-Id: I7435b30381401b10fa82b25fb245b1ed12bf3ade
This commit is contained in:
Weng Su
2024-04-18 21:27:24 +08:00
parent 660986353e
commit 3c2e22afc8

View File

@@ -18,7 +18,10 @@ package com.android.settings.wifi;
import static android.content.Context.WIFI_SERVICE; import static android.content.Context.WIFI_SERVICE;
import static com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils.isChangeWifiStateAllowed;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import android.os.Bundle; import android.os.Bundle;
@@ -38,7 +41,7 @@ import com.android.settings.SettingsPreferenceFragment;
public class WifiAPITest extends SettingsPreferenceFragment implements public class WifiAPITest extends SettingsPreferenceFragment implements
Preference.OnPreferenceClickListener { Preference.OnPreferenceClickListener {
private static final String TAG = "WifiAPITest"; private static final String TAG = "WifiAPITest+++";
private int netid; private int netid;
//============================ //============================
@@ -69,18 +72,38 @@ public class WifiAPITest extends SettingsPreferenceFragment implements
@Override @Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
Context context = getContext();
if (context == null) {
return;
}
addPreferencesFromResource(R.xml.wifi_api_test); addPreferencesFromResource(R.xml.wifi_api_test);
boolean isChangeWifiStateAllowed = isChangeWifiStateAllowed(context);
final PreferenceScreen preferenceScreen = getPreferenceScreen(); final PreferenceScreen preferenceScreen = getPreferenceScreen();
mWifiDisconnect = (Preference) preferenceScreen.findPreference(KEY_DISCONNECT); mWifiDisconnect = (Preference) preferenceScreen.findPreference(KEY_DISCONNECT);
mWifiDisconnect.setOnPreferenceClickListener(this); if (mWifiDisconnect != null) {
mWifiDisconnect.setEnabled(isChangeWifiStateAllowed);
if (isChangeWifiStateAllowed) {
mWifiDisconnect.setOnPreferenceClickListener(this);
}
}
mWifiDisableNetwork = (Preference) preferenceScreen.findPreference(KEY_DISABLE_NETWORK); mWifiDisableNetwork = (Preference) preferenceScreen.findPreference(KEY_DISABLE_NETWORK);
mWifiDisableNetwork.setOnPreferenceClickListener(this); if (mWifiDisableNetwork != null) {
mWifiDisableNetwork.setEnabled(isChangeWifiStateAllowed);
if (isChangeWifiStateAllowed) {
mWifiDisableNetwork.setOnPreferenceClickListener(this);
}
}
mWifiEnableNetwork = (Preference) preferenceScreen.findPreference(KEY_ENABLE_NETWORK); mWifiEnableNetwork = (Preference) preferenceScreen.findPreference(KEY_ENABLE_NETWORK);
mWifiEnableNetwork.setOnPreferenceClickListener(this); if (mWifiEnableNetwork != null) {
mWifiEnableNetwork.setEnabled(isChangeWifiStateAllowed);
if (isChangeWifiStateAllowed) {
mWifiEnableNetwork.setOnPreferenceClickListener(this);
}
}
} }