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

Commit fb54889e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[Wi-Fi] Replace AccessPoint with WifiEntry for WifiDialog2"

parents 8b5d7139 b33190c0
Loading
Loading
Loading
Loading
+120 −122

File changed.

Preview size limit exceeded, changes collapsed.

+13 −12
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ import androidx.appcompat.app.AlertDialog;
import com.android.settings.R;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.wifi.AccessPoint;
import com.android.wifitrackerlib.WifiEntry;

/**
 * Dialog for users to edit a Wi-Fi network.
@@ -66,7 +66,7 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2,

    private final int mMode;
    private final WifiDialog2Listener mListener;
    private final AccessPoint mAccessPoint;
    private final WifiEntry mWifiEntry;

    private View mView;
    private WifiConfigController2 mController;
@@ -77,8 +77,8 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2,
     * view.
     */
    public static WifiDialog2 createModal(Context context, WifiDialog2Listener listener,
            AccessPoint accessPoint, int mode) {
        return new WifiDialog2(context, listener, accessPoint, mode, 0 /* style */,
            WifiEntry wifiEntry, int mode) {
        return new WifiDialog2(context, listener, wifiEntry, mode, 0 /* style */,
                mode == WifiConfigUiBase2.MODE_VIEW /* hideSubmitButton */);
    }

@@ -87,17 +87,17 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2,
     * view.
     */
    public static WifiDialog2 createModal(Context context, WifiDialog2Listener listener,
            AccessPoint accessPoint, int mode, @StyleRes int style) {
        return new WifiDialog2(context, listener, accessPoint, mode, style,
            WifiEntry wifiEntry, int mode, @StyleRes int style) {
        return new WifiDialog2(context, listener, wifiEntry, mode, style,
                mode == WifiConfigUiBase2.MODE_VIEW /* hideSubmitButton */);
    }

    /* package */ WifiDialog2(Context context, WifiDialog2Listener listener,
                AccessPoint accessPoint, int mode, @StyleRes int style, boolean hideSubmitButton) {
    /* package */ WifiDialog2(Context context, WifiDialog2Listener listener, WifiEntry wifiEntry,
            int mode, @StyleRes int style, boolean hideSubmitButton) {
        super(context, style);
        mMode = mode;
        mListener = listener;
        mAccessPoint = accessPoint;
        mWifiEntry = wifiEntry;
        mHideSubmitButton = hideSubmitButton;
    }

@@ -110,7 +110,7 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2,
    protected void onCreate(Bundle savedInstanceState) {
        mView = getLayoutInflater().inflate(R.layout.wifi_dialog, /* root */ null);
        setView(mView);
        mController = new WifiConfigController2(this, mView, mAccessPoint, mMode);
        mController = new WifiConfigController2(this, mView, mWifiEntry, mMode);
        super.onCreate(savedInstanceState);

        if (mHideSubmitButton) {
@@ -121,7 +121,7 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2,
            mController.enableSubmitIfAppropriate();
        }

        if (mAccessPoint == null) {
        if (mWifiEntry == null) {
            mController.hideForgetButton();
        }
    }
@@ -168,7 +168,8 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2,
                    mListener.onSubmit(this);
                    break;
                case BUTTON_FORGET:
                    if (WifiUtils.isNetworkLockedDown(getContext(), mAccessPoint.getConfig())) {
                    if (WifiUtils.isNetworkLockedDown(getContext(),
                            mWifiEntry.getWifiConfiguration())) {
                        RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(),
                                RestrictedLockUtilsInternal.getDeviceOwner(getContext()));
                        return;
+0 −16
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.settings.wifi;

import android.net.NetworkInfo.DetailedState;

import com.android.wifitrackerlib.WifiEntry;

/**
@@ -64,13 +62,6 @@ public class WifiEntryShell {
        return false;
    }

    /**
     * Mapping of the corresponding {@link WifiDetailPreferenceController} method
     */
    public static boolean canModifyNetwork(WifiEntry wifiEntry) {
        return false;
    }

    /**
     * Mapping of the corresponding {@link AccessPoint} method
     */
@@ -78,13 +69,6 @@ public class WifiEntryShell {
        return "None";
    }

    /**
     * Mapping of the corresponding {@link AccessPoint} method
     */
    public static DetailedState getDetailedState(WifiEntry wifiEntry) {
        return null;
    }

    // Passpoint methods

    /**
+7 −5
Original line number Diff line number Diff line
@@ -61,9 +61,10 @@ import com.android.settings.core.FeatureFlags;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.datausage.WifiDataUsageSummaryPreferenceController;
import com.android.settings.widget.EntityHeaderController;
import com.android.settings.wifi.WifiDialog;
import com.android.settings.wifi.WifiDialog.WifiDialogListener;
import com.android.settings.wifi.WifiDialog2;
import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener;
import com.android.settings.wifi.WifiEntryShell;
import com.android.settings.wifi.WifiUtils;
import com.android.settings.wifi.dpp.WifiDppUtils;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -93,7 +94,7 @@ import java.util.stream.Collectors;
 * {@link WifiNetworkDetailsFragment}.
 */
public class WifiDetailPreferenceController2 extends AbstractPreferenceController
        implements PreferenceControllerMixin, WifiDialogListener, LifecycleObserver, OnPause,
        implements PreferenceControllerMixin, WifiDialog2Listener, LifecycleObserver, OnPause,
        OnResume, WifiEntryCallback {

    private static final String TAG = "WifiDetailsPrefCtrl2";
@@ -670,7 +671,8 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
     * Returns whether the network represented by this preference can be modified.
     */
    public boolean canModifyNetwork() {
        return WifiEntryShell.canModifyNetwork(mWifiEntry);
        return mWifiEntry.isSaved()
                && !WifiUtils.isNetworkLockedDown(mContext, mWifiEntry.getWifiConfiguration());
    }

    /**
@@ -762,7 +764,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
    }

    @Override
    public void onSubmit(WifiDialog dialog) {
    public void onSubmit(WifiDialog2 dialog) {
        if (dialog.getController() != null) {
            mWifiManager.save(dialog.getController().getConfig(), new WifiManager.ActionListener() {
                @Override
+28 −15
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.wifi.details2;

import android.app.backup.BackupManager;
import android.content.Context;
import android.net.wifi.WifiConfiguration;

import androidx.annotation.VisibleForTesting;
import androidx.preference.DropDownPreference;
@@ -25,7 +26,7 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

import com.android.settings.core.BasePreferenceController;
import com.android.settings.wifi.WifiDialog;
import com.android.settings.wifi.WifiDialog2;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.wifitrackerlib.WifiEntry;

@@ -33,7 +34,7 @@ import com.android.wifitrackerlib.WifiEntry;
 * {@link AbstractPreferenceController} that controls whether the wifi network is metered or not
 */
public class WifiMeteredPreferenceController2 extends BasePreferenceController implements
        Preference.OnPreferenceChangeListener, WifiDialog.WifiDialogListener {
        Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener {

    private static final String KEY_WIFI_METERED = "metered";
    private WifiEntry mWifiEntry;
@@ -89,18 +90,30 @@ public class WifiMeteredPreferenceController2 extends BasePreferenceController i
    }

    @Override
    public void onSubmit(WifiDialog dialog) {
        // TODO(b/143326832): Create WifiDialog2 and let it work for WifiEntry.
        //if (dialog.getController() != null) {
        //    final WifiConfiguration newConfig = dialog.getController().getConfig();
        //    if (newConfig == null || mWifiConfiguration == null) {
        //        return;
        //    }
        //
        //    if (newConfig.meteredOverride != mWifiConfiguration.meteredOverride) {
        //        mWifiConfiguration = newConfig;
        //        onPreferenceChange(mPreference, String.valueOf(newConfig.meteredOverride));
        //    }
        //}
    public void onSubmit(WifiDialog2 dialog) {
        if (dialog.getController() != null) {
            final WifiConfiguration newConfig = dialog.getController().getConfig();
            if (newConfig == null || !mWifiEntry.isSaved()) {
                return;
            }

            if (newConfig.meteredOverride != mWifiEntry.getWifiConfiguration().meteredOverride) {
                mWifiEntry.setMeteredChoice(getWifiEntryMeteredChoice(newConfig));
                onPreferenceChange(mPreference, String.valueOf(newConfig.meteredOverride));
            }
        }
    }

    private int getWifiEntryMeteredChoice(WifiConfiguration wifiConfiguration) {
        switch (wifiConfiguration.meteredOverride) {
            case WifiConfiguration.METERED_OVERRIDE_NONE:
                return WifiEntry.METERED_CHOICE_AUTO;
            case WifiConfiguration.METERED_OVERRIDE_METERED:
                return WifiEntry.METERED_CHOICE_METERED;
            case WifiConfiguration.METERED_OVERRIDE_NOT_METERED:
                return WifiEntry.METERED_CHOICE_UNMETERED;
            default:
                return WifiEntry.METERED_CHOICE_UNKNOWN;
        }
    }
}
Loading