diff --git a/docs/html/design/building-blocks/buttons.jd b/docs/html/design/building-blocks/buttons.jd index 1f7e25d35b0dd..2a77e24be793b 100644 --- a/docs/html/design/building-blocks/buttons.jd +++ b/docs/html/design/building-blocks/buttons.jd @@ -1,5 +1,5 @@ page.title=Buttons -page.tags="button","input" +page.tags=button,input @jd:body diff --git a/docs/html/design/building-blocks/dialogs.jd b/docs/html/design/building-blocks/dialogs.jd index f4bb87e9303c4..f9897f44e23d2 100644 --- a/docs/html/design/building-blocks/dialogs.jd +++ b/docs/html/design/building-blocks/dialogs.jd @@ -1,5 +1,5 @@ page.title=Dialogs -page.tags="dialog","alert","popup","toast" +page.tags=dialog,alert,popup,toast @jd:body diff --git a/docs/html/design/building-blocks/grid-lists.jd b/docs/html/design/building-blocks/grid-lists.jd index 1a09ef551082a..cef7514b925b0 100644 --- a/docs/html/design/building-blocks/grid-lists.jd +++ b/docs/html/design/building-blocks/grid-lists.jd @@ -1,5 +1,5 @@ page.title=Grid Lists -page.tags="gridview","layout","listview" +page.tags=gridview,layout,listview @jd:body diff --git a/docs/html/design/building-blocks/lists.jd b/docs/html/design/building-blocks/lists.jd index 5514824b056b3..54fa442728335 100644 --- a/docs/html/design/building-blocks/lists.jd +++ b/docs/html/design/building-blocks/lists.jd @@ -1,5 +1,5 @@ page.title=Lists -page.tags="listview","layout" +page.tags=listview,layout @jd:body diff --git a/docs/html/design/building-blocks/pickers.jd b/docs/html/design/building-blocks/pickers.jd index 6dd72ba06c22c..860a126fa44dd 100644 --- a/docs/html/design/building-blocks/pickers.jd +++ b/docs/html/design/building-blocks/pickers.jd @@ -1,5 +1,5 @@ page.title=Pickers -page.tags="datepicker","timepicker" +page.tags=datepicker,timepicker @jd:body diff --git a/docs/html/design/building-blocks/progress.jd b/docs/html/design/building-blocks/progress.jd index 90732f49a3572..6946a753abdc2 100644 --- a/docs/html/design/building-blocks/progress.jd +++ b/docs/html/design/building-blocks/progress.jd @@ -1,5 +1,5 @@ page.title=Progress & Activity -page.tags="progressbar","download","network" +page.tags=progressbar,download,network @jd:body

Progress bars and activity indicators signal to users that something is happening that will take a moment.

diff --git a/docs/html/design/building-blocks/scrolling.jd b/docs/html/design/building-blocks/scrolling.jd index 13b3b09fe28be..41e7cecf63035 100644 --- a/docs/html/design/building-blocks/scrolling.jd +++ b/docs/html/design/building-blocks/scrolling.jd @@ -1,5 +1,5 @@ page.title=Scrolling -page.tags="scrollview","listview" +page.tags=scrollview,listview @jd:body

Scrolling allows the user to navigate to content in the overflow using a swipe gesture. The diff --git a/docs/html/design/building-blocks/seek-bars.jd b/docs/html/design/building-blocks/seek-bars.jd index 9d38e36e2d908..1465688ed7f2c 100644 --- a/docs/html/design/building-blocks/seek-bars.jd +++ b/docs/html/design/building-blocks/seek-bars.jd @@ -1,5 +1,5 @@ page.title=Seek Bars and Sliders -page.tags="seekbar","progressbar" +page.tags=seekbar,progressbar @jd:body

Interactive sliders make it possible to select a value from a continuous or discrete range of values diff --git a/docs/html/design/building-blocks/spinners.jd b/docs/html/design/building-blocks/spinners.jd index c00b639b39fb7..f8d92d4aec182 100644 --- a/docs/html/design/building-blocks/spinners.jd +++ b/docs/html/design/building-blocks/spinners.jd @@ -1,5 +1,5 @@ page.title=Spinners -page.tags="spinner","dropdown" +page.tags=spinner,dropdown @jd:body diff --git a/docs/html/design/building-blocks/switches.jd b/docs/html/design/building-blocks/switches.jd index 74cab5ae21012..b2946897fed19 100644 --- a/docs/html/design/building-blocks/switches.jd +++ b/docs/html/design/building-blocks/switches.jd @@ -1,5 +1,5 @@ page.title=Switches -page.tags="switch","checkbox","radiobutton","button" +page.tags=switch,checkbox,radiobutton,button @jd:body

Switches allow the user to select options. There are three kinds of switches: checkboxes, radio diff --git a/docs/html/design/building-blocks/tabs.jd b/docs/html/design/building-blocks/tabs.jd index 5a5da5d8ad970..1fa3461be37ee 100644 --- a/docs/html/design/building-blocks/tabs.jd +++ b/docs/html/design/building-blocks/tabs.jd @@ -1,5 +1,5 @@ page.title=Tabs -page.tags="tabs","actionbar","navigation","viewpager" +page.tags=tabs,actionbar,navigation,viewpager @jd:body diff --git a/docs/html/design/building-blocks/text-fields.jd b/docs/html/design/building-blocks/text-fields.jd index 383531b1adadf..4545bfbaf4965 100644 --- a/docs/html/design/building-blocks/text-fields.jd +++ b/docs/html/design/building-blocks/text-fields.jd @@ -1,5 +1,5 @@ page.title=Text Fields -page.tags="text","edittext","input" +page.tags=text,edittext,input @jd:body diff --git a/docs/html/design/downloads/index.jd b/docs/html/design/downloads/index.jd index 16f55092c5147..ddeda5c457956 100644 --- a/docs/html/design/downloads/index.jd +++ b/docs/html/design/downloads/index.jd @@ -1,5 +1,5 @@ page.title=Downloads -page tags="Icons", "stencils", "color swatches" +page.tags=Icons,stencils,color swatches @jd:body

