EriManager.java revision 71f48a21b0533a5b9dc1c0eab3c675800b78fa5e
1e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville/* 2e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 3e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * you may not use this file except in compliance with the License. 4e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * You may obtain a copy of the License at 5e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 6e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 7e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 8e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Unless required by applicable law or agreed to in writing, software 9e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 10e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * See the License for the specific language governing permissions and 12e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * limitations under the License. 13e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 14e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 15e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savillepackage com.android.internal.telephony.cdma; 16e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 17e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport android.content.Context; 18e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport android.content.res.Resources; 19e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport android.content.res.XmlResourceParser; 20e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport android.os.Message; 21e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport android.util.Log; 2288e3f827e657ef741099b24896c17533fa9ef61eWink Savilleimport android.util.Xml; 23e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 24e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport com.android.internal.telephony.Phone; 25e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport com.android.internal.telephony.PhoneBase; 26e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 27e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport com.android.internal.util.XmlUtils; 28e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 2988e3f827e657ef741099b24896c17533fa9ef61eWink Savilleimport org.xmlpull.v1.XmlPullParser; 3088e3f827e657ef741099b24896c17533fa9ef61eWink Savilleimport org.xmlpull.v1.XmlPullParserException; 3188e3f827e657ef741099b24896c17533fa9ef61eWink Saville 3288e3f827e657ef741099b24896c17533fa9ef61eWink Savilleimport java.io.FileInputStream; 3388e3f827e657ef741099b24896c17533fa9ef61eWink Savilleimport java.io.FileNotFoundException; 3488e3f827e657ef741099b24896c17533fa9ef61eWink Savilleimport java.io.IOException; 35e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport java.util.HashMap; 36e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 37e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville/** 38f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville * EriManager loads the ERI file definitions and manages the CDMA roaming information. 39f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville * 40e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 41e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savillepublic final class EriManager { 42e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 43e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville class EriFile { 44e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 45e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int mVersionNumber; // File version number 46e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int mNumberOfEriEntries; // Number of entries 47e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int mEriFileType; // Eri Phase 0/1 48e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville //public int mNumberOfIconImages; // reserved for future use 49e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville //public int mIconImageType; // reserved for future use 50e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public String[] mCallPromptId; // reserved for future use 51e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public HashMap<Integer, EriInfo> mRoamIndTable; // Roaming Indicator Table 52e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 53e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public EriFile() { 54e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mVersionNumber = -1; 55e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mNumberOfEriEntries = 0; 56e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mEriFileType = -1; 57e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mCallPromptId = new String[] { "", "", "" }; 58e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mRoamIndTable = new HashMap<Integer, EriInfo>(); 59e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 60f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 61f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 62f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville class EriDisplayInformation { 63f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville public int mEriIconIndex; 64f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville public int mEriIconMode; 65f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville public String mEriIconText; 66f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 67f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville public EriDisplayInformation(int eriIconIndex, int eriIconMode, String eriIconText) { 68f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mEriIconIndex = eriIconIndex; 69f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mEriIconMode = eriIconMode; 70f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mEriIconText = eriIconText; 71f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 72f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 73f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville// public void setParameters(int eriIconIndex, int eriIconMode, String eriIconText){ 74f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville// this.mEriIconIndex = eriIconIndex; 75f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville// this.mEriIconMode = eriIconMode; 76f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville// this.mEriIconText = eriIconText; 77f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville// } 78e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 79f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville @Override 80f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville public String toString() { 81f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville return "EriDisplayInformation: {" + " IconIndex: " + mEriIconIndex + " EriIconMode: " 82f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville + mEriIconMode + " EriIconText: " + mEriIconText + " }"; 83f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 84e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 85e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 8688e3f827e657ef741099b24896c17533fa9ef61eWink Saville private static final String LOG_TAG = "CDMA"; 8788e3f827e657ef741099b24896c17533fa9ef61eWink Saville private static final boolean DBG = true; 8871f48a21b0533a5b9dc1c0eab3c675800b78fa5eRobert Greenwalt private static final boolean VDBG = false; 89e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 90e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public static final int ERI_FROM_XML = 0; 91e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public static final int ERI_FROM_FILE_SYSTEM = 1; 92e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public static final int ERI_FROM_MODEM = 2; 93e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 94e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville private PhoneBase mPhone; 95e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville private Context mContext; 96e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville private int mEriFileSource = ERI_FROM_XML; 97f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville private boolean isEriFileLoaded; 98e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville private EriFile mEriFile; 99e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 100e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public EriManager(PhoneBase phone, Context context, int eriFileSource) { 101e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mPhone = phone; 102e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mContext = context; 103e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mEriFileSource = eriFileSource; 104e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville this.mEriFile = new EriFile(); 105e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 106e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 107e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public void dispose() { 108e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mEriFile = new EriFile(); 109e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville isEriFileLoaded = false; 110e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 111e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 112e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 113e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public void loadEriFile() { 114e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville switch (mEriFileSource) { 115e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville case ERI_FROM_MODEM: 116e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville loadEriFileFromModem(); 117e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville break; 118e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 119e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville case ERI_FROM_FILE_SYSTEM: 120e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville loadEriFileFromFileSystem(); 121e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville break; 122e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 123e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville case ERI_FROM_XML: 124e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville default: 125e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville loadEriFileFromXml(); 126e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville break; 127e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 128e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 129e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 130e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 131e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Load the ERI file from the MODEM through chipset specific RIL_REQUEST_OEM_HOOK 132e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 133e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * In this case the ERI file can be updated from the Phone Support Tool available 134e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * from the Chipset vendor 135e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 136e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville private void loadEriFileFromModem() { 137e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville // NOT IMPLEMENTED, Chipset vendor/Operator specific 138e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 139e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 140e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 141e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Load the ERI file from a File System file 142e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 143e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * In this case the a Phone Support Tool to update the ERI file must be provided 144e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * to the Operator 145e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 146e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville private void loadEriFileFromFileSystem() { 147e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville // NOT IMPLEMENTED, Chipset vendor/Operator specific 148e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 149e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 150e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 151e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Load the ERI file from the application framework resources encoded in XML 152e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 153e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 154e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville private void loadEriFileFromXml() { 15588e3f827e657ef741099b24896c17533fa9ef61eWink Saville XmlPullParser parser = null; 15688e3f827e657ef741099b24896c17533fa9ef61eWink Saville FileInputStream stream = null; 157e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville Resources r = mContext.getResources(); 15888e3f827e657ef741099b24896c17533fa9ef61eWink Saville 15988e3f827e657ef741099b24896c17533fa9ef61eWink Saville try { 16088e3f827e657ef741099b24896c17533fa9ef61eWink Saville if (DBG) Log.d(LOG_TAG, "loadEriFileFromXml: check for alternate file"); 16188e3f827e657ef741099b24896c17533fa9ef61eWink Saville stream = new FileInputStream( 16288e3f827e657ef741099b24896c17533fa9ef61eWink Saville r.getString(com.android.internal.R.string.alternate_eri_file)); 16388e3f827e657ef741099b24896c17533fa9ef61eWink Saville parser = Xml.newPullParser(); 16488e3f827e657ef741099b24896c17533fa9ef61eWink Saville parser.setInput(stream, null); 16588e3f827e657ef741099b24896c17533fa9ef61eWink Saville if (DBG) Log.d(LOG_TAG, "loadEriFileFromXml: opened alternate file"); 16688e3f827e657ef741099b24896c17533fa9ef61eWink Saville } catch (FileNotFoundException e) { 16788e3f827e657ef741099b24896c17533fa9ef61eWink Saville if (DBG) Log.d(LOG_TAG, "loadEriFileFromXml: no alternate file"); 16888e3f827e657ef741099b24896c17533fa9ef61eWink Saville parser = null; 16988e3f827e657ef741099b24896c17533fa9ef61eWink Saville } catch (XmlPullParserException e) { 17088e3f827e657ef741099b24896c17533fa9ef61eWink Saville if (DBG) Log.d(LOG_TAG, "loadEriFileFromXml: no parser for alternate file"); 17188e3f827e657ef741099b24896c17533fa9ef61eWink Saville parser = null; 17288e3f827e657ef741099b24896c17533fa9ef61eWink Saville } 17388e3f827e657ef741099b24896c17533fa9ef61eWink Saville 17488e3f827e657ef741099b24896c17533fa9ef61eWink Saville if (parser == null) { 17588e3f827e657ef741099b24896c17533fa9ef61eWink Saville if (DBG) Log.d(LOG_TAG, "loadEriFileFromXml: open normal file"); 17688e3f827e657ef741099b24896c17533fa9ef61eWink Saville parser = r.getXml(com.android.internal.R.xml.eri); 17788e3f827e657ef741099b24896c17533fa9ef61eWink Saville } 17888e3f827e657ef741099b24896c17533fa9ef61eWink Saville 179e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville try { 180e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville XmlUtils.beginDocument(parser, "EriFile"); 181e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mEriFile.mVersionNumber = Integer.parseInt( 182e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville parser.getAttributeValue(null, "VersionNumber")); 183e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mEriFile.mNumberOfEriEntries = Integer.parseInt( 184e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville parser.getAttributeValue(null, "NumberOfEriEntries")); 185e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mEriFile.mEriFileType = Integer.parseInt( 186e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville parser.getAttributeValue(null, "EriFileType")); 187e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 188e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int parsedEriEntries = 0; 189e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville while(true) { 190e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville XmlUtils.nextElement(parser); 191e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville String name = parser.getName(); 192e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville if (name == null) { 193e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville if (parsedEriEntries != mEriFile.mNumberOfEriEntries) 194e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville Log.e(LOG_TAG, "Error Parsing ERI file: " + mEriFile.mNumberOfEriEntries 195e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville + " defined, " + parsedEriEntries + " parsed!"); 196e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville break; 197e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } else if (name.equals("CallPromptId")) { 198e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int id = Integer.parseInt(parser.getAttributeValue(null, "Id")); 199e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville String text = parser.getAttributeValue(null, "CallPromptText"); 200e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville if (id >= 0 && id <= 2) { 201e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mEriFile.mCallPromptId[id] = text; 202e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } else { 203e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville Log.e(LOG_TAG, "Error Parsing ERI file: found" + id + " CallPromptId"); 204e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 205e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 206e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } else if (name.equals("EriInfo")) { 207e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int roamingIndicator = Integer.parseInt( 208e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville parser.getAttributeValue(null, "RoamingIndicator")); 209e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int iconIndex = Integer.parseInt(parser.getAttributeValue(null, "IconIndex")); 210e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int iconMode = Integer.parseInt(parser.getAttributeValue(null, "IconMode")); 211e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville String eriText = parser.getAttributeValue(null, "EriText"); 212e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int callPromptId = Integer.parseInt( 213e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville parser.getAttributeValue(null, "CallPromptId")); 214e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int alertId = Integer.parseInt(parser.getAttributeValue(null, "AlertId")); 215e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville parsedEriEntries++; 216e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville mEriFile.mRoamIndTable.put(roamingIndicator, new EriInfo (roamingIndicator, 217e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville iconIndex, iconMode, eriText, callPromptId, alertId)); 218e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 219e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 220e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 22188e3f827e657ef741099b24896c17533fa9ef61eWink Saville if (DBG) Log.d(LOG_TAG, "loadEriFileFromXml: eri parsing successful, file loaded"); 222e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville isEriFileLoaded = true; 223e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 224e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } catch (Exception e) { 225e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville Log.e(LOG_TAG, "Got exception while loading ERI file.", e); 226e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } finally { 22788e3f827e657ef741099b24896c17533fa9ef61eWink Saville if (parser instanceof XmlResourceParser) { 22888e3f827e657ef741099b24896c17533fa9ef61eWink Saville ((XmlResourceParser)parser).close(); 22988e3f827e657ef741099b24896c17533fa9ef61eWink Saville } 23088e3f827e657ef741099b24896c17533fa9ef61eWink Saville try { 23188e3f827e657ef741099b24896c17533fa9ef61eWink Saville if (stream != null) { 23288e3f827e657ef741099b24896c17533fa9ef61eWink Saville stream.close(); 23388e3f827e657ef741099b24896c17533fa9ef61eWink Saville } 23488e3f827e657ef741099b24896c17533fa9ef61eWink Saville } catch (IOException e) { 23588e3f827e657ef741099b24896c17533fa9ef61eWink Saville // Ignore 23688e3f827e657ef741099b24896c17533fa9ef61eWink Saville } 237e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 238e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 239e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 240e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 241e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the version of the ERI file 242e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 243e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 244e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int getEriFileVersion() { 245e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville return mEriFile.mVersionNumber; 246e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 247e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 248e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 249e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the number of ERI entries parsed 250e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 251e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 252e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int getEriNumberOfEntries() { 253e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville return mEriFile.mNumberOfEriEntries; 254e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 255e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 256e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 257e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the ERI file type value ( 0 for Phase 0, 1 for Phase 1) 258e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 259e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 260e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int getEriFileType() { 261e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville return mEriFile.mEriFileType; 262e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 263e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 264e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 265e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns if the ERI file has been loaded 266e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 267e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 268e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public boolean isEriFileLoaded() { 269e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville return isEriFileLoaded; 270e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 271e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 272e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 273e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the EriInfo record associated with roamingIndicator 274e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * or null if the entry is not found 275e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 276f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville private EriInfo getEriInfo(int roamingIndicator) { 277e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville if (mEriFile.mRoamIndTable.containsKey(roamingIndicator)) { 278e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville return mEriFile.mRoamIndTable.get(roamingIndicator); 279e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } else { 280e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville return null; 281e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 282e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville } 283f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 284f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville private EriDisplayInformation getEriDisplayInformation(int roamInd, int defRoamInd){ 285f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville //int iconIndex = -1; 286f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville //int iconMode = -1; 287f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville //String iconText = "ERI text"; 288f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriDisplayInformation ret; 289f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 290f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville switch (roamInd) { 291f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville // Handling the standard roaming indicator (non-ERI) 292f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case EriInfo.ROAMING_INDICATOR_ON: 293f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 294f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_INDICATOR_ON, 295f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 296f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText0).toString()); 297f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 2982563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 299f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case EriInfo.ROAMING_INDICATOR_OFF: 300f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 301f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_INDICATOR_OFF, 302f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 303f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText1).toString()); 304f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 305f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 306f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case EriInfo.ROAMING_INDICATOR_FLASH: 307f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 308f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_INDICATOR_FLASH, 309f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_FLASH, 310f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText2).toString()); 311f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 312f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 313f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 314f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville // Handling the standard ERI 315f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case 3: 316f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 317f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville roamInd, 318f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 319f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText3).toString()); 320f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 321f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 322f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case 4: 323f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 324f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville roamInd, 325f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 326f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText4).toString()); 327f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 3282563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 329f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case 5: 330f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 331f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville roamInd, 332f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 333f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText5).toString()); 334f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 3352563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 336f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case 6: 337f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 338f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville roamInd, 339f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 340f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText6).toString()); 341f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 3422563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 343f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case 7: 344f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 345f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville roamInd, 346f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 347f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText7).toString()); 348f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 3492563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 350f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case 8: 351f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 352f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville roamInd, 353f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 354f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText8).toString()); 355f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 3562563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 357f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case 9: 358f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 359f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville roamInd, 360f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 361f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText9).toString()); 362f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 3632563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 364f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case 10: 365f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 366f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville roamInd, 367f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 368f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText10).toString()); 369f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 3702563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 371f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case 11: 372f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 373f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville roamInd, 374f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 375f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText11).toString()); 376f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 3772563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 378f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case 12: 379f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 380f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville roamInd, 381f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 382f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal.R.string.roamingText12).toString()); 383f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 384f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 385f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville // Handling the non standard Enhanced Roaming Indicator (roamInd > 63) 386f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville default: 387f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville if (!isEriFileLoaded) { 388f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville // ERI file NOT loaded 38988e3f827e657ef741099b24896c17533fa9ef61eWink Saville if (DBG) Log.d(LOG_TAG, "ERI File not loaded"); 390f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville if(defRoamInd > 2) { 39171f48a21b0533a5b9dc1c0eab3c675800b78fa5eRobert Greenwalt if (VDBG) Log.v(LOG_TAG, "ERI defRoamInd > 2 ...flashing"); 392f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 393f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_INDICATOR_FLASH, 394f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_FLASH, 395f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal 396f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville .R.string.roamingText2).toString()); 397f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } else { 39871f48a21b0533a5b9dc1c0eab3c675800b78fa5eRobert Greenwalt if (VDBG) Log.v(LOG_TAG, "ERI defRoamInd <= 2"); 399f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville switch (defRoamInd) { 400f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case EriInfo.ROAMING_INDICATOR_ON: 401f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 402f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_INDICATOR_ON, 403f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 404f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal 405f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville .R.string.roamingText0).toString()); 406f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 4072563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 408f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case EriInfo.ROAMING_INDICATOR_OFF: 409f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 410f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_INDICATOR_OFF, 411f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 412f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal 413f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville .R.string.roamingText1).toString()); 414f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 4152563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 416f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville case EriInfo.ROAMING_INDICATOR_FLASH: 417f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 418f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_INDICATOR_FLASH, 419f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_FLASH, 420f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal 421f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville .R.string.roamingText2).toString()); 422f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 4232563a3ac05dd3cf8a07203ae682c243f2e793137Wink Saville 424f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville default: 425f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation(-1, -1, "ERI text"); 426f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 427f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 428f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } else { 429f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville // ERI file loaded 430f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo eriInfo = getEriInfo(roamInd); 431f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo defEriInfo = getEriInfo(defRoamInd); 432f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville if (eriInfo == null) { 43371f48a21b0533a5b9dc1c0eab3c675800b78fa5eRobert Greenwalt if (VDBG) { 43471f48a21b0533a5b9dc1c0eab3c675800b78fa5eRobert Greenwalt Log.v(LOG_TAG, "ERI roamInd " + roamInd 435f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville + " not found in ERI file ...using defRoamInd " + defRoamInd); 43688e3f827e657ef741099b24896c17533fa9ef61eWink Saville } 437f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville if(defEriInfo == null) { 438f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville Log.e(LOG_TAG, "ERI defRoamInd " + defRoamInd 439f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville + " not found in ERI file ...on"); 440f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 441f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_INDICATOR_ON, 442f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville EriInfo.ROAMING_ICON_MODE_NORMAL, 443f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville mContext.getText(com.android.internal 444f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville .R.string.roamingText0).toString()); 445f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 446f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } else { 44771f48a21b0533a5b9dc1c0eab3c675800b78fa5eRobert Greenwalt if (VDBG) { 44871f48a21b0533a5b9dc1c0eab3c675800b78fa5eRobert Greenwalt Log.v(LOG_TAG, "ERI defRoamInd " + defRoamInd + " found in ERI file"); 44988e3f827e657ef741099b24896c17533fa9ef61eWink Saville } 450f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 451f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville defEriInfo.mIconIndex, 452f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville defEriInfo.mIconMode, 453f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville defEriInfo.mEriText); 454f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 455f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } else { 45671f48a21b0533a5b9dc1c0eab3c675800b78fa5eRobert Greenwalt if (VDBG) Log.v(LOG_TAG, "ERI roamInd " + roamInd + " found in ERI file"); 457f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville ret = new EriDisplayInformation( 458f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville eriInfo.mIconIndex, 459f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville eriInfo.mIconMode, 460f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville eriInfo.mEriText); 461f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 462f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 463f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville break; 464f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 46571f48a21b0533a5b9dc1c0eab3c675800b78fa5eRobert Greenwalt if (VDBG) Log.v(LOG_TAG, "Displaying ERI " + ret.toString()); 466f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville return ret; 467f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 468f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 469f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville public int getCdmaEriIconIndex(int roamInd, int defRoamInd){ 470f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville return getEriDisplayInformation(roamInd, defRoamInd).mEriIconIndex; 471f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 472f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 473f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville public int getCdmaEriIconMode(int roamInd, int defRoamInd){ 474f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville return getEriDisplayInformation(roamInd, defRoamInd).mEriIconMode; 475f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 476f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville 477f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville public String getCdmaEriText(int roamInd, int defRoamInd){ 478f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville return getEriDisplayInformation(roamInd, defRoamInd).mEriIconText; 479f315238a2b07c7e84f6ade800e504f520d262e66Wink Saville } 480e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville} 481