Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 69f5d8cb authored by Ruben Brunk's avatar Ruben Brunk
Browse files

Fixes EDIT intents.

Bug: 8712238

Change-Id: I63bb07dc304b2745a29e3bf7510e8b38ccb59c48
parent 2e7f1704
Loading
Loading
Loading
Loading
+43 −1
Original line number Diff line number Diff line
@@ -117,6 +117,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
    private WeakReference<ProgressDialog> mSavingProgressDialog;

    private LoadBitmapTask mLoadBitmapTask;
    private boolean mLoading = true;

    private CategoryAdapter mCategoryLooksAdapter = null;
    private CategoryAdapter mCategoryBordersAdapter = null;
@@ -132,6 +133,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
        if (onlyUsePortrait) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
        MasterImage.setMaster(mMasterImage);

        clearGalleryBitmapPool();

@@ -320,6 +322,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);
@@ -457,7 +460,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL

        @Override
        protected void onPostExecute(Boolean result) {

            MasterImage.setMaster(mMasterImage);
            if (isCancelled()) {
                return;
            }
@@ -495,6 +498,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
            if (mAction == TINY_PLANET_ACTION) {
                showRepresentation(mCategoryFiltersAdapter.getTinyPlanet());
            }
            mLoading = false;
            super.onPostExecute(result);
        }

@@ -634,6 +638,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL
    @Override
    public void onPause() {
        super.onPause();
        rsPause();
        if (mShareActionProvider != null) {
            mShareActionProvider.setOnShareTargetSelectedListener(null);
        }
@@ -642,11 +647,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()) {
+3 −1
Original line number Diff line number Diff line
@@ -91,7 +91,9 @@ public class CachingPipeline {
    }

    public static synchronized void destroyRenderScriptContext() {
        if (sRS != null) {
            sRS.destroy();
        }
        sRS = null;
        sResources = null;
    }
+5 −0
Original line number Diff line number Diff line
@@ -91,6 +91,11 @@ public class MasterImage implements RenderingRequestCaller {
    private MasterImage() {
    }

    // TODO: remove singleton
    public static void setMaster(MasterImage master) {
        sMasterImage = master;
    }

    public static MasterImage getImage() {
        if (sMasterImage == null) {
            sMasterImage = new MasterImage();