diff options
| -rw-r--r-- | core/java/android/app/SearchManager.java | 24 | ||||
| -rw-r--r-- | core/java/android/hardware/Camera.java | 51 | ||||
| -rw-r--r-- | core/res/res/values/attrs.xml | 9 | ||||
| -rw-r--r-- | docs/html/guide/topics/resources/available-resources.jd | 336 | ||||
| -rw-r--r-- | docs/html/index.jd | 2 | ||||
| -rw-r--r-- | docs/html/intl/ja/index.jd | 2 | ||||
| -rw-r--r-- | docs/html/sdk/android-1.6-highlights.jd | 198 | ||||
| -rw-r--r-- | docs/html/sdk/images/battery.png | bin | 0 -> 22208 bytes | |||
| -rw-r--r-- | docs/html/sdk/images/camera.png | bin | 0 -> 47444 bytes | |||
| -rw-r--r-- | docs/html/sdk/images/donut_small_bg.png | bin | 0 -> 4031 bytes | |||
| -rw-r--r-- | docs/html/sdk/images/market.png | bin | 0 -> 40382 bytes | |||
| -rw-r--r-- | docs/html/sdk/images/search.png | bin | 0 -> 24245 bytes | |||
| -rw-r--r-- | graphics/java/android/graphics/PixelFormat.java | 6 |
13 files changed, 594 insertions, 34 deletions
diff --git a/core/java/android/app/SearchManager.java b/core/java/android/app/SearchManager.java index 2245562763cf..7d4e51dfeb69 100644 --- a/core/java/android/app/SearchManager.java +++ b/core/java/android/app/SearchManager.java @@ -768,8 +768,11 @@ import java.util.List; * </tr> * * <tr><th>android:icon</th> - * <td>If provided, this icon will be used <i>in place</i> of the label string. This - * is provided in order to present logos or other non-textual banners.</td> + * <td>If provided, this icon will be shown in place of the label above the search box. + * This is a reference to a drawable (icon) resource. Note that the application icon + * is also used as an icon to the left of the search box and you cannot modify this + * behavior, so including the icon attribute is unecessary and this may be + * deprecated in the future.</td> * <td align="center">No</td> * </tr> * @@ -778,11 +781,6 @@ import java.util.List; * entered.</td> * <td align="center">No</td> * </tr> - * - * <tr><th>android:searchButtonText</th> - * <td>If provided, this text will replace the default text in the "Search" button.</td> - * <td align="center">No</td> - * </tr> * * <tr><th>android:searchMode</th> * <td>If provided and non-zero, sets additional modes for control of the search @@ -791,15 +789,17 @@ import java.util.List; * <tbody> * <tr><th>showSearchLabelAsBadge</th> * <td>If set, this flag enables the display of the search target (label) - * within the search bar. If this flag and showSearchIconAsBadge + * above the search box. If this flag and showSearchIconAsBadge * (see below) are both not set, no badge will be shown.</td> * </tr> * <tr><th>showSearchIconAsBadge</th> - * <td>If set, this flag enables the display of the search target (icon) within - * the search bar. If this flag and showSearchLabelAsBadge + * <td>If set, this flag enables the display of the search target (icon) + * above the search box. If this flag and showSearchLabelAsBadge * (see above) are both not set, no badge will be shown. If both flags * are set, showSearchIconAsBadge has precedence and the icon will be - * shown.</td> + * shown. Because the application icon is now used to the left of the + * search box by default, using this search mode is no longer necessary + * and may be deprecated in the future.</td> * </tr> * <tr><th>queryRewriteFromData</th> * <td>If set, this flag causes the suggestion column SUGGEST_COLUMN_INTENT_DATA @@ -2000,4 +2000,4 @@ public class SearchManager Thread thread = Thread.currentThread(); Log.d(TAG, msg + " (" + thread.getName() + "-" + thread.getId() + ")"); } -} +}
\ No newline at end of file diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java index 091bc1700988..142bbd96315f 100644 --- a/core/java/android/hardware/Camera.java +++ b/core/java/android/hardware/Camera.java @@ -35,6 +35,23 @@ import android.os.Message; * frames for encoding for video. * <p>There is no default constructor for this class. Use {@link #open()} to * get a Camera object.</p> + * + * <p>In order to use the device camera, you must declare the + * {@link android.Manifest.permission#CAMERA} permission in your Android + * Manifest. Also be sure to include the + * <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><uses-feature></a> + * manifest element in order to declare camera features used by your application. + * For example, if you use the camera and auto-focus feature, your Manifest + * should include the following:</p> + * <pre> <uses-permission android:name="android.permission.CAMERA" /> + * <uses-feature android:name="android.hardware.camera" /> + * <uses-feature android:name="android.hardware.camera.autofocus" /></pre> + * + * <p class="caution"><strong>Caution:</strong> Different Android-powered devices + * may have different hardware specifications, such as megapixel ratings and + * auto-focus capabilities. In order for your application to be compatible with + * more devices, you should not make assumptions about the device camera + * specifications.</p> */ public class Camera { private static final String TAG = "Camera"; @@ -172,8 +189,9 @@ public class Camera { /** * The callback that delivers the preview frames. * - * @param data The contents of the preview frame in getPreviewFormat() - * format. + * @param data The contents of the preview frame in the format defined + * by {@link android.graphics.PixelFormat}, which can be queried + * with {@link android.hardware.Camera.Parameters#getPreviewFormat()}. * @param camera The Camera service object. */ void onPreviewFrame(byte[] data, Camera camera); @@ -296,6 +314,13 @@ public class Camera { /** * Handles the callback for the camera auto focus. + * <p>Devices that do not support auto-focus will receive a "fake" + * callback to this interface. If your application needs auto-focus and + * should not be installed on devices <em>without</em> auto-focus, you must + * declare that your app uses the + * {@code android.hardware.camera.autofocus} feature, in the + * <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><uses-feature></a> + * manifest element.</p> */ public interface AutoFocusCallback { @@ -312,6 +337,14 @@ public class Camera { * Starts auto-focus function and registers a callback function to * run when camera is focused. Only valid after startPreview() has * been called. + * <p>Devices that do not support auto-focus will trigger a "fake" + * callback to the + * {@link android.hardware.Camera.AutoFocusCallback}. + * If your application should not be installed + * on devices without auto-focus, you must declare that your application + * uses auto-focus with the + * <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><uses-feature></a> + * manifest element.</p> * * @param cb the callback to run */ @@ -668,10 +701,15 @@ public class Camera { } /** - * Sets the image format for preview pictures. + * Sets the image format for preview pictures. + * <p>If the image format is not set with this method, then the + * preview format will default to + * {@link android.graphics.PixelFormat#YCbCr_420_SP}, which + * uses the NV21 encoding format.</p> * - * @param pixel_format the desired preview picture format - * (<var>PixelFormat.YCbCr_420_SP</var>, + * @param pixel_format the desired preview picture format, defined + * by one of the {@link android.graphics.PixelFormat} constants. + * (E.g., <var>PixelFormat.YCbCr_420_SP</var> (default), * <var>PixelFormat.RGB_565</var>, or * <var>PixelFormat.JPEG</var>) * @see android.graphics.PixelFormat @@ -688,7 +726,8 @@ public class Camera { /** * Returns the image format for preview pictures. * - * @return the PixelFormat int representing the preview picture format + * @return the {@link android.graphics.PixelFormat} int representing + * the preview picture format. */ public int getPreviewFormat() { return pixelFormatForCameraFormat(get("preview-format")); diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index fd78f83698aa..b2ba645cc782 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -2759,9 +2759,11 @@ For a more in-depth discussion of search configuration, please refer to {@link android.app.SearchManager}. --> <declare-styleable name="Searchable"> - <!-- If provided, this icon will be shown in place of the label. It is typically used - in order to identify a searchable application via a logo or branding, instead of - plain text. This is a reference to a drawable (icon) resource. + <!-- If provided, this icon will be shown in place of the label above the search box. + This is a reference to a drawable (icon) resource. Note that the application icon + is also used as an icon to the left of the search box and you cannot modify this + behavior, so including the icon attribute is unecessary and this may be + deprecated in the future. <i>Optional attribute.</i> --> <attr name="icon" /> <!-- This is the user-displayed name of the searchable activity. <i>Required @@ -3330,4 +3332,3 @@ </resources> - diff --git a/docs/html/guide/topics/resources/available-resources.jd b/docs/html/guide/topics/resources/available-resources.jd index 2a6a6ac6a112..0dfc625793e4 100644 --- a/docs/html/guide/topics/resources/available-resources.jd +++ b/docs/html/guide/topics/resources/available-resources.jd @@ -36,6 +36,7 @@ parent.link=index.html </ol> </li> <li><a href="#stylesandthemes">Styles and Themes</a></li> + <li><a href="#Searchable">Searchable</a></li> </ol> </div> @@ -86,7 +87,7 @@ XML files such as <a href="#layoutresources">layouts</a>.</p> <code><color></code> tags. </p> <p> - <strong>Resource source file location</strong>: res/values/<em>colors</em>.xml (file name is arbitrary) + <strong>Resource source file location</strong>: {@code res/values/<em>colors</em>.xml} (File name is arbitrary.) </p> <p> <strong>Compiled resource datatype:</strong> Resource pointer to a Java int. @@ -183,7 +184,7 @@ tags. <strong>Source file format:</strong> XML file requiring a <code><?xml version="1.0" encoding="utf-8"?></code> declaration, and a root <code><resources></code> element containing one or more <code><string></code> tags. </p> <p> - <strong>Resource source file location</strong>: res/values/<em>strings</em>.xml (file name is arbitrary) + <strong>Resource source file location</strong>: {@code res/values/<em>strings</em>.xml} (File name is arbitrary.) </p> <p> <strong>Compiled resource datatype:</strong> Resource pointer to a Java CharSequence. @@ -338,8 +339,8 @@ version="1.0" encoding="utf-8"?></code> declaration, and a root <code><resources></code> element containing one or more <code><dimen></code> tags.</p> -<p><strong>Resource source file location</strong>: res/values/dimens.xml (File -name is arbitrary; standard practice is to put all dimensions in one file +<p><strong>Resource source file location</strong>: {@code res/values/dimens.xml} (File +name is arbitrary, but standard practice is to put all dimensions in one file devoted to dimensions.)</p> <p><strong>Compiled resource datatype:</strong> Resource pointer to a dimension.</p> @@ -424,7 +425,7 @@ res/drawable/my_picture.png would be referenced as R.drawable.my_picture).</p> <strong>Source file formats:</strong> png (preferred), jpg (acceptable), gif (discouraged). One resource per file. </p> <p> - <strong>Resource file location</strong>: res/drawable/<em>some_file</em>.png or <em>some_file</em>.jpg or <em>some_file</em>.gif. + <strong>Resource file location</strong>: {@code res/drawable/<em>some_file</em>.png} </p> <p> <strong>Compiled resource datatype:</strong> Resource pointer to a {@link android.graphics.drawable.BitmapDrawable BitmapDrawable}. @@ -453,7 +454,8 @@ version="1.0" encoding="utf-8"?></code> declaration, and a root <code><resources></code> element containing one or more <code><drawable></code> tags.</p> <p> - <strong>Resource source file location</strong>: res/values/colors.xml (File name is arbitrary; standard practice is to put the PaintDrawable items in the file along with the <a href="resources-i18n.html#numericcolorresources">numeric color values</a>.) + <strong>Resource source file location</strong>: {@code res/values/colors.xml} (File name is arbitrary, but standard practice is to put the PaintDrawable + items in the file along with the <a href="resources-i18n.html#numericcolorresources">numeric color values</a>.) </p> <p> <strong>Compiled resource datatype:</strong> Resource pointer to a {@link android.graphics.drawable.PaintDrawable}. @@ -540,7 +542,7 @@ tv.setBackground(redDrawable); <strong>Source file format:</strong> PNG — one resource per file </p> <p> - <strong>Resource source file location</strong>: res/drawable/<em>some_name</em>.9.png (must end in .9.png) + <strong>Resource source file location</strong>: {@code res/drawable/<em>some_name</em>.9.png} (Filename must end in {@code .9.png}) </p> <p> <strong>Compiled resource datatype:</strong> Resource pointer to a {@link android.graphics.drawable.NinePatchDrawable NinePatchDrawable}. @@ -573,7 +575,7 @@ in <a href="{@docRoot}guide/topics/graphics/2d-graphics.html#nine-patch">2D Grap <strong>Source file format:</strong> XML file, one resource per file, one root tag with no <code><?xml></code> declaration </p> <p> - <strong>Resource file location</strong>: res/anim/<em>some_file</em>.xml + <strong>Resource file location</strong>: {@code res/anim/<em>some_file</em>.xml} </p> <p> <strong>Compiled resource datatype:</strong> Resource pointer to an {@link android.view.animation.Animation}. @@ -1055,7 +1057,7 @@ setContentView(R.layout.main_screen); <strong>Source file format:</strong> XML file without an <code><?xml></code> declaration, and a <code><resources></code> root element containing one or more custom element tags. </p> <p> - <strong>Resource file location</strong>: res/values/<em>attrs</em>.xml (file name is arbitrary). + <strong>Resource file location</strong>: {@code res/values/<em>attrs</em>.xml} (File name is arbitrary.) </p> <p> <strong>Compiled resource datatype:</strong> Resource pointer to a {@link android.view.View} (or subclass) resource. @@ -1084,7 +1086,7 @@ setContentView(R.layout.main_screen); <strong>Source file format:</strong> XML file requiring a <code><?xml version="1.0" encoding="utf-8"?></code> declaration, and a root <code><resources></code> element containing one or more <code><style></code> tags. </p> <p> - <strong>Resource source file location</strong>: res/values/styles.xml (file name is arbitrary). The file name is arbitrary, but standard practice is to put all styles into a file named styles.xml. + <strong>Resource source file location</strong>: {@code res/values/styles.xml} (File name is arbitrary, but standard practice is to put all styles into a file named styles.xml.) </p> <p> <strong>Compiled resource datatype:</strong> Resource pointer to a Java CharSequence. @@ -1133,3 +1135,317 @@ setContentView(R.layout.main_screen); <p>For examples of how to declare and apply styles and themes, read <a href="{@docRoot}guide/topics/ui/themes.html">Applying Styles and Themes</a>.</p> + + + +<h2 id="Searchable">Searchable</h2> + +<p>To make search appear to the user as a seamless system-wide feature, the Android framework +offers APIs that let applications control how they are searched. +Applications can customize how search is invoked, how the search dialog looks, and what type of +search results are available, including suggestions that are shown as the user types.</p> + +<p>In order to utilize the Android search framework, an application must provide a search configuration +in the form of an XML resource. +This section describes the search configuration XML in terms of its syntax and usage. For a more +complete discussion about how to implement search features for your application, see +<!-- <a href="{@docRoot}guide/topics/search/index.html">Search</a> --> +{@link android.app.SearchManager}.</p> + +<p> + <strong>Source file format:</strong> + XML file requiring a <code><?xml version="1.0" encoding="utf-8"?></code> + declaration, and a root <code><searchable></code> element. +</p> + +<p> + <strong>Resource source file location</strong>: {@code res/xml/searchable.xml} + (The file name is arbitrary, but standard practice is to use searchable.xml.) +</p> + +<p> + <strong>Compiled resource datatype:</strong> + Resource pointer to an xml object. +</p> + +<p> + <strong>Resource reference name:</strong> +</p> + +<ul> + <li> + <strong>Java:</strong> + <code>R.xml.<em>filename</em></code>. + </li> + <li> + <strong>XML:</strong> + <code>@[<em>package</em>:]xml/<em>filename</em></code> (e.g., <code>@xml/searchable</code>). + </li> +</ul> + +<p> + <strong>Syntax</strong> +</p> + +<pre> +<searchable xmlns:android="http://schemas.android.com/apk/res/android + android:label="@string/search_label" + ... > + <em><actionkey + android:keycode="KEYCODE_CALL" + ... ></em> +</searchable> +</pre> + +<dl> + <dt> + <searchable> + </dt> + <dd> + Defines all application search configurations, including settings for text and voice searches + performed within the application. It accepts the following attributes: + <ul> + <li> + <em>label</em> - <strong>Required</strong>. This is the name for your application, as it + will appear to the user. This will be visible only if <em>searchMode</em> is set to + "showSearchLabelAsBadge" (see below). + </li> + <li> + <em>hint</em> - This is the text to display in the search text field when no text has + been entered. This is recommended in order to provide context to the search about to be + performed (e.g., "Search the Dictionary"). + </li> + <li> + <em>searchMode</em> - If provided and non-zero, this sets additional modes for control + of the search presentation. The following mode values are accepted: + <ul> + <li> + <em>showSearchLabelAsBadge</em> - If set, this enables the display of the + search target (label) within the search bar. + </li> + <li> + <em>queryRewriteFromData</em> - If set, this causes the suggestion column + SUGGEST_COLUMN_INTENT_DATA to be considered as the text for suggestion query + rewriting. This should only be used when the values in + SUGGEST_COLUMN_INTENT_DATA are suitable for user inspection and editing - + typically, HTTP/HTTPS Uri's. + </li> + <li> + <em>queryRewriteFromText</em> - If set, this causes the suggestion + column SUGGEST_COLUMN_TEXT_1 to be considered as the text for suggestion query + rewriting. This should be used for suggestions in which no query + text is provided and the SUGGEST_COLUMN_INTENT_DATA values are not suitable + for user inspection and editing. + </li> + </ul> + <p>More than one of the above values for <em>searchMode</em> can be used at once. For + example, you can declare two modes at once, like this: + <code>searchMode="queryRewriteFromData|queryRewriteFromText"</code> + </li> + <li> + <em>inputType</em> - If provided, supplies a hint about the type of search text + the user will be entering. For most searches, in which free form text is expected, + this attribute is not needed. See + {@link android.R.attr#inputType} for a list of suitable values for this attribute. + </li> + <li> + <em>imeOptions</em> - If provided, supplies additional options for the input method. + For most searches, in which free form text is expected, this attribute is not needed, + and will default to "actionSearch". See + {@link android.R.attr#imeOptions} for a list of suitable values for this attribute. + </li> + </ul> + + <p>If you have defined a content provider to generate search suggestions, you need to + provide some more searchable metadata in order to configure communications with the content + provider. The following are additional {@code <searchable>} attributes for use when + providing search suggestions:</p> + + <ul> + <li> + <em>searchSuggestAuthority</em> - <strong>Required to provide search suggestions</strong>. + This value must match the authority string provided in the provider section of your manifest. + </li> + <li> + <em>searchSuggestPath</em> - If provided, this path will be inserted in the suggestions + query Uri, after the authority you have provide but before the standard suggestions path. + This is only required if you have a single content provider issuing different types + of suggestions (e.g. for different data types) and you need + a way to disambiguate the suggestions queries when they are received. + </li> + <li> + <em>searchSuggestSelection</em> - If provided, this value will be passed into your + query function as the selection parameter. Typically this will be a WHERE clause for + your database, and will contain a single question mark, which represents the actual query + string that has been typed by the user. However, you can also use any non-null value to simply + trigger the delivery of the query text (via selection arguments), and then use the query + text in any way appropriate for your provider (ignoring the actual text of the selection parameter.) + </li> + <li> + <em>searchSuggestIntentAction</em> - The default Intent action to be used when a user + clicks on a search suggestion. + If provided, and not overridden by the selected suggestion, this value will + be placed in the action field of the {@link android.content.Intent} when the + user clicks a suggestion. + </li> + <li> + <em>searchSuggestIntentData</em> - The default Intent data to be used when a user + clicks on a search suggestion. + If provided, and not overridden by the selected suggestion, this value will be + placed in the data field of the {@link android.content.Intent} when the user clicks + a suggestion. + </li> + </ul> + + <p>Beyond providing search suggestions while using your application's local search, you + can also configure your search suggestions to be made available to Quick Search Box, + which will allow users so receive search suggestions from your application content from outside + your application. The following are additional {@code <searchable>} attributes for use when + providing search suggestions to Quick Search Box:</p> + + <ul> + <li> + <em>includeInGlobalSearch</em> - <strong>Required to provide search suggestions in + Quick Search Box</strong>. If true, this indicates the search suggestions provided by your + application should be included in the globally accessible Quick Search Box. The user must + still enable your application as a searchable item in the system search settings in order + for your suggestions to appear in Quick Search Box. + </li> + <li> + <em>searchSettingsDescription</em> - If provided, this provides a brief description + of the search suggestions that you provide to Quick Search Box, + and will be displayed in the search settings entry for your application. + </li> + <li> + <em>queryAfterZeroResults</em> - Indicates whether a source should be invoked for + supersets of queries it has returned zero results for in the past. For example, if a + source returned zero results for "bo", it would be ignored for "bob". If set to false, + this source will only be ignored for a single session; the next time the search dialog + is invoked, all sources will be queried. The default value is false. + </li> + <li> + <em>searchSuggestThreshold</em> - Indicates the minimum number of characters needed to + trigger a source lookup from Quick Search Box. Only guarantees that a source will not be + queried for anything shorter than the threshold. The default value is 0. + </li> + </ul> + + <p>To enable voice search for your Activity, you can add fields to the searchable metadata + that enable and configure voice search. The following are additional {@code <searchable>} + attributes for use when implementing voice search:</p> + + <ul> + <li> + <em>voiceSearchMode</em> - <strong>Required to provide voice search + capabilities</strong>. + If provided and non-zero, enables voice search. + (Voice search may not be provided by the device, in which case these flags will + have no effect.) The following mode values are accepted: + <ul> + <li> + <em>showVoiceSearchButton</em> - If set, display a voice search button. This only + takes effect if voice search is available on the device. If set, then "launchWebSearch" + or "launchRecognizer" must also be set. + </li> + <li> + <em>launchWebSearch</em> - If set, the voice search button will take the user directly + to a built-in voice web search activity. Most applications will not use this flag, as + it will take the user away from the activity in which search was invoked. + </li> + <li> + <em>launchRecognizer</em> - If set, the voice search button will take + the user directly to a built-in voice recording activity. This activity + will prompt the user to speak, transcribe the spoken text, and forward the resulting + query text to the searchable activity, just as if the user had typed it into the + search UI and clicked the search button. + </li> + </ul> + </li> + <li> + <em>voiceLanguageModel</em> - A string constant from + {@link android.speech.RecognizerIntent}. + If provided, this specifies the language model that + should be used by the voice recognition system. See + {@link android.speech.RecognizerIntent#EXTRA_LANGUAGE_MODEL } for more + information. If not provided, the default value + {@link android.speech.RecognizerIntent#LANGUAGE_MODEL_FREE_FORM } will be used. + </li> + <li> + <em>voicePromptText</em> - A string. If provided, this specifies a prompt + that will be displayed during voice input. If not provided, a default prompt + will be displayed. + </li> + <li> + <em>voiceLanguage</em> - A string constant from {@link java.util.Locale}. + If provided, this specifies the spoken language to be expected. + This is only needed if it is different from the current value of + {@link java.util.Locale#getDefault()}. + </li> + <li> + <em>voiceMaxResults</em> - If provided, enforces the maximum number of results to return, + including the "best" result which will always be provided as the SEARCH intent's primary + query. Must be one or greater. Use EXTRA_RESULTS to get the results from the intent. + If not provided, the recognizer will choose how many results to return. + </li> + </ul> + </dd> + + <dt> + <actionkey> + </dt> + <dd> + Defines a shortcut key for a search action. + <ul> + <li> + <em>keycode</em> - <strong>Required</strong>. This attribute denotes the action key + you wish to respond to. Note that not all action keys are actually supported using + this mechanism, as many of them are used for typing, + navigation, or system functions. This will be added to the + {@link android.content.Intent#ACTION_SEARCH ACTION_SEARCH} Intent that is passed to your + searchable Activity. To examine the key code, use + {@link android.content.Intent#getIntExtra getIntExtra(SearchManager.ACTION_KEY)}. + Note that, in addition to the keycode, you must also provide one or more of + the action specifier attributes below. + </li> + <li> + <em>queryActionMsg</em> - If you wish to handle an action key during normal + search query entry, you must define an action string here. This will be added to the + {@link android.content.Intent#ACTION_SEARCH ACTION_SEARCH} Intent that is + passed to your searchable Activity. To examine the string, use + {@link android.content.Intent#getStringExtra + getStringExtra(SearchManager.ACTION_MSG)}. + </li> + <li> + <em>suggestActionMsg</em> - If you wish to handle an action key while a + suggestion is being displayed and selected, there are two ways to handle this. + If all of your suggestions can handle the action key, you can simply define + the action message using this attribute. This will be added to the + {@link android.content.Intent#ACTION_SEARCH} Intent that is passed to your + searchable Activity. To examine the string, + use {@link android.content.Intent#getStringExtra + getStringExtra(SearchManager.ACTION_MSG)}. + </li> + <li> + <em>suggestActionMsgColumn</em> - If you wish to handle an action key while + a suggestion is being displayed and selected, but you do not wish to enable + this action key for every suggestion, then you can use this attribute to control + it on a suggestion-by-suggestion basis. First, you must define a column + (and name it here) where your suggestions will include the action string. Then, + in your content provider, you must provide this column, and when desired, + provide data in this column. The search manager will look at your suggestion cursor, + using the string provided here in order to select a column, and will use + that to select a string from the cursor. That string will be added to the + {@link android.content.Intent#ACTION_SEARCH ACTION_SEARCH} + Intent that is passed to your searchable Activity. To examine + the string, use {@link android.content.Intent#getStringExtra + getStringExtra(SearchManager.ACTION_MSG)}. If the data does not exist for the + selection suggestion, the action key will be ignored. + </li> + </ul> + </dd> +</dl> + + + + + diff --git a/docs/html/index.jd b/docs/html/index.jd index 6945f9ebacf7..dc8bf2fe5179 100644 --- a/docs/html/index.jd +++ b/docs/html/index.jd @@ -15,7 +15,7 @@ home=true <div id="announcement" style="width:275px"> <p>The second Android Developer Challenge has begun! In this contest, real-world users will help review and score applications and the overall winner will - take away $250,000. The deadline for submissions was August 31, 2009 and judging by users has started.</p> + take away $250,000. The deadline for submissions was August 31, 2009.</p> <p><a href="http://code.google.com/android/adc/">Learn more about ADC 2 »</a></p> </div> <!-- end annoucement --> </div> <!-- end annoucement-block --> diff --git a/docs/html/intl/ja/index.jd b/docs/html/intl/ja/index.jd index a5378c964d3d..71811debcaf4 100644 --- a/docs/html/intl/ja/index.jd +++ b/docs/html/intl/ja/index.jd @@ -56,7 +56,7 @@ home=true <td> <h2 class="green">公開</h2> <p>Android マーケットは、アプリケーションを携帯端末に配信するためのオープン サービスです。</p> - <p><a href="http://www.android.com/market.html">詳細 »</a></p> + <p><a href="http://market.android.com/publish/Home">詳細 »</a></p> </td> </tr> <tr> diff --git a/docs/html/sdk/android-1.6-highlights.jd b/docs/html/sdk/android-1.6-highlights.jd new file mode 100644 index 000000000000..882f1179580f --- /dev/null +++ b/docs/html/sdk/android-1.6-highlights.jd @@ -0,0 +1,198 @@ +page.title=Android 1.6 Platform Highlights +sdk.date=September 2009 + +@jd:body + + +<style type="text/css"> +#jd-content div.screenshot { + float:right; + clear:right; + padding:15px 70px; + font-size:.9em; + font-weight:bold; + line-height:1.7em; +} +#jd-content div.screenshot img { + margin:0; +} +</style> + +<p>The Android 1.6 platform introduces new features for users and developers. +This page provides an overview of some new features and technologies.</p> + +<ul> + <li><a href="#UserFeatures">New User Features</a></li> + <li><a href="#AndroidMarketUpdates">Android Market Updates</a></li> + <li><a href="#PlatformTechnologies">New Platform Technologies</a></li> +</ul> + + + +<h2 id="UserFeatures">New User Features</h2> + +<!-- screenshots float right --> + +<div class="screenshot"> +<img src="images/search.png" class="screenshot" alt="" /><br/> +Quick Search Box +</div> + +<div class="screenshot"> +<img src="images/camera.png" class="screenshot" alt="" /><br/> +New Camera/Camcorder UI +</div> + +<div class="screenshot"> +<img src="images/battery.png" class="screenshot" alt="" /><br/> +Battery Usage Indicator +</div> + + +<h3 id="QuickSearchBox">Quick Search Box for Android</h3> + +<p>Android 1.6 includes a redesigned search framework that provides a quick, +effective, and consistent way for users to search across multiple sources—such as +browser bookmarks & history, contacts, and the web—directly from +the home screen.</p> + +<p>The system constantly learns which search results are more relevant based on what is +clicked. So popular contacts or apps that have previously been picked will bubble up to +the top when a user types the first few letters of a relevant query.</p> + +<p>The search framework also provides developers a way to easily expose relevant +content from their applications in Quick Search Box.</p> + +<h3 id="Camera">Camera, Camcorder, and Gallery</h3> + +<p>An updated user interface provides an integrated camera, camcorder, and gallery experience. +Users can quickly toggle between still and video capture modes. Additionally, the gallery +enables users to select multiple photos for deletion.</p> + +<p>Android 1.6 also provides a much faster camera experience. +Compared to the previous release, launching the camera is now 39% faster, +and there is a 28% improvement in the time from completing one shot to the next.</p> + + +<h3 id="VPN">VPN, 802.1x</h3> + +<p>A new Virtual Private Network (VPN) control panel in Settings allows users +to configure and connect to the following types of VPNs:</p> + +<ul> + <li>L2TP/IPSEC pre-shared key based VPN</li> + <li>L2TP/IPsec certificate based VPN</li> + <li>L2TP only VPN</li> + <li>PPTP only VPN</li> +</ul> + + +<h3 id="Battery">Battery usage indicator</h3> + +<p>A new battery usage screen lets users see which apps and services are consuming +battery power. If the user determines that a particular service or application is +using too much power, they can take action to save the battery by +adjusting settings, stopping the application, or uninstalling the application.</p> + + +<h3 id="A11y">Accessibility</h3> + +<p>Users will be able to download new accessibility services built +on the new Accessibility framework and enable them in Settings.</p> + + + + +<h2 id="AndroidMarketUpdates" style="clear:right">Android Market Updates</h2> + +<div class="screenshot" style="margin-top:-35px"> +<img src="images/market.png" class="screenshot" alt="" /><br/> +New Android Market UI +</div> + +<p>For devices with Android Market, the latest version improves the overall user experience and makes +it easier for users to discover great apps and games from developers.</p> + +<ul> + <li>At the homescreen, users can choose among <em>Apps</em>, <em>Games</em>, and <em>Downloads</em>.</li> + <li>Inside a category, users can explore titles that are <em>Top paid</em>, <em>Top free</em>, and <em>Just in</em>.</li> + <li>For each title, users can now see screenshots submitted by developers in addition to + reviews from other users.</li> +</ul> + + + + +<h2 id="PlatformTechnologies" style="clear:right">New Platform Technologies</h2> + +<h3 id="SearchFramework">Expanded Search Framework</h3> + +<p>The Android search framework has been redesigned and expanded to provide +third-party applications the opportunity to surface +content from their applications in Quick Search Box, the global search tool. +To do this, developers will need to make their app "searchable" and provide +suggestions in response to user queries. +To enable application search suggestions, users simply select each application from which +they'd like to receive suggestions, under Searchable items in the Search settings.</p> + + +<h3 id="TTS">Text-to-speech engine</h3> + +<p>Android 1.6 features a multi-lingual speech synthesis engine called Pico. +It allows any Android application to "speak" a string of text with an accent that matches the language. +The engine supports the following languages: English (American and British accents), French, +Italian, German and Spanish. If you're using a T-Mobile G1 or Dream device, you'll need to download the +SpeechSynthesis Data Installer from Android Market, which includes the "voices" needed by the +text-to-speech engine.</p> + + +<h3 id="Gestures">Gestures</h3> + +<p>A new gestures framework provides application developers with a framework for creating, storing, +loading, and recognizing gestures and associating them with specific actions.</p> + +<p>Developers can use the new GestureBuilder tool included in the Android 1.6 SDK to generate libraries +of gestures to include with their application.</p> + + +<h3 id="A11y">Accessibility</h3> + +<p>Android 1.6 provides a new accessibility framework. +With this framework, developers can create accessibility plugins that respond to user input, +such as making a sound when a new window is shown, vibrating when navigating to the top of +a list, and providing spoken feedback.</p> + + +<h3 id="Screens">Expanded support for screen densities and resolutions</h3> + +<p>Android 1.6 adds screen support that enables applications to be rendered properly on different +display resolutions and densities. Developers can also specify the types of screens supported by their +application.</p> + + +<h3 id="CDMA">Telephony support for CDMA</h3> + +<p>Android 1.6 includes support for CDMA in the telephony stack.</p> + + +<h3 id="OpenCore">New version of OpenCore</h3> + +<p>Android 1.6 includes the updated OpenCore 2 media engine, which has:</p> + +<ul> + <li>Support for OpenMAX encoders</li> + <li>Support for additional audio codecs in AuthorEngine</li> + <li>Improved buffering model supports shared buffers allocated in the decoder</li> +</ul> + +<h3 id="LinuxKernel">2.6.29 Linux kernel</h3> + +<p>Android 1.6 upgrades the Linux kernel from 2.6.27 to 2.6.29.</p> + + +<h3 id="DeveloperAPIs">New Framework APIs</h3> + +<p>For a detailed overview of new APIs, see the +<a href="{@docRoot}sdk/android-1.6.html#api-changes">Version Notes</a>. +For a complete report of all API changes, see the +<a href="{@docRoot}sdk/api_diff/4/changes.html">API Differences Report</a>. diff --git a/docs/html/sdk/images/battery.png b/docs/html/sdk/images/battery.png Binary files differnew file mode 100644 index 000000000000..10fd16b16afe --- /dev/null +++ b/docs/html/sdk/images/battery.png diff --git a/docs/html/sdk/images/camera.png b/docs/html/sdk/images/camera.png Binary files differnew file mode 100644 index 000000000000..6078388ea232 --- /dev/null +++ b/docs/html/sdk/images/camera.png diff --git a/docs/html/sdk/images/donut_small_bg.png b/docs/html/sdk/images/donut_small_bg.png Binary files differnew file mode 100644 index 000000000000..f514b504fd15 --- /dev/null +++ b/docs/html/sdk/images/donut_small_bg.png diff --git a/docs/html/sdk/images/market.png b/docs/html/sdk/images/market.png Binary files differnew file mode 100644 index 000000000000..8d11134c1c4a --- /dev/null +++ b/docs/html/sdk/images/market.png diff --git a/docs/html/sdk/images/search.png b/docs/html/sdk/images/search.png Binary files differnew file mode 100644 index 000000000000..10ab910bab86 --- /dev/null +++ b/docs/html/sdk/images/search.png diff --git a/graphics/java/android/graphics/PixelFormat.java b/graphics/java/android/graphics/PixelFormat.java index 159accc1496e..221c2f86768f 100644 --- a/graphics/java/android/graphics/PixelFormat.java +++ b/graphics/java/android/graphics/PixelFormat.java @@ -52,6 +52,12 @@ public class PixelFormat * by the hardware. */ public static final int YCbCr_422_SP= 0x10; + + /** YCbCr format used for images, which uses the NV21 encoding format. + * This is the default format for camera preview images, when not + * otherwise set with + * {@link android.hardware.Camera.Parameters#setPreviewFormat(int)}. + */ public static final int YCbCr_420_SP= 0x11; /** |