diff --git a/api/current.txt b/api/current.txt index c5cdb7bf15ebc..ac15d1f296f44 100644 --- a/api/current.txt +++ b/api/current.txt @@ -5766,6 +5766,8 @@ package android.content.pm { field public static final java.lang.String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash"; field public static final java.lang.String FEATURE_CAMERA_FRONT = "android.hardware.camera.front"; field public static final java.lang.String FEATURE_FAKETOUCH = "android.hardware.faketouch"; + field public static final java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT = "android.hardware.faketouch.multitouch.distinct"; + field public static final java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND = "android.hardware.faketouch.multitouch.jazzhand"; field public static final java.lang.String FEATURE_LIVE_WALLPAPER = "android.software.live_wallpaper"; field public static final java.lang.String FEATURE_LOCATION = "android.hardware.location"; field public static final java.lang.String FEATURE_LOCATION_GPS = "android.hardware.location.gps"; diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index ff817c1bb1d49..33c2937aa9833 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -891,6 +891,38 @@ public abstract class PackageManager { @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_FAKETOUCH = "android.hardware.faketouch"; + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device does not have a touch screen, but + * does support touch emulation for basic events that supports distinct + * tracking of two or more fingers. This is an extension of + * {@link #FEATURE_FAKETOUCH} for input devices with this capability. Note + * that unlike a distinct multitouch screen as defined by + * {@link #FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT}, these kinds of input + * devices will not actually provide full two-finger gestures since the + * input is being transformed to cursor movement on the screen. That is, + * single finger gestures will move a cursor; two-finger swipes will + * result in single-finger touch events; other two-finger gestures will + * result in the corresponding two-finger touch event. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT = "android.hardware.faketouch.multitouch.distinct"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device does not have a touch screen, but + * does support touch emulation for basic events that supports tracking + * a hand of fingers (5 or more fingers) fully independently. + * This is an extension of + * {@link #FEATURE_FAKETOUCH} for input devices with this capability. Note + * that unlike a multitouch screen as defined by + * {@link #FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND}, not all two finger + * gestures can be detected due to the limitations described for + * {@link #FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT}. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND = "android.hardware.faketouch.multitouch.jazzhand"; + /** * Feature for {@link #getSystemAvailableFeatures} and * {@link #hasSystemFeature}: The device supports live wallpapers. diff --git a/data/etc/android.hardware.faketouch.multitouch.distinct.xml b/data/etc/android.hardware.faketouch.multitouch.distinct.xml new file mode 100644 index 0000000000000..b6e8d09291f98 --- /dev/null +++ b/data/etc/android.hardware.faketouch.multitouch.distinct.xml @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/data/etc/android.hardware.faketouch.multitouch.jazzhand.xml b/data/etc/android.hardware.faketouch.multitouch.jazzhand.xml new file mode 100644 index 0000000000000..7f0e70bad92e6 --- /dev/null +++ b/data/etc/android.hardware.faketouch.multitouch.jazzhand.xml @@ -0,0 +1,24 @@ + + + + + + + + + + diff --git a/data/etc/android.hardware.faketouch.xml b/data/etc/android.hardware.faketouch.xml new file mode 100644 index 0000000000000..cb9909782b807 --- /dev/null +++ b/data/etc/android.hardware.faketouch.xml @@ -0,0 +1,22 @@ + + + + + + +