diff --git a/docs/html/design/patterns/accessibility.jd b/docs/html/design/patterns/accessibility.jd index 532900ecd80c5..50c82febc4510 100644 --- a/docs/html/design/patterns/accessibility.jd +++ b/docs/html/design/patterns/accessibility.jd @@ -1,5 +1,5 @@ page.title=Accessibility -page.tags="accessibility","navigation","input" +page.tags=accessibility,navigation,input @jd:body @@ -86,4 +86,4 @@ page.tags="accessibility","navigation","input"
  • Provide alternatives to affordances that time out
  • Use standard framework controls or enable TalkBack for custom controls
  • Try it out yourself
  • - \ No newline at end of file + diff --git a/docs/html/design/patterns/actionbar.jd b/docs/html/design/patterns/actionbar.jd index b6e3a16563d26..f0104b53ca4ca 100644 --- a/docs/html/design/patterns/actionbar.jd +++ b/docs/html/design/patterns/actionbar.jd @@ -1,5 +1,5 @@ page.title=Action Bar -page.tags="actionbar","navigation" +page.tags=actionbar,navigation @jd:body @@ -277,4 +277,4 @@ actions exceeds the capacity of the main action bar, display them separately in

    Sometimes it is important to display contextual information for your app that's always visible. Examples are the number of unread messages in a messaging inbox view or the Now Playing information in a music player. Carefully plan which important information you would like to display and -structure your action bars accordingly.

    \ No newline at end of file +structure your action bars accordingly.

    diff --git a/docs/html/design/patterns/app-structure.jd b/docs/html/design/patterns/app-structure.jd index 1447d4e62885d..e0a11ed0e04b1 100644 --- a/docs/html/design/patterns/app-structure.jd +++ b/docs/html/design/patterns/app-structure.jd @@ -1,5 +1,5 @@ page.title=App Structure -page.tags="navigation","layout","tablet" +page.tags=navigation,layout,tablet @jd:body

    Apps come in many varieties that address very different needs. For example:

    @@ -307,4 +307,4 @@ design guide.

  • Allow for quick navigation between detail items with swipe views.

  • - \ No newline at end of file + diff --git a/docs/html/design/patterns/buttons.jd b/docs/html/design/patterns/buttons.jd index 46e41c8936012..2d65b2d8dda98 100644 --- a/docs/html/design/patterns/buttons.jd +++ b/docs/html/design/patterns/buttons.jd @@ -1,5 +1,5 @@ page.title=Buttons -page.tags="buttons" +page.tags=buttons @jd:body

    @@ -148,4 +148,4 @@ page.tags="buttons" Replace previous implementations of Lights Out mode with the Lean Back or Immersive approaches. Continue to use Lights Out mode for implementations of your app targeted for earlier releases. -

    \ No newline at end of file +

    diff --git a/docs/html/design/patterns/compatibility.jd b/docs/html/design/patterns/compatibility.jd index 5ca6d8b9e7929..5a1562c833438 100644 --- a/docs/html/design/patterns/compatibility.jd +++ b/docs/html/design/patterns/compatibility.jd @@ -1,5 +1,5 @@ page.title=Backwards Compatibility -page.tags="support" +page.tags=support @jd:body
    diff --git a/docs/html/design/patterns/confirming-acknowledging.jd b/docs/html/design/patterns/confirming-acknowledging.jd index e347231123452..d39d32d840a97 100644 --- a/docs/html/design/patterns/confirming-acknowledging.jd +++ b/docs/html/design/patterns/confirming-acknowledging.jd @@ -1,5 +1,5 @@ page.title=Confirming & Acknowledging -page.tags="dialog","toast","notification" +page.tags=dialog,toast,notification @jd:body

    In some situations, when a user invokes an action in your app, it's a good idea to confirm or acknowledge that action through text.

    @@ -67,4 +67,4 @@ page.tags="dialog","toast","notification"

    Acknowledgment is unnecessary. The user will know the app is gone from the Home Screen because they made it disappear by dragging it away.

    - \ No newline at end of file + diff --git a/docs/html/design/patterns/fullscreen.jd b/docs/html/design/patterns/fullscreen.jd index de016fe55b990..624d44c4284f8 100644 --- a/docs/html/design/patterns/fullscreen.jd +++ b/docs/html/design/patterns/fullscreen.jd @@ -1,5 +1,5 @@ page.title=Full Screen -page.tags="full screen","immersive", "leanback" +page.tags=full screen,immersive,leanback @jd:body

    @@ -148,4 +148,4 @@ page.tags="full screen","immersive", "leanback" Replace previous implementations of Lights Out mode with the Lean Back or Immersive approaches. Continue to use Lights Out mode for implementations of your app targeted for earlier releases. -

    \ No newline at end of file +

    diff --git a/docs/html/design/patterns/gestures.jd b/docs/html/design/patterns/gestures.jd index 213902f8568c3..1ec7094973a53 100644 --- a/docs/html/design/patterns/gestures.jd +++ b/docs/html/design/patterns/gestures.jd @@ -1,5 +1,5 @@ page.title=Gestures -page.tags="gesture","input","touch" +page.tags=gesture,input,touch @jd:body

    Gestures allow users to interact with your app by manipulating the screen objects you provide. The diff --git a/docs/html/design/patterns/help.jd b/docs/html/design/patterns/help.jd index ad5742d78757f..bf708b14eece7 100644 --- a/docs/html/design/patterns/help.jd +++ b/docs/html/design/patterns/help.jd @@ -1,5 +1,5 @@ page.title=Help -page.tags="settings","preferences" +page.tags=settings,preferences @jd:body

    We wish we could guarantee that if you follow every piece of advice on this website, everyone will be able to learn and use your app without a hitch. Sadly, that's not the case.

    @@ -110,4 +110,4 @@ page.tags="settings","preferences"

    People don't read help from start to finish. They scan around, looking for a piece of information containing the answer they need. Make it less burdensome with friendly formatting and layout choices like bold headings, bulleted and numbered lists, tables, and white space between paragraphs. And if you have a large amount of content, divide it into multiple screens to cut down on scrolling.

    Take me straight to the answer

    -

    What's better than a screen that's easy to scan? A screen that requires no scanning at all because the answer's right there. Consider having each screen in your app navigate to help that's relevant just to that screen. We call this contextual help, and it's the holy grail of user assistance. If you take this approach, be sure to also provide a way to get to the rest of the help content.

    \ No newline at end of file +

    What's better than a screen that's easy to scan? A screen that requires no scanning at all because the answer's right there. Consider having each screen in your app navigate to help that's relevant just to that screen. We call this contextual help, and it's the holy grail of user assistance. If you take this approach, be sure to also provide a way to get to the rest of the help content.

    diff --git a/docs/html/design/patterns/multi-pane-layouts.jd b/docs/html/design/patterns/multi-pane-layouts.jd index 06c81897a6b55..ff2dd4e0293f5 100644 --- a/docs/html/design/patterns/multi-pane-layouts.jd +++ b/docs/html/design/patterns/multi-pane-layouts.jd @@ -1,5 +1,5 @@ page.title=Multi-pane Layouts -page.tags="tablet","navigation","layout","fragment" +page.tags=tablet,navigation,layout,fragment @jd:body diff --git a/docs/html/design/patterns/navigation-drawer.jd b/docs/html/design/patterns/navigation-drawer.jd index bf6609e1d818e..7e63ba6c2adf7 100644 --- a/docs/html/design/patterns/navigation-drawer.jd +++ b/docs/html/design/patterns/navigation-drawer.jd @@ -1,5 +1,5 @@ page.title=Navigation Drawer -page.tags="DrawerLayout","SlidingPaneLayout" +page.tags=DrawerLayout,SlidingPaneLayout @jd:body diff --git a/docs/html/design/patterns/navigation.jd b/docs/html/design/patterns/navigation.jd index 6f2215a28b1d0..08828e8be336e 100644 --- a/docs/html/design/patterns/navigation.jd +++ b/docs/html/design/patterns/navigation.jd @@ -1,5 +1,5 @@ page.title=Navigation with Back and Up -page.tags="navigation","activity","task","up navigation","back navigation" +page.tags=navigation,activity,task,up navigation,back navigation @jd:body
    diff --git a/docs/html/design/patterns/new.jd b/docs/html/design/patterns/new.jd index 50cb9503602cc..d672e46992fbd 100644 --- a/docs/html/design/patterns/new.jd +++ b/docs/html/design/patterns/new.jd @@ -1,5 +1,5 @@ page.title=New in Android -page.tags="KitKat", "Android 4.4" +page.tags=KitKat,Android 4.4 @jd:body diff --git a/docs/html/design/patterns/selection.jd b/docs/html/design/patterns/selection.jd index 973ffde9152d1..ee46795b02848 100644 --- a/docs/html/design/patterns/selection.jd +++ b/docs/html/design/patterns/selection.jd @@ -1,5 +1,5 @@ page.title=Selection -page.tags="actionmode","navigation","contextual" +page.tags=actionmode,navigation,contextual @jd:body diff --git a/docs/html/design/patterns/settings.jd b/docs/html/design/patterns/settings.jd index fa3e538c2c5c1..a09193de5dd27 100644 --- a/docs/html/design/patterns/settings.jd +++ b/docs/html/design/patterns/settings.jd @@ -1,5 +1,5 @@ page.title=Settings -page.tags="preferences","sharedpreferences" +page.tags=preferences,sharedpreferences @jd:body @@ -696,4 +696,4 @@ it doesn't mean anything to most users and would have taken up a lot of space.

    Use design patterns wherever applicable so users don't face a learning curve.

  • Choose defaults that are safe, neutral, and fit the majority of users.

  • Give each setting a clear, concise label and use secondary text appropriately.

  • - \ No newline at end of file + diff --git a/docs/html/design/patterns/swipe-views.jd b/docs/html/design/patterns/swipe-views.jd index 4c9fb880ec713..89397aecadd2a 100644 --- a/docs/html/design/patterns/swipe-views.jd +++ b/docs/html/design/patterns/swipe-views.jd @@ -1,5 +1,5 @@ page.title=Swipe Views -page.tags="viewpager","navigation","tabs" +page.tags=viewpager,navigation,tabs @jd:body
    diff --git a/docs/html/design/patterns/widgets.jd b/docs/html/design/patterns/widgets.jd index 87ebbb9d47b30..953c125d251b1 100644 --- a/docs/html/design/patterns/widgets.jd +++ b/docs/html/design/patterns/widgets.jd @@ -1,5 +1,5 @@ page.title=Widgets -page.tags="appwidget","home" +page.tags=appwidget,home @jd:body diff --git a/docs/html/design/style/branding.jd b/docs/html/design/style/branding.jd index 2ea4d4702db36..2353a93af1a93 100644 --- a/docs/html/design/style/branding.jd +++ b/docs/html/design/style/branding.jd @@ -1,5 +1,5 @@ page.title=Your Branding -page.tags="branding","logo" +page.tags=branding,logo @jd:body

    Following Android design patterns doesn't mean that your app has to look the same as diff --git a/docs/html/design/style/iconography.jd b/docs/html/design/style/iconography.jd index fe4a3f9bcd226..5dde600272226 100644 --- a/docs/html/design/style/iconography.jd +++ b/docs/html/design/style/iconography.jd @@ -1,5 +1,5 @@ page.title=Iconography -page.tags="icons" +page.tags=icons @jd:body diff --git a/docs/html/design/style/metrics-grids.jd b/docs/html/design/style/metrics-grids.jd index c375631514d37..a553475e7e621 100644 --- a/docs/html/design/style/metrics-grids.jd +++ b/docs/html/design/style/metrics-grids.jd @@ -1,5 +1,5 @@ page.title=Metrics and Grids -page.tags="layout","screens" +page.tags=layout,screens @jd:body

    Devices vary not only in physical size, but also in screen density ( @@ -83,4 +83,4 @@ item to be removed.

    widgets, like lists and grid lists, have support for boundary feedback built in. If you’re building custom widgets, keep boundary feedback in mind and provide it from within your app. -

    \ No newline at end of file +

    diff --git a/docs/html/design/style/typography.jd b/docs/html/design/style/typography.jd index 3c201f76cd88d..ec6fba2fae9e8 100644 --- a/docs/html/design/style/typography.jd +++ b/docs/html/design/style/typography.jd @@ -1,5 +1,5 @@ page.title=Typography -page.tags="textview","font" +page.tags=textview,font @jd:body
    diff --git a/docs/html/design/style/writing.jd b/docs/html/design/style/writing.jd index cda17eb9f35b4..4f6225359f03f 100644 --- a/docs/html/design/style/writing.jd +++ b/docs/html/design/style/writing.jd @@ -1,5 +1,5 @@ page.title=Writing Style -page.tags="dialog","toast","notification" +page.tags=dialog,toast,notification @jd:body

    Android's Voice

    @@ -319,4 +319,4 @@ will not, you will ellipsis. - \ No newline at end of file + diff --git a/docs/html/distribute/googleplay/edu/index.jd b/docs/html/distribute/googleplay/edu/index.jd index 7a16bfdaea0db..b3dc6fea8872d 100644 --- a/docs/html/distribute/googleplay/edu/index.jd +++ b/docs/html/distribute/googleplay/edu/index.jd @@ -1,5 +1,5 @@ page.title=Google Play for Education -page.tags="Google Play","education","schools", "distribution" +page.tags=Google Play,education,schools,distribution header.hide=1 @jd:body diff --git a/docs/html/distribute/googleplay/publish/localizing.jd b/docs/html/distribute/googleplay/publish/localizing.jd index 1a5f3c1c5b284..30f10b7ab4c12 100644 --- a/docs/html/distribute/googleplay/publish/localizing.jd +++ b/docs/html/distribute/googleplay/publish/localizing.jd @@ -1,5 +1,5 @@ page.title=Localization Checklist -page.tags="localize","localization","resources", "formats", "l10n" +page.tags=localize,localization,resources,formats,l10n @jd:body
    diff --git a/docs/html/distribute/googleplay/publish/preparing.jd b/docs/html/distribute/googleplay/publish/preparing.jd index b9dd0e067771e..6af3eeaeca4fd 100644 --- a/docs/html/distribute/googleplay/publish/preparing.jd +++ b/docs/html/distribute/googleplay/publish/preparing.jd @@ -1,5 +1,5 @@ page.title=Launch Checklist -page.tags="publishing","launch","Google Play", "Developer Console" +page.tags=publishing,launch,Google Play,Developer Console @jd:body
    diff --git a/docs/html/google/gcm/client.jd b/docs/html/google/gcm/client.jd index df357a2703090..ca311ed4f86a0 100644 --- a/docs/html/google/gcm/client.jd +++ b/docs/html/google/gcm/client.jd @@ -1,5 +1,5 @@ page.title=Implementing GCM Client -page.tags="cloud","push","messaging" +page.tags=cloud,push,messaging @jd:body
    diff --git a/docs/html/google/gcm/gs.jd b/docs/html/google/gcm/gs.jd index f6b7ebe8244b1..3700f3f1c55e6 100644 --- a/docs/html/google/gcm/gs.jd +++ b/docs/html/google/gcm/gs.jd @@ -1,5 +1,5 @@ page.title=Getting Started -page.tags="cloud","push","messaging" +page.tags=cloud,push,messaging @jd:body
    diff --git a/docs/html/google/gcm/helper.jd b/docs/html/google/gcm/helper.jd index e7f2f73871b35..19dcdc523da23 100644 --- a/docs/html/google/gcm/helper.jd +++ b/docs/html/google/gcm/helper.jd @@ -1,5 +1,5 @@ page.title=Using the GCM Helper Libraries -page.tags="cloud","push","messaging" +page.tags=cloud,push,messaging @jd:body
    diff --git a/docs/html/google/gcm/index.jd b/docs/html/google/gcm/index.jd index 8f325b85c461e..70f7a9c67f19f 100644 --- a/docs/html/google/gcm/index.jd +++ b/docs/html/google/gcm/index.jd @@ -1,5 +1,5 @@ page.title=Google Cloud Messaging for Android -page.tags="gcm" +page.tags=gcm header.hide=1 @jd:body diff --git a/docs/html/google/play-services/ads.jd b/docs/html/google/play-services/ads.jd index c666ce9a049f8..7536cb05258ab 100644 --- a/docs/html/google/play-services/ads.jd +++ b/docs/html/google/play-services/ads.jd @@ -1,5 +1,5 @@ page.title=Google Mobile Ads -page.tags="Ads","monetization", "AdMob", "Google Play services" +page.tags=Ads,monetization,AdMob,Google Play services header.hide=1 @jd:body @@ -82,4 +82,4 @@ header.hide=1

    Note: The SDK doesn’t currently support DFP, Ad Exchange or Search Ads for Mobile Apps but support is coming soon.

    -
    \ No newline at end of file +
    diff --git a/docs/html/google/play-services/auth.jd b/docs/html/google/play-services/auth.jd index 7acaf1cd68345..dded5998c282d 100644 --- a/docs/html/google/play-services/auth.jd +++ b/docs/html/google/play-services/auth.jd @@ -1,5 +1,5 @@ page.title=Authorization -page.tags="AccountManager","oauth2" +page.tags=AccountManager,oauth2 @jd:body
    @@ -236,4 +236,4 @@ if (serverCode == 200) { case, obtain a new token using {@code GoogleAuthUtil.getToken()}. -

    \ No newline at end of file +

    diff --git a/docs/html/google/play-services/id.jd b/docs/html/google/play-services/id.jd index 664c6e6f43c7b..bd302c0534ddf 100644 --- a/docs/html/google/play-services/id.jd +++ b/docs/html/google/play-services/id.jd @@ -1,5 +1,5 @@ page.title=Advertising ID -page.tags="Ads","Advertising ID", "ID" +page.tags=Ads,Advertising ID,ID header.hide=1 @jd:body @@ -195,4 +195,4 @@ public void getIdThread() { } final String id = adInfo.getId(); final boolean isLAT = adInfo.isLimitAdTrackingEnabled(); -} \ No newline at end of file +} diff --git a/docs/html/google/play-services/location.jd b/docs/html/google/play-services/location.jd index 1cdd247837551..3fbf00ec8bcb5 100644 --- a/docs/html/google/play-services/location.jd +++ b/docs/html/google/play-services/location.jd @@ -1,5 +1,5 @@ page.title=Location APIs -page.tags="location","geofence", "geofencing", "gps" +page.tags=location,geofence,geofencing,gps header.hide=1 @jd:body diff --git a/docs/html/google/play-services/maps.jd b/docs/html/google/play-services/maps.jd index 965444a1ff282..246664ebf2fdd 100644 --- a/docs/html/google/play-services/maps.jd +++ b/docs/html/google/play-services/maps.jd @@ -1,5 +1,5 @@ page.title=Google Maps Android API -page.tags="mapview","location" +page.tags=mapview,location header.hide=1 @jd:body @@ -88,4 +88,4 @@ href="https://developers.google.com/maps/documentation/android/">developers.goog

    -
    \ No newline at end of file +
    diff --git a/docs/html/google/play-services/plus.jd b/docs/html/google/play-services/plus.jd index e126dad22da05..00b0488a8e010 100644 --- a/docs/html/google/play-services/plus.jd +++ b/docs/html/google/play-services/plus.jd @@ -1,5 +1,5 @@ page.title=Google+ Platform for Android -page.tags="authentication","signin","social" +page.tags=authentication,signin,social header.hide=1 @jd:body @@ -87,4 +87,4 @@ information about integrating Google+ into your app.

    Google+ developer documents at developers.google.com/+.

    -
    \ No newline at end of file +
    diff --git a/docs/html/google/play-services/wallet.jd b/docs/html/google/play-services/wallet.jd index b9b98d93e71fd..9467be1c99939 100644 --- a/docs/html/google/play-services/wallet.jd +++ b/docs/html/google/play-services/wallet.jd @@ -1,5 +1,5 @@ page.title=Google Wallet Instant Buy for Android -page.tags="Wallet","payments","Instant Buy" +page.tags=Wallet,payments,Instant Buy header.hide=1 @jd:body @@ -83,4 +83,4 @@ header.hide=1 - \ No newline at end of file + diff --git a/docs/html/google/play/billing/gp-purchase-status-api.jd b/docs/html/google/play/billing/gp-purchase-status-api.jd index 25ef28b102ac9..d940c5260e1f0 100644 --- a/docs/html/google/play/billing/gp-purchase-status-api.jd +++ b/docs/html/google/play/billing/gp-purchase-status-api.jd @@ -1,5 +1,5 @@ page.title=Purchase Status API -page.tags="In-app Billing", "Google Play", "inapp billing", "in app billing", "iab", "billing" +page.tags=In-app Billing,Google Play,inapp billing,in app billing,iab,billing @jd:body diff --git a/docs/html/guide/appendix/media-formats.jd b/docs/html/guide/appendix/media-formats.jd index 7c6c14557cce3..19f510afb1d82 100644 --- a/docs/html/guide/appendix/media-formats.jd +++ b/docs/html/guide/appendix/media-formats.jd @@ -1,5 +1,5 @@ page.title=Supported Media Formats -page.tags="video","audio","mpeg","mp4","m4a","mp3","3gp","3gpp","flac","wave","wav" +page.tags=video,audio,mpeg,mp4,m4a,mp3,3gp,3gpp,flac,wave,wav @jd:body
    diff --git a/docs/html/guide/components/activities.jd b/docs/html/guide/components/activities.jd index 1cbaa79194e58..b4617fb9d82de 100644 --- a/docs/html/guide/components/activities.jd +++ b/docs/html/guide/components/activities.jd @@ -1,5 +1,5 @@ page.title=Activities -page.tags="activity","intent" +page.tags=activity,intent @jd:body
    diff --git a/docs/html/guide/components/processes-and-threads.jd b/docs/html/guide/components/processes-and-threads.jd index 1fed712c38f56..c8c376417a4dd 100644 --- a/docs/html/guide/components/processes-and-threads.jd +++ b/docs/html/guide/components/processes-and-threads.jd @@ -1,5 +1,5 @@ page.title=Processes and Threads -page.tags="lifecycle","background" +page.tags=lifecycle,background @jd:body diff --git a/docs/html/guide/topics/admin/device-admin.jd b/docs/html/guide/topics/admin/device-admin.jd index a47449858d2e3..ee6b8149b1981 100644 --- a/docs/html/guide/topics/admin/device-admin.jd +++ b/docs/html/guide/topics/admin/device-admin.jd @@ -1,5 +1,5 @@ page.title=Device Administration -page.tags="devicepolicymanager","policy","security" +page.tags=devicepolicymanager,policy,security @jd:body
    diff --git a/docs/html/guide/topics/appwidgets/host.jd b/docs/html/guide/topics/appwidgets/host.jd index da7408f96aa20..169e388918e2a 100644 --- a/docs/html/guide/topics/appwidgets/host.jd +++ b/docs/html/guide/topics/appwidgets/host.jd @@ -1,5 +1,5 @@ page.title=App Widget Host -page.tags="AppWidgetHost","home screen","launcher" +page.tags=AppWidgetHost,home screen,launcher @jd:body
    diff --git a/docs/html/guide/topics/appwidgets/index.jd b/docs/html/guide/topics/appwidgets/index.jd index d8ad844e53e46..a783ad1a4f05a 100644 --- a/docs/html/guide/topics/appwidgets/index.jd +++ b/docs/html/guide/topics/appwidgets/index.jd @@ -1,5 +1,5 @@ page.title=App Widgets -page.tags="home","AppWidgetProvider" +page.tags=home,AppWidgetProvider @jd:body
    diff --git a/docs/html/guide/topics/connectivity/bluetooth-le.jd b/docs/html/guide/topics/connectivity/bluetooth-le.jd index 21950c269c1d3..fa0d36e6afa65 100644 --- a/docs/html/guide/topics/connectivity/bluetooth-le.jd +++ b/docs/html/guide/topics/connectivity/bluetooth-le.jd @@ -1,5 +1,5 @@ page.title=Bluetooth Low Energy -page.tags="wireless","bluetoothadapter","bluetoothdevice","BLE","BTLE" +page.tags=wireless,bluetoothadapter,bluetoothdevice,BLE,BTLE @jd:body
    diff --git a/docs/html/guide/topics/connectivity/bluetooth.jd b/docs/html/guide/topics/connectivity/bluetooth.jd index b57f3e236b717..96008c5c5701a 100644 --- a/docs/html/guide/topics/connectivity/bluetooth.jd +++ b/docs/html/guide/topics/connectivity/bluetooth.jd @@ -1,5 +1,5 @@ page.title=Bluetooth -page.tags="wireless","bluetoothadapter","bluetoothdevice" +page.tags=wireless,bluetoothadapter,bluetoothdevice @jd:body
    diff --git a/docs/html/guide/topics/connectivity/nfc/hce.jd b/docs/html/guide/topics/connectivity/nfc/hce.jd index 4ef6859870969..76f7c7cd46b0f 100644 --- a/docs/html/guide/topics/connectivity/nfc/hce.jd +++ b/docs/html/guide/topics/connectivity/nfc/hce.jd @@ -1,5 +1,5 @@ page.title=Host-based Card Emulation -page.tags="host card emulation", "hce","HostApduService","OffHostApduService","tap and pay" +page.tags=host card emulation,hce,HostApduService,OffHostApduService,tap and pay @jd:body diff --git a/docs/html/guide/topics/connectivity/sip.jd b/docs/html/guide/topics/connectivity/sip.jd index 526eb839cbb93..5154767e16ade 100644 --- a/docs/html/guide/topics/connectivity/sip.jd +++ b/docs/html/guide/topics/connectivity/sip.jd @@ -1,5 +1,5 @@ page.title=Session Initiation Protocol -page.tags="sipmanager","sipprofile","sipaudiocall","telephony" +page.tags=sipmanager,sipprofile,sipaudiocall,telephony @jd:body
    diff --git a/docs/html/guide/topics/connectivity/wifip2p.jd b/docs/html/guide/topics/connectivity/wifip2p.jd index 7cadde1cf06aa..d7e1269696cf9 100644 --- a/docs/html/guide/topics/connectivity/wifip2p.jd +++ b/docs/html/guide/topics/connectivity/wifip2p.jd @@ -1,5 +1,5 @@ page.title=Wi-Fi Peer-to-Peer -page.tags="wireless","WifiP2pManager","Wi-Fi Direct","WiFi Direct","P2P","Wi-Fi P2P","WiFi P2P" +page.tags=wireless,WifiP2pManager,Wi-Fi Direct,WiFi Direct,P2P,Wi-Fi P2P,WiFi P2P @jd:body diff --git a/docs/html/guide/topics/data/data-storage.jd b/docs/html/guide/topics/data/data-storage.jd index 385c1162ccbe5..6fca02f062c8b 100644 --- a/docs/html/guide/topics/data/data-storage.jd +++ b/docs/html/guide/topics/data/data-storage.jd @@ -1,5 +1,5 @@ page.title=Storage Options -page.tags="database","sharedpreferences","sdcard" +page.tags=database,sharedpreferences,sdcard @jd:body diff --git a/docs/html/guide/topics/data/install-location.jd b/docs/html/guide/topics/data/install-location.jd index 2ec0d5a9ef962..cc58b461e0af9 100644 --- a/docs/html/guide/topics/data/install-location.jd +++ b/docs/html/guide/topics/data/install-location.jd @@ -1,5 +1,5 @@ page.title=App Install Location -page.tags="sdcard","external" +page.tags=sdcard,external @jd:body diff --git a/docs/html/guide/topics/graphics/opengl.jd b/docs/html/guide/topics/graphics/opengl.jd index f46113d2a9a54..d19408208a1d8 100644 --- a/docs/html/guide/topics/graphics/opengl.jd +++ b/docs/html/guide/topics/graphics/opengl.jd @@ -1,5 +1,5 @@ page.title=OpenGL ES -page.tags="games" +page.tags=games @jd:body
    diff --git a/docs/html/guide/topics/graphics/prop-animation.jd b/docs/html/guide/topics/graphics/prop-animation.jd index 22bf769619054..e45549678911e 100644 --- a/docs/html/guide/topics/graphics/prop-animation.jd +++ b/docs/html/guide/topics/graphics/prop-animation.jd @@ -1,5 +1,5 @@ page.title=Property Animation -page.tags="valueanimator","objectanimator","layouttransition","ViewPropertyAnimator" +page.tags=valueanimator,objectanimator,layouttransition,ViewPropertyAnimator @jd:body
    diff --git a/docs/html/guide/topics/manifest/uses-feature-element.jd b/docs/html/guide/topics/manifest/uses-feature-element.jd index 95f62a581cb2c..445d5ce10cefb 100644 --- a/docs/html/guide/topics/manifest/uses-feature-element.jd +++ b/docs/html/guide/topics/manifest/uses-feature-element.jd @@ -1,5 +1,5 @@ page.title=<uses-feature> -page.tags="filtering","features","google play filters","permissions" +page.tags=filtering,features,google play filters,permissions @jd:body
    @@ -1071,4 +1071,4 @@ filtering based on the CAMERA permission, you would add this android.hardware.wifi - \ No newline at end of file + diff --git a/docs/html/guide/topics/manifest/uses-sdk-element.jd b/docs/html/guide/topics/manifest/uses-sdk-element.jd index 9169658543781..dd5ea867297f6 100644 --- a/docs/html/guide/topics/manifest/uses-sdk-element.jd +++ b/docs/html/guide/topics/manifest/uses-sdk-element.jd @@ -1,5 +1,5 @@ page.title=<uses-sdk> -page.tags="api levels","sdk version","minsdkversion","targetsdkversion","maxsdkversion" +page.tags=api levels,sdk version,minsdkversion,targetsdkversion,maxsdkversion @jd:body diff --git a/docs/html/guide/topics/media/audio-capture.jd b/docs/html/guide/topics/media/audio-capture.jd index 44c618fbb2376..8e60c8f5e54e0 100644 --- a/docs/html/guide/topics/media/audio-capture.jd +++ b/docs/html/guide/topics/media/audio-capture.jd @@ -1,5 +1,5 @@ page.title=Audio Capture -page.tags="mediarecorder" +page.tags=mediarecorder @jd:body
    @@ -249,4 +249,4 @@ public class AudioRecordTest extends Activity } } } - \ No newline at end of file + diff --git a/docs/html/guide/topics/media/camera.jd b/docs/html/guide/topics/media/camera.jd index e48109a0193c5..56ef624b8f82c 100644 --- a/docs/html/guide/topics/media/camera.jd +++ b/docs/html/guide/topics/media/camera.jd @@ -1,5 +1,5 @@ page.title=Camera -page.tags="photo","video","picture","mediarecorder" +page.tags=photo,video,picture,mediarecorder @jd:body
    diff --git a/docs/html/guide/topics/media/mediaplayer.jd b/docs/html/guide/topics/media/mediaplayer.jd index fb272d21f8e6e..63c04a219f955 100644 --- a/docs/html/guide/topics/media/mediaplayer.jd +++ b/docs/html/guide/topics/media/mediaplayer.jd @@ -1,5 +1,5 @@ page.title=Media Playback -page.tags="mediaplayer","soundpool","audiomanager" +page.tags=mediaplayer,soundpool,audiomanager @jd:body
    @@ -743,4 +743,4 @@ mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mMediaPlayer.setDataSource(getApplicationContext(), contentUri); // ...prepare and start... - \ No newline at end of file + diff --git a/docs/html/guide/topics/resources/localization.jd b/docs/html/guide/topics/resources/localization.jd index 7288aeb00bb23..3bb9ab59e8f4a 100644 --- a/docs/html/guide/topics/resources/localization.jd +++ b/docs/html/guide/topics/resources/localization.jd @@ -1,487 +1,485 @@ -page.title=Localizing with Resources -parent.title=Application Resources -page.tags="localizing","localization","resources", "formats", "l10n" -parent.link=index.html -@jd:body - -
    -
    - -

    Quickview

    - -
      -
    • Use resource sets to create a localized app.
    • -
    • Android loads the correct resource set for the user's language and locale.
    • -
    • If localized resources are not available, Android loads your default resources.
    • -
    - -

    In this document

    -
      -
    1. Overview: Resource-Switching in Android
    2. -
    3. Using Resources for Localization
    4. -
    5. Localization Tips
    6. -
    7. Testing Localized Applications
    8. -
    - -

    See also

    -
      -
    1. Localization Checklist
    2. -
    3. Providing Resources
    4. -
    5. Layouts
    6. -
    7. Activity Lifecycle
    8. -
    -
    -
    - -

    Android will run on many devices in many regions. To reach the most users, -your application should handle text, audio files, numbers, currency, and -graphics in ways appropriate to the locales where your application will be used. -

    - -

    This document describes best practices for localizing Android -applications. The principles apply whether you are developing your application -using ADT with Eclipse, Ant-based tools, or any other IDE.

    - -

    You should already have a working knowledge of Java and be familiar with -Android resource loading, the declaration of user interface elements in XML, -development considerations such as Activity lifecycle, and general principles of -internationalization and localization.

    - -

    It is good practice to use the Android resource framework to separate the -localized aspects of your application as much as possible from the core Java -functionality:

    - -
      -
    • You can put most or all of the contents of your application's -user interface into resource files, as described in this document and in Providing Resources.
    • -
    • The behavior of the user interface, on the other hand, is driven -by your Java code. - For example, if users input data that needs to be formatted or sorted -differently depending on locale, then you would use Java to handle the data -programmatically. This document does not cover how to localize your Java code. -
    • -
    - -

    For a short guide to localizing strings in your app, see the training lesson, Supporting Different Languages.

    - - -

    Overview: Resource-Switching in Android

    - -

    Resources are text strings, layouts, sounds, graphics, and any other static -data that your Android application needs. An application can include multiple -sets of resources, each customized for a different device configuration. When a -user runs the application, Android automatically selects and loads the -resources that best match the device.

    - -

    (This document focuses on localization and locale. For a complete description -of resource-switching and all the types of configurations that you can -specify — screen orientation, touchscreen type, and so on — see Providing -Alternative Resources.)

    - - - - - - - -

    - When you write your application: -

    - You create a set of default resources, plus alternatives to be used in - different locales.

    -

    right-arrow

    - When a user runs your application: -

    The Android system selects which resources to load, based on the - device's locale.

    - -

    When you write your application, you create default and alternative resources -for your application to use. To create resources, you place files within -specially named subdirectories of the project's res/ directory. -

    - - - -

    Why Default Resources Are Important

    - -

    Whenever the application runs in a locale for which you have not provided -locale-specific text, Android will load the default strings from -res/values/strings.xml. If this default file is absent, or if it -is missing a string that your application needs, then your application will not run -and will show an error. -The example below illustrates what can happen when the default text file is incomplete.

    - -

    Example: -

    An application's Java code refers to just two strings, text_a and - text_b. This application includes a localized resource file - (res/values-en/strings.xml) that defines text_a and - text_b in English. This application also includes a default - resource file (res/values/strings.xml) that includes a -definition for text_a, but not for text_b: -

      -
    • This application might compile without a problem. An IDE such as Eclipse - will not highlight any errors if a resource is missing.
    • -
    • When this application is launched on a device with locale set to English, - the application might run without a problem, because - res/values-en/strings.xml contains both of the needed text - strings.
    • -
    • However, the user will see an error message and a Force Close - button when this application is launched on a device set to a - language other than English. The application will not load.
    • -
    - - -

    To prevent this situation, make sure that a res/values/strings.xml - file exists and that it defines every needed string. The situation applies to - all types of resources, not just strings: You - need to create a set of default resource files containing all - the resources that your application calls upon — layouts, drawables, - animations, etc. For information about testing, see - Testing for Default Resources.

    - -

    Using Resources for Localization

    - -

    How to Create Default Resources

    - -

    Put the application's default text in -a file with the following location and name:

    -

        res/values/strings.xml (required directory)

    - -

    The text strings in res/values/strings.xml should use the -default language, which is the language that you expect most of your application's users to -speak.

    - -

    The default resource set must also include any default drawables and layouts, - and can include other types of resources such as animations. -
    -     res/drawable/(required directory holding at least - one graphic file, for the application's icon on Google Play)
    -     res/layout/ (required directory holding an XML - file that defines the default layout)
    -     res/anim/ (required if you have any - res/anim-<qualifiers> folders)
    -     res/xml/ (required if you have any - res/xml-<qualifiers> folders)
    -     res/raw/ (required if you have any - res/raw-<qualifiers> folders) -

    - -

    Tip: In your code, examine each reference to - an Android resource. Make sure that a default resource is defined for each - one. Also make sure that the default string file is complete: A - localized string file can contain a subset of the strings, but the - default string file must contain them all. -

    - -

    How to Create Alternative Resources

    - -

    A large part of localizing an application is providing alternative text for -different languages. In some cases you will also provide alternative graphics, -sounds, layouts, and other locale-specific resources.

    - -

    An application can specify many res/<qualifiers>/ -directories, each with different qualifiers. To create an alternative resource for -a different locale, you use a qualifier that specifies a language or a -language-region combination. (The name of a resource directory must conform -to the naming scheme described in -Providing -Alternative Resources, -or else it will not compile.)

    - -

    Example:

    - -

    Suppose that your application's default language is English. Suppose also -that you want to localize all the text in your application to French, and most -of the text in your application (everything except the application's title) to -Japanese. In this case, you could create three alternative strings.xml -files, each stored in a locale-specific resource directory:

    - -
      -
    1. res/values/strings.xml
      - Contains English text for all the strings that the application uses, -including text for a string named title.
    2. -
    3. res/values-fr/strings.xml
      - Contain French text for all the strings, including title.
    4. -
    5. res/values-ja/strings.xml
      - Contain Japanese text for all the strings except -title.
      -
    6. -
    - -

    If your Java code refers to R.string.title, here is what will -happen at runtime:

    - -
      -
    • If the device is set to any language other than French, Android will load -title from the res/values/strings.xml file.
    • -
    • If the device is set to French, Android will load title from -the res/values-fr/strings.xml file.
    • -
    - -

    Notice that if the device is set to Japanese, Android will look for -title in the res/values-ja/strings.xml file. But -because no such string is included in that file, Android will fall back to the -default, and will load title in English from the -res/values/strings.xml file.

    - -

    Which Resources Take Precedence?

    - -

    If multiple resource files match a device's configuration, Android follows a -set of rules in deciding which file to use. Among the qualifiers that can be -specified in a resource directory name, locale almost always takes -precedence.

    -

    Example:

    - -

    Assume that an application includes a default set of graphics and two other -sets of graphics, each optimized for a different device setup:

    - -
      -
    • res/drawable/
      - Contains - default graphics.
    • -
    • res/drawable-small-land-stylus/
      - Contains graphics optimized for use with a device that expects input from a - stylus and has a QVGA low-density screen in landscape orientation.
    • -
    • res/drawable-ja/
      - Contains graphics optimized for use with Japanese.
    • -
    - -

    If the application runs on a device that is configured to use Japanese, -Android will load graphics from res/drawable-ja/, even if the -device happens to be one that expects input from a stylus and has a QVGA -low-density screen in landscape orientation.

    - -

    Exception: The only qualifiers that take -precedence over locale in the selection process are MCC and MNC (mobile country -code and mobile network code).

    - -

    Example:

    - -

    Assume that you have the following situation:

    - -
      -
    • The application code calls for R.string.text_a
    • -
    • Two relevant resource files are available: -
        -
      • res/values-mcc404/strings.xml, which includes -text_a in the application's default language, in this case -English.
      • -
      • res/values-hi/strings.xml, which includes -text_a in Hindi.
      • -
      -
    • -
    • The application is running on a device that has the following -configuration: -
        -
      • The SIM card is connected to a mobile network in India (MCC 404).
      • -
      • The language is set to Hindi (hi).
      • -
      -
    • -
    - -

    Android will load text_a from -res/values-mcc404/strings.xml (in English), even if the device is -configured for Hindi. That is because in the resource-selection process, Android -will prefer an MCC match over a language match.

    - -

    The selection process is not always as straightforward as these examples -suggest. Please read How Android Finds -the Best-matching Resource for a more nuanced description of the -process. All the qualifiers are described and listed in order of -precedence in Table 2 of Providing -Alternative Resources.

    - -

    Referring to Resources in Java

    - -

    In your application's Java code, you refer to resources using the syntax -R.resource_type.resource_name or -android.R.resource_type.resource_name. -For more about this, see Accessing Resources.

    - -

    Localization Checklist

    - -

    For a complete overview of the process of localizing and distributing an Android application, -see the Localization -Checklist document.

    - -

    Localization Tips

    - -

    Design your application to work in any locale

    - -

    You cannot assume anything about the device on which a user will -run your application. The device might have hardware that you were not -anticipating, or it might be set to a locale that you did not plan for or that -you cannot test. Design your application so that it will function normally or fail gracefully no -matter what device it runs on.

    - -

    Important: Make sure that your application -includes a full set of default resources.

    Make sure to include -res/drawable/ and a res/values/ folders (without any -additional modifiers in the folder names) that contain all the images and text -that your application will need.

    - -

    If an application is missing even one default resource, it will not run on a - device that is set to an unsupported locale. For example, the - res/values/strings.xml default file might lack one string that - the application needs: When the application runs in an unsupported locale and - attempts to load res/values/strings.xml, the user will see an - error message and a Force Close button. An IDE such as Eclipse will not - highlight this kind of error, and you will not see the problem when you - test the application on a device or emulator that is set to a supported locale.

    - -

    For more information, see Testing for Default Resources.

    - -

    Design a flexible layout

    - -

    If you need to rearrange your layout to fit a certain language (for example -German with its long words), you can create an alternative layout for that -language (for example res/layout-de/main.xml). However, doing this -can make your application harder to maintain. It is better to create a single -layout that is more flexible.

    - -

    Another typical situation is a language that requires something different in -its layout. For example, you might have a contact form that should include two -name fields when the application runs in Japanese, but three name fields when -the application runs in some other language. You could handle this in either of -two ways:

    - -
      -
    • Create one layout with a field that you can programmatically enable or -disable, based on the language, or
    • -
    • Have the main layout include another layout that includes the changeable -field. The second layout can have different configurations for different -languages.
    • -
    - -

    Avoid creating more resource files and text strings than you need

    - -

    You probably do not need to create a locale-specific -alternative for every resource in your application. For example, the layout -defined in the res/layout/main.xml file might work in any locale, -in which case there would be no need to create any alternative layout files. -

    - -

    Also, you might not need to create alternative text for every -string. For example, assume the following:

    - -
      -
    • Your application's default language is American -English. Every string that the application uses is defined, using American -English spellings, in res/values/strings.xml.
    • - -
    • For a few important phrases, you want to provide -British English spelling. You want these alternative strings to be used when your -application runs on a device in the United Kingdom.
    • -
    - -

    To do this, you could create a small file called -res/values-en-rGB/strings.xml that includes only the strings that -should be different when the application runs in the U.K. For all the rest of -the strings, the application will fall back to the defaults and use what is -defined in res/values/strings.xml.

    - -

    Use the Android Context object for manual locale lookup

    - -

    You can look up the locale using the {@link android.content.Context} object -that Android makes available:

    - -
    String locale = context.getResources().getConfiguration().locale.getDisplayName();
    - -

    Testing Localized Applications

    - -

    Testing on a Device

    -

    Keep in mind that the device you are testing may be significantly different from - the devices available to consumers in other geographies. The locales available - on your device may differ from those available on other devices. Also, the - resolution and density of the device screen may differ, which could affect - the display of strings and drawables in your UI.

    - -

    To change the locale on a device, use the Settings application (Home > -Menu > Settings > Locale & text > Select locale).

    - -

    Testing on an Emulator

    - -

    For details about using the emulator, see See Android Emulator.

    -

    Creating and using a custom locale

    - -

    A "custom" locale is a language/region combination that the Android -system image does not explicitly support. (For a list of supported locales in -Android platforms see the Version Notes in the SDK tab). You can test -how your application will run in a custom locale by creating a custom locale in -the emulator. There are two ways to do this:

    - -
      -
    • Use the Custom Locale application, which is accessible from the -Application tab. (After you create a custom locale, switch to it by -pressing and holding the locale name.)
    • -
    • Change to a custom locale from the adb shell, as described below.
    • -
    - -

    When you set the emulator to a locale that is not available in the Android -system image, the system itself will display in its default language. Your -application, however, should localize properly.

    - -

    Changing the emulator locale from the adb shell

    - -

    To change the locale in the emulator by using the adb shell.

    - -
      -
    1. Pick the locale you want to test and determine its language and region codes, for -example fr for French and CA for Canada.
      -
    2. -
    3. Launch an emulator.
    4. -
    5. From a command-line shell on the host computer, run the following -command:
      - adb shell
      - or if you have a device attached, specify that you want the emulator by adding -the -e option:
      - adb -e shell
    6. -
    7. At the adb shell prompt (#), run this command:
      - setprop persist.sys.language [language code];setprop -persist.sys.country [country code];stop;sleep 5;start
      -
      Replace bracketed sections with the appropriate codes from Step -1.
    8. -
    - -

    For instance, to test in Canadian French:

    - -

    setprop persist.sys.language fr;setprop persist.sys.country -CA;stop;sleep 5;start

    - -

    This will cause the emulator to restart. (It will look like a full reboot, -but it is not.) Once the Home screen appears again, re-launch your application (for -example, click the Run icon in Eclipse), and the application will launch with -the new locale.

    - -

    Testing for Default Resources

    -

    Here's how to test whether an application includes every string resource that it needs:

    -
    1. Set the emulator or device to a language that your application does not - support. For example, if the application has French strings in - res/values-fr/ but does not have any Spanish strings in - res/values-es/, then set the emulator's locale to Spanish. - (You can use the Custom Locale application to set the emulator to an - unsupported locale.)
    2. -
    3. Run the application.
    4. -
    5. If the application shows an error message and a Force Close button, it might - be looking for a string that is not available. Make sure that your - res/values/strings.xml file includes a definition for - every string that the application uses.
    6. -
    -

    - -

    If the test is successful, repeat it for other types of - configurations. For example, if the application has a layout file called - res/layout-land/main.xml but does not contain a file called - res/layout-port/main.xml, then set the emulator or device to - portrait orientation and see if the application will run. - - - +page.title=Localizing with Resources +parent.title=Application Resources +page.tags=localizing,localization,resources,formats,l10n +parent.link=index.html +@jd:body + +

    +
    + +

    Quickview

    + +
      +
    • Use resource sets to create a localized app.
    • +
    • Android loads the correct resource set for the user's language and locale.
    • +
    • If localized resources are not available, Android loads your default resources.
    • +
    + +

    In this document

    +
      +
    1. Overview: Resource-Switching in Android
    2. +
    3. Using Resources for Localization
    4. +
    5. Localization Tips
    6. +
    7. Testing Localized Applications
    8. +
    + +

    See also

    +
      +
    1. Localization Checklist
    2. +
    3. Providing Resources
    4. +
    5. Layouts
    6. +
    7. Activity Lifecycle
    8. +
    +
    +
    + +

    Android will run on many devices in many regions. To reach the most users, +your application should handle text, audio files, numbers, currency, and +graphics in ways appropriate to the locales where your application will be used. +

    + +

    This document describes best practices for localizing Android +applications. The principles apply whether you are developing your application +using ADT with Eclipse, Ant-based tools, or any other IDE.

    + +

    You should already have a working knowledge of Java and be familiar with +Android resource loading, the declaration of user interface elements in XML, +development considerations such as Activity lifecycle, and general principles of +internationalization and localization.

    + +

    It is good practice to use the Android resource framework to separate the +localized aspects of your application as much as possible from the core Java +functionality:

    + +
      +
    • You can put most or all of the contents of your application's +user interface into resource files, as described in this document and in Providing Resources.
    • +
    • The behavior of the user interface, on the other hand, is driven +by your Java code. + For example, if users input data that needs to be formatted or sorted +differently depending on locale, then you would use Java to handle the data +programmatically. This document does not cover how to localize your Java code. +
    • +
    + +

    For a short guide to localizing strings in your app, see the training lesson, Supporting Different Languages.

    + + +

    Overview: Resource-Switching in Android

    + +

    Resources are text strings, layouts, sounds, graphics, and any other static +data that your Android application needs. An application can include multiple +sets of resources, each customized for a different device configuration. When a +user runs the application, Android automatically selects and loads the +resources that best match the device.

    + +

    (This document focuses on localization and locale. For a complete description +of resource-switching and all the types of configurations that you can +specify — screen orientation, touchscreen type, and so on — see Providing +Alternative Resources.)

    + + + + + + + +

    + When you write your application: +

    + You create a set of default resources, plus alternatives to be used in + different locales.

    +

    right-arrow

    + When a user runs your application: +

    The Android system selects which resources to load, based on the + device's locale.

    + +

    When you write your application, you create default and alternative resources +for your application to use. To create resources, you place files within +specially named subdirectories of the project's res/ directory. +

    + + + +

    Why Default Resources Are Important

    + +

    Whenever the application runs in a locale for which you have not provided +locale-specific text, Android will load the default strings from +res/values/strings.xml. If this default file is absent, or if it +is missing a string that your application needs, then your application will not run +and will show an error. +The example below illustrates what can happen when the default text file is incomplete.

    + +

    Example: +

    An application's Java code refers to just two strings, text_a and + text_b. This application includes a localized resource file + (res/values-en/strings.xml) that defines text_a and + text_b in English. This application also includes a default + resource file (res/values/strings.xml) that includes a +definition for text_a, but not for text_b: +

      +
    • This application might compile without a problem. An IDE such as Eclipse + will not highlight any errors if a resource is missing.
    • +
    • When this application is launched on a device with locale set to English, + the application might run without a problem, because + res/values-en/strings.xml contains both of the needed text + strings.
    • +
    • However, the user will see an error message and a Force Close + button when this application is launched on a device set to a + language other than English. The application will not load.
    • +
    + + +

    To prevent this situation, make sure that a res/values/strings.xml + file exists and that it defines every needed string. The situation applies to + all types of resources, not just strings: You + need to create a set of default resource files containing all + the resources that your application calls upon — layouts, drawables, + animations, etc. For information about testing, see + Testing for Default Resources.

    + +

    Using Resources for Localization

    + +

    How to Create Default Resources

    + +

    Put the application's default text in +a file with the following location and name:

    +

        res/values/strings.xml (required directory)

    + +

    The text strings in res/values/strings.xml should use the +default language, which is the language that you expect most of your application's users to +speak.

    + +

    The default resource set must also include any default drawables and layouts, + and can include other types of resources such as animations. +
    +     res/drawable/(required directory holding at least + one graphic file, for the application's icon on Google Play)
    +     res/layout/ (required directory holding an XML + file that defines the default layout)
    +     res/anim/ (required if you have any + res/anim-<qualifiers> folders)
    +     res/xml/ (required if you have any + res/xml-<qualifiers> folders)
    +     res/raw/ (required if you have any + res/raw-<qualifiers> folders) +

    + +

    Tip: In your code, examine each reference to + an Android resource. Make sure that a default resource is defined for each + one. Also make sure that the default string file is complete: A + localized string file can contain a subset of the strings, but the + default string file must contain them all. +

    + +

    How to Create Alternative Resources

    + +

    A large part of localizing an application is providing alternative text for +different languages. In some cases you will also provide alternative graphics, +sounds, layouts, and other locale-specific resources.

    + +

    An application can specify many res/<qualifiers>/ +directories, each with different qualifiers. To create an alternative resource for +a different locale, you use a qualifier that specifies a language or a +language-region combination. (The name of a resource directory must conform +to the naming scheme described in +Providing +Alternative Resources, +or else it will not compile.)

    + +

    Example:

    + +

    Suppose that your application's default language is English. Suppose also +that you want to localize all the text in your application to French, and most +of the text in your application (everything except the application's title) to +Japanese. In this case, you could create three alternative strings.xml +files, each stored in a locale-specific resource directory:

    + +
      +
    1. res/values/strings.xml
      + Contains English text for all the strings that the application uses, +including text for a string named title.
    2. +
    3. res/values-fr/strings.xml
      + Contain French text for all the strings, including title.
    4. +
    5. res/values-ja/strings.xml
      + Contain Japanese text for all the strings except +title.
      +
    6. +
    + +

    If your Java code refers to R.string.title, here is what will +happen at runtime:

    + +
      +
    • If the device is set to any language other than French, Android will load +title from the res/values/strings.xml file.
    • +
    • If the device is set to French, Android will load title from +the res/values-fr/strings.xml file.
    • +
    + +

    Notice that if the device is set to Japanese, Android will look for +title in the res/values-ja/strings.xml file. But +because no such string is included in that file, Android will fall back to the +default, and will load title in English from the +res/values/strings.xml file.

    + +

    Which Resources Take Precedence?

    + +

    If multiple resource files match a device's configuration, Android follows a +set of rules in deciding which file to use. Among the qualifiers that can be +specified in a resource directory name, locale almost always takes +precedence.

    +

    Example:

    + +

    Assume that an application includes a default set of graphics and two other +sets of graphics, each optimized for a different device setup:

    + +
      +
    • res/drawable/
      + Contains + default graphics.
    • +
    • res/drawable-small-land-stylus/
      + Contains graphics optimized for use with a device that expects input from a + stylus and has a QVGA low-density screen in landscape orientation.
    • +
    • res/drawable-ja/
      + Contains graphics optimized for use with Japanese.
    • +
    + +

    If the application runs on a device that is configured to use Japanese, +Android will load graphics from res/drawable-ja/, even if the +device happens to be one that expects input from a stylus and has a QVGA +low-density screen in landscape orientation.

    + +

    Exception: The only qualifiers that take +precedence over locale in the selection process are MCC and MNC (mobile country +code and mobile network code).

    + +

    Example:

    + +

    Assume that you have the following situation:

    + +
      +
    • The application code calls for R.string.text_a
    • +
    • Two relevant resource files are available: +
        +
      • res/values-mcc404/strings.xml, which includes +text_a in the application's default language, in this case +English.
      • +
      • res/values-hi/strings.xml, which includes +text_a in Hindi.
      • +
      +
    • +
    • The application is running on a device that has the following +configuration: +
        +
      • The SIM card is connected to a mobile network in India (MCC 404).
      • +
      • The language is set to Hindi (hi).
      • +
      +
    • +
    + +

    Android will load text_a from +res/values-mcc404/strings.xml (in English), even if the device is +configured for Hindi. That is because in the resource-selection process, Android +will prefer an MCC match over a language match.

    + +

    The selection process is not always as straightforward as these examples +suggest. Please read How Android Finds +the Best-matching Resource for a more nuanced description of the +process. All the qualifiers are described and listed in order of +precedence in Table 2 of Providing +Alternative Resources.

    + +

    Referring to Resources in Java

    + +

    In your application's Java code, you refer to resources using the syntax +R.resource_type.resource_name or +android.R.resource_type.resource_name. +For more about this, see Accessing Resources.

    + +

    Localization Checklist

    + +

    For a complete overview of the process of localizing and distributing an Android application, +see the Localization +Checklist document.

    + +

    Localization Tips

    + +

    Design your application to work in any locale

    + +

    You cannot assume anything about the device on which a user will +run your application. The device might have hardware that you were not +anticipating, or it might be set to a locale that you did not plan for or that +you cannot test. Design your application so that it will function normally or fail gracefully no +matter what device it runs on.

    + +

    Important: Make sure that your application +includes a full set of default resources.

    Make sure to include +res/drawable/ and a res/values/ folders (without any +additional modifiers in the folder names) that contain all the images and text +that your application will need.

    + +

    If an application is missing even one default resource, it will not run on a + device that is set to an unsupported locale. For example, the + res/values/strings.xml default file might lack one string that + the application needs: When the application runs in an unsupported locale and + attempts to load res/values/strings.xml, the user will see an + error message and a Force Close button. An IDE such as Eclipse will not + highlight this kind of error, and you will not see the problem when you + test the application on a device or emulator that is set to a supported locale.

    + +

    For more information, see Testing for Default Resources.

    + +

    Design a flexible layout

    + +

    If you need to rearrange your layout to fit a certain language (for example +German with its long words), you can create an alternative layout for that +language (for example res/layout-de/main.xml). However, doing this +can make your application harder to maintain. It is better to create a single +layout that is more flexible.

    + +

    Another typical situation is a language that requires something different in +its layout. For example, you might have a contact form that should include two +name fields when the application runs in Japanese, but three name fields when +the application runs in some other language. You could handle this in either of +two ways:

    + +
      +
    • Create one layout with a field that you can programmatically enable or +disable, based on the language, or
    • +
    • Have the main layout include another layout that includes the changeable +field. The second layout can have different configurations for different +languages.
    • +
    + +

    Avoid creating more resource files and text strings than you need

    + +

    You probably do not need to create a locale-specific +alternative for every resource in your application. For example, the layout +defined in the res/layout/main.xml file might work in any locale, +in which case there would be no need to create any alternative layout files. +

    + +

    Also, you might not need to create alternative text for every +string. For example, assume the following:

    + +
      +
    • Your application's default language is American +English. Every string that the application uses is defined, using American +English spellings, in res/values/strings.xml.
    • + +
    • For a few important phrases, you want to provide +British English spelling. You want these alternative strings to be used when your +application runs on a device in the United Kingdom.
    • +
    + +

    To do this, you could create a small file called +res/values-en-rGB/strings.xml that includes only the strings that +should be different when the application runs in the U.K. For all the rest of +the strings, the application will fall back to the defaults and use what is +defined in res/values/strings.xml.

    + +

    Use the Android Context object for manual locale lookup

    + +

    You can look up the locale using the {@link android.content.Context} object +that Android makes available:

    + +
    String locale = context.getResources().getConfiguration().locale.getDisplayName();
    + +

    Testing Localized Applications

    + +

    Testing on a Device

    +

    Keep in mind that the device you are testing may be significantly different from + the devices available to consumers in other geographies. The locales available + on your device may differ from those available on other devices. Also, the + resolution and density of the device screen may differ, which could affect + the display of strings and drawables in your UI.

    + +

    To change the locale on a device, use the Settings application (Home > +Menu > Settings > Locale & text > Select locale).

    + +

    Testing on an Emulator

    + +

    For details about using the emulator, see See Android Emulator.

    +

    Creating and using a custom locale

    + +

    A "custom" locale is a language/region combination that the Android +system image does not explicitly support. (For a list of supported locales in +Android platforms see the Version Notes in the SDK tab). You can test +how your application will run in a custom locale by creating a custom locale in +the emulator. There are two ways to do this:

    + +
      +
    • Use the Custom Locale application, which is accessible from the +Application tab. (After you create a custom locale, switch to it by +pressing and holding the locale name.)
    • +
    • Change to a custom locale from the adb shell, as described below.
    • +
    + +

    When you set the emulator to a locale that is not available in the Android +system image, the system itself will display in its default language. Your +application, however, should localize properly.

    + +

    Changing the emulator locale from the adb shell

    + +

    To change the locale in the emulator by using the adb shell.

    + +
      +
    1. Pick the locale you want to test and determine its language and region codes, for +example fr for French and CA for Canada.
      +
    2. +
    3. Launch an emulator.
    4. +
    5. From a command-line shell on the host computer, run the following +command:
      + adb shell
      + or if you have a device attached, specify that you want the emulator by adding +the -e option:
      + adb -e shell
    6. +
    7. At the adb shell prompt (#), run this command:
      + setprop persist.sys.language [language code];setprop +persist.sys.country [country code];stop;sleep 5;start
      +
      Replace bracketed sections with the appropriate codes from Step +1.
    8. +
    + +

    For instance, to test in Canadian French:

    + +

    setprop persist.sys.language fr;setprop persist.sys.country +CA;stop;sleep 5;start

    + +

    This will cause the emulator to restart. (It will look like a full reboot, +but it is not.) Once the Home screen appears again, re-launch your application (for +example, click the Run icon in Eclipse), and the application will launch with +the new locale.

    + +

    Testing for Default Resources

    +

    Here's how to test whether an application includes every string resource that it needs:

    +
    1. Set the emulator or device to a language that your application does not + support. For example, if the application has French strings in + res/values-fr/ but does not have any Spanish strings in + res/values-es/, then set the emulator's locale to Spanish. + (You can use the Custom Locale application to set the emulator to an + unsupported locale.)
    2. +
    3. Run the application.
    4. +
    5. If the application shows an error message and a Force Close button, it might + be looking for a string that is not available. Make sure that your + res/values/strings.xml file includes a definition for + every string that the application uses.
    6. +
    +

    + +

    If the test is successful, repeat it for other types of + configurations. For example, if the application has a layout file called + res/layout-land/main.xml but does not contain a file called + res/layout-port/main.xml, then set the emulator or device to + portrait orientation and see if the application will run. + diff --git a/docs/html/guide/topics/resources/runtime-changes.jd b/docs/html/guide/topics/resources/runtime-changes.jd index 45a548a602bca..695647ba9027a 100644 --- a/docs/html/guide/topics/resources/runtime-changes.jd +++ b/docs/html/guide/topics/resources/runtime-changes.jd @@ -1,5 +1,5 @@ page.title=Handling Runtime Changes -page.tags="activity","lifecycle" +page.tags=activity,lifecycle @jd:body

    diff --git a/docs/html/guide/topics/search/adding-custom-suggestions.jd b/docs/html/guide/topics/search/adding-custom-suggestions.jd index 47ad2fec9a124..6ebef08f80e2d 100644 --- a/docs/html/guide/topics/search/adding-custom-suggestions.jd +++ b/docs/html/guide/topics/search/adding-custom-suggestions.jd @@ -1,5 +1,5 @@ page.title=Adding Custom Suggestions -page.tags="SearchRecentSuggestionsProvider", +page.tags=SearchRecentSuggestionsProvider, @jd:body
    diff --git a/docs/html/guide/topics/search/adding-recent-query-suggestions.jd b/docs/html/guide/topics/search/adding-recent-query-suggestions.jd index c1d59d4848685..e1020dd185650 100644 --- a/docs/html/guide/topics/search/adding-recent-query-suggestions.jd +++ b/docs/html/guide/topics/search/adding-recent-query-suggestions.jd @@ -1,5 +1,5 @@ page.title=Adding Recent Query Suggestions -page.tags="SearchRecentSuggestions","SearchRecentSuggestionsProvider" +page.tags=SearchRecentSuggestions,SearchRecentSuggestionsProvider @jd:body diff --git a/docs/html/guide/topics/search/search-dialog.jd b/docs/html/guide/topics/search/search-dialog.jd index fc722b2820ece..fcaaed36da03b 100644 --- a/docs/html/guide/topics/search/search-dialog.jd +++ b/docs/html/guide/topics/search/search-dialog.jd @@ -1,5 +1,5 @@ page.title=Creating a Search Interface -page.tags="searchview" +page.tags=searchview @jd:body
    diff --git a/docs/html/guide/topics/sensors/index.jd b/docs/html/guide/topics/sensors/index.jd index 65560e6162cd9..09d27e7a9bd59 100644 --- a/docs/html/guide/topics/sensors/index.jd +++ b/docs/html/guide/topics/sensors/index.jd @@ -1,6 +1,6 @@ page.title=Location and Sensors APIs page.landing=true -page.tags="location","sensors" +page.tags=location,sensors page.landing.intro=Use sensors on the device to add rich location and motion capabilities to your app, from GPS or network location to accelerometer, gyroscope, temperature, barometer, and more. page.landing.image= @@ -38,4 +38,4 @@ practices.

    -
    \ No newline at end of file +
    diff --git a/docs/html/guide/topics/sensors/sensors_motion.jd b/docs/html/guide/topics/sensors/sensors_motion.jd index 289c63972c162..99b689fbf4ed6 100644 --- a/docs/html/guide/topics/sensors/sensors_motion.jd +++ b/docs/html/guide/topics/sensors/sensors_motion.jd @@ -1,5 +1,5 @@ page.title=Motion Sensors -page.tags="sensorevent","accelerometer","gyroscope","gravity","rotation" +page.tags=sensorevent,accelerometer,gyroscope,gravity,rotation @jd:body
    @@ -450,4 +450,4 @@ North Pole.

    The Android SDK provides a sample application that shows how to use the rotation vector sensor. The sample application is located in the API Demos code ( -OS - RotationVectorDemo).

    \ No newline at end of file +OS - RotationVectorDemo).

    diff --git a/docs/html/guide/topics/sensors/sensors_position.jd b/docs/html/guide/topics/sensors/sensors_position.jd index 55b282b4c74fc..65b9350d7fa58 100644 --- a/docs/html/guide/topics/sensors/sensors_position.jd +++ b/docs/html/guide/topics/sensors/sensors_position.jd @@ -1,5 +1,5 @@ page.title=Position Sensors -page.tags="sensorevent","orientation","proximity" +page.tags=sensorevent,orientation,proximity @jd:body
    @@ -313,4 +313,4 @@ public class SensorActivity extends Activity implements SensorEventListener { "near" or "far." In this case, the sensor usually reports its maximum range value in the far state and a lesser value in the near state. Typically, the far value is a value > 5 cm, but this can vary from sensor to sensor. You can determine a sensor's maximum range by using the {@link -android.hardware.Sensor#getMaximumRange} method.

    \ No newline at end of file +android.hardware.Sensor#getMaximumRange} method.

    diff --git a/docs/html/guide/topics/text/copy-paste.jd b/docs/html/guide/topics/text/copy-paste.jd index b34f0fa04f8cb..8f898e445cb78 100644 --- a/docs/html/guide/topics/text/copy-paste.jd +++ b/docs/html/guide/topics/text/copy-paste.jd @@ -1,5 +1,5 @@ page.title=Copy and Paste -page.tags="clipboardmanager","clipdata","input" +page.tags=clipboardmanager,clipdata,input @jd:body
    diff --git a/docs/html/guide/topics/text/creating-input-method.jd b/docs/html/guide/topics/text/creating-input-method.jd index 72545944be0cf..205fd966654e4 100644 --- a/docs/html/guide/topics/text/creating-input-method.jd +++ b/docs/html/guide/topics/text/creating-input-method.jd @@ -1,5 +1,5 @@ page.title=Creating an Input Method -page.tags="ime","keyboard","inputmethodservice" +page.tags=ime,keyboard,inputmethodservice @jd:body
    diff --git a/docs/html/guide/topics/text/spell-checker-framework.jd b/docs/html/guide/topics/text/spell-checker-framework.jd index 366f9cc39be44..a5d9932b26a78 100644 --- a/docs/html/guide/topics/text/spell-checker-framework.jd +++ b/docs/html/guide/topics/text/spell-checker-framework.jd @@ -1,5 +1,5 @@ page.title=Spelling Checker Framework -page.tags="input","spellcheckerservice" +page.tags=input,spellcheckerservice @jd:body
    diff --git a/docs/html/guide/topics/ui/actionbar.jd b/docs/html/guide/topics/ui/actionbar.jd index 3173ff12a8255..a122443799695 100644 --- a/docs/html/guide/topics/ui/actionbar.jd +++ b/docs/html/guide/topics/ui/actionbar.jd @@ -1,5 +1,5 @@ page.title=Action Bar -page.tags="actionbar","menu","tabs" +page.tags=actionbar,menu,tabs @jd:body diff --git a/docs/html/guide/topics/ui/controls/button.jd b/docs/html/guide/topics/ui/controls/button.jd index 41b67b7f2043f..02597c84ca8cb 100644 --- a/docs/html/guide/topics/ui/controls/button.jd +++ b/docs/html/guide/topics/ui/controls/button.jd @@ -1,5 +1,5 @@ page.title=Buttons -page.tags="button","imagebutton" +page.tags=button,imagebutton @jd:body
    @@ -241,4 +241,4 @@ the image displayed will change based on these three states.

    For more information about this XML syntax, including how to define a disabled, hovered, or other button states, read about State List -Drawable.

    \ No newline at end of file +Drawable.

    diff --git a/docs/html/guide/topics/ui/controls/pickers.jd b/docs/html/guide/topics/ui/controls/pickers.jd index 4c558406cc44a..31e4d3f521418 100644 --- a/docs/html/guide/topics/ui/controls/pickers.jd +++ b/docs/html/guide/topics/ui/controls/pickers.jd @@ -1,5 +1,5 @@ page.title=Pickers -page.tags="datepicker","timepicker" +page.tags=datepicker,timepicker @jd:body
    diff --git a/docs/html/guide/topics/ui/controls/radiobutton.jd b/docs/html/guide/topics/ui/controls/radiobutton.jd index d0c48ed454cc3..b2556e1956ab3 100644 --- a/docs/html/guide/topics/ui/controls/radiobutton.jd +++ b/docs/html/guide/topics/ui/controls/radiobutton.jd @@ -1,5 +1,5 @@ page.title=Radio Buttons -page.tags="radiobutton","radiogroup" +page.tags=radiobutton,radiogroup @jd:body
    diff --git a/docs/html/guide/topics/ui/controls/spinner.jd b/docs/html/guide/topics/ui/controls/spinner.jd index 85714b6625b04..d2db7a4286d46 100644 --- a/docs/html/guide/topics/ui/controls/spinner.jd +++ b/docs/html/guide/topics/ui/controls/spinner.jd @@ -1,5 +1,5 @@ page.title=Spinners -page.tags="adapterview","spinneradapter" +page.tags=adapterview,spinneradapter @jd:body
    @@ -143,4 +143,4 @@ spinner.setOnItemSelectedListener(this);

    If you implement the {@link android.widget.AdapterView.OnItemSelectedListener} interface with your {@link android.app.Activity} or {@link android.app.Fragment} (such as in the example above), you can pass -this as the interface instance.

    \ No newline at end of file +this as the interface instance.

    diff --git a/docs/html/guide/topics/ui/controls/text.jd b/docs/html/guide/topics/ui/controls/text.jd index c0b98737749f6..9474dee8e148f 100644 --- a/docs/html/guide/topics/ui/controls/text.jd +++ b/docs/html/guide/topics/ui/controls/text.jd @@ -1,5 +1,5 @@ page.title=Text Fields -page.tags="edittext","autocompletetextview" +page.tags=edittext,autocompletetextview @jd:body
    diff --git a/docs/html/guide/topics/ui/controls/togglebutton.jd b/docs/html/guide/topics/ui/controls/togglebutton.jd index 3119cd9820b83..c57b5108c16cf 100644 --- a/docs/html/guide/topics/ui/controls/togglebutton.jd +++ b/docs/html/guide/topics/ui/controls/togglebutton.jd @@ -1,5 +1,5 @@ page.title=Toggle Buttons -page.tags="switch","togglebutton" +page.tags=switch,togglebutton @jd:body
    diff --git a/docs/html/guide/topics/ui/custom-components.jd b/docs/html/guide/topics/ui/custom-components.jd index 703a5cebfa305..b146098db713d 100644 --- a/docs/html/guide/topics/ui/custom-components.jd +++ b/docs/html/guide/topics/ui/custom-components.jd @@ -1,5 +1,5 @@ page.title=Custom Components -page.tags="view","widget" +page.tags=view,widget @jd:body
    diff --git a/docs/html/guide/topics/ui/declaring-layout.jd b/docs/html/guide/topics/ui/declaring-layout.jd index 6586c2f1a767c..616949be258ea 100644 --- a/docs/html/guide/topics/ui/declaring-layout.jd +++ b/docs/html/guide/topics/ui/declaring-layout.jd @@ -1,5 +1,5 @@ page.title=Layouts -page.tags="view","viewgroup" +page.tags=view,viewgroup @jd:body
    diff --git a/docs/html/guide/topics/ui/dialogs.jd b/docs/html/guide/topics/ui/dialogs.jd index d934c4b55e40c..4754d110da76d 100644 --- a/docs/html/guide/topics/ui/dialogs.jd +++ b/docs/html/guide/topics/ui/dialogs.jd @@ -1,5 +1,5 @@ page.title=Dialogs -page.tags="alertdialog","dialogfragment" +page.tags=alertdialog,dialogfragment @jd:body diff --git a/docs/html/guide/topics/ui/drag-drop.jd b/docs/html/guide/topics/ui/drag-drop.jd index 9a6b0e92a60a0..9d8aa9b597083 100644 --- a/docs/html/guide/topics/ui/drag-drop.jd +++ b/docs/html/guide/topics/ui/drag-drop.jd @@ -1,5 +1,5 @@ page.title=Drag and Drop -page.tags="clipdata","dragevent","onlongclicklistener" +page.tags=clipdata,dragevent,onlongclicklistener @jd:body
    diff --git a/docs/html/guide/topics/ui/layout/gridview.jd b/docs/html/guide/topics/ui/layout/gridview.jd index bc189c45de000..b8d24b600219a 100644 --- a/docs/html/guide/topics/ui/layout/gridview.jd +++ b/docs/html/guide/topics/ui/layout/gridview.jd @@ -1,5 +1,5 @@ page.title=Grid View -page.tags="gridview" +page.tags=gridview @jd:body
    diff --git a/docs/html/guide/topics/ui/layout/linear.jd b/docs/html/guide/topics/ui/layout/linear.jd index 444dc71edf41f..902f22fef1879 100644 --- a/docs/html/guide/topics/ui/layout/linear.jd +++ b/docs/html/guide/topics/ui/layout/linear.jd @@ -1,5 +1,5 @@ page.title=Linear Layout -page.tags="linearlayout" +page.tags=linearlayout @jd:body
    diff --git a/docs/html/guide/topics/ui/layout/listview.jd b/docs/html/guide/topics/ui/layout/listview.jd index f8315c5777b46..3c6e32ca41cfe 100644 --- a/docs/html/guide/topics/ui/layout/listview.jd +++ b/docs/html/guide/topics/ui/layout/listview.jd @@ -1,5 +1,5 @@ page.title=List View -page.tags="listview" +page.tags=listview @jd:body
    diff --git a/docs/html/guide/topics/ui/layout/relative.jd b/docs/html/guide/topics/ui/layout/relative.jd index 65c56172fb02f..69f5c0a21acbf 100644 --- a/docs/html/guide/topics/ui/layout/relative.jd +++ b/docs/html/guide/topics/ui/layout/relative.jd @@ -1,5 +1,5 @@ page.title=Relative Layout -page.tags="relativelayout" +page.tags=relativelayout @jd:body
    @@ -114,4 +114,4 @@ view declared in the hierarchy. The example below demonstrates such a scenario.<

    For details about all the layout attributes available to each child view of a {@link -android.widget.RelativeLayout}, see {@link android.widget.RelativeLayout.LayoutParams}.

    \ No newline at end of file +android.widget.RelativeLayout}, see {@link android.widget.RelativeLayout.LayoutParams}.

    diff --git a/docs/html/guide/topics/ui/settings.jd b/docs/html/guide/topics/ui/settings.jd index d96447dc032f8..1d36430a9481a 100644 --- a/docs/html/guide/topics/ui/settings.jd +++ b/docs/html/guide/topics/ui/settings.jd @@ -1,5 +1,5 @@ page.title=Settings -page.tags="preference","preferenceactivity","preferencefragment" +page.tags=preference,preferenceactivity,preferencefragment @jd:body diff --git a/docs/html/samples/index.jd b/docs/html/samples/index.jd index c1213b6bbc712..ab15e32c1936e 100644 --- a/docs/html/samples/index.jd +++ b/docs/html/samples/index.jd @@ -1,5 +1,5 @@ page.title=Samples -page.tags="samples","examples","code" +page.tags=samples,examples,code @jd:body diff --git a/docs/html/sdk/index.jd b/docs/html/sdk/index.jd index a77cdfb416563..bc22416af907b 100644 --- a/docs/html/sdk/index.jd +++ b/docs/html/sdk/index.jd @@ -1,5 +1,5 @@ page.title=Android SDK -page.tags="download" +page.tags=download page.template=sdk header.hide=1 page.metaDescription=Download the official Android SDK to develop apps for Android-powered devices. diff --git a/docs/html/sdk/installing/studio.jd b/docs/html/sdk/installing/studio.jd index d57d75b0dfda5..e83d1e05e0991 100644 --- a/docs/html/sdk/installing/studio.jd +++ b/docs/html/sdk/installing/studio.jd @@ -1,5 +1,5 @@ page.title=Getting Started with Android Studio -page.tags="studio" +page.tags=studio @jd:body diff --git a/docs/html/tools/adk/adk.jd b/docs/html/tools/adk/adk.jd index 16517473e30ac..7e75c11be020a 100644 --- a/docs/html/tools/adk/adk.jd +++ b/docs/html/tools/adk/adk.jd @@ -1,5 +1,5 @@ page.title=Accessory Development Kit 2011 Guide -page.tags="adk" +page.tags=adk @jd:body
    diff --git a/docs/html/tools/adk/adk2.jd b/docs/html/tools/adk/adk2.jd index c60e9203a8d08..d69125aeaac84 100644 --- a/docs/html/tools/adk/adk2.jd +++ b/docs/html/tools/adk/adk2.jd @@ -1,5 +1,5 @@ page.title=Accessory Development Kit 2012 Guide -page.tags="adk" +page.tags=adk @jd:body
    diff --git a/docs/html/tools/adk/index.jd b/docs/html/tools/adk/index.jd index e035115a5b2e8..e08748fc3b42f 100644 --- a/docs/html/tools/adk/index.jd +++ b/docs/html/tools/adk/index.jd @@ -1,5 +1,5 @@ page.title=Accessory Development Kit -page.tags="adk" +page.tags=adk @jd:body

    The Accessory Development Kit (ADK) is a reference implementation for hardware manufacturers and diff --git a/docs/html/tools/debugging/debugging-memory.jd b/docs/html/tools/debugging/debugging-memory.jd index a7f443c8524e7..fccb67ec7a609 100644 --- a/docs/html/tools/debugging/debugging-memory.jd +++ b/docs/html/tools/debugging/debugging-memory.jd @@ -1,5 +1,5 @@ page.title=Investigating Your RAM Usage -page.tags="memory","OutOfMemoryError" +page.tags=memory,OutOfMemoryError @jd:body

    @@ -492,4 +492,4 @@ the Home screen, then return to your app).

    Tip: You can also perform the above steps by using the "monkey" test framework. For more information on running the monkey test framework, read the monkeyrunner -documentation.

    \ No newline at end of file +documentation.

    diff --git a/docs/html/tools/help/adb.jd b/docs/html/tools/help/adb.jd index c25990f3289ba..1850123004488 100644 --- a/docs/html/tools/help/adb.jd +++ b/docs/html/tools/help/adb.jd @@ -1,7 +1,7 @@ page.title=Android Debug Bridge parent.title=Tools parent.link=index.html -page.tags="adb" +page.tags=adb @jd:body
    diff --git a/docs/html/tools/help/adt.jd b/docs/html/tools/help/adt.jd index 4dac574bd5d24..1bb30152a08b6 100644 --- a/docs/html/tools/help/adt.jd +++ b/docs/html/tools/help/adt.jd @@ -1,5 +1,5 @@ page.title=Android Developer Tools -page.tags="adt" +page.tags=adt @jd:body
    diff --git a/docs/html/tools/help/draw9patch.jd b/docs/html/tools/help/draw9patch.jd index ebf2c6c681a31..859b1cf6e24a0 100644 --- a/docs/html/tools/help/draw9patch.jd +++ b/docs/html/tools/help/draw9patch.jd @@ -1,5 +1,5 @@ page.title=Draw 9-patch -page.tags="NinePatch" +page.tags=NinePatch @jd:body

    The Draw 9-patch tool allows you to easily create a diff --git a/docs/html/tools/samples/index.jd b/docs/html/tools/samples/index.jd index 76ba37af10b5d..a0d11e967c421 100644 --- a/docs/html/tools/samples/index.jd +++ b/docs/html/tools/samples/index.jd @@ -1,5 +1,5 @@ page.title=Samples -page.tags="example","code" +page.tags=example,code @jd:body

    To help you understand some fundamental Android APIs and coding practices, a variety of sample @@ -29,4 +29,4 @@ Android SDK, then execute {@code android sdk}. API level.

    You can easily create new Android projects with the downloaded samples, modify them -if you'd like, and then run them on an emulator or device.

    \ No newline at end of file +if you'd like, and then run them on an emulator or device.

    diff --git a/docs/html/training/accessibility/index.jd b/docs/html/training/accessibility/index.jd index 0af1d87605bb2..ea54dc4406b61 100644 --- a/docs/html/training/accessibility/index.jd +++ b/docs/html/training/accessibility/index.jd @@ -1,5 +1,5 @@ page.title=Implementing Accessibility -page.tags="navigation","input" +page.tags=navigation,input trainingnavtop=true startpage=true diff --git a/docs/html/training/activity-testing/index.jd b/docs/html/training/activity-testing/index.jd index ddede712d83ee..b9542b6de62f2 100644 --- a/docs/html/training/activity-testing/index.jd +++ b/docs/html/training/activity-testing/index.jd @@ -1,5 +1,5 @@ page.title=Testing Your Android Activity -page.tags="testing" +page.tags=testing trainingnavtop=true startpage=true diff --git a/docs/html/training/animation/index.jd b/docs/html/training/animation/index.jd index b6940f82221fc..4f3778844dbfd 100644 --- a/docs/html/training/animation/index.jd +++ b/docs/html/training/animation/index.jd @@ -1,5 +1,5 @@ page.title=Adding Animations -page.tags="Animator","views","layout","user interface" +page.tags=Animator,views,layout,user interface trainingnavtop=true startpage=true @@ -84,4 +84,4 @@ startpage=true
    Learn how to enable built-in animations when adding, removing, or updating child views in a layout.
    - \ No newline at end of file + diff --git a/docs/html/training/articles/memory.jd b/docs/html/training/articles/memory.jd index cdc0cd42d21b6..f15af689310ae 100644 --- a/docs/html/training/articles/memory.jd +++ b/docs/html/training/articles/memory.jd @@ -1,5 +1,5 @@ page.title=Managing Your App's Memory -page.tags="ram","low memory","OutOfMemoryError","onTrimMemory" +page.tags=ram,low memory,OutOfMemoryError,onTrimMemory page.article=true @jd:body diff --git a/docs/html/training/articles/perf-anr.jd b/docs/html/training/articles/perf-anr.jd index 87cfc1c985bda..b32cc4fa1c2d1 100644 --- a/docs/html/training/articles/perf-anr.jd +++ b/docs/html/training/articles/perf-anr.jd @@ -1,5 +1,5 @@ page.title=Keeping Your App Responsive -page.tags="threads","asynctask" +page.tags=threads,asynctask page.article=true @jd:body diff --git a/docs/html/training/articles/perf-jni.jd b/docs/html/training/articles/perf-jni.jd index 9f880ec557a08..435d231768f7d 100644 --- a/docs/html/training/articles/perf-jni.jd +++ b/docs/html/training/articles/perf-jni.jd @@ -1,5 +1,5 @@ page.title=JNI Tips -page.tags="ndk","native" +page.tags=ndk,native page.article=true @jd:body diff --git a/docs/html/training/articles/security-ssl.jd b/docs/html/training/articles/security-ssl.jd index f52865acff9e3..0639fb00ebd5b 100644 --- a/docs/html/training/articles/security-ssl.jd +++ b/docs/html/training/articles/security-ssl.jd @@ -1,5 +1,5 @@ page.title=Security with HTTPS and SSL -page.tags="network","certificates" +page.tags=network,certificates page.article=true @jd:body diff --git a/docs/html/training/articles/smp.jd b/docs/html/training/articles/smp.jd index 7240eecbe01e0..0b45987558d68 100644 --- a/docs/html/training/articles/smp.jd +++ b/docs/html/training/articles/smp.jd @@ -1,5 +1,5 @@ page.title=SMP Primer for Android -page.tags="ndk","native" +page.tags=ndk,native page.article=true @jd:body diff --git a/docs/html/training/backward-compatible-ui/index.jd b/docs/html/training/backward-compatible-ui/index.jd index 4baa55c2b210d..c8b6ecc123010 100644 --- a/docs/html/training/backward-compatible-ui/index.jd +++ b/docs/html/training/backward-compatible-ui/index.jd @@ -1,5 +1,5 @@ page.title=Creating Backward-Compatible UIs -page.tags="widgets","support" +page.tags=widgets,support trainingnavtop=true startpage=true diff --git a/docs/html/training/basics/actionbar/index.jd b/docs/html/training/basics/actionbar/index.jd index f0de75860258b..0303043958a44 100644 --- a/docs/html/training/basics/actionbar/index.jd +++ b/docs/html/training/basics/actionbar/index.jd @@ -1,5 +1,5 @@ page.title=Adding the Action Bar -page.tags="actionbar" +page.tags=actionbar trainingnavtop=true startpage=true diff --git a/docs/html/training/basics/data-storage/index.jd b/docs/html/training/basics/data-storage/index.jd index 4ccad75a2714c..fc0c8b5059635 100644 --- a/docs/html/training/basics/data-storage/index.jd +++ b/docs/html/training/basics/data-storage/index.jd @@ -1,5 +1,5 @@ page.title=Saving Data -page.tags="data storage","files","sql","database","preferences" +page.tags=data storage,files,sql,database,preferences trainingnavtop=true startpage=true diff --git a/docs/html/training/basics/fragments/index.jd b/docs/html/training/basics/fragments/index.jd index 987decf9a9816..e78b694365e74 100644 --- a/docs/html/training/basics/fragments/index.jd +++ b/docs/html/training/basics/fragments/index.jd @@ -1,5 +1,5 @@ page.title=Building a Dynamic UI with Fragments -page.tags="fragments", "user interface", "support library" +page.tags=fragments,user interface,support library trainingnavtop=true startpage=true diff --git a/docs/html/training/basics/fragments/support-lib.jd b/docs/html/training/basics/fragments/support-lib.jd index d949267c1e0fb..1d538afd21199 100644 --- a/docs/html/training/basics/fragments/support-lib.jd +++ b/docs/html/training/basics/fragments/support-lib.jd @@ -1,5 +1,5 @@ page.title=Using the Support Library -page.tags="support library" +page.tags=support library trainingnavtop=true diff --git a/docs/html/training/basics/intents/index.jd b/docs/html/training/basics/intents/index.jd index 59ba11f75b1de..aa0232a2080f2 100644 --- a/docs/html/training/basics/intents/index.jd +++ b/docs/html/training/basics/intents/index.jd @@ -1,5 +1,5 @@ page.title=Interacting with Other Apps -page.tags="intents","activity" +page.tags=intents,activity trainingnavtop=true startpage=true diff --git a/docs/html/training/basics/network-ops/index.jd b/docs/html/training/basics/network-ops/index.jd index cb3a3907d0c68..89ab539b25a3b 100644 --- a/docs/html/training/basics/network-ops/index.jd +++ b/docs/html/training/basics/network-ops/index.jd @@ -1,5 +1,5 @@ page.title=Performing Network Operations -page.tags="network","wireless" +page.tags=network,wireless trainingnavtop=true startpage=true diff --git a/docs/html/training/basics/supporting-devices/index.jd b/docs/html/training/basics/supporting-devices/index.jd index 1e3eb425639d4..6f339f4bcd744 100644 --- a/docs/html/training/basics/supporting-devices/index.jd +++ b/docs/html/training/basics/supporting-devices/index.jd @@ -1,5 +1,5 @@ page.title=Supporting Different Devices -page.tags="resources","screens","versions","localization" +page.tags=resources,screens,versions,localization trainingnavtop=true startpage=true diff --git a/docs/html/training/basics/supporting-devices/languages.jd b/docs/html/training/basics/supporting-devices/languages.jd index 130848e9e9b8f..5a1507c82df75 100644 --- a/docs/html/training/basics/supporting-devices/languages.jd +++ b/docs/html/training/basics/supporting-devices/languages.jd @@ -1,6 +1,6 @@ page.title=Supporting Different Languages parent.title=Supporting Different Devices -page.tags="localizing","localization","resources", "formats", "l10n" +page.tags=localizing,localization,resources,formats,l10n parent.link=index.html trainingnavtop=true diff --git a/docs/html/training/beam-files/index.jd b/docs/html/training/beam-files/index.jd index e4bac2e4577b2..910fa383e0bb2 100644 --- a/docs/html/training/beam-files/index.jd +++ b/docs/html/training/beam-files/index.jd @@ -1,5 +1,5 @@ page.title=Sharing Files with NFC -page.tags="NfcAdapter","Android Beam","share","file transfer" +page.tags=NfcAdapter,Android Beam,share,file transfer trainingnavtop=true startpage=true diff --git a/docs/html/training/camera/index.jd b/docs/html/training/camera/index.jd index d6305d6425526..5560649b8e7a8 100644 --- a/docs/html/training/camera/index.jd +++ b/docs/html/training/camera/index.jd @@ -1,5 +1,5 @@ page.title=Capturing Photos -page.tags="camera","video","picture" +page.tags=camera,video,picture trainingnavtop=true startpage=true diff --git a/docs/html/training/cloudsave/conflict-res.jd b/docs/html/training/cloudsave/conflict-res.jd index 0ff50e2c88cce..73e75dba13e16 100644 --- a/docs/html/training/cloudsave/conflict-res.jd +++ b/docs/html/training/cloudsave/conflict-res.jd @@ -1,5 +1,5 @@ page.title=Resolving Cloud Save Conflicts -page.tags="cloud" +page.tags=cloud page.article=true @jd:body @@ -594,4 +594,4 @@ of coins. In this case, the number of entries in this dictionary may be much mor limited. Depending on your implementation, it might make sense to store the timestamp for when each entry in the dictionary was modified. When you detect that a given entry has not been modified in the last several weeks or months, it is -probably safe to transfer the coins into another entry and delete the old entry.

    \ No newline at end of file +probably safe to transfer the coins into another entry and delete the old entry.

    diff --git a/docs/html/training/cloudsync/index.jd b/docs/html/training/cloudsync/index.jd index 55b275b89983e..eb7df3d641721 100644 --- a/docs/html/training/cloudsync/index.jd +++ b/docs/html/training/cloudsync/index.jd @@ -1,5 +1,5 @@ page.title=Syncing to the Cloud -page.tags="cloud","sync","backup" +page.tags=cloud,sync,backup trainingnavtop=true startpage=true diff --git a/docs/html/training/connect-devices-wirelessly/index.jd b/docs/html/training/connect-devices-wirelessly/index.jd index db79abe6733fe..2da4e380dba9e 100644 --- a/docs/html/training/connect-devices-wirelessly/index.jd +++ b/docs/html/training/connect-devices-wirelessly/index.jd @@ -1,5 +1,5 @@ page.title=Connecting Devices Wirelessly -page.tags="wifi","network","wireless" +page.tags=wifi,network,wireless trainingnavtop=true startpage=true diff --git a/docs/html/training/custom-views/index.jd b/docs/html/training/custom-views/index.jd index 1c09e6604b891..87cd0b0fe8e6d 100644 --- a/docs/html/training/custom-views/index.jd +++ b/docs/html/training/custom-views/index.jd @@ -1,5 +1,5 @@ page.title=Creating Custom Views -page.tags="widgets","ui","layout" +page.tags=widgets,ui,layout trainingnavtop=true startpage=true diff --git a/docs/html/training/displaying-bitmaps/index.jd b/docs/html/training/displaying-bitmaps/index.jd index 1f44fa866096f..552187058660a 100644 --- a/docs/html/training/displaying-bitmaps/index.jd +++ b/docs/html/training/displaying-bitmaps/index.jd @@ -1,5 +1,5 @@ page.title=Displaying Bitmaps Efficiently -page.tags="bitmaps","images","graphics" +page.tags=bitmaps,images,graphics trainingnavtop=true startpage=true diff --git a/docs/html/training/efficient-downloads/index.jd b/docs/html/training/efficient-downloads/index.jd index 2ab93aed06dcc..d9d7ef078a448 100644 --- a/docs/html/training/efficient-downloads/index.jd +++ b/docs/html/training/efficient-downloads/index.jd @@ -1,5 +1,5 @@ page.title=Transferring Data Without Draining the Battery -page.tags="battery","network","wireless" +page.tags=battery,network,wireless trainingnavtop=true startpage=true diff --git a/docs/html/training/enterprise/index.jd b/docs/html/training/enterprise/index.jd index ac1b5658d0e84..2926f71a0e7c1 100644 --- a/docs/html/training/enterprise/index.jd +++ b/docs/html/training/enterprise/index.jd @@ -1,5 +1,5 @@ page.title=Developing for Enterprise -page.tags="policy","privacy" +page.tags=policy,privacy trainingnavtop=true startpage=true diff --git a/docs/html/training/gestures/index.jd b/docs/html/training/gestures/index.jd index 9d21b081f82af..260cfff33073d 100644 --- a/docs/html/training/gestures/index.jd +++ b/docs/html/training/gestures/index.jd @@ -1,5 +1,5 @@ page.title=Using Touch Gestures -page.tags="input","navigation","gesturedetector","scroller" +page.tags=input,navigation,gesturedetector,scroller trainingnavtop=true startpage=true diff --git a/docs/html/training/graphics/opengl/index.jd b/docs/html/training/graphics/opengl/index.jd index cf33d80127e44..3549f9552b2c3 100644 --- a/docs/html/training/graphics/opengl/index.jd +++ b/docs/html/training/graphics/opengl/index.jd @@ -1,5 +1,5 @@ page.title=Displaying Graphics with OpenGL ES -page=tags="open gl","graphics" +page.tags=open gl,graphics trainingnavtop=true @jd:body diff --git a/docs/html/training/id-auth/index.jd b/docs/html/training/id-auth/index.jd index 2bae9c484b58d..f15ee295fa9ca 100644 --- a/docs/html/training/id-auth/index.jd +++ b/docs/html/training/id-auth/index.jd @@ -1,5 +1,5 @@ page.title=Remembering Users -page.tags="privacy","oauth","accounts" +page.tags=privacy,oauth,accounts trainingnavtop=true startpage=true diff --git a/docs/html/training/implementing-navigation/ancestral.jd b/docs/html/training/implementing-navigation/ancestral.jd index 12d5005898663..57251c1484a83 100644 --- a/docs/html/training/implementing-navigation/ancestral.jd +++ b/docs/html/training/implementing-navigation/ancestral.jd @@ -1,5 +1,5 @@ page.title=Providing Up Navigation -page.tags="up navigation","NavUtils","TaskStackBuilder" +page.tags=up navigation,NavUtils,TaskStackBuilder trainingnavtop=true diff --git a/docs/html/training/implementing-navigation/lateral.jd b/docs/html/training/implementing-navigation/lateral.jd index bb9d78c288e22..9c83479c2feae 100644 --- a/docs/html/training/implementing-navigation/lateral.jd +++ b/docs/html/training/implementing-navigation/lateral.jd @@ -1,5 +1,5 @@ page.title=Creating Swipe Views with Tabs -page.tags="viewpager","horizontal","paging","swipe view","tabs" +page.tags=viewpager,horizontal,paging,swipe view,tabs trainingnavtop=true diff --git a/docs/html/training/implementing-navigation/nav-drawer.jd b/docs/html/training/implementing-navigation/nav-drawer.jd index 9a948109ceb41..b9c4873bca838 100644 --- a/docs/html/training/implementing-navigation/nav-drawer.jd +++ b/docs/html/training/implementing-navigation/nav-drawer.jd @@ -1,5 +1,5 @@ page.title=Creating a Navigation Drawer -page.tags="DrawerLayout", "navigation" +page.tags=DrawerLayout,navigation trainingnavtop=true diff --git a/docs/html/training/implementing-navigation/temporal.jd b/docs/html/training/implementing-navigation/temporal.jd index 3abab53fc64f5..e7366483e21be 100644 --- a/docs/html/training/implementing-navigation/temporal.jd +++ b/docs/html/training/implementing-navigation/temporal.jd @@ -1,5 +1,5 @@ page.title=Providing Proper Back Navigation -page.tags="back navigation","NavUtils","TaskStackBuilder" +page.tags=back navigation,NavUtils,TaskStackBuilder trainingnavtop=true diff --git a/docs/html/training/improving-layouts/index.jd b/docs/html/training/improving-layouts/index.jd index af29d3f306674..2f44c30df0497 100644 --- a/docs/html/training/improving-layouts/index.jd +++ b/docs/html/training/improving-layouts/index.jd @@ -1,5 +1,5 @@ page.title=Improving Layout Performance -page.tags="include","merge","viewstub","listview" +page.tags=include,merge,viewstub,listview trainingnavtop=true startpage=true @@ -56,4 +56,4 @@ portions of your layout on demand.
    If you've built an instance of {@link android.widget.ListView} that contains complex or data-heavy content in each list item, the scroll performance of the list might suffer. This lesson provides some tips about how you can make your scrolling performance more smooth.
    - \ No newline at end of file + diff --git a/docs/html/training/in-app-billing/index.jd b/docs/html/training/in-app-billing/index.jd index 94708b84fdd51..4a446f3c07861 100644 --- a/docs/html/training/in-app-billing/index.jd +++ b/docs/html/training/in-app-billing/index.jd @@ -1,5 +1,5 @@ page.title=Selling In-app Products -page.tags="billing" +page.tags=billing trainingnavtop=true startpage=true diff --git a/docs/html/training/keyboard-input/index.jd b/docs/html/training/keyboard-input/index.jd index 7ac79e650db01..46795c4d9f4d2 100644 --- a/docs/html/training/keyboard-input/index.jd +++ b/docs/html/training/keyboard-input/index.jd @@ -1,5 +1,5 @@ page.title=Handling Keyboard Input -page.tags="edittext","accessibility" +page.tags=edittext,accessibility trainingnavtop=true startpage=true @@ -52,4 +52,4 @@ through an attached keyboard.

    Learn how to respond directly to keyboard input for user actions.
    - \ No newline at end of file + diff --git a/docs/html/training/load-data-background/index.jd b/docs/html/training/load-data-background/index.jd index 29108e8eccc1b..e991003c19b84 100644 --- a/docs/html/training/load-data-background/index.jd +++ b/docs/html/training/load-data-background/index.jd @@ -1,5 +1,5 @@ page.title=Loading Data in the Background -page.tags="cursorloader" +page.tags=cursorloader trainingnavtop=true startpage=true diff --git a/docs/html/training/location/index.jd b/docs/html/training/location/index.jd index e03eac666554e..249c42d34c9d9 100644 --- a/docs/html/training/location/index.jd +++ b/docs/html/training/location/index.jd @@ -1,5 +1,5 @@ page.title=Making Your App Location-Aware -page.tags="location","geofence", "geofencing", "activity recognition", "activity detection", "gps" +page.tags=location,geofence,geofencing,activity recognition,activity detection,gps trainingnavtop=true startpage=true diff --git a/docs/html/training/managing-audio/index.jd b/docs/html/training/managing-audio/index.jd index 3e3bcf02d100b..9391449b57e23 100644 --- a/docs/html/training/managing-audio/index.jd +++ b/docs/html/training/managing-audio/index.jd @@ -1,5 +1,5 @@ page.title=Managing Audio Playback -page.tags="audio","media" +page.tags=audio,media trainingnavtop=true startpage=true @@ -58,4 +58,4 @@ respond when that happens.
    Dealing with Audio Output Hardware
    Audio can be played from a number of sources. Learn how to find out where the audio is being played and how to handle a headset being disconnected during playback.
    - \ No newline at end of file + diff --git a/docs/html/training/monitoring-device-state/index.jd b/docs/html/training/monitoring-device-state/index.jd index c3d700a93781e..949c1dab2ccae 100644 --- a/docs/html/training/monitoring-device-state/index.jd +++ b/docs/html/training/monitoring-device-state/index.jd @@ -1,5 +1,5 @@ page.title=Optimizing Battery Life -page.tags="network","internet" +page.tags=network,internet trainingnavtop=true startpage=true @@ -59,4 +59,4 @@ Wi-Fi or mobile connectivity before beginning high-bandwidth operations. those that aren't necessary due to the current device state. Learn to improve efficiency by toggling and cascading state change receivers and delay actions until the device is in a specific state. - \ No newline at end of file + diff --git a/docs/html/training/multiple-apks/index.jd b/docs/html/training/multiple-apks/index.jd index 5754da92bab6d..40a26b95bf826 100644 --- a/docs/html/training/multiple-apks/index.jd +++ b/docs/html/training/multiple-apks/index.jd @@ -1,5 +1,5 @@ page.title=Maintaining Multiple APKs -page.tags="support" +page.tags=support trainingnavtop=true startpage=true diff --git a/docs/html/training/multiple-threads/index.jd b/docs/html/training/multiple-threads/index.jd index cbd42b467af46..136f0af2d892a 100644 --- a/docs/html/training/multiple-threads/index.jd +++ b/docs/html/training/multiple-threads/index.jd @@ -1,5 +1,5 @@ page.title=Sending Operations to Multiple Threads -page.tags="threadpool","runnable" +page.tags=threadpool,runnable trainingnavtop=true startpage=true diff --git a/docs/html/training/multiscreen/index.jd b/docs/html/training/multiscreen/index.jd index 2d34b28707217..45b616147847e 100644 --- a/docs/html/training/multiscreen/index.jd +++ b/docs/html/training/multiscreen/index.jd @@ -1,5 +1,5 @@ page.title=Designing for Multiple Screens -page.tags="tablet","tv","fragments","support" +page.tags=tablet,tv,fragments,support trainingnavtop=true startpage=true diff --git a/docs/html/training/notify-user/index.jd b/docs/html/training/notify-user/index.jd index 51f058fa41721..f7d0f871feafd 100644 --- a/docs/html/training/notify-user/index.jd +++ b/docs/html/training/notify-user/index.jd @@ -1,5 +1,5 @@ page.title=Notifying the User -page.tags="notifications" +page.tags=notifications trainingnavtop=true startpage=true diff --git a/docs/html/training/printing/index.jd b/docs/html/training/printing/index.jd index 7b67b746707b9..5b34a9de997fb 100644 --- a/docs/html/training/printing/index.jd +++ b/docs/html/training/printing/index.jd @@ -1,5 +1,5 @@ page.title=Printing Content -page.tags="print","navigation","gesturedetector","scroller" +page.tags=print,navigation,gesturedetector,scroller trainingnavtop=true startpage=true diff --git a/docs/html/training/run-background-service/index.jd b/docs/html/training/run-background-service/index.jd index 3360df5a3b955..22f3fc875c369 100644 --- a/docs/html/training/run-background-service/index.jd +++ b/docs/html/training/run-background-service/index.jd @@ -1,5 +1,5 @@ page.title=Running in a Background Service -page.tags="intentservice" +page.tags=intentservice trainingnavtop=true startpage=true diff --git a/docs/html/training/scheduling/index.jd b/docs/html/training/scheduling/index.jd index 9ffbc16a2c992..4d2db6042e0a1 100644 --- a/docs/html/training/scheduling/index.jd +++ b/docs/html/training/scheduling/index.jd @@ -1,5 +1,5 @@ page.title=Managing Device Awake State -page.tags="" +page.tags= trainingnavtop=true startpage=true diff --git a/docs/html/training/search/index.jd b/docs/html/training/search/index.jd index 4070372e8ffd7..612e8e88aced2 100644 --- a/docs/html/training/search/index.jd +++ b/docs/html/training/search/index.jd @@ -1,5 +1,5 @@ page.title=Adding Search Functionality -page.tags="searchview","database" +page.tags=searchview,database trainingnavtop=true startpage=true @@ -50,4 +50,4 @@ startpage=true
    Remaining Backward Compatible
    Learn how to keep search features backward compatible with older devices by using.
    - \ No newline at end of file + diff --git a/docs/html/training/secure-file-sharing/index.jd b/docs/html/training/secure-file-sharing/index.jd index aa009fc2caa50..4adc1c07e7e8c 100644 --- a/docs/html/training/secure-file-sharing/index.jd +++ b/docs/html/training/secure-file-sharing/index.jd @@ -1,5 +1,5 @@ page.title=Sharing Files -page.tags="FileProvider","share","ContentProvider" +page.tags=FileProvider,share,ContentProvider trainingnavtop=true startpage=true diff --git a/docs/html/training/sharing/index.jd b/docs/html/training/sharing/index.jd index 06d42fc81887e..58a69fc8734ee 100644 --- a/docs/html/training/sharing/index.jd +++ b/docs/html/training/sharing/index.jd @@ -1,5 +1,5 @@ page.title=Sharing Simple Data -page.tags="intents","share" +page.tags=intents,share trainingnavtop=true startpage=true diff --git a/docs/html/training/system-ui/index.jd b/docs/html/training/system-ui/index.jd index 7135a3d450eb0..d8bb2a523aa9b 100644 --- a/docs/html/training/system-ui/index.jd +++ b/docs/html/training/system-ui/index.jd @@ -1,5 +1,5 @@ page.title=Managing the System UI -page.tags="" +page.tags= trainingnavtop=true startpage=true @@ -87,4 +87,4 @@ bars. so that you can adjust your app's UI accordingly. - \ No newline at end of file + diff --git a/docs/html/training/tv/index.jd b/docs/html/training/tv/index.jd index 9d15f4623b5fb..7c4abc711313d 100644 --- a/docs/html/training/tv/index.jd +++ b/docs/html/training/tv/index.jd @@ -1,5 +1,5 @@ page.title=Designing for TV -page.tags="input","screens" +page.tags=input,screens trainingnavtop=true startpage=true @@ -48,4 +48,4 @@ startpage=true
    Handling features not supported on TV
    Lists the hardware features that are usually not available on TVs. This lesson also shows you how to provide alternatives for missing features or check for missing features and disable code at run time.
    - \ No newline at end of file +