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