Pushing a whole bunch of metadata updates into prebuilts.

Change-Id: I1b91579b5c9db123de8ef1bc9f2861886c4c934b
diff --git a/prebuilts/gradle/ActionBarCompat-Basic/NOTICE b/prebuilts/gradle/ActionBarCompat-Basic/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/ActionBarCompat-Basic/NOTICE
+++ b/prebuilts/gradle/ActionBarCompat-Basic/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/ActionBarCompat-ListPopupMenu/NOTICE b/prebuilts/gradle/ActionBarCompat-ListPopupMenu/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/ActionBarCompat-ListPopupMenu/NOTICE
+++ b/prebuilts/gradle/ActionBarCompat-ListPopupMenu/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/ActionBarCompat-ShareActionProvider/NOTICE b/prebuilts/gradle/ActionBarCompat-ShareActionProvider/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/ActionBarCompat-ShareActionProvider/NOTICE
+++ b/prebuilts/gradle/ActionBarCompat-ShareActionProvider/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/ActionBarCompat-Styled/NOTICE b/prebuilts/gradle/ActionBarCompat-Styled/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/ActionBarCompat-Styled/NOTICE
+++ b/prebuilts/gradle/ActionBarCompat-Styled/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/ActivityInstrumentation/NOTICE b/prebuilts/gradle/ActivityInstrumentation/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/ActivityInstrumentation/NOTICE
+++ b/prebuilts/gradle/ActivityInstrumentation/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/ActivitySceneTransitionBasic/NOTICE b/prebuilts/gradle/ActivitySceneTransitionBasic/NOTICE
index b88fc15..706d013 100644
--- a/prebuilts/gradle/ActivitySceneTransitionBasic/NOTICE
+++ b/prebuilts/gradle/ActivitySceneTransitionBasic/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/AdapterTransition/NOTICE b/prebuilts/gradle/AdapterTransition/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/AdapterTransition/NOTICE
+++ b/prebuilts/gradle/AdapterTransition/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/AdvancedImmersiveMode/.google/packaging.yaml b/prebuilts/gradle/AdvancedImmersiveMode/.google/packaging.yaml
index 4bb9c0d..7affe1f 100644
--- a/prebuilts/gradle/AdvancedImmersiveMode/.google/packaging.yaml
+++ b/prebuilts/gradle/AdvancedImmersiveMode/.google/packaging.yaml
@@ -5,8 +5,12 @@
 ---
 status:       PUBLISHED
 technologies: [Android]
-categories:   [UI]
+categories:   [Window]
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-AdvancedImmersiveMode
+level:        INTERMEDIATE
+icon:         screenshots/icon-web.png
+apiRefs:
+    - android:android.view.Window
 license: apache2
diff --git a/prebuilts/gradle/AdvancedImmersiveMode/Application/build.gradle b/prebuilts/gradle/AdvancedImmersiveMode/Application/build.gradle
index 76169de..c6b8c26 100644
--- a/prebuilts/gradle/AdvancedImmersiveMode/Application/build.gradle
+++ b/prebuilts/gradle/AdvancedImmersiveMode/Application/build.gradle
@@ -18,6 +18,8 @@
 dependencies {
 
     compile "com.android.support:support-v4:21.0.2"
+    compile "com.android.support:support-v13:21.0.2"
+    compile "com.android.support:cardview-v7:21.0.2"
 
 }
 
@@ -34,7 +36,7 @@
     buildToolsVersion "21.1.1"
 
     defaultConfig {
-        minSdkVersion 4
+        minSdkVersion 19
         targetSdkVersion 21
     }
 
diff --git a/prebuilts/gradle/AdvancedImmersiveMode/NOTICE b/prebuilts/gradle/AdvancedImmersiveMode/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/AdvancedImmersiveMode/NOTICE
+++ b/prebuilts/gradle/AdvancedImmersiveMode/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/AdvancedImmersiveMode/README.md b/prebuilts/gradle/AdvancedImmersiveMode/README.md
index 1319d14..6828c9a 100644
--- a/prebuilts/gradle/AdvancedImmersiveMode/README.md
+++ b/prebuilts/gradle/AdvancedImmersiveMode/README.md
@@ -1,11 +1,27 @@
 Android AdvancedImmersiveMode Sample
 ===================================
 
-\n"Immersive Mode", added in Android 4.4, improves the "hide full screen" and
-"hide nav bar" modes, by letting users swipe the bars in and out.This sample
+Immersive Mode, added in Android 4.4, improves the "hide full screen" and
+"hide nav bar" modes by letting users swipe the bars in and out.  This sample
 lets the user experiment with immersive mode by seeing how it interacts
 with some of the other UI flags related to full-screen apps.
 
+Introduction
+------------
+
+Android 4.4 (API Level 19) introduces a new `SYSTEM_UI_FLAG_IMMERSIVE`
+flag for [setSystemUiVisibility()][1] that lets your app go truly "full
+screen." This flag, when combined with the `SYSTEM_UI_FLAG_HIDE_NAVIGATION` and
+`SYSTEM_UI_FLAG_FULLSCREEN` flags, hides the navigation and status bars
+and lets your app capture all touch events on the screen.
+
+When immersive full-screen mode is enabled, your activity continues
+to receive all touch events. The user can reveal the system bars with
+an inward swipe along the region where the system bars normally
+appear.
+
+[1]: http://developer.android.com/reference/android/view/View.html#setSystemUiVisibility(int)
+
 Pre-requisites
 --------------
 
@@ -13,6 +29,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/immersion.png" height="400" alt="Screenshot"/> <img src="screenshots/leanback.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/AdvancedImmersiveMode/screenshots/icon-web.png b/prebuilts/gradle/AdvancedImmersiveMode/screenshots/icon-web.png
new file mode 100644
index 0000000..fc00d92
--- /dev/null
+++ b/prebuilts/gradle/AdvancedImmersiveMode/screenshots/icon-web.png
Binary files differ
diff --git a/prebuilts/gradle/AdvancedImmersiveMode/screenshots/immersion.png b/prebuilts/gradle/AdvancedImmersiveMode/screenshots/immersion.png
new file mode 100644
index 0000000..a6c310b
--- /dev/null
+++ b/prebuilts/gradle/AdvancedImmersiveMode/screenshots/immersion.png
Binary files differ
diff --git a/prebuilts/gradle/AgendaData/NOTICE b/prebuilts/gradle/AgendaData/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/AgendaData/NOTICE
+++ b/prebuilts/gradle/AgendaData/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/AppRestrictionEnforcer/NOTICE b/prebuilts/gradle/AppRestrictionEnforcer/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/AppRestrictionEnforcer/NOTICE
+++ b/prebuilts/gradle/AppRestrictionEnforcer/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/AppRestrictionSchema/NOTICE b/prebuilts/gradle/AppRestrictionSchema/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/AppRestrictionSchema/NOTICE
+++ b/prebuilts/gradle/AppRestrictionSchema/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/AppRestrictions/NOTICE b/prebuilts/gradle/AppRestrictions/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/AppRestrictions/NOTICE
+++ b/prebuilts/gradle/AppRestrictions/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/AppUsageStatistics/Application/src/main/java/com/example/android/appusagestatistics/AppUsageStatisticsFragment.java b/prebuilts/gradle/AppUsageStatistics/Application/src/main/java/com/example/android/appusagestatistics/AppUsageStatisticsFragment.java
index 50a72e7..9f54d02 100644
--- a/prebuilts/gradle/AppUsageStatistics/Application/src/main/java/com/example/android/appusagestatistics/AppUsageStatisticsFragment.java
+++ b/prebuilts/gradle/AppUsageStatistics/Application/src/main/java/com/example/android/appusagestatistics/AppUsageStatisticsFragment.java
@@ -108,8 +108,9 @@
 
             @Override
             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
-                StatsUsageInterval statsUsageInterval = StatsUsageInterval.getValue(strings[position]);
-                if (statsUsageInterval != null ) {
+                StatsUsageInterval statsUsageInterval = StatsUsageInterval
+                        .getValue(strings[position]);
+                if (statsUsageInterval != null) {
                     List<UsageStats> usageStatsList =
                             getUsageStatistics(statsUsageInterval.mInterval);
                     Collections.sort(usageStatsList, new LastTimeLaunchedComparatorDesc());
@@ -121,17 +122,18 @@
             public void onNothingSelected(AdapterView<?> parent) {
             }
         });
