10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/*
20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2006 The Android Open Source Project
30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License.
60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at
70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software
110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and
140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License.
150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony;
180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.io.FileDescriptor;
200825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.io.PrintWriter;
210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
22a8467dd0c524787104b1ccdddc5e8af10ba729edWink Savilleimport android.os.RemoteException;
230825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.ServiceManager;
240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
260825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic class PhoneSubInfoProxy extends IPhoneSubInfo.Stub {
270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private PhoneSubInfo mPhoneSubInfo;
280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public PhoneSubInfoProxy(PhoneSubInfo phoneSubInfo) {
300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        mPhoneSubInfo = phoneSubInfo;
310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void setmPhoneSubInfo(PhoneSubInfo phoneSubInfo) {
3422d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mPhoneSubInfo = phoneSubInfo;
350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
37cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getDeviceId() {
390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getDeviceId();
400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
42054702be1e6900b20d825b24f34a4387572c2321Amit Mahajan    public String getImei() {
43054702be1e6900b20d825b24f34a4387572c2321Amit Mahajan        return mPhoneSubInfo.getImei();
44054702be1e6900b20d825b24f34a4387572c2321Amit Mahajan    }
45054702be1e6900b20d825b24f34a4387572c2321Amit Mahajan
462351b17aba5350004fc76707f3b3d2859ce773c8xinhe    public String getNai() {
472351b17aba5350004fc76707f3b3d2859ce773c8xinhe        return mPhoneSubInfo.getNai();
482351b17aba5350004fc76707f3b3d2859ce773c8xinhe    }
492351b17aba5350004fc76707f3b3d2859ce773c8xinhe
50cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getDeviceSvn() {
520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getDeviceSvn();
530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Retrieves the unique subscriber ID, e.g., IMSI for GSM phones.
570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
58cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getSubscriberId() {
600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getSubscriberId();
610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
640e4abef0d7e978d4c3dea5199f451a1c69158d03Sungmin Choi     * Retrieves the Group Identifier Level1 for GSM phones.
650e4abef0d7e978d4c3dea5199f451a1c69158d03Sungmin Choi     */
660e4abef0d7e978d4c3dea5199f451a1c69158d03Sungmin Choi    public String getGroupIdLevel1() {
670e4abef0d7e978d4c3dea5199f451a1c69158d03Sungmin Choi        return mPhoneSubInfo.getGroupIdLevel1();
680e4abef0d7e978d4c3dea5199f451a1c69158d03Sungmin Choi    }
690e4abef0d7e978d4c3dea5199f451a1c69158d03Sungmin Choi
700e4abef0d7e978d4c3dea5199f451a1c69158d03Sungmin Choi    /**
710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Retrieves the serial number of the ICC, if applicable.
720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
73cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getIccSerialNumber() {
750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getIccSerialNumber();
760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Retrieves the phone number string for line 1.
800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
81cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getLine1Number() {
830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getLine1Number();
840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Retrieves the alpha identifier for line 1.
880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
89cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getLine1AlphaTag() {
910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getLine1AlphaTag();
920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Retrieves the MSISDN Number.
960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
97cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getMsisdn() {
990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getMsisdn();
1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Retrieves the voice mail number.
1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
105cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getVoiceMailNumber() {
1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getVoiceMailNumber();
1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Retrieves the complete voice mail number.
1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
113cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getCompleteVoiceMailNumber() {
1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getCompleteVoiceMailNumber();
1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Retrieves the alpha identifier associated with the voice mail number.
1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
121cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getVoiceMailAlphaTag() {
1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getVoiceMailAlphaTag();
1240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Returns the IMS private user identity (IMPI) that was loaded from the ISIM.
1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return the IMPI, or null if not present or not loaded
1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
130cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getIsimImpi() {
1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getIsimImpi();
1330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Returns the IMS home network domain name that was loaded from the ISIM.
1370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return the IMS domain name, or null if not present or not loaded
1380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
139cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
1400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String getIsimDomain() {
1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getIsimDomain();
1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Returns the IMS public user identities (IMPU) that were loaded from the ISIM.
1460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return an array of IMPU strings, with one IMPU per string, or null if
1470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *      not present or not loaded
1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
149cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
1500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String[] getIsimImpu() {
1510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mPhoneSubInfo.getIsimImpu();
1520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
154cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
1555f8c9d88fe53b4b5fa9497a90302280e1b45ac3fStuart Scott    public String getDeviceIdForPhone(int phoneId) throws RemoteException {
1565f8c9d88fe53b4b5fa9497a90302280e1b45ac3fStuart Scott        // FIXME: getDeviceIdForPhone
157a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return null;
158a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
159a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
160a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
161b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getImeiForSubscriber(int subId) throws RemoteException {
1626a5ef38e6ae3d3a3ad90ae180388fe85de0495a2Wink Saville        // FIXME: getImeiForSubscriber
163054702be1e6900b20d825b24f34a4387572c2321Amit Mahajan        return null;
164054702be1e6900b20d825b24f34a4387572c2321Amit Mahajan    }
165054702be1e6900b20d825b24f34a4387572c2321Amit Mahajan
166054702be1e6900b20d825b24f34a4387572c2321Amit Mahajan    @Override
167b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getDeviceSvnUsingSubId(int subId) throws RemoteException {
1686bc4098827f3070a44b5e51508b455d7c7be9c07Wink Saville        // FIXME: getDeviceSvnUsingSubId
1696bc4098827f3070a44b5e51508b455d7c7be9c07Wink Saville        return null;
1706bc4098827f3070a44b5e51508b455d7c7be9c07Wink Saville    }
1716bc4098827f3070a44b5e51508b455d7c7be9c07Wink Saville
1726bc4098827f3070a44b5e51508b455d7c7be9c07Wink Saville    @Override
173b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getNaiForSubscriber(int subId) throws RemoteException {
1742351b17aba5350004fc76707f3b3d2859ce773c8xinhe        // FIXME: NaiForSubscriber
1752351b17aba5350004fc76707f3b3d2859ce773c8xinhe        return null;
1762351b17aba5350004fc76707f3b3d2859ce773c8xinhe    }
1772351b17aba5350004fc76707f3b3d2859ce773c8xinhe
1782351b17aba5350004fc76707f3b3d2859ce773c8xinhe    @Override
179b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getSubscriberIdForSubscriber(int subId) throws RemoteException {
1806a5ef38e6ae3d3a3ad90ae180388fe85de0495a2Wink Saville        // FIXME: getSubscriberIdForSubscriber
181a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return null;
182a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
183a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
184a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
185b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getGroupIdLevel1ForSubscriber(int subId) throws RemoteException {
1866a5ef38e6ae3d3a3ad90ae180388fe85de0495a2Wink Saville        // FIXME: getGroupIdLevel1ForSubscriber
187a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return null;
188a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
189a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
190a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
191b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getIccSerialNumberForSubscriber(int subId) throws RemoteException {
1926a5ef38e6ae3d3a3ad90ae180388fe85de0495a2Wink Saville        // FIXME: getIccSerialNumberForSubscriber
193a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return null;
194a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
195a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
196a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
197b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getLine1NumberForSubscriber(int subId) throws RemoteException {
1986a5ef38e6ae3d3a3ad90ae180388fe85de0495a2Wink Saville        // FIXME: getLine1NumberForSubscriber
199a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return null;
200a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
201a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
202a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
203b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getLine1AlphaTagForSubscriber(int subId) throws RemoteException {
2046a5ef38e6ae3d3a3ad90ae180388fe85de0495a2Wink Saville        // FIXME: getLine1AlphaTagForSubscriber
205a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return null;
206a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
207a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
208a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
209b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getMsisdnForSubscriber(int subId) throws RemoteException {
2106a5ef38e6ae3d3a3ad90ae180388fe85de0495a2Wink Saville        // FIXME: getMsisdnForSubscriber
211a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return null;
212a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
213a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
214a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
215b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getVoiceMailNumberForSubscriber(int subId) throws RemoteException {
2166a5ef38e6ae3d3a3ad90ae180388fe85de0495a2Wink Saville        // FIXME: getVoiceMailNumberForSubscriber
217a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return null;
218a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
219a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
220a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
221b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getCompleteVoiceMailNumberForSubscriber(int subId) throws RemoteException {
2226a5ef38e6ae3d3a3ad90ae180388fe85de0495a2Wink Saville        // FIXME: getCompleteVoiceMailNumberForSubscriber
223a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return null;
224a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
225a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
226a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
227b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getVoiceMailAlphaTagForSubscriber(int subId) throws RemoteException {
2286a5ef38e6ae3d3a3ad90ae180388fe85de0495a2Wink Saville        // FIXME: getVoiceMailAlphaTagForSubscriber
229a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return null;
230a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
231a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
232a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    /**
233a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * Returns the IMS Service Table (IST) that was loaded from the ISIM.
234a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * @return IMS Service Table or null if not present or not loaded
235a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     */
236a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
237a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    public String getIsimIst() {
238a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return mPhoneSubInfo.getIsimIst();
239a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
240a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
241a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    /**
242a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * Returns the IMS Proxy Call Session Control Function(PCSCF) that were loaded from the ISIM.
243a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * @return an array of  PCSCF strings with one PCSCF per string, or null if
244a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     *      not present or not loaded
245a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     */
246a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
247a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    public String[] getIsimPcscf() {
248a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return mPhoneSubInfo.getIsimPcscf();
249a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
250a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
251a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    /**
252a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * Returns the response of ISIM Authetification through RIL.
253a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * Returns null if the Authentification hasn't been successed or isn't present iphonesubinfo.
254a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * @return the response of ISIM Authetification, or null if not available
255a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * @deprecated
256a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * @see getIccSimChallengeResponse
257a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     */
258a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    public String getIsimChallengeResponse(String nonce) {
259a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return mPhoneSubInfo.getIsimChallengeResponse(nonce);
260a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
261a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
262a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    /**
263a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * Returns the response of the SIM application on the UICC to authentication
264a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * challenge/response algorithm. The data string and challenge response are
265a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * Base64 encoded Strings.
266a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * Can support EAP-SIM, EAP-AKA with results encoded per 3GPP TS 31.102.
267a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     *
268a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * @param appType ICC application type (@see com.android.internal.telephony.PhoneConstants#APPTYPE_xxx)
269a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * @param data authentication challenge data
270a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     * @return challenge response
271a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville     */
272b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville    public String getIccSimChallengeResponse(int subId, int appType, String data) {
273a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville        return mPhoneSubInfo.getIccSimChallengeResponse(subId, appType, data);
274a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    }
275a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville
276a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville    @Override
2770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
2780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        mPhoneSubInfo.dump(fd, pw, args);
2790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville}
281