OSDN Git Service

A quick not-so-good fix for action bar issue.
authorAngus Kong <shkong@google.com>
Sat, 7 Dec 2013 08:11:48 +0000 (00:11 -0800)
committerAngus Kong <shkong@google.com>
Sat, 7 Dec 2013 08:11:48 +0000 (00:11 -0800)
Will remove this fix after the filmstrip callback is re-designed.

Change-Id: Ie445581ab8c3a1fc3e474bef96366932d52ddcc9

src/com/android/camera/CameraActivity.java
src/com/android/camera/app/AppController.java
src/com/android/camera/app/CameraAppUI.java
src/com/android/camera/ui/FilmstripLayout.java

index cd53ad4..528086e 100644 (file)
@@ -282,6 +282,11 @@ public class CameraActivity extends Activity
         CameraUtil.showErrorAndFinish(this, R.string.cannot_connect_camera);
     }
 
+    @Override
+    public void onFilmstripHidden() {
+        setSystemBarsVisibility(false);
+    }
+
     private class MainHandler extends Handler {
         public MainHandler(Looper looper) {
             super(looper);
index 5c22b74..19af2d3 100644 (file)
@@ -23,6 +23,7 @@ import android.net.Uri;
 import android.widget.FrameLayout;
 
 import com.android.camera.LocationManager;
+import com.android.camera.ui.FilmstripLayout;
 import com.android.camera.ui.ModeListView;
 import com.android.camera.SettingsController;
 import com.android.camera.settings.SettingsManager;
@@ -30,7 +31,7 @@ import com.android.camera.settings.SettingsManager;
 /**
  * The controller at app level.
  */
-public interface AppController {
+public interface AppController extends FilmstripLayout.Listener {
 
     /**
      * An interface which defines the shutter events listener.
index 136330a..56ef8b6 100644 (file)
@@ -161,6 +161,7 @@ public class CameraAppUI implements ModeListView.ModeSwitchListener {
 
         mAppRootView = appRootView;
         mFilmstripLayout = (FilmstripLayout) appRootView.findViewById(R.id.filmstrip_layout);
+        mFilmstripLayout.setListener(controller);
         mCameraRootView = (FrameLayout) appRootView.findViewById(R.id.camera_app_root);
         mModeTransitionView = (ModeTransitionView)
                 mAppRootView.findViewById(R.id.mode_transition_view);
index da7690f..dff1417 100644 (file)
@@ -38,6 +38,12 @@ import com.android.camera2.R;
  * filmstrip.
  */
 public class FilmstripLayout extends FrameLayout {
+
+    // TODO: Remove this quick hack.
+    public interface Listener {
+        void onFilmstripHidden();
+    }
+
     private static final long DEFAULT_DURATION_MS = 200;
     private static final int ANIM_DIRECTION_IN = 1;
     private static final int ANIM_DIRECTION_OUT = 2;
@@ -45,6 +51,7 @@ public class FilmstripLayout extends FrameLayout {
     private FilmstripGestureRecognizer mGestureRecognizer;
     private FilmstripGestureRecognizer.Listener mFilmstripGestureListener;
     private final ValueAnimator mFilmstripAnimator = ValueAnimator.ofFloat(null);
+    private Listener mListener;
     private int mSwipeTrend;
     private MyBackgroundDrawable mBackgroundDrawable;
     private int mAnimationDirection;
@@ -64,6 +71,10 @@ public class FilmstripLayout extends FrameLayout {
                 if (mFilmstripView.getTranslationX() != 0f) {
                     mFilmstripView.getController().goToFilmStrip();
                     setVisibility(INVISIBLE);
+                    // TODO: Remove this quick hack.
+                    if (mListener != null) {
+                        mListener.onFilmstripHidden();
+                    }
                     setHiding(false);
                 } else {
                     setHiding(true);
@@ -116,6 +127,10 @@ public class FilmstripLayout extends FrameLayout {
         mFilmstripAnimator.addListener(mFilmstripAnimatorListener);
     }
 
+    public void setListener(Listener l) {
+        mListener = l;
+    }
+
     @Override
     public void onLayout(boolean changed, int l, int t, int r, int b) {
         super.onLayout(changed, l, t, r, b);