diff options
author | Angus Kong <shkong@google.com> | 2013-07-30 11:36:00 -0700 |
---|---|---|
committer | Angus Kong <shkong@google.com> | 2013-08-01 16:36:34 -0700 |
commit | 8e5e4eedb25a4589342660b928935acca4375fc7 (patch) | |
tree | 51e63c6a3bcaeea4e29b98c7e93d50bd9c98873a /src/com/android/camera/data/CameraPreviewData.java | |
parent | bfed27177046f4b1325bf1bc145ce3bb6b82b1ec (diff) | |
download | android_packages_apps_Snap-8e5e4eedb25a4589342660b928935acca4375fc7.tar.gz android_packages_apps_Snap-8e5e4eedb25a4589342660b928935acca4375fc7.tar.bz2 android_packages_apps_Snap-8e5e4eedb25a4589342660b928935acca4375fc7.zip |
Add LocalDataAdapter and wrappers.
1. FixedFirstDataAdapter wraps another adapter and add a data at the first
position.
2. FixedLastDataAdapter wraps another adapter and add a data at the last
position.
3. Make the LocalData interface more complete.
- onFullScreen()
- canSwipeInFullScreen()
- getPath()
3. Add methods to the FilmStripView.DataAdapter to receive UI events.
- onDataCentered()
- onDataFullScreen()
Change-Id: I26d3a3b7facd0c451af43ce5fbbcab2baaaec427
Diffstat (limited to 'src/com/android/camera/data/CameraPreviewData.java')
-rw-r--r-- | src/com/android/camera/data/CameraPreviewData.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/com/android/camera/data/CameraPreviewData.java b/src/com/android/camera/data/CameraPreviewData.java new file mode 100644 index 000000000..8f8e2138d --- /dev/null +++ b/src/com/android/camera/data/CameraPreviewData.java @@ -0,0 +1,63 @@ +/* + * 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.data; + +import android.view.View; + +import com.android.camera.ui.FilmStripView.ImageData; + +/** + * A class implementing {@link LocalData} to represent a camera preview. + */ +public class CameraPreviewData extends LocalData.LocalViewData { + + private boolean mPreviewLocked; + + /** + * Constructor. + * + * @param v The {@link android.view.View} for camera preview. + * @param width The width of the camera preview. + * @param height The height of the camera preview. + */ + public CameraPreviewData(View v, int width, int height) { + super(v, width, height, -1, -1); + mPreviewLocked = true; + } + + @Override + public int getType() { + return ImageData.TYPE_CAMERA_PREVIEW; + } + + @Override + public boolean canSwipeInFullScreen() { + return !mPreviewLocked; + } + + /** + * Locks the camera preview. When the camera preview is locked, swipe + * to film strip is not allowed. One case is when the video recording + * is in progress. + * + * @param lock {@code true} if the preview should be locked. {@code false} + * otherwise. + */ + public void lockPreview(boolean lock) { + mPreviewLocked = lock; + } +} |