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);
+ }
+ }
}