diff --git a/ui/drawabletinting/drawabletintingSample/.gitignore b/ui/DrawableTinting/Application/.gitignore
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/.gitignore
rename to ui/DrawableTinting/Application/.gitignore
diff --git a/ui/drawabletinting/drawabletintingSample/README-fragmentview.txt b/ui/DrawableTinting/Application/README-fragmentview.txt
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/README-fragmentview.txt
rename to ui/DrawableTinting/Application/README-fragmentview.txt
diff --git a/ui/DrawableTinting/Application/build.gradle b/ui/DrawableTinting/Application/build.gradle
new file mode 100644
index 0000000..5fa47b7
--- /dev/null
+++ b/ui/DrawableTinting/Application/build.gradle
@@ -0,0 +1,59 @@
+buildscript {
+    repositories {
+        mavenCentral()
+    }
+
+    dependencies {
+        classpath 'com.android.tools.build:gradle:0.12.+'
+    }
+}
+
+apply plugin: 'com.android.application'
+
+
+dependencies {
+
+    compile "com.android.support:support-v4:20.+"
+    compile "com.android.support:support-v13:20.+"
+
+}
+
+// The sample build uses multiple directories to
+// keep boilerplate and common code separate from
+// the main sample code.
+List<String> dirs = [
+    'main',     // main sample code; look here for the interesting stuff.
+    'common',   // components that are reused by multiple samples
+    'template'] // boilerplate code that is generated by the sample template process
+
+android {
+    compileSdkVersion "android-L"
+
+    buildToolsVersion "20.0.0"
+
+    sourceSets {
+        main {
+            dirs.each { dir ->
+                java.srcDirs "src/${dir}/java"
+                res.srcDirs "src/${dir}/res"
+            }
+        }
+
+    }
+
+}
+// BEGIN_EXCLUDE
+// Tasks below this line will be hidden from release output
+
+task preflight (dependsOn: parent.preflight) {
+    project.afterEvaluate {
+        // Inject a preflight task into each variant so we have a place to hook tasks
+        // that need to run before any of the android build tasks.
+        //
+        android.applicationVariants.each { variant ->
+            tasks.getByPath("prepare${variant.name.capitalize()}Dependencies").dependsOn preflight
+        }
+    }
+}
+
+// END_EXCLUDE
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/AndroidManifest.xml b/ui/DrawableTinting/Application/src/main/AndroidManifest.xml
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/AndroidManifest.xml
rename to ui/DrawableTinting/Application/src/main/AndroidManifest.xml
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/java/com/example/android/drawabletinting/DrawableTintingFragment.java b/ui/DrawableTinting/Application/src/main/java/com/example/android/drawabletinting/DrawableTintingFragment.java
similarity index 99%
rename from ui/drawabletinting/drawabletintingSample/src/main/java/com/example/android/drawabletinting/DrawableTintingFragment.java
rename to ui/DrawableTinting/Application/src/main/java/com/example/android/drawabletinting/DrawableTintingFragment.java
index 924ca05..cd46fb9 100644
--- a/ui/drawabletinting/drawabletintingSample/src/main/java/com/example/android/drawabletinting/DrawableTintingFragment.java
+++ b/ui/DrawableTinting/Application/src/main/java/com/example/android/drawabletinting/DrawableTintingFragment.java
@@ -14,7 +14,6 @@
 * limitations under the License.
 */
 
