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) { 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville this.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) { 360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville this.mIccSmsInterfaceManager = iccSmsInterfaceManager; 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville updateMessageOnIccEf(int index, int status, byte[] pdu) throws android.os.RemoteException { 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccSmsInterfaceManager.updateMessageOnIccEf(index, status, pdu); 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean copyMessageToIccEf(int status, byte[] pdu, 450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville byte[] smsc) throws android.os.RemoteException { 460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccSmsInterfaceManager.copyMessageToIccEf(status, pdu, smsc); 470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public List<SmsRawData> getAllMessagesFromIccEf() throws android.os.RemoteException { 500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccSmsInterfaceManager.getAllMessagesFromIccEf(); 510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void sendData(String destAddr, String scAddr, int destPort, 540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent) { 550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mIccSmsInterfaceManager.sendData(destAddr, scAddr, destPort, data, 560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville sentIntent, deliveryIntent); 570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void sendText(String destAddr, String scAddr, 600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String text, PendingIntent sentIntent, PendingIntent deliveryIntent) { 610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mIccSmsInterfaceManager.sendText(destAddr, scAddr, text, sentIntent, deliveryIntent); 620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void sendMultipartText(String destAddr, String scAddr, 650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville List<String> parts, List<PendingIntent> sentIntents, 660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville List<PendingIntent> deliveryIntents) throws android.os.RemoteException { 670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mIccSmsInterfaceManager.sendMultipartText(destAddr, scAddr, 680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville parts, sentIntents, deliveryIntents); 690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean enableCellBroadcast(int messageIdentifier) throws android.os.RemoteException { 720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccSmsInterfaceManager.enableCellBroadcast(messageIdentifier); 730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean disableCellBroadcast(int messageIdentifier) throws android.os.RemoteException { 760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccSmsInterfaceManager.disableCellBroadcast(messageIdentifier); 770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean enableCellBroadcastRange(int startMessageId, int endMessageId) 800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville throws android.os.RemoteException { 810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccSmsInterfaceManager.enableCellBroadcastRange(startMessageId, endMessageId); 820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean disableCellBroadcastRange(int startMessageId, int endMessageId) 850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville throws android.os.RemoteException { 860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mIccSmsInterfaceManager.disableCellBroadcastRange(startMessageId, endMessageId); 870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 884658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby 894658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby public int getPremiumSmsPermission(String packageName) { 904658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby return mIccSmsInterfaceManager.getPremiumSmsPermission(packageName); 914658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby } 924658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby 934658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby public void setPremiumSmsPermission(String packageName, int permission) { 944658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby mIccSmsInterfaceManager.setPremiumSmsPermission(packageName, permission); 954658a1a8c23111d5cc89feb040ce547a7b65dfb0Jake Hamby } 960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 97