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.app.PendingIntent; 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.ServiceManager; 210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 220825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.List; 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic class IccSmsInterfaceManagerProxy extends ISms.Stub { 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private IccSmsInterfaceManager mIccSmsInterfaceManager; 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public IccSmsInterfaceManagerProxy(IccSmsInterfaceManager 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville iccSmsInterfaceManager) { 2922d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville mIccSmsInterfaceManager = iccSmsInterfaceManager; 300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if(ServiceManager.getService("isms") == null) { 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ServiceManager.addService("isms", this); 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setmIccSmsInterfaceManager(IccSmsInterfaceManager iccSmsInterfaceManager) { 3622d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville mIccSmsInterfaceManager = iccSmsInterfaceManager; 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 39cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean 41cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville updateMessageOnIccEf(String callingPackage, int index, int status, byte[] pdu) { 427fce994eb223105829becb6c26e3af7a9739752cDianne Hackborn return mIccSmsInterfaceManager.updateMessageOnIccEf(callingPackage, index, status, pdu); 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 45cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 467fce994eb223105829becb6c26e3af7a9739752cDianne Hackborn public boolean copyMessageToIccEf(String callingPackage, int status, byte[] pdu, 47cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville byte[] smsc) { 487fce994eb223105829becb6c26e3af7a9739752cDianne Hackborn return mIccSmsInterfaceManager.copyMessageToIccEf(callingPackage, status, pdu, smsc); 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 51cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 52cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville public List<SmsRawData> getAllMessagesFromIccEf(String callingPackage) { 537fce994eb223105829becb6c26e3af7a9739752cDianne Hackborn return mIccSmsInterfaceManager.getAllMessagesFromIccEf(callingPackage); 540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 56cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 577fce994eb223105829becb6c26e3af7a9739752cDianne Hackborn public void sendData(String callingPackage, String destAddr, String scAddr, int destPort, 580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent) { 597fce994eb223105829becb6c26e3af7a9739752cDianne Hackborn mIccSmsInterfaceManager.sendData(callingPackage, destAddr, scAddr, destPort, data, 600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville sentIntent, deliveryIntent); 610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 63cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 647fce994eb223105829becb6c26e3af7a9739752cDianne Hackborn public void sendText(String callingPackage, String destAddr, String scAddr, 650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String text, PendingIntent sentIntent, PendingIntent deliveryIntent) { 667fce994eb223105829becb6c26e3af7a9739752cDianne Hackborn mIccSmsInterfaceManager.sendText(callingPackage, destAddr, scAddr, text, sentIntent, 677fce994eb223105829becb6c26e3af7a9739752cDianne Hackborn deliveryIntent); 680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 70cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 717fce994eb223105829becb6c26e3af7a9739752cDianne Hackborn public void sendMultipartText(String callingPackage, String destAddr, String scAddr, 720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville List<String> parts, List<PendingIntent> sentIntents, 73cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville List<PendingIntent> deliveryIntents) { 747fce994eb223105829becb6c26e3af7a9739752cDianne Hackborn mIccSmsInterfaceManager.sendMultipartText(callingPackage, destAddr, scAddr, 750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville parts, sentIntents, deliveryIntents); 760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 78cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean enableCellBroadcast(int messageIdentifier) throws android.os.RemoteException { 800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccSmsInterfaceManager.enableCellBroadcast(messageIdentifier); 810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 83cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean disableCellBroadcast(int messageIdentifier) throws android.os.RemoteException { 850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccSmsInterfaceManager.disableCellBroadcast(messageIdentifier); 860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 88cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean enableCellBroadcastRange(int startMessageId, int endMessageId) 900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville throws android.os.RemoteException { 910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccSmsInterfaceManager.enableCellBroadcastRange(startMessageId, endMessageId); 920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 94cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean disableCellBroadcastRange(int startMessageId, int endMessageId) 960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville throws android.os.RemoteException { 970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccSmsInterfaceManager.disableCellBroadcastRange(startMessageId, endMessageId); 980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 994658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby 100cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1014658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby public int getPremiumSmsPermission(String packageName) { 1024658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby return mIccSmsInterfaceManager.getPremiumSmsPermission(packageName); 1034658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby } 1044658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby 105cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1064658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby public void setPremiumSmsPermission(String packageName, int permission) { 1074658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby mIccSmsInterfaceManager.setPremiumSmsPermission(packageName, permission); 1084658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby } 1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 110