Merge "hide popupmenu during rotate" into gb-ub-photos-carlsbad
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index ab3007c..3807e1d 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -60,6 +60,7 @@
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.FrameLayout;
+import android.widget.PopupMenu;
import android.widget.ShareActionProvider;
import android.widget.ShareActionProvider.OnShareTargetSelectedListener;
import android.widget.Spinner;
@@ -129,7 +130,7 @@
public class FilterShowActivity extends FragmentActivity implements OnItemClickListener,
OnShareTargetSelectedListener, DialogInterface.OnShowListener,
- DialogInterface.OnDismissListener{
+ DialogInterface.OnDismissListener, PopupMenu.OnDismissListener{
private String mAction = "";
MasterImage mMasterImage = null;
@@ -192,6 +193,7 @@
private boolean mIsBound = false;
private Menu mMenu;
private DialogInterface mCurrentDialog = null;
+ private PopupMenu mCurrentMenu = null;
private boolean mLoadingVisible = true;
public ProcessingService getProcessingService() {
@@ -712,6 +714,20 @@
return findViewById(id);
}
+ public void onShowMenu(PopupMenu menu) {
+ mCurrentMenu = menu;
+ menu.setOnDismissListener(this);
+ }
+
+ @Override
+ public void onDismiss(PopupMenu popupMenu){
+ if (mCurrentMenu == null) {
+ return;
+ }
+ mCurrentMenu.setOnDismissListener(null);
+ mCurrentMenu = null;
+ }
+
@Override
public void onShow(DialogInterface dialog) {
mCurrentDialog = dialog;
@@ -1241,6 +1257,10 @@
fillCategories();
loadMainPanel();
+ if (mCurrentMenu != null) {
+ mCurrentMenu.dismiss();
+ mCurrentMenu = null;
+ }
if (mCurrentDialog != null) {
mCurrentDialog.dismiss();
mCurrentDialog = null;
diff --git a/src/com/android/gallery3d/filtershow/editors/EditorChanSat.java b/src/com/android/gallery3d/filtershow/editors/EditorChanSat.java
index e806a5a..abf0a69 100644
--- a/src/com/android/gallery3d/filtershow/editors/EditorChanSat.java
+++ b/src/com/android/gallery3d/filtershow/editors/EditorChanSat.java
@@ -30,6 +30,7 @@
import android.widget.TextView;
import com.android.gallery3d.R;
+import com.android.gallery3d.filtershow.FilterShowActivity;
import com.android.gallery3d.filtershow.controller.BasicParameterStyle;
import com.android.gallery3d.filtershow.controller.BitmapCaller;
import com.android.gallery3d.filtershow.controller.FilterView;
@@ -115,6 +116,7 @@
@Override
public void onClick(View arg0) {
popupMenu.show();
+ ((FilterShowActivity)mContext).onShowMenu(popupMenu);
}
});
mButton.setListener(this);
diff --git a/src/com/android/gallery3d/filtershow/editors/EditorColorBorder.java b/src/com/android/gallery3d/filtershow/editors/EditorColorBorder.java
index 8cdad7e..a94b203 100644
--- a/src/com/android/gallery3d/filtershow/editors/EditorColorBorder.java
+++ b/src/com/android/gallery3d/filtershow/editors/EditorColorBorder.java
@@ -33,6 +33,7 @@
import android.widget.SeekBar;
import com.android.gallery3d.R;
+import com.android.gallery3d.filtershow.FilterShowActivity;
import com.android.gallery3d.filtershow.controller.BitmapCaller;
import com.android.gallery3d.filtershow.controller.ColorChooser;
import com.android.gallery3d.filtershow.controller.FilterView;
@@ -138,6 +139,7 @@
}
});
popupMenu.show();
+ ((FilterShowActivity)mContext).onShowMenu(popupMenu);
}
protected void selectMenuItem(MenuItem item) {
diff --git a/src/com/android/gallery3d/filtershow/editors/EditorCrop.java b/src/com/android/gallery3d/filtershow/editors/EditorCrop.java
index 1e025d8..6b19d3c 100644
--- a/src/com/android/gallery3d/filtershow/editors/EditorCrop.java
+++ b/src/com/android/gallery3d/filtershow/editors/EditorCrop.java
@@ -28,6 +28,7 @@
import android.widget.PopupMenu;
import com.android.gallery3d.R;
+import com.android.gallery3d.filtershow.FilterShowActivity;
import com.android.gallery3d.filtershow.filters.FilterCropRepresentation;
import com.android.gallery3d.filtershow.filters.FilterRepresentation;
import com.android.gallery3d.filtershow.imageshow.ImageCrop;
@@ -140,6 +141,7 @@
}
});
popupMenu.show();
+ ((FilterShowActivity)mContext).onShowMenu(popupMenu);
}
@Override
diff --git a/src/com/android/gallery3d/filtershow/editors/EditorDraw.java b/src/com/android/gallery3d/filtershow/editors/EditorDraw.java
index 77e7750..58bde12 100644
--- a/src/com/android/gallery3d/filtershow/editors/EditorDraw.java
+++ b/src/com/android/gallery3d/filtershow/editors/EditorDraw.java
@@ -38,6 +38,7 @@
import android.widget.SeekBar;
import com.android.gallery3d.R;
+import com.android.gallery3d.filtershow.FilterShowActivity;
import com.android.gallery3d.filtershow.colorpicker.ColorHueView;
import com.android.gallery3d.filtershow.colorpicker.ColorListener;
import com.android.gallery3d.filtershow.colorpicker.ColorOpacityView;
@@ -192,7 +193,7 @@
});
}
popupMenu.show();
-
+ ((FilterShowActivity)mContext).onShowMenu(popupMenu);
}
protected void selectMenuItem(MenuItem item) {
diff --git a/src/com/android/gallery3d/filtershow/editors/EditorGrad.java b/src/com/android/gallery3d/filtershow/editors/EditorGrad.java
index 80c4303..0591216 100644
--- a/src/com/android/gallery3d/filtershow/editors/EditorGrad.java
+++ b/src/com/android/gallery3d/filtershow/editors/EditorGrad.java
@@ -31,6 +31,7 @@
import android.widget.ToggleButton;
import com.android.gallery3d.R;
+import com.android.gallery3d.filtershow.FilterShowActivity;
import com.android.gallery3d.filtershow.controller.Control;
import com.android.gallery3d.filtershow.controller.FilterView;
import com.android.gallery3d.filtershow.controller.Parameter;
@@ -254,6 +255,7 @@
setUpPopupMenu(button);
}
mPopupMenu.show();
+ ((FilterShowActivity)mContext).onShowMenu(mPopupMenu);
}
private void setUpPopupMenu(Button button) {
diff --git a/src/com/android/gallery3d/filtershow/editors/EditorVignette.java b/src/com/android/gallery3d/filtershow/editors/EditorVignette.java
index 3a94dce..630a1a9 100644
--- a/src/com/android/gallery3d/filtershow/editors/EditorVignette.java
+++ b/src/com/android/gallery3d/filtershow/editors/EditorVignette.java
@@ -29,6 +29,7 @@
import android.widget.TextView;
import com.android.gallery3d.R;
+import com.android.gallery3d.filtershow.FilterShowActivity;
import com.android.gallery3d.filtershow.controller.BasicParameterInt;
import com.android.gallery3d.filtershow.controller.Parameter;
import com.android.gallery3d.filtershow.filters.FilterVignetteRepresentation;
@@ -173,6 +174,7 @@
@Override
public void onClick(View arg0) {
popupMenu.show();
+ ((FilterShowActivity)mContext).onShowMenu(popupMenu);
}
});
mButton.setListener(this);
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageCurves.java b/src/com/android/gallery3d/filtershow/imageshow/ImageCurves.java
index 82c4b2f..0d20322 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageCurves.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageCurves.java
@@ -34,6 +34,7 @@
import android.widget.PopupMenu;
import com.android.gallery3d.R;
+import com.android.gallery3d.filtershow.FilterShowActivity;
import com.android.gallery3d.filtershow.editors.Editor;
import com.android.gallery3d.filtershow.editors.EditorCurves;
import com.android.gallery3d.filtershow.filters.FilterCurvesRepresentation;
@@ -116,6 +117,7 @@
});
Editor.hackFixStrings(popupMenu.getMenu());
popupMenu.show();
+ ((FilterShowActivity)getContext()).onShowMenu(popupMenu);
}
@Override