Add new rule about watermark

watermark only support single edit operation

Change-Id: I292f545a4facf158d9efbb4a47feebb4e64ad378
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index 7fad956..7e0f3ca 100755
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -1421,6 +1421,13 @@
         if (representation == null) {
             return;
         }
+        if (hasWaterMark && representation.getFilterType() != FilterRepresentation.TYPE_WATERMARK &&
+                representation.getFilterType() !=
+                FilterWatermarkRepresentation.TYPE_WATERMARK_CATEGORY) {
+            clearWaterMark();
+            resetHistory();
+            showWatermarkButton(false);
+        }
 
         Fragment currentPanel =
                 getSupportFragmentManager().findFragmentByTag(MainPanel.FRAGMENT_TAG);
@@ -2449,6 +2456,15 @@
             MasterImage.getImage().setCurrentFilter(null);
             MasterImage.getImage().setCurrentFilterRepresentation(null);
         }
+        showWatermarkButton(true);
+    }
+
+    private void showWatermarkButton(boolean visible) {
+        Fragment currentPanel = getSupportFragmentManager()
+                .findFragmentByTag(MainPanel.FRAGMENT_TAG);
+        if (currentPanel instanceof MainPanel) {
+            ((MainPanel) currentPanel).showWatermarkButton(visible);
+        }
     }
 
     public void backToMain() {
diff --git a/src/com/android/gallery3d/filtershow/category/MainPanel.java b/src/com/android/gallery3d/filtershow/category/MainPanel.java
index 26ae327..cf5d2ed 100755
--- a/src/com/android/gallery3d/filtershow/category/MainPanel.java
+++ b/src/com/android/gallery3d/filtershow/category/MainPanel.java
@@ -29,6 +29,7 @@
 import android.view.ViewGroup;
 import android.widget.ImageButton;
 import android.widget.LinearLayout;
+import android.widget.Toast;
 
 import org.codeaurora.gallery.R;
 import org.json.JSONObject;
@@ -232,7 +233,14 @@
         waterMarkButton.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                showPanel(WATERMARK);
+                if (MasterImage.getImage().getHistory().getItem(1) == null) {
+                    waterMarkButton.setVisibility(View.VISIBLE);
+                    showPanel(WATERMARK);
+                } else {
+                    Toast.makeText(getActivity(), "Watermark only support single edit",
+                            Toast.LENGTH_SHORT).show();
+                    waterMarkButton.setVisibility(View.GONE);
+                }
             }
         });
         looksButton.setOnClickListener(new View.OnClickListener() {
@@ -745,4 +753,10 @@
             dualCamButton.setVisibility(visible ? View.VISIBLE : View.GONE);
         }
     }
+
+    public void showWatermarkButton(boolean visible) {
+        if (waterMarkButton != null) {
+            waterMarkButton.setVisibility(visible ? View.VISIBLE : View.GONE);
+        }
+    }
 }