diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2013-04-25 12:48:52 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-04-25 12:48:52 -0700 |
commit | 9628b5f71cd423d20155742f2cf1ccac5160dad0 (patch) | |
tree | 1b0011c7b758900d719d23825e813bd7bbfbd4f6 /src/com/android/gallery3d/filtershow/FilterShowActivity.java | |
parent | 74658059e396190169c17802e2937806bc296d80 (diff) | |
parent | d7eedcd228a27536f31b4a80141fde831ebc6d86 (diff) | |
download | android_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.java | 44 |
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()) { |