-
 package com.example.android.drawabletinting;
 
 import android.graphics.Color;
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/color/custom_tint.xml b/ui/DrawableTinting/Application/src/main/res/color/custom_tint.xml
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/color/custom_tint.xml
rename to ui/DrawableTinting/Application/src/main/res/color/custom_tint.xml
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/drawable-hdpi/btn_default_normal_holo.9.png b/ui/DrawableTinting/Application/src/main/res/drawable-hdpi/btn_default_normal_holo.9.png
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/drawable-hdpi/btn_default_normal_holo.9.png
rename to ui/DrawableTinting/Application/src/main/res/drawable-hdpi/btn_default_normal_holo.9.png
Binary files differ
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/drawable-hdpi/ic_launcher.png b/ui/DrawableTinting/Application/src/main/res/drawable-hdpi/ic_launcher.png
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/drawable-hdpi/ic_launcher.png
rename to ui/DrawableTinting/Application/src/main/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/drawable-mdpi/btn_default_normal_holo.9.png b/ui/DrawableTinting/Application/src/main/res/drawable-mdpi/btn_default_normal_holo.9.png
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/drawable-mdpi/btn_default_normal_holo.9.png
rename to ui/DrawableTinting/Application/src/main/res/drawable-mdpi/btn_default_normal_holo.9.png
Binary files differ
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/drawable-mdpi/ic_launcher.png b/ui/DrawableTinting/Application/src/main/res/drawable-mdpi/ic_launcher.png
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/drawable-mdpi/ic_launcher.png
rename to ui/DrawableTinting/Application/src/main/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/drawable-xhdpi/btn_default_normal_holo.9.png b/ui/DrawableTinting/Application/src/main/res/drawable-xhdpi/btn_default_normal_holo.9.png
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/drawable-xhdpi/btn_default_normal_holo.9.png
rename to ui/DrawableTinting/Application/src/main/res/drawable-xhdpi/btn_default_normal_holo.9.png
Binary files differ
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/drawable-xhdpi/ic_launcher.png b/ui/DrawableTinting/Application/src/main/res/drawable-xhdpi/ic_launcher.png
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/drawable-xhdpi/ic_launcher.png
rename to ui/DrawableTinting/Application/src/main/res/drawable-xhdpi/ic_launcher.png
Binary files differ
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/drawable-xxhdpi/btn_default_normal_holo.9.png b/ui/DrawableTinting/Application/src/main/res/drawable-xxhdpi/btn_default_normal_holo.9.png
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/drawable-xxhdpi/btn_default_normal_holo.9.png
rename to ui/DrawableTinting/Application/src/main/res/drawable-xxhdpi/btn_default_normal_holo.9.png
Binary files differ
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/drawable-xxhdpi/ic_launcher.png b/ui/DrawableTinting/Application/src/main/res/drawable-xxhdpi/ic_launcher.png
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/drawable-xxhdpi/ic_launcher.png
rename to ui/DrawableTinting/Application/src/main/res/drawable-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/drawable/buttonbackground.xml b/ui/DrawableTinting/Application/src/main/res/drawable/buttonbackground.xml
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/drawable/buttonbackground.xml
rename to ui/DrawableTinting/Application/src/main/res/drawable/buttonbackground.xml
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/layout/tinting_fragment.xml b/ui/DrawableTinting/Application/src/main/res/layout/tinting_fragment.xml
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/layout/tinting_fragment.xml
rename to ui/DrawableTinting/Application/src/main/res/layout/tinting_fragment.xml
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/values/color.xml b/ui/DrawableTinting/Application/src/main/res/values/color.xml
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/values/color.xml
rename to ui/DrawableTinting/Application/src/main/res/values/color.xml
diff --git a/ui/drawabletinting/drawabletintingSample/src/main/res/values/strings.xml b/ui/DrawableTinting/Application/src/main/res/values/strings.xml
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/src/main/res/values/strings.xml
rename to ui/DrawableTinting/Application/src/main/res/values/strings.xml
diff --git a/ui/drawabletinting/drawabletintingSample/proguard-project.txt b/ui/DrawableTinting/Application/src/proguard-project.txt
similarity index 100%
rename from ui/drawabletinting/drawabletintingSample/proguard-project.txt
rename to ui/DrawableTinting/Application/src/proguard-project.txt
diff --git a/ui/drawabletinting/drawabletintingSample/src/androidTest/java/com/example/android/drawabletinting/test/SampleTests.java b/ui/DrawableTinting/Application/src/test/SampleTests.java
similarity index 96%
rename from ui/drawabletinting/drawabletintingSample/src/androidTest/java/com/example/android/drawabletinting/test/SampleTests.java
rename to ui/DrawableTinting/Application/src/test/SampleTests.java
index b33d34f..534ad12 100644
--- a/ui/drawabletinting/drawabletintingSample/src/androidTest/java/com/example/android/drawabletinting/test/SampleTests.java
+++ b/ui/DrawableTinting/Application/src/test/SampleTests.java
@@ -13,19 +13,19 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-package com.example.android.drawabletinting.test;
+package android.ui.DrawableTinting.Application.src.test;
 
 import android.graphics.Color;
 import android.graphics.PorterDuff;
 import android.graphics.PorterDuffColorFilter;
 import android.test.ActivityInstrumentationTestCase2;
 import android.test.UiThreadTest;
+import android.ui.DrawableTinting.Application.src.main.java.com.example.android.drawabletinting.DrawableTintingFragment;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.SeekBar;
 import android.widget.Spinner;
 
-import com.example.android.drawabletinting.DrawableTintingFragment;
 import com.example.android.drawabletinting.MainActivity;
 import com.example.android.drawabletinting.R;
 
