Loading src/java/android/telephony/SmsManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -329,7 +329,8 @@ public final class SmsManager { try { ISms iccISms = ISms.Stub.asInterface(ServiceManager.getService("isms")); if (iccISms != null) { iccISms.injectSmsPdu(pdu, format, receivedIntent); iccISms.injectSmsPduForSubscriber( getSubscriptionId(), pdu, format, receivedIntent); } } catch (RemoteException ex) { // ignore it Loading src/java/com/android/internal/telephony/UiccSmsController.java +30 −75 Original line number Diff line number Diff line Loading @@ -52,13 +52,7 @@ public class UiccSmsController extends ISms.Stub { } } public boolean updateMessageOnIccEf(String callingPackage, int index, int status, byte[] pdu) throws android.os.RemoteException { return updateMessageOnIccEfForSubscriber(getPreferredSmsSubscription(), callingPackage, index, status, pdu); } @Override public boolean updateMessageOnIccEfForSubscriber(int subId, String callingPackage, int index, int status, byte[] pdu) throws android.os.RemoteException { Loading @@ -66,53 +60,39 @@ public class UiccSmsController extends ISms.Stub { if (iccSmsIntMgr != null) { return iccSmsIntMgr.updateMessageOnIccEf(callingPackage, index, status, pdu); } else { Rlog.e(LOG_TAG,"updateMessageOnIccEf iccSmsIntMgr is null" + Rlog.e(LOG_TAG,"updateMessageOnIccEfForSubscriber iccSmsIntMgr is null" + " for Subscription: " + subId); return false; } } public boolean copyMessageToIccEf(String callingPackage, int status, byte[] pdu, byte[] smsc) throws android.os.RemoteException { return copyMessageToIccEfForSubscriber(getPreferredSmsSubscription(), callingPackage, status, pdu, smsc); } @Override public boolean copyMessageToIccEfForSubscriber(int subId, String callingPackage, int status, byte[] pdu, byte[] smsc) throws android.os.RemoteException { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null) { return iccSmsIntMgr.copyMessageToIccEf(callingPackage, status, pdu, smsc); } else { Rlog.e(LOG_TAG,"copyMessageToIccEf iccSmsIntMgr is null" + Rlog.e(LOG_TAG,"copyMessageToIccEfForSubscriber iccSmsIntMgr is null" + " for Subscription: " + subId); return false; } } public List<SmsRawData> getAllMessagesFromIccEf(String callingPackage) throws android.os.RemoteException { return getAllMessagesFromIccEfForSubscriber(getPreferredSmsSubscription(), callingPackage); } @Override public List<SmsRawData> getAllMessagesFromIccEfForSubscriber(int subId, String callingPackage) throws android.os.RemoteException { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null) { return iccSmsIntMgr.getAllMessagesFromIccEf(callingPackage); } else { Rlog.e(LOG_TAG,"getAllMessagesFromIccEf iccSmsIntMgr is" + Rlog.e(LOG_TAG,"getAllMessagesFromIccEfForSubscriber iccSmsIntMgr is" + " null for Subscription: " + subId); return null; } } public void sendData(String callingPackage, String destAddr, String scAddr, int destPort, byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent) { sendDataForSubscriber(getPreferredSmsSubscription(), callingPackage, destAddr, scAddr, destPort, data, sentIntent, deliveryIntent); } @Override public void sendDataForSubscriber(int subId, String callingPackage, String destAddr, String scAddr, int destPort, byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent) { Loading @@ -121,7 +101,7 @@ public class UiccSmsController extends ISms.Stub { iccSmsIntMgr.sendData(callingPackage, destAddr, scAddr, destPort, data, sentIntent, deliveryIntent); } else { Rlog.e(LOG_TAG,"sendData iccSmsIntMgr is null for" + Rlog.e(LOG_TAG,"sendDataForSubscriber iccSmsIntMgr is null for" + " Subscription: " + subId); // TODO: Use a more specific error code to replace RESULT_ERROR_GENERIC_FAILURE. sendErrorInPendingIntent(sentIntent, SmsManager.RESULT_ERROR_GENERIC_FAILURE); Loading @@ -147,6 +127,7 @@ public class UiccSmsController extends ISms.Stub { text, sentIntent, deliveryIntent); } @Override public void sendTextForSubscriber(int subId, String callingPackage, String destAddr, String scAddr, String text, PendingIntent sentIntent, PendingIntent deliveryIntent) { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); Loading @@ -154,7 +135,7 @@ public class UiccSmsController extends ISms.Stub { iccSmsIntMgr.sendText(callingPackage, destAddr, scAddr, text, sentIntent, deliveryIntent); } else { Rlog.e(LOG_TAG,"sendText iccSmsIntMgr is null for" + Rlog.e(LOG_TAG,"sendTextForSubscriber iccSmsIntMgr is null for" + " Subscription: " + subId); sendErrorInPendingIntent(sentIntent, SmsManager.RESULT_ERROR_GENERIC_FAILURE); } Loading @@ -180,6 +161,7 @@ public class UiccSmsController extends ISms.Stub { scAddr, parts, sentIntents, deliveryIntents); } @Override public void sendMultipartTextForSubscriber(int subId, String callingPackage, String destAddr, String scAddr, List<String> parts, List<PendingIntent> sentIntents, List<PendingIntent> deliveryIntents) Loading @@ -189,72 +171,53 @@ public class UiccSmsController extends ISms.Stub { iccSmsIntMgr.sendMultipartText(callingPackage, destAddr, scAddr, parts, sentIntents, deliveryIntents); } else { Rlog.e(LOG_TAG,"sendMultipartText iccSmsIntMgr is null for" + Rlog.e(LOG_TAG,"sendMultipartTextForSubscriber iccSmsIntMgr is null for" + " Subscription: " + subId); sendErrorInPendingIntents(sentIntents, SmsManager.RESULT_ERROR_GENERIC_FAILURE); } } public boolean enableCellBroadcast(int messageIdentifier, int ranType) throws android.os.RemoteException { return enableCellBroadcastForSubscriber(getPreferredSmsSubscription(), messageIdentifier, ranType); } @Override public boolean enableCellBroadcastForSubscriber(int subId, int messageIdentifier, int ranType) throws android.os.RemoteException { return enableCellBroadcastRangeForSubscriber(subId, messageIdentifier, messageIdentifier, ranType); } public boolean enableCellBroadcastRange(int startMessageId, int endMessageId, int ranType) throws android.os.RemoteException { return enableCellBroadcastRangeForSubscriber(getPreferredSmsSubscription(), startMessageId, endMessageId, ranType); } @Override public boolean enableCellBroadcastRangeForSubscriber(int subId, int startMessageId, int endMessageId, int ranType) throws android.os.RemoteException { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null ) { return iccSmsIntMgr.enableCellBroadcastRange(startMessageId, endMessageId, ranType); } else { Rlog.e(LOG_TAG,"enableCellBroadcast iccSmsIntMgr is null for" + Rlog.e(LOG_TAG,"enableCellBroadcastRangeForSubscriber iccSmsIntMgr is null for" + " Subscription: " + subId); } return false; } public boolean disableCellBroadcast(int messageIdentifier, int ranType) throws android.os.RemoteException { return disableCellBroadcastForSubscriber(getPreferredSmsSubscription(), messageIdentifier, ranType); } @Override public boolean disableCellBroadcastForSubscriber(int subId, int messageIdentifier, int ranType) throws android.os.RemoteException { return disableCellBroadcastRangeForSubscriber(subId, messageIdentifier, messageIdentifier, ranType); } public boolean disableCellBroadcastRange(int startMessageId, int endMessageId, int ranType) throws android.os.RemoteException { return disableCellBroadcastRangeForSubscriber(getPreferredSmsSubscription(), startMessageId, endMessageId, ranType); } @Override public boolean disableCellBroadcastRangeForSubscriber(int subId, int startMessageId, int endMessageId, int ranType) throws android.os.RemoteException { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null ) { return iccSmsIntMgr.disableCellBroadcastRange(startMessageId, endMessageId, ranType); } else { Rlog.e(LOG_TAG,"disableCellBroadcast iccSmsIntMgr is null for" + Rlog.e(LOG_TAG,"disableCellBroadcastRangeForSubscriber iccSmsIntMgr is null for" + " Subscription:"+subId); } return false; } @Override public int getPremiumSmsPermission(String packageName) { return getPremiumSmsPermissionForSubscriber(getPreferredSmsSubscription(), packageName); } Loading @@ -265,12 +228,13 @@ public class UiccSmsController extends ISms.Stub { if (iccSmsIntMgr != null ) { return iccSmsIntMgr.getPremiumSmsPermission(packageName); } else { Rlog.e(LOG_TAG, "getPremiumSmsPermission iccSmsIntMgr is null"); Rlog.e(LOG_TAG, "getPremiumSmsPermissionForSubscriber iccSmsIntMgr is null"); } //TODO Rakesh return 0; } @Override public void setPremiumSmsPermission(String packageName, int permission) { setPremiumSmsPermissionForSubscriber(getPreferredSmsSubscription(), packageName, permission); } Loading @@ -281,21 +245,17 @@ public class UiccSmsController extends ISms.Stub { if (iccSmsIntMgr != null ) { iccSmsIntMgr.setPremiumSmsPermission(packageName, permission); } else { Rlog.e(LOG_TAG, "setPremiumSmsPermission iccSmsIntMgr is null"); Rlog.e(LOG_TAG, "setPremiumSmsPermissionForSubscriber iccSmsIntMgr is null"); } } public boolean isImsSmsSupported() { return isImsSmsSupportedForSubscriber(getPreferredSmsSubscription()); } @Override public boolean isImsSmsSupportedForSubscriber(int subId) { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null ) { return iccSmsIntMgr.isImsSmsSupported(); } else { Rlog.e(LOG_TAG, "isImsSmsSupported iccSmsIntMgr is null"); Rlog.e(LOG_TAG, "isImsSmsSupportedForSubscriber iccSmsIntMgr is null"); } return false; } Loading Loading @@ -333,32 +293,25 @@ public class UiccSmsController extends ISms.Stub { return false; } public String getImsSmsFormat() { return getImsSmsFormatForSubscriber(getPreferredSmsSubscription()); } @Override public String getImsSmsFormatForSubscriber(int subId) { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null ) { return iccSmsIntMgr.getImsSmsFormat(); } else { Rlog.e(LOG_TAG, "getImsSmsFormat iccSmsIntMgr is null"); Rlog.e(LOG_TAG, "getImsSmsFormatForSubscriber iccSmsIntMgr is null"); } return null; } @Override public void injectSmsPdu(byte[] pdu, String format, PendingIntent receivedIntent) { injectSmsPdu(SubscriptionManager.getDefaultSmsSubId(), pdu, format, receivedIntent); } // FIXME: Add injectSmsPdu to ISms.aidl public void injectSmsPdu(int subId, byte[] pdu, String format, PendingIntent receivedIntent) { public void injectSmsPduForSubscriber( int subId, byte[] pdu, String format, PendingIntent receivedIntent) { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null) { iccSmsIntMgr.injectSmsPdu(pdu, format, receivedIntent); } else { Rlog.e(LOG_TAG, "injectSmsPduForSubscriber iccSmsIntMgr is null"); // RESULT_SMS_GENERIC_ERROR is documented for injectSmsPdu sendErrorInPendingIntent(receivedIntent, Intents.RESULT_SMS_GENERIC_ERROR); } Loading Loading @@ -396,6 +349,7 @@ public class UiccSmsController extends ISms.Stub { /** Gets User preferred SMS subscription */ @Override public int getPreferredSmsSubscription() { return SubscriptionController.getInstance().getDefaultSmsSubId(); } Loading @@ -403,6 +357,7 @@ public class UiccSmsController extends ISms.Stub { /** * Get SMS prompt property, enabled or not **/ @Override public boolean isSMSPromptEnabled() { return PhoneFactory.isSMSPromptEnabled(); } Loading tests/telephonytests/src/com/android/internal/telephony/SimSmsTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,9 @@ public class SimSmsTest extends TestCase { ISms sms = ISms.Stub.asInterface(ServiceManager.getService("isms")); assertNotNull(sms); List<SmsRawData> records = sms.getAllMessagesFromIccEf(ActivityThread.currentPackageName()); int preferredSmsSubscription = sms.getPreferredSmsSubscription(); List<SmsRawData> records = sms.getAllMessagesFromIccEfForSubscriber( preferredSmsSubscription, ActivityThread.currentPackageName()); assertNotNull(records); assertTrue(records.size() >= 0); Loading Loading
src/java/android/telephony/SmsManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -329,7 +329,8 @@ public final class SmsManager { try { ISms iccISms = ISms.Stub.asInterface(ServiceManager.getService("isms")); if (iccISms != null) { iccISms.injectSmsPdu(pdu, format, receivedIntent); iccISms.injectSmsPduForSubscriber( getSubscriptionId(), pdu, format, receivedIntent); } } catch (RemoteException ex) { // ignore it Loading
src/java/com/android/internal/telephony/UiccSmsController.java +30 −75 Original line number Diff line number Diff line Loading @@ -52,13 +52,7 @@ public class UiccSmsController extends ISms.Stub { } } public boolean updateMessageOnIccEf(String callingPackage, int index, int status, byte[] pdu) throws android.os.RemoteException { return updateMessageOnIccEfForSubscriber(getPreferredSmsSubscription(), callingPackage, index, status, pdu); } @Override public boolean updateMessageOnIccEfForSubscriber(int subId, String callingPackage, int index, int status, byte[] pdu) throws android.os.RemoteException { Loading @@ -66,53 +60,39 @@ public class UiccSmsController extends ISms.Stub { if (iccSmsIntMgr != null) { return iccSmsIntMgr.updateMessageOnIccEf(callingPackage, index, status, pdu); } else { Rlog.e(LOG_TAG,"updateMessageOnIccEf iccSmsIntMgr is null" + Rlog.e(LOG_TAG,"updateMessageOnIccEfForSubscriber iccSmsIntMgr is null" + " for Subscription: " + subId); return false; } } public boolean copyMessageToIccEf(String callingPackage, int status, byte[] pdu, byte[] smsc) throws android.os.RemoteException { return copyMessageToIccEfForSubscriber(getPreferredSmsSubscription(), callingPackage, status, pdu, smsc); } @Override public boolean copyMessageToIccEfForSubscriber(int subId, String callingPackage, int status, byte[] pdu, byte[] smsc) throws android.os.RemoteException { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null) { return iccSmsIntMgr.copyMessageToIccEf(callingPackage, status, pdu, smsc); } else { Rlog.e(LOG_TAG,"copyMessageToIccEf iccSmsIntMgr is null" + Rlog.e(LOG_TAG,"copyMessageToIccEfForSubscriber iccSmsIntMgr is null" + " for Subscription: " + subId); return false; } } public List<SmsRawData> getAllMessagesFromIccEf(String callingPackage) throws android.os.RemoteException { return getAllMessagesFromIccEfForSubscriber(getPreferredSmsSubscription(), callingPackage); } @Override public List<SmsRawData> getAllMessagesFromIccEfForSubscriber(int subId, String callingPackage) throws android.os.RemoteException { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null) { return iccSmsIntMgr.getAllMessagesFromIccEf(callingPackage); } else { Rlog.e(LOG_TAG,"getAllMessagesFromIccEf iccSmsIntMgr is" + Rlog.e(LOG_TAG,"getAllMessagesFromIccEfForSubscriber iccSmsIntMgr is" + " null for Subscription: " + subId); return null; } } public void sendData(String callingPackage, String destAddr, String scAddr, int destPort, byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent) { sendDataForSubscriber(getPreferredSmsSubscription(), callingPackage, destAddr, scAddr, destPort, data, sentIntent, deliveryIntent); } @Override public void sendDataForSubscriber(int subId, String callingPackage, String destAddr, String scAddr, int destPort, byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent) { Loading @@ -121,7 +101,7 @@ public class UiccSmsController extends ISms.Stub { iccSmsIntMgr.sendData(callingPackage, destAddr, scAddr, destPort, data, sentIntent, deliveryIntent); } else { Rlog.e(LOG_TAG,"sendData iccSmsIntMgr is null for" + Rlog.e(LOG_TAG,"sendDataForSubscriber iccSmsIntMgr is null for" + " Subscription: " + subId); // TODO: Use a more specific error code to replace RESULT_ERROR_GENERIC_FAILURE. sendErrorInPendingIntent(sentIntent, SmsManager.RESULT_ERROR_GENERIC_FAILURE); Loading @@ -147,6 +127,7 @@ public class UiccSmsController extends ISms.Stub { text, sentIntent, deliveryIntent); } @Override public void sendTextForSubscriber(int subId, String callingPackage, String destAddr, String scAddr, String text, PendingIntent sentIntent, PendingIntent deliveryIntent) { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); Loading @@ -154,7 +135,7 @@ public class UiccSmsController extends ISms.Stub { iccSmsIntMgr.sendText(callingPackage, destAddr, scAddr, text, sentIntent, deliveryIntent); } else { Rlog.e(LOG_TAG,"sendText iccSmsIntMgr is null for" + Rlog.e(LOG_TAG,"sendTextForSubscriber iccSmsIntMgr is null for" + " Subscription: " + subId); sendErrorInPendingIntent(sentIntent, SmsManager.RESULT_ERROR_GENERIC_FAILURE); } Loading @@ -180,6 +161,7 @@ public class UiccSmsController extends ISms.Stub { scAddr, parts, sentIntents, deliveryIntents); } @Override public void sendMultipartTextForSubscriber(int subId, String callingPackage, String destAddr, String scAddr, List<String> parts, List<PendingIntent> sentIntents, List<PendingIntent> deliveryIntents) Loading @@ -189,72 +171,53 @@ public class UiccSmsController extends ISms.Stub { iccSmsIntMgr.sendMultipartText(callingPackage, destAddr, scAddr, parts, sentIntents, deliveryIntents); } else { Rlog.e(LOG_TAG,"sendMultipartText iccSmsIntMgr is null for" + Rlog.e(LOG_TAG,"sendMultipartTextForSubscriber iccSmsIntMgr is null for" + " Subscription: " + subId); sendErrorInPendingIntents(sentIntents, SmsManager.RESULT_ERROR_GENERIC_FAILURE); } } public boolean enableCellBroadcast(int messageIdentifier, int ranType) throws android.os.RemoteException { return enableCellBroadcastForSubscriber(getPreferredSmsSubscription(), messageIdentifier, ranType); } @Override public boolean enableCellBroadcastForSubscriber(int subId, int messageIdentifier, int ranType) throws android.os.RemoteException { return enableCellBroadcastRangeForSubscriber(subId, messageIdentifier, messageIdentifier, ranType); } public boolean enableCellBroadcastRange(int startMessageId, int endMessageId, int ranType) throws android.os.RemoteException { return enableCellBroadcastRangeForSubscriber(getPreferredSmsSubscription(), startMessageId, endMessageId, ranType); } @Override public boolean enableCellBroadcastRangeForSubscriber(int subId, int startMessageId, int endMessageId, int ranType) throws android.os.RemoteException { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null ) { return iccSmsIntMgr.enableCellBroadcastRange(startMessageId, endMessageId, ranType); } else { Rlog.e(LOG_TAG,"enableCellBroadcast iccSmsIntMgr is null for" + Rlog.e(LOG_TAG,"enableCellBroadcastRangeForSubscriber iccSmsIntMgr is null for" + " Subscription: " + subId); } return false; } public boolean disableCellBroadcast(int messageIdentifier, int ranType) throws android.os.RemoteException { return disableCellBroadcastForSubscriber(getPreferredSmsSubscription(), messageIdentifier, ranType); } @Override public boolean disableCellBroadcastForSubscriber(int subId, int messageIdentifier, int ranType) throws android.os.RemoteException { return disableCellBroadcastRangeForSubscriber(subId, messageIdentifier, messageIdentifier, ranType); } public boolean disableCellBroadcastRange(int startMessageId, int endMessageId, int ranType) throws android.os.RemoteException { return disableCellBroadcastRangeForSubscriber(getPreferredSmsSubscription(), startMessageId, endMessageId, ranType); } @Override public boolean disableCellBroadcastRangeForSubscriber(int subId, int startMessageId, int endMessageId, int ranType) throws android.os.RemoteException { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null ) { return iccSmsIntMgr.disableCellBroadcastRange(startMessageId, endMessageId, ranType); } else { Rlog.e(LOG_TAG,"disableCellBroadcast iccSmsIntMgr is null for" + Rlog.e(LOG_TAG,"disableCellBroadcastRangeForSubscriber iccSmsIntMgr is null for" + " Subscription:"+subId); } return false; } @Override public int getPremiumSmsPermission(String packageName) { return getPremiumSmsPermissionForSubscriber(getPreferredSmsSubscription(), packageName); } Loading @@ -265,12 +228,13 @@ public class UiccSmsController extends ISms.Stub { if (iccSmsIntMgr != null ) { return iccSmsIntMgr.getPremiumSmsPermission(packageName); } else { Rlog.e(LOG_TAG, "getPremiumSmsPermission iccSmsIntMgr is null"); Rlog.e(LOG_TAG, "getPremiumSmsPermissionForSubscriber iccSmsIntMgr is null"); } //TODO Rakesh return 0; } @Override public void setPremiumSmsPermission(String packageName, int permission) { setPremiumSmsPermissionForSubscriber(getPreferredSmsSubscription(), packageName, permission); } Loading @@ -281,21 +245,17 @@ public class UiccSmsController extends ISms.Stub { if (iccSmsIntMgr != null ) { iccSmsIntMgr.setPremiumSmsPermission(packageName, permission); } else { Rlog.e(LOG_TAG, "setPremiumSmsPermission iccSmsIntMgr is null"); Rlog.e(LOG_TAG, "setPremiumSmsPermissionForSubscriber iccSmsIntMgr is null"); } } public boolean isImsSmsSupported() { return isImsSmsSupportedForSubscriber(getPreferredSmsSubscription()); } @Override public boolean isImsSmsSupportedForSubscriber(int subId) { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null ) { return iccSmsIntMgr.isImsSmsSupported(); } else { Rlog.e(LOG_TAG, "isImsSmsSupported iccSmsIntMgr is null"); Rlog.e(LOG_TAG, "isImsSmsSupportedForSubscriber iccSmsIntMgr is null"); } return false; } Loading Loading @@ -333,32 +293,25 @@ public class UiccSmsController extends ISms.Stub { return false; } public String getImsSmsFormat() { return getImsSmsFormatForSubscriber(getPreferredSmsSubscription()); } @Override public String getImsSmsFormatForSubscriber(int subId) { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null ) { return iccSmsIntMgr.getImsSmsFormat(); } else { Rlog.e(LOG_TAG, "getImsSmsFormat iccSmsIntMgr is null"); Rlog.e(LOG_TAG, "getImsSmsFormatForSubscriber iccSmsIntMgr is null"); } return null; } @Override public void injectSmsPdu(byte[] pdu, String format, PendingIntent receivedIntent) { injectSmsPdu(SubscriptionManager.getDefaultSmsSubId(), pdu, format, receivedIntent); } // FIXME: Add injectSmsPdu to ISms.aidl public void injectSmsPdu(int subId, byte[] pdu, String format, PendingIntent receivedIntent) { public void injectSmsPduForSubscriber( int subId, byte[] pdu, String format, PendingIntent receivedIntent) { IccSmsInterfaceManager iccSmsIntMgr = getIccSmsInterfaceManager(subId); if (iccSmsIntMgr != null) { iccSmsIntMgr.injectSmsPdu(pdu, format, receivedIntent); } else { Rlog.e(LOG_TAG, "injectSmsPduForSubscriber iccSmsIntMgr is null"); // RESULT_SMS_GENERIC_ERROR is documented for injectSmsPdu sendErrorInPendingIntent(receivedIntent, Intents.RESULT_SMS_GENERIC_ERROR); } Loading Loading @@ -396,6 +349,7 @@ public class UiccSmsController extends ISms.Stub { /** Gets User preferred SMS subscription */ @Override public int getPreferredSmsSubscription() { return SubscriptionController.getInstance().getDefaultSmsSubId(); } Loading @@ -403,6 +357,7 @@ public class UiccSmsController extends ISms.Stub { /** * Get SMS prompt property, enabled or not **/ @Override public boolean isSMSPromptEnabled() { return PhoneFactory.isSMSPromptEnabled(); } Loading
tests/telephonytests/src/com/android/internal/telephony/SimSmsTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,9 @@ public class SimSmsTest extends TestCase { ISms sms = ISms.Stub.asInterface(ServiceManager.getService("isms")); assertNotNull(sms); List<SmsRawData> records = sms.getAllMessagesFromIccEf(ActivityThread.currentPackageName()); int preferredSmsSubscription = sms.getPreferredSmsSubscription(); List<SmsRawData> records = sms.getAllMessagesFromIccEfForSubscriber( preferredSmsSubscription, ActivityThread.currentPackageName()); assertNotNull(records); assertTrue(records.size() >= 0); Loading