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

Commit 2a319173 authored by Oscar Shu's avatar Oscar Shu Committed by Android (Google) Code Review
Browse files

Merge "API support for more recent failure statuses"

parents 787bc067 e5e923aa
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -7584,8 +7584,11 @@ package android.net.wifi {
    field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0
    field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
    field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
    field @Deprecated public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004; // 0x3ec
    field @Deprecated public static final int RECENT_FAILURE_MBO_OCE_DISCONNECT = 1001; // 0x3e9
    field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
    field @Deprecated public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003; // 0x3eb
    field @Deprecated public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002; // 0x3ea
    field @Deprecated public boolean allowAutojoin;
    field @Deprecated public int carrierId;
    field @Deprecated public String creatorName;
+3 −0
Original line number Diff line number Diff line
@@ -336,8 +336,11 @@ package android.net.wifi {
    field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0
    field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
    field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
    field @Deprecated public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004; // 0x3ec
    field @Deprecated public static final int RECENT_FAILURE_MBO_OCE_DISCONNECT = 1001; // 0x3e9
    field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
    field @Deprecated public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003; // 0x3eb
    field @Deprecated public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002; // 0x3ea
    field @Deprecated public boolean allowAutojoin;
    field @Deprecated public int carrierId;
    field @Deprecated public String creatorName;
+57 −8
Original line number Diff line number Diff line
@@ -2074,27 +2074,42 @@ public class WifiConfiguration implements Parcelable {
         */
        @RecentFailureReason
        private int mAssociationStatus = RECENT_FAILURE_NONE;
        private long mLastUpdateTimeSinceBootMillis;

        /**
         * @param status the association status code for the recent failure
         */
        public void setAssociationStatus(@RecentFailureReason int status) {
        public void setAssociationStatus(@RecentFailureReason int status,
                long updateTimeSinceBootMs) {
            mAssociationStatus = status;
            mLastUpdateTimeSinceBootMillis = updateTimeSinceBootMs;
        }
        /**
         * Sets the RecentFailure to NONE
         */
        public void clear() {
            mAssociationStatus = RECENT_FAILURE_NONE;
            mLastUpdateTimeSinceBootMillis = 0;
        }
        /**
         * Get the recent failure code. One of {@link #RECENT_FAILURE_NONE} or
         * {@link #RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA}.
         * Get the recent failure code. One of {@link #RECENT_FAILURE_NONE},
         * {@link #RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA},
         * {@link #RECENT_FAILURE_MBO_OCE_DISCONNECT},
         * {@link #RECENT_FAILURE_REFUSED_TEMPORARILY},
         * {@link #RECENT_FAILURE_POOR_CHANNEL_CONDITIONS}.
         * {@link #RECENT_FAILURE_DISCONNECTION_AP_BUSY}
         */
        @RecentFailureReason
        public int getAssociationStatus() {
            return mAssociationStatus;
        }

        /**
         * Get the timestamp the failure status is last updated, in milliseconds since boot.
         */
        public long getLastUpdateTimeSinceBootMillis() {
            return mLastUpdateTimeSinceBootMillis;
        }
    }

    /**
@@ -2111,7 +2126,11 @@ public class WifiConfiguration implements Parcelable {
    @IntDef(prefix = "RECENT_FAILURE_", value = {
            RECENT_FAILURE_NONE,
            RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA,
            RECENT_FAILURE_MBO_OCE_DISCONNECT})
            RECENT_FAILURE_MBO_OCE_DISCONNECT,
            RECENT_FAILURE_REFUSED_TEMPORARILY,
            RECENT_FAILURE_POOR_CHANNEL_CONDITIONS,
            RECENT_FAILURE_DISCONNECTION_AP_BUSY
    })
    public @interface RecentFailureReason {}

    /**
@@ -2135,13 +2154,40 @@ public class WifiConfiguration implements Parcelable {
    @SystemApi
    public static final int RECENT_FAILURE_MBO_OCE_DISCONNECT = 1001;

    /**
     * Failed to connect because the association is rejected by the AP.
     * IEEE 802.11 association status code 30.
     * @hide
     */
    @SystemApi
    public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002;

    /**
     * Failed to connect because of excess frame loss and/or poor channel conditions.
     * IEEE 802.11 association status code 34.
     * @hide
     */
    @SystemApi
    public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003;

    /**
     * Disconnected by the AP because the AP can't handle all the associated stations.
     * IEEE 802.11 disconnection reason code 5.
     * @hide
     */
    @SystemApi
    public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004;

    /**
     * Get the failure reason for the most recent connection attempt, or
     * {@link #RECENT_FAILURE_NONE} if there was no failure.
     *
     * Failure reasons include:
     * {@link #RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA}
     *
     * {@link #RECENT_FAILURE_MBO_OCE_DISCONNECT}
     * {@link #RECENT_FAILURE_REFUSED_TEMPORARILY}
     * {@link #RECENT_FAILURE_POOR_CHANNEL_CONDITIONS}
     * {@link #RECENT_FAILURE_DISCONNECTION_AP_BUSY}
     * @hide
     */
    @RecentFailureReason
@@ -2479,7 +2525,8 @@ public class WifiConfiguration implements Parcelable {
            }
        }
        sbuf.append("recentFailure: ").append("Association Rejection code: ")
                .append(recentFailure.getAssociationStatus()).append("\n");
                .append(recentFailure.getAssociationStatus()).append(", last update time: ")
                .append(recentFailure.getLastUpdateTimeSinceBootMillis()).append("\n");
        return sbuf.toString();
    }

@@ -2918,7 +2965,8 @@ public class WifiConfiguration implements Parcelable {
            numNoInternetAccessReports = source.numNoInternetAccessReports;
            noInternetAccessExpected = source.noInternetAccessExpected;
            shared = source.shared;
            recentFailure.setAssociationStatus(source.recentFailure.getAssociationStatus());
            recentFailure.setAssociationStatus(source.recentFailure.getAssociationStatus(),
                    source.recentFailure.getLastUpdateTimeSinceBootMillis());
            mRandomizedMacAddress = source.mRandomizedMacAddress;
            macRandomizationSetting = source.macRandomizationSetting;
            randomizedMacExpirationTimeMs = source.randomizedMacExpirationTimeMs;
@@ -2995,6 +3043,7 @@ public class WifiConfiguration implements Parcelable {
        dest.writeInt(shared ? 1 : 0);
        dest.writeString(mPasspointManagementObjectTree);
        dest.writeInt(recentFailure.getAssociationStatus());
        dest.writeLong(recentFailure.getLastUpdateTimeSinceBootMillis());
        dest.writeParcelable(mRandomizedMacAddress, flags);
        dest.writeInt(macRandomizationSetting);
        dest.writeInt(osu ? 1 : 0);
@@ -3071,7 +3120,7 @@ public class WifiConfiguration implements Parcelable {
                config.noInternetAccessExpected = in.readInt() != 0;
                config.shared = in.readInt() != 0;
                config.mPasspointManagementObjectTree = in.readString();
                config.recentFailure.setAssociationStatus(in.readInt());
                config.recentFailure.setAssociationStatus(in.readInt(), in.readLong());
                config.mRandomizedMacAddress = in.readParcelable(null);
                config.macRandomizationSetting = in.readInt();
                config.osu = in.readInt() != 0;