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

Commit 8cdf1871 authored by Hai Shalom's avatar Hai Shalom Committed by Android (Google) Code Review
Browse files

Merge "[DPP R2] Added support for DPP R2 events"

parents edb1ab6c 38ab4d34
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2056,6 +2056,12 @@
    <string name="wifi_dpp_failure_generic">Make sure the device has been plugged in, charged, and turned on. If the issue continues, contact the device manufacturer</string>
    <!-- Hint for Wi-Fi DPP handshake failure [CHAR LIMIT=NONE]  -->
    <string name="wifi_dpp_failure_not_supported">Adding \u201c<xliff:g id="ssid" example="OfficeWifi">%1$s</xliff:g>\u201d isn\u2019t supported by this device</string>
    <!-- Hint for Wi-Fi DPP handshake failure [CHAR LIMIT=NONE]  -->
    <string name="wifi_dpp_failure_cannot_find_network">Try moving the device closer to your Wi\u2011Fi access point/router</string>
    <!-- Hint for Wi-Fi DPP handshake failure [CHAR LIMIT=NONE]  -->
    <string name="wifi_dpp_failure_enrollee_authentication">Check the password and try again</string>
    <!-- Hint for Wi-Fi DPP handshake failure [CHAR LIMIT=NONE]  -->
    <string name="wifi_dpp_failure_enrollee_rejected_configuration">Contact the device manufacturer</string>
    <!-- Hint for Wi-Fi connection fail [CHAR LIMIT=NONE]  -->
    <string name="wifi_dpp_check_connection_try_again">Check connection and try again</string>
    <!-- Title for the fragment choose network [CHAR LIMIT=50]  -->
+33 −3
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -61,8 +62,22 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
        }

        @Override
        public void onFailure(int code) {
            Log.d(TAG, "EasyConnectConfiguratorStatusCallback.onFailure " + code);
        public void onFailure(int code, String ssid, SparseArray<int[]> channelListArray,
                int[] operatingClassArray) {
            Log.d(TAG, "EasyConnectConfiguratorStatusCallback.onFailure: " + code);
            if (!TextUtils.isEmpty(ssid)) {
                Log.d(TAG, "Tried SSID: " + ssid);
            }
            if (channelListArray.size() != 0) {
                Log.d(TAG, "Tried channels: " + channelListArray);
            }
            if (operatingClassArray != null && operatingClassArray.length > 0) {
                StringBuilder sb = new StringBuilder("Supported bands: ");
                for (int i = 0; i < operatingClassArray.length; i++) {
                    sb.append(operatingClassArray[i] + " ");
                }
                Log.d(TAG, sb.toString());
            }

            showErrorUi(code, /* isConfigurationChange */ false);
        }
@@ -150,6 +165,20 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
                throw(new IllegalStateException("Wi-Fi DPP configurator used a non-PSK/non-SAE"
                        + "network to handshake"));

            case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK:
                summaryCharSequence = getText(R.string.wifi_dpp_failure_cannot_find_network);
                break;

            case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION:
                summaryCharSequence = getText(R.string.wifi_dpp_failure_enrollee_authentication);
                break;

            case EasyConnectStatusCallback
                    .EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION:
                summaryCharSequence =
                        getText(R.string.wifi_dpp_failure_enrollee_rejected_configuration);
                break;

            default:
                throw(new IllegalStateException("Unexpected Wi-Fi DPP error"));
        }
@@ -218,7 +247,8 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
            if (code == WifiDppUtils.EASY_CONNECT_EVENT_SUCCESS) {
                new EasyConnectConfiguratorStatusCallback().onConfiguratorSuccess(code);
            } else {
                new EasyConnectConfiguratorStatusCallback().onFailure(code);
                new EasyConnectConfiguratorStatusCallback().onFailure(code, model.getTriedSsid(),
                        model.getTriedChannels(), model.getBandArray());
            }
        });
    }
+22 −2
Original line number Diff line number Diff line
@@ -19,14 +19,18 @@ package com.android.settings.wifi.dpp;
import android.app.Application;
import android.net.wifi.EasyConnectStatusCallback;
import android.net.wifi.WifiManager;
import android.util.SparseArray;

import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.MutableLiveData;

public class WifiDppInitiatorViewModel extends AndroidViewModel {
    private MutableLiveData<Integer> mEnrolleeSuccessNetworkId;
    private MutableLiveData<Integer> mStatusCode;
    private boolean mIsWifiDppHandshaking;
    private String mTriedSsid;
    private SparseArray<int[]> mTriedChannels;
    private int[] mBandArray;

    public WifiDppInitiatorViewModel(Application application) {
        super(application);
@@ -48,6 +52,18 @@ public class WifiDppInitiatorViewModel extends AndroidViewModel {
        return mStatusCode;
    }

    String getTriedSsid() {
        return mTriedSsid;
    }

    SparseArray<int[]> getTriedChannels() {
        return mTriedChannels;
    }

    int[] getBandArray() {
        return mBandArray;
    }

    boolean isWifiDppHandshaking() {
        return mIsWifiDppHandshaking;
    }
@@ -83,8 +99,12 @@ public class WifiDppInitiatorViewModel extends AndroidViewModel {
        }

        @Override
        public void onFailure(int code) {
        public void onFailure(int code, String ssid, SparseArray<int[]> channelListArray,
                int[] operatingClassArray) {
            mIsWifiDppHandshaking = false;
            mTriedSsid = ssid;
            mTriedChannels = channelListArray;
            mBandArray = operatingClassArray;
            mStatusCode.setValue(code);
        }