public class CameraActivity extends Activity
implements AppController, CameraAgent.CameraOpenCallback,
- ActionBar.OnMenuVisibilityListener, ShareActionProvider.OnShareTargetSelectedListener,
+ ShareActionProvider.OnShareTargetSelectedListener,
OrientationManager.OnOrientationChangeListener {
private static final Log.Tag TAG = new Log.Tag("CameraActivity");
}
};
+ private ActionBar.OnMenuVisibilityListener mOnMenuVisibilityListener =
+ new ActionBar.OnMenuVisibilityListener() {
+ @Override
+ public void onMenuVisibilityChanged(boolean isVisible) {
+ // TODO: Remove this or bring back the original implementation: cancel
+ // auto-hide actionbar.
+ }
+ };
+
/**
* Whether the screen is kept turned on.
*/
@Override
public void onSwipeOutBegin() {
mActionBar.hide();
+ mCameraAppUI.hideBottomControls();
mFilmstripCoversPreview = false;
updatePreviewVisibility();
}
if (visible != mActionBar.isShowing()) {
if (visible) {
mActionBar.show();
+ mCameraAppUI.showBottomControls();
} else {
mActionBar.hide();
+ mCameraAppUI.hideBottomControls();
}
}
mFilmstripCoversPreview = visible;
}
@Override
- public void onMenuVisibilityChanged(boolean isVisible) {
- // TODO: Remove this or bring back the original implementation: cancel
- // auto-hide actionbar.
- }
-
- @Override
public boolean onShareTargetSelected(ShareActionProvider shareActionProvider, Intent intent) {
int currentDataId = mFilmstripController.getCurrentId();
if (currentDataId < 0) {
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
setContentView(R.layout.activity_main);
mActionBar = getActionBar();
- mActionBar.addOnMenuVisibilityListener(this);
+ mActionBar.addOnMenuVisibilityListener(mOnMenuVisibilityListener);
mMainHandler = new MainHandler(this, getMainLooper());
mCameraController = new CameraController(mAppContext, this, mMainHandler,
CameraAgentFactory.getAndroidCameraAgent(this, CameraAgentFactory.CameraApi.API_1),
if (mSecureCamera) {
unregisterReceiver(mScreenOffReceiver);
}
- mActionBar.removeOnMenuVisibilityListener(this);
+ mActionBar.removeOnMenuVisibilityListener(mOnMenuVisibilityListener);
mSettingsManager.removeAllListeners();
mCameraController.removeCallbackReceiver();
getContentResolver().unregisterContentObserver(mLocalImagesObserver);
import android.widget.ProgressBar;
import android.widget.TextView;
+import com.android.camera.util.Gusterpolator;
import com.android.camera.widget.Cling;
import com.android.camera.widget.ExternalViewerButton;
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 int ANIM_DURATION = 150;
private final AppController mController;
private final ViewGroup mLayout;
mMiddleFiller.setVisibility(View.GONE);
}
}
+
+ public void show() {
+ int offset = mLayout.getHeight();
+ mLayout.setTranslationY(offset);
+ mLayout.animate().translationY(0).setDuration(ANIM_DURATION)
+ .setInterpolator(Gusterpolator.INSTANCE);
+ }
+
+ public void hide() {
+ int offset = mLayout.getHeight();
+ mLayout.setTranslationY(0);
+ mLayout.animate().translationY(offset).setDuration(ANIM_DURATION)
+ .setInterpolator(Gusterpolator.INSTANCE);
+ }
}