summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndy Mast <andy@cyngn.com>2014-07-24 11:11:37 -0700
committerAndy Mast <andy@cyngn.com>2014-07-25 15:14:25 +0000
commit471f9d6ff507cf9dea3d00d9b0cd349727909eeb (patch)
tree426197dfba9805cea8baf770f6e67bbd3b6d17b1 /src
parent1ef4cda52c8a939dde1814abc1b50b22345ff1e8 (diff)
downloadpackages_apps_ThemeChooser-471f9d6ff507cf9dea3d00d9b0cd349727909eeb.zip
packages_apps_ThemeChooser-471f9d6ff507cf9dea3d00d9b0cd349727909eeb.tar.gz
packages_apps_ThemeChooser-471f9d6ff507cf9dea3d00d9b0cd349727909eeb.tar.bz2
Overflow Popup
Change-Id: I12ae73059381edab884977969a6dfa6932e55549
Diffstat (limited to 'src')
-rw-r--r--src/android/support/v4/view/ThemeViewPager.java14
-rw-r--r--src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java21
2 files changed, 28 insertions, 7 deletions
diff --git a/src/android/support/v4/view/ThemeViewPager.java b/src/android/support/v4/view/ThemeViewPager.java
index 9c9b540..cf19404 100644
--- a/src/android/support/v4/view/ThemeViewPager.java
+++ b/src/android/support/v4/view/ThemeViewPager.java
@@ -56,7 +56,7 @@ public class ThemeViewPager extends ViewPager {
if (!mExpanded && isEnabled() && !mIsAnimating) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
- intercept = !isTouchingApplyButton(ev);
+ intercept = !isTouching(R.id.apply, ev) && !isTouching(R.id.overflow, ev);
break;
}
}
@@ -64,20 +64,20 @@ public class ThemeViewPager extends ViewPager {
return intercept;
}
- private boolean isTouchingApplyButton(MotionEvent ev) {
+ private boolean isTouching(int viewId, MotionEvent ev) {
int x = (int) ev.getRawX();
int y = (int) ev.getRawY();
View v = getViewForPosition(getCurrentItem());
- View apply = v.findViewById(R.id.apply);
- if (apply == null) return false;
+ View touchedView = v.findViewById(viewId);
+ if (touchedView == null) return false;
int location[] = new int[2];
- apply.getLocationOnScreen(location);
+ touchedView.getLocationOnScreen(location);
int viewX = location[0];
int viewY = location[1];
- if((x > viewX && x < (viewX + apply.getWidth())) &&
- ( y > viewY && y < (viewY + apply.getHeight()))){
+ if((x > viewX && x < (viewX + touchedView.getWidth())) &&
+ ( y > viewY && y < (viewY + touchedView.getHeight()))){
return true;
} else {
return false;
diff --git a/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java b/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java
index 8987081..6415e5e 100644
--- a/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java
+++ b/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java
@@ -54,7 +54,9 @@ import android.support.v4.content.Loader;
import android.util.Log;
import android.util.SparseArray;
import android.view.Display;
+import android.view.Gravity;
import android.view.LayoutInflater;
+import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
@@ -65,11 +67,13 @@ import android.view.animation.ScaleAnimation;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import android.widget.PopupMenu;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.TextView;
+import android.widget.Toast;
import org.cyanogenmod.theme.chooser.R;
import org.cyanogenmod.theme.chooserv2.ComponentSelector.OnItemClickedListener;
@@ -313,6 +317,23 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb
mTitle = (TextView) v.findViewById(R.id.title);
mProgress = (ProgressBar) v.findViewById(R.id.apply_progress);
mOverflow = (ImageView) v.findViewById(R.id.overflow);
+ mOverflow.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ PopupMenu menu = new PopupMenu(getActivity(), mTitleCard, Gravity.END);
+ menu.getMenuInflater().inflate(R.menu.overflow, menu.getMenu());
+ menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(MenuItem item) {
+ Toast.makeText(getActivity(),
+ item.toString(),
+ Toast.LENGTH_LONG).show();
+ return true;
+ }
+ });
+ menu.show();
+ }
+ });
mApply = (ImageView) v.findViewById(R.id.apply);
mApply.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {