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