1664ed2dc2488c50194a80004af759a765f0ce18froger xue/* 2664ed2dc2488c50194a80004af759a765f0ce18froger xue * Copyright (C) 2017 The Android Open Source Project 3664ed2dc2488c50194a80004af759a765f0ce18froger xue * 4664ed2dc2488c50194a80004af759a765f0ce18froger xue * Licensed under the Apache License, Version 2.0 (the "License"); 5664ed2dc2488c50194a80004af759a765f0ce18froger xue * you may not use this file except in compliance with the License. 6664ed2dc2488c50194a80004af759a765f0ce18froger xue * You may obtain a copy of the License at 7664ed2dc2488c50194a80004af759a765f0ce18froger xue * 8664ed2dc2488c50194a80004af759a765f0ce18froger xue * http://www.apache.org/licenses/LICENSE-2.0 9664ed2dc2488c50194a80004af759a765f0ce18froger xue * 10664ed2dc2488c50194a80004af759a765f0ce18froger xue * Unless required by applicable law or agreed to in writing, software 11664ed2dc2488c50194a80004af759a765f0ce18froger xue * distributed under the License is distributed on an "AS IS" BASIS, 12664ed2dc2488c50194a80004af759a765f0ce18froger xue * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13664ed2dc2488c50194a80004af759a765f0ce18froger xue * See the License for the specific language governing permissions and 14664ed2dc2488c50194a80004af759a765f0ce18froger xue * limitations under the License 15664ed2dc2488c50194a80004af759a765f0ce18froger xue */ 16664ed2dc2488c50194a80004af759a765f0ce18froger xue 17664ed2dc2488c50194a80004af759a765f0ce18froger xuepackage com.android.car.settings.wifi; 18664ed2dc2488c50194a80004af759a765f0ce18froger xue 19664ed2dc2488c50194a80004af759a765f0ce18froger xueimport android.content.Context; 20664ed2dc2488c50194a80004af759a765f0ce18froger xue 21664ed2dc2488c50194a80004af759a765f0ce18froger xueimport com.android.car.settings.R; 22664ed2dc2488c50194a80004af759a765f0ce18froger xueimport com.android.settingslib.wifi.AccessPoint; 23664ed2dc2488c50194a80004af759a765f0ce18froger xue 24664ed2dc2488c50194a80004af759a765f0ce18froger xueimport java.util.ArrayList; 25664ed2dc2488c50194a80004af759a765f0ce18froger xueimport java.util.Arrays; 26664ed2dc2488c50194a80004af759a765f0ce18froger xueimport java.util.List; 27664ed2dc2488c50194a80004af759a765f0ce18froger xue 28664ed2dc2488c50194a80004af759a765f0ce18froger xue/** 29fe73ade9d187b097b60d7e9a027fac3eeedb4b4dLujiang Xue * Represents Security protocol for AccessPoint. 30664ed2dc2488c50194a80004af759a765f0ce18froger xue */ 31664ed2dc2488c50194a80004af759a765f0ce18froger xuepublic class AccessPointSecurity { 32664ed2dc2488c50194a80004af759a765f0ce18froger xue public static final int SECURITY_NONE_POSITION = 0; 33fe73ade9d187b097b60d7e9a027fac3eeedb4b4dLujiang Xue private final int mSecurityType; 34664ed2dc2488c50194a80004af759a765f0ce18froger xue private final Context mContext; 35664ed2dc2488c50194a80004af759a765f0ce18froger xue private static final List<Integer> SECURITY_TYPES = Arrays.asList( 36664ed2dc2488c50194a80004af759a765f0ce18froger xue AccessPoint.SECURITY_NONE, 37664ed2dc2488c50194a80004af759a765f0ce18froger xue AccessPoint.SECURITY_WEP, 38664ed2dc2488c50194a80004af759a765f0ce18froger xue AccessPoint.SECURITY_PSK, 39664ed2dc2488c50194a80004af759a765f0ce18froger xue AccessPoint.SECURITY_EAP); 40664ed2dc2488c50194a80004af759a765f0ce18froger xue 41fe73ade9d187b097b60d7e9a027fac3eeedb4b4dLujiang Xue public static List<AccessPointSecurity> getSecurityTypes(Context context) { 42664ed2dc2488c50194a80004af759a765f0ce18froger xue List<AccessPointSecurity> securities = new ArrayList<>(); 43664ed2dc2488c50194a80004af759a765f0ce18froger xue for (int security : SECURITY_TYPES) { 44664ed2dc2488c50194a80004af759a765f0ce18froger xue securities.add(new AccessPointSecurity(context, security)); 45664ed2dc2488c50194a80004af759a765f0ce18froger xue } 46664ed2dc2488c50194a80004af759a765f0ce18froger xue return securities; 47664ed2dc2488c50194a80004af759a765f0ce18froger xue } 48664ed2dc2488c50194a80004af759a765f0ce18froger xue 49fe73ade9d187b097b60d7e9a027fac3eeedb4b4dLujiang Xue private AccessPointSecurity(Context context, int securityType) { 50664ed2dc2488c50194a80004af759a765f0ce18froger xue mContext = context; 51fe73ade9d187b097b60d7e9a027fac3eeedb4b4dLujiang Xue mSecurityType = securityType; 52fe73ade9d187b097b60d7e9a027fac3eeedb4b4dLujiang Xue } 53fe73ade9d187b097b60d7e9a027fac3eeedb4b4dLujiang Xue 54fe73ade9d187b097b60d7e9a027fac3eeedb4b4dLujiang Xue public int getSecurityType() { 55fe73ade9d187b097b60d7e9a027fac3eeedb4b4dLujiang Xue return mSecurityType; 56664ed2dc2488c50194a80004af759a765f0ce18froger xue } 57664ed2dc2488c50194a80004af759a765f0ce18froger xue 58664ed2dc2488c50194a80004af759a765f0ce18froger xue @Override 59664ed2dc2488c50194a80004af759a765f0ce18froger xue public String toString() { 60fe73ade9d187b097b60d7e9a027fac3eeedb4b4dLujiang Xue switch(mSecurityType) { 61664ed2dc2488c50194a80004af759a765f0ce18froger xue case AccessPoint.SECURITY_EAP: 62664ed2dc2488c50194a80004af759a765f0ce18froger xue return mContext.getString(R.string.wifi_security_eap); 63664ed2dc2488c50194a80004af759a765f0ce18froger xue case AccessPoint.SECURITY_PSK: 64664ed2dc2488c50194a80004af759a765f0ce18froger xue return mContext.getString(R.string.wifi_security_psk_generic); 65664ed2dc2488c50194a80004af759a765f0ce18froger xue case AccessPoint.SECURITY_WEP: 66664ed2dc2488c50194a80004af759a765f0ce18froger xue return mContext.getString(R.string.wifi_security_wep); 67664ed2dc2488c50194a80004af759a765f0ce18froger xue case AccessPoint.SECURITY_NONE: 68664ed2dc2488c50194a80004af759a765f0ce18froger xue default: 69664ed2dc2488c50194a80004af759a765f0ce18froger xue return mContext.getString(R.string.wifi_security_none); 70664ed2dc2488c50194a80004af759a765f0ce18froger xue } 71664ed2dc2488c50194a80004af759a765f0ce18froger xue } 72664ed2dc2488c50194a80004af759a765f0ce18froger xue} 73