Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c2e22af authored by Weng Su's avatar Weng Su
Browse files

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
parent 66098635
Loading
Loading
Loading
Loading
+27 −4
Original line number Diff line number Diff line
@@ -18,7 +18,10 @@ package com.android.settings.wifi;

import static android.content.Context.WIFI_SERVICE;

import static com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils.isChangeWifiStateAllowed;

import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.DialogInterface;
import android.net.wifi.WifiManager;
import android.os.Bundle;
@@ -38,7 +41,7 @@ import com.android.settings.SettingsPreferenceFragment;
public class WifiAPITest extends SettingsPreferenceFragment implements
        Preference.OnPreferenceClickListener {

    private static final String TAG = "WifiAPITest";
    private static final String TAG = "WifiAPITest+++";
    private int netid;

    //============================
@@ -69,18 +72,38 @@ public class WifiAPITest extends SettingsPreferenceFragment implements

    @Override
    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
        Context context = getContext();
        if (context == null) {
            return;
        }
        addPreferencesFromResource(R.xml.wifi_api_test);

        boolean isChangeWifiStateAllowed = isChangeWifiStateAllowed(context);
        final PreferenceScreen preferenceScreen = getPreferenceScreen();

        mWifiDisconnect = (Preference) preferenceScreen.findPreference(KEY_DISCONNECT);
        if (mWifiDisconnect != null) {
            mWifiDisconnect.setEnabled(isChangeWifiStateAllowed);
            if (isChangeWifiStateAllowed) {
                mWifiDisconnect.setOnPreferenceClickListener(this);
            }
        }

        mWifiDisableNetwork = (Preference) preferenceScreen.findPreference(KEY_DISABLE_NETWORK);
        if (mWifiDisableNetwork != null) {
            mWifiDisableNetwork.setEnabled(isChangeWifiStateAllowed);
            if (isChangeWifiStateAllowed) {
                mWifiDisableNetwork.setOnPreferenceClickListener(this);
            }
        }

        mWifiEnableNetwork = (Preference) preferenceScreen.findPreference(KEY_ENABLE_NETWORK);
        if (mWifiEnableNetwork != null) {
            mWifiEnableNetwork.setEnabled(isChangeWifiStateAllowed);
            if (isChangeWifiStateAllowed) {
                mWifiEnableNetwork.setOnPreferenceClickListener(this);
            }
        }

    }