diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/build.gradle b/input/multitouch/BasicMultitouch/BasicMultitouch/build.gradle
deleted file mode 100644
index 9f4459b..0000000
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/build.gradle
+++ /dev/null
@@ -1,6 +0,0 @@
-apply plugin: 'android'
-
-android {
-    compileSdkVersion 18
-    buildToolsVersion "18.0.1"
-}
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/images/MultitouchSample.png b/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/images/MultitouchSample.png
deleted file mode 100644
index 17447e9..0000000
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/images/MultitouchSample.png
+++ /dev/null
Binary files differ
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-hdpi/ic_launcher.png b/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-hdpi/ic_launcher.png
deleted file mode 100644
index c49a01f..0000000
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-hdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-mdpi/ic_launcher.png b/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-mdpi/ic_launcher.png
deleted file mode 100644
index 34d8c42..0000000
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-mdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-xhdpi/ic_launcher.png b/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-xhdpi/ic_launcher.png
deleted file mode 100644
index abb5f12..0000000
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-xhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-xxhdpi/ic_launcher.png b/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-xxhdpi/ic_launcher.png
deleted file mode 100644
index ef649c1..0000000
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/drawable-xxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouchSample/.gitignore b/input/multitouch/BasicMultitouch/BasicMultitouchSample/.gitignore
new file mode 100644
index 0000000..6eb878d
--- /dev/null
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/.gitignore
@@ -0,0 +1,16 @@
+# 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.
+src/template/
+src/common/
+build.gradle
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouchSample/proguard-project.txt b/input/multitouch/BasicMultitouch/BasicMultitouchSample/proguard-project.txt
new file mode 100644
index 0000000..0d8f171
--- /dev/null
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/proguard-project.txt
@@ -0,0 +1,20 @@
+ To enable ProGuard in your project, edit project.properties
+# to define the proguard.config property as described in that file.
+#
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in ${sdk.dir}/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the ProGuard
+# include property in project.properties.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/AndroidManifest.xml b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/AndroidManifest.xml
similarity index 89%
rename from input/multitouch/BasicMultitouch/BasicMultitouch/src/main/AndroidManifest.xml
rename to input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/AndroidManifest.xml
index d6709ef..043345c 100644
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/AndroidManifest.xml
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/AndroidManifest.xml
@@ -16,7 +16,7 @@
 -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.example.input.multitouch.basicMultitouch"
+    package="com.example.android.basicmultitouch"
     android:versionCode="1"
     android:versionName="1.0" >
 
@@ -30,7 +30,7 @@
         android:label="@string/app_name"
         android:theme="@style/AppTheme" >
         <activity
-            android:name="com.example.android.input.multitouch.basicMultitouch.MainActivity"
+            android:name=".MainActivity"
             android:label="@string/app_name" >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/java/com/example/android/input/multitouch/basicMultitouch/MainActivity.java b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/java/com/example/android/basicmultitouch/MainActivity.java
similarity index 86%
rename from input/multitouch/BasicMultitouch/BasicMultitouch/src/main/java/com/example/android/input/multitouch/basicMultitouch/MainActivity.java
rename to input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/java/com/example/android/basicmultitouch/MainActivity.java
index 627ada5..fc95a60 100644
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/java/com/example/android/input/multitouch/basicMultitouch/MainActivity.java
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/java/com/example/android/basicmultitouch/MainActivity.java
@@ -14,24 +14,21 @@
  * limitations under the License.
  */
 
-package com.example.android.input.multitouch.basicMultitouch;
+package com.example.android.basicmultitouch;
 
 import android.app.Activity;
 import android.os.Bundle;
