diff options
Diffstat (limited to 'src/com/android/gallery3d/filtershow/FilterShowActivity.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/FilterShowActivity.java | 50 |
1 files changed, 41 insertions, 9 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index fbe09b999..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; @@ -136,6 +138,8 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL private Uri mOriginalImageUri = null; private ImagePreset mOriginalPreset = null; + private Uri mSelectedImageUri = null; + private CategoryAdapter mCategoryLooksAdapter = null; private CategoryAdapter mCategoryBordersAdapter = null; private CategoryAdapter mCategoryGeometryAdapter = null; @@ -166,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() { @@ -305,12 +312,13 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL } mAction = intent.getAction(); - Uri srcUri = intent.getData(); + mSelectedImageUri = intent.getData(); + Uri loadUri = mSelectedImageUri; if (mOriginalImageUri != null) { - srcUri = mOriginalImageUri; + loadUri = mOriginalImageUri; } - if (srcUri != null) { - startLoadBitmap(srcUri); + if (loadUri != null) { + startLoadBitmap(loadUri); } else { pickImage(); } @@ -511,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); @@ -745,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: { @@ -752,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: { @@ -907,11 +928,13 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(R.string.unsaved).setTitle(R.string.save_before_exit); builder.setPositiveButton(R.string.save_and_exit, new DialogInterface.OnClickListener() { + @Override public void onClick(DialogInterface dialog, int id) { saveImage(); } }); builder.setNegativeButton(R.string.exit, new DialogInterface.OnClickListener() { + @Override public void onClick(DialogInterface dialog, int id) { done(); } @@ -965,7 +988,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL public void saveImage() { if (mImageShow.hasModifications()) { // Get the name of the album, to which the image will be saved - File saveDir = SaveCopyTask.getFinalSaveDirectory(this, mImageLoader.getUri()); + File saveDir = SaveCopyTask.getFinalSaveDirectory(this, mSelectedImageUri); int bucketId = GalleryUtils.getBucketId(saveDir.getPath()); String albumName = LocalAlbum.getLocalizedName(getResources(), bucketId, null); showSavingProgress(albumName); @@ -978,13 +1001,12 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL public void done() { hideSavingProgress(); + if (mLoadBitmapTask != null) { + mLoadBitmapTask.cancel(false); + } finish(); } - static { - System.loadLibrary("jni_filtershow_filters"); - } - private void extractXMPData() { XMresults res = XmpPresets.extractXMPData( getBaseContext(), mMasterImage, getIntent().getData()); @@ -994,4 +1016,14 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL mOriginalImageUri = res.originalimage; mOriginalPreset = res.preset; } + + public Uri getSelectedImageUri() { + return mSelectedImageUri; + } + + static { + System.loadLibrary("jni_filtershow_filters"); + } + + } |