summaryrefslogtreecommitdiffstats
path: root/src/android
diff options
context:
space:
mode:
authorAndy Mast <andy@cyngn.com>2014-07-15 10:56:03 -0700
committerAndy Mast <andy@cyngn.com>2014-07-16 00:53:51 +0000
commitc460d99e917188040e3753ed1a1e752d60cbaa29 (patch)
treebae19304d810c511cc936683462ac72ae14017a1 /src/android
parent2eb74dea8d599fc2cd96e823d062fc422a58665b (diff)
downloadpackages_apps_ThemeChooser-c460d99e917188040e3753ed1a1e752d60cbaa29.tar.gz
packages_apps_ThemeChooser-c460d99e917188040e3753ed1a1e752d60cbaa29.tar.bz2
packages_apps_ThemeChooser-c460d99e917188040e3753ed1a1e752d60cbaa29.zip
Implemented bottom title card
Change-Id: Iba41091d408f8251a035b1d762c599a0fa7e025e
Diffstat (limited to 'src/android')
-rw-r--r--src/android/support/v4/view/ThemeViewPager.java37
1 files changed, 33 insertions, 4 deletions
diff --git a/src/android/support/v4/view/ThemeViewPager.java b/src/android/support/v4/view/ThemeViewPager.java
index e1513e1..9a4ce9d 100644
--- a/src/android/support/v4/view/ThemeViewPager.java
+++ b/src/android/support/v4/view/ThemeViewPager.java
@@ -16,14 +16,13 @@
package android.support.v4.view;
import android.content.Context;
+import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewConfiguration;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
+import org.cyanogenmod.theme.chooser.R;
public class ThemeViewPager extends ViewPager {
private boolean mExpanded;
@@ -48,7 +47,37 @@ public class ThemeViewPager extends ViewPager {
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
- return !mExpanded;
+ boolean intercept = false;
+
+ if (!mExpanded) {
+ switch (ev.getAction()) {
+ case MotionEvent.ACTION_DOWN:
+ intercept = !isTouchingApplyButton(ev);
+ break;
+ }
+ }
+
+ return intercept;
+ }
+
+ private boolean isTouchingApplyButton(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;
+
+ int location[] = new int[2];
+ apply.getLocationOnScreen(location);
+ int viewX = location[0];
+ int viewY = location[1];
+
+ if((x > viewX && x < (viewX + apply.getWidth())) &&
+ ( y > viewY && y < (viewY + apply.getHeight()))){
+ return true;
+ } else {
+ return false;
+ }
}
@Override