1ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvistpackage com.android.hotspot2;
2ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist
3ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist/**
4ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist * Match score for EAP credentials:
5ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist * None means that there is a distinct mismatch, i.e. realm, method or parameter is defined
6ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist * and mismatches that of the credential.
7ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist * Indeterminate means that there is no ANQP information to match against.
8ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist * Note: The numeric values given to the constants are used for preference comparison and
9ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist * must be maintained accordingly.
10ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist */
11ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvistpublic abstract class AuthMatch {
12ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist    public static final int None = -1;
13ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist    public static final int Indeterminate = 0;
14ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist    public static final int Realm = 0x04;
15ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist    public static final int Method = 0x02;
16ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist    public static final int Param = 0x01;
17ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist    public static final int MethodParam = Method | Param;
18ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist    public static final int Exact = Realm | Method | Param;
19ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist
20ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist    public static String toString(int match) {
21ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist        if (match < 0) {
22ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist            return "None";
23ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist        } else if (match == 0) {
24ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist            return "Indeterminate";
25ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist        }
26ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist
27ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist        StringBuilder sb = new StringBuilder();
28ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist        if ((match & Realm) != 0) {
29ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist            sb.append("Realm");
30ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist        }
31ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist        if ((match & Method) != 0) {
32ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist            sb.append("Method");
33ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist        }
34ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist        if ((match & Param) != 0) {
35ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist            sb.append("Param");
36ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist        }
37ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist        return sb.toString();
38ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist    }
39ee699a61a5687d7c8518b639a940c8e9d1b384ddJan Nordqvist}
40