10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2008 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 android.content.pm.PackageManager; 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.AsyncResult; 210825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Handler; 220825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Looper; 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Message; 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.ServiceManager; 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.PhoneNumberUtils; 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.util.Log; 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.ArrayList; 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.List; 300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * SimPhoneBookInterfaceManager to provide an inter-process communication to 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * access ADN-like SIM records. 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 360825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic class IccPhoneBookInterfaceManagerProxy extends IIccPhoneBook.Stub { 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private IccPhoneBookInterfaceManager mIccPhoneBookInterfaceManager; 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public IccPhoneBookInterfaceManagerProxy(IccPhoneBookInterfaceManager 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville iccPhoneBookInterfaceManager) { 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mIccPhoneBookInterfaceManager = iccPhoneBookInterfaceManager; 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if(ServiceManager.getService("simphonebook") == null) { 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ServiceManager.addService("simphonebook", this); 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setmIccPhoneBookInterfaceManager( 480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville IccPhoneBookInterfaceManager iccPhoneBookInterfaceManager) { 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville this.mIccPhoneBookInterfaceManager = iccPhoneBookInterfaceManager; 500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean 530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville updateAdnRecordsInEfBySearch (int efid, 540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String oldTag, String oldPhoneNumber, 550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String newTag, String newPhoneNumber, 560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String pin2) throws android.os.RemoteException { 570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccPhoneBookInterfaceManager.updateAdnRecordsInEfBySearch( 580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville efid, oldTag, oldPhoneNumber, newTag, newPhoneNumber, pin2); 590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean 620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville updateAdnRecordsInEfByIndex(int efid, String newTag, 630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String newPhoneNumber, int index, String pin2) throws android.os.RemoteException { 640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccPhoneBookInterfaceManager.updateAdnRecordsInEfByIndex(efid, 650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville newTag, newPhoneNumber, index, pin2); 660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int[] getAdnRecordsSize(int efid) throws android.os.RemoteException { 690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccPhoneBookInterfaceManager.getAdnRecordsSize(efid); 700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public List<AdnRecord> getAdnRecordsInEf(int efid) throws android.os.RemoteException { 730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccPhoneBookInterfaceManager.getAdnRecordsInEf(efid); 740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 76