diff options
author | Kedi Xu <kedix@codeaurora.org> | 2017-01-17 20:02:29 +0800 |
---|---|---|
committer | Kedi Xu <kedix@codeaurora.org> | 2017-01-17 20:02:29 +0800 |
commit | 002491dada2810b749ffd1de87de1afc97bc8568 (patch) | |
tree | 4b3285c487e339c84293b9592923455c3d3fedca | |
parent | f4cfa24e62dc4278c5b0f168339c98ceb28b41fa (diff) | |
download | android_packages_apps_Gallery2-002491dada2810b749ffd1de87de1afc97bc8568.tar.gz android_packages_apps_Gallery2-002491dada2810b749ffd1de87de1afc97bc8568.tar.bz2 android_packages_apps_Gallery2-002491dada2810b749ffd1de87de1afc97bc8568.zip |
Gallery: Fix no ddm lib crash problem
create DoNotShowAgainDialog inner class, then show,
will crash in latest android version.
Change-Id: Id6afb523f507023b563b2d2982ffe3936f3e2136
CRs-Fixed: 1104398
4 files changed, 21 insertions, 10 deletions
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index 8cea64ea5..dff96bf7a 100755 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -68,6 +68,7 @@ import com.android.gallery3d.data.SnailItem; import com.android.gallery3d.data.SnailSource; import com.android.gallery3d.filtershow.FilterShowActivity; import com.android.gallery3d.filtershow.imageshow.MasterImage; +import com.android.gallery3d.filtershow.tools.DualCameraNativeEngine; import com.android.gallery3d.mpo.MpoParser; import com.android.gallery3d.ui.DetailsHelper; import com.android.gallery3d.ui.DetailsHelper.CloseListener; @@ -1505,11 +1506,13 @@ public abstract class PhotoPage extends ActivityState implements private void parseMpoData() { bShow3DButton = false; - if (mParseMpoDateTask.getStatus() != AsyncTask.Status.FINISHED) { - boolean r = mParseMpoDateTask.cancel(true); + if (DualCameraNativeEngine.getInstance().isLibLoaded()) { + if (mParseMpoDateTask.getStatus() != AsyncTask.Status.FINISHED) { + boolean r = mParseMpoDateTask.cancel(true); + } + mParseMpoDateTask = new ParseMpoDataTask(); + mParseMpoDateTask.execute(); } - mParseMpoDateTask = new ParseMpoDataTask(); - mParseMpoDateTask.execute(); } @Override diff --git a/src/com/android/gallery3d/filtershow/category/MainPanel.java b/src/com/android/gallery3d/filtershow/category/MainPanel.java index 055d7a430..25788d790 100755 --- a/src/com/android/gallery3d/filtershow/category/MainPanel.java +++ b/src/com/android/gallery3d/filtershow/category/MainPanel.java @@ -255,13 +255,13 @@ public class MainPanel extends Fragment implements BottomPanel.BottomPanelDelega } else { DoNotShowAgainDialog dialog = new DoNotShowAgainDialog( R.string.dual_camera_effects, R.string.dual_camera_effects_intro, - R.string.pref_dualcam_intro_show_key) { + R.string.pref_dualcam_intro_show_key); + dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { - super.onDismiss(dialog); showPanel(DUALCAM); } - }; + }); dialog.show(getFragmentManager(), "dualcam_intro"); } } diff --git a/src/com/android/gallery3d/filtershow/editors/EditorDualCamFusion.java b/src/com/android/gallery3d/filtershow/editors/EditorDualCamFusion.java index f4490b330..b9e1e2930 100755 --- a/src/com/android/gallery3d/filtershow/editors/EditorDualCamFusion.java +++ b/src/com/android/gallery3d/filtershow/editors/EditorDualCamFusion.java @@ -173,15 +173,16 @@ public class EditorDualCamFusion extends Editor { if (dialog == null) { dialog = new DoNotShowAgainDialog( R.string.fusion_pick_background, R.string.dualcam_fusion_intro, - R.string.pref_dualcam_fusion_intro_show_key) { + R.string.pref_dualcam_fusion_intro_show_key); + dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { - super.onCancel(dialog); FilterShowActivity activity = (FilterShowActivity) mContext; activity.cancelCurrentFilter(); activity.leaveSeekBarPanel(); } - }; + }); + dialog.setOnOkButtonClickListener(new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { diff --git a/src/com/android/gallery3d/filtershow/ui/DoNotShowAgainDialog.java b/src/com/android/gallery3d/filtershow/ui/DoNotShowAgainDialog.java index bea6d5be0..a4e0968a9 100644 --- a/src/com/android/gallery3d/filtershow/ui/DoNotShowAgainDialog.java +++ b/src/com/android/gallery3d/filtershow/ui/DoNotShowAgainDialog.java @@ -101,6 +101,7 @@ public class DoNotShowAgainDialog extends DialogFragment { public void setOnCancelListener(DialogInterface.OnCancelListener listener) { mCancelListener = listener; } + @Override public void onCancel(DialogInterface dialog) { super.onCancel(dialog); @@ -108,4 +109,10 @@ public class DoNotShowAgainDialog extends DialogFragment { mCancelListener.onCancel(dialog); } } + + @Override + public void onPause() { + this.dismiss(); + super.onPause(); + } } |