diff options
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/camera/CameraActivity.java | 28 | ||||
-rw-r--r-- | src/com/android/camera/ui/FilmStripView.java | 11 |
2 files changed, 30 insertions, 9 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index bbe0ebb08..b27c44827 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -232,13 +232,29 @@ public class CameraActivity extends Activity @Override public void onDataFullScreenChange(int dataID, boolean full) { - boolean isCameraID = mDataAdapter.getLocalData(dataID).getLocalDataType() == - LocalData.LOCAL_CAMERA_PREVIEW; + boolean isCameraID = isCameraPreview(dataID); if (!isCameraID) { setActionBarVisibilityAndLightsOut(full); } } + /** + * Check if the local data corresponding to dataID is the camera + * preview. + * + * @param dataID the ID of the local data + * @return true if the local data is not null and it is the + * camera preview. + */ + private boolean isCameraPreview(int dataID) { + LocalData localData = mDataAdapter.getLocalData(dataID); + if (localData == null) { + Log.w(TAG, "Current data ID not found."); + return false; + } + return localData.getLocalDataType() == LocalData.LOCAL_CAMERA_PREVIEW; + } + @Override public void onCurrentDataChanged(final int dataID, final boolean current) { runOnUiThread(new Runnable() { @@ -286,13 +302,13 @@ public class CameraActivity extends Activity } @Override - public boolean onToggleActionBarVisibility() { + public boolean onToggleActionBarVisibility(int dataID) { if (mActionBar.isShowing()) { setActionBarVisibilityAndLightsOut(true); } else { - // In the preview, don't show the action bar if that is - // a capture intent. - if (!isCaptureIntent()) { + // Don't show the action bar if that is the camera preview. + boolean isCameraID = isCameraPreview(dataID); + if (!isCameraID) { setActionBarVisibilityAndLightsOut(false); } } diff --git a/src/com/android/camera/ui/FilmStripView.java b/src/com/android/camera/ui/FilmStripView.java index 571462177..1a67060f3 100644 --- a/src/com/android/camera/ui/FilmStripView.java +++ b/src/com/android/camera/ui/FilmStripView.java @@ -340,9 +340,10 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener { /** * Toggles the visibility of the ActionBar. * + * @param dataID The ID of the image data. * @return The ActionBar visibility after the toggle. */ - public boolean onToggleActionBarVisibility(); + public boolean onToggleActionBarVisibility(int dataID); } /** @@ -2126,14 +2127,18 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener { @Override public boolean onSingleTapUp(float x, float y) { + ViewItem centerItem = mViewItem[mCurrentItem]; if (inFilmStrip()) { - ViewItem centerItem = mViewItem[mCurrentItem]; if (centerItem != null && centerItem.areaContains(x, y)) { mController.goToFullScreen(); return true; } } else if (inFullScreen()) { - boolean visible = mListener.onToggleActionBarVisibility(); + int dataID = -1; + if (centerItem != null) { + dataID = centerItem.getId(); + } + boolean visible = mListener.onToggleActionBarVisibility(dataID); mBottomControls.setVisibility(visible ? View.VISIBLE : View.GONE); return true; } |