diff --git a/ui/drawabletinting/CONTRIB.md b/ui/DrawableTinting/CONTRIB.md
similarity index 100%
rename from ui/drawabletinting/CONTRIB.md
rename to ui/DrawableTinting/CONTRIB.md
diff --git a/ui/drawabletinting/LICENSE b/ui/DrawableTinting/LICENSE
similarity index 100%
rename from ui/drawabletinting/LICENSE
rename to ui/DrawableTinting/LICENSE
diff --git a/ui/drawabletinting/README.md b/ui/DrawableTinting/README.md
similarity index 100%
rename from ui/drawabletinting/README.md
rename to ui/DrawableTinting/README.md
diff --git a/ui/drawabletinting/build.gradle b/ui/DrawableTinting/build.gradle
similarity index 98%
rename from ui/drawabletinting/build.gradle
rename to ui/DrawableTinting/build.gradle
index f9f6f65..c7a137e 100644
--- a/ui/drawabletinting/build.gradle
+++ b/ui/DrawableTinting/build.gradle
@@ -1,7 +1,3 @@
-
-
-
-
 // BEGIN_EXCLUDE
 import com.example.android.samples.build.SampleGenPlugin
 apply plugin: SampleGenPlugin
diff --git a/ui/drawabletinting/buildSrc/build.gradle b/ui/DrawableTinting/buildSrc/build.gradle
similarity index 100%
rename from ui/drawabletinting/buildSrc/build.gradle
rename to ui/DrawableTinting/buildSrc/build.gradle
diff --git a/ui/drawabletinting/gradle/wrapper/gradle-wrapper.jar b/ui/DrawableTinting/gradle/wrapper/gradle-wrapper.jar
similarity index 100%
rename from ui/drawabletinting/gradle/wrapper/gradle-wrapper.jar
rename to ui/DrawableTinting/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/ui/drawabletinting/gradle/wrapper/gradle-wrapper.properties b/ui/DrawableTinting/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from ui/drawabletinting/gradle/wrapper/gradle-wrapper.properties
rename to ui/DrawableTinting/gradle/wrapper/gradle-wrapper.properties
diff --git a/ui/drawabletinting/gradlew b/ui/DrawableTinting/gradlew
similarity index 100%
rename from ui/drawabletinting/gradlew
rename to ui/DrawableTinting/gradlew
diff --git a/ui/drawabletinting/gradlew.bat b/ui/DrawableTinting/gradlew.bat
similarity index 99%
rename from ui/drawabletinting/gradlew.bat
rename to ui/DrawableTinting/gradlew.bat
index aec9973..8a0b282 100644
--- a/ui/drawabletinting/gradlew.bat
+++ b/ui/DrawableTinting/gradlew.bat
@@ -1,90 +1,90 @@
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem  Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windowz variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/ui/drawabletinting/packaging.yaml b/ui/DrawableTinting/packaging.yaml
similarity index 100%
rename from ui/drawabletinting/packaging.yaml
rename to ui/DrawableTinting/packaging.yaml
diff --git a/ui/DrawableTinting/settings.gradle b/ui/DrawableTinting/settings.gradle
new file mode 100644
index 0000000..9464a35
--- /dev/null
+++ b/ui/DrawableTinting/settings.gradle
@@ -0,0 +1 @@
+include 'Application'
diff --git a/ui/drawabletinting/template-params.xml b/ui/DrawableTinting/template-params.xml
similarity index 99%
rename from ui/drawabletinting/template-params.xml
rename to ui/DrawableTinting/template-params.xml
index 9f0f482..5c3bd62 100644
--- a/ui/drawabletinting/template-params.xml
+++ b/ui/DrawableTinting/template-params.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
  Copyright 2014 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
@@ -14,15 +13,12 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 -->
-
 <sample>
     <name>DrawableTinting</name>
     <group>UI</group>
     <package>com.example.android.drawabletinting</package>
-
     <!-- change minSdk if needed-->
     <minSdk>L</minSdk>
-
     <strings>
         <intro>
             <![CDATA[
@@ -37,11 +33,8 @@
             ]]>
         </intro>
     </strings>
-
     <template src="base"/>
     <template src="FragmentView"/>
-
     <common src="logger"/>
     <common src="activities"/>
-
-</sample>
+</sample>
\ No newline at end of file
diff --git a/ui/drawabletinting/settings.gradle b/ui/drawabletinting/settings.gradle
deleted file mode 100644
index 906370f..0000000
--- a/ui/drawabletinting/settings.gradle
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-include 'drawabletintingSample'