-        getUsageStatistics(UsageStatsManager.INTERVAL_DAILY);
     }
 
     /**
-     * Returns the {@link #mRecyclerView} sorted by the timestamp of the last time used
-     * including the time span specified by the intervalType argument.
+     * Returns the {@link #mRecyclerView} including the time span specified by the
+     * intervalType argument.
      *
      * @param intervalType The time interval by which the stats are aggregated.
      *                     Corresponding to the value of {@link UsageStatsManager}.
      *                     E.g. {@link UsageStatsManager#INTERVAL_DAILY}, {@link
      *                     UsageStatsManager#INTERVAL_WEEKLY},
+     *
+     * @return A list of {@link android.app.usage.UsageStats}.
      */
     public List<UsageStats> getUsageStatistics(int intervalType) {
         // Get the app statistics since one year ago from the current time.
@@ -164,6 +166,7 @@
      * @param usageStatsList A list of {@link UsageStats} from which update the
      *                       {@link #mRecyclerView}.
      */
+    //VisibleForTesting
     void updateAppsList(List<UsageStats> usageStatsList) {
         List<CustomUsageStats> customUsageStatsList = new ArrayList<>();
         for (int i = 0; i < usageStatsList.size(); i++) {
diff --git a/prebuilts/gradle/AppUsageStatistics/Application/src/main/res/values/strings.xml b/prebuilts/gradle/AppUsageStatistics/Application/src/main/res/values/strings.xml
index 2caaf90..df769b5 100644
--- a/prebuilts/gradle/AppUsageStatistics/Application/src/main/res/values/strings.xml
+++ b/prebuilts/gradle/AppUsageStatistics/Application/src/main/res/values/strings.xml
@@ -19,7 +19,7 @@
     <string name="last_time_used">"Last time used: "</string>
     <string name="time_span">"Time span: "</string>
     <string name="explanation_access_to_appusage_is_not_enabled">Failed to retrieve app usage
-        statistics. You may need to enable access "
-        + "for this app through Settings > Security > Apps with usage access
+        statistics. You may need to enable access
+        for this app through Settings > Security > Apps with usage access
     </string>
 </resources>
diff --git a/prebuilts/gradle/AppUsageStatistics/NOTICE b/prebuilts/gradle/AppUsageStatistics/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/AppUsageStatistics/NOTICE
+++ b/prebuilts/gradle/AppUsageStatistics/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicAccessibility/NOTICE b/prebuilts/gradle/BasicAccessibility/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicAccessibility/NOTICE
+++ b/prebuilts/gradle/BasicAccessibility/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicAndroidKeyStore/NOTICE b/prebuilts/gradle/BasicAndroidKeyStore/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicAndroidKeyStore/NOTICE
+++ b/prebuilts/gradle/BasicAndroidKeyStore/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicContactables/NOTICE b/prebuilts/gradle/BasicContactables/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicContactables/NOTICE
+++ b/prebuilts/gradle/BasicContactables/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicGestureDetect/NOTICE b/prebuilts/gradle/BasicGestureDetect/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicGestureDetect/NOTICE
+++ b/prebuilts/gradle/BasicGestureDetect/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicImmersiveMode/.google/packaging.yaml b/prebuilts/gradle/BasicImmersiveMode/.google/packaging.yaml
index 5423cc5..bb705e2 100644
--- a/prebuilts/gradle/BasicImmersiveMode/.google/packaging.yaml
+++ b/prebuilts/gradle/BasicImmersiveMode/.google/packaging.yaml
@@ -9,4 +9,9 @@
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-BasicImmersiveMode
+level:        INTERMEDIATE
+icon:         screenshots/big_icon.png
+apiRefs:
+    - android:android.view.View
+    - android:android.view.View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
 license: apache2
diff --git a/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-hdpi/ic_launcher.png b/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-hdpi/ic_launcher.png
index b1efaf4..63dfb38 100644
--- a/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-hdpi/ic_launcher.png
+++ b/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-mdpi/ic_launcher.png b/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-mdpi/ic_launcher.png
index f5f9244..f7c06d0 100644
--- a/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-mdpi/ic_launcher.png
+++ b/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-xhdpi/ic_launcher.png b/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-xhdpi/ic_launcher.png
index 5d07b3f..22d9247 100644
--- a/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-xhdpi/ic_launcher.png
+++ b/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-xhdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-xxhdpi/ic_launcher.png b/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-xxhdpi/ic_launcher.png
index 6ef21e1..4c4c037 100644
--- a/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-xxhdpi/ic_launcher.png
+++ b/prebuilts/gradle/BasicImmersiveMode/Application/src/main/res/drawable-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/BasicImmersiveMode/NOTICE b/prebuilts/gradle/BasicImmersiveMode/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicImmersiveMode/NOTICE
+++ b/prebuilts/gradle/BasicImmersiveMode/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicImmersiveMode/README.md b/prebuilts/gradle/BasicImmersiveMode/README.md
index 303530d..87ec7b8 100644
--- a/prebuilts/gradle/BasicImmersiveMode/README.md
+++ b/prebuilts/gradle/BasicImmersiveMode/README.md
@@ -1,9 +1,19 @@
 Android BasicImmersiveMode Sample
 ===================================
 
-"Immersive Mode" is a new UI mode which improves "hide full screen" and
-"hide nav bar" modes, by letting users swipe the bars in and out.This sample
-demonstrates how to enable and disable immersive mode programmatically.
+Sample demonstrating the use of immersive mode to hide the system and navigation bars for
+full screen applications.
+
+Introduction
+------------
+
+'Immersive Mode' is a new UI mode which improves 'hide full screen' and 'hide nav bar' 
+modes, by letting users swipe the bars in and out.
+
+This sample demonstrates how to enable and disable immersive mode programmatically.
+
+Immersive mode was introduced in Android 4.4 (Api Level 19). It is toggled using the 
+SYSTEM_UI_FLAG_IMMERSIVE system ui flag. When combined with the SYSTEM_UI_FLAG_HIDE_NAVIGATION and SYSTEM_UI_FLAG_FULLSCREEN  flags, hides the navigation and status bars and lets your app capture all touch events on the screen.
 
 Pre-requisites
 --------------
@@ -12,6 +22,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/1-activity.png" height="400" alt="Screenshot"/> <img src="screenshots/2-immersive.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/BasicImmersiveMode/screenshots/1-activity.png b/prebuilts/gradle/BasicImmersiveMode/screenshots/1-activity.png
new file mode 100644
index 0000000..c7bfeca
--- /dev/null
+++ b/prebuilts/gradle/BasicImmersiveMode/screenshots/1-activity.png
Binary files differ
diff --git a/prebuilts/gradle/BasicImmersiveMode/screenshots/2-immersive.png b/prebuilts/gradle/BasicImmersiveMode/screenshots/2-immersive.png
new file mode 100644
index 0000000..61cef5c
--- /dev/null
+++ b/prebuilts/gradle/BasicImmersiveMode/screenshots/2-immersive.png
Binary files differ
diff --git a/prebuilts/gradle/BasicImmersiveMode/screenshots/big_icon.png b/prebuilts/gradle/BasicImmersiveMode/screenshots/big_icon.png
new file mode 100644
index 0000000..f8e74be
--- /dev/null
+++ b/prebuilts/gradle/BasicImmersiveMode/screenshots/big_icon.png
Binary files differ
diff --git a/prebuilts/gradle/BasicManagedProfile/NOTICE b/prebuilts/gradle/BasicManagedProfile/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicManagedProfile/NOTICE
+++ b/prebuilts/gradle/BasicManagedProfile/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicMediaDecoder/NOTICE b/prebuilts/gradle/BasicMediaDecoder/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicMediaDecoder/NOTICE
+++ b/prebuilts/gradle/BasicMediaDecoder/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicMediaRouter/NOTICE b/prebuilts/gradle/BasicMediaRouter/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicMediaRouter/NOTICE
+++ b/prebuilts/gradle/BasicMediaRouter/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicMultitouch/.google/packaging.yaml b/prebuilts/gradle/BasicMultitouch/.google/packaging.yaml
index ecee2f8..6e35061 100644
--- a/prebuilts/gradle/BasicMultitouch/.google/packaging.yaml
+++ b/prebuilts/gradle/BasicMultitouch/.google/packaging.yaml
@@ -5,8 +5,12 @@
 ---
 status:       PUBLISHED
 technologies: [Android]
-categories:   [Input]
+categories:   [UI, Views, Input]
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-BasicMultitouch
+level:        INTERMEDIATE
+icon:         screenshots/icon-web.png
+apiRefs:
+    - android:android.view.MotionEvent
 license: apache2
diff --git a/prebuilts/gradle/BasicMultitouch/Application/src/main/res/values/base-strings.xml b/prebuilts/gradle/BasicMultitouch/Application/src/main/res/values/base-strings.xml
index 9079d1e..a5ab6f5 100644
--- a/prebuilts/gradle/BasicMultitouch/Application/src/main/res/values/base-strings.xml
+++ b/prebuilts/gradle/BasicMultitouch/Application/src/main/res/values/base-strings.xml
@@ -20,10 +20,10 @@
         <![CDATA[
         
             
-This samples demonstrates the use of MotionEvent properties to keep track of individual touches
+This sample demonstrates the use of MotionEvent properties to keep track of individual touches
 across multiple touch events.
 \n\nTouch the screen with multiple fingers to show that the pointer id
-(also represented by a colour) does not change as new touch events are received.</string>
+(also represented by a color) does not change as new touch events are received.
             
         
         ]]>
diff --git a/prebuilts/gradle/BasicMultitouch/NOTICE b/prebuilts/gradle/BasicMultitouch/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicMultitouch/NOTICE
+++ b/prebuilts/gradle/BasicMultitouch/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicMultitouch/README.md b/prebuilts/gradle/BasicMultitouch/README.md
index c387a6d..0f82d3d 100644
--- a/prebuilts/gradle/BasicMultitouch/README.md
+++ b/prebuilts/gradle/BasicMultitouch/README.md
@@ -1,11 +1,29 @@
 Android BasicMultitouch Sample
 ===================================
 
-This samples demonstrates the use of MotionEvent properties to keep track of individual touches
-across multiple touch events.
+Sample demonstrates the use of [MotionEvent][1] properties to keep track of
+individual touches across multiple touch events.
 
-Touch the screen with multiple fingers to show that the pointer id
-(also represented by a colour) does not change as new touch events are received.</string>
+[1]: http://developer.android.com/reference/android/view/MotionEvent.html
+
+Introduction
+------------
+
+This is an example of keeping track of individual touches across multiple
+[MotionEvent][1]s.
+
+This sample uses a custom View (`TouchDisplayView`) that responds to
+touch events and draws a colored circle for each touch point. The view holds
+data related to a touch pointer, including its current position, pressure,
+and its past touch history.
+
+The View draws graphics based on data associated with each touch event to a
+canvas. A large circle indicates the current position of a touch, while smaller
+trailing circles represent previous positions for that touch.
+The size of the large circle is scaled depending on the pressure of the user's
+touch.
+
+[1]: http://developer.android.com/reference/android/view/MotionEvent.html
 
 Pre-requisites
 --------------
@@ -14,6 +32,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/intro.png" height="400" alt="Screenshot"/> <img src="screenshots/touches.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/BasicMultitouch/screenshots/icon-web.png b/prebuilts/gradle/BasicMultitouch/screenshots/icon-web.png
new file mode 100644
index 0000000..2f5f709
--- /dev/null
+++ b/prebuilts/gradle/BasicMultitouch/screenshots/icon-web.png
Binary files differ
diff --git a/prebuilts/gradle/BasicMultitouch/screenshots/intro.png b/prebuilts/gradle/BasicMultitouch/screenshots/intro.png
new file mode 100644
index 0000000..4d1f535
--- /dev/null
+++ b/prebuilts/gradle/BasicMultitouch/screenshots/intro.png
Binary files differ
diff --git a/prebuilts/gradle/BasicMultitouch/screenshots/touches.png b/prebuilts/gradle/BasicMultitouch/screenshots/touches.png
new file mode 100644
index 0000000..a771887
--- /dev/null
+++ b/prebuilts/gradle/BasicMultitouch/screenshots/touches.png
Binary files differ
diff --git a/prebuilts/gradle/BasicNetworking/NOTICE b/prebuilts/gradle/BasicNetworking/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicNetworking/NOTICE
+++ b/prebuilts/gradle/BasicNetworking/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicNotifications/NOTICE b/prebuilts/gradle/BasicNotifications/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicNotifications/NOTICE
+++ b/prebuilts/gradle/BasicNotifications/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicRenderScript/.google/packaging.yaml b/prebuilts/gradle/BasicRenderScript/.google/packaging.yaml
index 53cd2c7..ed032b3 100644
--- a/prebuilts/gradle/BasicRenderScript/.google/packaging.yaml
+++ b/prebuilts/gradle/BasicRenderScript/.google/packaging.yaml
@@ -9,4 +9,9 @@
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-BasicRenderScript
+level:        EXPERT
+icon:         screenshots/icon-web.png
+apiRefs:
+    - android:android.renderscript.RenderScript
+    - android:android.renderscript.Allocation
 license: apache2
diff --git a/prebuilts/gradle/BasicRenderScript/Application/src/main/res/values/base-strings.xml b/prebuilts/gradle/BasicRenderScript/Application/src/main/res/values/base-strings.xml
index 36c7015..38f5f97 100644
--- a/prebuilts/gradle/BasicRenderScript/Application/src/main/res/values/base-strings.xml
+++ b/prebuilts/gradle/BasicRenderScript/Application/src/main/res/values/base-strings.xml
@@ -20,8 +20,9 @@
         <![CDATA[
         
             
-            BasicRenderScript sample demonstrates basic steps how to use renderScript.
-			In the sample, it performs graphical filter operation on a image with renderScript.
+            This sample demonstrates using RenderScript to perform basic image manipulation. Specifically, it allows users
+            to dynamically adjust the saturation for an image using a slider. A custom RenderScript kernel performs the saturation
+            adjustment, running the computation on the device's GPU or other compute hardware as deemed appropriate by the system.
             
         
         ]]>
diff --git a/prebuilts/gradle/BasicRenderScript/NOTICE b/prebuilts/gradle/BasicRenderScript/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicRenderScript/NOTICE
+++ b/prebuilts/gradle/BasicRenderScript/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicRenderScript/README.md b/prebuilts/gradle/BasicRenderScript/README.md
index 3ecc406..e41f278 100644
--- a/prebuilts/gradle/BasicRenderScript/README.md
+++ b/prebuilts/gradle/BasicRenderScript/README.md
@@ -1,8 +1,28 @@
 Android BasicRenderScript Sample
 ===================================
 
-BasicRenderScript sample demonstrates basic steps how to use renderScript.
-In the sample, it performs graphical filter operation on a image with renderScript.
+This sample demonstrates using RenderScript to perform basic image manipulation. Specifically, it allows users
+to dynamically adjust the saturation for an image using a slider. A custom RenderScript kernel performs the saturation
+adjustment, running the computation on the device's GPU or other compute hardware as deemed appropriate by the system.
+
+Introduction
+------------
+
+[RenderScript][1] is a framework for running computationally intensive tasks at high performance on Android. RenderScript is
+primarily oriented for use with data-parallel computation, although serial computationally intensive workloads can
+benefit as well.
+
+The RenderScript runtime will parallelize work across all processors available on a device, such as multi-core CPUs,
+GPUs, or DSPs, allowing you to focus on expressing algorithms rather than scheduling work or load balancing.
+RenderScript is especially useful for applications performing image processing, computational photography, or computer
+vision.
+
+This sample demonstrates the fundamentals of writing a RenderScript compute kernel, and using it to perform basic image
+manipulation. In this case, each pixel is transformed based on a liner interpolation between its original
+RGB value and it's luminance (black-and-white) value, weighted based on the user's specified saturation target.
+
+[1]: http://developer.android.com/guide/topics/renderscript/compute.html
+[2]: http://developer.android.com/reference/renderscript/rs__cl_8rsh.html#a254612a612ff7539b01a1478e03d8697
 
 Pre-requisites
 --------------
@@ -11,6 +31,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/main.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/BasicRenderScript/screenshots/icon-web.png b/prebuilts/gradle/BasicRenderScript/screenshots/icon-web.png
new file mode 100644
index 0000000..eb47ea1
--- /dev/null
+++ b/prebuilts/gradle/BasicRenderScript/screenshots/icon-web.png
Binary files differ
diff --git a/prebuilts/gradle/BasicRenderScript/screenshots/main.png b/prebuilts/gradle/BasicRenderScript/screenshots/main.png
new file mode 100644
index 0000000..a9f2a72
--- /dev/null
+++ b/prebuilts/gradle/BasicRenderScript/screenshots/main.png
Binary files differ
diff --git a/prebuilts/gradle/BasicSyncAdapter/NOTICE b/prebuilts/gradle/BasicSyncAdapter/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicSyncAdapter/NOTICE
+++ b/prebuilts/gradle/BasicSyncAdapter/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BasicTransition/NOTICE b/prebuilts/gradle/BasicTransition/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BasicTransition/NOTICE
+++ b/prebuilts/gradle/BasicTransition/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BatchStepSensor/NOTICE b/prebuilts/gradle/BatchStepSensor/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BatchStepSensor/NOTICE
+++ b/prebuilts/gradle/BatchStepSensor/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BluetoothChat/.google/packaging.yaml b/prebuilts/gradle/BluetoothChat/.google/packaging.yaml
index 9768c65..810891f 100644
--- a/prebuilts/gradle/BluetoothChat/.google/packaging.yaml
+++ b/prebuilts/gradle/BluetoothChat/.google/packaging.yaml
@@ -9,4 +9,11 @@
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-BluetoothChat
+level:        ADVANCED
+icon:         screenshots/icon-web.png
+apiRefs:
+    - android:android.bluetooth.BluetoothAdapter
+    - android:android.bluetooth.BluetoothDevice
+    - android:android.bluetooth.BluetoothServerSocket
+    - android:android.bluetooth.BluetoothSocket
 license: apache2
diff --git a/prebuilts/gradle/BluetoothChat/NOTICE b/prebuilts/gradle/BluetoothChat/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BluetoothChat/NOTICE
+++ b/prebuilts/gradle/BluetoothChat/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BluetoothChat/README.md b/prebuilts/gradle/BluetoothChat/README.md
index 7a5a7fb..9467517 100644
--- a/prebuilts/gradle/BluetoothChat/README.md
+++ b/prebuilts/gradle/BluetoothChat/README.md
@@ -1,13 +1,32 @@
 Android BluetoothChat Sample
 ===================================
 
-This application allows two Android devices to carry out two-way text chat over
-Bluetooth. It demonstrates all the fundamental Bluetooth API capabilites, such as:
-(1) Scanning for other Bluetooth devices
-(2) Querying the local Bluetooth adapter for paired Bluetooth devices
-(3) Establishing RFCOMM channels/sockets
-(4) Connecting to a remote device
-(5) Transfering data over Bluetooth
+This sample shows how to implement two-way text chat over Bluetooth between two Android devices, using
+all the fundamental Bluetooth API capabilities.
+
+Introduction
+------------
+
+This sample should be run on two Android devices at the same time, to establish a two-way chat over
+Bluetooth between the devices. Select "Made discoverable" in overflow menu on one device and click
+on the Bluetooth icon on the other one, to find the device and establish the connection.
+
+The sample demonstrates the following, using the [Bluetooth API][1]:
+
+1. [Setting up][2] Bluetooth
+2. [Scanning][3] for other Bluetooth devices
+3. [Querying][4] the local Bluetooth adapter for paired Bluetooth devices
+4. [Establishing RFCOMM][5] channels/sockets
+5. [Connecting][6] to a remote device
+6. [Transfering][7] data over Bluetooth
+
+[1]: http://developer.android.com/guide/topics/connectivity/bluetooth.html
+[2]: http://developer.android.com/guide/topics/connectivity/bluetooth.html#Permissions
+[3]: http://developer.android.com/guide/topics/connectivity/bluetooth.html#FindingDevices
+[4]: http://developer.android.com/guide/topics/connectivity/bluetooth.html#QueryingPairedDevices
+[5]: http://developer.android.com/guide/topics/connectivity/bluetooth.html#ConnectingDevices
+[6]: http://developer.android.com/guide/topics/connectivity/bluetooth.html#ConnectingAsAClient
+[7]: http://developer.android.com/guide/topics/connectivity/bluetooth.html#ManagingAConnection
 
 Pre-requisites
 --------------
@@ -16,6 +35,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/1-launch.png" height="400" alt="Screenshot"/> <img src="screenshots/2-devices.png" height="400" alt="Screenshot"/> <img src="screenshots/3-chat.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/BluetoothChat/screenshots/1-launch.png b/prebuilts/gradle/BluetoothChat/screenshots/1-launch.png
new file mode 100644
index 0000000..6b6741e
--- /dev/null
+++ b/prebuilts/gradle/BluetoothChat/screenshots/1-launch.png
Binary files differ
diff --git a/prebuilts/gradle/BluetoothChat/screenshots/2-devices.png b/prebuilts/gradle/BluetoothChat/screenshots/2-devices.png
new file mode 100644
index 0000000..db31dc0
--- /dev/null
+++ b/prebuilts/gradle/BluetoothChat/screenshots/2-devices.png
Binary files differ
diff --git a/prebuilts/gradle/BluetoothChat/screenshots/3-chat.png b/prebuilts/gradle/BluetoothChat/screenshots/3-chat.png
new file mode 100644
index 0000000..65830e8
--- /dev/null
+++ b/prebuilts/gradle/BluetoothChat/screenshots/3-chat.png
Binary files differ
diff --git a/prebuilts/gradle/BluetoothChat/screenshots/icon-web.png b/prebuilts/gradle/BluetoothChat/screenshots/icon-web.png
new file mode 100644
index 0000000..737f347
--- /dev/null
+++ b/prebuilts/gradle/BluetoothChat/screenshots/icon-web.png
Binary files differ
diff --git a/prebuilts/gradle/BluetoothLeGatt/NOTICE b/prebuilts/gradle/BluetoothLeGatt/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BluetoothLeGatt/NOTICE
+++ b/prebuilts/gradle/BluetoothLeGatt/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BorderlessButtons/.google/packaging.yaml b/prebuilts/gradle/BorderlessButtons/.google/packaging.yaml
index 789aa79..023cb4f 100644
--- a/prebuilts/gradle/BorderlessButtons/.google/packaging.yaml
+++ b/prebuilts/gradle/BorderlessButtons/.google/packaging.yaml
@@ -5,8 +5,14 @@
 ---
 status:       PUBLISHED
 technologies: [Android]
-categories:   [UI]
+categories:   [Design, UI]
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-BorderlessButtons
+level:        INTERMEDIATE
+icon:         screenshots/big_icon.png
+apiRefs:
+    - android:android.widget.Button
+    - android:android.widget.ListView
+    - android:android.app.ListActivity
 license: apache2
diff --git a/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-hdpi/ic_launcher.png b/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-hdpi/ic_launcher.png
index b1efaf4..bb97e43 100644
--- a/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-hdpi/ic_launcher.png
+++ b/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-mdpi/ic_launcher.png b/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-mdpi/ic_launcher.png
index f5f9244..4ee8ad3 100644
--- a/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-mdpi/ic_launcher.png
+++ b/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-xhdpi/ic_launcher.png b/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-xhdpi/ic_launcher.png
index 5d07b3f..b3b78e9 100644
--- a/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-xhdpi/ic_launcher.png
+++ b/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-xhdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-xxhdpi/ic_launcher.png b/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-xxhdpi/ic_launcher.png
index 6ef21e1..82a4165 100644
--- a/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-xxhdpi/ic_launcher.png
+++ b/prebuilts/gradle/BorderlessButtons/Application/src/main/res/drawable-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/BorderlessButtons/NOTICE b/prebuilts/gradle/BorderlessButtons/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/BorderlessButtons/NOTICE
+++ b/prebuilts/gradle/BorderlessButtons/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/BorderlessButtons/README.md b/prebuilts/gradle/BorderlessButtons/README.md
index a8e7091..3177580 100644
--- a/prebuilts/gradle/BorderlessButtons/README.md
+++ b/prebuilts/gradle/BorderlessButtons/README.md
@@ -1,8 +1,24 @@
 Android BorderlessButtons Sample
 ===================================
 
-This sample demonstrates the use of borderless buttons, bottom button bars
-(OK and Cancel) and dividers to establish visual structure.
+This sample demonstrates the borderless button styling from the Holo visual language.
+Styling is applied in the XML resource layout definitions, referecing the styling attributes
+from the Holo theme.
+
+Introduction
+------------
+
+This sample shows how to style widgets in an Activity using [borderless elements][1].
+This includes a ListView with custom rows and buttons, using dividing lines to create
+visual separatation.
+
+Style definitions are provided by the Holo theme, which includes references to the 
+'?android:buttonBarButtonStyle' for buttons and references to the appropriate divider 
+attribute and style 'android:dividerVertical'.
+
+Styles are directly applied to widgets in their XML layout definitions.
+
+[1]: http://developer.android.com/design/building-blocks/buttons.html#borderless
 
 Pre-requisites
 --------------
@@ -11,6 +27,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/1-activity.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/BorderlessButtons/screenshots/1-activity.png.png b/prebuilts/gradle/BorderlessButtons/screenshots/1-activity.png.png
new file mode 100644
index 0000000..6b85b13
--- /dev/null
+++ b/prebuilts/gradle/BorderlessButtons/screenshots/1-activity.png.png
Binary files differ
diff --git a/prebuilts/gradle/BorderlessButtons/screenshots/big_icon.png b/prebuilts/gradle/BorderlessButtons/screenshots/big_icon.png
new file mode 100644
index 0000000..b0fae79
--- /dev/null
+++ b/prebuilts/gradle/BorderlessButtons/screenshots/big_icon.png
Binary files differ
diff --git a/prebuilts/gradle/Camera2Basic/Application/src/main/java/com/example/android/camera2basic/Camera2BasicFragment.java b/prebuilts/gradle/Camera2Basic/Application/src/main/java/com/example/android/camera2basic/Camera2BasicFragment.java
index 4b55358..2414ed6 100644
--- a/prebuilts/gradle/Camera2Basic/Application/src/main/java/com/example/android/camera2basic/Camera2BasicFragment.java
+++ b/prebuilts/gradle/Camera2Basic/Application/src/main/java/com/example/android/camera2basic/Camera2BasicFragment.java
@@ -43,6 +43,7 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.HandlerThread;
+import android.os.Message;
 import android.util.Log;
 import android.util.Size;
 import android.util.SparseIntArray;
@@ -315,6 +316,32 @@
     };
 
     /**
+     * A {@link Handler} for showing {@link Toast}s.
+     */
+    private Handler mMessageHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            Activity activity = getActivity();
+            if (activity != null) {
+                Toast.makeText(activity, (String) msg.obj, Toast.LENGTH_SHORT).show();
+            }
+        }
+    };
+
+    /**
+     * Shows a {@link Toast} on the UI thread.
+     *
+     * @param text The message to show
+     */
+    private void showToast(String text) {
+        // We show a Toast by sending request message to mMessageHandler. This makes sure that the
+        // Toast is shown on the UI thread.
+        Message message = Message.obtain();
+        message.obj = text;
+        mMessageHandler.sendMessage(message);
+    }
+
+    /**
      * Given {@code choices} of {@code Size}s supported by a camera, chooses the smallest one whose
      * width and height are at least as large as the respective requested values, and whose aspect
      * ratio matches with the specified value.
@@ -573,10 +600,7 @@
 
                         @Override
                         public void onConfigureFailed(CameraCaptureSession cameraCaptureSession) {
-                            Activity activity = getActivity();
-                            if (null != activity) {
-                                Toast.makeText(activity, "Failed", Toast.LENGTH_SHORT).show();
-                            }
+                            showToast("Failed");
                         }
                     }, null
             );
@@ -689,7 +713,7 @@
                 @Override
                 public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request,
                                                TotalCaptureResult result) {
-                    Toast.makeText(getActivity(), "Saved: " + mFile, Toast.LENGTH_SHORT).show();
+                    showToast("Saved: " + mFile);
                     unlockFocus();
                 }
             };
diff --git a/prebuilts/gradle/Camera2Basic/NOTICE b/prebuilts/gradle/Camera2Basic/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/Camera2Basic/NOTICE
+++ b/prebuilts/gradle/Camera2Basic/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/Camera2Video/NOTICE b/prebuilts/gradle/Camera2Video/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/Camera2Video/NOTICE
+++ b/prebuilts/gradle/Camera2Video/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/CardEmulation/NOTICE b/prebuilts/gradle/CardEmulation/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/CardEmulation/NOTICE
+++ b/prebuilts/gradle/CardEmulation/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/CardReader/NOTICE b/prebuilts/gradle/CardReader/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/CardReader/NOTICE
+++ b/prebuilts/gradle/CardReader/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/CardView/NOTICE b/prebuilts/gradle/CardView/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/CardView/NOTICE
+++ b/prebuilts/gradle/CardView/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/ClippingBasic/NOTICE b/prebuilts/gradle/ClippingBasic/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/ClippingBasic/NOTICE
+++ b/prebuilts/gradle/ClippingBasic/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/CustomChoiceList/.google/packaging.yaml b/prebuilts/gradle/CustomChoiceList/.google/packaging.yaml
index e6eae45..e3fdbbf 100644
--- a/prebuilts/gradle/CustomChoiceList/.google/packaging.yaml
+++ b/prebuilts/gradle/CustomChoiceList/.google/packaging.yaml
@@ -5,8 +5,13 @@
 ---
 status:       PUBLISHED
 technologies: [Android]
-categories:   [UI]
+categories:   [Widgets]
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-CustomChoiceList
+level:        BEGINNER
+icon:         screenshots/icon-web.png
+apiRefs:
+    - android:android.widget.Checkable
+    - android:android.widget.ListView
 license: apache2
diff --git a/prebuilts/gradle/CustomChoiceList/NOTICE b/prebuilts/gradle/CustomChoiceList/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/CustomChoiceList/NOTICE
+++ b/prebuilts/gradle/CustomChoiceList/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/CustomChoiceList/README.md b/prebuilts/gradle/CustomChoiceList/README.md
index 2813e90..df7f8a7 100644
--- a/prebuilts/gradle/CustomChoiceList/README.md
+++ b/prebuilts/gradle/CustomChoiceList/README.md
@@ -4,6 +4,39 @@
 This sample demonstrates how to create custom checkable layouts, for use with ListView's choiceMode
 attribute.
 
+Introduction
+------------
+
+This sample demonstrates how to create custom single- or multi-choice [ListView][1] UIs on Android.
+
+When a ListView has a `android:choiceMode` attribute set, it will allow users to "choose" one or more items. For
+exmaple, refer to `res/layout/sample_main.xml` in this project:
+
+```xml
+<ListView android:id="@android:id/list"
+    android:layout_width="match_parent"
+    android:layout_height="0dp"
+    android:layout_weight="1"
+    android:paddingLeft="@dimen/page_margin"
+    android:paddingRight="@dimen/page_margin"
+    android:scrollbarStyle="outsideOverlay"
+    android:choiceMode="multipleChoice" />
+```
+
+The framework provides these default list item layouts that show standard radio buttons or check boxes next to a single
+line of text:
+
+- android.R.layout.simple_list_item_single_choice
+- android.R.layout.simple_list_item_multiple_choice.
+
+In some cases, you may want to customize this layout. When doing so, the root view must implement the Checkable
+interface. For an example, see this sample's `CheckableLinearLayout` class.
+
+Lastly, remember to use padding on your ListViews to adhere to the standard metrics described in the Android Design
+guidelines. When doing so, you should set the `android:scrollbarStyle` attribute such that the scrollbar doesn't inset.
+
+[1]: http://developer.android.com/reference/android/widget/ListView.html
+
 Pre-requisites
 --------------
 
@@ -11,6 +44,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/1-main.png" height="400" alt="Screenshot"/> <img src="screenshots/2-settings.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/CustomChoiceList/screenshots/icon-web.png b/prebuilts/gradle/CustomChoiceList/screenshots/icon-web.png
new file mode 100644
index 0000000..9e61e21
--- /dev/null
+++ b/prebuilts/gradle/CustomChoiceList/screenshots/icon-web.png
Binary files differ
diff --git a/prebuilts/gradle/CustomChoiceList/screenshots/main.png b/prebuilts/gradle/CustomChoiceList/screenshots/main.png
new file mode 100644
index 0000000..f52ee6d
--- /dev/null
+++ b/prebuilts/gradle/CustomChoiceList/screenshots/main.png
Binary files differ
diff --git a/prebuilts/gradle/CustomNotifications/NOTICE b/prebuilts/gradle/CustomNotifications/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/CustomNotifications/NOTICE
+++ b/prebuilts/gradle/CustomNotifications/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/CustomTransition/NOTICE b/prebuilts/gradle/CustomTransition/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/CustomTransition/NOTICE
+++ b/prebuilts/gradle/CustomTransition/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/DataLayer/NOTICE b/prebuilts/gradle/DataLayer/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/DataLayer/NOTICE
+++ b/prebuilts/gradle/DataLayer/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/DelayedConfirmation/NOTICE b/prebuilts/gradle/DelayedConfirmation/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/DelayedConfirmation/NOTICE
+++ b/prebuilts/gradle/DelayedConfirmation/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/DirectorySelection/Application/Application.iml b/prebuilts/gradle/DirectorySelection/Application/Application.iml
new file mode 100644
index 0000000..6ae0f75
--- /dev/null
+++ b/prebuilts/gradle/DirectorySelection/Application/Application.iml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="android" name="Android">
+      <configuration />
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
+      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
+      <excludeFolder url="file://$MODULE_DIR$/build" />
+    </content>
+    <orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
+
diff --git a/prebuilts/gradle/DirectorySelection/NOTICE b/prebuilts/gradle/DirectorySelection/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/DirectorySelection/NOTICE
+++ b/prebuilts/gradle/DirectorySelection/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/DisplayingBitmaps/NOTICE b/prebuilts/gradle/DisplayingBitmaps/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/DisplayingBitmaps/NOTICE
+++ b/prebuilts/gradle/DisplayingBitmaps/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/DocumentCentricApps/.google/packaging.yaml b/prebuilts/gradle/DocumentCentricApps/.google/packaging.yaml
index 3ed3e4f..3e3a019 100644
--- a/prebuilts/gradle/DocumentCentricApps/.google/packaging.yaml
+++ b/prebuilts/gradle/DocumentCentricApps/.google/packaging.yaml
@@ -9,4 +9,9 @@
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-DocumentCentricRecents
+level:        INTERMEDIATE
+icon:         screenshots/big_icon.png
+apiRefs:
+    - android:android.app.Activity
+    - android:android.content.Intent.FLAG_ACTIVITY_NEW_DOCUMENT
 license: apache2
diff --git a/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-hdpi/ic_launcher.png b/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-hdpi/ic_launcher.png
index b1efaf4..15e44c5 100644
--- a/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-hdpi/ic_launcher.png
+++ b/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-mdpi/ic_launcher.png b/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-mdpi/ic_launcher.png
index f5f9244..ba0bd22 100644
--- a/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-mdpi/ic_launcher.png
+++ b/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-xhdpi/ic_launcher.png b/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-xhdpi/ic_launcher.png
index 5d07b3f..42d49b8 100644
--- a/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-xhdpi/ic_launcher.png
+++ b/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-xhdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-xxhdpi/ic_launcher.png b/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-xxhdpi/ic_launcher.png
index 6ef21e1..3624eef 100644
--- a/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-xxhdpi/ic_launcher.png
+++ b/prebuilts/gradle/DocumentCentricApps/Application/src/main/res/drawable-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/prebuilts/gradle/DocumentCentricApps/NOTICE b/prebuilts/gradle/DocumentCentricApps/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/DocumentCentricApps/NOTICE
+++ b/prebuilts/gradle/DocumentCentricApps/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/DocumentCentricApps/README.md b/prebuilts/gradle/DocumentCentricApps/README.md
index e481418..1415279 100644
--- a/prebuilts/gradle/DocumentCentricApps/README.md
+++ b/prebuilts/gradle/DocumentCentricApps/README.md
@@ -1,10 +1,25 @@
 Android DocumentCentricRecents Sample
 ===================================
 
-This sample shows the basic usage of the new "Document Centric Apps" API.
+Sample demonstrating the basic usage of the new 'Document Centric Apps' API.
 It let's you create new documents in the system overview menu and persists its
-state through reboots. If "Task per document" is checked a new task will be
-created for every new document in the overview menu.
+state through reboots.
+
+Introduction
+------------
+
+This sample shows the basic usage of the new Document-Centric Apps API. The new
+API modifies the meaning of the Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET flag, which is
+now deprecated. In versions before L it serves to define a boundary between the main task and a
+subtask. The subtask holds a different thumbnail and all activities in it are finished when the
+task is reset. In L this flag causes a full break with the task that launched it. As such it has
+been renamed to Intent#FLAG_ACTIVITY_NEW_DOCUMENT.
+
+This sample mainly uses Intent flags in code. But Activities can also specify in their manifests
+that they shall always be launched into a new task in the above manner using the new activity
+attribute documentLaunchMode which may take on one of three values, “intoExisting” equivalent to
+NEW_DOCUMENT, “always” equivalent to NEW_DOCUMENT | MULTIPLE_TASK, “none” the default, and
+“never” which will negate the effect of any attempt to launch the activity with NEW_DOCUMENT.
 
 Pre-requisites
 --------------
@@ -13,6 +28,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/1-activity.png" height="400" alt="Screenshot"/> <img src="screenshots/2-overview.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/DocumentCentricApps/screenshots/1-activity.png b/prebuilts/gradle/DocumentCentricApps/screenshots/1-activity.png
new file mode 100644
index 0000000..9c6c411
--- /dev/null
+++ b/prebuilts/gradle/DocumentCentricApps/screenshots/1-activity.png
Binary files differ
diff --git a/prebuilts/gradle/DocumentCentricApps/screenshots/2-overview.png b/prebuilts/gradle/DocumentCentricApps/screenshots/2-overview.png
new file mode 100644
index 0000000..36ad9df
--- /dev/null
+++ b/prebuilts/gradle/DocumentCentricApps/screenshots/2-overview.png
Binary files differ
diff --git a/prebuilts/gradle/DocumentCentricApps/screenshots/big_icon.png b/prebuilts/gradle/DocumentCentricApps/screenshots/big_icon.png
new file mode 100644
index 0000000..84ce4cf
--- /dev/null
+++ b/prebuilts/gradle/DocumentCentricApps/screenshots/big_icon.png
Binary files differ
diff --git a/prebuilts/gradle/DocumentCentricRelinquishIdentity/NOTICE b/prebuilts/gradle/DocumentCentricRelinquishIdentity/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/DocumentCentricRelinquishIdentity/NOTICE
+++ b/prebuilts/gradle/DocumentCentricRelinquishIdentity/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/DoneBar/NOTICE b/prebuilts/gradle/DoneBar/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/DoneBar/NOTICE
+++ b/prebuilts/gradle/DoneBar/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/DrawableTinting/NOTICE b/prebuilts/gradle/DrawableTinting/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/DrawableTinting/NOTICE
+++ b/prebuilts/gradle/DrawableTinting/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/ElevationBasic/.google/packaging.yaml b/prebuilts/gradle/ElevationBasic/.google/packaging.yaml
index 51e5aa0..13a1066 100644
--- a/prebuilts/gradle/ElevationBasic/.google/packaging.yaml
+++ b/prebuilts/gradle/ElevationBasic/.google/packaging.yaml
@@ -5,8 +5,12 @@
 ---
 status:       PUBLISHED
 technologies: [Android]
-categories:   [UI]
+categories:   [UI, Input]
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-ElevationBasic
+level:        BEGINNER
+icon:         screenshots/icon-web.png
+apiRefs:
+    - android:android.view.MotionEvent
 license: apache2
diff --git a/prebuilts/gradle/ElevationBasic/NOTICE b/prebuilts/gradle/ElevationBasic/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/ElevationBasic/NOTICE
+++ b/prebuilts/gradle/ElevationBasic/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/ElevationBasic/README.md b/prebuilts/gradle/ElevationBasic/README.md
index 42db0ac..afcfddf 100644
--- a/prebuilts/gradle/ElevationBasic/README.md
+++ b/prebuilts/gradle/ElevationBasic/README.md
@@ -1,9 +1,41 @@
 Android ElevationBasic Sample
 ===================================
 
-This sample demonstrates two alternative ways to move a view in the z-axis. The
-first view has a fixed elevation using XML and the second one is raised when the user
-taps on it, using setTranslationZ().
+This sample demonstrates ways to move a view in the z-axis using
+`setTranslationZ()`. This method was introduced in API Level 21 ('Lollipop').
+
+Introduction
+------------
+
+This sample uses two shapes, a circle and a square, and it demonstrates two
+alternative ways to move a view in the z-axis. The first shape, the circle,
+has a fixed elevation, which is defined in XML. The second view, the square,
+changes its elevation using [setTranslationZ()][1] when a user touches it:
+
+    shape2.setOnTouchListener(new View.OnTouchListener() {
+        @Override
+        public boolean onTouch(View view, MotionEvent motionEvent) {
+            int action = motionEvent.getActionMasked();
+            /* Raise view on ACTION_DOWN and lower it on ACTION_UP. */
+            switch (action) {
+                case MotionEvent.ACTION_DOWN:
+                    Log.d(TAG, "ACTION_DOWN on view.");
+                    view.setTranslationZ(120);
+                    break;
+                case MotionEvent.ACTION_UP:
+                    Log.d(TAG, "ACTION_UP on view.");
+                    view.setTranslationZ(0);
+                    break;
+                default:
+                    return false;
+            }
+            return true;
+        }
+    });
+
+The elevation reverts back once the touch is removed.
+
+[1]: https://developer.android.com/training/material/shadows-clipping.html#Elevation
 
 Pre-requisites
 --------------
