Loading src/com/android/camera/CameraActivity.java +26 −1 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ public class CameraActivity extends Activity public static final String SECURE_CAMERA_EXTRA = "secure_camera"; private CameraDataAdapter mDataAdapter; private PanoramaStitchingManager mPanoramaManager; private int mCurrentModuleIndex; private CameraModule mCurrentModule; private View mRootView; Loading Loading @@ -149,6 +150,22 @@ public class CameraActivity extends Activity } }; private ImageTaskManager.TaskListener mStitchingListener = new ImageTaskManager.TaskListener() { @Override public void onTaskQueued(String filePath, Uri imageUri) { } @Override public void onTaskDone(String filePath, Uri imageUri) { } @Override public void onTaskProgress( String filePath, Uri imageUri, int progress) { } }; public MediaSaveService getMediaSaveService() { return mMediaSaveService; } Loading Loading @@ -219,6 +236,8 @@ public class CameraActivity extends Activity IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF); registerReceiver(mScreenOffReceiver, filter); } mPanoramaManager = new PanoramaStitchingManager(CameraActivity.this); mPanoramaManager.addTaskListener(mStitchingListener); LayoutInflater inflater = getLayoutInflater(); View rootLayout = inflater.inflate(R.layout.camera, null, false); mRootView = rootLayout.findViewById(R.id.camera_app_root); Loading Loading @@ -277,6 +296,13 @@ public class CameraActivity extends Activity super.onResume(); mCurrentModule.onResumeAfterSuper(); setSwipingEnabled(true); } @Override public void onStart() { super.onStart(); // The loading is done in background and will update the filmstrip later. if (!mSecureCamera) { mDataAdapter.requestLoad(getContentResolver()); Loading @@ -293,7 +319,6 @@ public class CameraActivity extends Activity v.getDrawable().getIntrinsicHeight(), 0, 0)); } setSwipingEnabled(true); } @Override Loading src/com/android/camera/ImageTaskManager.java 0 → 100644 +48 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.camera; import android.net.Uri; /** * The interface for background image processing task manager. */ interface ImageTaskManager { /** * Callback interface for task events. */ public interface TaskListener { public void onTaskQueued(String filePath, Uri imageUri); public void onTaskDone(String filePath, Uri imageUri); public void onTaskProgress( String filePath, Uri imageUri, int progress); } public void addTaskListener(TaskListener l); public void removeTaskListener(TaskListener l); /** * Get task progress by Uri. * * @param uri The Uri of the final image file to identify the task. * @return Integer from 0 to 100, or -1. The percentage of the task done * so far. -1 means not found. */ public int getTaskProgress(Uri uri); } src_pd/com/android/camera/PanoramaStitchingManager.java 0 → 100644 +41 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.camera; import android.content.Context; import android.net.Uri; class PanoramaStitchingManager implements ImageTaskManager { public PanoramaStitchingManager(Context ctx) { } @Override public void addTaskListener(TaskListener l) { // do nothing. } @Override public void removeTaskListener(TaskListener l) { // do nothing. } @Override public int getTaskProgress(Uri uri) { return -1; } } Loading
src/com/android/camera/CameraActivity.java +26 −1 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ public class CameraActivity extends Activity public static final String SECURE_CAMERA_EXTRA = "secure_camera"; private CameraDataAdapter mDataAdapter; private PanoramaStitchingManager mPanoramaManager; private int mCurrentModuleIndex; private CameraModule mCurrentModule; private View mRootView; Loading Loading @@ -149,6 +150,22 @@ public class CameraActivity extends Activity } }; private ImageTaskManager.TaskListener mStitchingListener = new ImageTaskManager.TaskListener() { @Override public void onTaskQueued(String filePath, Uri imageUri) { } @Override public void onTaskDone(String filePath, Uri imageUri) { } @Override public void onTaskProgress( String filePath, Uri imageUri, int progress) { } }; public MediaSaveService getMediaSaveService() { return mMediaSaveService; } Loading Loading @@ -219,6 +236,8 @@ public class CameraActivity extends Activity IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF); registerReceiver(mScreenOffReceiver, filter); } mPanoramaManager = new PanoramaStitchingManager(CameraActivity.this); mPanoramaManager.addTaskListener(mStitchingListener); LayoutInflater inflater = getLayoutInflater(); View rootLayout = inflater.inflate(R.layout.camera, null, false); mRootView = rootLayout.findViewById(R.id.camera_app_root); Loading Loading @@ -277,6 +296,13 @@ public class CameraActivity extends Activity super.onResume(); mCurrentModule.onResumeAfterSuper(); setSwipingEnabled(true); } @Override public void onStart() { super.onStart(); // The loading is done in background and will update the filmstrip later. if (!mSecureCamera) { mDataAdapter.requestLoad(getContentResolver()); Loading @@ -293,7 +319,6 @@ public class CameraActivity extends Activity v.getDrawable().getIntrinsicHeight(), 0, 0)); } setSwipingEnabled(true); } @Override Loading
src/com/android/camera/ImageTaskManager.java 0 → 100644 +48 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.camera; import android.net.Uri; /** * The interface for background image processing task manager. */ interface ImageTaskManager { /** * Callback interface for task events. */ public interface TaskListener { public void onTaskQueued(String filePath, Uri imageUri); public void onTaskDone(String filePath, Uri imageUri); public void onTaskProgress( String filePath, Uri imageUri, int progress); } public void addTaskListener(TaskListener l); public void removeTaskListener(TaskListener l); /** * Get task progress by Uri. * * @param uri The Uri of the final image file to identify the task. * @return Integer from 0 to 100, or -1. The percentage of the task done * so far. -1 means not found. */ public int getTaskProgress(Uri uri); }
src_pd/com/android/camera/PanoramaStitchingManager.java 0 → 100644 +41 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.camera; import android.content.Context; import android.net.Uri; class PanoramaStitchingManager implements ImageTaskManager { public PanoramaStitchingManager(Context ctx) { } @Override public void addTaskListener(TaskListener l) { // do nothing. } @Override public void removeTaskListener(TaskListener l) { // do nothing. } @Override public int getTaskProgress(Uri uri) { return -1; } }