Disabled further filters after Tiny Planet.

Bug: 7407176

Temporary fix.  We need to handle filters changing the image
geometry properly.

Change-Id: I405b83acddec4e3b88a8a1d70dc534df15c37f1c
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index c1e4f6a..ff78bd1 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -231,6 +231,11 @@
         mGeometryButton = (ImageButton) findViewById(R.id.geometryButton);
         mColorsButton = (ImageButton) findViewById(R.id.colorsButton);
 
+        mBottomPanelButtons.add(mFxButton);
+        mBottomPanelButtons.add(mBorderButton);
+        mBottomPanelButtons.add(mGeometryButton);
+        mBottomPanelButtons.add(mColorsButton);
+
         mImageShow.setImageLoader(mImageLoader);
         mImageCurves.setImageLoader(mImageLoader);
         mImageCurves.setMaster(mImageShow);
@@ -796,6 +801,22 @@
         }
     }
 
+    public void disableFilterButtons() {
+        for (ImageButton b : mBottomPanelButtons) {
+            b.setEnabled(false);
+            b.setClickable(false);
+            b.setAlpha(0.4f);
+        }
+    }
+
+    public void enableFilterButtons() {
+        for (ImageButton b : mBottomPanelButtons) {
+            b.setEnabled(true);
+            b.setClickable(true);
+            b.setAlpha(1.0f);
+        }
+    }
+
     // //////////////////////////////////////////////////////////////////////////////
     // imageState panel...
 
@@ -877,7 +898,7 @@
         invalidateOptionsMenu();
     }
 
-    private void resetHistory() {
+    void resetHistory() {
         mNullFxFilter.onClick(mNullFxFilter);
         mNullBorderFilter.onClick(mNullBorderFilter);
 
diff --git a/src/com/android/gallery3d/filtershow/PanelController.java b/src/com/android/gallery3d/filtershow/PanelController.java
index 52bf98a..e92c549 100644
--- a/src/com/android/gallery3d/filtershow/PanelController.java
+++ b/src/com/android/gallery3d/filtershow/PanelController.java
@@ -56,6 +56,7 @@
     private static int HORIZONTAL_MOVE = 1;
     private static final int ANIM_DURATION = 200;
     private static final String LOGTAG = "PanelController";
+    private boolean mDisableFilterButtons = false;
 
     class Panel {
         private final View mView;
@@ -345,6 +346,10 @@
             mCurrentImage.resetParameter();
             mCurrentImage.select();
         }
+        if (mDisableFilterButtons) {
+            mActivity.enableFilterButtons();
+            mDisableFilterButtons = false;
+        }
     }
 
     public boolean onBackPressed() {
@@ -356,6 +361,11 @@
         mMasterImage.onItemClick(position);
         showPanel(mCurrentPanel);
         mCurrentImage.select();
+        if (mDisableFilterButtons) {
+            mActivity.enableFilterButtons();
+            mActivity.resetHistory();
+            mDisableFilterButtons = false;
+        }
         return false;
     }
 
@@ -593,6 +603,10 @@
                 String ename = mCurrentImage.getContext().getString(R.string.tinyplanet);
                 mUtilityPanel.setEffectName(ename);
                 ensureFilter(ename);
+                if (!mDisableFilterButtons) {
+                    mActivity.disableFilterButtons();
+                    mDisableFilterButtons = true;
+                }
                 break;
             }
             case R.id.straightenButton: {