Add attachment callbacks part 1.
This includes just the change to the aidl signature,
and a small fix on tracking the result. The real
fix is forthcoming.
Bug: 9735207
Bug: 9842867
Change-Id: If9859b6e8425a6b3778c559cd34d5e0c22389675
diff --git a/src/com/android/exchange/ExchangeService.java b/src/com/android/exchange/ExchangeService.java
index 1d5687b..b0320fa 100644
--- a/src/com/android/exchange/ExchangeService.java
+++ b/src/com/android/exchange/ExchangeService.java
@@ -216,7 +216,8 @@
}
@Override
- public void loadAttachment(long attachmentId, boolean background) throws RemoteException {
+ public void loadAttachment(final IEmailServiceCallback callback, final long attachmentId,
+ final boolean background) throws RemoteException {
Attachment att = Attachment.restoreAttachmentWithId(ExchangeService.this, attachmentId);
log("loadAttachment " + attachmentId + ": " + att.mFileName);
sendMessageRequest(new PartRequest(att, null, null));
diff --git a/src/com/android/exchange/service/EasAttachmentLoader.java b/src/com/android/exchange/service/EasAttachmentLoader.java
index 66555e0..fe35728 100644
--- a/src/com/android/exchange/service/EasAttachmentLoader.java
+++ b/src/com/android/exchange/service/EasAttachmentLoader.java
@@ -192,10 +192,13 @@
}
success = true;
}
+ final boolean finishSuccess;
if (success) {
- finishLoadAttachment(attachment, tmpFile);
+ finishSuccess = finishLoadAttachment(attachment, tmpFile);
+ } else {
+ finishSuccess = false;
}
- return success;
+ return finishSuccess;
} catch (final IOException e) {
LogUtils.w(TAG, "Error reading attachment: %s", e.getMessage());
return false;
diff --git a/src/com/android/exchange/service/EmailSyncAdapterService.java b/src/com/android/exchange/service/EmailSyncAdapterService.java
index 038573e..70eb649 100644
--- a/src/com/android/exchange/service/EmailSyncAdapterService.java
+++ b/src/com/android/exchange/service/EmailSyncAdapterService.java
@@ -279,7 +279,8 @@
}
@Override
- public void loadAttachment(final long attachmentId, final boolean background) {
+ public void loadAttachment(final IEmailServiceCallback callback, final long attachmentId,
+ final boolean background) {
LogUtils.d(TAG, "IEmailService.loadAttachment: %d", attachmentId);
// TODO: Make this go through the sync manager, so that it can't happen in parallel with
// a sync.