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.
diff --git a/templates/WearPlusShared/Shared/build.gradle.ftl b/templates/WearPlusShared/Shared/build.gradle.ftl
index 75cc6ed..1a9d842 100644
--- a/templates/WearPlusShared/Shared/build.gradle.ftl
+++ b/templates/WearPlusShared/Shared/build.gradle.ftl
@@ -15,7 +15,7 @@
 -->
 buildscript {
     repositories {
-        mavenCentral()
+        jcenter()
     }
 
     dependencies {
@@ -25,6 +25,19 @@
 
 apply plugin: 'android-library'
 
+repositories {
+    jcenter()
+}
+
+<#if sample.dependency_shared?has_content>
+dependencies {
+
+<#list sample.dependency_shared as dep>
+    compile "${dep}"
+</#list>
+
+}</#if>
+
 // The sample build uses multiple directories to
 // keep boilerplate and common code separate from
 // the main sample code.
diff --git a/templates/WearPlusShared/Wearable/build.gradle.ftl b/templates/WearPlusShared/Wearable/build.gradle.ftl
index a47a376..a625df8 100644
--- a/templates/WearPlusShared/Wearable/build.gradle.ftl
+++ b/templates/WearPlusShared/Wearable/build.gradle.ftl
@@ -15,7 +15,7 @@
 -->
 buildscript {
     repositories {
-        mavenCentral()
+        jcenter()
     }
 
     dependencies {
@@ -32,6 +32,10 @@
 </#list>
 }</#if>
 
+repositories {
+    jcenter()
+}
+
 dependencies {
 
 <#list sample.dependency_wearable as dep>
diff --git a/templates/WearPlusShared/_MODULE_/build.gradle.ftl b/templates/WearPlusShared/_MODULE_/build.gradle.ftl
index 8566b43..5cb27c5 100644
--- a/templates/WearPlusShared/_MODULE_/build.gradle.ftl
+++ b/templates/WearPlusShared/_MODULE_/build.gradle.ftl
@@ -15,7 +15,7 @@
 -->
 buildscript {
     repositories {
-        mavenCentral()
+        jcenter()
     }
 
     dependencies {
@@ -33,6 +33,10 @@
 }
 </#if>
 
+repositories {
+    jcenter()
+}
+
 dependencies {
 
 <#list sample.dependency as dep>
diff --git a/templates/base/_MODULE_/src/template/res/layout/activity_main.xml b/templates/base/_MODULE_/src/template/res/layout/activity_main.xml
deleted file mode 100755
index be1aa49..0000000
--- a/templates/base/_MODULE_/src/template/res/layout/activity_main.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<!--
-  Copyright 2013 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.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <LinearLayout style="@style/Widget.SampleMessageTile"
-                  android:layout_width="match_parent"
-                  android:layout_height="wrap_content"
-                  android:orientation="vertical">
-
-        <TextView style="@style/Widget.SampleMessage"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/horizontal_page_margin"
-            android:layout_marginRight="@dimen/horizontal_page_margin"
-            android:layout_marginTop="@dimen/vertical_page_margin"
-            android:layout_marginBottom="@dimen/vertical_page_margin"
-            android:text="@string/intro_message" />
-    </LinearLayout>
-</LinearLayout>
