summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/CameraActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/CameraActivity.java')
-rw-r--r--src/com/android/camera/CameraActivity.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java
index b971b284f..eb2da1d1b 100644
--- a/src/com/android/camera/CameraActivity.java
+++ b/src/com/android/camera/CameraActivity.java
@@ -64,6 +64,7 @@ import android.widget.ProgressBar;
import android.widget.ShareActionProvider;
import com.android.camera.app.AppManagerFactory;
+import com.android.camera.app.PlaceholderManager;
import com.android.camera.app.PanoramaStitchingManager;
import com.android.camera.crop.CropActivity;
import com.android.camera.data.CameraDataAdapter;
@@ -143,6 +144,7 @@ public class CameraActivity extends Activity
private LocalDataAdapter mWrappedDataAdapter;
private PanoramaStitchingManager mPanoramaManager;
+ private PlaceholderManager mPlaceholderManager;
private int mCurrentModuleIndex;
private CameraModule mCurrentModule;
private FrameLayout mAboveFilmstripControlLayout;
@@ -688,6 +690,41 @@ public class CameraActivity extends Activity
item.setVisible(visible);
}
+ private ImageTaskManager.TaskListener mPlaceholderListener =
+ new ImageTaskManager.TaskListener() {
+
+ @Override
+ public void onTaskQueued(String filePath, final Uri imageUri) {
+ mMainHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ notifyNewMedia(imageUri);
+ int dataID = mDataAdapter.findDataByContentUri(imageUri);
+ if (dataID != -1) {
+ LocalData d = mDataAdapter.getLocalData(dataID);
+ InProgressDataWrapper newData = new InProgressDataWrapper(d, true);
+ mDataAdapter.updateData(dataID, newData);
+ }
+ }
+ });
+ }
+
+ @Override
+ public void onTaskDone(String filePath, final Uri imageUri) {
+ mMainHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ mDataAdapter.refresh(getContentResolver(), imageUri);
+ }
+ });
+ }
+
+ @Override
+ public void onTaskProgress(String filePath, Uri imageUri, int progress) {
+ // Do nothing
+ }
+ };
+
private ImageTaskManager.TaskListener mStitchingListener =
new ImageTaskManager.TaskListener() {
@Override
@@ -761,6 +798,8 @@ public class CameraActivity extends Activity
mDataAdapter.addNewPhoto(cr, uri);
} else if (mimeType.startsWith("application/stitching-preview")) {
mDataAdapter.addNewPhoto(cr, uri);
+ } else if (mimeType.startsWith(PlaceholderManager.PLACEHOLDER_MIME_TYPE)) {
+ mDataAdapter.addNewPhoto(cr, uri);
} else {
android.util.Log.w(TAG, "Unknown new media with MIME type:"
+ mimeType + ", uri:" + uri);
@@ -966,7 +1005,10 @@ public class CameraActivity extends Activity
this.setSystemBarsVisibility(false);
mPanoramaManager = AppManagerFactory.getInstance(this)
.getPanoramaStitchingManager();
+ mPlaceholderManager = AppManagerFactory.getInstance(this)
+ .getGcamProcessingManager();
mPanoramaManager.addTaskListener(mStitchingListener);
+ mPlaceholderManager.addTaskListener(mPlaceholderListener);
LayoutInflater inflater = getLayoutInflater();
View rootLayout = inflater.inflate(R.layout.camera, null, false);
mCameraModuleRootView = rootLayout.findViewById(R.id.camera_app_root);