diff --git a/api/current.xml b/api/current.xml index 33936281fce0e..1f5aaf3257181 100644 --- a/api/current.xml +++ b/api/current.xml @@ -61403,6 +61403,28 @@ visibility="public" > + + + + - + diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 80bed0dded9e4..bb4a5ce2c738e 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -886,6 +886,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 @@ + + + + + + +