summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKedi Xu <kedix@codeaurora.org>2017-01-17 20:02:29 +0800
committerKedi Xu <kedix@codeaurora.org>2017-01-17 20:02:29 +0800
commit002491dada2810b749ffd1de87de1afc97bc8568 (patch)
tree4b3285c487e339c84293b9592923455c3d3fedca
parentf4cfa24e62dc4278c5b0f168339c98ceb28b41fa (diff)
downloadandroid_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
-rwxr-xr-xsrc/com/android/gallery3d/app/PhotoPage.java11
-rwxr-xr-xsrc/com/android/gallery3d/filtershow/category/MainPanel.java6
-rwxr-xr-xsrc/com/android/gallery3d/filtershow/editors/EditorDualCamFusion.java7
-rw-r--r--src/com/android/gallery3d/filtershow/ui/DoNotShowAgainDialog.java7
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();
+ }
}