From e3373ff620bcab34ac0030ee06140563f5dbb016 Mon Sep 17 00:00:00 2001 From: Scott Main Date: Thu, 4 Aug 2011 14:09:34 -0700 Subject: cherrypick Change-Id: Ic3cbbc99d698337f337dfe3b6746b1780c1d067d docs: fix docs for faketouch (must set touchscreen required=false) issue 5121972 Change-Id: Ieeeedd9e6929cf94cb6713d0690239d214531f57 --- .../guide/topics/manifest/uses-feature-element.jd | 38 +++++++++++++++------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/docs/html/guide/topics/manifest/uses-feature-element.jd b/docs/html/guide/topics/manifest/uses-feature-element.jd index ef98a6a0316f..49d6b6204779 100644 --- a/docs/html/guide/topics/manifest/uses-feature-element.jd +++ b/docs/html/guide/topics/manifest/uses-feature-element.jd @@ -677,20 +677,36 @@ device. The application uses basic touch interaction events, such as "click down", "click up", and drag. When declared, this indicates that the application is compatible with a device that offers an -emulated touchscreen (or better). A device that offers an emulated touchscreen provides a user input -system that can emulate a subset of touchscreen capabilities. An example of such an input system is -a mouse or remote control that drives an on-screen cursor. If your application does not require -complicated gestures and you want your application available to devices that use an on-screen -cursor to emulate touch events, you should declare this feature. +emulated touchscreen ("fake touch" interface), or better. A device that offers a fake touch +interface provides a user input system that emulates a subset of touchscreen capabilities. For +example, a mouse or remote control that drives an on-screen cursor provides a fake touch interface. +If your application requires only basic point and click interaction, you should declare this +feature. Because this is the minimum level of touch interaction, your app will also be compatible +with devices that offer more complex touch interfaces. +

Note: Because applications require the {@code +android.hardware.touchscreen} feature by default, if you want your application to be available to +devices that provide a fake touch interface, you must also explicitly declare that a touch screen is +not required by declaring {@code <uses-feature +android:name="android.hardware.touchscreen" android:required="false" +/>}

android.hardware.touchscreen - The application uses touchscreen capabilities, for gestures more interactive -than basic touches, such as a fling. This is a superset of the faketouch features. - By default, this is assumed to be required, unless you declare -android.hardware.faketouch (the subset touch mode). As such, your application is -not available to devices that provide only an emulated touch interface ("fake touch") by -default. + The application uses touchscreen capabilities for gestures that are more interactive +than basic touch events, such as a fling. This is a superset of the faketouch features. + By default, your application requires this. As such, your application is +not available to devices that provide only an emulated touch interface ("fake touch"), by +default. If you want your application available to devices that provide a fake touch interface, +you must explicitly declare that a touch screen is not required, by +declaring {@code android.hardware.touchscreen} with {@code android:required="false"}. You should +do so even if your application uses—but does not require—a real touch screen +interface. +

If your application does require a basic touch interface (in order to perform touch +gestures such as a fling), then you don't need to do anything, because this is required by default. +However, it's best if you explicitly declare all features used by your application, so you should +still declare this if your app uses it.

+

If you require more complex touch interaction, such as multi-finger gestures, you +should declare the advanced touch screen features below.

android.hardware.touchscreen.multitouch -- cgit v1.2.3-59-g8ed1b