| Index: ui/android/java/src/org/chromium/ui/base/TouchDevice.java
|
| diff --git a/ui/android/java/src/org/chromium/ui/base/TouchDevice.java b/ui/android/java/src/org/chromium/ui/base/TouchDevice.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6801655c25e727c4e4654999450e26f046e59a04
|
| --- /dev/null
|
| +++ b/ui/android/java/src/org/chromium/ui/base/TouchDevice.java
|
| @@ -0,0 +1,51 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +package org.chromium.ui.base;
|
| +
|
| +import android.content.Context;
|
| +import android.content.pm.PackageManager;
|
| +
|
| +import org.chromium.base.CalledByNative;
|
| +import org.chromium.base.JNINamespace;
|
| +
|
| +/**
|
| + * Simple proxy to let us query the touch device from C++
|
| + */
|
| +@JNINamespace("ui")
|
| +public class TouchDevice {
|
| +
|
| + /**
|
| + * Static methods only so make constructor private.
|
| + */
|
| + private TouchDevice() { }
|
| +
|
| + /**
|
| + * Returns the number of supported touch points.
|
| + *
|
| + * @return Maximum supported touch points.
|
| + */
|
| + @CalledByNative
|
| + private static int maxTouchPoints(Context context) {
|
| + // Android only tells us if the device belongs to a "Touchscreen Class"
|
| + // which only guarantees a minimum number of touch points. Be
|
| + // conservative and return the minimum, checking membership from the
|
| + // highest class down.
|
| + if (context.getPackageManager().hasSystemFeature(
|
| + PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND)) {
|
| + return 5;
|
| + } else if (context.getPackageManager().hasSystemFeature(
|
| + PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT)) {
|
| + return 2;
|
| + } else if (context.getPackageManager().hasSystemFeature(
|
| + PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH)) {
|
| + return 2;
|
| + } else if (context.getPackageManager().hasSystemFeature(
|
| + PackageManager.FEATURE_TOUCHSCREEN)) {
|
| + return 1;
|
| + } else {
|
| + return 0;
|
| + }
|
| + }
|
| +}
|
|
|