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

Commit 5c76c5a2 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "SnapdragonGallery: Check for dialog before creating new one"

parents c6c9d273 c905e2f9
Loading
Loading
Loading
Loading
+20 −5
Original line number Diff line number Diff line
@@ -33,6 +33,8 @@ package com.android.gallery3d.filtershow.category;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -69,11 +71,24 @@ public class TruePortraitMaskEditorPanel extends Fragment {
        boolean skipIntro = GalleryUtils.getBooleanPref(context,
                context.getString(R.string.pref_trueportrait_edit_intro_show_key), false);
        if(!skipIntro) {
            DoNotShowAgainDialog dialog = new DoNotShowAgainDialog(
            FragmentManager fm = getFragmentManager();
            DoNotShowAgainDialog dialog =
                    (DoNotShowAgainDialog) fm.findFragmentByTag("trueportrait_edit_intro");
            if(dialog == null) {
                dialog = new DoNotShowAgainDialog(
                        R.string.trueportrait_touch_up, R.string.trueportrait_edit_intro,
                        R.string.pref_trueportrait_edit_intro_show_key);
                dialog.setCancelable(false);
            dialog.show(getFragmentManager(), "trueportrait_edit_intro");
                dialog.show(fm, "trueportrait_edit_intro");
            } else if (dialog.isDetached()) {
                FragmentTransaction ft = fm.beginTransaction();
                ft.attach(dialog);
                ft.commit();
            } else if (dialog.isHidden()) {
                FragmentTransaction ft = fm.beginTransaction();
                ft.show(dialog);
                ft.commit();
            }
        }
    }

+33 −11
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.net.Uri;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
@@ -46,6 +47,7 @@ import android.widget.FrameLayout;
import android.widget.LinearLayout;

import org.codeaurora.gallery.R;

import com.android.gallery3d.filtershow.FilterShowActivity;
import com.android.gallery3d.filtershow.filters.FilterRepresentation;
import com.android.gallery3d.filtershow.filters.FilterTruePortraitFusionRepresentation;
@@ -171,18 +173,38 @@ public class EditorTruePortraitFusion extends Editor {
            boolean skipIntro = GalleryUtils.getBooleanPref(mContext,
                    mContext.getString(R.string.pref_trueportrait_fusion_intro_show_key), false);
            if(!skipIntro) {
                DoNotShowAgainDialog dialog = new DoNotShowAgainDialog(
                FragmentManager fm = ((FilterShowActivity)mContext).getSupportFragmentManager();
                DoNotShowAgainDialog dialog =
                        (DoNotShowAgainDialog) fm.findFragmentByTag("trueportrait_fusion_intro");
                if(dialog == null) {
                    dialog = new DoNotShowAgainDialog(
                            R.string.fusion_pick_background, R.string.trueportrait_fusion_intro,
                            R.string.pref_trueportrait_fusion_intro_show_key) {
                        @Override
                    public void onDismiss(DialogInterface dialog) {
                        super.onDismiss(dialog);
                        MasterImage.getImage().getActivity().pickImage(FilterShowActivity.SELECT_FUSION_UNDERLAY);
                        public void onCancel(DialogInterface dialog) {
                            super.onCancel(dialog);
                            FilterShowActivity activity = (FilterShowActivity) mContext;
                            activity.cancelCurrentFilter();
                            activity.leaveSeekBarPanel();
                        }
                    };
                FragmentManager fm = ((FilterShowActivity)mContext).getSupportFragmentManager();
                dialog.setCancelable(false);
                    dialog.setOnOkButtonClickListener(new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int id) {
                            MasterImage.getImage().getActivity().pickImage(FilterShowActivity.SELECT_FUSION_UNDERLAY);
                        }
                    });
                    dialog.setCancelable(true);
                    dialog.show(fm, "trueportrait_fusion_intro");
                } else if (dialog.isDetached()) {
                    FragmentTransaction ft = fm.beginTransaction();
                    ft.attach(dialog);
                    ft.commit();
                } else if (dialog.isHidden()) {
                    FragmentTransaction ft = fm.beginTransaction();
                    ft.show(dialog);
                    ft.commit();
                }
            }
        }
    }
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ public class AlertMsgDialog extends DialogFragment {
        ab.setTitle(mTitleId);
        ab.setMessage(mMessageId);
        ab.setCancelable(false);
        ab.setNeutralButton(R.string.ok, null);
        ab.setPositiveButton(R.string.ok, null);
        return ab.create();
    }
}
+8 −1
Original line number Diff line number Diff line
@@ -48,11 +48,13 @@ public class DoNotShowAgainDialog extends DialogFragment {
    private int mTitleId;
    private int mMessageId;
    private CheckBox mDoNotShowAgainChk;
    private DialogInterface.OnClickListener mButtonClickListener;

    public DoNotShowAgainDialog(int titleId, int msgId, int sharedPrefKeyId) {
        mTitleId = titleId;
        mMessageId = msgId;
        mSharedPrefKeyId = sharedPrefKeyId;
        mButtonClickListener = null;
    }

    @Override
@@ -67,13 +69,18 @@ public class DoNotShowAgainDialog extends DialogFragment {
        ab.setTitle(mTitleId);
        ab.setView(view);
        ab.setCancelable(false);
        ab.setNeutralButton(R.string.ok, new DialogInterface.OnClickListener() {
        ab.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                Context context = getActivity();
                GalleryUtils.setBooleanPref(context,
                        context.getString(mSharedPrefKeyId), mDoNotShowAgainChk.isChecked());
                if(mButtonClickListener != null) mButtonClickListener.onClick(dialog, id);
            }
        });
        return ab.create();
    }

    public void setOnOkButtonClickListener(DialogInterface.OnClickListener listener) {
        mButtonClickListener = listener;
    }
}