@@ -12,6 +44,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/fixed.png" height="400" alt="Screenshot"/> <img src="screenshots/raised.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/ElevationBasic/screenshots/fixed.png b/prebuilts/gradle/ElevationBasic/screenshots/fixed.png
new file mode 100644
index 0000000..9864b90
--- /dev/null
+++ b/prebuilts/gradle/ElevationBasic/screenshots/fixed.png
Binary files differ
diff --git a/prebuilts/gradle/ElevationBasic/screenshots/icon-web.png b/prebuilts/gradle/ElevationBasic/screenshots/icon-web.png
new file mode 100644
index 0000000..7f2dbe5
--- /dev/null
+++ b/prebuilts/gradle/ElevationBasic/screenshots/icon-web.png
Binary files differ
diff --git a/prebuilts/gradle/ElevationBasic/screenshots/raised.png b/prebuilts/gradle/ElevationBasic/screenshots/raised.png
new file mode 100644
index 0000000..af81493
--- /dev/null
+++ b/prebuilts/gradle/ElevationBasic/screenshots/raised.png
Binary files differ
diff --git a/prebuilts/gradle/ElevationDrag/NOTICE b/prebuilts/gradle/ElevationDrag/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/ElevationDrag/NOTICE
+++ b/prebuilts/gradle/ElevationDrag/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/ElizaChat/NOTICE b/prebuilts/gradle/ElizaChat/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/ElizaChat/NOTICE
+++ b/prebuilts/gradle/ElizaChat/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/EmbeddedApp/.google/packaging.yaml b/prebuilts/gradle/EmbeddedApp/.google/packaging.yaml
index 3e65c65..2a54928 100644
--- a/prebuilts/gradle/EmbeddedApp/.google/packaging.yaml
+++ b/prebuilts/gradle/EmbeddedApp/.google/packaging.yaml
@@ -9,4 +9,8 @@
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-EmbeddedApp
+level:        BEGINNER
+icon:         src/main/res/drawable-xxhdpi/ic_launcher.png
+apiRefs:
+    - android:android.app.Activity
 license: apache2
