diff options
author | Andy Mast <andy@cyngn.com> | 2014-07-15 10:56:03 -0700 |
---|---|---|
committer | Andy Mast <andy@cyngn.com> | 2014-07-16 00:53:51 +0000 |
commit | c460d99e917188040e3753ed1a1e752d60cbaa29 (patch) | |
tree | bae19304d810c511cc936683462ac72ae14017a1 /src/android | |
parent | 2eb74dea8d599fc2cd96e823d062fc422a58665b (diff) | |
download | packages_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.java | 37 |
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 |