diff options
author | junjiez <junjiez@codeaurora.org> | 2016-11-15 09:28:35 +0800 |
---|---|---|
committer | junjiez <junjiez@codeaurora.org> | 2017-01-06 10:21:50 +0800 |
commit | 9d924d9ca95ece1686a8cdca8c46607078f44618 (patch) | |
tree | eec3b238c191052f858ecfbd90d2c073b2a6a373 /src/com/android/camera/MediaSaveService.java | |
parent | 15f6d966c807c371a12f68bf9f5f4e7447a9ba8e (diff) | |
download | android_packages_apps_Snap-9d924d9ca95ece1686a8cdca8c46607078f44618.tar.gz android_packages_apps_Snap-9d924d9ca95ece1686a8cdca8c46607078f44618.tar.bz2 android_packages_apps_Snap-9d924d9ca95ece1686a8cdca8c46607078f44618.zip |
SnapdragonCamera:Add Raw capture to developer option
Add raving as Raw option to the developer options, and
save both JPEG and RAW data when it't turned on
Change-Id: Id2462d0bacc3f2acdf3610b2ca8054079dc40b85
CRs-Fixed: 1087490
Diffstat (limited to 'src/com/android/camera/MediaSaveService.java')
-rwxr-xr-x[-rw-r--r--] | src/com/android/camera/MediaSaveService.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/com/android/camera/MediaSaveService.java b/src/com/android/camera/MediaSaveService.java index 0daad1bab..2d7247d83 100644..100755 --- a/src/com/android/camera/MediaSaveService.java +++ b/src/com/android/camera/MediaSaveService.java @@ -134,6 +134,20 @@ public class MediaSaveService extends Service { t.execute(); } + public void addRawImage(final byte[] data, String title, String pictureFormat) { + if (isQueueFull()) { + Log.e(TAG, "Cannot add image when the queue is full"); + return; + } + RawImageSaveTask t = new RawImageSaveTask(data, title, pictureFormat); + + mMemoryUse += data.length; + if (isQueueFull()) { + onQueueFull(); + } + t.execute(); + } + public void addImage(final byte[] data, String title, long date, Location loc, int orientation, ExifInterface exif, OnMediaSavedListener l, ContentResolver resolver) { @@ -250,6 +264,36 @@ public class MediaSaveService extends Service { } } + private class RawImageSaveTask extends AsyncTask<Void, Void, Long> { + private byte[] data; + private String title; + private String pictureFormat; + + public RawImageSaveTask(byte[] data, String title, String pictureFormat) { + this.data = data; + this.title = title; + this.pictureFormat = pictureFormat; + } + + @Override + protected void onPreExecute() { + super.onPreExecute(); + } + + @Override + protected Long doInBackground(Void... params) { + long length = Storage.addRawImage(title, data, pictureFormat); + return new Long(length); + } + + @Override + protected void onPostExecute(Long l) { + boolean previouslyFull = isQueueFull(); + mMemoryUse -= data.length; + if (isQueueFull() != previouslyFull) onQueueAvailable(); + } + } + private class ImageSaveTask extends AsyncTask <Void, Void, Uri> { private byte[] data; private String title; |