Example #1
0
  public void run() {
    PduPersister persister = PduPersister.getPduPersister(mContext);

    try {
      // Load M-read-rec.ind from outbox
      ReadRecInd readRecInd = (ReadRecInd) persister.load(mReadReportURI);

      // insert the 'from' address per spec
      String lineNumber = Utils.getMyPhoneNumber(mContext);
      readRecInd.setFrom(new EncodedStringValue(lineNumber));

      // Pack M-read-rec.ind and send it
      byte[] postingData = new PduComposer(mContext, readRecInd).make();
      sendPdu(postingData);

      Uri uri = persister.move(mReadReportURI, Uri.parse("content://mms/sent"));
      mTransactionState.setState(TransactionState.SUCCESS);
      mTransactionState.setContentUri(uri);
    } catch (IOException e) {
      if (LOCAL_LOGV) Log.v(TAG, "Failed to send M-Read-Rec.Ind.", e);
    } catch (MmsException e) {
      if (LOCAL_LOGV) Log.v(TAG, "Failed to load message from Outbox.", e);
    } catch (RuntimeException e) {
      Log.e(TAG, "Unexpected RuntimeException.", e);
    } finally {
      if (mTransactionState.getState() != TransactionState.SUCCESS) {
        mTransactionState.setState(TransactionState.FAILED);
        mTransactionState.setContentUri(mReadReportURI);
      }
      notifyObservers();
    }
  }
  public PduLoaderManager(final Context context) {
    super(context);

    mSlideshowCache = new SimpleCache<Uri, SlideshowModel>(8, 16, 0.75f, false);
    mPduCache = PduCache.getInstance();
    mPduPersister = PduPersister.getPduPersister(context);
    mContext = context;
  }