diff --git a/prebuilts/gradle/EmbeddedApp/NOTICE b/prebuilts/gradle/EmbeddedApp/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/EmbeddedApp/NOTICE
+++ b/prebuilts/gradle/EmbeddedApp/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/EmbeddedApp/README.md b/prebuilts/gradle/EmbeddedApp/README.md
index 020d611..bbc8691 100644
--- a/prebuilts/gradle/EmbeddedApp/README.md
+++ b/prebuilts/gradle/EmbeddedApp/README.md
@@ -3,6 +3,33 @@
 
 This simple app demonstrates how to embed a wearable app into a phone app.
 
+Introduction
+------------
+
+Wearable apps can be installed directly onto Android Wear devices during development, using either a direct ADB
+connection or ADB-over-Bluetooth. However, when releasing your app to end users, you must package your
+wearable APK inside of a traditional APK for distribution via a paired phone.
+
+When end users install this APK onto their phone, the wearable APK will be automatically detected, extracted, and pushed
+to their any paired wearable devices.
+
+This sample demonstrates how to properly package a wearable app for release in this manner. The wearable app is inside
+the `Wearable` directory, and the phone app (which will be used as a container for distribution) is the `Application`
+directory. There is nothing special about these apps, other than the `wearApp` dependency in the (host) phone app's
+`build.gradle` file:
+
+```groovy
+dependencies {
+    compile 'com.google.android.gms:play-services-wearable:6.5.+'
+    wearApp project(':Wearable')
+}
+```
+
+This dependency will automatically package the wearable APK during a **release build** (e.g. using the "Build > Generate
+Signed APK..." command in Android Studio). Note that this packaging is **not** performed for debug builds for
+performance reasons. During development, your wearable and phone apps must still be pushed individually to their
+respective devices using an ADB connection.
+
 Pre-requisites
 --------------
 
@@ -10,6 +37,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/embedded_wearable_app.png" height="400" alt="Screenshot"/> <img src="screenshots/phone_app.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/FindMyPhone/NOTICE b/prebuilts/gradle/FindMyPhone/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/FindMyPhone/NOTICE
+++ b/prebuilts/gradle/FindMyPhone/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/Flashlight/NOTICE b/prebuilts/gradle/Flashlight/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/Flashlight/NOTICE
+++ b/prebuilts/gradle/Flashlight/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/FloatingActionButtonBasic/NOTICE b/prebuilts/gradle/FloatingActionButtonBasic/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/FloatingActionButtonBasic/NOTICE
+++ b/prebuilts/gradle/FloatingActionButtonBasic/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/FragmentTransition/NOTICE b/prebuilts/gradle/FragmentTransition/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/FragmentTransition/NOTICE
+++ b/prebuilts/gradle/FragmentTransition/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/Geofencing/NOTICE b/prebuilts/gradle/Geofencing/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/Geofencing/NOTICE
+++ b/prebuilts/gradle/Geofencing/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/GridViewPager/NOTICE b/prebuilts/gradle/GridViewPager/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/GridViewPager/NOTICE
+++ b/prebuilts/gradle/GridViewPager/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/HdrViewfinder/NOTICE b/prebuilts/gradle/HdrViewfinder/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/HdrViewfinder/NOTICE
+++ b/prebuilts/gradle/HdrViewfinder/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/HorizontalPaging/NOTICE b/prebuilts/gradle/HorizontalPaging/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/HorizontalPaging/NOTICE
+++ b/prebuilts/gradle/HorizontalPaging/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/ImmersiveMode/NOTICE b/prebuilts/gradle/ImmersiveMode/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/ImmersiveMode/NOTICE
+++ b/prebuilts/gradle/ImmersiveMode/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/Interpolator/.google/packaging.yaml b/prebuilts/gradle/Interpolator/.google/packaging.yaml
index a358450..2273272 100644
--- a/prebuilts/gradle/Interpolator/.google/packaging.yaml
+++ b/prebuilts/gradle/Interpolator/.google/packaging.yaml
@@ -5,8 +5,13 @@
 ---
 status:       PUBLISHED
 technologies: [Android]
-categories:   [UI]
+categories:   [Design, Transitions, Input]
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-Interpolator
+level:        INTERMEDIATE
+icon:         screenshots/icon-web.png
+apiRefs:
+    - android:android.animation.ObjectAnimator
+    - android:android.view.animation.Interpolator
 license: apache2
diff --git a/prebuilts/gradle/Interpolator/NOTICE b/prebuilts/gradle/Interpolator/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/Interpolator/NOTICE
+++ b/prebuilts/gradle/Interpolator/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/Interpolator/README.md b/prebuilts/gradle/Interpolator/README.md
index 3859932..07b722e 100644
--- a/prebuilts/gradle/Interpolator/README.md
+++ b/prebuilts/gradle/Interpolator/README.md
@@ -2,8 +2,22 @@
 ===================================
 
 This sample demonstrates the use of animation interpolators and path animations for
-Material Design. It shows how an ObjectAnimator is used to animate two properties of a
-view (scale X and Y) along a path.
+`Material Design`.
+
+Introduction
+------------
+
+Material design is a comprehensive guide for visual, motion, and interaction
+design across platforms and devices. Starting with API level 21,
+[Android includes support for material design][1] apps.
+
+This sample demonstrates the use of `Material Design` animation interpolators
+and path animations. It uses an [ObjectAnimator][2] to animate two view properties,
+`Scale_X` and `Scale_Y`. Users can pick from a set of interpolator options. They
+can also define the duration of the animation.
+
+[1]: https://developer.android.com/training/material/index.html
+[2]: https://developer.android.com/guide/topics/graphics/prop-animation.html#object-animator
 
 Pre-requisites
 --------------
@@ -12,6 +26,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/before.png" height="400" alt="Screenshot"/> <img src="screenshots/after.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/Interpolator/after.png b/prebuilts/gradle/Interpolator/after.png
new file mode 100644
index 0000000..0373014
--- /dev/null
+++ b/prebuilts/gradle/Interpolator/after.png
Binary files differ
diff --git a/prebuilts/gradle/Interpolator/before.png b/prebuilts/gradle/Interpolator/before.png
new file mode 100644
index 0000000..e28e4f9
--- /dev/null
+++ b/prebuilts/gradle/Interpolator/before.png
Binary files differ
diff --git a/prebuilts/gradle/Interpolator/screenshots/icon-web.png b/prebuilts/gradle/Interpolator/screenshots/icon-web.png
new file mode 100644
index 0000000..172851b
--- /dev/null
+++ b/prebuilts/gradle/Interpolator/screenshots/icon-web.png
Binary files differ
diff --git a/prebuilts/gradle/JobScheduler/NOTICE b/prebuilts/gradle/JobScheduler/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/JobScheduler/NOTICE
+++ b/prebuilts/gradle/JobScheduler/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/JumpingJack/NOTICE b/prebuilts/gradle/JumpingJack/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/JumpingJack/NOTICE
+++ b/prebuilts/gradle/JumpingJack/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/LNotifications/.google/packaging.yaml b/prebuilts/gradle/LNotifications/.google/packaging.yaml
index 3e5b7b6..574bdcf 100644
--- a/prebuilts/gradle/LNotifications/.google/packaging.yaml
+++ b/prebuilts/gradle/LNotifications/.google/packaging.yaml
@@ -9,4 +9,10 @@
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-LNotifications Sample
+level:        INTERMEDIATE
+icon:         screenshots/icon-web.png
+apiRefs:
+    - android:android.app.Notification
+    - android:android.app.Notification.Builder
+    - android:android.app.NotificationManager
 license: apache2
diff --git a/prebuilts/gradle/LNotifications/NOTICE b/prebuilts/gradle/LNotifications/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/LNotifications/NOTICE
+++ b/prebuilts/gradle/LNotifications/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/LNotifications/README.md b/prebuilts/gradle/LNotifications/README.md
index 3b2333c..afd4a7e 100644
--- a/prebuilts/gradle/LNotifications/README.md
+++ b/prebuilts/gradle/LNotifications/README.md
@@ -1,9 +1,26 @@
 Android LNotifications Sample Sample
 ===================================
 
-This sample demonstrates how new features for notifications introduced in Android L
-are used such as Heads-Up notifications, visibility, people, category and priority
-metadata. (Priority metadata has been present since Jelly Bean, but actually unused).
+This sample demonstrates new features for notifications introduced in Android L.
+These features include heads-up notifications, visibility, people, category and priority
+metadata.
+
+Introduction
+------------
+
+Android 5.0 (Lollipop, API level 21) introduced additional features to the Notification API.
+Specifically, it allows developers to specify the priority and visibility level for
+notifications. This metadata allows the system to provide enhanced security for notifications
+while the lock screen is active, allows high-priority notifications to appear even when
+the notification bar is closed, and provides users to silence low-priority notifications
+when they're busy.
+
+This metadata is provided via additional arguments to the `Notification.Builder` class.
+
+Specifically, this sample demonstrates how to generate a heads-up notification
+(`HeadsUpNotificationFragment`), how to control visibility on the lock screen
+(`VisibilityMetadataFragment`), and how to set the category, priority, and associated contact
+for a notification (`OtherMetadataFragment`).
 
 Pre-requisites
 --------------
@@ -12,6 +29,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/1-headsup.png" height="400" alt="Screenshot"/> <img src="screenshots/2-visibility.png" height="400" alt="Screenshot"/> <img src="screenshots/3-others.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/LNotifications/screenshots/1-headsup.png b/prebuilts/gradle/LNotifications/screenshots/1-headsup.png
new file mode 100644
index 0000000..e84f7ec
--- /dev/null
+++ b/prebuilts/gradle/LNotifications/screenshots/1-headsup.png
Binary files differ
diff --git a/prebuilts/gradle/LNotifications/screenshots/2-visibility.png b/prebuilts/gradle/LNotifications/screenshots/2-visibility.png
new file mode 100644
index 0000000..5450110
--- /dev/null
+++ b/prebuilts/gradle/LNotifications/screenshots/2-visibility.png
Binary files differ
diff --git a/prebuilts/gradle/LNotifications/screenshots/3-others.png b/prebuilts/gradle/LNotifications/screenshots/3-others.png
new file mode 100644
index 0000000..453c383
--- /dev/null
+++ b/prebuilts/gradle/LNotifications/screenshots/3-others.png
Binary files differ
diff --git a/prebuilts/gradle/LNotifications/screenshots/icon-web.png b/prebuilts/gradle/LNotifications/screenshots/icon-web.png
new file mode 100644
index 0000000..41a1511
--- /dev/null
+++ b/prebuilts/gradle/LNotifications/screenshots/icon-web.png
Binary files differ
diff --git a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/BrowseFragment.java b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/BrowseFragment.java
index 726ae15..e4ccf76 100644
--- a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/BrowseFragment.java
+++ b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/BrowseFragment.java
@@ -47,7 +47,7 @@
  */
 public class BrowseFragment extends Fragment {
 
-    private static final String TAG = BrowseFragment.class.getSimpleName();
+    private static final String TAG = LogHelper.makeLogTag(BrowseFragment.class.getSimpleName());
 
     public static final String ARG_MEDIA_ID = "media_id";
 
diff --git a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MediaNotification.java b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MediaNotificationManager.java
similarity index 98%
rename from prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MediaNotification.java
rename to prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MediaNotificationManager.java
index 6872723..aec4691 100644
--- a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MediaNotification.java
+++ b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MediaNotificationManager.java
@@ -48,8 +48,8 @@
  * MediaSession. Maintaining a visible notification (usually) guarantees that the music service
  * won't be killed during playback.
  */
-public class MediaNotification extends BroadcastReceiver {
-    private static final String TAG = "MediaNotification";
+public class MediaNotificationManager extends BroadcastReceiver {
+    private static final String TAG = LogHelper.makeLogTag(MediaNotificationManager.class.getSimpleName());
 
     private static final int NOTIFICATION_ID = 412;
 
@@ -75,12 +75,11 @@
 
     private PendingIntent mPauseIntent, mPlayIntent, mPreviousIntent, mNextIntent;
 
-    private String mCurrentAlbumArt;
     private int mNotificationColor;
 
     private boolean mStarted = false;
 
-    public MediaNotification(MusicService service) {
+    public MediaNotificationManager(MusicService service) {
         mService = service;
         updateSessionToken();
 
diff --git a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MusicPlayerActivity.java b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MusicPlayerActivity.java
index 394b01a..ac231c7 100644
--- a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MusicPlayerActivity.java
+++ b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MusicPlayerActivity.java
@@ -25,8 +25,6 @@
 public class MusicPlayerActivity extends Activity
         implements BrowseFragment.FragmentDataHelper {
 
-    private static final String TAG = MusicPlayerActivity.class.getSimpleName();
-
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
diff --git a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MusicService.java b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MusicService.java
index b482426..b055d69 100644
--- a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MusicService.java
+++ b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/MusicService.java
@@ -113,7 +113,7 @@
 public class MusicService extends MediaBrowserService implements OnPreparedListener,
         OnCompletionListener, OnErrorListener, AudioManager.OnAudioFocusChangeListener {
 
-    private static final String TAG = "MusicService";
+    private static final String TAG = LogHelper.makeLogTag(MusicService.class.getSimpleName());
 
     // Action to thumbs up a media item
     private static final String CUSTOM_ACTION_THUMBS_UP = "thumbs_up";
@@ -146,7 +146,7 @@
     // to prevent the device from shutting off the Wifi radio
     private WifiLock mWifiLock;
 
-    private MediaNotification mMediaNotification;
+    private MediaNotificationManager mMediaNotificationManager;
 
     // Indicates whether the service was started.
     private boolean mServiceStarted;
@@ -231,7 +231,7 @@
 
         updatePlaybackState(null);
 
-        mMediaNotification = new MediaNotification(this);
+        mMediaNotificationManager = new MediaNotificationManager(this);
     }
 
     /*
@@ -665,7 +665,7 @@
         giveUpAudioFocus();
         updatePlaybackState(withError);
 
-        mMediaNotification.stopNotification();
+        mMediaNotificationManager.stopNotification();
 
         // service is no longer necessary. Will be started again if needed.
         stopSelf();
@@ -869,7 +869,7 @@
         mSession.setPlaybackState(stateBuilder.build());
 
         if (mState == PlaybackState.STATE_PLAYING || mState == PlaybackState.STATE_PAUSED) {
-            mMediaNotification.startNotification();
+            mMediaNotificationManager.startNotification();
         }
     }
 
diff --git a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/PackageValidator.java b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/PackageValidator.java
index 090b6a4..9e40894 100644
--- a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/PackageValidator.java
+++ b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/PackageValidator.java
@@ -26,12 +26,15 @@
 import android.util.Base64;
 import android.util.Log;
 
+import com.example.android.mediabrowserservice.utils.LogHelper;
+
 /**
  * Validates that the calling package is authorized to use this
  * {@link android.service.media.MediaBrowserService}.
  */
 public class PackageValidator {
-    public static final String TAG = "PackageValidator";
+
+    private static final String TAG = LogHelper.makeLogTag(PackageValidator.class.getSimpleName());
 
     // Replace with your package whitelist
     static final byte[][] VALID_PUBLIC_SIGNATURES = new byte[][]{
diff --git a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/QueueFragment.java b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/QueueFragment.java
index f6076bc..98b40e7 100644
--- a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/QueueFragment.java
+++ b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/QueueFragment.java
@@ -38,7 +38,7 @@
  */
 public class QueueFragment extends Fragment {
 
-    private static final String TAG = QueueFragment.class.getSimpleName();
+    private static final String TAG = LogHelper.makeLogTag(QueueFragment.class.getSimpleName());
 
     private ImageButton mSkipNext;
     private ImageButton mSkipPrevious;
diff --git a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/model/MusicProvider.java b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/model/MusicProvider.java
index d0e2e0b..6b6a64e 100644
--- a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/model/MusicProvider.java
+++ b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/model/MusicProvider.java
@@ -43,7 +43,7 @@
  */
 public class MusicProvider {
 
-    private static final String TAG = "MusicProvider";
+    private static final String TAG = LogHelper.makeLogTag(MusicProvider.class.getSimpleName());
 
     private static final String CATALOG_URL = "http://storage.googleapis.com/automotive-media/music.json";
 
diff --git a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/LogHelper.java b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/LogHelper.java
index 92b2e09..bf5e3a7 100644
--- a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/LogHelper.java
+++ b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/LogHelper.java
@@ -17,13 +17,33 @@
 
 import android.util.Log;
 
+import com.example.android.mediabrowserservice.BuildConfig;
+
 public class LogHelper {
+    private static final String LOG_PREFIX = "sample_";
+    private static final int LOG_PREFIX_LENGTH = LOG_PREFIX.length();
+    private static final int MAX_LOG_TAG_LENGTH = 23;
+
+    public static String makeLogTag(String str) {
+        if (str.length() > MAX_LOG_TAG_LENGTH - LOG_PREFIX_LENGTH) {
+            return LOG_PREFIX + str.substring(0, MAX_LOG_TAG_LENGTH - LOG_PREFIX_LENGTH - 1);
+        }
+
+        return LOG_PREFIX + str;
+    }
+
     public static void v(String tag, Object... messages) {
-        log(tag, Log.VERBOSE, null, messages);
+        // Only log VERBOSE if build type is DEBUG
+        if (BuildConfig.DEBUG) {
+            log(tag, Log.VERBOSE, null, messages);
+        }
     }
 
     public static void d(String tag, Object... messages) {
-        log(tag, Log.DEBUG, null, messages);
+        // Only log DEBUG if build type is DEBUG
+        if (BuildConfig.DEBUG) {
+            log(tag, Log.DEBUG, null, messages);
+        }
     }
 
     public static void i(String tag, Object... messages) {
diff --git a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/MediaIDHelper.java b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/MediaIDHelper.java
index f66a010..ca9dfba 100644
--- a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/MediaIDHelper.java
+++ b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/MediaIDHelper.java
@@ -23,7 +23,7 @@
  */
 public class MediaIDHelper {
 
-    private static final String TAG = "MediaIDHelper";
+    private static final String TAG = LogHelper.makeLogTag(MediaIDHelper.class.getSimpleName());
 
     // Media IDs used on browseable items of MediaBrowser
     public static final String MEDIA_ID_ROOT = "__ROOT__";
diff --git a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/QueueHelper.java b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/QueueHelper.java
index 980efaa..ba273af 100644
--- a/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/QueueHelper.java
+++ b/prebuilts/gradle/MediaBrowserService/Application/src/main/java/com/example/android/mediabrowserservice/utils/QueueHelper.java
@@ -32,7 +32,7 @@
  */
 public class QueueHelper {
 
-    private static final String TAG = "QueueHelper";
+    private static final String TAG = LogHelper.makeLogTag(QueueHelper.class.getSimpleName());
 
     public static final List<MediaSession.QueueItem> getPlayingQueue(String mediaId,
             MusicProvider musicProvider) {
diff --git a/prebuilts/gradle/MediaBrowserService/NOTICE b/prebuilts/gradle/MediaBrowserService/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/MediaBrowserService/NOTICE
+++ b/prebuilts/gradle/MediaBrowserService/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/MediaEffects/NOTICE b/prebuilts/gradle/MediaEffects/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/MediaEffects/NOTICE
+++ b/prebuilts/gradle/MediaEffects/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/MediaRecorder/NOTICE b/prebuilts/gradle/MediaRecorder/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/MediaRecorder/NOTICE
+++ b/prebuilts/gradle/MediaRecorder/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/MediaRouter/NOTICE b/prebuilts/gradle/MediaRouter/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/MediaRouter/NOTICE
+++ b/prebuilts/gradle/MediaRouter/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/MessagingService/NOTICE b/prebuilts/gradle/MessagingService/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/MessagingService/NOTICE
+++ b/prebuilts/gradle/MessagingService/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/NavigationDrawer/NOTICE b/prebuilts/gradle/NavigationDrawer/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/NavigationDrawer/NOTICE
+++ b/prebuilts/gradle/NavigationDrawer/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/NetworkConnect/NOTICE b/prebuilts/gradle/NetworkConnect/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/NetworkConnect/NOTICE
+++ b/prebuilts/gradle/NetworkConnect/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/Notifications/NOTICE b/prebuilts/gradle/Notifications/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/Notifications/NOTICE
+++ b/prebuilts/gradle/Notifications/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/PdfRendererBasic/NOTICE b/prebuilts/gradle/PdfRendererBasic/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/PdfRendererBasic/NOTICE
+++ b/prebuilts/gradle/PdfRendererBasic/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/PermissionRequest/NOTICE b/prebuilts/gradle/PermissionRequest/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/PermissionRequest/NOTICE
+++ b/prebuilts/gradle/PermissionRequest/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/Quiz/NOTICE b/prebuilts/gradle/Quiz/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/Quiz/NOTICE
+++ b/prebuilts/gradle/Quiz/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/RecipeAssistant/NOTICE b/prebuilts/gradle/RecipeAssistant/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/RecipeAssistant/NOTICE
+++ b/prebuilts/gradle/RecipeAssistant/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/RecyclerView/NOTICE b/prebuilts/gradle/RecyclerView/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/RecyclerView/NOTICE
+++ b/prebuilts/gradle/RecyclerView/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/RenderScriptIntrinsic/.google/packaging.yaml b/prebuilts/gradle/RenderScriptIntrinsic/.google/packaging.yaml
index 63c55b2..97b64ca 100644
--- a/prebuilts/gradle/RenderScriptIntrinsic/.google/packaging.yaml
+++ b/prebuilts/gradle/RenderScriptIntrinsic/.google/packaging.yaml
@@ -9,4 +9,12 @@
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-RenderScriptIntrinsic
+level:        EXPERT
+icon:         screenshots/icon-web.png
+apiRefs:
+    - android:android.renderscript.RenderScript
+    - android:android.renderscript.ScriptIntrinsicBlur
+    - android:android.renderscript.ScriptIntrinsicConvolve5x5
+    - android:android.renderscript.ScriptIntrinsicColorMatrix
+    - android:
 license: apache2
diff --git a/prebuilts/gradle/RenderScriptIntrinsic/NOTICE b/prebuilts/gradle/RenderScriptIntrinsic/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/RenderScriptIntrinsic/NOTICE
+++ b/prebuilts/gradle/RenderScriptIntrinsic/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/RenderScriptIntrinsic/README.md b/prebuilts/gradle/RenderScriptIntrinsic/README.md
index eb40dfb..7b1c660 100644
--- a/prebuilts/gradle/RenderScriptIntrinsic/README.md
+++ b/prebuilts/gradle/RenderScriptIntrinsic/README.md
@@ -5,6 +5,33 @@
 Creates several RenderScript intrinsics and shows a filtering result with various parameters.
 Also shows how to extends RedioButton with StateListDrawable.
 
+Introduction
+------------
+
+[RenderScript][1] is a framework for running computationally intensive tasks at high performance on Android. RenderScript is
+primarily oriented for use with data-parallel computation, although serial computationally intensive workloads can
+benefit as well.
+
+RenderScript **intrinsics** are built-in functions that perform well-defined operations often seen
+in image processing. Intrinsics provide extremely high-performance implementations of standard
+functions with a minimal amount of code.
+
+This sample shows how to access and use the blur, convolve, and matrix intrinsics:
+
+```java
+mScriptBlur = ScriptIntrinsicBlur.create(mRS, Element.U8_4(mRS));
+mScriptConvolve = ScriptIntrinsicConvolve5x5.create(mRS,
+        Element.U8_4(mRS));
+mScriptMatrix = ScriptIntrinsicColorMatrix.create(mRS,
+        Element.U8_4(mRS));
+```
+
+RenderScript intrinsics will usually be the fastest possible way for a developer to perform these operations. The
+Android team works closely with our partners to ensure that the intrinsics perform as fast as possible on their
+architectures — often far beyond anything that can be achieved in a general-purpose language.
+
+[1]: http://developer.android.com/guide/topics/renderscript/compute.html
+
 Pre-requisites
 --------------
 
@@ -12,6 +39,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/main.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/RenderScriptIntrinsic/screenshots/icon-web.png b/prebuilts/gradle/RenderScriptIntrinsic/screenshots/icon-web.png
new file mode 100644
index 0000000..87f9dac
--- /dev/null
+++ b/prebuilts/gradle/RenderScriptIntrinsic/screenshots/icon-web.png
Binary files differ
diff --git a/prebuilts/gradle/RenderScriptIntrinsic/screenshots/main.png b/prebuilts/gradle/RenderScriptIntrinsic/screenshots/main.png
new file mode 100644
index 0000000..1a81389
--- /dev/null
+++ b/prebuilts/gradle/RenderScriptIntrinsic/screenshots/main.png
Binary files differ
diff --git a/prebuilts/gradle/RepeatingAlarm/NOTICE b/prebuilts/gradle/RepeatingAlarm/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/RepeatingAlarm/NOTICE
+++ b/prebuilts/gradle/RepeatingAlarm/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/RevealEffectBasic/NOTICE b/prebuilts/gradle/RevealEffectBasic/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/RevealEffectBasic/NOTICE
+++ b/prebuilts/gradle/RevealEffectBasic/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/ScreenCapture/NOTICE b/prebuilts/gradle/ScreenCapture/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/ScreenCapture/NOTICE
+++ b/prebuilts/gradle/ScreenCapture/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/SkeletonWearableApp/NOTICE b/prebuilts/gradle/SkeletonWearableApp/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/SkeletonWearableApp/NOTICE
+++ b/prebuilts/gradle/SkeletonWearableApp/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/SlidingTabsBasic/NOTICE b/prebuilts/gradle/SlidingTabsBasic/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/SlidingTabsBasic/NOTICE
+++ b/prebuilts/gradle/SlidingTabsBasic/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/SlidingTabsColors/NOTICE b/prebuilts/gradle/SlidingTabsColors/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/SlidingTabsColors/NOTICE
+++ b/prebuilts/gradle/SlidingTabsColors/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/SpeedTracker/NOTICE b/prebuilts/gradle/SpeedTracker/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/SpeedTracker/NOTICE
+++ b/prebuilts/gradle/SpeedTracker/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/StorageClient/NOTICE b/prebuilts/gradle/StorageClient/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/StorageClient/NOTICE
+++ b/prebuilts/gradle/StorageClient/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/StorageProvider/NOTICE b/prebuilts/gradle/StorageProvider/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/StorageProvider/NOTICE
+++ b/prebuilts/gradle/StorageProvider/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/SwipeRefreshLayoutBasic/NOTICE b/prebuilts/gradle/SwipeRefreshLayoutBasic/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/SwipeRefreshLayoutBasic/NOTICE
+++ b/prebuilts/gradle/SwipeRefreshLayoutBasic/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/SwipeRefreshListFragment/.google/packaging.yaml b/prebuilts/gradle/SwipeRefreshListFragment/.google/packaging.yaml
index 8a42bcd..39adaeb 100644
--- a/prebuilts/gradle/SwipeRefreshListFragment/.google/packaging.yaml
+++ b/prebuilts/gradle/SwipeRefreshListFragment/.google/packaging.yaml
@@ -5,8 +5,15 @@
 ---
 status:       PUBLISHED
 technologies: [Android]
-categories:   [UI]
+categories:   [UI, Input]
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-SwipeRefreshListFragment
+level:        INTERMEDIATE
+icon:         screenshots/icon-web.png
+apiRefs:
+    - android:android.support.v4.widget.SwipeRefreshLayout
+    - android:android.widget.ArrayAdapter
+    - android:android.widget.ListAdapter
+    - android:android.support.v4.app.ListFragment
 license: apache2
diff --git a/prebuilts/gradle/SwipeRefreshListFragment/NOTICE b/prebuilts/gradle/SwipeRefreshListFragment/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/SwipeRefreshListFragment/NOTICE
+++ b/prebuilts/gradle/SwipeRefreshListFragment/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/SwipeRefreshListFragment/README.md b/prebuilts/gradle/SwipeRefreshListFragment/README.md
index 8ab30f5..e5158ea 100644
--- a/prebuilts/gradle/SwipeRefreshListFragment/README.md
+++ b/prebuilts/gradle/SwipeRefreshListFragment/README.md
@@ -1,10 +1,23 @@
 Android SwipeRefreshListFragment Sample
 ===================================
 
-A sample which shows how to use SwipeRefreshLayout within a ListFragment to add the
+A sample which shows how to use `SwipeRefreshLayout` to add
 'swipe-to-refresh' gesture to a ListView, enabling the ability to trigger a refresh
-from swiping down on that view. This is provided through the re-usable
-SwipeRefreshListFragment class.
+from swiping down on that view.
+
+Introduction
+------------
+
+A sample which shows how to use
+[SwipeRefreshLayout][1] within a `ListFragment` to add the 'swipe-to-refresh'
+gesture to a `ListView`. The sample provides this functionality by defining a
+re-usable `SwipeRefreshListFragment` class.
+
+The sample displays a list of cheeses. When the user initiates a downward swipe,
+that list refreshes with randomly generated items. Selecting the `Refresh`
+action from the action bar also refreshes the list.
+
+[1]: https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html
 
 Pre-requisites
 --------------
@@ -13,6 +26,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/refresh.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/SwipeRefreshListFragment/screenshots/icon-web.png b/prebuilts/gradle/SwipeRefreshListFragment/screenshots/icon-web.png
new file mode 100644
index 0000000..f9819f2
--- /dev/null
+++ b/prebuilts/gradle/SwipeRefreshListFragment/screenshots/icon-web.png
Binary files differ
diff --git a/prebuilts/gradle/SwipeRefreshListFragment/screenshots/refresh.png b/prebuilts/gradle/SwipeRefreshListFragment/screenshots/refresh.png
new file mode 100644
index 0000000..6af7af2
--- /dev/null
+++ b/prebuilts/gradle/SwipeRefreshListFragment/screenshots/refresh.png
Binary files differ
diff --git a/prebuilts/gradle/SwipeRefreshMultipleViews/NOTICE b/prebuilts/gradle/SwipeRefreshMultipleViews/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/SwipeRefreshMultipleViews/NOTICE
+++ b/prebuilts/gradle/SwipeRefreshMultipleViews/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/SynchronizedNotifications/NOTICE b/prebuilts/gradle/SynchronizedNotifications/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/SynchronizedNotifications/NOTICE
+++ b/prebuilts/gradle/SynchronizedNotifications/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/TextLinkify/.google/packaging.yaml b/prebuilts/gradle/TextLinkify/.google/packaging.yaml
index 69eb594..57abc1d 100644
--- a/prebuilts/gradle/TextLinkify/.google/packaging.yaml
+++ b/prebuilts/gradle/TextLinkify/.google/packaging.yaml
@@ -9,4 +9,14 @@
 languages:    [Java]
 solutions:    [Mobile]
 github:       android-TextLinkify
+level:        INTERMEDIATE
+icon:         screenshots/icon-web.png
+apiRefs:
+    - android:android.widget.TextView
+    - android:android.text.util.Linkify
+    - android:android.text.Html
+    - android:android.text.SpannableString
+    - android:android.text.style.StyleSpan
+    - android:android.text.style.URLSpan
+    - android:android.text.SpannableString
 license: apache2
diff --git a/prebuilts/gradle/TextLinkify/NOTICE b/prebuilts/gradle/TextLinkify/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/TextLinkify/NOTICE
+++ b/prebuilts/gradle/TextLinkify/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/TextLinkify/README.md b/prebuilts/gradle/TextLinkify/README.md
index fe97445..b029958 100644
--- a/prebuilts/gradle/TextLinkify/README.md
+++ b/prebuilts/gradle/TextLinkify/README.md
@@ -4,6 +4,30 @@
 This sample illustrates how links can be added to a TextView. This can be done either
 automatically by setting the "autoLink" property or explicitly.
 
+Introduction
+------------
+
+This sample demonstrates how clickable links can be added to a `TextView` in Android.
+
+This can be done in three ways:
+
+- **Automatically:** Text added to a TextView can automatically be linkified by enabling
+autoLinking. In XML, use the `android:autoLink` property, programatically call
+[android.widget.TextView#setAutoLinkMask(int)][1] using an option from
+[android.text.util.Linkify][2].
+- **Parsing a String as HTML:** See [android.text.Html#fromHtml(String)][3].
+- **Manually by constructing a [android.text.SpannableString][4]:** Consisting of
+[android.text.style.StyleSpan][5] and [android.text.style.URLSpan][6] objects that
+are contained within a [android.text.SpannableString][7].
+
+[1]: http://developer.android.com/reference/android/widget/TextView.html#setAutoLinkMask(int)
+[2]: http://developer.android.com/reference/android/text/util/Linkify.html
+[3]: http://developer.android.com/reference/android/text/Html.html#fromHtml(java.lang.String)
+[4]: http://developer.android.com/reference/android/text/SpannableString.html
+[5]: http://developer.android.com/reference/android/text/style/StyleSpan.html
+[6]: http://developer.android.com/reference/android/text/style/URLSpan.html
+[7]: http://developer.android.com/reference/android/text/SpannableString.html
+
 Pre-requisites
 --------------
 
@@ -11,6 +35,11 @@
 - Android Build Tools v21.1.1
 - Android Support Repository
 
+Screenshots
+-------------
+
+<img src="screenshots/main.png" height="400" alt="Screenshot"/> 
+
 Getting Started
 ---------------
 
diff --git a/prebuilts/gradle/TextLinkify/screenshots/icon-web.png b/prebuilts/gradle/TextLinkify/screenshots/icon-web.png
new file mode 100644
index 0000000..47f96e4
--- /dev/null
+++ b/prebuilts/gradle/TextLinkify/screenshots/icon-web.png
Binary files differ
diff --git a/prebuilts/gradle/TextLinkify/screenshots/main.png b/prebuilts/gradle/TextLinkify/screenshots/main.png
new file mode 100644
index 0000000..5f483f5
--- /dev/null
+++ b/prebuilts/gradle/TextLinkify/screenshots/main.png
Binary files differ
diff --git a/prebuilts/gradle/TextSwitcher/NOTICE b/prebuilts/gradle/TextSwitcher/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/TextSwitcher/NOTICE
+++ b/prebuilts/gradle/TextSwitcher/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/Timer/NOTICE b/prebuilts/gradle/Timer/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/Timer/NOTICE
+++ b/prebuilts/gradle/Timer/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/WatchFace/NOTICE b/prebuilts/gradle/WatchFace/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/WatchFace/NOTICE
+++ b/prebuilts/gradle/WatchFace/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
diff --git a/prebuilts/gradle/WatchFace/Wearable/src/main/AndroidManifest.xml b/prebuilts/gradle/WatchFace/Wearable/src/main/AndroidManifest.xml
index 5d4f208..14fee36 100644
--- a/prebuilts/gradle/WatchFace/Wearable/src/main/AndroidManifest.xml
+++ b/prebuilts/gradle/WatchFace/Wearable/src/main/AndroidManifest.xml
@@ -37,8 +37,6 @@
         <service
                 android:name=".AnalogWatchFaceService"
                 android:label="@string/analog_name"
-                android:allowEmbedded="true"
-                android:taskAffinity=""
                 android:permission="android.permission.BIND_WALLPAPER" >
             <meta-data
                     android:name="android.service.wallpaper"
@@ -61,8 +59,6 @@
         <service
                 android:name=".SweepWatchFaceService"
                 android:label="@string/sweep_name"
-                android:allowEmbedded="true"
-                android:taskAffinity=""
                 android:permission="android.permission.BIND_WALLPAPER" >
             <meta-data
                     android:name="android.service.wallpaper"
@@ -82,8 +78,6 @@
         <service
                 android:name=".TiltWatchFaceService"
                 android:label="@string/tilt_name"
-                android:allowEmbedded="true"
-                android:taskAffinity=""
                 android:permission="android.permission.BIND_WALLPAPER" >
             <meta-data
                     android:name="android.service.wallpaper"
@@ -107,8 +101,6 @@
         <service
                 android:name=".CardBoundsWatchFaceService"
                 android:label="@string/card_bounds_name"
-                android:allowEmbedded="true"
-                android:taskAffinity=""
                 android:permission="android.permission.BIND_WALLPAPER" >
             <meta-data
                     android:name="android.service.wallpaper"
@@ -131,8 +123,6 @@
         <service
                 android:name=".DigitalWatchFaceService"
                 android:label="@string/digital_name"
-                android:allowEmbedded="true"
-                android:taskAffinity=""
                 android:permission="android.permission.BIND_WALLPAPER" >
             <meta-data
                     android:name="android.service.wallpaper"
@@ -172,8 +162,6 @@
         <service
                 android:name=".CalendarWatchFaceService"
                 android:label="@string/calendar_name"
-                android:allowEmbedded="true"
-                android:taskAffinity=""
                 android:permission="android.permission.BIND_WALLPAPER" >
             <meta-data
                     android:name="android.service.wallpaper"
diff --git a/prebuilts/gradle/WatchViewStub/NOTICE b/prebuilts/gradle/WatchViewStub/NOTICE
index 7eede3d..e37ec1a 100644
--- a/prebuilts/gradle/WatchViewStub/NOTICE
+++ b/prebuilts/gradle/WatchViewStub/NOTICE
@@ -1,6 +1,6 @@
 This sample uses the following software:
 
-Copyright 2014 The Android Open Source Project
+Copyright 2015 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.