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.