int current;
}
+ static class UpdatePreviewSaved implements Update {
+ Uri uri;
+ }
+
static class URIResult implements Result {
Uri uri;
}
// We create a small bitmap showing the result that we can
// give to the notification
UpdateBitmap updateBitmap = new UpdateBitmap();
- updateBitmap.bitmap = createNotificationBitmap(sourceUri, preset);
+ updateBitmap.bitmap = createNotificationBitmap(previewImage, sourceUri, preset);
postUpdate(updateBitmap);
SaveImage saveImage = new SaveImage(mProcessingService, sourceUri,
selectedUri, destinationFile, previewImage,
new SaveImage.Callback() {
@Override
+ public void onPreviewSaved(Uri uri){
+ UpdatePreviewSaved previewSaved = new UpdatePreviewSaved();
+ previewSaved.uri = uri;
+ postUpdate(previewSaved);
+ }
+
+ @Override
public void onProgress(int max, int current) {
UpdateProgress updateProgress = new UpdateProgress();
updateProgress.max = max;
@Override
public void onUpdate(Update message) {
+ if (message instanceof UpdatePreviewSaved){
+ Uri uri = ((UpdatePreviewSaved) message).uri;
+ mProcessingService.completePreviewSaveImage(uri);
+ }
if (message instanceof UpdateBitmap) {
Bitmap bitmap = ((UpdateBitmap) message).bitmap;
mProcessingService.updateNotificationWithBitmap(bitmap);
}
}
- private Bitmap createNotificationBitmap(Uri sourceUri, ImagePreset preset) {
+ private Bitmap createNotificationBitmap(Bitmap preview, Uri sourceUri, ImagePreset preset) {
int notificationBitmapSize = Resources.getSystem().getDimensionPixelSize(
android.R.dimen.notification_large_icon_width);
+ if (preview != null) {
+ return Bitmap.createScaledBitmap(preview,
+ notificationBitmapSize, notificationBitmapSize, true);
+ }
Bitmap bitmap = ImageLoader.loadConstrainedBitmap(sourceUri, getContext(),
notificationBitmapSize, null, true);
CachingPipeline pipeline = new CachingPipeline(FiltersManager.getManager(), "Thumb");
* Callback for updates
*/
public interface Callback {
+ void onPreviewSaved(Uri uri);
void onProgress(int max, int current);
}
mDestinationFile, time, !flatten);
}
}
+ if (mCallback != null) {
+ mCallback.onPreviewSaved(savedUri);
+ }
}
// Stopgap fix for low-memory devices.
Toast.makeText(filterShowActivity,
toastMessage,
Toast.LENGTH_SHORT).show();
-
- // terminate for now
- filterShowActivity.completeSaveImage(selectedImageUri);
}
}