Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bcad8540 authored by Scott Main's avatar Scott Main Committed by Android Git Automerger
Browse files

am 91d60268: am a48de700: Merge "clarification to the uses-configuration tag...

am 91d60268: am a48de700: Merge "clarification to the uses-configuration tag to discourage its use." into klp-docs

* commit '91d60268':
  clarification to the uses-configuration tag to discourage its use.
parents be20c897 91d60268
Loading
Loading
Loading
Loading
+44 −40
Original line number Original line Diff line number Diff line
@@ -12,7 +12,7 @@ keyboard / navigation control / touch screen to work." But then what does "unde
Seems like some API change is in the works, either eliminating the "no___" values or
Seems like some API change is in the works, either eliminating the "no___" values or
"undefined".  Since it's unclear what the change will be, I've chosen to document the "no___"
"undefined".  Since it's unclear what the change will be, I've chosen to document the "no___"
and "undefined" attributes using the same language, which is surely wrong but may make it
and "undefined" attributes using the same language, which is surely wrong but may make it
easier to update the doc when the change is made. -->
easier to update the doc when the change is made... Nov 2013, this still seems unresolved. -->


<dl class="xml">
<dl class="xml">
<dt>syntax:</dt>
<dt>syntax:</dt>
@@ -32,20 +32,17 @@ For example, an application might specify that it requires a physical keyboard
or a particular navigation device, like a trackball.  The specification is
or a particular navigation device, like a trackball.  The specification is
used to avoid installing the application on devices where it will not work.
used to avoid installing the application on devices where it will not work.


<p>
<p class="note"><strong>Note: Most apps should not use this manifest tag.</strong> You should
If an application can work with different device configurations, it 
<em>always</em> support input with a directional pad (d-pad) in order to assist sight-impaired
should include separate {@code &lt;uses-configuration&gt;} declarations for 
users and support devices that provide d-pad input in addition to or instead of touch. For
each one.  Each declaration must be complete.  For example, if an application 
information about how to support d-pad input in your app, read <a href=
requires a five-way navigation control, a touch screen that can be operated 
"{@docRoot}guide/topics/ui/accessibility/apps.html#focus-nav">Enabling Focus Navigation</a>. If
with a finger, and either a standard QWERTY keyboard or a numeric 12-key
your app absolutely cannot function without a touchscreen, then instead use the <a href=
keypad like those found on most phones, it would specify these requirements
"{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code &lt;uses-feature&gt;}</a> tag to
with two {@code &lt;uses-configuration&gt;} elements as follows:
declare the required touchscreen type, ranging from {@code "android.hardware.faketouch"} for basic
</p>
touch-style events to more advanced touch types such as {@code
"android.hardware.touchscreen.multitouch.jazzhand"} for distinct input from multiple fingers.</p>


<pre>&lt;uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
                    android:reqKeyboardType="qwerty" /&gt;
&lt;uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
                    android:reqKeyboardType="twelvekey" /&gt;</pre></dd>


<dt>attributes:</dt>
<dt>attributes:</dt>
<dd><dl class="attr">
<dd><dl class="attr">
@@ -158,7 +155,14 @@ The value must be one of the following strings:
   <td>The application requires a touch screen that's operated with a stylus.</td>
   <td>The application requires a touch screen that's operated with a stylus.</td>
</tr><tr>
</tr><tr>
   <td>"{@code finger}"</td>
   <td>"{@code finger}"</td>
   <td>The application requires a touch screen that can be operated with a finger.</td>
   <td>The application requires a touch screen that can be operated with a finger.

      <p class="note"><strong>Note:</strong> If some type of touch input is required for your app,
      you should instead use the
      <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code
      &lt;uses-feature>}</a> tag to declare the required touchscreen
      type, beginning with {@code "android.hardware.faketouch"} for basic touch-style events.</p>
   </td>
</tr>
</tr>
</table></dd>
</table></dd>
</dl></dd>
</dl></dd>