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

Side by Side Diff: ui/android/java/src/org/chromium/ui/base/TouchDevice.java

Issue 2673963002: Drop hover:on-demand support & let touch-screens report "none" instead. (Closed)
Patch Set: Fixed a "yikes!" Created 3 years, 9 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
« no previous file with comments | « third_party/WebKit/public/platform/PointerProperties.h ('k') | ui/base/touch/touch_device.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.ui.base; 5 package org.chromium.ui.base;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.content.pm.PackageManager; 8 import android.content.pm.PackageManager;
9 import android.view.InputDevice; 9 import android.view.InputDevice;
10 10
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 return 2; 42 return 2;
43 } else if (context.getPackageManager().hasSystemFeature( 43 } else if (context.getPackageManager().hasSystemFeature(
44 PackageManager.FEATURE_TOUCHSCREEN)) { 44 PackageManager.FEATURE_TOUCHSCREEN)) {
45 return 1; 45 return 1;
46 } else { 46 } else {
47 return 0; 47 return 0;
48 } 48 }
49 } 49 }
50 50
51 /** 51 /**
52 * @return the pointer-types supported by the device, as the union (bitwise OR) of PointerType 52 * @return an array of two ints: result[0] represents the pointer-types and result[1] represents
53 * bits in result[0] 53 * the hover-types supported by the device, where each int is the un ion (bitwise OR) of
54 * the hover-types supported by the device, as the union (bitwise OR ) of HoverType bits 54 * corresponding type (PointerType/HoverType) bits.
55 * in result[1].
56 */ 55 */
57 @CalledByNative 56 @CalledByNative
58 private static int[] availablePointerAndHoverTypes(Context context) { 57 private static int[] availablePointerAndHoverTypes(Context context) {
59 int[] result = new int[2]; 58 int[] result = new int[2];
60 result[0] = result[1] = 0; 59 result[0] = result[1] = 0;
61 60
62 for (int deviceId : InputDevice.getDeviceIds()) { 61 for (int deviceId : InputDevice.getDeviceIds()) {
63 InputDevice inputDevice = InputDevice.getDevice(deviceId); 62 InputDevice inputDevice = InputDevice.getDevice(deviceId);
64 if (inputDevice == null) continue; 63 if (inputDevice == null) continue;
65 64
66 int sources = inputDevice.getSources(); 65 int sources = inputDevice.getSources();
67 66
68 if (hasSource(sources, InputDevice.SOURCE_MOUSE) 67 if (hasSource(sources, InputDevice.SOURCE_MOUSE)
69 || hasSource(sources, InputDevice.SOURCE_STYLUS) 68 || hasSource(sources, InputDevice.SOURCE_STYLUS)
70 || hasSource(sources, InputDevice.SOURCE_TOUCHPAD) 69 || hasSource(sources, InputDevice.SOURCE_TOUCHPAD)
71 || hasSource(sources, InputDevice.SOURCE_TRACKBALL)) { 70 || hasSource(sources, InputDevice.SOURCE_TRACKBALL)) {
72 result[0] |= PointerType.FINE; 71 result[0] |= PointerType.FINE;
73 } else if (hasSource(sources, InputDevice.SOURCE_TOUCHSCREEN)) { 72 } else if (hasSource(sources, InputDevice.SOURCE_TOUCHSCREEN)) {
74 result[0] |= PointerType.COARSE; 73 result[0] |= PointerType.COARSE;
75 } 74 }
76 75
77 if (hasSource(sources, InputDevice.SOURCE_MOUSE) 76 if (hasSource(sources, InputDevice.SOURCE_MOUSE)
78 || hasSource(sources, InputDevice.SOURCE_TOUCHPAD) 77 || hasSource(sources, InputDevice.SOURCE_TOUCHPAD)
79 || hasSource(sources, InputDevice.SOURCE_TRACKBALL)) { 78 || hasSource(sources, InputDevice.SOURCE_TRACKBALL)) {
80 result[1] |= HoverType.HOVER; 79 result[1] |= HoverType.HOVER;
81 } else if (hasSource(sources, InputDevice.SOURCE_STYLUS) 80 } else if (hasSource(sources, InputDevice.SOURCE_STYLUS)
82 || hasSource(sources, InputDevice.SOURCE_TOUCHSCREEN)) { 81 || hasSource(sources, InputDevice.SOURCE_TOUCHSCREEN)) {
83 result[1] |= HoverType.ON_DEMAND; 82 result[1] |= HoverType.NONE;
84 } 83 }
85 84
86 // Remaining InputDevice sources: SOURCE_DPAD, SOURCE_GAMEPAD, SOURC E_JOYSTICK, 85 // Remaining InputDevice sources: SOURCE_DPAD, SOURCE_GAMEPAD, SOURC E_JOYSTICK,
87 // SOURCE_KEYBOARD, SOURCE_TOUCH_NAVIGATION, SOURCE_UNKNOWN 86 // SOURCE_KEYBOARD, SOURCE_TOUCH_NAVIGATION, SOURCE_UNKNOWN
88 } 87 }
89 88
90 if (result[0] == 0) result[0] = PointerType.NONE; 89 if (result[0] == 0) result[0] = PointerType.NONE;
91 if (result[1] == 0) result[1] = HoverType.NONE; 90 if (result[1] == 0) result[1] = HoverType.NONE;
92 91
93 return result; 92 return result;
94 } 93 }
95 94
96 private static boolean hasSource(int sources, int inputDeviceSource) { 95 private static boolean hasSource(int sources, int inputDeviceSource) {
97 return (sources & inputDeviceSource) == inputDeviceSource; 96 return (sources & inputDeviceSource) == inputDeviceSource;
98 } 97 }
99 } 98 }
OLDNEW
« no previous file with comments | « third_party/WebKit/public/platform/PointerProperties.h ('k') | ui/base/touch/touch_device.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698