Merge "Fixing some touch / interaction problems" into jb-ub-now-indigo-rose

This commit is contained in:
Adam Cohen
2013-09-26 21:12:56 +00:00
committed by Android (Google) Code Review
3 changed files with 17 additions and 7 deletions
+7 -4
View File
@@ -2557,11 +2557,14 @@ public class Launcher extends Activity
if (v instanceof Workspace) {
if (!mWorkspace.isInOverviewMode()) {
mWorkspace.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS,
HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
mWorkspace.enterOverviewMode();
if (mWorkspace.enterOverviewMode()) {
mWorkspace.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS,
HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
return true;
} else {
return false;
}
}
return true;
}
if (!(v instanceof CellLayout)) {
+5 -2
View File
@@ -1316,13 +1316,13 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
*/
if (mActivePointerId != INVALID_POINTER) {
determineScrollingStart(ev);
break;
}
// if mActivePointerId is INVALID_POINTER, then we must have missed an ACTION_DOWN
// event. in that case, treat the first occurence of a move event as a ACTION_DOWN
// i.e. fall through to the next case (don't break)
// (We sometimes miss ACTION_DOWN events in Workspace because it ignores all events
// while it's small- this was causing a crash before we checked for INVALID_POINTER)
break;
}
case MotionEvent.ACTION_DOWN: {
@@ -2373,7 +2373,10 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
}
public boolean startReordering(View v) {
int dragViewIndex = indexOfChild(v);//getPageNearestToCenterOfScreen();
int dragViewIndex = indexOfChild(v);
if (mTouchState != TOUCH_STATE_REST) return false;
mTempVisiblePagesRange[0] = 0;
mTempVisiblePagesRange[1] = getPageCount() - 1;
getOverviewModePages(mTempVisiblePagesRange);
+5 -1
View File
@@ -1781,9 +1781,13 @@ public class Workspace extends SmoothPagedView
return mState == State.OVERVIEW;
}
public void enterOverviewMode() {
public boolean enterOverviewMode() {
if (mTouchState != TOUCH_STATE_REST) {
return false;
}
mLauncher.onInteractionBegin();
enableOverviewMode(true, -1, true);
return true;
}
public void exitOverviewMode(boolean animated) {