diff options
Diffstat (limited to 'src/com/android/gallery3d')
9 files changed, 53 insertions, 15 deletions
diff --git a/src/com/android/gallery3d/app/StateManager.java b/src/com/android/gallery3d/app/StateManager.java index c0c84c950..53c3fc228 100644 --- a/src/com/android/gallery3d/app/StateManager.java +++ b/src/com/android/gallery3d/app/StateManager.java @@ -64,14 +64,10 @@ public class StateManager { StateTransitionAnimation.Transition.Incoming); if (mIsResumed) top.onPause(); } - // Ignore the filmstrip used for the root of the camera app - boolean ignoreHit = (mActivity instanceof CameraActivity) - && mStack.isEmpty(); - if (!ignoreHit) { - UsageStatistics.onContentViewChanged( - UsageStatistics.COMPONENT_GALLERY, - klass.getSimpleName()); - } + + UsageStatistics.onContentViewChanged( + UsageStatistics.COMPONENT_GALLERY, + klass.getSimpleName()); state.initialize(mActivity, data); mStack.push(new StateEntry(data, state)); diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index 13aa3aa85..289a4c37b 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -37,6 +37,7 @@ import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTransaction; import android.util.DisplayMetrics; import android.util.TypedValue; +import android.util.Log; import android.view.Display; import android.view.Menu; import android.view.MenuItem; @@ -91,6 +92,7 @@ import com.android.gallery3d.filtershow.tools.XmpPresets.XMresults; import com.android.gallery3d.filtershow.ui.FramedTextButton; import com.android.gallery3d.filtershow.ui.Spline; import com.android.gallery3d.util.GalleryUtils; +import com.android.gallery3d.util.UsageStatistics; import com.android.photos.data.GalleryBitmapPool; import java.io.File; @@ -168,6 +170,9 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL extractXMPData(); processIntent(); + UsageStatistics.onContentViewChanged(UsageStatistics.COMPONENT_EDITOR, "Main"); + UsageStatistics.onEvent(UsageStatistics.COMPONENT_EDITOR, + UsageStatistics.CATEGORY_LIFECYCLE, UsageStatistics.LIFECYCLE_START); } public boolean isShowingImageStatePanel() { @@ -514,6 +519,10 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL cannotLoadImage(); } + if (null == CachingPipeline.getRenderScriptContext()){ + Log.v(LOGTAG,"RenderScript context destroyed during load"); + return; + } final View loading = findViewById(R.id.loading); loading.setVisibility(View.GONE); final View imageShow = findViewById(R.id.imageShow); @@ -748,6 +757,8 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL mMasterImage.onHistoryItemClick(position); backToMain(); invalidateViews(); + UsageStatistics.onEvent(UsageStatistics.COMPONENT_EDITOR, + UsageStatistics.CATEGORY_BUTTON_PRESS, "Undo"); return true; } case R.id.redoButton: { @@ -755,14 +766,21 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL int position = adapter.redo(); mMasterImage.onHistoryItemClick(position); invalidateViews(); + UsageStatistics.onEvent(UsageStatistics.COMPONENT_EDITOR, + UsageStatistics.CATEGORY_BUTTON_PRESS, "Redo"); return true; } case R.id.resetHistoryButton: { resetHistory(); + UsageStatistics.onEvent(UsageStatistics.COMPONENT_EDITOR, + UsageStatistics.CATEGORY_BUTTON_PRESS, "ResetHistory"); return true; } case R.id.showImageStateButton: { toggleImageStatePanel(); + UsageStatistics.onEvent(UsageStatistics.COMPONENT_EDITOR, + UsageStatistics.CATEGORY_BUTTON_PRESS, + mShowingImageStatePanel ? "ShowPanel" : "HidePanel"); return true; } case android.R.id.home: { @@ -983,6 +1001,9 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL public void done() { hideSavingProgress(); + if (mLoadBitmapTask != null) { + mLoadBitmapTask.cancel(false); + } finish(); } diff --git a/src/com/android/gallery3d/filtershow/category/Action.java b/src/com/android/gallery3d/filtershow/category/Action.java index 506b2bf0f..b46147961 100644 --- a/src/com/android/gallery3d/filtershow/category/Action.java +++ b/src/com/android/gallery3d/filtershow/category/Action.java @@ -134,7 +134,7 @@ public class Action implements RenderingRequestCaller { m.mapRect(image); m.setRectToRect(image, frame, Matrix.ScaleToFit.FILL); Canvas canvas = new Canvas(destination); - canvas.drawBitmap(source, m, new Paint()); + canvas.drawBitmap(source, m, new Paint(Paint.FILTER_BITMAP_FLAG)); } @Override diff --git a/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java b/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java index 4186b9337..daa599940 100644 --- a/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java +++ b/src/com/android/gallery3d/filtershow/filters/BaseFiltersManager.java @@ -162,9 +162,23 @@ public abstract class BaseFiltersManager implements FiltersManagerInterface { R.string.ffx_x_process }; + // Do not localize. + String[] serializationNames = { + "LUT3D_PUNCH", + "LUT3D_VINTAGE", + "LUT3D_BW", + "LUT3D_BLEACH", + "LUT3D_INSTANT", + "LUT3D_WASHOUT", + "LUT3D_BLUECRUSH", + "LUT3D_WASHOUT", + "LUT3D_XPROCESS" + }; + for (int i = 0; i < drawid.length; i++) { FilterFxRepresentation fx = new FilterFxRepresentation( context.getString(fxNameid[i]), drawid[i], fxNameid[i]); + fx.setSerializationName(serializationNames[i]); representations.add(fx); addRepresentation(fx); } diff --git a/src/com/android/gallery3d/filtershow/filters/FilterFxRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterFxRepresentation.java index 2dbff94bd..dfe0308c1 100644 --- a/src/com/android/gallery3d/filtershow/filters/FilterFxRepresentation.java +++ b/src/com/android/gallery3d/filtershow/filters/FilterFxRepresentation.java @@ -19,7 +19,6 @@ package com.android.gallery3d.filtershow.filters; import com.android.gallery3d.filtershow.editors.ImageOnlyEditor; public class FilterFxRepresentation extends FilterRepresentation { - private static final String SERIALIZATION_NAME = "LUT3D"; private static final String LOGTAG = "FilterFxRepresentation"; // TODO: When implementing serialization, we should find a unique way of // specifying bitmaps / names (the resource IDs being random) @@ -28,7 +27,6 @@ public class FilterFxRepresentation extends FilterRepresentation { public FilterFxRepresentation(String name, int bitmapResource, int nameResource) { super(name); - setSerializationName(SERIALIZATION_NAME + "_" + name); setFilterClass(ImageFilterFx.class); mBitmapResource = bitmapResource; mNameResource = nameResource; diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java index 8f490ca5e..4ea944b7b 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java +++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java @@ -140,7 +140,9 @@ public class MasterImage implements RenderingRequestCaller { } public synchronized void setPreset(ImagePreset preset, boolean addToHistory) { - preset.showFilters(); + if (DEBUG) { + preset.showFilters(); + } mPreset = preset; mPreset.setImageLoader(mLoader); setGeometry(); diff --git a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java index f06e048a2..ebefa015f 100644 --- a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java +++ b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java @@ -471,7 +471,7 @@ public class ImagePreset { bitmap = environment.applyRepresentation(mBorder, bitmap); if (environment.getQuality() == FilterEnvironment.QUALITY_FINAL) { UsageStatistics.onEvent(UsageStatistics.COMPONENT_EDITOR, - "SaveBorder", mBorder.getName(), 1); + "SaveBorder", mBorder.getSerializationName(), 1); } } return bitmap; @@ -489,6 +489,10 @@ public class ImagePreset { if (to == -1) { to = mFilters.size(); } + if (environment.getQuality() == FilterEnvironment.QUALITY_FINAL) { + UsageStatistics.onEvent(UsageStatistics.COMPONENT_EDITOR, + "SaveFilters", "Total", to - from + 1); + } for (int i = from; i < to; i++) { FilterRepresentation representation = null; synchronized (mFilters) { @@ -498,7 +502,7 @@ public class ImagePreset { bitmap = environment.applyRepresentation(representation, bitmap); if (environment.getQuality() == FilterEnvironment.QUALITY_FINAL) { UsageStatistics.onEvent(UsageStatistics.COMPONENT_EDITOR, - "SaveFilter", representation.getName(), 1); + "SaveFilter", representation.getSerializationName(), 1); } if (environment.needsStop()) { return bitmap; diff --git a/src/com/android/gallery3d/filtershow/tools/IconFactory.java b/src/com/android/gallery3d/filtershow/tools/IconFactory.java index ccc49e13d..9e39f27fc 100644 --- a/src/com/android/gallery3d/filtershow/tools/IconFactory.java +++ b/src/com/android/gallery3d/filtershow/tools/IconFactory.java @@ -103,6 +103,6 @@ public class IconFactory { rec.roundOut(srcRect); } - canvas.drawBitmap(sourceImage, srcRect, destRect, new Paint()); + canvas.drawBitmap(sourceImage, srcRect, destRect, new Paint(Paint.FILTER_BITMAP_FLAG)); } } diff --git a/src/com/android/gallery3d/filtershow/tools/SaveCopyTask.java b/src/com/android/gallery3d/filtershow/tools/SaveCopyTask.java index 0d3d5ac06..9e96e96c3 100644 --- a/src/com/android/gallery3d/filtershow/tools/SaveCopyTask.java +++ b/src/com/android/gallery3d/filtershow/tools/SaveCopyTask.java @@ -36,6 +36,7 @@ import com.android.gallery3d.filtershow.cache.CachingPipeline; import com.android.gallery3d.filtershow.cache.ImageLoader; import com.android.gallery3d.filtershow.filters.FiltersManager; import com.android.gallery3d.filtershow.presets.ImagePreset; +import com.android.gallery3d.util.UsageStatistics; import com.android.gallery3d.util.XmpUtilHelper; import java.io.File; @@ -328,6 +329,8 @@ public class SaveCopyTask extends AsyncTask<ImagePreset, Void, Uri> { } noBitmap = false; + UsageStatistics.onEvent(UsageStatistics.COMPONENT_EDITOR, + "SaveComplete", null); } catch (java.lang.OutOfMemoryError e) { // Try 5 times before failing for good. if (++num_tries >= 5) { |