Loading src/java/com/android/internal/telephony/IccSmsInterfaceManager.java +16 −15 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ public class IccSmsInterfaceManager { final protected Context mContext; final protected AppOpsManager mAppOps; final private UserManager mUserManager; protected SMSDispatcher mDispatcher; protected SmsDispatchersController mDispatchersController; protected Handler mHandler = new Handler() { @Override Loading Loading @@ -131,7 +131,7 @@ public class IccSmsInterfaceManager { mContext = phone.getContext(); mAppOps = (AppOpsManager) mContext.getSystemService(Context.APP_OPS_SERVICE); mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE); mDispatcher = new ImsSMSDispatcher(phone, mDispatchersController = new SmsDispatchersController(phone, phone.mSmsStorageMonitor, phone.mSmsUsageMonitor); } Loading Loading @@ -170,7 +170,7 @@ public class IccSmsInterfaceManager { protected void updatePhoneObject(Phone phone) { mPhone = phone; mDispatcher.updatePhoneObject(phone); mDispatchersController.updatePhoneObject(phone); } protected void enforceReceiveAndSend(String message) { Loading Loading @@ -379,7 +379,8 @@ public class IccSmsInterfaceManager { return; } destAddr = filterDestAddress(destAddr); mDispatcher.sendData(destAddr, scAddr, destPort, data, sentIntent, deliveryIntent); mDispatchersController.sendData(destAddr, scAddr, destPort, data, sentIntent, deliveryIntent); } /** Loading Loading @@ -451,7 +452,7 @@ public class IccSmsInterfaceManager { enforcePrivilegedAppPermissions(); } destAddr = filterDestAddress(destAddr); mDispatcher.sendText(destAddr, scAddr, text, sentIntent, deliveryIntent, mDispatchersController.sendText(destAddr, scAddr, text, sentIntent, deliveryIntent, null/*messageUri*/, callingPackage, persistMessageForNonDefaultSmsApp); } Loading @@ -472,7 +473,7 @@ public class IccSmsInterfaceManager { "\n format=" + format + "\n receivedIntent=" + receivedIntent); } mDispatcher.injectSmsPdu(pdu, format, receivedIntent); mDispatchersController.injectSmsPdu(pdu, format, receivedIntent); } /** Loading Loading @@ -546,7 +547,7 @@ public class IccSmsInterfaceManager { singleDeliveryIntent = deliveryIntents.get(i); } mDispatcher.sendText(destAddr, scAddr, singlePart, mDispatchersController.sendText(destAddr, scAddr, singlePart, singleSentIntent, singleDeliveryIntent, null/*messageUri*/, callingPackage, persistMessageForNonDefaultSmsApp); Loading @@ -554,19 +555,19 @@ public class IccSmsInterfaceManager { return; } mDispatcher.sendMultipartText(destAddr, scAddr, (ArrayList<String>) parts, mDispatchersController.sendMultipartText(destAddr, scAddr, (ArrayList<String>) parts, (ArrayList<PendingIntent>) sentIntents, (ArrayList<PendingIntent>) deliveryIntents, null/*messageUri*/, callingPackage, persistMessageForNonDefaultSmsApp); } public int getPremiumSmsPermission(String packageName) { return mDispatcher.getPremiumSmsPermission(packageName); return mDispatchersController.getPremiumSmsPermission(packageName); } public void setPremiumSmsPermission(String packageName, int permission) { mDispatcher.setPremiumSmsPermission(packageName, permission); mDispatchersController.setPremiumSmsPermission(packageName, permission); } /** Loading Loading @@ -919,11 +920,11 @@ public class IccSmsInterfaceManager { } public boolean isImsSmsSupported() { return mDispatcher.isIms(); return mDispatchersController.isIms(); } public String getImsSmsFormat() { return mDispatcher.getImsSmsFormat(); return mDispatchersController.getImsSmsFormat(); } public void sendStoredText(String callingPkg, Uri messageUri, String scAddress, Loading Loading @@ -951,7 +952,7 @@ public class IccSmsInterfaceManager { return; } textAndAddress[1] = filterDestAddress(textAndAddress[1]); mDispatcher.sendText(textAndAddress[1], scAddress, textAndAddress[0], mDispatchersController.sendText(textAndAddress[1], scAddress, textAndAddress[0], sentIntent, deliveryIntent, messageUri, callingPkg, true /* persistMessageForNonDefaultSmsApp */); } Loading Loading @@ -1007,14 +1008,14 @@ public class IccSmsInterfaceManager { singleDeliveryIntent = deliveryIntents.get(i); } mDispatcher.sendText(textAndAddress[1], scAddress, singlePart, mDispatchersController.sendText(textAndAddress[1], scAddress, singlePart, singleSentIntent, singleDeliveryIntent, messageUri, callingPkg, true /* persistMessageForNonDefaultSmsApp */); } return; } mDispatcher.sendMultipartText( mDispatchersController.sendMultipartText( textAndAddress[1], // destAddress scAddress, parts, Loading src/java/com/android/internal/telephony/ImsSmsDispatcher.java 0 → 100644 +68 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License */ package com.android.internal.telephony; import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails; import com.android.internal.telephony.util.SMSDispatcherUtil; /** * Responsible for communications with {@link com.android.ims.ImsManager} to send/receive messages * over IMS. * * TODO: implement */ public class ImsSmsDispatcher extends SMSDispatcher { /** {@inheritDoc} */ protected ImsSmsDispatcher(Phone phone, SmsDispatchersController smsDispatchersController) { super(phone, smsDispatchersController); } @Override protected String getFormat() { return null; } @Override protected boolean shouldBlockSms() { return SMSDispatcherUtil.shouldBlockSms(isCdmaMo(), mPhone); } @Override protected SmsMessageBase.SubmitPduBase getSubmitPdu(String scAddr, String destAddr, String message, boolean statusReportRequested, SmsHeader smsHeader) { return SMSDispatcherUtil.getSubmitPdu(isCdmaMo(), scAddr, destAddr, message, statusReportRequested, smsHeader); } @Override protected SmsMessageBase.SubmitPduBase getSubmitPdu(String scAddr, String destAddr, int destPort, byte[] message, boolean statusReportRequested) { return SMSDispatcherUtil.getSubmitPdu(isCdmaMo(), scAddr, destAddr, destPort, message, statusReportRequested); } @Override protected TextEncodingDetails calculateLength(CharSequence messageBody, boolean use7bitOnly) { return SMSDispatcherUtil.calculateLength(isCdmaMo(), messageBody, use7bitOnly); } @Override protected void sendSms(SmsTracker tracker) { } } Loading
src/java/com/android/internal/telephony/IccSmsInterfaceManager.java +16 −15 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ public class IccSmsInterfaceManager { final protected Context mContext; final protected AppOpsManager mAppOps; final private UserManager mUserManager; protected SMSDispatcher mDispatcher; protected SmsDispatchersController mDispatchersController; protected Handler mHandler = new Handler() { @Override Loading Loading @@ -131,7 +131,7 @@ public class IccSmsInterfaceManager { mContext = phone.getContext(); mAppOps = (AppOpsManager) mContext.getSystemService(Context.APP_OPS_SERVICE); mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE); mDispatcher = new ImsSMSDispatcher(phone, mDispatchersController = new SmsDispatchersController(phone, phone.mSmsStorageMonitor, phone.mSmsUsageMonitor); } Loading Loading @@ -170,7 +170,7 @@ public class IccSmsInterfaceManager { protected void updatePhoneObject(Phone phone) { mPhone = phone; mDispatcher.updatePhoneObject(phone); mDispatchersController.updatePhoneObject(phone); } protected void enforceReceiveAndSend(String message) { Loading Loading @@ -379,7 +379,8 @@ public class IccSmsInterfaceManager { return; } destAddr = filterDestAddress(destAddr); mDispatcher.sendData(destAddr, scAddr, destPort, data, sentIntent, deliveryIntent); mDispatchersController.sendData(destAddr, scAddr, destPort, data, sentIntent, deliveryIntent); } /** Loading Loading @@ -451,7 +452,7 @@ public class IccSmsInterfaceManager { enforcePrivilegedAppPermissions(); } destAddr = filterDestAddress(destAddr); mDispatcher.sendText(destAddr, scAddr, text, sentIntent, deliveryIntent, mDispatchersController.sendText(destAddr, scAddr, text, sentIntent, deliveryIntent, null/*messageUri*/, callingPackage, persistMessageForNonDefaultSmsApp); } Loading @@ -472,7 +473,7 @@ public class IccSmsInterfaceManager { "\n format=" + format + "\n receivedIntent=" + receivedIntent); } mDispatcher.injectSmsPdu(pdu, format, receivedIntent); mDispatchersController.injectSmsPdu(pdu, format, receivedIntent); } /** Loading Loading @@ -546,7 +547,7 @@ public class IccSmsInterfaceManager { singleDeliveryIntent = deliveryIntents.get(i); } mDispatcher.sendText(destAddr, scAddr, singlePart, mDispatchersController.sendText(destAddr, scAddr, singlePart, singleSentIntent, singleDeliveryIntent, null/*messageUri*/, callingPackage, persistMessageForNonDefaultSmsApp); Loading @@ -554,19 +555,19 @@ public class IccSmsInterfaceManager { return; } mDispatcher.sendMultipartText(destAddr, scAddr, (ArrayList<String>) parts, mDispatchersController.sendMultipartText(destAddr, scAddr, (ArrayList<String>) parts, (ArrayList<PendingIntent>) sentIntents, (ArrayList<PendingIntent>) deliveryIntents, null/*messageUri*/, callingPackage, persistMessageForNonDefaultSmsApp); } public int getPremiumSmsPermission(String packageName) { return mDispatcher.getPremiumSmsPermission(packageName); return mDispatchersController.getPremiumSmsPermission(packageName); } public void setPremiumSmsPermission(String packageName, int permission) { mDispatcher.setPremiumSmsPermission(packageName, permission); mDispatchersController.setPremiumSmsPermission(packageName, permission); } /** Loading Loading @@ -919,11 +920,11 @@ public class IccSmsInterfaceManager { } public boolean isImsSmsSupported() { return mDispatcher.isIms(); return mDispatchersController.isIms(); } public String getImsSmsFormat() { return mDispatcher.getImsSmsFormat(); return mDispatchersController.getImsSmsFormat(); } public void sendStoredText(String callingPkg, Uri messageUri, String scAddress, Loading Loading @@ -951,7 +952,7 @@ public class IccSmsInterfaceManager { return; } textAndAddress[1] = filterDestAddress(textAndAddress[1]); mDispatcher.sendText(textAndAddress[1], scAddress, textAndAddress[0], mDispatchersController.sendText(textAndAddress[1], scAddress, textAndAddress[0], sentIntent, deliveryIntent, messageUri, callingPkg, true /* persistMessageForNonDefaultSmsApp */); } Loading Loading @@ -1007,14 +1008,14 @@ public class IccSmsInterfaceManager { singleDeliveryIntent = deliveryIntents.get(i); } mDispatcher.sendText(textAndAddress[1], scAddress, singlePart, mDispatchersController.sendText(textAndAddress[1], scAddress, singlePart, singleSentIntent, singleDeliveryIntent, messageUri, callingPkg, true /* persistMessageForNonDefaultSmsApp */); } return; } mDispatcher.sendMultipartText( mDispatchersController.sendMultipartText( textAndAddress[1], // destAddress scAddress, parts, Loading
src/java/com/android/internal/telephony/ImsSmsDispatcher.java 0 → 100644 +68 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License */ package com.android.internal.telephony; import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails; import com.android.internal.telephony.util.SMSDispatcherUtil; /** * Responsible for communications with {@link com.android.ims.ImsManager} to send/receive messages * over IMS. * * TODO: implement */ public class ImsSmsDispatcher extends SMSDispatcher { /** {@inheritDoc} */ protected ImsSmsDispatcher(Phone phone, SmsDispatchersController smsDispatchersController) { super(phone, smsDispatchersController); } @Override protected String getFormat() { return null; } @Override protected boolean shouldBlockSms() { return SMSDispatcherUtil.shouldBlockSms(isCdmaMo(), mPhone); } @Override protected SmsMessageBase.SubmitPduBase getSubmitPdu(String scAddr, String destAddr, String message, boolean statusReportRequested, SmsHeader smsHeader) { return SMSDispatcherUtil.getSubmitPdu(isCdmaMo(), scAddr, destAddr, message, statusReportRequested, smsHeader); } @Override protected SmsMessageBase.SubmitPduBase getSubmitPdu(String scAddr, String destAddr, int destPort, byte[] message, boolean statusReportRequested) { return SMSDispatcherUtil.getSubmitPdu(isCdmaMo(), scAddr, destAddr, destPort, message, statusReportRequested); } @Override protected TextEncodingDetails calculateLength(CharSequence messageBody, boolean use7bitOnly) { return SMSDispatcherUtil.calculateLength(isCdmaMo(), messageBody, use7bitOnly); } @Override protected void sendSms(SmsTracker tracker) { } }