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; }