# WARNING: THIS FILE IS NOT USED IN PRODUCTION
# CHANGES MADE HERE **DO NOT EFFECT** developer.android.com

# Instead, update the following file in the current docs release branch:
# <docs-release-branch>/vendor/google/docs/app-engine-server/v3/redirects.yaml

#=============================================================================
# Redirects file.
# This file contains the list of rewrite rules that are applied when serving
# pages. Add "pattern: True" to use python regex in to or from.
#
#   WATCH OUT -- FROM LINE HAS TO START WITH A HYPHEN

redirects:
- from: ^/sdk/android-(.*$)
  to: /about/versions/android-\1
  pattern: True

- from: /about/versions/index.html
  to: /about/index.html

- from: /about/versions/api-levels.html
  to: /guide/topics/manifest/uses-sdk-element.html#ApiLevels

- from: /sdk/adding-components.html
  to: /sdk/exploring.html

- from: /sdk/compatibility-library.html
  to: /tools/support-library/index.html

- from: /training/basics/fragments/support-lib.html
  to: /tools/support-library/setup.html

- from: /sdk/eclipse-adt.html
  to: /tools/sdk/eclipse-adt.html

- from: /sdk/installing.html
  to: /sdk/installing/index.html

- from: /sdk/installing/next.html
  to: /training/basics/firstapp/index.html

- from: /sdk/ndk/overview.html
  to: /tools/sdk/ndk/index.html

- from: /sdk/ndk/...
  to: /tools/sdk/ndk/...

- from: /sdk/oem-usb.html
  to: /tools/extras/oem-usb.html

- from: /sdk/tools-notes.html
  to: /tools/sdk/tools-notes.html

- from: /sdk/requirements.html
  to: /sdk/index.html

# ------------------- GUIDE -------------------

- from: /guide/market/...
  to: /google/play/...

- from: /guide/google/gcm/client-javadoc/...
  to: /reference/com/google/android/gcm/package-summary.html

- from: /guide/google/gcm/server-javadoc/...
  to: /reference/com/google/android/gcm/server/package-summary.html

- from: /google/play-services/auth.html
  to: /google/auth/http-auth.html

- from: /guide/google/play/services.html
  to: /google/play-services/index.html

- from: /guide/google/...
  to: /google/...

- from: /guide/publishing/licensing.html
  to: /google/play/licensing/index.html

- from: /google/play/billing/billing_about.html
  to: /google/play/billing/index.html

- from: /guide/developing/tools/...
  to: /tools/help/...

- from: /guide/developing/...
  to: /tools/...

- from: /tools/aidl.html
  to: /guide/components/aidl.html

- from: /guide/publishing/publishing.html
  to: /distribute/tools/launch-checklist.html

- from: /guide/publishing/...
  to: /tools/publishing/...

- from: /guide/topics/fundamentals.html
  to: /guide/components/fundamentals.html

- from: /guide/topics/intents/intents-filters.html
  to: /guide/components/intents-filters.html

- from: /guide/topics/fundamentals/...
  to: /guide/components/...

- from: /guide/topics/clipboard/copy-paste.html
  to: /guide/topics/text/copy-paste.html

- from: /guide/topics/ui/notifiers/index.html
  to: /guide/topics/ui/notifiers/notifications.html

- from: /guide/topics/wireless/...
  to: /guide/topics/connectivity/...

- from: /guide/topics/drawing/...
  to: /guide/topics/graphics/opengl.html

- from: /guide/topics/connectivity/usb/adk.html
  to: /tools/adk/index.html

- from: /tools/workflow/publishing/versioning.html
  to: /tools/publishing/versioning.html

- from: /tools/workflow/publishing/publishing.html
  to: /tools/publishing/publishing_overview.html

- from: /tools/workflow/publishing_overview.html
  to: /tools/publishing/publishing_overview.html