-import android.view.MotionEvent;
-
-import com.android.example.input.multitouch.basicMultitouch.R;
 
 /**
  * This is an example of keeping track of individual touches across multiple
- * {@link MotionEvent}s.
+ * {@link android.view.MotionEvent}s.
  * <p>
  * This is illustrated by a View ({@link TouchDisplayView}) that responds to
  * touch events and draws coloured circles for each pointer, stores the last
  * positions of this pointer and draws them. This example shows the relationship
  * between MotionEvent indices, pointer identifiers and actions.
  *
- * @see MotionEvent
+ * @see android.view.MotionEvent
  */
 public class MainActivity extends Activity {
     TouchDisplayView mView;
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/java/com/example/android/common/Pools.java b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/java/com/example/android/basicmultitouch/Pools.java
similarity index 98%
rename from input/multitouch/BasicMultitouch/BasicMultitouch/src/main/java/com/example/android/common/Pools.java
rename to input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/java/com/example/android/basicmultitouch/Pools.java
index 67c937b..0eda0ee 100644
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/java/com/example/android/common/Pools.java
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/java/com/example/android/basicmultitouch/Pools.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.example.android.common;
+package com.example.android.basicmultitouch;
 
 /**
  * Helper class for crating pools of objects. An example use looks like this:
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/java/com/example/android/input/multitouch/basicMultitouch/TouchDisplayView.java b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/java/com/example/android/basicmultitouch/TouchDisplayView.java
similarity index 95%
rename from input/multitouch/BasicMultitouch/BasicMultitouch/src/main/java/com/example/android/input/multitouch/basicMultitouch/TouchDisplayView.java
rename to input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/java/com/example/android/basicmultitouch/TouchDisplayView.java
index 55bcf8f..78e6abe 100644
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/java/com/example/android/input/multitouch/basicMultitouch/TouchDisplayView.java
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/java/com/example/android/basicmultitouch/TouchDisplayView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.example.android.input.multitouch.basicMultitouch;
+package com.example.android.basicmultitouch;
 
 import android.content.Context;
 import android.graphics.Canvas;
@@ -26,11 +26,11 @@
 import android.view.MotionEvent;
 import android.view.View;
 
-import com.example.android.common.Pools.SimplePool;
+import com.example.android.basicmultitouch.Pools.SimplePool;
 
 /**
  * View that shows touch events and their history. This view demonstrates the
- * use of {@link #onTouchEvent(MotionEvent)} and {@link MotionEvent}s to keep
+ * use of {@link #onTouchEvent(android.view.MotionEvent)} and {@link android.view.MotionEvent}s to keep
  * track of touch pointers across events.
  */
 public class TouchDisplayView extends View {
@@ -123,7 +123,7 @@
         super(context, attrs);
 
         // SparseArray for touch events, indexed by touch id
-        mTouches = new SparseArray<TouchDisplayView.TouchHistory>(10);
+        mTouches = new SparseArray<TouchHistory>(10);
 
         initialisePaint();
     }
@@ -337,7 +337,7 @@
     };
 
     /**
-     * Sets up the required {@link Paint} objects for the screen density of this
+     * Sets up the required {@link android.graphics.Paint} objects for the screen density of this
      * device.
      */
     private void initialisePaint() {
@@ -360,9 +360,9 @@
     }
 
     /**
-     * Draws the data encapsulated by a {@link TouchHistory} object to a canvas.
+     * Draws the data encapsulated by a {@link TouchDisplayView.TouchHistory} object to a canvas.
      * A large circle indicates the current position held by the
-     * {@link TouchHistory} object, while a smaller circle is drawn for each
+     * {@link TouchDisplayView.TouchHistory} object, while a smaller circle is drawn for each
      * entry in its history. The size of the large circle is scaled depending on
      * its pressure, clamped to a maximum of <code>1.0</code>.
      *
@@ -370,7 +370,7 @@
      * @param id
      * @param data
      */
