summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/FilterShowActivity.java
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2013-04-25 12:48:52 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-04-25 12:48:52 -0700
commit9628b5f71cd423d20155742f2cf1ccac5160dad0 (patch)
tree1b0011c7b758900d719d23825e813bd7bbfbd4f6 /src/com/android/gallery3d/filtershow/FilterShowActivity.java
parent74658059e396190169c17802e2937806bc296d80 (diff)
parentd7eedcd228a27536f31b4a80141fde831ebc6d86 (diff)
downloadandroid_packages_apps_Snap-9628b5f71cd423d20155742f2cf1ccac5160dad0.tar.gz
android_packages_apps_Snap-9628b5f71cd423d20155742f2cf1ccac5160dad0.tar.bz2
android_packages_apps_Snap-9628b5f71cd423d20155742f2cf1ccac5160dad0.zip
am 69f5d8cb: Fixes EDIT intents.
* commit '69f5d8cbf51422454257a00d7959b2e8d50cb0ca': Fixes EDIT intents.
Diffstat (limited to 'src/com/android/gallery3d/filtershow/FilterShowActivity.java')
-rw-r--r--src/com/android/gallery3d/filtershow/FilterShowActivity.java44
1 files changed, 43 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index d795212b5..24df1c9d4 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -119,6 +119,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
private WeakReference<ProgressDialog> mSavingProgressDialog;
private LoadBitmapTask mLoadBitmapTask;
+ private boolean mLoading = true;
private Uri mOriginalImageUri = null;
private ImagePreset mOriginalPreset = null;
@@ -137,6 +138,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
if (onlyUsePortrait) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
+ MasterImage.setMaster(mMasterImage);
clearGalleryBitmapPool();
@@ -329,6 +331,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
}
private void startLoadBitmap(Uri uri) {
+ mLoading = true;
final View loading = findViewById(R.id.loading);
final View imageShow = findViewById(R.id.imageShow);
imageShow.setVisibility(View.INVISIBLE);
@@ -467,7 +470,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
@Override
protected void onPostExecute(Boolean result) {
-
+ MasterImage.setMaster(mMasterImage);
if (isCancelled()) {
return;
}
@@ -510,6 +513,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
if (mAction == TINY_PLANET_ACTION) {
showRepresentation(mCategoryFiltersAdapter.getTinyPlanet());
}
+ mLoading = false;
super.onPostExecute(result);
}
@@ -649,6 +653,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
@Override
public void onPause() {
super.onPause();
+ rsPause();
if (mShareActionProvider != null) {
mShareActionProvider.setOnShareTargetSelectedListener(null);
}
@@ -657,11 +662,48 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
@Override
public void onResume() {
super.onResume();
+ rsResume();
if (mShareActionProvider != null) {
mShareActionProvider.setOnShareTargetSelectedListener(this);
}
}
+ private void rsResume() {
+ ImageFilter.setActivityForMemoryToasts(this);
+ MasterImage.setMaster(mMasterImage);
+ if (CachingPipeline.getRenderScriptContext() == null) {
+ CachingPipeline.createRenderscriptContext(this);
+ }
+ FiltersManager.setResources(getResources());
+ if (!mLoading) {
+ Bitmap largeBitmap = mImageLoader.getOriginalBitmapLarge();
+ FilteringPipeline pipeline = FilteringPipeline.getPipeline();
+ pipeline.setOriginal(largeBitmap);
+ float previewScale = (float) largeBitmap.getWidth() /
+ (float) mImageLoader.getOriginalBounds().width();
+ pipeline.setPreviewScaleFactor(previewScale);
+ Bitmap highresBitmap = mImageLoader.getOriginalBitmapHighres();
+ if (highresBitmap != null) {
+ float highResPreviewScale = (float) highresBitmap.getWidth() /
+ (float) mImageLoader.getOriginalBounds().width();
+ pipeline.setHighResPreviewScaleFactor(highResPreviewScale);
+ }
+ pipeline.turnOnPipeline(true);
+ MasterImage.getImage().setOriginalGeometry(largeBitmap);
+ }
+ }
+
+ private void rsPause() {
+ FilteringPipeline.getPipeline().turnOnPipeline(false);
+ FilteringPipeline.reset();
+ ImageFilter.resetStatics();
+ FiltersManager.getPreviewManager().freeRSFilterScripts();
+ FiltersManager.getManager().freeRSFilterScripts();
+ FiltersManager.getHighresManager().freeRSFilterScripts();
+ FiltersManager.reset();
+ CachingPipeline.destroyRenderScriptContext();
+ }
+
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {