diff options
3 files changed, 7 insertions, 9 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index 61f7e683d..af333b6dd 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -598,9 +598,6 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL if (representation == null) { filterRepresentation = filterRepresentation.copy(); copy.addFilter(filterRepresentation); - } else if (filterRepresentation.getFilterType() == FilterRepresentation.TYPE_GEOMETRY) { - representation.useParametersFrom(filterRepresentation); - filterRepresentation = representation; } else { if (filterRepresentation.allowsSingleInstanceOnly()) { // Don't just update the filter representation. Centralize the @@ -746,7 +743,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL Bitmap largeBitmap = MasterImage.getImage().getOriginalBitmapLarge(); mBoundService.setOriginalBitmap(largeBitmap); - MasterImage.getImage().resetGeometryImages(); + MasterImage.getImage().resetGeometryImages(true); float previewScale = (float) largeBitmap.getWidth() / (float) MasterImage.getImage().getOriginalBounds().width(); diff --git a/src/com/android/gallery3d/filtershow/editors/Editor.java b/src/com/android/gallery3d/filtershow/editors/Editor.java index d5717d02f..e326663a4 100644 --- a/src/com/android/gallery3d/filtershow/editors/Editor.java +++ b/src/com/android/gallery3d/filtershow/editors/Editor.java @@ -95,7 +95,7 @@ public class Editor implements OnSeekBarChangeListener, SwapButton.SwapButtonLis mEditTitle = editTitle; mFilterTitle = stateButton; mButton = editTitle; - MasterImage.getImage().resetGeometryImages(); + MasterImage.getImage().resetGeometryImages(false); setMenuIcon(true); setUtilityPanelUI(actionButton, editControl); } @@ -242,7 +242,7 @@ public class Editor implements OnSeekBarChangeListener, SwapButton.SwapButtonLis } if (mChangesGeometry) { // Regenerate both the filtered and the geometry-only bitmaps - MasterImage.getImage().resetGeometryImages(); + MasterImage.getImage().resetGeometryImages(true); } // Regenerate the filtered bitmap. MasterImage.getImage().invalidateFiltersOnly(); diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java index 7e17bd470..b4cd1e0c8 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java +++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java @@ -238,6 +238,7 @@ public class MasterImage implements RenderingRequestCaller { mHistory.addHistoryItem(historyItem); } updatePresets(true); + resetGeometryImages(false); mActivity.updateCategories(); } @@ -333,11 +334,11 @@ public class MasterImage implements RenderingRequestCaller { } } - public void resetGeometryImages() { + public void resetGeometryImages(boolean force) { ImagePreset newPresetGeometryOnly = new ImagePreset(mPreset); newPresetGeometryOnly.setDoApplyFilters(false); newPresetGeometryOnly.setDoApplyGeometry(true); - if (mGeometryOnlyPreset == null + if (force || mGeometryOnlyPreset == null || !newPresetGeometryOnly.same(mGeometryOnlyPreset)) { mGeometryOnlyPreset = newPresetGeometryOnly; RenderingRequest.post(mActivity, getOriginalBitmapLarge(), @@ -346,7 +347,7 @@ public class MasterImage implements RenderingRequestCaller { ImagePreset newPresetFiltersOnly = new ImagePreset(mPreset); newPresetFiltersOnly.setDoApplyFilters(true); newPresetFiltersOnly.setDoApplyGeometry(false); - if (mFiltersOnlyPreset == null + if (force || mFiltersOnlyPreset == null || !newPresetFiltersOnly.same(mFiltersOnlyPreset)) { mFiltersOnlyPreset = newPresetFiltersOnly; RenderingRequest.post(mActivity, MasterImage.getImage().getOriginalBitmapLarge(), |