- from: /tools/workflow/publishing/publishing_overview.html
  to: /tools/publishing/publishing_overview.html

- from: /tools/workflow/app-signing.html
  to: /tools/publishing/app-signing.html

- from: /tools/adk/aoa.html
  to: http://source.android.com/tech/accessories/aoap/aoa.html

- from: /tools/adk/aoa2.html
  to: http://source.android.com/tech/accessories/aoap/aoa2.html

- from: /guide/topics/usb/...
  to: /guide/topics/connectivity/usb/...

- from: /guide/appendix/api-levels.html
  to: /guide/topics/manifest/uses-sdk-element.html#ApiLevels

- from: /guide/appendix/install-location.html
  to: /guide/topics/data/install-location.html

- from: /guide/basics/...
  to: /about/index.html

- from: /guide/topics/security/security.html
  to: /training/articles/security-tips.html

- from: /guide/topics/security/index.html
  to: /training/articles/security-tips.html

- from: /guide/appendix/market-filters.html
  to: /google/play/filters.html

- from: /guide/topics/testing/...
  to: /tools/testing/...

- from: /guide/topics/graphics/animation.html
  to: /guide/topics/graphics/overview.html

- from: /guide/topics/graphics/renderscript.html
  to: /guide/topics/renderscript/index.html

- from: /guide/topics/graphics/renderscript/
  to: /guide/topics/renderscript/index.html

- from: /guide/topics/location/obtaining-user-location.html
  to: /guide/topics/location/strategies.html

- from: /guide/topics/nfc/...
  to: /guide/topics/connectivity/nfc/...

- from: /guide/topics/wireless/...
  to: /guide/topics/connectivity/...

- from: /guide/topics/network/...
  to: /guide/topics/connectivity/...

- from: /resources/articles/creating-input-method.html
  to: /guide/topics/text/creating-input-method.html

- from: /resources/articles/spell-checker-framework.html
  to: /guide/topics/text/spell-checker-framework.html

- from: /resources/tutorials/notepad/...
  to: /training/notepad/...

- from: /resources/faq/...
  to: /guide/faq/...

- from: /resources/tutorials/hello-world.html
  to: /training/basics/firstapp/index.html

# add the rest of the tutorials here

- from: /guide/practices/design/...
  to: /guide/practices/...

- from: /guide/practices/accessibility.html
  to: /guide/topics/ui/accessibility/index.html

# move best practices to training

- from: /guide/practices/app-design/performance.html
  to: /training/articles/perf-tips.html

- from: /guide/practices/performance.html
  to: /training/articles/perf-tips.html

- from: /guide/practices/app-design/responsiveness.html
  to: /training/articles/perf-anr.html

- from: /guide/practices/responsiveness.html
  to: /training/articles/perf-anr.html

- from: /guide/practices/security.html
  to: /training/articles/security-tips.html

- from: /guide/practices/jni.html
  to: /training/articles/perf-jni.html

- from: /guide/tutorials/...
  to: /resources/tutorials/...

# move ui docs to design

- from: /guide/practices/ui_guidelines/index.html
  to: /design/index.html

- from: /guide/practices/ui_guidelines/icon_design.*
  to: /design/style/iconography.html

- from: /guide/practices/ui_guidelines/activity_task_design.html
  to: /design/patterns/app-structure.html

- from: /guide/practices/ui_guidelines/menu_design.html
  to: /design/patterns/actionbar.html


# ------------------- RESOURCES -------------------

- from: /resources/dashboard/...
  to: /about/dashboards/index.html

- from: /resources/community-groups.html
  to: /support.html

- from: /resources/tutorials/views/hello-linearlayout.html
  to: /guide/topics/ui/layout/linear.html

- from: /resources/tutorials/views/hello-relativelayout.html
  to: /guide/topics/ui/layout/relative.html

- from: /resources/tutorials/views/hello-listview.html
  to: /guide/topics/ui/layout/listview.html

