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