summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/app/FilmstripBottomPanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/app/FilmstripBottomPanel.java')
-rw-r--r--src/com/android/camera/app/FilmstripBottomPanel.java60
1 files changed, 8 insertions, 52 deletions
diff --git a/src/com/android/camera/app/FilmstripBottomPanel.java b/src/com/android/camera/app/FilmstripBottomPanel.java
index 8285ae61a..572ab83e2 100644
--- a/src/com/android/camera/app/FilmstripBottomPanel.java
+++ b/src/com/android/camera/app/FilmstripBottomPanel.java
@@ -16,7 +16,6 @@
package com.android.camera.app;
-import android.util.SparseArray;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
@@ -24,8 +23,8 @@ import android.widget.ImageButton;
import android.widget.ProgressBar;
import android.widget.TextView;
-import com.android.camera.debug.Log;
import com.android.camera.widget.Cling;
+import com.android.camera.widget.ExternalViewerButton;
import com.android.camera2.R;
/**
@@ -33,14 +32,13 @@ import com.android.camera2.R;
* sphere image and creating a tiny planet from a photo sphere image.
*/
class FilmstripBottomPanel implements CameraAppUI.BottomPanel {
- private static final Log.Tag TAG = new Log.Tag("BottomPanel");
private final AppController mController;
private final ViewGroup mLayout;
private Listener mListener;
private final View mControlLayout;
private ImageButton mEditButton;
- private ImageButton mViewButton;
+ private ExternalViewerButton mViewButton;
private ImageButton mDeleteButton;
private ImageButton mShareButton;
private final View mMiddleFiller;
@@ -50,7 +48,6 @@ class FilmstripBottomPanel implements CameraAppUI.BottomPanel {
private TextView mProgressErrorText;
private ProgressBar mProgressBar;
private boolean mTinyPlanetEnabled;
- private final SparseArray<Cling> mClingMap = new SparseArray<Cling>();
public FilmstripBottomPanel(AppController controller, ViewGroup bottomControlsLayout) {
mController = controller;
@@ -71,27 +68,17 @@ class FilmstripBottomPanel implements CameraAppUI.BottomPanel {
@Override
public void setClingForViewer(int viewerType, Cling cling) {
- if (cling == null) {
- Log.w(TAG, "Cannot set a null cling for viewer");
- return;
- }
- mClingMap.put(viewerType, cling);
- cling.setReferenceView(mViewButton);
+ mViewButton.setClingForViewer(viewerType, cling);
}
@Override
public void clearClingForViewer(int viewerType) {
- Cling cling = mClingMap.get(viewerType);
- if (cling == null) {
- Log.w(TAG, "Cling does not exist for the given viewer type: " + viewerType);
- }
- cling.setReferenceView(null);
- mClingMap.remove(viewerType);
+ mViewButton.clearClingForViewer(viewerType);
}
@Override
public Cling getClingForViewer(int viewerType) {
- return mClingMap.get(viewerType);
+ return mViewButton.getClingForViewer(viewerType);
}
@Override
@@ -100,7 +87,6 @@ class FilmstripBottomPanel implements CameraAppUI.BottomPanel {
mLayout.setVisibility(View.VISIBLE);
} else {
mLayout.setVisibility(View.INVISIBLE);
- hideClings();
}
}
@@ -117,18 +103,7 @@ class FilmstripBottomPanel implements CameraAppUI.BottomPanel {
@Override
public void setViewerButtonVisibility(int state) {
- if (state == VIEWER_NONE) {
- mViewButton.setVisibility(View.GONE);
- hideClings();
-
- } else {
- mViewButton.setImageResource(getViewButtonResource(state));
- mViewButton.setVisibility(View.VISIBLE);
- View cling = mClingMap.get(state);
- if (cling != null) {
- cling.setVisibility(View.VISIBLE);
- }
- }
+ mViewButton.setState(state);
updateMiddleFillerLayoutVisibility();
}
@@ -206,26 +181,6 @@ class FilmstripBottomPanel implements CameraAppUI.BottomPanel {
mControlLayout.setVisibility(View.INVISIBLE);
}
- /**
- * Sets all the clings to be invisible.
- */
- private void hideClings() {
- for (int i = 0; i < mClingMap.size(); i++) {
- mClingMap.valueAt(i).setVisibility(View.INVISIBLE);
- }
- }
-
- private int getViewButtonResource(int state) {
- switch (state) {
- case VIEWER_REFOCUS:
- return R.drawable.ic_refocus_normal;
- case VIEWER_PHOTO_SPHERE:
- return R.drawable.ic_view_photosphere;
- default:
- return R.drawable.ic_control_play;
- }
- }
-
private void setupEditButton() {
mEditButton = (ImageButton) mLayout.findViewById(R.id.filmstrip_bottom_control_edit);
mEditButton.setOnClickListener(new View.OnClickListener() {
@@ -243,7 +198,8 @@ class FilmstripBottomPanel implements CameraAppUI.BottomPanel {
}
private void setupViewButton() {
- mViewButton = (ImageButton) mLayout.findViewById(R.id.filmstrip_bottom_control_view);
+ mViewButton = (ExternalViewerButton) mLayout.findViewById(
+ R.id.filmstrip_bottom_control_view);
mViewButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {