Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(401)

Side by Side Diff: content/public/android/java/src/org/chromium/content/browser/input/PopupTouchHandleDrawable.java

Issue 640093003: Resolve lint warnings related to ClickableViewAccessibility when a class overrides onTouch event. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: resolving lints Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.content.browser.input; 5 package org.chromium.content.browser.input;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.graphics.Canvas; 8 import android.graphics.Canvas;
9 import android.graphics.drawable.Drawable; 9 import android.graphics.drawable.Drawable;
10 import android.view.MotionEvent; 10 import android.view.MotionEvent;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 private float mHotspotY; 52 private float mHotspotY;
53 53
54 private float mAlpha; 54 private float mAlpha;
55 55
56 private final int[] mTempScreenCoords = new int[2]; 56 private final int[] mTempScreenCoords = new int[2];
57 57
58 static final int LEFT = 0; 58 static final int LEFT = 0;
59 static final int CENTER = 1; 59 static final int CENTER = 1;
60 static final int RIGHT = 2; 60 static final int RIGHT = 2;
61 private int mOrientation = -1; 61 private int mOrientation = -1;
62 private boolean mDownTouch = false;
62 63
63 /** 64 /**
64 * Provides additional interaction behaviors necessary for handle 65 * Provides additional interaction behaviors necessary for handle
65 * manipulation and interaction. 66 * manipulation and interaction.
66 */ 67 */
67 public interface PopupTouchHandleDrawableDelegate { 68 public interface PopupTouchHandleDrawableDelegate {
68 /** 69 /**
69 * @return The parent View of the PopupWindow. 70 * @return The parent View of the PopupWindow.
70 */ 71 */
71 View getParent(); 72 View getParent();
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 111
111 // Convert from PopupWindow local coordinates to 112 // Convert from PopupWindow local coordinates to
112 // parent view local coordinates prior to forwarding. 113 // parent view local coordinates prior to forwarding.
113 delegate.getParent().getLocationOnScreen(mTempScreenCoords); 114 delegate.getParent().getLocationOnScreen(mTempScreenCoords);
114 final float offsetX = event.getRawX() - event.getX() - mTempScreenCoords [0]; 115 final float offsetX = event.getRawX() - event.getX() - mTempScreenCoords [0];
115 final float offsetY = event.getRawY() - event.getY() - mTempScreenCoords [1]; 116 final float offsetY = event.getRawY() - event.getY() - mTempScreenCoords [1];
116 final MotionEvent offsetEvent = MotionEvent.obtainNoHistory(event); 117 final MotionEvent offsetEvent = MotionEvent.obtainNoHistory(event);
117 offsetEvent.offsetLocation(offsetX, offsetY); 118 offsetEvent.offsetLocation(offsetX, offsetY);
118 final boolean handled = delegate.onTouchHandleEvent(offsetEvent); 119 final boolean handled = delegate.onTouchHandleEvent(offsetEvent);
119 offsetEvent.recycle(); 120 offsetEvent.recycle();
121 // Listening for the down and up touch events
122 // to enable accessibility services for a user
123 // who cannot click touch screen.
124 switch (event.getAction()) {
125 case MotionEvent.ACTION_DOWN:
126 mDownTouch = true;
127 break;
128 case MotionEvent.ACTION_UP:
129 if (mDownTouch) {
130 mDownTouch = false;
131 performClick();
newt (away) 2014/10/20 22:20:53 This isn't how performClick() should be used. See
jdduke (slow) 2014/10/20 23:06:17 I'm not familiar (at all) with Android's accesibil
wajahat 2014/10/21 14:34:56 So going with the comments, it is ok to suppress t
132 }
133 }
120 return handled; 134 return handled;
121 } 135 }
122 136
137 @Override
138 public boolean performClick() {
139 super.performClick();
140 return true;
141 }
142
123 private void setOrientation(int orientation) { 143 private void setOrientation(int orientation) {
124 assert orientation >= LEFT && orientation <= RIGHT; 144 assert orientation >= LEFT && orientation <= RIGHT;
125 if (mOrientation == orientation) return; 145 if (mOrientation == orientation) return;
126 146
127 final boolean hadValidOrientation = mOrientation != -1; 147 final boolean hadValidOrientation = mOrientation != -1;
128 mOrientation = orientation; 148 mOrientation = orientation;
129 149
130 final int oldAdjustedPositionX = getAdjustedPositionX(); 150 final int oldAdjustedPositionX = getAdjustedPositionX();
131 final int oldAdjustedPositionY = getAdjustedPositionY(); 151 final int oldAdjustedPositionY = getAdjustedPositionY();
132 152
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 private boolean intersectsWith(float x, float y, float width, float height) { 308 private boolean intersectsWith(float x, float y, float width, float height) {
289 if (mDrawable == null) return false; 309 if (mDrawable == null) return false;
290 final int drawableWidth = mDrawable.getIntrinsicWidth(); 310 final int drawableWidth = mDrawable.getIntrinsicWidth();
291 final int drawableHeight = mDrawable.getIntrinsicHeight(); 311 final int drawableHeight = mDrawable.getIntrinsicHeight();
292 return !(x >= mPositionX + drawableWidth 312 return !(x >= mPositionX + drawableWidth
293 || y >= mPositionY + drawableHeight 313 || y >= mPositionY + drawableHeight
294 || x + width <= mPositionX 314 || x + width <= mPositionX
295 || y + height <= mPositionY); 315 || y + height <= mPositionY);
296 } 316 }
297 } 317 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698