am 2b1cab00: am 42bf1848: am daf69014: am a4c7176d: Merge "Doc change: Add core quality and tablet quality docs and spotlight." into jb-dev-docs
* commit '2b1cab00':
Doc change: Add core quality and tablet quality docs and spotlight.
<li>Indicate a change in context relating to the user personally (such as an incoming message), or</li>
<li>Expose information/controls relating to an ongoing event (such as music playback or a phone call).</li>
</ol>
</td>
<td><a href="#core">CR-11</a></td>
</tr>
</table>
<table>
@@ -127,9 +160,10 @@ user experience.</p>
<td><p>Related resources:</p>
<ul style="margin-top:-.5em;">
<li><strong><a href="{@docRoot}design/index.html">Android Design</a></strong> — Overview of design and user experience best practices for Android apps. </li>
<li><strong><a href="{@docRoot}design/patterns/navigation.html">Navigation with Back and Up</a></strong> — Android Design document describing standard navigation patterns and related topics. </li>
<li><strong><a href="{@docRoot}design/patterns/navigation.html">Navigation with Back and Up</a></strong> — Android Design document describing standard navigation patterns. </li>
<li><strong><a href="{@docRoot}design/patterns/actionbar.html">Action Bar</a></strong> — Android Design document describing how to use the Action Bar. </li>
<li><strong><a href="{@docRoot}design/style/iconography.html">Iconography</a></strong> — Android Design document that shows how to use various types of icons.</li>
<li><strong><a href="{@docRoot}design/style/iconography.html">Iconography</a></strong> — Android Design describing how to use various types of icons.</li>
<li><strong><a href="{@docRoot}design/patterns/notifications.html">Notifications</a></strong> — Android Design document describing how to design and use notifications. </li>
</ul>
</td>
</tr>
@@ -157,7 +191,7 @@ user experience.</p>
</th>
</tr>
<tr>
<tr id="FN-P1">
<td rowspan="2">Permissions</td>
<td>
FN-P1
@@ -166,15 +200,14 @@ user experience.</p>
</td>
<td rowspan="2"><a href="#core">CR-11</a></td>
</tr>
<tr>
<tr id="FN-P2">
<td>
FN-P2
</td>
<td><p style="margin-bottom:.5em;">App does not request permissions to access sensitive data (such as Contacts or the System Log) or services that can cost the user money (such as the Dialer or SMS), unless related to a core capability of the app.
</td>
</tr>
<tr>
<tr id="FN-L1">
<td>Install location</td>
<td>
FN-L1
@@ -188,9 +221,9 @@ user experience.</p>
<td><a href="#SD-1">SD-1</a>
</td>
</tr>
<tr>
<tr id="FN-A1">
<td rowspan="4">Audio</td>
<td id="cg1">
<td>
FN-A1
</td>
@@ -199,7 +232,7 @@ user experience.</p>
</td>
<td><a href="#core">CR-7</a></td>
</tr>
<tr id="cg2">
<tr id="FN-A2">
<td>
FN-A2
</td>
@@ -208,7 +241,7 @@ user experience.</p>
</td>
<td><a href="#core">CR-8</a></td>
</tr>
<tr id="cg3">
<tr id="FN-A3">
<td>
FN-A3
</td>
@@ -217,7 +250,7 @@ user experience.</p>
</td>
<td><a href="#core">CR-1, <br />CR-2</a></td>
</tr>
<tr id="cg4">
<tr id="FN-A4">
<td>
FN-A4
</td>
@@ -226,32 +259,29 @@ user experience.</p>
</td>
<td><a href="#core">CR-1, CR-8</a></td>
</tr>
<tr id="cg5">
<tr id="FN-U1">
<td rowspan="3">UI and Graphics</td>
<td>
FN-U1
</td>
<td>
<p style="margin-bottom:.5em;">App supports both landscape and portrait orientations (if possible).</em></p>
<p style="margin-bottom:.25em;">Orientations expose largely the same features and actions and preserve functional parity.
Minor changes in content or views are acceptable.</p>
</td>
<td><a href="#core">CR-5</a></td>
</tr>
<tr id="cg5">
<tr id="FN-U2">
<td>
FN-U2
</td>
<td>
<p style="margin-bottom:.5em;">App uses the whole screen in both orientations and does not letterbox to account for orientation changes.</em></p>
<p style="margin-bottom:.25em;">Minor letterboxing to compensate for small variations in screen geometry is acceptable.</p>
</td>
<td><a href="#core">CR-5</a></td>
</tr>
<tr id="cg7">
<tr id="FN-U3">
<td>
FN-U3
</td>
@@ -261,7 +291,7 @@ user experience.</p>
<td><a href="#core">CR-5</a></td>
</tr>
<tr id="cg8">
<tr id="FN-S1">
<td rowspan="2">User/app state</td>
<td>
FN-S1
@@ -272,9 +302,7 @@ user experience.</p>
</td>
<td><a href="#core">CR-6</a></td>
</tr>
<tr id="cn3">
<tr id="FN-S2">
<td>
FN-S2
</td>
@@ -329,8 +357,7 @@ stability, and responsiveness expected by users.</p>
Tests
</th>
</tr>
<tr id="cg9">
<tr id="PS-S1">
<td>Stability</td>
<td>
PS-S1
@@ -341,9 +368,9 @@ stability, and responsiveness expected by users.</p>
<li>App provides high-quality graphics for all targeted screen sizes and form factors, including for <a href="{@docRoot}distribute/googleplay/quality/tablet.html">larger-screen devices such as tablets</a>.</li>
<li>No aliasing at the edges of menus, buttons, and other UI elements.</li>
<li>No aliasing at the edges of menus, buttons, and other UI elements is visible.</li>
</ol>
</td>
<td rowspan="2"><a href="#core">CR-all</a></td>
</tr>
<tr id="cp5">
<tr id="PS-V2">
<td>
PS-V2
</td>
@@ -405,25 +430,15 @@ stability, and responsiveness expected by users.</p>
<li>Composition is acceptable in all supported form factors, including for larger-screen devices such as tablets.</li>
<li>No cut-off letters or words.</li>
<li>No improper word wraps within buttons or icons.</li>
<li>No cut-off letters or words are visible.</li>
<li>No improper word wraps within buttons or icons are visible.</li>
<li>Sufficient spacing between text and surrounding elements.</li>
</ol>
</td>
</tr>
</table>
<table>
<tr>
<td><p>Related resources:</p>
@@ -458,7 +473,7 @@ criteria below.</p>
Tests
</th>
</tr>
<tr>
<tr id="GP-P1">
<td rowspan="2">Policies</td>
<td>
GP-P1
@@ -471,8 +486,7 @@ criteria below.</p>
</td>
</tr>
<tr>
<tr id="GP-P2">
<td>
GP-P2
</td>
@@ -487,9 +501,7 @@ criteria below.</p>
</td>
</tr>
<tr>
<tr id="GP-D1">
<td rowspan="3">App Details Page</td>
<td>
GP-D1
@@ -510,10 +522,8 @@ criteria below.</p>
<td>
<a href="#gp">GP-1, GP-2</a>
</td>
</tr>
<tr>
<tr id="GP-D2">
<td>
GP-D2
</td>
@@ -522,8 +532,7 @@ criteria below.</p>
</td>
<td rowspan="2"><a href="#gp">GP-1</a></td>
</tr>
<tr>
<tr id="GP-D3">
<td>
GP-D3
</td>
@@ -532,7 +541,7 @@ criteria below.</p>
represent the content and experience of your app in a misleading way.
</td>
</tr>
<tr>
<tr id="GP-X1">
<td>User Support</td>
<td>
GP-X1
@@ -553,7 +562,8 @@ criteria below.</p>
<tr>
<td><p>Related resources:</p>
<ul style="margin-top:-.5em;">
<li><strong><a href="http://play.google.com/about/developer-content-policy.html">Google Play Developer Program Policies</a></strong> — Guidelines for what is acceptable conent in Google Play. Please read and understand the and understand the policies before publishing.
<li><strong><a href="https://play.google.com/apps/publish/">Publishing Checklist</a></strong> — Recommendations on how to prepare your app for publishing, test it, and launch successfully on Google Play.</li>
<li><strong><a href="http://play.google.com/about/developer-content-policy.html">Google Play Developer Program Policies</a></strong> — Guidelines for what is acceptable conent in Google Play. Please read and understand the and understand the policies before publishing.</p>
<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=188189">Rating your application content for Google Play</a></strong> — Help Center document describing content ratings levels and how to choose the appropriate one for your app.</li>
<li><strong><a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=1078870">Graphic Assets for your Application
</a></strong> — Details about the graphic assets you need to upload before publishing.</li>
@@ -591,7 +601,10 @@ increase the number or complexity of tests and quality criteria. </p>
Test Procedures
</h2>
<p>These test procedures help you discover various types of quality issues in your app. You can combine the tests or integrate groups of tests together in your own test plans. See the sections above for references that associate specific criteria with specific tests. </p>
<p>These test procedures help you discover various types of quality issues in
your app. You can combine the tests or integrate groups of tests together in
your own test plans. See the sections above for references that associate
specific criteria with specific tests. </p>
<table>
<tr>
@@ -606,7 +619,7 @@ increase the number or complexity of tests and quality criteria. </p>
</th>
</tr>
<tr>
<td rowspan="11" id="core">Core Suite</td>
<td rowspan="12" id="core">Core Suite</td>
<td>
CR-0
</td>
@@ -695,6 +708,12 @@ increase the number or complexity of tests and quality criteria. </p>
<td>
CR-11
</td>
<td>Trigger and observe in the notications drawer all types of notifications that the app can display. Expand notifications where applicable (Android 4.1 and higher), and tap all actions offered.</td>
</tr>
<tr id="CR-12">
<td>
CR-12
</td>
<td>Examine the permissions requested by the app by going to Settings > App Info.
</td>
</tr>
@@ -709,9 +728,6 @@ increase the number or complexity of tests and quality criteria. </p>
<p style="margin-bottom:.25em;">To move the app to SD card, you can use Settings > App Info > Move to SD Card.</p>
</td>
</tr>
<tr id="tg3">
<td>Hardware acceleration</td>
<td>
@@ -723,7 +739,6 @@ increase the number or complexity of tests and quality criteria. </p>
<p style="margin-bottom:.25em;">To force-enable hardware acceleration (where supported by device), add <code>hardware-accelerated="true"</code> to the <code><application></code> in the app manifest and recompile.</p>
</td>
</tr>
<tr id="tg3">
<td>Performance Monitoring</td>
<td>
@@ -733,8 +748,7 @@ increase the number or complexity of tests and quality criteria. </p>
<p style="margin-bottom:.5em;">Repeat <em>Core Suite</em> with StrictMode profiling enabled <a href="#strictmode">as described below</a>. <p style="margin-bottom:.25em;">Pay close attention to garbage collection and its impact on the user experience.</p>
</td>
</tr>
<tr id="tg4">
<tr id="gp">
<td rowspan="3">Google Play</td>
<td>
GP-1
@@ -743,7 +757,7 @@ increase the number or complexity of tests and quality criteria. </p>
Sign into the <a href="https://play.google.com/apps/publish/">Developer Console</a> to review your developer profile, app description, screenshots, feature graphic, maturity settings, and user feedback.
</td>
</tr>
<tr id="tg4">
<tr id="GP-2">
<td>
GP-2
</td>
@@ -751,18 +765,18 @@ increase the number or complexity of tests and quality criteria. </p>
Download your feature graphic and screenshots and scale them down to match the display sizes on the devices and form factors you are targeting.
</td>
</tr>
<tr id="tg4">
<tr id="GP-3">
<td>
GP-4
GP-3
</td>
<td>
Review all graphical assets, media, text, code libraries, and other content packaged in the app or expansion file download.
</td>
</tr>
<tr id="tg4">
<tr id="GP-4">
<td>Payments</td>
<td>
GP-5
GP-4
</td>
<td>
Navigate to all screens of your app and enter all in-app purchase flows.
@@ -775,9 +789,15 @@ increase the number or complexity of tests and quality criteria. </p>
Testing with StrictMode
</h3>
<p>For performance testing, we recommend enabling <code><a href="{@docRoot}reference/android/os/StrictMode.html">StrictMode</a></code> in your app and using it to catch operations on the main thread and other threads that could affect performance, network accesses, file reads/writes, and so on.
You can set up a monitoring policy per thread using the <code><a href="{@docRoot}reference/android/os/StrictMode.ThreadPolicy.Builder.html">ThreadPolicy builder</a></code> and enable all supported monitoring in the <code>ThreadPolicy</code> using <code><a href="{@docRoot}reference/android/os/StrictMode.ThreadPolicy.Builder.html#detectAll()">detectAll()</a></code>.</p>
<p>For performance testing, we recommend enabling
{@link android.os.StrictMode} in your app
and using it to catch operations on the main thread and other threads that could
affect performance, network accesses, file reads/writes, and so on.</p>
<p>Make sure to enable <strong>visual notification</strong> of policy violations for the <code>ThreadPolicy</code> using <code><a href="{@docRoot}reference/android/os/StrictMode.ThreadPolicy.Builder.html#penaltyFlashScreen()">penaltyFlashScreen()</a></code>.</p>
<p>You can set up a monitoring policy per thread using
{@link android.os.StrictMode.ThreadPolicy.Builder} and enable all supported monitoring in the