Loading src/java/com/android/internal/telephony/ImsSmsDispatcher.java +14 −0 Original line number Diff line number Diff line Loading @@ -447,6 +447,20 @@ public class ImsSmsDispatcher extends SMSDispatcher { return SMSDispatcherUtil.calculateLength(isCdmaMo(), messageBody, use7bitOnly); } /** * Send the Memory Available Event to the ImsService */ public void onMemoryAvailable() { logd("onMemoryAvailable "); int token = mNextToken.incrementAndGet(); try { logd("onMemoryAvailable: token = " + token); getImsManager().onMemoryAvailable(token); } catch (ImsException e) { loge("onMemoryAvailable failed: " + e.getMessage()); } } @Override public void sendSms(SmsTracker tracker) { logd("sendSms: " Loading src/java/com/android/internal/telephony/SmsDispatchersController.java +22 −0 Original line number Diff line number Diff line Loading @@ -409,6 +409,11 @@ public class SmsDispatchersController extends Handler { injectSmsPdu(msg, format, callback, false /* ignoreClass */, isOverIms, 0 /* unused */); } @VisibleForTesting public void setImsSmsDispatcher(ImsSmsDispatcher imsSmsDispatcher) { mImsSmsDispatcher = imsSmsDispatcher; } /** * Inject an SMS PDU into the android platform. * Loading Loading @@ -573,6 +578,23 @@ public class SmsDispatchersController extends Handler { dispatcher.sendSms(tracker); } /** * Memory Available Event * @param result callback message */ public void reportSmsMemoryStatus(Message result) { Rlog.d(TAG, "reportSmsMemoryStatus: "); try { mImsSmsDispatcher.onMemoryAvailable(); AsyncResult.forMessage(result, null, null); result.sendToTarget(); } catch (Exception e) { Rlog.e(TAG, "reportSmsMemoryStatus Failed ", e); AsyncResult.forMessage(result, null, e); result.sendToTarget(); } } /** * SMS over IMS is supported if IMS is registered and SMS is supported on IMS. * Loading src/java/com/android/internal/telephony/SmsStorageMonitor.java +13 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.res.Resources; import android.os.AsyncResult; import android.os.Build; import android.os.Handler; Loading Loading @@ -212,6 +213,18 @@ public class SmsStorageMonitor extends Handler { private void sendMemoryStatusReport(boolean isAvailable) { mIsWaitingResponse = true; Resources r = mContext.getResources(); if (r.getBoolean(com.android.internal.R.bool.config_smma_notification_supported_over_ims)) { IccSmsInterfaceManager smsIfcMngr = mPhone.getIccSmsInterfaceManager(); if (smsIfcMngr != null) { Rlog.d(TAG, "sendMemoryStatusReport: smsIfcMngr is available"); if (smsIfcMngr.mDispatchersController.isIms() && isAvailable) { smsIfcMngr.mDispatchersController.reportSmsMemoryStatus( obtainMessage(EVENT_REPORT_MEMORY_STATUS_DONE)); return; } } } mCi.reportSmsMemoryStatus(isAvailable, obtainMessage(EVENT_REPORT_MEMORY_STATUS_DONE)); } Loading Loading
src/java/com/android/internal/telephony/ImsSmsDispatcher.java +14 −0 Original line number Diff line number Diff line Loading @@ -447,6 +447,20 @@ public class ImsSmsDispatcher extends SMSDispatcher { return SMSDispatcherUtil.calculateLength(isCdmaMo(), messageBody, use7bitOnly); } /** * Send the Memory Available Event to the ImsService */ public void onMemoryAvailable() { logd("onMemoryAvailable "); int token = mNextToken.incrementAndGet(); try { logd("onMemoryAvailable: token = " + token); getImsManager().onMemoryAvailable(token); } catch (ImsException e) { loge("onMemoryAvailable failed: " + e.getMessage()); } } @Override public void sendSms(SmsTracker tracker) { logd("sendSms: " Loading
src/java/com/android/internal/telephony/SmsDispatchersController.java +22 −0 Original line number Diff line number Diff line Loading @@ -409,6 +409,11 @@ public class SmsDispatchersController extends Handler { injectSmsPdu(msg, format, callback, false /* ignoreClass */, isOverIms, 0 /* unused */); } @VisibleForTesting public void setImsSmsDispatcher(ImsSmsDispatcher imsSmsDispatcher) { mImsSmsDispatcher = imsSmsDispatcher; } /** * Inject an SMS PDU into the android platform. * Loading Loading @@ -573,6 +578,23 @@ public class SmsDispatchersController extends Handler { dispatcher.sendSms(tracker); } /** * Memory Available Event * @param result callback message */ public void reportSmsMemoryStatus(Message result) { Rlog.d(TAG, "reportSmsMemoryStatus: "); try { mImsSmsDispatcher.onMemoryAvailable(); AsyncResult.forMessage(result, null, null); result.sendToTarget(); } catch (Exception e) { Rlog.e(TAG, "reportSmsMemoryStatus Failed ", e); AsyncResult.forMessage(result, null, e); result.sendToTarget(); } } /** * SMS over IMS is supported if IMS is registered and SMS is supported on IMS. * Loading
src/java/com/android/internal/telephony/SmsStorageMonitor.java +13 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.res.Resources; import android.os.AsyncResult; import android.os.Build; import android.os.Handler; Loading Loading @@ -212,6 +213,18 @@ public class SmsStorageMonitor extends Handler { private void sendMemoryStatusReport(boolean isAvailable) { mIsWaitingResponse = true; Resources r = mContext.getResources(); if (r.getBoolean(com.android.internal.R.bool.config_smma_notification_supported_over_ims)) { IccSmsInterfaceManager smsIfcMngr = mPhone.getIccSmsInterfaceManager(); if (smsIfcMngr != null) { Rlog.d(TAG, "sendMemoryStatusReport: smsIfcMngr is available"); if (smsIfcMngr.mDispatchersController.isIms() && isAvailable) { smsIfcMngr.mDispatchersController.reportSmsMemoryStatus( obtainMessage(EVENT_REPORT_MEMORY_STATUS_DONE)); return; } } } mCi.reportSmsMemoryStatus(isAvailable, obtainMessage(EVENT_REPORT_MEMORY_STATUS_DONE)); } Loading