- from: /resources/tutorials/views/hello-gridview.html
  to: /guide/topics/ui/layout/gridview.html

- from: /resources/tutorials/views/hello-webview.html
  to: /guide/webapps/webview.html

- from: /resources/tutorials/views/hello-formstuff.html
  to: /guide/topics/ui/controls.html

- from: /resources/tutorials/views/hello-datepicker.html
  to: /guide/topics/ui/controls/pickers.html

- from: /resources/tutorials/views/hello-timepicker.html
  to: /guide/topics/ui/controls/pickers.html

- from: /resources/tutorials/views/hello-autocomplete.html
  to: /guide/topics/ui/controls/text.html

- from: /resources/tutorials/views/hello-spinner.html
  to: /guide/topics/ui/controls/spinner.html

- from: /resources/tutorials/opengl/opengl-es10.html
  to: /training/graphics/opengl/index.html

- from: /resources/tutorials/opengl/opengl-es20.html
  to: /training/graphics/opengl/index.html

- from: /resources/tutorials/views/hello-mapview.html
  to: https://developers.google.com/maps/documentation/android/hello-mapview

- from: /resources/tutorials/views/...
  to: /guide/topics/ui/declaring-layout.html#CommonLayouts

- from: /guide/topics/ui/layout-objects.html
  to: /guide/topics/ui/declaring-layout.html#CommonLayouts

- from: /resources/tutorials/localization/...
  to: /training/basics/supporting-devices/languages.html

- from: /resources/samples/...
  to: /tools/samples/index.html

- from: /guide/
  to: /guide/components/index.html
  # comment: this redirects guide/ and guide/index.html only

# ------------------- TRAINING -------------------

- from: /guide/topics/ui/layout/tabs.html
  to: /training/implementing-navigation/lateral.html

- from: /training/cloudsync/aesync.html
  to: /google/gcm/index.html

- from: /training/basics/location/...
  to: /training/location/...

# -------------------- MISC ----------------------

- from: /shareables/training/BitmapFun.zip
  to: /downloads/samples/DisplayingBitmaps.zip

- from: /shareables/...
  to: http://commondatastorage.googleapis.com/androiddevelopers/shareables/...

- from: /downloads/...
  to: http://commondatastorage.googleapis.com/androiddevelopers/...

- from: /search.html
  to: /index.html

- from: /videos/index.html
  to: /develop/index.html

- from: /live/index.html
  to: https://developers.google.com/live/

# ---------- PLATFORM VERSIONS ----------------

- from: /4.2
  to: /about/versions/android-4.2.html

- from: /4.1
  to: /about/versions/android-4.1.html

- from: /4.0
  to: /about/versions/android-4.0.html

- from: /(j|jb|jellybean)/?$
  to: /about/versions/jelly-bean.html
  pattern: True

- from: /(i|ics|icecreamsandwich)/?$
  to: /about/versions/android-4.0-highlights.html
  pattern: True

- from: /(h|hc|honeycomb)/?$
  to: /about/versions/android-3.0-highlights.html
  pattern: True

- from: /(g|gb|gingerbread)/?$
  to: /about/versions/android-2.3-highlights.html
  pattern: True

# ---------- MISC -----------------

- from: /\+/?$
  to: https://plus.google.com/108967384991768947849/posts
  pattern: True

- from: /blog
  to: http://android-developers.blogspot.com

- from: /stats
  to: /about/dashboards/index.html

- from: /youtube
  to: http://www.youtube.com/user/androiddevelopers

- from: /playbadge
  to: http://developer.android.com/distribute/googleplay/promote/badges.html

- from: /deviceart
  to: http://developer.android.com/distribute/promote/device-art.html

- from: /edu/signup
  to: https://services.google.com/fb/forms/playedu

- from: /edu
  to: /distribute/googleplay/edu/index.html

- from: /preview/google-play-services-wear.html
  to: /training/building-wearables.html