summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/MediaSaveService.java
diff options
context:
space:
mode:
authorjunjiez <junjiez@codeaurora.org>2016-11-15 09:28:35 +0800
committerjunjiez <junjiez@codeaurora.org>2017-01-06 10:21:50 +0800
commit9d924d9ca95ece1686a8cdca8c46607078f44618 (patch)
treeeec3b238c191052f858ecfbd90d2c073b2a6a373 /src/com/android/camera/MediaSaveService.java
parent15f6d966c807c371a12f68bf9f5f4e7447a9ba8e (diff)
downloadandroid_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.java44
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;