diff options
Diffstat (limited to 'src/com/android/camera/app/FilmstripBottomPanel.java')
-rw-r--r-- | src/com/android/camera/app/FilmstripBottomPanel.java | 60 |
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) { |