-    protected void drawCircle(Canvas canvas, int id, TouchDisplayView.TouchHistory data) {
+    protected void drawCircle(Canvas canvas, int id, TouchHistory data) {
         // select the color based on the id
         int color = COLORS[id % COLORS.length];
         mCirclePaint.setColor(color);
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-hdpi/ic_launcher.png b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-hdpi/ic_launcher.png
new file mode 100644
index 0000000..b1efaf4
--- /dev/null
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-mdpi/ic_launcher.png b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-mdpi/ic_launcher.png
new file mode 100644
index 0000000..f5f9244
--- /dev/null
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-xhdpi/ic_launcher.png b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..5d07b3f
--- /dev/null
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-xhdpi/ic_launcher.png
Binary files differ
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-xxhdpi/ic_launcher.png b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..6ef21e1
--- /dev/null
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/drawable-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/layout/layout_mainactivity.xml b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/layout/layout_mainactivity.xml
similarity index 79%
rename from input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/layout/layout_mainactivity.xml
rename to input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/layout/layout_mainactivity.xml
index a53e5f1..539a43a 100644
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/layout/layout_mainactivity.xml
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/layout/layout_mainactivity.xml
@@ -8,9 +8,9 @@
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:padding="75dp"
-        android:text="@string/explanation" />
+        android:text="@string/intro_message" />
 
-    <com.example.android.input.multitouch.basicMultitouch.TouchDisplayView
+    <com.example.android.basicmultitouch.TouchDisplayView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" />
 
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/values-v11/styles.xml b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/values-v11/styles.xml
similarity index 100%
rename from input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/values-v11/styles.xml
rename to input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/values-v11/styles.xml
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/values-v14/styles.xml b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/values-v14/styles.xml
similarity index 100%
rename from input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/values-v14/styles.xml
rename to input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/values-v14/styles.xml
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/values/strings.xml b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/values/strings.xml
similarity index 63%
rename from input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/values/strings.xml
rename to input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/values/strings.xml
index 541639c..5765548 100644
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/values/strings.xml
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/values/strings.xml
@@ -17,10 +17,4 @@
 
 <resources>
 
-    <string name="app_name">BasicMultitouch</string>
-    <string name="explanation">This samples demonstrates the use of <b>MotionEvent</b> properties
- to keep track of individual touches across multiple touch events.\n\n
-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>
-
 </resources>
\ No newline at end of file
diff --git a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/values/styles.xml b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/values/styles.xml
similarity index 84%
rename from input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/values/styles.xml
rename to input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/values/styles.xml
index dedc633..e56d4f8 100644
--- a/input/multitouch/BasicMultitouch/BasicMultitouch/src/main/res/values/styles.xml
+++ b/input/multitouch/BasicMultitouch/BasicMultitouchSample/src/main/res/values/styles.xml
@@ -27,9 +27,4 @@
         -->
     </style>
 
-    <!-- Application theme. -->
-    <style name="AppTheme" parent="AppBaseTheme">
-        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
-    </style>
-
 </resources>
\ No newline at end of file
diff --git a/input/multitouch/BasicMultitouch/README.txt b/input/multitouch/BasicMultitouch/README.txt
deleted file mode 100644
index 38608df..0000000
--- a/input/multitouch/BasicMultitouch/README.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Build Instructions
--------------------
-This sample uses the Gradle build system. To build this project, use the
-"gradlew build" command.
-
-To see a list of all available commands, run "gradlew tasks".
\ No newline at end of file
diff --git a/input/multitouch/BasicMultitouch/_index.jd b/input/multitouch/BasicMultitouch/_index.jd
new file mode 100644
index 0000000..2d7bdc5
--- /dev/null
+++ b/input/multitouch/BasicMultitouch/_index.jd
@@ -0,0 +1,14 @@
+
+
+
+page.tags="BasicMultitouch"
+sample.group=NoGroup
+@jd:body
+
+<p>
+    This samples demonstrates the use of MotionEvent properties to keep track of individual touches
+    across multiple touch events.
+</p><p>
+    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>
+</p>
diff --git a/input/multitouch/BasicMultitouch/build.gradle b/input/multitouch/BasicMultitouch/build.gradle
index 036abc8..ffb5c2f 100644
--- a/input/multitouch/BasicMultitouch/build.gradle
+++ b/input/multitouch/BasicMultitouch/build.gradle
@@ -1,8 +1,11 @@
-buildscript {
-    repositories {
-        mavenCentral()
-    }
-    dependencies {
-        classpath 'com.android.tools.build:gradle:0.5.+'
-    }
+
+
+
+
+// BEGIN_EXCLUDE
+apply from: "../../../../../build/build.gradle"
+samplegen {
+  pathToBuild "../../../../../build"
+  pathToSamplesCommon "../../../common"
 }
+// END_EXCLUDE
diff --git a/input/multitouch/BasicMultitouch/buildSrc/build.gradle b/input/multitouch/BasicMultitouch/buildSrc/build.gradle
new file mode 100644
index 0000000..e344a8c
--- /dev/null
+++ b/input/multitouch/BasicMultitouch/buildSrc/build.gradle
@@ -0,0 +1,18 @@
+
+
+
+repositories {
+    mavenCentral()
+}
+dependencies {
+    compile 'org.freemarker:freemarker:2.3.20'
+}
+
+sourceSets {
+    main {
+        groovy {
+            srcDir new File(rootDir, "../../../../../../build/buildSrc/src/main/groovy")
+        }
+    }
+}
+
diff --git a/input/multitouch/BasicMultitouch/gradle/wrapper/gradle-wrapper.properties b/input/multitouch/BasicMultitouch/gradle/wrapper/gradle-wrapper.properties
index 055ba6f..861eddc 100644
--- a/input/multitouch/BasicMultitouch/gradle/wrapper/gradle-wrapper.properties
+++ b/input/multitouch/BasicMultitouch/gradle/wrapper/gradle-wrapper.properties
@@ -1,7 +1,6 @@
-#
-#Mon Jul 22 11:40:20 PDT 2013
+#Wed Apr 10 15:27:10 PDT 2013
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.6-bin.zip
+distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-bin.zip
diff --git a/input/multitouch/BasicMultitouch/multitouch.jd b/input/multitouch/BasicMultitouch/multitouch.jd
deleted file mode 100644
index d9108bb..0000000
--- a/input/multitouch/BasicMultitouch/multitouch.jd
+++ /dev/null
@@ -1,24 +0,0 @@
-page.title=Multitouch Sample
-@jd:body
-
-<p>This samples demonstrates the use of <pre>MotionEvent</pre> properties to keep track of individual touches across multiple touch events.</p>
-
-<p>A <a href="http://developer.android.com/reference/android/view/MotionEvent.html">MotionEvent</a> describes a movement event.
-For touch events, they contain an action, X and Y coordinates and other relevant information. Multi-touch screens can report multiple movement traces at the same time, 
-reporting all active touches within a single <pre>MotionEvent</pre>.</p>
-
-<p>Each pointer has a unique id that is assigned when it first goes down
- (indicated by <pre><a href="/reference/android/view/MotionEvent.html#ACTION_DOWN">ACTION_DOWN</a></pre> or <pre><a href="/reference/android/view/MotionEvent.html#ACTION_POINTER_DOWN">ACTION_POINTER_DOWN</a></pre>).  A pointer id
- remains valid until the pointer eventually goes up (indicated by <pre><a href="/reference/android/view/MotionEvent.html#ACTION_UP">ACTION_UP</a></pre>
- or <pre><a href="/reference/android/view/MotionEvent.html#ACTION_POINTER_UP">ACTION_POINTER_UP</a></pre>) or when the gesture is canceled (indicated by
- <pre><a href="/reference/android/view/MotionEvent.html#ACTION_CANCEL">ACTION_CANCEL</a></pre>).
- </p>
- 
-<p>The sample shows how these pointer identifiers can be used over subsequent events to track individual fingers. 
-This is illustrated by a custom View that responds to touch events. Coloured circles are drawn for each finger, showing its current and past position on the screen.
-This example shows the relationship between <pre>MotionEvent</pre> indices, pointer identifiers and <pre>MotionEvent</pre> actions.</p>
-
-<p>For more information, see the relevant <a href="http://android-developers.blogspot.com.au/2010/06/making-sense-of-multitouch.html">blog post</a> and 
-<a href="http://developer.android.com/reference/android/view/MotionEvent.html"><pre>MotionEvent</pre></a> API documentation. </p> 
-
-<p><img src="images/MultitouchSample.png" /></p>
diff --git a/input/multitouch/BasicMultitouch/settings.gradle b/input/multitouch/BasicMultitouch/settings.gradle
index 5587917..6e6c5ba 100644
--- a/input/multitouch/BasicMultitouch/settings.gradle
+++ b/input/multitouch/BasicMultitouch/settings.gradle
@@ -1 +1,4 @@
-include ':BasicMultitouch'
+
+
+
+include 'BasicMultitouchSample'
diff --git a/input/multitouch/BasicMultitouch/template-params.xml b/input/multitouch/BasicMultitouch/template-params.xml
new file mode 100644
index 0000000..7bd997f
--- /dev/null
+++ b/input/multitouch/BasicMultitouch/template-params.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+
+
+
+<sample>
+    <name>BasicMultitouch</name>
+    <group>NoGroup</group>
+    <package>com.example.android.basicmultitouch</package>
+
+
+
+    <!-- change minSdk if needed-->
+    <minSdk>8</minSdk>
+
+
+    <strings>
+        <intro>
+            <![CDATA[
+This samples 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>
+            ]]>
+        </intro>
+    </strings>
+
+    <template src="base"/>
+    <common src="logger"/>
+
+</sample>
