am 6da9a761: Merge "Update template location for SDK build"

* commit '6da9a761cd06c67a9c30534b4da2b8447aced5d0':
  Update template location for SDK build
diff --git a/build/tools.atree b/build/tools.atree
index fa98a7b..45f44c9 100644
--- a/build/tools.atree
+++ b/build/tools.atree
@@ -121,10 +121,10 @@
 prebuilts/tools/common/proguard/proguard4.7/src/proguard/ant/task.properties  tools/proguard/ant/task.properties
 
 # Templates
-sdk/templates/projects                  tools/templates/projects
-sdk/templates/activities                tools/templates/activities
-sdk/templates/gradle                    tools/templates/gradle
-sdk/templates/other                     tools/templates/other
+tools/base/templates/projects                  tools/templates/projects
+tools/base/templates/activities                tools/templates/activities
+tools/base/templates/gradle                    tools/templates/gradle
+tools/base/templates/other                     tools/templates/other
 
 # SDK Controller
 sdk/apps/SdkController                  tools/apps/SdkController
diff --git a/templates/activities/BlankActivity/globals.xml.ftl b/templates/activities/BlankActivity/globals.xml.ftl
deleted file mode 100644
index 11aabd7..0000000
--- a/templates/activities/BlankActivity/globals.xml.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="projectOut" value="." />
-    <global id="manifestOut" value="." />
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="resOut" value="res" />
-    <global id="menuName" value="${classToResource(activityClass)}" />
-</globals>
diff --git a/templates/activities/BlankActivity/recipe.xml.ftl b/templates/activities/BlankActivity/recipe.xml.ftl
deleted file mode 100644
index 1889cdc..0000000
--- a/templates/activities/BlankActivity/recipe.xml.ftl
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-    <merge from="AndroidManifest.xml.ftl"
-             to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />
-
-    <instantiate from="res/menu/main.xml.ftl"
-            to="${escapeXmlAttribute(resOut)}/menu/${menuName}.xml" />
-
-    <merge from="res/values/strings.xml.ftl"
-             to="${escapeXmlAttribute(resOut)}/values/strings.xml" />
-
-    <merge from="res/values/dimens.xml"
-             to="${escapeXmlAttribute(resOut)}/values/dimens.xml" />
-    <merge from="res/values-sw600dp/dimens.xml"
-             to="${escapeXmlAttribute(resOut)}/values-sw600dp/dimens.xml" />
-    <merge from="res/values-sw720dp-land/dimens.xml"
-             to="${escapeXmlAttribute(resOut)}/values-sw720dp-land/dimens.xml" />
-
-    <!-- Decide what kind of layout to add (viewpager or not) -->
-    <#if navType?contains("pager")>
-        <instantiate from="res/layout/activity_pager.xml.ftl"
-                       to="${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />
-        <instantiate from="res/layout/fragment_dummy.xml.ftl"
-                       to="${escapeXmlAttribute(resOut)}/layout/fragment_${classToResource(activityClass)}_dummy.xml" />
-
-    <#elseif navType == "tabs" || navType == "dropdown">
-        <instantiate from="res/layout/activity_fragment_container.xml"
-                       to="${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />
-        <instantiate from="res/layout/fragment_dummy.xml.ftl"
-                       to="${escapeXmlAttribute(resOut)}/layout/fragment_${classToResource(activityClass)}_dummy.xml" />
-
-    <#else>
-        <instantiate from="res/layout/activity_simple.xml.ftl"
-                       to="${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />
-    </#if>
-
-    <!-- Decide which activity code to add -->
-    <#if navType == "none">
-        <instantiate from="src/app_package/SimpleActivity.java.ftl"
-                       to="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
-
-    <#elseif navType == "tabs_pager" || navType == "pager_strip">
-        <instantiate from="src/app_package/TabsAndPagerActivity.java.ftl"
-                       to="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
-
-    <#elseif navType == "tabs">
-        <instantiate from="src/app_package/TabsActivity.java.ftl"
-                       to="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
-
-    <#elseif navType == "dropdown">
-        <instantiate from="src/app_package/DropdownActivity.java.ftl"
-                       to="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
-
-    </#if>
-
-    <open file="${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />
-</recipe>
diff --git a/templates/activities/BlankActivity/root/AndroidManifest.xml.ftl b/templates/activities/BlankActivity/root/AndroidManifest.xml.ftl
deleted file mode 100644
index b8ae72e..0000000
--- a/templates/activities/BlankActivity/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,24 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <application>
-        <activity android:name=".${activityClass}"
-            <#if isNewProject>
-            android:label="@string/app_name"
-            <#else>
-            android:label="@string/title_${activityToLayout(activityClass)}"
-            </#if>
-            <#if buildApi gte 16 && parentActivityClass != "">android:parentActivityName="${parentActivityClass}"</#if>>
-            <#if parentActivityClass != "">
-            <meta-data android:name="android.support.PARENT_ACTIVITY"
-                android:value="${parentActivityClass}" />
-            </#if>
-            <#if isLauncher>
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-            </#if>
-        </activity>
-    </application>
-
-</manifest>
diff --git a/templates/activities/BlankActivity/root/res/layout/activity_fragment_container.xml b/templates/activities/BlankActivity/root/res/layout/activity_fragment_container.xml
deleted file mode 100644
index 935d379..0000000
--- a/templates/activities/BlankActivity/root/res/layout/activity_fragment_container.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/container"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".${activityClass}"
-    tools:ignore="MergeRootFrame" />
diff --git a/templates/activities/BlankActivity/root/res/layout/activity_pager.xml.ftl b/templates/activities/BlankActivity/root/res/layout/activity_pager.xml.ftl
deleted file mode 100644
index ab57463..0000000
--- a/templates/activities/BlankActivity/root/res/layout/activity_pager.xml.ftl
+++ /dev/null
@@ -1,24 +0,0 @@
-<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/pager"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".${activityClass}"<#if navType != "pager_strip"> /><#else>>
-
-    <!--
-    This title strip will display the currently visible page title, as well as the page
-    titles for adjacent pages.
-    -->
-
-    <android.support.v4.view.PagerTitleStrip
-        android:id="@+id/pager_title_strip"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="top"
-        android:background="#33b5e5"
-        android:paddingBottom="4dp"
-        android:paddingTop="4dp"
-        android:textColor="#fff" />
-
-</android.support.v4.view.ViewPager>
-</#if>
diff --git a/templates/activities/BlankActivity/root/res/layout/activity_simple.xml.ftl b/templates/activities/BlankActivity/root/res/layout/activity_simple.xml.ftl
deleted file mode 100644
index 9ddd213..0000000
--- a/templates/activities/BlankActivity/root/res/layout/activity_simple.xml.ftl
+++ /dev/null
@@ -1,16 +0,0 @@
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width=<#if buildApi lt 8 >"fill_parent"<#else>"match_parent"</#if>
-    android:layout_height=<#if buildApi lt 8 >"fill_parent"<#else>"match_parent"</#if>
-    android:paddingLeft="@dimen/activity_horizontal_margin"
-    android:paddingRight="@dimen/activity_horizontal_margin"
-    android:paddingTop="@dimen/activity_vertical_margin"
-    android:paddingBottom="@dimen/activity_vertical_margin"
-    tools:context=".${activityClass}">
-
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/hello_world" />
-
-</RelativeLayout>
diff --git a/templates/activities/BlankActivity/root/res/layout/fragment_dummy.xml.ftl b/templates/activities/BlankActivity/root/res/layout/fragment_dummy.xml.ftl
deleted file mode 100644
index 1f21998..0000000
--- a/templates/activities/BlankActivity/root/res/layout/fragment_dummy.xml.ftl
+++ /dev/null
@@ -1,16 +0,0 @@
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width=<#if buildApi lt 8 >"fill_parent"<#else>"match_parent"</#if>
-    android:layout_height=<#if buildApi lt 8 >"fill_parent"<#else>"match_parent"</#if>
-    android:paddingLeft="@dimen/activity_horizontal_margin"
-    android:paddingRight="@dimen/activity_horizontal_margin"
-    android:paddingTop="@dimen/activity_vertical_margin"
-    android:paddingBottom="@dimen/activity_vertical_margin"
-    tools:context=".${activityClass}$DummySectionFragment">
-
-    <TextView
-        android:id="@+id/section_label"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-
-</RelativeLayout>
diff --git a/templates/activities/BlankActivity/root/res/menu/main.xml.ftl b/templates/activities/BlankActivity/root/res/menu/main.xml.ftl
deleted file mode 100644
index e35aa1b..0000000
--- a/templates/activities/BlankActivity/root/res/menu/main.xml.ftl
+++ /dev/null
@@ -1,6 +0,0 @@
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:id="@+id/action_settings"
-        android:title="@string/action_settings"
-        android:orderInCategory="100"<#if buildApi gte 11>
-        android:showAsAction="never"</#if> />
-</menu>
diff --git a/templates/activities/BlankActivity/root/res/values-sw600dp/dimens.xml b/templates/activities/BlankActivity/root/res/values-sw600dp/dimens.xml
deleted file mode 100644
index 886b05f..0000000
--- a/templates/activities/BlankActivity/root/res/values-sw600dp/dimens.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<resources>
-    <!-- Customize dimensions originally defined in res/values/dimens.xml (such as
-         screen margins) for sw600dp devices (e.g. 7" tablets) here. -->
-</resources>
diff --git a/templates/activities/BlankActivity/root/res/values-sw720dp-land/dimens.xml b/templates/activities/BlankActivity/root/res/values-sw720dp-land/dimens.xml
deleted file mode 100644
index 00059fc..0000000
--- a/templates/activities/BlankActivity/root/res/values-sw720dp-land/dimens.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<resources>
-    <!-- Customize dimensions originally defined in res/values/dimens.xml (such as
-         screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here. -->
-    <dimen name="activity_horizontal_margin">128dp</dimen>
-</resources>
diff --git a/templates/activities/BlankActivity/root/res/values/dimens.xml b/templates/activities/BlankActivity/root/res/values/dimens.xml
deleted file mode 100644
index 47c8224..0000000
--- a/templates/activities/BlankActivity/root/res/values/dimens.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<resources>
-    <!-- Default screen margins, per the Android Design guidelines. -->
-    <dimen name="activity_horizontal_margin">16dp</dimen>
-    <dimen name="activity_vertical_margin">16dp</dimen>
-</resources>
diff --git a/templates/activities/BlankActivity/root/res/values/strings.xml.ftl b/templates/activities/BlankActivity/root/res/values/strings.xml.ftl
deleted file mode 100644
index 1c9bc8b..0000000
--- a/templates/activities/BlankActivity/root/res/values/strings.xml.ftl
+++ /dev/null
@@ -1,15 +0,0 @@
-<resources>
-    <#if !isNewProject>
-    <string name="title_${activityToLayout(activityClass)}">${escapeXmlString(activityTitle)}</string>
-    </#if>
-
-    <string name="action_settings">Settings</string>
-
-    <#if navType != "none">
-    <string name="title_section1">Section 1</string>
-    <string name="title_section2">Section 2</string>
-    <string name="title_section3">Section 3</string>
-    <#else>
-    <string name="hello_world">Hello world!</string>
-    </#if>
-</resources>
diff --git a/templates/activities/BlankActivity/root/src/app_package/DropdownActivity.java.ftl b/templates/activities/BlankActivity/root/src/app_package/DropdownActivity.java.ftl
deleted file mode 100644
index cb0665e..0000000
--- a/templates/activities/BlankActivity/root/src/app_package/DropdownActivity.java.ftl
+++ /dev/null
@@ -1,108 +0,0 @@
-package ${packageName};
-
-<#if minApiLevel < 14>import android.annotation.TargetApi;</#if>
-import android.app.ActionBar;
-import android.os.Bundle;
-<#if minApiLevel < 14>import android.content.Context;
-import android.os.Build;</#if>
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.app.NavUtils;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.TextView;
-
-public class ${activityClass} extends FragmentActivity implements ActionBar.OnNavigationListener {
-
-    /**
-     * The serialization (saved instance state) Bundle key representing the
-     * current dropdown position.
-     */
-    private static final String STATE_SELECTED_NAVIGATION_ITEM = "selected_navigation_item";
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.${layoutName});
-
-        // Set up the action bar to show a dropdown list.
-        final ActionBar actionBar = getActionBar();
-        actionBar.setDisplayShowTitleEnabled(false);
-        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
-        <#if parentActivityClass != "">
-        // Show the Up button in the action bar.
-        actionBar.setDisplayHomeAsUpEnabled(true);
-        </#if>
-
-        // Set up the dropdown list navigation in the action bar.
-        actionBar.setListNavigationCallbacks(
-                // Specify a SpinnerAdapter to populate the dropdown list.
-                new ArrayAdapter<String>(
-                        <#if minApiLevel gte 14>actionBar.getThemedContext()<#else>getActionBarThemedContextCompat()</#if>,
-                        android.R.layout.simple_list_item_1,
-                        android.R.id.text1,
-                        new String[] {
-                                getString(R.string.title_section1),
-                                getString(R.string.title_section2),
-                                getString(R.string.title_section3),
-                        }),
-                this);
-    }
-
-    <#if minApiLevel < 14>
-    /**
-     * Backward-compatible version of {@link ActionBar#getThemedContext()} that
-     * simply returns the {@link android.app.Activity} if
-     * <code>getThemedContext</code> is unavailable.
-     */
-    @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
-    private Context getActionBarThemedContextCompat() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
-            return getActionBar().getThemedContext();
-        } else {
-            return this;
-        }
-    }
-    </#if>
-
-    @Override
-    public void onRestoreInstanceState(Bundle savedInstanceState) {
-        // Restore the previously serialized current dropdown position.
-        if (savedInstanceState.containsKey(STATE_SELECTED_NAVIGATION_ITEM)) {
-            getActionBar().setSelectedNavigationItem(
-                    savedInstanceState.getInt(STATE_SELECTED_NAVIGATION_ITEM));
-        }
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        // Serialize the current dropdown position.
-        outState.putInt(STATE_SELECTED_NAVIGATION_ITEM,
-                getActionBar().getSelectedNavigationIndex());
-    }
-
-    <#include "include_onCreateOptionsMenu.java.ftl">
-    <#include "include_onOptionsItemSelected.java.ftl">
-
-    @Override
-    public boolean onNavigationItemSelected(int position, long id) {
-        // When the given dropdown item is selected, show its contents in the
-        // container view.
-        Fragment fragment = new DummySectionFragment();
-        Bundle args = new Bundle();
-        args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, position + 1);
-        fragment.setArguments(args);
-        getSupportFragmentManager().beginTransaction()
-                .replace(R.id.container, fragment)
-                .commit();
-        return true;
-    }
-
-    <#include "include_DummySectionFragment.java.ftl">
-
-}
diff --git a/templates/activities/BlankActivity/root/src/app_package/SimpleActivity.java.ftl b/templates/activities/BlankActivity/root/src/app_package/SimpleActivity.java.ftl
deleted file mode 100644
index 7edd647..0000000
--- a/templates/activities/BlankActivity/root/src/app_package/SimpleActivity.java.ftl
+++ /dev/null
@@ -1,42 +0,0 @@
-package ${packageName};
-
-import android.os.Bundle;
-import android.app.Activity;
-import android.view.Menu;
-<#if parentActivityClass != "">
-import android.view.MenuItem;
-import android.support.v4.app.NavUtils;
-<#if minApiLevel < 11>
-import android.annotation.TargetApi;
-import android.os.Build;
-</#if>
-</#if>
-
-public class ${activityClass} extends Activity {
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.${layoutName});
-        <#if parentActivityClass != "">
-        // Show the Up button in the action bar.
-        setupActionBar();
-        </#if>
-    }
-
-    <#if parentActivityClass != "">
-    /**
-     * Set up the {@link android.app.ActionBar}<#if minApiLevel < 11>, if the API is available</#if>.
-     */
-    <#if minApiLevel < 11>@TargetApi(Build.VERSION_CODES.HONEYCOMB)
-    </#if>private void setupActionBar() {
-        <#if minApiLevel < 11>if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {</#if>
-        getActionBar().setDisplayHomeAsUpEnabled(true);
-        <#if minApiLevel < 11>}</#if>
-    }
-    </#if>
-
-    <#include "include_onCreateOptionsMenu.java.ftl">
-    <#include "include_onOptionsItemSelected.java.ftl">
-
-}
diff --git a/templates/activities/BlankActivity/root/src/app_package/TabsActivity.java.ftl b/templates/activities/BlankActivity/root/src/app_package/TabsActivity.java.ftl
deleted file mode 100644
index 0bf975e..0000000
--- a/templates/activities/BlankActivity/root/src/app_package/TabsActivity.java.ftl
+++ /dev/null
@@ -1,86 +0,0 @@
-package ${packageName};
-
-import android.app.ActionBar;
-import android.app.FragmentTransaction;
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.app.NavUtils;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-public class ${activityClass} extends FragmentActivity implements ActionBar.TabListener {
-
-    /**
-     * The serialization (saved instance state) Bundle key representing the
-     * current tab position.
-     */
-    private static final String STATE_SELECTED_NAVIGATION_ITEM = "selected_navigation_item";
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.${layoutName});
-
-        // Set up the action bar to show tabs.
-        final ActionBar actionBar = getActionBar();
-        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
-        <#if parentActivityClass != "">
-        // Show the Up button in the action bar.
-        actionBar.setDisplayHomeAsUpEnabled(true);
-        </#if>
-
-        // For each of the sections in the app, add a tab to the action bar.
-        actionBar.addTab(actionBar.newTab().setText(R.string.title_section1).setTabListener(this));
-        actionBar.addTab(actionBar.newTab().setText(R.string.title_section2).setTabListener(this));
-        actionBar.addTab(actionBar.newTab().setText(R.string.title_section3).setTabListener(this));
-    }
-
-    @Override
-    public void onRestoreInstanceState(Bundle savedInstanceState) {
-        // Restore the previously serialized current tab position.
-        if (savedInstanceState.containsKey(STATE_SELECTED_NAVIGATION_ITEM)) {
-            getActionBar().setSelectedNavigationItem(
-                    savedInstanceState.getInt(STATE_SELECTED_NAVIGATION_ITEM));
-        }
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        // Serialize the current tab position.
-        outState.putInt(STATE_SELECTED_NAVIGATION_ITEM,
-                getActionBar().getSelectedNavigationIndex());
-    }
-
-    <#include "include_onCreateOptionsMenu.java.ftl">
-    <#include "include_onOptionsItemSelected.java.ftl">
-
-    @Override
-    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
-        // When the given tab is selected, show the tab contents in the
-        // container view.
-        Fragment fragment = new DummySectionFragment();
-        Bundle args = new Bundle();
-        args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, tab.getPosition() + 1);
-        fragment.setArguments(args);
-        getSupportFragmentManager().beginTransaction()
-                .replace(R.id.container, fragment)
-                .commit();
-    }
-
-    @Override
-    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
-    }
-
-    @Override
-    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
-    }
-
-    <#include "include_DummySectionFragment.java.ftl">
-
-}
diff --git a/templates/activities/BlankActivity/root/src/app_package/TabsAndPagerActivity.java.ftl b/templates/activities/BlankActivity/root/src/app_package/TabsAndPagerActivity.java.ftl
deleted file mode 100644
index 30c4f4a..0000000
--- a/templates/activities/BlankActivity/root/src/app_package/TabsAndPagerActivity.java.ftl
+++ /dev/null
@@ -1,153 +0,0 @@
-package ${packageName};
-
-import java.util.Locale;
-
-<#if navType?contains("tabs")>import android.app.ActionBar;
-import android.app.FragmentTransaction;</#if>
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentPagerAdapter;
-import android.support.v4.app.NavUtils;
-import android.support.v4.view.ViewPager;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-public class ${activityClass} extends FragmentActivity<#if navType?contains("tabs")> implements ActionBar.TabListener</#if> {
-
-    /**
-     * The {@link android.support.v4.view.PagerAdapter} that will provide
-     * fragments for each of the sections. We use a
-     * {@link android.support.v4.app.FragmentPagerAdapter} derivative, which
-     * will keep every loaded fragment in memory. If this becomes too memory
-     * intensive, it may be best to switch to a
-     * {@link android.support.v4.app.FragmentStatePagerAdapter}.
-     */
-    SectionsPagerAdapter mSectionsPagerAdapter;
-
-    /**
-     * The {@link ViewPager} that will host the section contents.
-     */
-    ViewPager mViewPager;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.${layoutName});
-
-        <#if navType?contains("tabs")>
-        // Set up the action bar.
-        final ActionBar actionBar = getActionBar();
-        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
-        <#if parentActivityClass != "">
-        // Show the Up button in the action bar.
-        actionBar.setDisplayHomeAsUpEnabled(true);
-        </#if>
-        <#elseif parentActivityClass != "">
-        // Show the Up button in the action bar.
-        getActionBar().setDisplayHomeAsUpEnabled(true);
-        </#if>
-
-        // Create the adapter that will return a fragment for each of the three
-        // primary sections of the app.
-        mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
-
-        // Set up the ViewPager with the sections adapter.
-        mViewPager = (ViewPager) findViewById(R.id.pager);
-        mViewPager.setAdapter(mSectionsPagerAdapter);
-
-        <#if navType?contains("tabs")>
-        // When swiping between different sections, select the corresponding
-        // tab. We can also use ActionBar.Tab#select() to do this if we have
-        // a reference to the Tab.
-        mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
-            @Override
-            public void onPageSelected(int position) {
-                actionBar.setSelectedNavigationItem(position);
-            }
-        });
-
-        // For each of the sections in the app, add a tab to the action bar.
-        for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
-            // Create a tab with text corresponding to the page title defined by
-            // the adapter. Also specify this Activity object, which implements
-            // the TabListener interface, as the callback (listener) for when
-            // this tab is selected.
-            actionBar.addTab(
-                    actionBar.newTab()
-                            .setText(mSectionsPagerAdapter.getPageTitle(i))
-                            .setTabListener(this));
-        }
-        </#if>
-    }
-
-    <#include "include_onCreateOptionsMenu.java.ftl">
-    <#include "include_onOptionsItemSelected.java.ftl">
-
-    <#if navType?contains("tabs")>@Override
-    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
-        // When the given tab is selected, switch to the corresponding page in
-        // the ViewPager.
-        mViewPager.setCurrentItem(tab.getPosition());
-    }
-
-    @Override
-    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
-    }
-
-    @Override
-    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
-    }</#if>
-
-    /**
-     * A {@link FragmentPagerAdapter} that returns a fragment corresponding to
-     * one of the sections/tabs/pages.
-     */
-    public class SectionsPagerAdapter extends FragmentPagerAdapter {
-
-        public SectionsPagerAdapter(FragmentManager fm) {
-            super(fm);
-        }
-
-        @Override
-        public Fragment getItem(int position) {
-            // getItem is called to instantiate the fragment for the given page.
-            // Return a DummySectionFragment (defined as a static inner class
-            // below) with the page number as its lone argument.
-            Fragment fragment = new DummySectionFragment();
-            Bundle args = new Bundle();
-            args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, position + 1);
-            fragment.setArguments(args);
-            return fragment;
-        }
-
-        @Override
-        public int getCount() {
-            // Show 3 total pages.
-            return 3;
-        }
-
-        @Override
-        public CharSequence getPageTitle(int position) {
-            Locale l = Locale.getDefault();
-            switch (position) {
-                case 0:
-                    return getString(R.string.title_section1).toUpperCase(l);
-                case 1:
-                    return getString(R.string.title_section2).toUpperCase(l);
-                case 2:
-                    return getString(R.string.title_section3).toUpperCase(l);
-            }
-            return null;
-        }
-    }
-
-    <#include "include_DummySectionFragment.java.ftl">
-
-}
diff --git a/templates/activities/BlankActivity/root/src/app_package/include_DummySectionFragment.java.ftl b/templates/activities/BlankActivity/root/src/app_package/include_DummySectionFragment.java.ftl
deleted file mode 100644
index 8eb1399..0000000
--- a/templates/activities/BlankActivity/root/src/app_package/include_DummySectionFragment.java.ftl
+++ /dev/null
@@ -1,23 +0,0 @@
-    /**
-     * A dummy fragment representing a section of the app, but that simply
-     * displays dummy text.
-     */
-    public static class DummySectionFragment extends Fragment {
-        /**
-         * The fragment argument representing the section number for this
-         * fragment.
-         */
-        public static final String ARG_SECTION_NUMBER = "section_number";
-
-        public DummySectionFragment() {
-        }
-
-        @Override
-        public View onCreateView(LayoutInflater inflater, ViewGroup container,
-                Bundle savedInstanceState) {
-            View rootView = inflater.inflate(R.layout.fragment_${classToResource(activityClass)}_dummy, container, false);
-            TextView dummyTextView = (TextView) rootView.findViewById(R.id.section_label);
-            dummyTextView.setText(Integer.toString(getArguments().getInt(ARG_SECTION_NUMBER)));
-            return rootView;
-        }
-    }
diff --git a/templates/activities/BlankActivity/root/src/app_package/include_onCreateOptionsMenu.java.ftl b/templates/activities/BlankActivity/root/src/app_package/include_onCreateOptionsMenu.java.ftl
deleted file mode 100644
index 005d629..0000000
--- a/templates/activities/BlankActivity/root/src/app_package/include_onCreateOptionsMenu.java.ftl
+++ /dev/null
@@ -1,6 +0,0 @@
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        // Inflate the menu; this adds items to the action bar if it is present.
-        getMenuInflater().inflate(R.menu.${menuName}, menu);
-        return true;
-    }
diff --git a/templates/activities/BlankActivity/root/src/app_package/include_onOptionsItemSelected.java.ftl b/templates/activities/BlankActivity/root/src/app_package/include_onOptionsItemSelected.java.ftl
deleted file mode 100644
index e1dc462..0000000
--- a/templates/activities/BlankActivity/root/src/app_package/include_onOptionsItemSelected.java.ftl
+++ /dev/null
@@ -1,19 +0,0 @@
-    <#if parentActivityClass != "">
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case android.R.id.home:
-                // This ID represents the Home or Up button. In the case of this
-                // activity, the Up button is shown. Use NavUtils to allow users
-                // to navigate up one level in the application structure. For
-                // more details, see the Navigation pattern on Android Design:
-                //
-                // http://developer.android.com/design/patterns/navigation.html#up-vs-back
-                //
-                NavUtils.navigateUpFromSameTask(this);
-                return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-    </#if>
diff --git a/templates/activities/BlankActivity/template.xml b/templates/activities/BlankActivity/template.xml
deleted file mode 100644
index 8b02ba9..0000000
--- a/templates/activities/BlankActivity/template.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="3"
-    revision="3"
-    name="Blank Activity"
-    description="Creates a new blank activity, with an action bar and optional navigational elements such as tabs or horizontal swipe.">
-    <dependency name="android-support-v4" revision="8" />
-
-    <category value="Activities" />
-
-    <parameter
-        id="activityClass"
-        name="Activity Name"
-        type="string"
-        constraints="class|unique|nonempty"
-        suggest="${layoutToActivity(layoutName)}"
-        default="MainActivity"
-        help="The name of the activity class to create" />
-
-    <parameter
-        id="layoutName"
-        name="Layout Name"
-        type="string"
-        constraints="layout|unique|nonempty"
-        suggest="${activityToLayout(activityClass)}"
-        default="activity_main"
-        help="The name of the layout to create for the activity" />
-
-    <parameter
-        id="activityTitle"
-        name="Title"
-        type="string"
-        constraints="nonempty"
-        default="MainActivity"
-        suggest="${activityClass}"
-        help="The name of the activity. For launcher activities, the application title." />
-
-    <parameter
-        id="isLauncher"
-        name="Launcher Activity"
-        type="boolean"
-        default="false"
-        help="If true, this activity will have a CATEGORY_LAUNCHER intent filter, making it visible in the launcher" />
-
-    <parameter
-        id="parentActivityClass"
-        name="Hierarchical Parent"
-        type="string"
-        constraints="activity|exists|empty"
-        default=""
-        help="The hierarchical parent activity, used to provide a default implementation for the 'Up' button" />
-
-    <parameter
-        id="navType"
-        name="Navigation Type"
-        type="enum"
-        default="none"
-        help="The type of navigation to use for the activity" >
-        <option id="none" default="true">None</option>
-        <!--<option id="tabs" minApi="11">Fixed Tabs</option>-->
-        <option id="tabs_pager" minApi="11">Fixed Tabs + Swipe</option>
-        <option id="pager_strip" minApi="11">Scrollable Tabs + Swipe</option>
-        <option id="dropdown" minApi="11">Dropdown</option>
-    </parameter>
-
-    <parameter
-        id="packageName"
-        name="Package name"
-        type="string"
-        constraints="package"
-        default="com.mycompany.myapp" />
-
-    <!-- 128x128 thumbnails relative to template.xml -->
-    <thumbs>
-        <!-- default thumbnail is required -->
-        <thumb>template_blank_activity.png</thumb>
-        <!-- attributes act as selectors based on chosen parameters -->
-        <thumb navType="none">template_blank_activity.png</thumb>
-        <thumb navType="tabs">template_blank_activity_tabs.png</thumb>
-        <thumb navType="tabs_pager">template_blank_activity_tabs_pager.png</thumb>
-        <thumb navType="pager_strip">template_blank_activity_pager.png</thumb>
-        <thumb navType="dropdown">template_blank_activity_dropdown.png</thumb>
-    </thumbs>
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/activities/BlankActivity/template_blank_activity.png b/templates/activities/BlankActivity/template_blank_activity.png
deleted file mode 100644
index 729dd1c..0000000
--- a/templates/activities/BlankActivity/template_blank_activity.png
+++ /dev/null
Binary files differ
diff --git a/templates/activities/BlankActivity/template_blank_activity_dropdown.png b/templates/activities/BlankActivity/template_blank_activity_dropdown.png
deleted file mode 100644
index 09fa2cf..0000000
--- a/templates/activities/BlankActivity/template_blank_activity_dropdown.png
+++ /dev/null
Binary files differ
diff --git a/templates/activities/BlankActivity/template_blank_activity_pager.png b/templates/activities/BlankActivity/template_blank_activity_pager.png
deleted file mode 100644
index 7cd8e0e..0000000
--- a/templates/activities/BlankActivity/template_blank_activity_pager.png
+++ /dev/null
Binary files differ
diff --git a/templates/activities/BlankActivity/template_blank_activity_tabs.png b/templates/activities/BlankActivity/template_blank_activity_tabs.png
deleted file mode 100644
index 86a09d6..0000000
--- a/templates/activities/BlankActivity/template_blank_activity_tabs.png
+++ /dev/null
Binary files differ
diff --git a/templates/activities/BlankActivity/template_blank_activity_tabs_pager.png b/templates/activities/BlankActivity/template_blank_activity_tabs_pager.png
deleted file mode 100644
index 0697a56..0000000
--- a/templates/activities/BlankActivity/template_blank_activity_tabs_pager.png
+++ /dev/null
Binary files differ
diff --git a/templates/activities/FullscreenActivity/globals.xml.ftl b/templates/activities/FullscreenActivity/globals.xml.ftl
deleted file mode 100644
index 6d73e17..0000000
--- a/templates/activities/FullscreenActivity/globals.xml.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="projectOut" value="." />
-    <global id="manifestOut" value="." />
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="resOut" value="res" />
-    <global id="simpleName" value="${activityToLayout(activityClass)}" />
-</globals>
diff --git a/templates/activities/FullscreenActivity/recipe.xml.ftl b/templates/activities/FullscreenActivity/recipe.xml.ftl
deleted file mode 100644
index 6f121a8..0000000
--- a/templates/activities/FullscreenActivity/recipe.xml.ftl
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-    <merge from="AndroidManifest.xml.ftl"
-             to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />
-
-    <merge from="res/values/attrs.xml"
-             to="${escapeXmlAttribute(resOut)}/values/attrs.xml" />
-    <merge from="res/values/colors.xml"
-             to="${escapeXmlAttribute(resOut)}/values/colors.xml" />
-    <merge from="res/values/styles.xml"
-              to="${escapeXmlAttribute(resOut)}/values/styles.xml" />
-    <merge from="res/values-v11/styles.xml"
-             to="${escapeXmlAttribute(resOut)}/values-v11/styles.xml" />
-    <instantiate from="res/layout/activity_fullscreen.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />
-
-    <merge from="res/values/strings.xml.ftl"
-             to="${escapeXmlAttribute(resOut)}/values/strings.xml" />
-
-    <instantiate from="src/app_package/FullscreenActivity.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
-    <instantiate from="src/app_package/util/SystemUiHider.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/util/SystemUiHider.java" />
-    <instantiate from="src/app_package/util/SystemUiHiderBase.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/util/SystemUiHiderBase.java" />
-    <instantiate from="src/app_package/util/SystemUiHiderHoneycomb.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/util/SystemUiHiderHoneycomb.java" />
-
-    <open file="${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />
-</recipe>
diff --git a/templates/activities/FullscreenActivity/root/AndroidManifest.xml.ftl b/templates/activities/FullscreenActivity/root/AndroidManifest.xml.ftl
deleted file mode 100644
index b909732..0000000
--- a/templates/activities/FullscreenActivity/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,26 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <application>
-        <activity android:name=".${activityClass}"
-            <#if isNewProject>
-            android:label="@string/app_name"
-            <#else>
-            android:label="@string/title_${simpleName}"
-            </#if>
-            android:configChanges="orientation|keyboardHidden|screenSize"
-            android:theme="@style/FullscreenTheme"
-            <#if buildApi gte 16 && parentActivityClass != "">android:parentActivityName="${parentActivityClass}"</#if>>
-            <#if parentActivityClass != "">
-            <meta-data android:name="android.support.PARENT_ACTIVITY"
-                android:value="${parentActivityClass}" />
-            </#if>
-            <#if isLauncher>
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-            </#if>
-        </activity>
-    </application>
-
-</manifest>
diff --git a/templates/activities/FullscreenActivity/root/res/layout/activity_fullscreen.xml.ftl b/templates/activities/FullscreenActivity/root/res/layout/activity_fullscreen.xml.ftl
deleted file mode 100644
index 39f801a..0000000
--- a/templates/activities/FullscreenActivity/root/res/layout/activity_fullscreen.xml.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="#0099cc"
-    tools:context=".${activityClass}">
-
-    <!-- The primary full-screen view. This can be replaced with whatever view
-         is needed to present your content, e.g. VideoView, SurfaceView,
-         TextureView, etc. -->
-    <TextView android:id="@+id/fullscreen_content"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:keepScreenOn="true"
-        android:textColor="#33b5e5"
-        android:textStyle="bold"
-        android:textSize="50sp"
-        android:gravity="center"
-        android:text="@string/dummy_content" />
-
-    <!-- This FrameLayout insets its children based on system windows using
-         android:fitsSystemWindows. -->
-    <FrameLayout android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:fitsSystemWindows="true">
-
-        <LinearLayout android:id="@+id/fullscreen_content_controls"
-            style="?buttonBarStyle"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_gravity="bottom|center_horizontal"
-            android:background="@color/black_overlay"
-            android:orientation="horizontal"
-            tools:ignore="UselessParent">
-
-            <Button android:id="@+id/dummy_button"
-                style="?buttonBarButtonStyle"
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:text="@string/dummy_button" />
-
-        </LinearLayout>
-    </FrameLayout>
-
-</FrameLayout>
diff --git a/templates/activities/FullscreenActivity/root/res/values-v11/styles.xml b/templates/activities/FullscreenActivity/root/res/values-v11/styles.xml
deleted file mode 100644
index feaeb70..0000000
--- a/templates/activities/FullscreenActivity/root/res/values-v11/styles.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<resources>
-
-    <style name="FullscreenTheme" parent="android:Theme.Holo">
-        <item name="android:actionBarStyle">@style/FullscreenActionBarStyle</item>
-        <item name="android:windowActionBarOverlay">true</item>
-        <item name="android:windowBackground">@null</item>
-        <item name="buttonBarStyle">?android:attr/buttonBarStyle</item>
-        <item name="buttonBarButtonStyle">?android:attr/buttonBarButtonStyle</item>
-    </style>
-
-    <style name="FullscreenActionBarStyle" parent="android:Widget.Holo.ActionBar">
-        <item name="android:background">@color/black_overlay</item>
-    </style>
-
-</resources>
diff --git a/templates/activities/FullscreenActivity/root/res/values/attrs.xml b/templates/activities/FullscreenActivity/root/res/values/attrs.xml
deleted file mode 100644
index 2cf1a1a..0000000
--- a/templates/activities/FullscreenActivity/root/res/values/attrs.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<resources>
-
-    <!-- Declare custom theme attributes that allow changing which styles are
-         used for button bars depending on the API level.
-         ?android:attr/buttonBarStyle is new as of API 11 so this is
-         necessary to support previous API levels. -->
-    <declare-styleable name="ButtonBarContainerTheme">
-        <attr name="buttonBarStyle" format="reference" />
-        <attr name="buttonBarButtonStyle" format="reference" />
-    </declare-styleable>
-
-</resources>
diff --git a/templates/activities/FullscreenActivity/root/res/values/colors.xml b/templates/activities/FullscreenActivity/root/res/values/colors.xml
deleted file mode 100644
index 327c060..0000000
--- a/templates/activities/FullscreenActivity/root/res/values/colors.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<resources>
-
-    <color name="black_overlay">#66000000</color>
-
-</resources>
diff --git a/templates/activities/FullscreenActivity/root/res/values/strings.xml.ftl b/templates/activities/FullscreenActivity/root/res/values/strings.xml.ftl
deleted file mode 100644
index 00043bd..0000000
--- a/templates/activities/FullscreenActivity/root/res/values/strings.xml.ftl
+++ /dev/null
@@ -1,9 +0,0 @@
-<resources>
-
-    <#if !isNewProject>
-    <string name="title_${simpleName}">${escapeXmlString(activityTitle)}</string>
-    </#if>
-    <string name="dummy_button">Dummy Button</string>
-    <string name="dummy_content">DUMMY\nCONTENT</string>
-
-</resources>
diff --git a/templates/activities/FullscreenActivity/root/res/values/styles.xml b/templates/activities/FullscreenActivity/root/res/values/styles.xml
deleted file mode 100644
index 48bb968..0000000
--- a/templates/activities/FullscreenActivity/root/res/values/styles.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<resources>
-
-    <style name="FullscreenTheme" parent="android:Theme.NoTitleBar">
-        <item name="android:windowContentOverlay">@null</item>
-        <item name="android:windowBackground">@null</item>
-        <item name="buttonBarStyle">@style/ButtonBar</item>
-        <item name="buttonBarButtonStyle">@style/ButtonBarButton</item>
-    </style>
-
-    <!-- Backward-compatible version of ?android:attr/buttonBarStyle -->
-    <style name="ButtonBar">
-        <item name="android:paddingLeft">2dp</item>
-        <item name="android:paddingTop">5dp</item>
-        <item name="android:paddingRight">2dp</item>
-        <item name="android:paddingBottom">0dp</item>
-        <item name="android:background">@android:drawable/bottom_bar</item>
-    </style>
-
-    <!-- Backward-compatible version of ?android:attr/buttonBarButtonStyle -->
-    <style name="ButtonBarButton" />
-
-</resources>
diff --git a/templates/activities/FullscreenActivity/root/src/app_package/FullscreenActivity.java.ftl b/templates/activities/FullscreenActivity/root/src/app_package/FullscreenActivity.java.ftl
deleted file mode 100644
index 4714244..0000000
--- a/templates/activities/FullscreenActivity/root/src/app_package/FullscreenActivity.java.ftl
+++ /dev/null
@@ -1,197 +0,0 @@
-package ${packageName};
-
-import ${packageName}.util.SystemUiHider;
-
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.Handler;
-import android.view.MotionEvent;
-import android.view.View;
-<#if parentActivityClass != "">
-import android.view.MenuItem;
-import android.support.v4.app.NavUtils;
-</#if>
-
-/**
- * An example full-screen activity that shows and hides the system UI (i.e.
- * status bar and navigation/system bar) with user interaction.
- *
- * @see SystemUiHider
- */
-public class ${activityClass} extends Activity {
-    /**
-     * Whether or not the system UI should be auto-hidden after
-     * {@link #AUTO_HIDE_DELAY_MILLIS} milliseconds.
-     */
-    private static final boolean AUTO_HIDE = true;
-
-    /**
-     * If {@link #AUTO_HIDE} is set, the number of milliseconds to wait after
-     * user interaction before hiding the system UI.
-     */
-    private static final int AUTO_HIDE_DELAY_MILLIS = 3000;
-
-    /**
-     * If set, will toggle the system UI visibility upon interaction. Otherwise,
-     * will show the system UI visibility upon interaction.
-     */
-    private static final boolean TOGGLE_ON_CLICK = true;
-
-    /**
-     * The flags to pass to {@link SystemUiHider#getInstance}.
-     */
-    private static final int HIDER_FLAGS = SystemUiHider.FLAG_HIDE_NAVIGATION;
-
-    /**
-     * The instance of the {@link SystemUiHider} for this activity.
-     */
-    private SystemUiHider mSystemUiHider;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        setContentView(R.layout.${layoutName});
-        <#if parentActivityClass != "">
-        setupActionBar();
-        </#if>
-
-        final View controlsView = findViewById(R.id.fullscreen_content_controls);
-        final View contentView = findViewById(R.id.fullscreen_content);
-
-        // Set up an instance of SystemUiHider to control the system UI for
-        // this activity.
-        mSystemUiHider = SystemUiHider.getInstance(this, contentView, HIDER_FLAGS);
-        mSystemUiHider.setup();
-        mSystemUiHider
-                .setOnVisibilityChangeListener(new SystemUiHider.OnVisibilityChangeListener() {
-                    // Cached values.
-                    int mControlsHeight;
-                    int mShortAnimTime;
-
-                    @Override
-                    @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
-                    public void onVisibilityChange(boolean visible) {
-                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
-                            // If the ViewPropertyAnimator API is available
-                            // (Honeycomb MR2 and later), use it to animate the
-                            // in-layout UI controls at the bottom of the
-                            // screen.
-                            if (mControlsHeight == 0) {
-                                mControlsHeight = controlsView.getHeight();
-                            }
-                            if (mShortAnimTime == 0) {
-                                mShortAnimTime = getResources().getInteger(
-                                        android.R.integer.config_shortAnimTime);
-                            }
-                            controlsView.animate()
-                                    .translationY(visible ? 0 : mControlsHeight)
-                                    .setDuration(mShortAnimTime);
-                        } else {
-                            // If the ViewPropertyAnimator APIs aren't
-                            // available, simply show or hide the in-layout UI
-                            // controls.
-                            controlsView.setVisibility(visible ? View.VISIBLE : View.GONE);
-                        }
-
-                        if (visible && AUTO_HIDE) {
-                            // Schedule a hide().
-                            delayedHide(AUTO_HIDE_DELAY_MILLIS);
-                        }
-                    }
-                });
-
-        // Set up the user interaction to manually show or hide the system UI.
-        contentView.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (TOGGLE_ON_CLICK) {
-                    mSystemUiHider.toggle();
-                } else {
-                    mSystemUiHider.show();
-                }
-            }
-        });
-
-        // Upon interacting with UI controls, delay any scheduled hide()
-        // operations to prevent the jarring behavior of controls going away
-        // while interacting with the UI.
-        findViewById(R.id.dummy_button).setOnTouchListener(mDelayHideTouchListener);
-    }
-
-    @Override
-    protected void onPostCreate(Bundle savedInstanceState) {
-        super.onPostCreate(savedInstanceState);
-
-        // Trigger the initial hide() shortly after the activity has been
-        // created, to briefly hint to the user that UI controls
-        // are available.
-        delayedHide(100);
-    }
-
-    <#if parentActivityClass != "">
-    /**
-     * Set up the {@link android.app.ActionBar}, if the API is available.
-     */
-    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
-    private void setupActionBar() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
-            // Show the Up button in the action bar.
-            getActionBar().setDisplayHomeAsUpEnabled(true);
-        }
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case android.R.id.home:
-                // This ID represents the Home or Up button. In the case of this
-                // activity, the Up button is shown. Use NavUtils to allow users
-                // to navigate up one level in the application structure. For
-                // more details, see the Navigation pattern on Android Design:
-                //
-                // http://developer.android.com/design/patterns/navigation.html#up-vs-back
-                //
-                // TODO: If Settings has multiple levels, Up should navigate up
-                // that hierarchy.
-                NavUtils.navigateUpFromSameTask(this);
-                return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-    </#if>
-
-    /**
-     * Touch listener to use for in-layout UI controls to delay hiding the
-     * system UI. This is to prevent the jarring behavior of controls going away
-     * while interacting with activity UI.
-     */
-    View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() {
-        @Override
-        public boolean onTouch(View view, MotionEvent motionEvent) {
-            if (AUTO_HIDE) {
-                delayedHide(AUTO_HIDE_DELAY_MILLIS);
-            }
-            return false;
-        }
-    };
-
-    Handler mHideHandler = new Handler();
-    Runnable mHideRunnable = new Runnable() {
-        @Override
-        public void run() {
-            mSystemUiHider.hide();
-        }
-    };
-
-    /**
-     * Schedules a call to hide() in [delay] milliseconds, canceling any
-     * previously scheduled calls.
-     */
-    private void delayedHide(int delayMillis) {
-        mHideHandler.removeCallbacks(mHideRunnable);
-        mHideHandler.postDelayed(mHideRunnable, delayMillis);
-    }
-}
diff --git a/templates/activities/FullscreenActivity/root/src/app_package/util/SystemUiHider.java.ftl b/templates/activities/FullscreenActivity/root/src/app_package/util/SystemUiHider.java.ftl
deleted file mode 100644
index 28efb77..0000000
--- a/templates/activities/FullscreenActivity/root/src/app_package/util/SystemUiHider.java.ftl
+++ /dev/null
@@ -1,172 +0,0 @@
-package ${packageName}.util;
-
-import android.app.Activity;
-import android.os.Build;
-import android.view.View;
-
-/**
- * A utility class that helps with showing and hiding system UI such as the
- * status bar and navigation/system bar. This class uses backward-compatibility
- * techniques described in <a href=
- * "http://developer.android.com/training/backward-compatible-ui/index.html">
- * Creating Backward-Compatible UIs</a> to ensure that devices running any
- * version of ndroid OS are supported. More specifically, there are separate
- * implementations of this abstract class: for newer devices,
- * {@link #getInstance} will return a {@link SystemUiHiderHoneycomb} instance,
- * while on older devices {@link #getInstance} will return a
- * {@link SystemUiHiderBase} instance.
- * <p>
- * For more on system bars, see <a href=
- * "http://developer.android.com/design/get-started/ui-overview.html#system-bars"
- * > System Bars</a>.
- * 
- * @see android.view.View#setSystemUiVisibility(int)
- * @see android.view.WindowManager.LayoutParams#FLAG_FULLSCREEN
- */
-public abstract class SystemUiHider {
-    /**
-     * When this flag is set, the
-     * {@link android.view.WindowManager.LayoutParams#FLAG_LAYOUT_IN_SCREEN}
-     * flag will be set on older devices, making the status bar "float" on top
-     * of the activity layout. This is most useful when there are no controls at
-     * the top of the activity layout.
-     * <p>
-     * This flag isn't used on newer devices because the <a
-     * href="http://developer.android.com/design/patterns/actionbar.html">action
-     * bar</a>, the most important structural element of an Android app, should
-     * be visible and not obscured by the system UI.
-     */
-    public static final int FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES = 0x1;
-
-    /**
-     * When this flag is set, {@link #show()} and {@link #hide()} will toggle
-     * the visibility of the status bar. If there is a navigation bar, show and
-     * hide will toggle low profile mode.
-     */
-    public static final int FLAG_FULLSCREEN = 0x2;
-
-    /**
-     * When this flag is set, {@link #show()} and {@link #hide()} will toggle
-     * the visibility of the navigation bar, if it's present on the device and
-     * the device allows hiding it. In cases where the navigation bar is present
-     * but cannot be hidden, show and hide will toggle low profile mode.
-     */
-    public static final int FLAG_HIDE_NAVIGATION = FLAG_FULLSCREEN | 0x4;
-
-    /**
-     * The activity associated with this UI hider object.
-     */
-    protected Activity mActivity;
-
-    /**
-     * The view on which {@link View#setSystemUiVisibility(int)} will be called.
-     */
-    protected View mAnchorView;
-
-    /**
-     * The current UI hider flags.
-     * 
-     * @see #FLAG_FULLSCREEN
-     * @see #FLAG_HIDE_NAVIGATION
-     * @see #FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES
-     */
-    protected int mFlags;
-
-    /**
-     * The current visibility callback.
-     */
-    protected OnVisibilityChangeListener mOnVisibilityChangeListener = sDummyListener;
-
-    /**
-     * Creates and returns an instance of {@link SystemUiHider} that is
-     * appropriate for this device. The object will be either a
-     * {@link SystemUiHiderBase} or {@link SystemUiHiderHoneycomb} depending on
-     * the device.
-     * 
-     * @param activity The activity whose window's system UI should be
-     *            controlled by this class.
-     * @param anchorView The view on which
-     *            {@link View#setSystemUiVisibility(int)} will be called.
-     * @param flags Either 0 or any combination of {@link #FLAG_FULLSCREEN},
-     *            {@link #FLAG_HIDE_NAVIGATION}, and
-     *            {@link #FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES}.
-     */
-    public static SystemUiHider getInstance(Activity activity, View anchorView, int flags) {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
-            return new SystemUiHiderHoneycomb(activity, anchorView, flags);
-        } else {
-            return new SystemUiHiderBase(activity, anchorView, flags);
-        }
-    }
-
-    protected SystemUiHider(Activity activity, View anchorView, int flags) {
-        mActivity = activity;
-        mAnchorView = anchorView;
-        mFlags = flags;
-    }
-
-    /**
-     * Sets up the system UI hider. Should be called from
-     * {@link Activity#onCreate}.
-     */
-    public abstract void setup();
-
-    /**
-     * Returns whether or not the system UI is visible.
-     */
-    public abstract boolean isVisible();
-
-    /**
-     * Hide the system UI.
-     */
-    public abstract void hide();
-
-    /**
-     * Show the system UI.
-     */
-    public abstract void show();
-
-    /**
-     * Toggle the visibility of the system UI.
-     */
-    public void toggle() {
-        if (isVisible()) {
-            hide();
-        } else {
-            show();
-        }
-    }
-
-    /**
-     * Registers a callback, to be triggered when the system UI visibility
-     * changes.
-     */
-    public void setOnVisibilityChangeListener(OnVisibilityChangeListener listener) {
-        if (listener == null) {
-            listener = sDummyListener;
-        }
-
-        mOnVisibilityChangeListener = listener;
-    }
-
-    /**
-     * A dummy no-op callback for use when there is no other listener set.
-     */
-    private static OnVisibilityChangeListener sDummyListener = new OnVisibilityChangeListener() {
-        @Override
-        public void onVisibilityChange(boolean visible) {
-        }
-    };
-
-    /**
-     * A callback interface used to listen for system UI visibility changes.
-     */
-    public interface OnVisibilityChangeListener {
-        /**
-         * Called when the system UI visibility has changed.
-         * 
-         * @param visible True if the system UI is visible.
-         */
-        public void onVisibilityChange(boolean visible);
-    }
-}
diff --git a/templates/activities/FullscreenActivity/root/src/app_package/util/SystemUiHiderBase.java.ftl b/templates/activities/FullscreenActivity/root/src/app_package/util/SystemUiHiderBase.java.ftl
deleted file mode 100644
index da08842..0000000
--- a/templates/activities/FullscreenActivity/root/src/app_package/util/SystemUiHiderBase.java.ftl
+++ /dev/null
@@ -1,63 +0,0 @@
-package ${packageName}.util;
-
-import android.app.Activity;
-import android.view.View;
-import android.view.WindowManager;
-
-/**
- * A base implementation of {@link SystemUiHider}. Uses APIs available in all
- * API levels to show and hide the status bar.
- */
-public class SystemUiHiderBase extends SystemUiHider {
-    /**
-     * Whether or not the system UI is currently visible. This is a cached value
-     * from calls to {@link #hide()} and {@link #show()}.
-     */
-    private boolean mVisible = true;
-
-    /**
-     * Constructor not intended to be called by clients. Use
-     * {@link SystemUiHider#getInstance} to obtain an instance.
-     */
-    protected SystemUiHiderBase(Activity activity, View anchorView, int flags) {
-        super(activity, anchorView, flags);
-    }
-
-    @Override
-    public void setup() {
-        if ((mFlags & FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES) == 0) {
-            mActivity.getWindow().setFlags(
-                    WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
-                            | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
-                    WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
-                            | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
-        }
-    }
-
-    @Override
-    public boolean isVisible() {
-        return mVisible;
-    }
-
-    @Override
-    public void hide() {
-        if ((mFlags & FLAG_FULLSCREEN) != 0) {
-            mActivity.getWindow().setFlags(
-                    WindowManager.LayoutParams.FLAG_FULLSCREEN,
-                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
-        }
-        mOnVisibilityChangeListener.onVisibilityChange(false);
-        mVisible = false;
-    }
-
-    @Override
-    public void show() {
-        if ((mFlags & FLAG_FULLSCREEN) != 0) {
-            mActivity.getWindow().setFlags(
-                    0,
-                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
-        }
-        mOnVisibilityChangeListener.onVisibilityChange(true);
-        mVisible = true;
-    }
-}
diff --git a/templates/activities/FullscreenActivity/root/src/app_package/util/SystemUiHiderHoneycomb.java.ftl b/templates/activities/FullscreenActivity/root/src/app_package/util/SystemUiHiderHoneycomb.java.ftl
deleted file mode 100644
index 2e2d8a9..0000000
--- a/templates/activities/FullscreenActivity/root/src/app_package/util/SystemUiHiderHoneycomb.java.ftl
+++ /dev/null
@@ -1,133 +0,0 @@
-package ${packageName}.util;
-
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.os.Build;
-import android.view.View;
-import android.view.WindowManager;
-
-/**
- * An API 11+ implementation of {@link SystemUiHider}. Uses APIs available in
- * Honeycomb and later (specifically {@link View#setSystemUiVisibility(int)}) to
- * show and hide the system UI.
- */
-@TargetApi(Build.VERSION_CODES.HONEYCOMB)
-public class SystemUiHiderHoneycomb extends SystemUiHiderBase {
-    /**
-     * Flags for {@link View#setSystemUiVisibility(int)} to use when showing the
-     * system UI.
-     */
-    private int mShowFlags;
-
-    /**
-     * Flags for {@link View#setSystemUiVisibility(int)} to use when hiding the
-     * system UI.
-     */
-    private int mHideFlags;
-
-    /**
-     * Flags to test against the first parameter in
-     * {@link android.view.View.OnSystemUiVisibilityChangeListener#onSystemUiVisibilityChange(int)}
-     * to determine the system UI visibility state.
-     */
-    private int mTestFlags;
-
-    /**
-     * Whether or not the system UI is currently visible. This is cached from
-     * {@link android.view.View.OnSystemUiVisibilityChangeListener}.
-     */
-    private boolean mVisible = true;
-
-    /**
-     * Constructor not intended to be called by clients. Use
-     * {@link SystemUiHider#getInstance} to obtain an instance.
-     */
-    protected SystemUiHiderHoneycomb(Activity activity, View anchorView, int flags) {
-        super(activity, anchorView, flags);
-
-        mShowFlags = View.SYSTEM_UI_FLAG_VISIBLE;
-        mHideFlags = View.SYSTEM_UI_FLAG_LOW_PROFILE;
-        mTestFlags = View.SYSTEM_UI_FLAG_LOW_PROFILE;
-
-        if ((mFlags & FLAG_FULLSCREEN) != 0) {
-            // If the client requested fullscreen, add flags relevant to hiding
-            // the status bar. Note that some of these constants are new as of
-            // API 16 (Jelly Bean). It is safe to use them, as they are inlined
-            // at compile-time and do nothing on pre-Jelly Bean devices.
-            mShowFlags |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
-            mHideFlags |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
-                    | View.SYSTEM_UI_FLAG_FULLSCREEN;
-        }
-
-        if ((mFlags & FLAG_HIDE_NAVIGATION) != 0) {
-            // If the client requested hiding navigation, add relevant flags.
-            mShowFlags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
-            mHideFlags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
-                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
-            mTestFlags |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void setup() {
-        mAnchorView.setOnSystemUiVisibilityChangeListener(mSystemUiVisibilityChangeListener);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void hide() {
-        mAnchorView.setSystemUiVisibility(mHideFlags);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void show() {
-        mAnchorView.setSystemUiVisibility(mShowFlags);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public boolean isVisible() {
-        return mVisible;
-    }
-
-    private View.OnSystemUiVisibilityChangeListener mSystemUiVisibilityChangeListener
-            = new View.OnSystemUiVisibilityChangeListener() {
-        @Override
-        public void onSystemUiVisibilityChange(int vis) {
-            // Test against mTestFlags to see if the system UI is visible.
-            if ((vis & mTestFlags) != 0) {
-                if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
-                    // Pre-Jelly Bean, we must manually hide the action bar
-                    // and use the old window flags API.
-                    mActivity.getActionBar().hide();
-                    mActivity.getWindow().setFlags(
-                            WindowManager.LayoutParams.FLAG_FULLSCREEN,
-                            WindowManager.LayoutParams.FLAG_FULLSCREEN);
-                }
-
-                // Trigger the registered listener and cache the visibility
-                // state.
-                mOnVisibilityChangeListener.onVisibilityChange(false);
-                mVisible = false;
-
-            } else {
-                mAnchorView.setSystemUiVisibility(mShowFlags);
-                if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
-                    // Pre-Jelly Bean, we must manually show the action bar
-                    // and use the old window flags API.
-                    mActivity.getActionBar().show();
-                    mActivity.getWindow().setFlags(
-                            0,
-                            WindowManager.LayoutParams.FLAG_FULLSCREEN);
-                }
-
-                // Trigger the registered listener and cache the visibility
-                // state.
-                mOnVisibilityChangeListener.onVisibilityChange(true);
-                mVisible = true;
-            }
-        }
-    };
-}
diff --git a/templates/activities/FullscreenActivity/template.xml b/templates/activities/FullscreenActivity/template.xml
deleted file mode 100644
index d2617fb..0000000
--- a/templates/activities/FullscreenActivity/template.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="3"
-    revision="3"
-    name="Fullscreen Activity"
-    description="Creates a new activity that toggles the visibility of the system UI (status and navigation bars) and action bar upon user interaction."
-    minApi="4"
-    minBuildApi="16">
-    <dependency name="android-support-v4" revision="8" />
-
-    <category value="Activities" />
-
-    <parameter
-        id="activityClass"
-        name="Activity Name"
-        type="string"
-        constraints="class|unique|nonempty"
-        default="FullscreenActivity"
-        help="The name of the activity class to create" />
-
-    <parameter
-        id="layoutName"
-        name="Layout Name"
-        type="string"
-        constraints="layout|unique|nonempty"
-        suggest="${activityToLayout(activityClass)}"
-        default="activity_fullscreen"
-        help="The name of the layout to create for the activity" />
-
-    <parameter
-        id="activityTitle"
-        name="Title"
-        type="string"
-        constraints="nonempty"
-        default="FullscreenActivity"
-        suggest="${activityClass}"
-        help="The name of the activity." />
-
-    <parameter
-        id="isLauncher"
-        name="Launcher Activity"
-        type="boolean"
-        default="false"
-        help="If true, this activity will have a CATEGORY_LAUNCHER intent filter, making it visible in the launcher" />
-
-    <parameter
-        id="parentActivityClass"
-        name="Hierarchical Parent"
-        type="string"
-        constraints="activity|exists|empty"
-        default=""
-        help="The hierarchical parent activity, used to provide a default implementation for the 'Up' button" />
-
-    <parameter
-        id="packageName"
-        name="Package name"
-        type="string"
-        constraints="package"
-        default="com.mycompany.myapp" />
-
-    <thumbs>
-        <thumb>template_fullscreen_activity.png</thumb>
-    </thumbs>
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/activities/FullscreenActivity/template_fullscreen_activity.png b/templates/activities/FullscreenActivity/template_fullscreen_activity.png
deleted file mode 100644
index a8597b2..0000000
--- a/templates/activities/FullscreenActivity/template_fullscreen_activity.png
+++ /dev/null
Binary files differ
diff --git a/templates/activities/LoginActivity/globals.xml.ftl b/templates/activities/LoginActivity/globals.xml.ftl
deleted file mode 100644
index fbe8985..0000000
--- a/templates/activities/LoginActivity/globals.xml.ftl
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="projectOut" value="." />
-    <global id="manifestOut" value="." />
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="resOut" value="res" />
-    <global id="menuName" value="${classToResource(activityClass)}" />
-    <global id="simpleName" value="${activityToLayout(activityClass)}" />
-</globals>
diff --git a/templates/activities/LoginActivity/recipe.xml.ftl b/templates/activities/LoginActivity/recipe.xml.ftl
deleted file mode 100644
index 94f93d6..0000000
--- a/templates/activities/LoginActivity/recipe.xml.ftl
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-    <merge from="AndroidManifest.xml.ftl"
-             to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />
-
-    <merge from="res/values/styles.xml"
-             to="${escapeXmlAttribute(resOut)}/values/styles.xml" />
-    <merge from="res/values-large/styles.xml"
-             to="${escapeXmlAttribute(resOut)}/values-large/styles.xml" />
-    <copy from="res/menu/activity_login.xml"
-            to="${escapeXmlAttribute(resOut)}/menu/${menuName}.xml" />
-    <instantiate from="res/layout/activity_login.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />
-
-    <instantiate from="res/values/strings.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/values/strings_${simpleName}.xml" />
-
-    <instantiate from="src/app_package/LoginActivity.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
-
-    <open file="${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />
-</recipe>
diff --git a/templates/activities/LoginActivity/root/AndroidManifest.xml.ftl b/templates/activities/LoginActivity/root/AndroidManifest.xml.ftl
deleted file mode 100644
index c5f02d2..0000000
--- a/templates/activities/LoginActivity/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,19 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <application>
-        <activity android:name=".${activityClass}"
-            <#if isNewProject>
-            android:label="@string/app_name"
-            <#else>
-            android:label="@string/title_${simpleName}"
-            </#if>
-            android:windowSoftInputMode="adjustResize|stateVisible"
-            <#if buildApi gte 16 && parentActivityClass != "">android:parentActivityName="${parentActivityClass}"</#if>>
-            <#if parentActivityClass != "">
-            <meta-data android:name="android.support.PARENT_ACTIVITY"
-                android:value="${parentActivityClass}" />
-            </#if>
-        </activity>
-    </application>
-
-</manifest>
diff --git a/templates/activities/LoginActivity/root/res/layout/activity_login.xml.ftl b/templates/activities/LoginActivity/root/res/layout/activity_login.xml.ftl
deleted file mode 100644
index 9434e5b..0000000
--- a/templates/activities/LoginActivity/root/res/layout/activity_login.xml.ftl
+++ /dev/null
@@ -1,69 +0,0 @@
-<merge xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    tools:context=".${activityClass}">
-
-    <!-- Login progress -->
-    <LinearLayout android:id="@+id/login_status"
-        android:visibility="gone"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:gravity="center_horizontal"
-        android:orientation="vertical">
-        <ProgressBar style="?android:attr/progressBarStyleLarge"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginBottom="8dp"/>
-        <TextView
-            android:id="@+id/login_status_message"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:fontFamily="sans-serif-light"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginBottom="16dp"
-            android:text="@string/login_progress_signing_in" />
-    </LinearLayout>
-
-    <!-- Login form -->
-    <ScrollView
-        android:id="@+id/login_form"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <LinearLayout style="@style/LoginFormContainer"
-            android:orientation="vertical">
-
-            <EditText
-                android:id="@+id/email"
-                android:singleLine="true"
-                android:maxLines="1"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:inputType="textEmailAddress"
-                android:hint="@string/prompt_email" />
-
-            <EditText
-                android:id="@+id/password"
-                android:singleLine="true"
-                android:maxLines="1"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:hint="@string/prompt_password"
-                android:inputType="textPassword"
-                android:imeActionLabel="@string/action_sign_in_short"
-                android:imeActionId="@+id/login"
-                android:imeOptions="actionUnspecified" />
-
-            <Button android:id="@+id/sign_in_button"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="16dp"
-                android:text="@string/action_sign_in_register"
-                android:paddingLeft="32dp"
-                android:paddingRight="32dp"
-                android:layout_gravity="right" />
-
-        </LinearLayout>
-
-    </ScrollView>
-</merge>
diff --git a/templates/activities/LoginActivity/root/res/menu/activity_login.xml b/templates/activities/LoginActivity/root/res/menu/activity_login.xml
deleted file mode 100644
index 2965794..0000000
--- a/templates/activities/LoginActivity/root/res/menu/activity_login.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:id="@+id/action_forgot_password"
-        android:title="@string/action_forgot_password"
-        android:showAsAction="never" />
-</menu>
diff --git a/templates/activities/LoginActivity/root/res/values-large/styles.xml b/templates/activities/LoginActivity/root/res/values-large/styles.xml
deleted file mode 100644
index 7b56acd..0000000
--- a/templates/activities/LoginActivity/root/res/values-large/styles.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<resources>
-
-    <style name="LoginFormContainer">
-        <item name="android:layout_width">400dp</item>
-        <item name="android:layout_height">wrap_content</item>
-        <item name="android:layout_gravity">center</item>
-        <item name="android:padding">16dp</item>
-    </style>
-
-</resources>
diff --git a/templates/activities/LoginActivity/root/res/values/strings.xml.ftl b/templates/activities/LoginActivity/root/res/values/strings.xml.ftl
deleted file mode 100644
index def1b2f..0000000
--- a/templates/activities/LoginActivity/root/res/values/strings.xml.ftl
+++ /dev/null
@@ -1,21 +0,0 @@
-<resources>
-    <#if !isNewProject>
-    <string name="title_${simpleName}">${escapeXmlString(activityTitle)}</string>
-    </#if>
-
-    <!-- Strings related to login -->
-    <string name="prompt_email">Email</string>
-    <string name="prompt_password">Password</string>
-
-    <string name="action_sign_in_register"><b>Sign in</b> or register</string>
-    <string name="action_sign_in_short">Sign in</string>
-
-    <string name="action_forgot_password">Recover lost password</string>
-
-    <string name="login_progress_signing_in">Signing in&#8230;</string>
-
-    <string name="error_invalid_email">This email address is invalid</string>
-    <string name="error_invalid_password">This password is too short</string>
-    <string name="error_incorrect_password">This password is incorrect</string>
-    <string name="error_field_required">This field is required</string>
-</resources>
diff --git a/templates/activities/LoginActivity/root/res/values/styles.xml b/templates/activities/LoginActivity/root/res/values/styles.xml
deleted file mode 100644
index eaec28d..0000000
--- a/templates/activities/LoginActivity/root/res/values/styles.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<resources>
-
-    <style name="LoginFormContainer">
-        <item name="android:layout_width">match_parent</item>
-        <item name="android:layout_height">wrap_content</item>
-        <item name="android:padding">16dp</item>
-    </style>
-
-</resources>
diff --git a/templates/activities/LoginActivity/root/src/app_package/LoginActivity.java.ftl b/templates/activities/LoginActivity/root/src/app_package/LoginActivity.java.ftl
deleted file mode 100644
index 8defdc7..0000000
--- a/templates/activities/LoginActivity/root/src/app_package/LoginActivity.java.ftl
+++ /dev/null
@@ -1,278 +0,0 @@
-package ${packageName};
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.os.AsyncTask;
-import android.os.Build;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.KeyEvent;
-import android.view.Menu;
-import android.view.View;
-import android.view.inputmethod.EditorInfo;
-import android.widget.EditText;
-import android.widget.TextView;
-<#if parentActivityClass != "">
-import android.view.MenuItem;
-import android.support.v4.app.NavUtils;
-</#if>
-
-/**
- * Activity which displays a login screen to the user, offering registration as
- * well.
- */
-public class ${activityClass} extends Activity {
-    /**
-     * A dummy authentication store containing known user names and passwords.
-     * TODO: remove after connecting to a real authentication system.
-     */
-    private static final String[] DUMMY_CREDENTIALS = new String[]{
-            "foo@example.com:hello",
-            "bar@example.com:world"
-    };
-
-    /**
-     * The default email to populate the email field with.
-     */
-    public static final String EXTRA_EMAIL = "com.example.android.authenticatordemo.extra.EMAIL";
-
-    /**
-     * Keep track of the login task to ensure we can cancel it if requested.
-     */
-    private UserLoginTask mAuthTask = null;
-
-    // Values for email and password at the time of the login attempt.
-    private String mEmail;
-    private String mPassword;
-
-    // UI references.
-    private EditText mEmailView;
-    private EditText mPasswordView;
-    private View mLoginFormView;
-    private View mLoginStatusView;
-    private TextView mLoginStatusMessageView;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        setContentView(R.layout.${layoutName});
-        <#if parentActivityClass != "">
-        setupActionBar();
-        </#if>
-
-        // Set up the login form.
-        mEmail = getIntent().getStringExtra(EXTRA_EMAIL);
-        mEmailView = (EditText) findViewById(R.id.email);
-        mEmailView.setText(mEmail);
-
-        mPasswordView = (EditText) findViewById(R.id.password);
-        mPasswordView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
-            @Override
-            public boolean onEditorAction(TextView textView, int id, KeyEvent keyEvent) {
-                if (id == R.id.login || id == EditorInfo.IME_NULL) {
-                    attemptLogin();
-                    return true;
-                }
-                return false;
-            }
-        });
-
-        mLoginFormView = findViewById(R.id.login_form);
-        mLoginStatusView = findViewById(R.id.login_status);
-        mLoginStatusMessageView = (TextView) findViewById(R.id.login_status_message);
-
-        findViewById(R.id.sign_in_button).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                attemptLogin();
-            }
-        });
-    }
-
-    <#if parentActivityClass != "">
-    /**
-     * Set up the {@link android.app.ActionBar}, if the API is available.
-     */
-    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
-    private void setupActionBar() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
-            // Show the Up button in the action bar.
-            getActionBar().setDisplayHomeAsUpEnabled(true);
-        }
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case android.R.id.home:
-                // This ID represents the Home or Up button. In the case of this
-                // activity, the Up button is shown. Use NavUtils to allow users
-                // to navigate up one level in the application structure. For
-                // more details, see the Navigation pattern on Android Design:
-                //
-                // http://developer.android.com/design/patterns/navigation.html#up-vs-back
-                //
-                // TODO: If Settings has multiple levels, Up should navigate up
-                // that hierarchy.
-                NavUtils.navigateUpFromSameTask(this);
-                return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-    </#if>
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        super.onCreateOptionsMenu(menu);
-        getMenuInflater().inflate(R.menu.${menuName}, menu);
-        return true;
-    }
-
-    /**
-     * Attempts to sign in or register the account specified by the login form.
-     * If there are form errors (invalid email, missing fields, etc.), the
-     * errors are presented and no actual login attempt is made.
-     */
-    public void attemptLogin() {
-        if (mAuthTask != null) {
-            return;
-        }
-
-        // Reset errors.
-        mEmailView.setError(null);
-        mPasswordView.setError(null);
-
-        // Store values at the time of the login attempt.
-        mEmail = mEmailView.getText().toString();
-        mPassword = mPasswordView.getText().toString();
-
-        boolean cancel = false;
-        View focusView = null;
-
-        // Check for a valid password.
-        if (TextUtils.isEmpty(mPassword)) {
-            mPasswordView.setError(getString(R.string.error_field_required));
-            focusView = mPasswordView;
-            cancel = true;
-        } else if (mPassword.length() < 4) {
-            mPasswordView.setError(getString(R.string.error_invalid_password));
-            focusView = mPasswordView;
-            cancel = true;
-        }
-
-        // Check for a valid email address.
-        if (TextUtils.isEmpty(mEmail)) {
-            mEmailView.setError(getString(R.string.error_field_required));
-            focusView = mEmailView;
-            cancel = true;
-        } else if (!mEmail.contains("@")) {
-            mEmailView.setError(getString(R.string.error_invalid_email));
-            focusView = mEmailView;
-            cancel = true;
-        }
-
-        if (cancel) {
-            // There was an error; don't attempt login and focus the first
-            // form field with an error.
-            focusView.requestFocus();
-        } else {
-            // Show a progress spinner, and kick off a background task to
-            // perform the user login attempt.
-            mLoginStatusMessageView.setText(R.string.login_progress_signing_in);
-            showProgress(true);
-            mAuthTask = new UserLoginTask();
-            mAuthTask.execute((Void) null);
-        }
-    }
-
-    /**
-     * Shows the progress UI and hides the login form.
-     */
-    @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
-    private void showProgress(final boolean show) {
-        // On Honeycomb MR2 we have the ViewPropertyAnimator APIs, which allow
-        // for very easy animations. If available, use these APIs to fade-in
-        // the progress spinner.
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
-            int shortAnimTime = getResources().getInteger(android.R.integer.config_shortAnimTime);
-
-            mLoginStatusView.setVisibility(View.VISIBLE);
-            mLoginStatusView.animate()
-                    .setDuration(shortAnimTime)
-                    .alpha(show ? 1 : 0)
-                    .setListener(new AnimatorListenerAdapter() {
-                        @Override
-                        public void onAnimationEnd(Animator animation) {
-                            mLoginStatusView.setVisibility(show ? View.VISIBLE : View.GONE);
-                        }
-                    });
-
-            mLoginFormView.setVisibility(View.VISIBLE);
-            mLoginFormView.animate()
-                    .setDuration(shortAnimTime)
-                    .alpha(show ? 0 : 1)
-                    .setListener(new AnimatorListenerAdapter() {
-                        @Override
-                        public void onAnimationEnd(Animator animation) {
-                            mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);
-                        }
-                    });
-        } else {
-            // The ViewPropertyAnimator APIs are not available, so simply show
-            // and hide the relevant UI components.
-            mLoginStatusView.setVisibility(show ? View.VISIBLE : View.GONE);
-            mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);
-        }
-    }
-
-    /**
-     * Represents an asynchronous login/registration task used to authenticate
-     * the user.
-     */
-    public class UserLoginTask extends AsyncTask<Void, Void, Boolean> {
-        @Override
-        protected Boolean doInBackground(Void... params) {
-            // TODO: attempt authentication against a network service.
-
-            try {
-                // Simulate network access.
-                Thread.sleep(2000);
-            } catch (InterruptedException e) {
-                return false;
-            }
-
-            for (String credential : DUMMY_CREDENTIALS) {
-                String[] pieces = credential.split(":");
-                if (pieces[0].equals(mEmail)) {
-                    // Account exists, return true if the password matches.
-                    return pieces[1].equals(mPassword);
-                }
-            }
-
-            // TODO: register the new account here.
-            return true;
-        }
-
-        @Override
-        protected void onPostExecute(final Boolean success) {
-            mAuthTask = null;
-            showProgress(false);
-
-            if (success) {
-                finish();
-            } else {
-                mPasswordView.setError(getString(R.string.error_incorrect_password));
-                mPasswordView.requestFocus();
-            }
-        }
-
-        @Override
-        protected void onCancelled() {
-            mAuthTask = null;
-            showProgress(false);
-        }
-    }
-}
diff --git a/templates/activities/LoginActivity/template.xml b/templates/activities/LoginActivity/template.xml
deleted file mode 100644
index ccfc7ad..0000000
--- a/templates/activities/LoginActivity/template.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="3"
-    revision="3"
-    name="Login Activity"
-    description="Creates a new login activity, allowing users to enter an email address and password to log in to or register with your application."
-    minApi="3"
-    minBuildApi="13">
-    <dependency name="android-support-v4" revision="8" />
-
-    <category value="Activities" />
-
-    <parameter
-        id="activityClass"
-        name="Activity Name"
-        type="string"
-        constraints="class|unique|nonempty"
-        default="LoginActivity"
-        help="The name of the activity class to create" />
-
-    <parameter
-        id="layoutName"
-        name="Layout Name"
-        type="string"
-        constraints="layout|unique|nonempty"
-        suggest="${activityToLayout(activityClass)}"
-        default="activity_login"
-        help="The name of the layout to create for the activity" />
-
-    <parameter
-        id="activityTitle"
-        name="Title"
-        type="string"
-        constraints="nonempty"
-        default="Sign in"
-        help="The name of the activity." />
-
-    <parameter
-        id="parentActivityClass"
-        name="Hierarchical Parent"
-        type="string"
-        constraints="activity|exists|empty"
-        default=""
-        help="The hierarchical parent activity, used to provide a default implementation for the 'Up' button" />
-
-    <parameter
-        id="packageName"
-        name="Package name"
-        type="string"
-        constraints="package"
-        default="com.mycompany.myapp" />
-
-    <thumbs>
-        <thumb>template_login_activity.png</thumb>
-    </thumbs>
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/activities/LoginActivity/template_login_activity.png b/templates/activities/LoginActivity/template_login_activity.png
deleted file mode 100644
index 0f9bfc0..0000000
--- a/templates/activities/LoginActivity/template_login_activity.png
+++ /dev/null
Binary files differ
diff --git a/templates/activities/MasterDetailFlow/globals.xml.ftl b/templates/activities/MasterDetailFlow/globals.xml.ftl
deleted file mode 100644
index 415d60e..0000000
--- a/templates/activities/MasterDetailFlow/globals.xml.ftl
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="projectOut" value="." />
-    <global id="manifestOut" value="." />
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="resOut" value="res" />
-    <global id="CollectionName" value="${extractLetters(objectKind)}List" />
-    <global id="collection_name" value="${extractLetters(objectKind?lower_case)}_list" />
-    <global id="DetailName" value="${extractLetters(objectKind)}Detail" />
-    <global id="detail_name" value="${extractLetters(objectKind?lower_case)}_detail" />
-</globals>
diff --git a/templates/activities/MasterDetailFlow/recipe.xml.ftl b/templates/activities/MasterDetailFlow/recipe.xml.ftl
deleted file mode 100644
index 4b39f74..0000000
--- a/templates/activities/MasterDetailFlow/recipe.xml.ftl
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-    <merge from="AndroidManifest.xml.ftl"
-             to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />
-
-    <merge from="res/values-large/refs.xml.ftl"
-             to="${escapeXmlAttribute(resOut)}/values-large/refs.xml" />
-    <merge from="res/values-sw600dp/refs.xml.ftl"
-             to="${escapeXmlAttribute(resOut)}/values-sw600dp/refs.xml" />
-    <merge from="res/values/strings.xml.ftl"
-             to="${escapeXmlAttribute(resOut)}/values/strings.xml" />
-
-    <instantiate from="res/layout/activity_content_detail.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/layout/activity_${detail_name}.xml" />
-    <instantiate from="res/layout/activity_content_list.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/layout/activity_${collection_name}.xml" />
-    <instantiate from="res/layout/activity_content_twopane.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/layout/activity_${extractLetters(objectKind?lower_case)}_twopane.xml" />
-    <instantiate from="res/layout/fragment_content_detail.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/layout/fragment_${detail_name}.xml" />
-
-    <instantiate from="src/app_package/ContentDetailActivity.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/${DetailName}Activity.java" />
-    <instantiate from="src/app_package/ContentDetailFragment.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/${DetailName}Fragment.java" />
-    <instantiate from="src/app_package/ContentListActivity.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/${CollectionName}Activity.java" />
-    <instantiate from="src/app_package/ContentListFragment.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/${CollectionName}Fragment.java" />
-    <instantiate from="src/app_package/dummy/DummyContent.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/dummy/DummyContent.java" />
-</recipe>
diff --git a/templates/activities/MasterDetailFlow/root/AndroidManifest.xml.ftl b/templates/activities/MasterDetailFlow/root/AndroidManifest.xml.ftl
deleted file mode 100644
index 4707bd6..0000000
--- a/templates/activities/MasterDetailFlow/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,31 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <application>
-        <activity android:name=".${CollectionName}Activity"
-            <#if isNewProject>
-            android:label="@string/app_name"
-            <#else>
-            android:label="@string/title_${collection_name}"
-            </#if>
-            <#if buildApi gte 16 && parentActivityClass != "">android:parentActivityName="${parentActivityClass}"</#if>>
-            <#if parentActivityClass != "">
-            <meta-data android:name="android.support.PARENT_ACTIVITY"
-                android:value="${parentActivityClass}" />
-            </#if>
-            <#if isLauncher>
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-            </#if>
-        </activity>
-
-        <activity android:name=".${DetailName}Activity"
-            android:label="@string/title_${detail_name}"
-            <#if buildApi gte 16>android:parentActivityName=".${CollectionName}Activity"</#if>>
-            <meta-data android:name="android.support.PARENT_ACTIVITY"
-                android:value=".${CollectionName}Activity" />
-        </activity>
-    </application>
-
-</manifest>
diff --git a/templates/activities/MasterDetailFlow/root/res/layout/activity_content_detail.xml.ftl b/templates/activities/MasterDetailFlow/root/res/layout/activity_content_detail.xml.ftl
deleted file mode 100644
index ddc1ecc..0000000
--- a/templates/activities/MasterDetailFlow/root/res/layout/activity_content_detail.xml.ftl
+++ /dev/null
@@ -1,7 +0,0 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/${detail_name}_container"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".${DetailName}Activity"
-    tools:ignore="MergeRootFrame" />
diff --git a/templates/activities/MasterDetailFlow/root/res/layout/activity_content_list.xml.ftl b/templates/activities/MasterDetailFlow/root/res/layout/activity_content_list.xml.ftl
deleted file mode 100644
index 065cd42..0000000
--- a/templates/activities/MasterDetailFlow/root/res/layout/activity_content_list.xml.ftl
+++ /dev/null
@@ -1,10 +0,0 @@
-<fragment xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/${collection_name}"
-    android:name="${packageName}.${CollectionName}Fragment"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:layout_marginLeft="16dp"
-    android:layout_marginRight="16dp"
-    tools:context=".${CollectionName}Activity"
-    tools:layout="@android:layout/list_content" />
diff --git a/templates/activities/MasterDetailFlow/root/res/layout/activity_content_twopane.xml.ftl b/templates/activities/MasterDetailFlow/root/res/layout/activity_content_twopane.xml.ftl
deleted file mode 100644
index 575e9e6..0000000
--- a/templates/activities/MasterDetailFlow/root/res/layout/activity_content_twopane.xml.ftl
+++ /dev/null
@@ -1,38 +0,0 @@
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:layout_marginLeft="16dp"
-    android:layout_marginRight="16dp"
-    android:baselineAligned="false"
-    android:divider="?android:attr/dividerHorizontal"
-    android:orientation="horizontal"
-    android:showDividers="middle"
-    tools:context=".${CollectionName}Activity">
-
-    <!--
-    This layout is a two-pane layout for the ${objectKindPlural}
-    master/detail flow. See res/values-large/refs.xml and
-    res/values-sw600dp/refs.xml for an example of layout aliases
-    that replace the single-pane version of the layout with
-    this two-pane version.
-
-    For more on layout aliases, see:
-    http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
-    -->
-
-    <fragment
-        android:id="@+id/${collection_name}"
-        android:name="${packageName}.${CollectionName}Fragment"
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        tools:layout="@android:layout/list_content" />
-
-    <FrameLayout
-        android:id="@+id/${detail_name}_container"
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="3" />
-
-</LinearLayout>
diff --git a/templates/activities/MasterDetailFlow/root/res/layout/fragment_content_detail.xml.ftl b/templates/activities/MasterDetailFlow/root/res/layout/fragment_content_detail.xml.ftl
deleted file mode 100644
index 808fc31..0000000
--- a/templates/activities/MasterDetailFlow/root/res/layout/fragment_content_detail.xml.ftl
+++ /dev/null
@@ -1,9 +0,0 @@
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/${detail_name}"
-    style="?android:attr/textAppearanceLarge"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:padding="16dp"
-    android:textIsSelectable="true"
-    tools:context=".${DetailName}Fragment" />
diff --git a/templates/activities/MasterDetailFlow/root/res/values-large/refs.xml.ftl b/templates/activities/MasterDetailFlow/root/res/values-large/refs.xml.ftl
deleted file mode 100644
index 97215c3..0000000
--- a/templates/activities/MasterDetailFlow/root/res/values-large/refs.xml.ftl
+++ /dev/null
@@ -1,10 +0,0 @@
-<resources>
-    <!--
-    Layout alias to replace the single-pane version of the layout with a
-    two-pane version on Large screens.
-
-    For more on layout aliases, see:
-    http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
-    -->
-    <item type="layout" name="activity_${collection_name}">@layout/activity_${extractLetters(objectKind?lower_case)}_twopane</item>
-</resources>
diff --git a/templates/activities/MasterDetailFlow/root/res/values-sw600dp/refs.xml.ftl b/templates/activities/MasterDetailFlow/root/res/values-sw600dp/refs.xml.ftl
deleted file mode 100644
index d592404..0000000
--- a/templates/activities/MasterDetailFlow/root/res/values-sw600dp/refs.xml.ftl
+++ /dev/null
@@ -1,11 +0,0 @@
-<resources>
-    <!--
-    Layout alias to replace the single-pane version of the layout with a
-    two-pane version on screens with a smallest width (smallest dimension)
-    of at least 600 density-independent pixels (dips).
-
-    For more on layout aliases, see:
-    http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
-    -->
-    <item type="layout" name="activity_${collection_name}">@layout/activity_${extractLetters(objectKind?lower_case)}_twopane</item>
-</resources>
diff --git a/templates/activities/MasterDetailFlow/root/res/values/strings.xml.ftl b/templates/activities/MasterDetailFlow/root/res/values/strings.xml.ftl
deleted file mode 100644
index ea882bc..0000000
--- a/templates/activities/MasterDetailFlow/root/res/values/strings.xml.ftl
+++ /dev/null
@@ -1,6 +0,0 @@
-<resources>
-    <#if !isNewProject>
-    <string name="title_${collection_name}">${escapeXmlString(objectKindPlural)}</string>
-    </#if>
-    <string name="title_${detail_name}">${escapeXmlString(objectKind)} Detail</string>
-</resources>
diff --git a/templates/activities/MasterDetailFlow/root/src/app_package/ContentDetailActivity.java.ftl b/templates/activities/MasterDetailFlow/root/src/app_package/ContentDetailActivity.java.ftl
deleted file mode 100644
index 2cc6054..0000000
--- a/templates/activities/MasterDetailFlow/root/src/app_package/ContentDetailActivity.java.ftl
+++ /dev/null
@@ -1,67 +0,0 @@
-package ${packageName};
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.app.NavUtils;
-import android.view.MenuItem;
-
-/**
- * An activity representing a single ${objectKind} detail screen. This
- * activity is only used on handset devices. On tablet-size devices,
- * item details are presented side-by-side with a list of items
- * in a {@link ${CollectionName}Activity}.
- * <p>
- * This activity is mostly just a 'shell' activity containing nothing
- * more than a {@link ${DetailName}Fragment}.
- */
-public class ${DetailName}Activity extends FragmentActivity {
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_${detail_name});
-
-        // Show the Up button in the action bar.
-        getActionBar().setDisplayHomeAsUpEnabled(true);
-
-        // savedInstanceState is non-null when there is fragment state
-        // saved from previous configurations of this activity
-        // (e.g. when rotating the screen from portrait to landscape).
-        // In this case, the fragment will automatically be re-added
-        // to its container so we don't need to manually add it.
-        // For more information, see the Fragments API guide at:
-        //
-        // http://developer.android.com/guide/components/fragments.html
-        //
-        if (savedInstanceState == null) {
-            // Create the detail fragment and add it to the activity
-            // using a fragment transaction.
-            Bundle arguments = new Bundle();
-            arguments.putString(${DetailName}Fragment.ARG_ITEM_ID,
-                    getIntent().getStringExtra(${DetailName}Fragment.ARG_ITEM_ID));
-            ${DetailName}Fragment fragment = new ${DetailName}Fragment();
-            fragment.setArguments(arguments);
-            getSupportFragmentManager().beginTransaction()
-                    .add(R.id.${detail_name}_container, fragment)
-                    .commit();
-        }
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case android.R.id.home:
-                // This ID represents the Home or Up button. In the case of this
-                // activity, the Up button is shown. Use NavUtils to allow users
-                // to navigate up one level in the application structure. For
-                // more details, see the Navigation pattern on Android Design:
-                //
-                // http://developer.android.com/design/patterns/navigation.html#up-vs-back
-                //
-                NavUtils.navigateUpTo(this, new Intent(this, ${CollectionName}Activity.class));
-                return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-}
diff --git a/templates/activities/MasterDetailFlow/root/src/app_package/ContentDetailFragment.java.ftl b/templates/activities/MasterDetailFlow/root/src/app_package/ContentDetailFragment.java.ftl
deleted file mode 100644
index 2cecaec..0000000
--- a/templates/activities/MasterDetailFlow/root/src/app_package/ContentDetailFragment.java.ftl
+++ /dev/null
@@ -1,61 +0,0 @@
-package ${packageName};
-
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import ${packageName}.dummy.DummyContent;
-
-/**
- * A fragment representing a single ${objectKind} detail screen.
- * This fragment is either contained in a {@link ${CollectionName}Activity}
- * in two-pane mode (on tablets) or a {@link ${DetailName}Activity}
- * on handsets.
- */
-public class ${DetailName}Fragment extends Fragment {
-    /**
-     * The fragment argument representing the item ID that this fragment
-     * represents.
-     */
-    public static final String ARG_ITEM_ID = "item_id";
-
-    /**
-     * The dummy content this fragment is presenting.
-     */
-    private DummyContent.DummyItem mItem;
-
-    /**
-     * Mandatory empty constructor for the fragment manager to instantiate the
-     * fragment (e.g. upon screen orientation changes).
-     */
-    public ${DetailName}Fragment() {
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        if (getArguments().containsKey(ARG_ITEM_ID)) {
-            // Load the dummy content specified by the fragment
-            // arguments. In a real-world scenario, use a Loader
-            // to load content from a content provider.
-            mItem = DummyContent.ITEM_MAP.get(getArguments().getString(ARG_ITEM_ID));
-        }
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        View rootView = inflater.inflate(R.layout.fragment_${detail_name}, container, false);
-
-        // Show the dummy content as text in a TextView.
-        if (mItem != null) {
-            ((TextView) rootView.findViewById(R.id.${detail_name})).setText(mItem.content);
-        }
-
-        return rootView;
-    }
-}
diff --git a/templates/activities/MasterDetailFlow/root/src/app_package/ContentListActivity.java.ftl b/templates/activities/MasterDetailFlow/root/src/app_package/ContentListActivity.java.ftl
deleted file mode 100644
index ae73f7d..0000000
--- a/templates/activities/MasterDetailFlow/root/src/app_package/ContentListActivity.java.ftl
+++ /dev/null
@@ -1,105 +0,0 @@
-package ${packageName};
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.v4.app.FragmentActivity;
-<#if parentActivityClass != "">import android.support.v4.app.NavUtils;
-import android.view.MenuItem;</#if>
-
-/**
- * An activity representing a list of ${objectKindPlural}. This activity
- * has different presentations for handset and tablet-size devices. On
- * handsets, the activity presents a list of items, which when touched,
- * lead to a {@link ${DetailName}Activity} representing
- * item details. On tablets, the activity presents the list of items and
- * item details side-by-side using two vertical panes.
- * <p>
- * The activity makes heavy use of fragments. The list of items is a
- * {@link ${CollectionName}Fragment} and the item details
- * (if present) is a {@link ${DetailName}Fragment}.
- * <p>
- * This activity also implements the required
- * {@link ${CollectionName}Fragment.Callbacks} interface
- * to listen for item selections.
- */
-public class ${CollectionName}Activity extends FragmentActivity
-        implements ${CollectionName}Fragment.Callbacks {
-
-    /**
-     * Whether or not the activity is in two-pane mode, i.e. running on a tablet
-     * device.
-     */
-    private boolean mTwoPane;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_${collection_name});
-        <#if parentActivityClass != "">
-        // Show the Up button in the action bar.
-        getActionBar().setDisplayHomeAsUpEnabled(true);
-        </#if>
-
-        if (findViewById(R.id.${detail_name}_container) != null) {
-            // The detail container view will be present only in the
-            // large-screen layouts (res/values-large and
-            // res/values-sw600dp). If this view is present, then the
-            // activity should be in two-pane mode.
-            mTwoPane = true;
-
-            // In two-pane mode, list items should be given the
-            // 'activated' state when touched.
-            ((${CollectionName}Fragment) getSupportFragmentManager()
-                    .findFragmentById(R.id.${collection_name}))
-                    .setActivateOnItemClick(true);
-        }
-
-        // TODO: If exposing deep links into your app, handle intents here.
-    }
-    <#if parentActivityClass != "">
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case android.R.id.home:
-                // This ID represents the Home or Up button. In the case of this
-                // activity, the Up button is shown. Use NavUtils to allow users
-                // to navigate up one level in the application structure. For
-                // more details, see the Navigation pattern on Android Design:
-                //
-                // http://developer.android.com/design/patterns/navigation.html#up-vs-back
-                //
-                NavUtils.navigateUpFromSameTask(this);
-                return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-    </#if>
-
-    /**
-     * Callback method from {@link ${CollectionName}Fragment.Callbacks}
-     * indicating that the item with the given ID was selected.
-     */
-    @Override
-    public void onItemSelected(String id) {
-        if (mTwoPane) {
-            // In two-pane mode, show the detail view in this activity by
-            // adding or replacing the detail fragment using a
-            // fragment transaction.
-            Bundle arguments = new Bundle();
-            arguments.putString(${DetailName}Fragment.ARG_ITEM_ID, id);
-            ${DetailName}Fragment fragment = new ${DetailName}Fragment();
-            fragment.setArguments(arguments);
-            getSupportFragmentManager().beginTransaction()
-                    .replace(R.id.${detail_name}_container, fragment)
-                    .commit();
-
-        } else {
-            // In single-pane mode, simply start the detail activity
-            // for the selected item ID.
-            Intent detailIntent = new Intent(this, ${DetailName}Activity.class);
-            detailIntent.putExtra(${DetailName}Fragment.ARG_ITEM_ID, id);
-            startActivity(detailIntent);
-        }
-    }
-}
diff --git a/templates/activities/MasterDetailFlow/root/src/app_package/ContentListFragment.java.ftl b/templates/activities/MasterDetailFlow/root/src/app_package/ContentListFragment.java.ftl
deleted file mode 100644
index e9a2e74..0000000
--- a/templates/activities/MasterDetailFlow/root/src/app_package/ContentListFragment.java.ftl
+++ /dev/null
@@ -1,151 +0,0 @@
-package ${packageName};
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.support.v4.app.ListFragment;
-import android.view.View;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-
-import ${packageName}.dummy.DummyContent;
-
-/**
- * A list fragment representing a list of ${objectKindPlural}. This fragment
- * also supports tablet devices by allowing list items to be given an
- * 'activated' state upon selection. This helps indicate which item is
- * currently being viewed in a {@link ${DetailName}Fragment}.
- * <p>
- * Activities containing this fragment MUST implement the {@link Callbacks}
- * interface.
- */
-public class ${CollectionName}Fragment extends ListFragment {
-
-    /**
-     * The serialization (saved instance state) Bundle key representing the
-     * activated item position. Only used on tablets.
-     */
-    private static final String STATE_ACTIVATED_POSITION = "activated_position";
-
-    /**
-     * The fragment's current callback object, which is notified of list item
-     * clicks.
-     */
-    private Callbacks mCallbacks = sDummyCallbacks;
-
-    /**
-     * The current activated item position. Only used on tablets.
-     */
-    private int mActivatedPosition = ListView.INVALID_POSITION;
-
-    /**
-     * A callback interface that all activities containing this fragment must
-     * implement. This mechanism allows activities to be notified of item
-     * selections.
-     */
-    public interface Callbacks {
-        /**
-         * Callback for when an item has been selected.
-         */
-        public void onItemSelected(String id);
-    }
-
-    /**
-     * A dummy implementation of the {@link Callbacks} interface that does
-     * nothing. Used only when this fragment is not attached to an activity.
-     */
-    private static Callbacks sDummyCallbacks = new Callbacks() {
-        @Override
-        public void onItemSelected(String id) {
-        }
-    };
-
-    /**
-     * Mandatory empty constructor for the fragment manager to instantiate the
-     * fragment (e.g. upon screen orientation changes).
-     */
-    public ${CollectionName}Fragment() {
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        // TODO: replace with a real list adapter.
-        setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(
-                getActivity(),
-                android.R.layout.simple_list_item_activated_1,
-                android.R.id.text1,
-                DummyContent.ITEMS));
-    }
-
-    @Override
-    public void onViewCreated(View view, Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-
-        // Restore the previously serialized activated item position.
-        if (savedInstanceState != null
-                && savedInstanceState.containsKey(STATE_ACTIVATED_POSITION)) {
-            setActivatedPosition(savedInstanceState.getInt(STATE_ACTIVATED_POSITION));
-        }
-    }
-
-    @Override
-    public void onAttach(Activity activity) {
-        super.onAttach(activity);
-
-        // Activities containing this fragment must implement its callbacks.
-        if (!(activity instanceof Callbacks)) {
-            throw new IllegalStateException("Activity must implement fragment's callbacks.");
-        }
-
-        mCallbacks = (Callbacks) activity;
-    }
-
-    @Override
-    public void onDetach() {
-        super.onDetach();
-
-        // Reset the active callbacks interface to the dummy implementation.
-        mCallbacks = sDummyCallbacks;
-    }
-
-    @Override
-    public void onListItemClick(ListView listView, View view, int position, long id) {
-        super.onListItemClick(listView, view, position, id);
-
-        // Notify the active callbacks interface (the activity, if the
-        // fragment is attached to one) that an item has been selected.
-        mCallbacks.onItemSelected(DummyContent.ITEMS.get(position).id);
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        if (mActivatedPosition != ListView.INVALID_POSITION) {
-            // Serialize and persist the activated item position.
-            outState.putInt(STATE_ACTIVATED_POSITION, mActivatedPosition);
-        }
-    }
-
-    /**
-     * Turns on activate-on-click mode. When this mode is on, list items will be
-     * given the 'activated' state when touched.
-     */
-    public void setActivateOnItemClick(boolean activateOnItemClick) {
-        // When setting CHOICE_MODE_SINGLE, ListView will automatically
-        // give items the 'activated' state when touched.
-        getListView().setChoiceMode(activateOnItemClick
-                ? ListView.CHOICE_MODE_SINGLE
-                : ListView.CHOICE_MODE_NONE);
-    }
-
-    private void setActivatedPosition(int position) {
-        if (position == ListView.INVALID_POSITION) {
-            getListView().setItemChecked(mActivatedPosition, false);
-        } else {
-            getListView().setItemChecked(position, true);
-        }
-
-        mActivatedPosition = position;
-    }
-}
diff --git a/templates/activities/MasterDetailFlow/root/src/app_package/dummy/DummyContent.java.ftl b/templates/activities/MasterDetailFlow/root/src/app_package/dummy/DummyContent.java.ftl
deleted file mode 100644
index 3545ba3..0000000
--- a/templates/activities/MasterDetailFlow/root/src/app_package/dummy/DummyContent.java.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-package ${packageName}.dummy;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Helper class for providing sample content for user interfaces created by
- * Android template wizards.
- * <p>
- * TODO: Replace all uses of this class before publishing your app.
- */
-public class DummyContent {
-
-    /**
-     * An array of sample (dummy) items.
-     */
-    public static List<DummyItem> ITEMS = new ArrayList<DummyItem>();
-
-    /**
-     * A map of sample (dummy) items, by ID.
-     */
-    public static Map<String, DummyItem> ITEM_MAP = new HashMap<String, DummyItem>();
-
-    static {
-        // Add 3 sample items.
-        addItem(new DummyItem("1", "Item 1"));
-        addItem(new DummyItem("2", "Item 2"));
-        addItem(new DummyItem("3", "Item 3"));
-    }
-
-    private static void addItem(DummyItem item) {
-        ITEMS.add(item);
-        ITEM_MAP.put(item.id, item);
-    }
-
-    /**
-     * A dummy item representing a piece of content.
-     */
-    public static class DummyItem {
-        public String id;
-        public String content;
-
-        public DummyItem(String id, String content) {
-            this.id = id;
-            this.content = content;
-        }
-
-        @Override
-        public String toString() {
-            return content;
-        }
-    }
-}
diff --git a/templates/activities/MasterDetailFlow/template.xml b/templates/activities/MasterDetailFlow/template.xml
deleted file mode 100644
index 47de074..0000000
--- a/templates/activities/MasterDetailFlow/template.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="3"
-    revision="3"
-    name="Master/Detail Flow"
-    minApi="11"
-    description="Creates a new master/detail flow, allowing users to view a collection of objects as well as details for each object. This flow is presented using two columns on tablet-size screens and one column on handsets and smaller screens. This template creates two activities, a master fragment, and a detail fragment.">
-    <dependency name="android-support-v4" revision="8" />
-
-    <thumbs>
-        <thumb>template_master_detail.png</thumb>
-    </thumbs>
-
-    <category value="Flows" />
-
-    <parameter
-        id="objectKind"
-        name="Object Kind"
-        type="string"
-        constraints="nonempty"
-        default="Item"
-        help="Other examples are 'Person', 'Book', etc." />
-
-    <parameter
-        id="objectKindPlural"
-        name="Object Kind Plural"
-        type="string"
-        constraints="nonempty"
-        default="Items"
-        help="Other examples are 'People', 'Books', etc." />
-
-    <parameter
-        id="activityTitle"
-        name="Title"
-        type="string"
-        constraints="nonempty"
-        suggest="${objectKindPlural}"
-        default="Items" />
-
-    <parameter
-        id="isLauncher"
-        name="Launcher Activity"
-        type="boolean"
-        default="false"
-        help="If true, the primary activity in the flow will have a CATEGORY_LAUNCHER intent filter, making it visible in the launcher" />
-
-    <parameter
-        id="parentActivityClass"
-        name="Hierarchical Parent"
-        type="string"
-        constraints="activity|exists|empty"
-        default=""
-        help="The hierarchical parent activity, used to provide a default implementation for the 'Up' button" />
-
-    <parameter
-        id="packageName"
-        name="Package name"
-        type="string"
-        constraints="package"
-        default="com.mycompany.myapp" />
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/activities/MasterDetailFlow/template_master_detail.png b/templates/activities/MasterDetailFlow/template_master_detail.png
deleted file mode 100644
index f9d3f23..0000000
--- a/templates/activities/MasterDetailFlow/template_master_detail.png
+++ /dev/null
Binary files differ
diff --git a/templates/activities/SettingsActivity/globals.xml.ftl b/templates/activities/SettingsActivity/globals.xml.ftl
deleted file mode 100644
index 6d73e17..0000000
--- a/templates/activities/SettingsActivity/globals.xml.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="projectOut" value="." />
-    <global id="manifestOut" value="." />
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="resOut" value="res" />
-    <global id="simpleName" value="${activityToLayout(activityClass)}" />
-</globals>
diff --git a/templates/activities/SettingsActivity/recipe.xml.ftl b/templates/activities/SettingsActivity/recipe.xml.ftl
deleted file mode 100644
index b6d46ce..0000000
--- a/templates/activities/SettingsActivity/recipe.xml.ftl
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-    <merge from="AndroidManifest.xml.ftl"
-             to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />
-
-    <copy from="res/xml/pref_data_sync.xml"
-            to="${escapeXmlAttribute(resOut)}/xml/pref_data_sync.xml" />
-    <copy from="res/xml/pref_general.xml"
-            to="${escapeXmlAttribute(resOut)}/xml/pref_general.xml" />
-    <merge from="res/xml/pref_headers.xml.ftl"
-             to="${escapeXmlAttribute(resOut)}/xml/pref_headers.xml" />
-    <copy from="res/xml/pref_notification.xml"
-            to="${escapeXmlAttribute(resOut)}/xml/pref_notification.xml" />
-
-    <instantiate from="res/values/strings.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/values/strings_${simpleName}.xml" />
-
-    <instantiate from="src/app_package/SettingsActivity.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
-
-    <open file="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
-</recipe>
diff --git a/templates/activities/SettingsActivity/root/AndroidManifest.xml.ftl b/templates/activities/SettingsActivity/root/AndroidManifest.xml.ftl
deleted file mode 100644
index 9f78fcf..0000000
--- a/templates/activities/SettingsActivity/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,18 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <application>
-        <activity android:name=".${activityClass}"
-            <#if isNewProject>
-            android:label="@string/app_name"
-            <#else>
-            android:label="@string/title_${simpleName}"
-            </#if>
-            <#if buildApi gte 16 && parentActivityClass != "">android:parentActivityName="${parentActivityClass}"</#if>>
-            <#if parentActivityClass != "">
-            <meta-data android:name="android.support.PARENT_ACTIVITY"
-                android:value="${parentActivityClass}" />
-            </#if>
-        </activity>
-    </application>
-
-</manifest>
diff --git a/templates/activities/SettingsActivity/root/res/values/strings.xml.ftl b/templates/activities/SettingsActivity/root/res/values/strings.xml.ftl
deleted file mode 100644
index 8dc52ac..0000000
--- a/templates/activities/SettingsActivity/root/res/values/strings.xml.ftl
+++ /dev/null
@@ -1,61 +0,0 @@
-<resources>
-    <#if !isNewProject>
-    <string name="title_${simpleName}">${escapeXmlString(activityTitle)}</string>
-    </#if>
-
-    <!-- Strings related to Settings -->
-
-    <!-- Example General settings -->
-    <string name="pref_header_general">General</string>
-
-    <string name="pref_title_social_recommendations">Enable social recommendations</string>
-    <string name="pref_description_social_recommendations">Recommendations for people to contact based on your message history</string>
-
-    <string name="pref_title_display_name">Display name</string>
-    <string name="pref_default_display_name">John Smith</string>
-
-    <string name="pref_title_add_friends_to_messages">Add friends to messages</string>
-    <string-array name="pref_example_list_titles">
-        <item>Always</item>
-        <item>When possible</item>
-        <item>Never</item>
-    </string-array>
-    <string-array name="pref_example_list_values">
-        <item>1</item>
-        <item>0</item>
-        <item>-1</item>
-    </string-array>
-
-    <!-- Example settings for Data & Sync -->
-    <string name="pref_header_data_sync">Data &amp; sync</string>
-
-    <string name="pref_title_sync_frequency">Sync frequency</string>
-    <string-array name="pref_sync_frequency_titles">
-        <item>15 minutes</item>
-        <item>30 minutes</item>
-        <item>1 hour</item>
-        <item>3 hours</item>
-        <item>6 hours</item>
-        <item>Never</item>
-    </string-array>
-    <string-array name="pref_sync_frequency_values">
-        <item>15</item>
-        <item>30</item>
-        <item>60</item>
-        <item>180</item>
-        <item>360</item>
-        <item>-1</item>
-    </string-array>
-
-    <string name="pref_title_system_sync_settings">System sync settings</string>
-
-    <!-- Example settings for Notifications -->
-    <string name="pref_header_notifications">Notifications</string>
-
-    <string name="pref_title_new_message_notifications">New message notifications</string>
-
-    <string name="pref_title_ringtone">Ringtone</string>
-    <string name="pref_ringtone_silent">Silent</string>
-
-    <string name="pref_title_vibrate">Vibrate</string>
-</resources>
diff --git a/templates/activities/SettingsActivity/root/res/xml/pref_data_sync.xml b/templates/activities/SettingsActivity/root/res/xml/pref_data_sync.xml
deleted file mode 100644
index ffda831..0000000
--- a/templates/activities/SettingsActivity/root/res/xml/pref_data_sync.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <!-- NOTE: Hide buttons to simplify the UI. Users can touch outside the dialog to
-         dismiss it. -->
-    <!-- NOTE: ListPreference's summary should be set to its value by the activity code. -->
-    <ListPreference
-        android:key="sync_frequency"
-        android:title="@string/pref_title_sync_frequency"
-        android:entries="@array/pref_sync_frequency_titles"
-        android:entryValues="@array/pref_sync_frequency_values"
-        android:defaultValue="180"
-        android:negativeButtonText="@null"
-        android:positiveButtonText="@null" />
-
-    <!-- This preference simply launches an intent when selected. Use this UI sparingly, per
-         design guidelines. -->
-    <Preference android:title="@string/pref_title_system_sync_settings">
-        <intent android:action="android.settings.SYNC_SETTINGS" />
-    </Preference>
-
-</PreferenceScreen>
diff --git a/templates/activities/SettingsActivity/root/res/xml/pref_general.xml b/templates/activities/SettingsActivity/root/res/xml/pref_general.xml
deleted file mode 100644
index c49cbed..0000000
--- a/templates/activities/SettingsActivity/root/res/xml/pref_general.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <CheckBoxPreference
-        android:key="example_checkbox"
-        android:title="@string/pref_title_social_recommendations"
-        android:summary="@string/pref_description_social_recommendations"
-        android:defaultValue="true" />
-
-    <!-- NOTE: EditTextPreference accepts EditText attributes. -->
-    <!-- NOTE: EditTextPreference's summary should be set to its value by the activity code. -->
-    <EditTextPreference
-        android:key="example_text"
-        android:title="@string/pref_title_display_name"
-        android:defaultValue="@string/pref_default_display_name"
-        android:selectAllOnFocus="true"
-        android:inputType="textCapWords"
-        android:capitalize="words"
-        android:singleLine="true"
-        android:maxLines="1" />
-
-    <!-- NOTE: Hide buttons to simplify the UI. Users can touch outside the dialog to
-         dismiss it. -->
-    <!-- NOTE: ListPreference's summary should be set to its value by the activity code. -->
-    <ListPreference
-        android:key="example_list"
-        android:title="@string/pref_title_add_friends_to_messages"
-        android:defaultValue="-1"
-        android:entries="@array/pref_example_list_titles"
-        android:entryValues="@array/pref_example_list_values"
-        android:negativeButtonText="@null"
-        android:positiveButtonText="@null" />
-
-</PreferenceScreen>
diff --git a/templates/activities/SettingsActivity/root/res/xml/pref_headers.xml.ftl b/templates/activities/SettingsActivity/root/res/xml/pref_headers.xml.ftl
deleted file mode 100644
index a3da325..0000000
--- a/templates/activities/SettingsActivity/root/res/xml/pref_headers.xml.ftl
+++ /dev/null
@@ -1,17 +0,0 @@
-<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <!-- These settings headers are only used on tablets. -->
-
-    <header
-        android:fragment="${packageName}.${activityClass}$GeneralPreferenceFragment"
-        android:title="@string/pref_header_general" />
-
-    <header
-        android:fragment="${packageName}.${activityClass}$NotificationPreferenceFragment"
-        android:title="@string/pref_header_notifications" />
-
-    <header
-        android:fragment="${packageName}.${activityClass}$DataSyncPreferenceFragment"
-        android:title="@string/pref_header_data_sync" />
-
-</preference-headers>
diff --git a/templates/activities/SettingsActivity/root/res/xml/pref_notification.xml b/templates/activities/SettingsActivity/root/res/xml/pref_notification.xml
deleted file mode 100644
index b4b8cae..0000000
--- a/templates/activities/SettingsActivity/root/res/xml/pref_notification.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <!-- A 'parent' preference, which enables/disables child preferences (below)
-         when checked/unchecked. -->
-    <CheckBoxPreference
-        android:key="notifications_new_message"
-        android:title="@string/pref_title_new_message_notifications"
-        android:defaultValue="true" />
-
-    <!-- Allows the user to choose a ringtone in the 'notification' category. -->
-    <!-- NOTE: This preference will be enabled only when the checkbox above is checked. -->
-    <!-- NOTE: RingtonePreference's summary should be set to its value by the activity code. -->
-    <RingtonePreference
-        android:dependency="notifications_new_message"
-        android:key="notifications_new_message_ringtone"
-        android:title="@string/pref_title_ringtone"
-        android:ringtoneType="notification"
-        android:defaultValue="content://settings/system/notification_sound" />
-
-    <!-- NOTE: This preference will be enabled only when the checkbox above is checked. -->
-    <CheckBoxPreference
-        android:dependency="notifications_new_message"
-        android:key="notifications_new_message_vibrate"
-        android:title="@string/pref_title_vibrate"
-        android:defaultValue="true" />
-
-</PreferenceScreen>
diff --git a/templates/activities/SettingsActivity/root/src/app_package/SettingsActivity.java.ftl b/templates/activities/SettingsActivity/root/src/app_package/SettingsActivity.java.ftl
deleted file mode 100644
index bf67aca..0000000
--- a/templates/activities/SettingsActivity/root/src/app_package/SettingsActivity.java.ftl
+++ /dev/null
@@ -1,295 +0,0 @@
-package ${packageName};
-
-import android.annotation.TargetApi;
-import android.content.Context;
-import android.content.res.Configuration;
-import android.media.Ringtone;
-import android.media.RingtoneManager;
-import android.net.Uri;
-import android.os.Build;
-import android.os.Bundle;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.preference.PreferenceActivity;
-import android.preference.PreferenceCategory;
-import android.preference.PreferenceFragment;
-import android.preference.PreferenceManager;
-import android.preference.RingtonePreference;
-import android.text.TextUtils;
-<#if parentActivityClass != "">
-import android.view.MenuItem;
-import android.support.v4.app.NavUtils;
-</#if>
-
-import java.util.List;
-
-/**
- * A {@link PreferenceActivity} that presents a set of application settings. On
- * handset devices, settings are presented as a single list. On tablets,
- * settings are split by category, with category headers shown to the left of
- * the list of settings.
- * <p>
- * See <a href="http://developer.android.com/design/patterns/settings.html">
- * Android Design: Settings</a> for design guidelines and the <a
- * href="http://developer.android.com/guide/topics/ui/settings.html">Settings
- * API Guide</a> for more information on developing a Settings UI.
- */
-public class ${activityClass} extends PreferenceActivity {
-    /**
-     * Determines whether to always show the simplified settings UI, where
-     * settings are presented in a single list. When false, settings are shown
-     * as a master/detail two-pane view on tablets. When true, a single pane is
-     * shown on tablets.
-     */
-    private static final boolean ALWAYS_SIMPLE_PREFS = false;
-
-    <#if parentActivityClass != "">
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setupActionBar();
-    }
-
-    /**
-     * Set up the {@link android.app.ActionBar}, if the API is available.
-     */
-    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
-    private void setupActionBar() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
-            // Show the Up button in the action bar.
-            getActionBar().setDisplayHomeAsUpEnabled(true);
-        }
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case android.R.id.home:
-                // This ID represents the Home or Up button. In the case of this
-                // activity, the Up button is shown. Use NavUtils to allow users
-                // to navigate up one level in the application structure. For
-                // more details, see the Navigation pattern on Android Design:
-                //
-                // http://developer.android.com/design/patterns/navigation.html#up-vs-back
-                //
-                // TODO: If Settings has multiple levels, Up should navigate up
-                // that hierarchy.
-                NavUtils.navigateUpFromSameTask(this);
-                return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-    </#if>
-
-    @Override
-    protected void onPostCreate(Bundle savedInstanceState) {
-        super.onPostCreate(savedInstanceState);
-
-        setupSimplePreferencesScreen();
-    }
-
-    /**
-     * Shows the simplified settings UI if the device configuration if the
-     * device configuration dictates that a simplified, single-pane UI should be
-     * shown.
-     */
-    private void setupSimplePreferencesScreen() {
-        if (!isSimplePreferences(this)) {
-            return;
-        }
-
-        // In the simplified UI, fragments are not used at all and we instead
-        // use the older PreferenceActivity APIs.
-
-        // Add 'general' preferences.
-        addPreferencesFromResource(R.xml.pref_general);
-
-        // Add 'notifications' preferences, and a corresponding header.
-        PreferenceCategory fakeHeader = new PreferenceCategory(this);
-        fakeHeader.setTitle(R.string.pref_header_notifications);
-        getPreferenceScreen().addPreference(fakeHeader);
-        addPreferencesFromResource(R.xml.pref_notification);
-
-        // Add 'data and sync' preferences, and a corresponding header.
-        fakeHeader = new PreferenceCategory(this);
-        fakeHeader.setTitle(R.string.pref_header_data_sync);
-        getPreferenceScreen().addPreference(fakeHeader);
-        addPreferencesFromResource(R.xml.pref_data_sync);
-
-        // Bind the summaries of EditText/List/Dialog/Ringtone preferences to
-        // their values. When their values change, their summaries are updated
-        // to reflect the new value, per the Android Design guidelines.
-        bindPreferenceSummaryToValue(findPreference("example_text"));
-        bindPreferenceSummaryToValue(findPreference("example_list"));
-        bindPreferenceSummaryToValue(findPreference("notifications_new_message_ringtone"));
-        bindPreferenceSummaryToValue(findPreference("sync_frequency"));
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public boolean onIsMultiPane() {
-        return isXLargeTablet(this) && !isSimplePreferences(this);
-    }
-
-    /**
-     * Helper method to determine if the device has an extra-large screen. For
-     * example, 10" tablets are extra-large.
-     */
-    private static boolean isXLargeTablet(Context context) {
-        return (context.getResources().getConfiguration().screenLayout
-        & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE;
-    }
-
-    /**
-     * Determines whether the simplified settings UI should be shown. This is
-     * true if this is forced via {@link #ALWAYS_SIMPLE_PREFS}, or the device
-     * doesn't have newer APIs like {@link PreferenceFragment}, or the device
-     * doesn't have an extra-large screen. In these cases, a single-pane
-     * "simplified" settings UI should be shown.
-     */
-    private static boolean isSimplePreferences(Context context) {
-        return ALWAYS_SIMPLE_PREFS
-                || Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB
-                || !isXLargeTablet(context);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
-    public void onBuildHeaders(List<Header> target) {
-        if (!isSimplePreferences(this)) {
-            loadHeadersFromResource(R.xml.pref_headers, target);
-        }
-    }
-
-    /**
-     * A preference value change listener that updates the preference's summary
-     * to reflect its new value.
-     */
-    private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() {
-        @Override
-        public boolean onPreferenceChange(Preference preference, Object value) {
-            String stringValue = value.toString();
-
-            if (preference instanceof ListPreference) {
-                // For list preferences, look up the correct display value in
-                // the preference's 'entries' list.
-                ListPreference listPreference = (ListPreference) preference;
-                int index = listPreference.findIndexOfValue(stringValue);
-
-                // Set the summary to reflect the new value.
-                preference.setSummary(
-                        index >= 0
-                                ? listPreference.getEntries()[index]
-                                : null);
-
-            } else if (preference instanceof RingtonePreference) {
-                // For ringtone preferences, look up the correct display value
-                // using RingtoneManager.
-                if (TextUtils.isEmpty(stringValue)) {
-                    // Empty values correspond to 'silent' (no ringtone).
-                    preference.setSummary(R.string.pref_ringtone_silent);
-
-                } else {
-                    Ringtone ringtone = RingtoneManager.getRingtone(
-                            preference.getContext(), Uri.parse(stringValue));
-
-                    if (ringtone == null) {
-                        // Clear the summary if there was a lookup error.
-                        preference.setSummary(null);
-                    } else {
-                        // Set the summary to reflect the new ringtone display
-                        // name.
-                        String name = ringtone.getTitle(preference.getContext());
-                        preference.setSummary(name);
-                    }
-                }
-
-            } else {
-                // For all other preferences, set the summary to the value's
-                // simple string representation.
-                preference.setSummary(stringValue);
-            }
-            return true;
-        }
-    };
-
-    /**
-     * Binds a preference's summary to its value. More specifically, when the
-     * preference's value is changed, its summary (line of text below the
-     * preference title) is updated to reflect the value. The summary is also
-     * immediately updated upon calling this method. The exact display format is
-     * dependent on the type of preference.
-     *
-     * @see #sBindPreferenceSummaryToValueListener
-     */
-    private static void bindPreferenceSummaryToValue(Preference preference) {
-        // Set the listener to watch for value changes.
-        preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
-
-        // Trigger the listener immediately with the preference's
-        // current value.
-        sBindPreferenceSummaryToValueListener.onPreferenceChange(preference,
-                PreferenceManager
-                        .getDefaultSharedPreferences(preference.getContext())
-                        .getString(preference.getKey(), ""));
-    }
-
-    /**
-     * This fragment shows general preferences only. It is used when the
-     * activity is showing a two-pane settings UI.
-     */
-    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
-    public static class GeneralPreferenceFragment extends PreferenceFragment {
-        @Override
-        public void onCreate(Bundle savedInstanceState) {
-            super.onCreate(savedInstanceState);
-            addPreferencesFromResource(R.xml.pref_general);
-
-            // Bind the summaries of EditText/List/Dialog/Ringtone preferences
-            // to their values. When their values change, their summaries are
-            // updated to reflect the new value, per the Android Design
-            // guidelines.
-            bindPreferenceSummaryToValue(findPreference("example_text"));
-            bindPreferenceSummaryToValue(findPreference("example_list"));
-        }
-    }
-
-    /**
-     * This fragment shows notification preferences only. It is used when the
-     * activity is showing a two-pane settings UI.
-     */
-    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
-    public static class NotificationPreferenceFragment extends PreferenceFragment {
-        @Override
-        public void onCreate(Bundle savedInstanceState) {
-            super.onCreate(savedInstanceState);
-            addPreferencesFromResource(R.xml.pref_notification);
-
-            // Bind the summaries of EditText/List/Dialog/Ringtone preferences
-            // to their values. When their values change, their summaries are
-            // updated to reflect the new value, per the Android Design
-            // guidelines.
-            bindPreferenceSummaryToValue(findPreference("notifications_new_message_ringtone"));
-        }
-    }
-
-    /**
-     * This fragment shows data and sync preferences only. It is used when the
-     * activity is showing a two-pane settings UI.
-     */
-    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
-    public static class DataSyncPreferenceFragment extends PreferenceFragment {
-        @Override
-        public void onCreate(Bundle savedInstanceState) {
-            super.onCreate(savedInstanceState);
-            addPreferencesFromResource(R.xml.pref_data_sync);
-
-            // Bind the summaries of EditText/List/Dialog/Ringtone preferences
-            // to their values. When their values change, their summaries are
-            // updated to reflect the new value, per the Android Design
-            // guidelines.
-            bindPreferenceSummaryToValue(findPreference("sync_frequency"));
-        }
-    }
-}
diff --git a/templates/activities/SettingsActivity/template.xml b/templates/activities/SettingsActivity/template.xml
deleted file mode 100644
index 21956d1..0000000
--- a/templates/activities/SettingsActivity/template.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="3"
-    revision="3"
-    name="Settings Activity"
-    description="Creates a new application settings activity that presents alternative layouts on handset and tablet-size screens."
-    minApi="4"
-    minBuildApi="11">
-    <dependency name="android-support-v4" revision="8" />
-
-    <category value="Activities" />
-
-    <parameter
-        id="activityClass"
-        name="Activity Name"
-        type="string"
-        constraints="class|unique|nonempty"
-        default="SettingsActivity"
-        help="The name of the activity class to create" />
-
-    <parameter
-        id="activityTitle"
-        name="Title"
-        type="string"
-        constraints="nonempty"
-        default="Settings"
-        help="The name of the activity." />
-
-    <parameter
-        id="parentActivityClass"
-        name="Hierarchical Parent"
-        type="string"
-        constraints="activity|exists|empty"
-        default=""
-        help="The hierarchical parent activity, used to provide a default implementation for the 'Up' button" />
-
-    <parameter
-        id="packageName"
-        name="Package name"
-        type="string"
-        constraints="package"
-        default="com.mycompany.myapp" />
-
-    <!-- 128x128 thumbnails relative to template.xml -->
-    <thumbs>
-        <!-- default thumbnail is required -->
-        <thumb>template_settings_activity.png</thumb>
-    </thumbs>
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/activities/SettingsActivity/template_settings_activity.png b/templates/activities/SettingsActivity/template_settings_activity.png
deleted file mode 100644
index c1a65cb..0000000
--- a/templates/activities/SettingsActivity/template_settings_activity.png
+++ /dev/null
Binary files differ
diff --git a/templates/gradle/wrapper/gradle/wrapper/gradle-wrapper.jar b/templates/gradle/wrapper/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 8c0fb64..0000000
--- a/templates/gradle/wrapper/gradle/wrapper/gradle-wrapper.jar
+++ /dev/null
Binary files differ
diff --git a/templates/gradle/wrapper/gradle/wrapper/gradle-wrapper.properties b/templates/gradle/wrapper/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 5c22dec..0000000
--- a/templates/gradle/wrapper/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#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
diff --git a/templates/gradle/wrapper/gradlew b/templates/gradle/wrapper/gradlew
deleted file mode 100755
index 91a7e26..0000000
--- a/templates/gradle/wrapper/gradlew
+++ /dev/null
@@ -1,164 +0,0 @@
-#!/usr/bin/env bash
-
-##############################################################################
-##
-##  Gradle start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
-    echo "$*"
-}
-
-die ( ) {
-    echo
-    echo "$*"
-    echo
-    exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
-  CYGWIN* )
-    cygwin=true
-    ;;
-  Darwin* )
-    darwin=true
-    ;;
-  MINGW* )
-    msys=true
-    ;;
-esac
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched.
-if $cygwin ; then
-    [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-fi
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-        PRG="$link"
-    else
-        PRG=`dirname "$PRG"`"/$link"
-    fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >&-
-APP_HOME="`pwd -P`"
-cd "$SAVED" >&-
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-        # IBM's JDK on AIX uses strange locations for the executables
-        JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-        JAVACMD="$JAVA_HOME/bin/java"
-    fi
-    if [ ! -x "$JAVACMD" ] ; then
-        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-    fi
-else
-    JAVACMD="java"
-    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
-    MAX_FD_LIMIT=`ulimit -H -n`
-    if [ $? -eq 0 ] ; then
-        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
-            MAX_FD="$MAX_FD_LIMIT"
-        fi
-        ulimit -n $MAX_FD
-        if [ $? -ne 0 ] ; then
-            warn "Could not set maximum file descriptor limit: $MAX_FD"
-        fi
-    else
-        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
-    fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
-    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
-    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
-    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-
-    # We build the pattern for arguments to be converted via cygpath
-    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
-    SEP=""
-    for dir in $ROOTDIRSRAW ; do
-        ROOTDIRS="$ROOTDIRS$SEP$dir"
-        SEP="|"
-    done
-    OURCYGPATTERN="(^($ROOTDIRS))"
-    # Add a user-defined pattern to the cygpath arguments
-    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
-        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
-    fi
-    # Now convert the arguments - kludge to limit ourselves to /bin/sh
-    i=0
-    for arg in "$@" ; do
-        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
-        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
-
-        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
-            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
-        else
-            eval `echo args$i`="\"$arg\""
-        fi
-        i=$((i+1))
-    done
-    case $i in
-        (0) set -- ;;
-        (1) set -- "$args0" ;;
-        (2) set -- "$args0" "$args1" ;;
-        (3) set -- "$args0" "$args1" "$args2" ;;
-        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
-        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
-        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
-        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
-        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
-        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
-    esac
-fi
-
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
-    JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/templates/gradle/wrapper/gradlew.bat b/templates/gradle/wrapper/gradlew.bat
deleted file mode 100644
index aec9973..0000000
--- a/templates/gradle/wrapper/gradlew.bat
+++ /dev/null
@@ -1,90 +0,0 @@
-@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/templates/other/AppWidget/globals.xml.ftl b/templates/other/AppWidget/globals.xml.ftl
deleted file mode 100644
index ac85374..0000000
--- a/templates/other/AppWidget/globals.xml.ftl
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="class_name" value="${camelCaseToUnderscore(className)}" />
-</globals>
diff --git a/templates/other/AppWidget/recipe.xml.ftl b/templates/other/AppWidget/recipe.xml.ftl
deleted file mode 100644
index 876b7b0..0000000
--- a/templates/other/AppWidget/recipe.xml.ftl
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-
-    <merge from="AndroidManifest.xml.ftl" />
-
-    <copy from="res/drawable-nodpi/example_appwidget_preview.png" />
-    <instantiate from="res/layout/appwidget.xml"
-                   to="res/layout/${class_name}.xml" />
-
-
-    <#if configurable>
-    <instantiate from="res/layout/appwidget_configure.xml"
-                   to="res/layout/${class_name}_configure.xml" />
-    </#if>
-
-    <instantiate from="res/xml/appwidget_info.xml.ftl"
-                   to="res/xml/${class_name}_info.xml" />
-    <merge from="res/values/strings.xml.ftl" />
-    <merge from="res/values-v14/dimens.xml" />
-    <merge from="res/values/dimens.xml" />
-
-    <instantiate from="src/app_package/AppWidget.java.ftl"
-                   to="${srcOut}/${className}.java" />
-
-    <#if configurable>
-    <instantiate from="src/app_package/AppWidgetConfigureActivity.java.ftl"
-                   to="${srcOut}/${className}ConfigureActivity.java" />
-    </#if>
-
-    <open file="${srcOut}/${className}.java" />
-</recipe>
diff --git a/templates/other/AppWidget/root/AndroidManifest.xml.ftl b/templates/other/AppWidget/root/AndroidManifest.xml.ftl
deleted file mode 100644
index 8b96d56..0000000
--- a/templates/other/AppWidget/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <application>
-
-        <receiver android:name=".${className}" >
-            <intent-filter>
-                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
-            </intent-filter>
-
-            <meta-data
-                android:name="android.appwidget.provider"
-                android:resource="@xml/${class_name}_info" />
-        </receiver>
-
-    <#if configurable>
-        <activity android:name=".${className}ConfigureActivity" >
-            <intent-filter>
-                <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
-            </intent-filter>
-        </activity>
-    </#if>
-    </application>
-
-</manifest>
\ No newline at end of file
diff --git a/templates/other/AppWidget/root/res/drawable-nodpi/example_appwidget_preview.png b/templates/other/AppWidget/root/res/drawable-nodpi/example_appwidget_preview.png
deleted file mode 100644
index 894b069..0000000
--- a/templates/other/AppWidget/root/res/drawable-nodpi/example_appwidget_preview.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/root/res/layout/appwidget.xml b/templates/other/AppWidget/root/res/layout/appwidget.xml
deleted file mode 100644
index 3a00464..0000000
--- a/templates/other/AppWidget/root/res/layout/appwidget.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:padding="@dimen/widget_margin"
-    android:background="#09C" >
-
-    <TextView
-        android:id="@+id/appwidget_text"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_centerHorizontal="true"
-        android:layout_centerVertical="true"
-        android:text="@string/appwidget_text"
-        android:textColor="#ffffff"
-        android:textSize="24sp"
-        android:textStyle="bold|italic"
-        android:layout_margin="8dp"
-        android:contentDescription="@string/appwidget_text"
-        android:background="#09C"/>
-
-</RelativeLayout>
\ No newline at end of file
diff --git a/templates/other/AppWidget/root/res/layout/appwidget_configure.xml b/templates/other/AppWidget/root/res/layout/appwidget_configure.xml
deleted file mode 100644
index 8ddc335..0000000
--- a/templates/other/AppWidget/root/res/layout/appwidget_configure.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:padding="16dp">
-
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:text="@string/configure"
-        android:layout_marginBottom="8dp" />
-
-    <EditText
-        android:id="@+id/appwidget_text"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:inputType="text" />
-
-    <Button
-        android:id="@+id/add_button"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:text="@string/add_widget"
-        android:layout_marginTop="8dp" />
-
-</LinearLayout>
\ No newline at end of file
diff --git a/templates/other/AppWidget/root/res/values-v14/dimens.xml b/templates/other/AppWidget/root/res/values-v14/dimens.xml
deleted file mode 100644
index 4db8c59..0000000
--- a/templates/other/AppWidget/root/res/values-v14/dimens.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-
-    <!--
-Refer to App Widget Documentation for margin information
-http://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout
-    -->
-    <dimen name="widget_margin">0dp</dimen>
-
-</resources>
\ No newline at end of file
diff --git a/templates/other/AppWidget/root/res/values/dimens.xml b/templates/other/AppWidget/root/res/values/dimens.xml
deleted file mode 100644
index fdececf..0000000
--- a/templates/other/AppWidget/root/res/values/dimens.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-
-    <!--
-Refer to App Widget Documentation for margin information
-http://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout
-    -->
-    <dimen name="widget_margin">8dp</dimen>
-
-</resources>
\ No newline at end of file
diff --git a/templates/other/AppWidget/root/res/values/strings.xml.ftl b/templates/other/AppWidget/root/res/values/strings.xml.ftl
deleted file mode 100644
index 66c06bc..0000000
--- a/templates/other/AppWidget/root/res/values/strings.xml.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <string name="appwidget_text">EXAMPLE</string>
-    <#if configurable>
-    <string name="configure">Configure</string>
-    </#if>
-    <string name="add_widget">Add widget</string>
-</resources>
\ No newline at end of file
diff --git a/templates/other/AppWidget/root/res/xml/appwidget_info.xml.ftl b/templates/other/AppWidget/root/res/xml/appwidget_info.xml.ftl
deleted file mode 100644
index 75791be..0000000
--- a/templates/other/AppWidget/root/res/xml/appwidget_info.xml.ftl
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
-    android:minWidth="${-30 + 70 * minWidth?number}dp"
-    android:minHeight="${-30 + 70 * minHeight?number}dp"
-    android:updatePeriodMillis="86400000"
-    android:previewImage="@drawable/example_appwidget_preview"
-    android:initialLayout="@layout/${class_name}"
-<#if configurable>
-    android:configure="${packageName}.${className}ConfigureActivity"
-</#if>
-<#if resizable='both'>
-    android:resizeMode="horizontal|vertical"
-<#elseif resizable='horizontal'>
-    android:resizeMode="horizontal"
-<#elseif resizable='vertical'>
-    android:resizeMode="vertical"
-<#elseif resizable='none'>
-</#if>
-<#if placement='both'>
-    android:widgetCategory="home_screen|keyguard"
-<#elseif placement='homescreen'>
-    android:widgetCategory="home_screen"
-<#elseif placement='keyguard'>
-    android:widgetCategory="keyguard"
-</#if>
-    android:initialKeyguardLayout="@layout/${class_name}">
-</appwidget-provider>
\ No newline at end of file
diff --git a/templates/other/AppWidget/root/src/app_package/AppWidget.java.ftl b/templates/other/AppWidget/root/src/app_package/AppWidget.java.ftl
deleted file mode 100644
index d86b0b5..0000000
--- a/templates/other/AppWidget/root/src/app_package/AppWidget.java.ftl
+++ /dev/null
@@ -1,63 +0,0 @@
-package ${packageName};
-
-import android.appwidget.AppWidgetManager;
-import android.appwidget.AppWidgetProvider;
-import android.content.Context;
-import android.widget.RemoteViews;
-
-/**
- * Implementation of App Widget functionality.
-<#if configurable>
- * App Widget Configuration implemented in {@link ${className}ConfigureActivity ${className}ConfigureActivity}
-</#if>
- */
-public class ${className} extends AppWidgetProvider {
-
-    @Override
-    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
-        // There may be multiple widgets active, so update all of them
-        final int N = appWidgetIds.length;
-        for (int i=0; i<N; i++) {
-            updateAppWidget(context, appWidgetManager, appWidgetIds[i]);
-        }
-    }
-
-<#if configurable>
-    @Override
-    public void onDeleted(Context context, int[] appWidgetIds) {
-        // When the user deletes the widget, delete the preference associated with it.
-        final int N = appWidgetIds.length;
-        for (int i=0; i<N; i++) {
-            ${className}ConfigureActivity.deleteTitlePref(context, appWidgetIds[i]);
-        }
-    }
-</#if>
-
-    @Override
-    public void onEnabled(Context context) {
-        // Enter relevant functionality for when the first widget is created
-    }
-
-    @Override
-    public void onDisabled(Context context) {
-        // Enter relevant functionality for when the last widget is disabled
-    }
-
-    static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
-            int appWidgetId) {
-
-<#if configurable>
-        CharSequence widgetText = ${className}ConfigureActivity.loadTitlePref(context, appWidgetId);
-<#else>
-        CharSequence widgetText = context.getString(R.string.appwidget_text);
-</#if>
-        // Construct the RemoteViews object
-        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.${class_name});
-        views.setTextViewText(R.id.appwidget_text, widgetText);
-
-        // Instruct the widget manager to update the widget
-        appWidgetManager.updateAppWidget(appWidgetId, views);
-    }
-}
-
-
diff --git a/templates/other/AppWidget/root/src/app_package/AppWidgetConfigureActivity.java.ftl b/templates/other/AppWidget/root/src/app_package/AppWidgetConfigureActivity.java.ftl
deleted file mode 100644
index 3c2be67..0000000
--- a/templates/other/AppWidget/root/src/app_package/AppWidgetConfigureActivity.java.ftl
+++ /dev/null
@@ -1,102 +0,0 @@
-package ${packageName};
-
-import android.app.Activity;
-import android.appwidget.AppWidgetManager;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.os.Bundle;
-import android.view.View;
-import android.widget.EditText;
-
-/**
- * The configuration screen for the {@link ${className} ${className}} AppWidget.
- */
-public class ${className}ConfigureActivity extends Activity {
-
-    int mAppWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;
-    EditText mAppWidgetText;
-    private static final String PREFS_NAME = "${packageName}.${className}";
-    private static final String PREF_PREFIX_KEY = "appwidget_";
-
-    public ${className}ConfigureActivity() {
-        super();
-    }
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        // Set the result to CANCELED.  This will cause the widget host to cancel
-        // out of the widget placement if the user presses the back button.
-        setResult(RESULT_CANCELED);
-
-        setContentView(R.layout.${class_name}_configure);
-        mAppWidgetText = (EditText)findViewById(R.id.appwidget_text);
-        findViewById(R.id.add_button).setOnClickListener(mOnClickListener);
-
-        // Find the widget id from the intent.
-        Intent intent = getIntent();
-        Bundle extras = intent.getExtras();
-        if (extras != null) {
-            mAppWidgetId = extras.getInt(
-                    AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
-        }
-
-        // If this activity was started with an intent without an app widget ID, finish with an error.
-        if (mAppWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {
-            finish();
-            return;
-        }
-
-        mAppWidgetText.setText(loadTitlePref(${className}ConfigureActivity.this, mAppWidgetId));
-    }
-
-    View.OnClickListener mOnClickListener = new View.OnClickListener() {
-        public void onClick(View v) {
-            final Context context = ${className}ConfigureActivity.this;
-
-            // When the button is clicked, store the string locally
-            String widgetText = mAppWidgetText.getText().toString();
-            saveTitlePref(context,mAppWidgetId,widgetText);
-
-            // It is the responsibility of the configuration activity to update the app widget
-            AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
-            ${className}.updateAppWidget(context, appWidgetManager, mAppWidgetId);
-
-            // Make sure we pass back the original appWidgetId
-            Intent resultValue = new Intent();
-            resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
-            setResult(RESULT_OK, resultValue);
-            finish();
-        }
-    };
-
-    // Write the prefix to the SharedPreferences object for this widget
-    static void saveTitlePref(Context context, int appWidgetId, String text) {
-        SharedPreferences.Editor prefs = context.getSharedPreferences(PREFS_NAME, 0).edit();
-        prefs.putString(PREF_PREFIX_KEY + appWidgetId, text);
-        prefs.commit();
-    }
-
-    // Read the prefix from the SharedPreferences object for this widget.
-    // If there is no preference saved, get the default from a resource
-    static String loadTitlePref(Context context, int appWidgetId) {
-        SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, 0);
-        String titleValue = prefs.getString(PREF_PREFIX_KEY + appWidgetId, null);
-        if (titleValue != null) {
-            return titleValue;
-        } else {
-            return context.getString(R.string.appwidget_text);
-        }
-    }
-
-    static void deleteTitlePref(Context context, int appWidgetId) {
-        SharedPreferences.Editor prefs = context.getSharedPreferences(PREFS_NAME, 0).edit();
-        prefs.remove(PREF_PREFIX_KEY + appWidgetId);
-        prefs.commit();
-    }
-}
-
-
-
diff --git a/templates/other/AppWidget/template.xml b/templates/other/AppWidget/template.xml
deleted file mode 100644
index f071363..0000000
--- a/templates/other/AppWidget/template.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="3"
-    revision="1"
-    name="New App Widget"
-    description="Creates a new App Widget"
-    minApi="4"
-    minBuildApi="16">
-
-    <category value="Other" />
-
-    <parameter
-        id="className"
-        name="Class Name"
-        type="string"
-        constraints="class|unique|nonempty"
-        default="NewAppWidget"
-        help="The name of the App Widget to create" />
-
-        <parameter
-            id="placement"
-            name="Placement"
-            type="enum"
-            default="homescreen"
-            help="Make the widget available on the Home-screen and/or on the Keyguard. Keyguard placement is only supported in Android 4.2 and above; this setting is ignored on earlier versions and defaults to Home-screen.">
-            <option id="both">Home-screen and Keyguard</option>
-            <option id="homescreen" default="true" >Home-screen only</option>
-            <option id="keyguard" >Keyguard only (API 17+)</option>
-        </parameter>
-
-        <parameter
-            id="resizable"
-            name="Resizable (API 12+)"
-            type="enum"
-            default="both"
-            help="Allow the user to resize the widget. Feature only available on Android 3.1 and above.">
-            <option id="both" default="true">Horizontally and vertically</option>
-            <option id="horizontal">Only horizontally</option>
-            <option id="vertical" >Only vertically</option>
-            <option id="none">Not resizable</option>
-        </parameter>
-
-    <parameter
-        id="minWidth"
-        name="Minimum Width (cells)"
-        type="enum"
-        default="1">
-        <option id="1" default="true">1</option>
-        <option id="2" >2</option>
-        <option id="3" >3</option>
-        <option id="4" >4</option>
-    </parameter>
-
-    <parameter
-        id="minHeight"
-        name="Minimum Height (cells)"
-        type="enum"
-        default="1">
-        <option id="1" default="true">1</option>
-        <option id="2" >2</option>
-        <option id="3" >3</option>
-        <option id="4" >4</option>
-    </parameter>
-
-    <parameter
-        id="configurable"
-        name="Configuration Screen"
-        type="boolean"
-        default="false"
-        help="Generates a widget configuration activity" />
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-
-    <thumbs>
-        <thumb>thumbs/template_widget_3x3_vh.png</thumb>
-
-        <thumb minWidth="1" minHeight="1" resizable="none"      >thumbs/template_widget_1x1.png</thumb>
-        <thumb minWidth="2" minHeight="1" resizable="none"      >thumbs/template_widget_2x1.png</thumb>
-        <thumb minWidth="3" minHeight="1" resizable="none"      >thumbs/template_widget_3x1.png</thumb>
-        <thumb minWidth="4" minHeight="1" resizable="none"      >thumbs/template_widget_4x1.png</thumb>
-        <thumb minWidth="1" minHeight="2" resizable="none"      >thumbs/template_widget_1x2.png</thumb>
-        <thumb minWidth="2" minHeight="2" resizable="none"      >thumbs/template_widget_2x2.png</thumb>
-        <thumb minWidth="3" minHeight="2" resizable="none"      >thumbs/template_widget_3x2.png</thumb>
-        <thumb minWidth="4" minHeight="2" resizable="none"      >thumbs/template_widget_4x2.png</thumb>
-        <thumb minWidth="1" minHeight="3" resizable="none"      >thumbs/template_widget_1x3.png</thumb>
-        <thumb minWidth="2" minHeight="3" resizable="none"      >thumbs/template_widget_2x3.png</thumb>
-        <thumb minWidth="3" minHeight="3" resizable="none"      >thumbs/template_widget_3x3.png</thumb>
-        <thumb minWidth="4" minHeight="3" resizable="none"      >thumbs/template_widget_4x3.png</thumb>
-        <thumb minWidth="1" minHeight="4" resizable="none"      >thumbs/template_widget_1x4.png</thumb>
-        <thumb minWidth="2" minHeight="4" resizable="none"      >thumbs/template_widget_2x4.png</thumb>
-        <thumb minWidth="3" minHeight="4" resizable="none"      >thumbs/template_widget_3x4.png</thumb>
-        <thumb minWidth="4" minHeight="4" resizable="none"      >thumbs/template_widget_4x4.png</thumb>
-
-        <thumb minWidth="1" minHeight="1" resizable="horizontal">thumbs/template_widget_1x1_h.png</thumb>
-        <thumb minWidth="2" minHeight="1" resizable="horizontal">thumbs/template_widget_2x1_h.png</thumb>
-        <thumb minWidth="3" minHeight="1" resizable="horizontal">thumbs/template_widget_3x1_h.png</thumb>
-        <thumb minWidth="4" minHeight="1" resizable="horizontal">thumbs/template_widget_4x1_h.png</thumb>
-        <thumb minWidth="1" minHeight="2" resizable="horizontal">thumbs/template_widget_1x2_h.png</thumb>
-        <thumb minWidth="2" minHeight="2" resizable="horizontal">thumbs/template_widget_2x2_h.png</thumb>
-        <thumb minWidth="3" minHeight="2" resizable="horizontal">thumbs/template_widget_3x2_h.png</thumb>
-        <thumb minWidth="4" minHeight="2" resizable="horizontal">thumbs/template_widget_4x2_h.png</thumb>
-        <thumb minWidth="1" minHeight="3" resizable="horizontal">thumbs/template_widget_1x3_h.png</thumb>
-        <thumb minWidth="2" minHeight="3" resizable="horizontal">thumbs/template_widget_2x3_h.png</thumb>
-        <thumb minWidth="3" minHeight="3" resizable="horizontal">thumbs/template_widget_3x3_h.png</thumb>
-        <thumb minWidth="4" minHeight="3" resizable="horizontal">thumbs/template_widget_4x3_h.png</thumb>
-        <thumb minWidth="1" minHeight="4" resizable="horizontal">thumbs/template_widget_1x4_h.png</thumb>
-        <thumb minWidth="2" minHeight="4" resizable="horizontal">thumbs/template_widget_2x4_h.png</thumb>
-        <thumb minWidth="3" minHeight="4" resizable="horizontal">thumbs/template_widget_3x4_h.png</thumb>
-        <thumb minWidth="4" minHeight="4" resizable="horizontal">thumbs/template_widget_4x4_h.png</thumb>
-
-        <thumb minWidth="1" minHeight="1" resizable="vertical"  >thumbs/template_widget_1x1_v.png</thumb>
-        <thumb minWidth="2" minHeight="1" resizable="vertical"  >thumbs/template_widget_2x1_v.png</thumb>
-        <thumb minWidth="3" minHeight="1" resizable="vertical"  >thumbs/template_widget_3x1_v.png</thumb>
-        <thumb minWidth="4" minHeight="1" resizable="vertical"  >thumbs/template_widget_4x1_v.png</thumb>
-        <thumb minWidth="1" minHeight="2" resizable="vertical"  >thumbs/template_widget_1x2_v.png</thumb>
-        <thumb minWidth="2" minHeight="2" resizable="vertical"  >thumbs/template_widget_2x2_v.png</thumb>
-        <thumb minWidth="3" minHeight="2" resizable="vertical"  >thumbs/template_widget_3x2_v.png</thumb>
-        <thumb minWidth="4" minHeight="2" resizable="vertical"  >thumbs/template_widget_4x2_v.png</thumb>
-        <thumb minWidth="1" minHeight="3" resizable="vertical"  >thumbs/template_widget_1x3_v.png</thumb>
-        <thumb minWidth="2" minHeight="3" resizable="vertical"  >thumbs/template_widget_2x3_v.png</thumb>
-        <thumb minWidth="3" minHeight="3" resizable="vertical"  >thumbs/template_widget_3x3_v.png</thumb>
-        <thumb minWidth="4" minHeight="3" resizable="vertical"  >thumbs/template_widget_4x3_v.png</thumb>
-        <thumb minWidth="1" minHeight="4" resizable="vertical"  >thumbs/template_widget_1x4_v.png</thumb>
-        <thumb minWidth="2" minHeight="4" resizable="vertical"  >thumbs/template_widget_2x4_v.png</thumb>
-        <thumb minWidth="3" minHeight="4" resizable="vertical"  >thumbs/template_widget_3x4_v.png</thumb>
-        <thumb minWidth="4" minHeight="4" resizable="vertical"  >thumbs/template_widget_4x4_v.png</thumb>
-
-        <thumb minWidth="1" minHeight="1" resizable="both"      >thumbs/template_widget_1x1_vh.png</thumb>
-        <thumb minWidth="2" minHeight="1" resizable="both"      >thumbs/template_widget_2x1_vh.png</thumb>
-        <thumb minWidth="3" minHeight="1" resizable="both"      >thumbs/template_widget_3x1_vh.png</thumb>
-        <thumb minWidth="4" minHeight="1" resizable="both"      >thumbs/template_widget_4x1_vh.png</thumb>
-        <thumb minWidth="1" minHeight="2" resizable="both"      >thumbs/template_widget_1x2_vh.png</thumb>
-        <thumb minWidth="2" minHeight="2" resizable="both"      >thumbs/template_widget_2x2_vh.png</thumb>
-        <thumb minWidth="3" minHeight="2" resizable="both"      >thumbs/template_widget_3x2_vh.png</thumb>
-        <thumb minWidth="4" minHeight="2" resizable="both"      >thumbs/template_widget_4x2_vh.png</thumb>
-        <thumb minWidth="1" minHeight="3" resizable="both"      >thumbs/template_widget_1x3_vh.png</thumb>
-        <thumb minWidth="2" minHeight="3" resizable="both"      >thumbs/template_widget_2x3_vh.png</thumb>
-        <thumb minWidth="3" minHeight="3" resizable="both"      >thumbs/template_widget_3x3_vh.png</thumb>
-        <thumb minWidth="4" minHeight="3" resizable="both"      >thumbs/template_widget_4x3_vh.png</thumb>
-        <thumb minWidth="1" minHeight="4" resizable="both"      >thumbs/template_widget_1x4_vh.png</thumb>
-        <thumb minWidth="2" minHeight="4" resizable="both"      >thumbs/template_widget_2x4_vh.png</thumb>
-        <thumb minWidth="3" minHeight="4" resizable="both"      >thumbs/template_widget_3x4_vh.png</thumb>
-        <thumb minWidth="4" minHeight="4" resizable="both"      >thumbs/template_widget_4x4_vh.png</thumb>
-    </thumbs>
-
-</template>
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x1.png b/templates/other/AppWidget/thumbs/template_widget_1x1.png
deleted file mode 100644
index 8b34a24..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x1.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x1_h.png b/templates/other/AppWidget/thumbs/template_widget_1x1_h.png
deleted file mode 100644
index 38ce687..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x1_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x1_v.png b/templates/other/AppWidget/thumbs/template_widget_1x1_v.png
deleted file mode 100644
index 0aedac7..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x1_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x1_vh.png b/templates/other/AppWidget/thumbs/template_widget_1x1_vh.png
deleted file mode 100644
index 301ee0f..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x1_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x2.png b/templates/other/AppWidget/thumbs/template_widget_1x2.png
deleted file mode 100644
index 0e4181d..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x2.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x2_h.png b/templates/other/AppWidget/thumbs/template_widget_1x2_h.png
deleted file mode 100644
index 37f3b94..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x2_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x2_v.png b/templates/other/AppWidget/thumbs/template_widget_1x2_v.png
deleted file mode 100644
index 2d13903..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x2_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x2_vh.png b/templates/other/AppWidget/thumbs/template_widget_1x2_vh.png
deleted file mode 100644
index 431f929..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x2_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x3.png b/templates/other/AppWidget/thumbs/template_widget_1x3.png
deleted file mode 100644
index b0fb55a..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x3.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x3_h.png b/templates/other/AppWidget/thumbs/template_widget_1x3_h.png
deleted file mode 100644
index 14fdc46..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x3_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x3_v.png b/templates/other/AppWidget/thumbs/template_widget_1x3_v.png
deleted file mode 100644
index 136b8de..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x3_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x3_vh.png b/templates/other/AppWidget/thumbs/template_widget_1x3_vh.png
deleted file mode 100644
index 5e18856..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x3_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x4.png b/templates/other/AppWidget/thumbs/template_widget_1x4.png
deleted file mode 100644
index 2922d34..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x4.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x4_h.png b/templates/other/AppWidget/thumbs/template_widget_1x4_h.png
deleted file mode 100644
index 462c802..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x4_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x4_v.png b/templates/other/AppWidget/thumbs/template_widget_1x4_v.png
deleted file mode 100644
index f239e73..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x4_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_1x4_vh.png b/templates/other/AppWidget/thumbs/template_widget_1x4_vh.png
deleted file mode 100644
index b05e168..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_1x4_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x1.png b/templates/other/AppWidget/thumbs/template_widget_2x1.png
deleted file mode 100644
index 9e14ef8..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x1.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x1_h.png b/templates/other/AppWidget/thumbs/template_widget_2x1_h.png
deleted file mode 100644
index 3a8019e..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x1_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x1_v.png b/templates/other/AppWidget/thumbs/template_widget_2x1_v.png
deleted file mode 100644
index d09ff28..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x1_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x1_vh.png b/templates/other/AppWidget/thumbs/template_widget_2x1_vh.png
deleted file mode 100644
index b6093e1..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x1_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x2.png b/templates/other/AppWidget/thumbs/template_widget_2x2.png
deleted file mode 100644
index 2894704..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x2.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x2_h.png b/templates/other/AppWidget/thumbs/template_widget_2x2_h.png
deleted file mode 100644
index a2ab77c..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x2_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x2_v.png b/templates/other/AppWidget/thumbs/template_widget_2x2_v.png
deleted file mode 100644
index c09f1f7..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x2_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x2_vh.png b/templates/other/AppWidget/thumbs/template_widget_2x2_vh.png
deleted file mode 100644
index 21becb2..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x2_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x3.png b/templates/other/AppWidget/thumbs/template_widget_2x3.png
deleted file mode 100644
index 3226127..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x3.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x3_h.png b/templates/other/AppWidget/thumbs/template_widget_2x3_h.png
deleted file mode 100644
index db2037a..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x3_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x3_v.png b/templates/other/AppWidget/thumbs/template_widget_2x3_v.png
deleted file mode 100644
index af21176..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x3_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x3_vh.png b/templates/other/AppWidget/thumbs/template_widget_2x3_vh.png
deleted file mode 100644
index e0edfb4..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x3_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x4.png b/templates/other/AppWidget/thumbs/template_widget_2x4.png
deleted file mode 100644
index dfcda22..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x4.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x4_h.png b/templates/other/AppWidget/thumbs/template_widget_2x4_h.png
deleted file mode 100644
index dc21139..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x4_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x4_v.png b/templates/other/AppWidget/thumbs/template_widget_2x4_v.png
deleted file mode 100644
index 6bfc884..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x4_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_2x4_vh.png b/templates/other/AppWidget/thumbs/template_widget_2x4_vh.png
deleted file mode 100644
index 922aeee..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_2x4_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x1.png b/templates/other/AppWidget/thumbs/template_widget_3x1.png
deleted file mode 100644
index bb394b9..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x1.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x1_h.png b/templates/other/AppWidget/thumbs/template_widget_3x1_h.png
deleted file mode 100644
index 47b19c3..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x1_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x1_v.png b/templates/other/AppWidget/thumbs/template_widget_3x1_v.png
deleted file mode 100644
index 5575850..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x1_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x1_vh.png b/templates/other/AppWidget/thumbs/template_widget_3x1_vh.png
deleted file mode 100644
index c4a5f3f..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x1_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x2.png b/templates/other/AppWidget/thumbs/template_widget_3x2.png
deleted file mode 100644
index 200fba4..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x2.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x2_h.png b/templates/other/AppWidget/thumbs/template_widget_3x2_h.png
deleted file mode 100644
index b027430..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x2_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x2_v.png b/templates/other/AppWidget/thumbs/template_widget_3x2_v.png
deleted file mode 100644
index b350ae8..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x2_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x2_vh.png b/templates/other/AppWidget/thumbs/template_widget_3x2_vh.png
deleted file mode 100644
index 129b706..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x2_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x3.png b/templates/other/AppWidget/thumbs/template_widget_3x3.png
deleted file mode 100644
index 30dfb4b..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x3.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x3_h.png b/templates/other/AppWidget/thumbs/template_widget_3x3_h.png
deleted file mode 100644
index 9b062e9..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x3_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x3_v.png b/templates/other/AppWidget/thumbs/template_widget_3x3_v.png
deleted file mode 100644
index af8b494..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x3_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x3_vh.png b/templates/other/AppWidget/thumbs/template_widget_3x3_vh.png
deleted file mode 100644
index bc92413..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x3_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x4.png b/templates/other/AppWidget/thumbs/template_widget_3x4.png
deleted file mode 100644
index 1759b62..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x4.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x4_h.png b/templates/other/AppWidget/thumbs/template_widget_3x4_h.png
deleted file mode 100644
index e09fa7e..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x4_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x4_v.png b/templates/other/AppWidget/thumbs/template_widget_3x4_v.png
deleted file mode 100644
index e6451fe..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x4_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_3x4_vh.png b/templates/other/AppWidget/thumbs/template_widget_3x4_vh.png
deleted file mode 100644
index 376611f..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_3x4_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x1.png b/templates/other/AppWidget/thumbs/template_widget_4x1.png
deleted file mode 100644
index 75031c8..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x1.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x1_h.png b/templates/other/AppWidget/thumbs/template_widget_4x1_h.png
deleted file mode 100644
index 7a4b81f..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x1_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x1_v.png b/templates/other/AppWidget/thumbs/template_widget_4x1_v.png
deleted file mode 100644
index 2c8c604..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x1_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x1_vh.png b/templates/other/AppWidget/thumbs/template_widget_4x1_vh.png
deleted file mode 100644
index 0b43cd7..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x1_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x2.png b/templates/other/AppWidget/thumbs/template_widget_4x2.png
deleted file mode 100644
index 8328141..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x2.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x2_h.png b/templates/other/AppWidget/thumbs/template_widget_4x2_h.png
deleted file mode 100644
index d83062c..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x2_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x2_v.png b/templates/other/AppWidget/thumbs/template_widget_4x2_v.png
deleted file mode 100644
index 561f47a..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x2_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x2_vh.png b/templates/other/AppWidget/thumbs/template_widget_4x2_vh.png
deleted file mode 100644
index 132ccd1..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x2_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x3.png b/templates/other/AppWidget/thumbs/template_widget_4x3.png
deleted file mode 100644
index c3ea452..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x3.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x3_h.png b/templates/other/AppWidget/thumbs/template_widget_4x3_h.png
deleted file mode 100644
index 57d84ce..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x3_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x3_v.png b/templates/other/AppWidget/thumbs/template_widget_4x3_v.png
deleted file mode 100644
index e8d93fc..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x3_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x3_vh.png b/templates/other/AppWidget/thumbs/template_widget_4x3_vh.png
deleted file mode 100644
index 71dfbb3..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x3_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x4.png b/templates/other/AppWidget/thumbs/template_widget_4x4.png
deleted file mode 100644
index 340244f..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x4.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x4_h.png b/templates/other/AppWidget/thumbs/template_widget_4x4_h.png
deleted file mode 100644
index f20c14e..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x4_h.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x4_v.png b/templates/other/AppWidget/thumbs/template_widget_4x4_v.png
deleted file mode 100644
index d490c79..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x4_v.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/AppWidget/thumbs/template_widget_4x4_vh.png b/templates/other/AppWidget/thumbs/template_widget_4x4_vh.png
deleted file mode 100644
index 52e1b4d..0000000
--- a/templates/other/AppWidget/thumbs/template_widget_4x4_vh.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/BlankFragment/globals.xml.ftl b/templates/other/BlankFragment/globals.xml.ftl
deleted file mode 100644
index bfc27eb..0000000
--- a/templates/other/BlankFragment/globals.xml.ftl
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-</globals>
diff --git a/templates/other/BlankFragment/recipe.xml.ftl b/templates/other/BlankFragment/recipe.xml.ftl
deleted file mode 100644
index add6d27..0000000
--- a/templates/other/BlankFragment/recipe.xml.ftl
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-
-    <merge from="res/values/strings.xml" />
-
-    <#if includeLayout>
-        <instantiate from="res/layout/fragment_blank.xml.ftl"
-                       to="res/layout/fragment_${classToResource(className)}.xml" />
-
-        <open file="res/layout/fragment_${classToResource(className)}.xml" />
-    </#if>
-
-    <open file="${srcOut}/${className}.java" />
-
-    <instantiate from="src/app_package/BlankFragment.java.ftl"
-                   to="${srcOut}/${className}.java" />
-
-</recipe>
diff --git a/templates/other/BlankFragment/root/res/layout/fragment_blank.xml.ftl b/templates/other/BlankFragment/root/res/layout/fragment_blank.xml.ftl
deleted file mode 100644
index 3e04f05..0000000
--- a/templates/other/BlankFragment/root/res/layout/fragment_blank.xml.ftl
+++ /dev/null
@@ -1,13 +0,0 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".${className}">
-
-    <!-- TODO: Update blank fragment layout -->
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:text="@string/hello_blank_fragment" />
-
-</FrameLayout>
diff --git a/templates/other/BlankFragment/root/res/values/strings.xml b/templates/other/BlankFragment/root/res/values/strings.xml
deleted file mode 100644
index c8d8b1a..0000000
--- a/templates/other/BlankFragment/root/res/values/strings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<resources>
-
-<!-- TODO: Remove or change this placeholder text -->
-    <string name="hello_blank_fragment">Hello blank fragment</string>
-
-</resources>
diff --git a/templates/other/BlankFragment/root/src/app_package/BlankFragment.java.ftl b/templates/other/BlankFragment/root/src/app_package/BlankFragment.java.ftl
deleted file mode 100644
index 6b3fb1e..0000000
--- a/templates/other/BlankFragment/root/src/app_package/BlankFragment.java.ftl
+++ /dev/null
@@ -1,129 +0,0 @@
-package ${packageName};
-
-<#if includeCallbacks>import android.app.Activity;</#if>
-<#if includeCallbacks>import android.net.Uri;</#if>
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-<#if !includeLayout>import android.widget.TextView;</#if>
-
-/**
- * A simple {@link android.support.v4.app.Fragment} subclass.
-<#if includeCallbacks>
- * Activities that contain this fragment must implement the
- * {@link ${className}.OnFragmentInteractionListener} interface
- * to handle interaction events.
-</#if>
-<#if includeFactory>
- * Use the {@link ${className}#newInstance} factory method to
- * create an instance of this fragment.
-</#if>
- *
- */
-public class ${className} extends Fragment {
-<#if includeFactory>
-    // TODO: Rename parameter arguments, choose names that match
-    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
-    private static final String ARG_PARAM1 = "param1";
-    private static final String ARG_PARAM2 = "param2";
-
-    // TODO: Rename and change types of parameters
-    private String mParam1;
-    private String mParam2;
-</#if>
-
-<#if includeCallbacks>
-    private OnFragmentInteractionListener mListener;
-</#if>
-
-<#if includeFactory>
-    /**
-     * Use this factory method to create a new instance of
-     * this fragment using the provided parameters.
-     *
-     * @param param1 Parameter 1.
-     * @param param2 Parameter 2.
-     * @return A new instance of fragment ${className}.
-     */
-    // TODO: Rename and change types and number of parameters
-    public static ${className} newInstance(String param1, String param2) {
-        ${className} fragment = new ${className}();
-        Bundle args = new Bundle();
-        args.putString(ARG_PARAM1, param1);
-        args.putString(ARG_PARAM2, param2);
-        fragment.setArguments(args);
-        return fragment;
-    }
-</#if>
-    public ${className}() {
-        // Required empty public constructor
-    }
-
-<#if includeFactory>
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        if (getArguments() != null) {
-            mParam1 = getArguments().getString(ARG_PARAM1);
-            mParam2 = getArguments().getString(ARG_PARAM2);
-        }
-    }
-</#if>
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-                             Bundle savedInstanceState) {
-<#if includeLayout>
-        // Inflate the layout for this fragment
-        return inflater.inflate(R.layout.fragment_${classToResource(className)}, container, false);
-<#else>
-        TextView textView = new TextView(getActivity());
-        textView.setText(R.string.hello_blank_fragment);
-        return textView;
-</#if>
-    }
-
-<#if includeCallbacks>
-    // TODO: Rename method, update argument and hook method into UI event
-    public void onButtonPressed(Uri uri) {
-        if (mListener != null) {
-            mListener.onFragmentInteraction(uri);
-        }
-    }
-
-    @Override
-    public void onAttach(Activity activity) {
-        super.onAttach(activity);
-        try {
-            mListener = (OnFragmentInteractionListener) activity;
-        } catch (ClassCastException e) {
-            throw new ClassCastException(activity.toString()
-                    + " must implement OnFragmentInteractionListener");
-        }
-    }
-
-    @Override
-    public void onDetach() {
-        super.onDetach();
-        mListener = null;
-    }
-
-    /**
-     * This interface must be implemented by activities that contain this
-     * fragment to allow an interaction in this fragment to be communicated
-     * to the activity and potentially other fragments contained in that
-     * activity.
-     * <p>
-     * See the Android Training lesson <a href=
-     * "http://developer.android.com/training/basics/fragments/communicating.html"
-     * >Communicating with Other Fragments</a> for more information.
-     */
-    public interface OnFragmentInteractionListener {
-        // TODO: Update argument type and name
-        public void onFragmentInteraction(Uri uri);
-    }
-</#if>
-
-}
diff --git a/templates/other/BlankFragment/template.xml b/templates/other/BlankFragment/template.xml
deleted file mode 100644
index 9434c18..0000000
--- a/templates/other/BlankFragment/template.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="3"
-    revision="1"
-    name="New Blank Fragment"
-    description="Creates a blank fragment that is compatible back to API level 4."
-    minApi="7"
-    minBuildApi="8">
-
-    <dependency name="android-support-v4" revision="8" />
-
-    <category value="Other" />
-
-    <parameter
-        id="className"
-        name="Fragment Name"
-        type="string"
-        constraints="class|nonempty|unique"
-        default="BlankFragment"
-        help="The name of the fragment class to create" />
-
-    <parameter
-        id="includeLayout"
-        name="Create layout XML?"
-        type="boolean"
-        default="true"
-        help="Generate a layout XML for the fragment" />
-
-    <parameter
-        id="includeFactory"
-        name="Include fragment factory methods?"
-        type="boolean"
-        default="true"
-        help="Generate static fragment factory methods for easy instantiation" />
-
-    <parameter
-        id="includeCallbacks"
-        name="Include interface callbacks?"
-        type="boolean"
-        default="true"
-        help="Generate event callbacks for communication with an Activity or other fragments" />
-
-    <thumbs>
-        <thumb>template_blank_fragment.png</thumb>
-    </thumbs>
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/other/BlankFragment/template_blank_fragment.png b/templates/other/BlankFragment/template_blank_fragment.png
deleted file mode 100644
index e0e71ce..0000000
--- a/templates/other/BlankFragment/template_blank_fragment.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/BroadcastReceiver/globals.xml.ftl b/templates/other/BroadcastReceiver/globals.xml.ftl
deleted file mode 100644
index bfc27eb..0000000
--- a/templates/other/BroadcastReceiver/globals.xml.ftl
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-</globals>
diff --git a/templates/other/BroadcastReceiver/recipe.xml.ftl b/templates/other/BroadcastReceiver/recipe.xml.ftl
deleted file mode 100644
index a9d2623..0000000
--- a/templates/other/BroadcastReceiver/recipe.xml.ftl
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-    <merge from="AndroidManifest.xml.ftl" />
-    <instantiate from="src/app_package/BroadcastReceiver.java.ftl"
-                   to="${srcOut}/${className}.java" />
-    <open file="${srcOut}/${className}.java" />
-</recipe>
diff --git a/templates/other/BroadcastReceiver/root/AndroidManifest.xml.ftl b/templates/other/BroadcastReceiver/root/AndroidManifest.xml.ftl
deleted file mode 100644
index 27b60b0..0000000
--- a/templates/other/BroadcastReceiver/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,10 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <application>
-        <receiver android:name=".${className}"
-            android:exported="${isExported?string}"
-            android:enabled="${isEnabled?string}" >
-        </receiver>
-    </application>
-
-</manifest>
diff --git a/templates/other/BroadcastReceiver/root/src/app_package/BroadcastReceiver.java.ftl b/templates/other/BroadcastReceiver/root/src/app_package/BroadcastReceiver.java.ftl
deleted file mode 100644
index 560c132..0000000
--- a/templates/other/BroadcastReceiver/root/src/app_package/BroadcastReceiver.java.ftl
+++ /dev/null
@@ -1,17 +0,0 @@
-package ${packageName};
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-
-public class ${className} extends BroadcastReceiver {
-    public ${className}() {
-    }
-
-    @Override
-    public void onReceive(Context context, Intent intent) {
-        // TODO: This method is called when the BroadcastReceiver is receiving
-        // an Intent broadcast.
-        throw new UnsupportedOperationException("Not yet implemented");
-    }
-}
diff --git a/templates/other/BroadcastReceiver/template.xml b/templates/other/BroadcastReceiver/template.xml
deleted file mode 100644
index b17851e..0000000
--- a/templates/other/BroadcastReceiver/template.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="1"
-    revision="1"
-    name="Broadcast Receiver"
-    description="Creates a new broadcast receiver component and adds it to your Android manifest.">
-
-    <parameter
-        id="className"
-        name="Class Name"
-        type="string"
-        constraints="class|unique|nonempty"
-        default="MyReceiver" />
-
-    <parameter
-        id="isExported"
-        name="Exported"
-        type="boolean"
-        default="true"
-        help="Whether or not the broadcast receiver can receive messages from sources outside its application" />
-
-    <parameter
-        id="isEnabled"
-        name="Enabled"
-        type="boolean"
-        default="true"
-        help="Whether or not the broadcast receiver can be instantiated by the system" />
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/other/ContentProvider/globals.xml.ftl b/templates/other/ContentProvider/globals.xml.ftl
deleted file mode 100644
index bfc27eb..0000000
--- a/templates/other/ContentProvider/globals.xml.ftl
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-</globals>
diff --git a/templates/other/ContentProvider/recipe.xml.ftl b/templates/other/ContentProvider/recipe.xml.ftl
deleted file mode 100644
index 6cdad82..0000000
--- a/templates/other/ContentProvider/recipe.xml.ftl
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-    <merge from="AndroidManifest.xml.ftl" />
-    <instantiate from="src/app_package/ContentProvider.java.ftl"
-                   to="${srcOut}/${className}.java" />
-    <open file="${srcOut}/${className}.java" />
-</recipe>
diff --git a/templates/other/ContentProvider/root/AndroidManifest.xml.ftl b/templates/other/ContentProvider/root/AndroidManifest.xml.ftl
deleted file mode 100644
index 6fa4afc..0000000
--- a/templates/other/ContentProvider/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,11 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <application>
-        <provider android:name=".${className}"
-            android:authorities="${authorities}"
-            android:exported="${isExported?string}"
-            android:enabled="${isEnabled?string}" >
-        </provider>
-    </application>
-
-</manifest>
diff --git a/templates/other/ContentProvider/root/src/app_package/ContentProvider.java.ftl b/templates/other/ContentProvider/root/src/app_package/ContentProvider.java.ftl
deleted file mode 100644
index e5b43b5..0000000
--- a/templates/other/ContentProvider/root/src/app_package/ContentProvider.java.ftl
+++ /dev/null
@@ -1,50 +0,0 @@
-package ${packageName};
-
-import android.content.ContentProvider;
-import android.content.ContentValues;
-import android.database.Cursor;
-import android.net.Uri;
-
-public class ${className} extends ContentProvider {
-    public ${className}() {
-    }
-
-    @Override
-    public int delete(Uri uri, String selection, String[] selectionArgs) {
-        // Implement this to handle requests to delete one or more rows.
-        throw new UnsupportedOperationException("Not yet implemented");
-    }
-
-    @Override
-    public String getType(Uri uri) {
-        // TODO: Implement this to handle requests for the MIME type of the data
-        // at the given URI.
-        throw new UnsupportedOperationException("Not yet implemented");
-    }
-
-    @Override
-    public Uri insert(Uri uri, ContentValues values) {
-        // TODO: Implement this to handle requests to insert a new row.
-        throw new UnsupportedOperationException("Not yet implemented");
-    }
-
-    @Override
-    public boolean onCreate() {
-        // TODO: Implement this to initialize your content provider on startup.
-        return false;
-    }
-
-    @Override
-    public Cursor query(Uri uri, String[] projection, String selection,
-            String[] selectionArgs, String sortOrder) {
-        // TODO: Implement this to handle query requests from clients.
-        throw new UnsupportedOperationException("Not yet implemented");
-    }
-
-    @Override
-    public int update(Uri uri, ContentValues values, String selection,
-            String[] selectionArgs) {
-        // TODO: Implement this to handle requests to update one or more rows.
-        throw new UnsupportedOperationException("Not yet implemented");
-    }
-}
diff --git a/templates/other/ContentProvider/template.xml b/templates/other/ContentProvider/template.xml
deleted file mode 100644
index 21ed1be..0000000
--- a/templates/other/ContentProvider/template.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="1"
-    revision="1"
-    name="Content Provider"
-    description="Creates a new content provider component and adds it to your Android manifest.">
-
-    <parameter
-        id="className"
-        name="Class Name"
-        type="string"
-        constraints="class|unique|nonempty"
-        default="MyContentProvider" />
-
-    <parameter
-        id="authorities"
-        name="URI Authorities"
-        type="string"
-        constraints="nonempty"
-        default=""
-        help="A list of one or more URI authorities that identify data under the purview of the content provider. " />
-
-    <parameter
-        id="isExported"
-        name="Exported"
-        type="boolean"
-        default="true"
-        help="Whether or not the content provider can be used by components of other applications " />
-
-    <parameter
-        id="isEnabled"
-        name="Enabled"
-        type="boolean"
-        default="true"
-        help="Whether or not the content provider can be instantiated by the system " />
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/other/CustomView/globals.xml.ftl b/templates/other/CustomView/globals.xml.ftl
deleted file mode 100644
index d2eeb40..0000000
--- a/templates/other/CustomView/globals.xml.ftl
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="view_class" value="${camelCaseToUnderscore(viewClass)}" />
-</globals>
diff --git a/templates/other/CustomView/recipe.xml.ftl b/templates/other/CustomView/recipe.xml.ftl
deleted file mode 100644
index d152df0..0000000
--- a/templates/other/CustomView/recipe.xml.ftl
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-    <merge from="res/values/attrs.xml.ftl"
-                   to="res/values/attrs_${view_class}.xml" />
-    <instantiate from="res/layout/sample.xml.ftl"
-                   to="res/layout/sample_${view_class}.xml" />
-
-    <instantiate from="src/app_package/CustomView.java.ftl"
-                   to="${srcOut}/${viewClass}.java" />
-
-    <open file="${srcOut}/${viewClass}.java" />
-    <open file="res/layout/sample_${view_class}.xml" />
-</recipe>
diff --git a/templates/other/CustomView/root/res/layout/sample.xml.ftl b/templates/other/CustomView/root/res/layout/sample.xml.ftl
deleted file mode 100755
index 03125b2..0000000
--- a/templates/other/CustomView/root/res/layout/sample.xml.ftl
+++ /dev/null
@@ -1,22 +0,0 @@
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-<#if !isLibraryProject>
-    xmlns:app="http://schemas.android.com/apk/res/${packageName}"
-<#else>
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-</#if>
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <${packageName}.${viewClass}
-        android:background="#ccc"
-        android:layout_width="300dp"
-        android:layout_height="300dp"
-        android:paddingLeft="20dp"
-        android:paddingBottom="40dp"
-        app:exampleDimension="24sp"
-        app:exampleColor="#33b5e5"
-        app:exampleString="Hello, ${viewClass}"
-        app:exampleDrawable="@android:drawable/ic_menu_add" />
-
-</FrameLayout>
diff --git a/templates/other/CustomView/root/res/values/attrs.xml.ftl b/templates/other/CustomView/root/res/values/attrs.xml.ftl
deleted file mode 100755
index 89059d2..0000000
--- a/templates/other/CustomView/root/res/values/attrs.xml.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<resources>
-    <declare-styleable name="${viewClass}">
-        <attr name="exampleString" format="string" />
-        <attr name="exampleDimension" format="dimension" />
-        <attr name="exampleColor" format="color" />
-        <attr name="exampleDrawable" format="color|reference" />
-    </declare-styleable>
-</resources>
diff --git a/templates/other/CustomView/root/src/app_package/CustomView.java.ftl b/templates/other/CustomView/root/src/app_package/CustomView.java.ftl
deleted file mode 100644
index e1c7e13..0000000
--- a/templates/other/CustomView/root/src/app_package/CustomView.java.ftl
+++ /dev/null
@@ -1,181 +0,0 @@
-package ${packageName};
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Paint;
-import android.graphics.drawable.Drawable;
-import android.text.TextPaint;
-import android.util.AttributeSet;
-import android.view.View;
-
-/**
- * TODO: document your custom view class.
- */
-public class ${viewClass} extends View {
-    private String mExampleString; // TODO: use a default from R.string...
-    private int mExampleColor = Color.RED; // TODO: use a default from R.color...
-    private float mExampleDimension = 0; // TODO: use a default from R.dimen...
-    private Drawable mExampleDrawable;
-
-    private TextPaint mTextPaint;
-    private float mTextWidth;
-    private float mTextHeight;
-
-    public ${viewClass}(Context context) {
-        super(context);
-        init(null, 0);
-    }
-
-    public ${viewClass}(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        init(attrs, 0);
-    }
-
-    public ${viewClass}(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-        init(attrs, defStyle);
-    }
-
-    private void init(AttributeSet attrs, int defStyle) {
-        // Load attributes
-        final TypedArray a = getContext().obtainStyledAttributes(
-                attrs, R.styleable.${viewClass}, defStyle, 0);
-
-        mExampleString = a.getString(
-                R.styleable.${viewClass}_exampleString);
-        mExampleColor = a.getColor(
-                R.styleable.${viewClass}_exampleColor,
-                mExampleColor);
-        // Use getDimensionPixelSize or getDimensionPixelOffset when dealing with
-        // values that should fall on pixel boundaries.
-        mExampleDimension = a.getDimension(
-                R.styleable.${viewClass}_exampleDimension,
-                mExampleDimension);
-
-        if (a.hasValue(R.styleable.${viewClass}_exampleDrawable)) {
-            mExampleDrawable = a.getDrawable(
-                    R.styleable.${viewClass}_exampleDrawable);
-            mExampleDrawable.setCallback(this);
-        }
-
-        a.recycle();
-
-        // Set up a default TextPaint object
-        mTextPaint = new TextPaint();
-        mTextPaint.setFlags(Paint.ANTI_ALIAS_FLAG);
-        mTextPaint.setTextAlign(Paint.Align.LEFT);
-
-        // Update TextPaint and text measurements from attributes
-        invalidateTextPaintAndMeasurements();
-    }
-
-    private void invalidateTextPaintAndMeasurements() {
-        mTextPaint.setTextSize(mExampleDimension);
-        mTextPaint.setColor(mExampleColor);
-        mTextWidth = mTextPaint.measureText(mExampleString);
-
-        Paint.FontMetrics fontMetrics = mTextPaint.getFontMetrics();
-        mTextHeight = fontMetrics.bottom;
-    }
-
-    @Override
-    protected void onDraw(Canvas canvas) {
-        super.onDraw(canvas);
-
-        // TODO: consider storing these as member variables to reduce
-        // allocations per draw cycle.
-        int paddingLeft = getPaddingLeft();
-        int paddingTop = getPaddingTop();
-        int paddingRight = getPaddingRight();
-        int paddingBottom = getPaddingBottom();
-
-        int contentWidth = getWidth() - paddingLeft - paddingRight;
-        int contentHeight = getHeight() - paddingTop - paddingBottom;
-
-        // Draw the text.
-        canvas.drawText(mExampleString,
-                paddingLeft + (contentWidth - mTextWidth) / 2,
-                paddingTop + (contentHeight + mTextHeight) / 2,
-                mTextPaint);
-
-        // Draw the example drawable on top of the text.
-        if (mExampleDrawable != null) {
-            mExampleDrawable.setBounds(paddingLeft, paddingTop,
-                    paddingLeft + contentWidth, paddingTop + contentHeight);
-            mExampleDrawable.draw(canvas);
-        }
-    }
-
-    /**
-     * Gets the example string attribute value.
-     * @return The example string attribute value.
-     */
-    public String getExampleString() {
-        return mExampleString;
-    }
-
-    /**
-     * Sets the view's example string attribute value. In the example view, this string
-     * is the text to draw.
-     * @param exampleString The example string attribute value to use.
-     */
-    public void setExampleString(String exampleString) {
-        mExampleString = exampleString;
-        invalidateTextPaintAndMeasurements();
-    }
-
-    /**
-     * Gets the example color attribute value.
-     * @return The example color attribute value.
-     */
-    public int getExampleColor() {
-        return mExampleColor;
-    }
-
-    /**
-     * Sets the view's example color attribute value. In the example view, this color
-     * is the font color.
-     * @param exampleColor The example color attribute value to use.
-     */
-    public void setExampleColor(int exampleColor) {
-        mExampleColor = exampleColor;
-        invalidateTextPaintAndMeasurements();
-    }
-
-    /**
-     * Gets the example dimension attribute value.
-     * @return The example dimension attribute value.
-     */
-    public float getExampleDimension() {
-        return mExampleDimension;
-    }
-
-    /**
-     * Sets the view's example dimension attribute value. In the example view, this dimension
-     * is the font size.
-     * @param exampleDimension The example dimension attribute value to use.
-     */
-    public void setExampleDimension(float exampleDimension) {
-        mExampleDimension = exampleDimension;
-        invalidateTextPaintAndMeasurements();
-    }
-
-    /**
-     * Gets the example drawable attribute value.
-     * @return The example drawable attribute value.
-     */
-    public Drawable getExampleDrawable() {
-        return mExampleDrawable;
-    }
-
-    /**
-     * Sets the view's example drawable attribute value. In the example view, this drawable is
-     * drawn above the text.
-     * @param exampleDrawable The example drawable attribute value to use.
-     */
-    public void setExampleDrawable(Drawable exampleDrawable) {
-        mExampleDrawable = exampleDrawable;
-    }
-}
diff --git a/templates/other/CustomView/template.xml b/templates/other/CustomView/template.xml
deleted file mode 100644
index 55f6f3d..0000000
--- a/templates/other/CustomView/template.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="1"
-    revision="1"
-    name="Custom View"
-    description="Creates a new custom view that extends android.view.View and exposes custom attributes.">
-
-    <category value="UI Components" />
-
-    <parameter
-        id="packageName"
-        name="Package name"
-        type="string"
-        constraints="package"
-        default="com.mycompany.myapp" />
-
-    <parameter
-        id="viewClass"
-        name="View Class"
-        type="string"
-        constraints="class|unique|nonempty"
-        default="MyView"
-        help="By convention, should end in 'View'" />
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/other/Daydream/globals.xml.ftl b/templates/other/Daydream/globals.xml.ftl
deleted file mode 100644
index 04537f9..0000000
--- a/templates/other/Daydream/globals.xml.ftl
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="class_name" value="${classToResource(className)}" />
-    <global id="info_name" value="${classToResource(className)}_info" />
-    <global id="settingsClassName"  value="${className}SettingsActivity" />
-    <global id="prefs_name" value="${classToResource(className)}_prefs" />
-</globals>
diff --git a/templates/other/Daydream/recipe.xml.ftl b/templates/other/Daydream/recipe.xml.ftl
deleted file mode 100644
index 8db9811..0000000
--- a/templates/other/Daydream/recipe.xml.ftl
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-
-    <merge from="AndroidManifest.xml.ftl" />
-    <merge from="res/values/strings.xml.ftl" />
-
-    <copy from="res/layout-v17/dream.xml"
-          to="res/layout-v17/${class_name}.xml" />
-
-    <instantiate from="src/app_package/DreamService.java.ftl"
-                 to="${srcOut}/${className}.java" />
-
-<#if configurable>
-    <copy from="res/xml/dream_prefs.xml"
-          to="res/xml/${prefs_name}.xml" />
-
-    <instantiate from="src/app_package/SettingsActivity.java.ftl"
-                 to="${srcOut}/${settingsClassName}.java" />
-
-    <instantiate from="res/xml/xml_dream.xml.ftl"
-                 to="res/xml/${info_name}.xml" />
-</#if>
-
-    <open file="${srcOut}/${className}.java" />
-
-</recipe>
diff --git a/templates/other/Daydream/root/AndroidManifest.xml.ftl b/templates/other/Daydream/root/AndroidManifest.xml.ftl
deleted file mode 100644
index c23bc6e..0000000
--- a/templates/other/Daydream/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,28 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <application>
-
-<#if configurable>
-        <activity
-            android:name=".${settingsClassName}" />
-</#if>
-
-        <!-- This service is only used on devices with API v17+ -->
-        <service
-            android:name=".${className}"
-            android:exported="true" >
-            <intent-filter>
-                <action android:name="android.service.dreams.DreamService" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-<#if configurable>
-
-            <!-- Point to additional information for this dream -->
-            <meta-data
-                android:name="android.service.dream"
-                android:resource="@xml/${info_name}" />
-</#if>
-        </service>
-    </application>
-
-</manifest>
diff --git a/templates/other/Daydream/root/res/layout-v17/dream.xml b/templates/other/Daydream/root/res/layout-v17/dream.xml
deleted file mode 100644
index 25593f3..0000000
--- a/templates/other/Daydream/root/res/layout-v17/dream.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent" >
-
-    <TextView
-        android:id="@+id/dream_text"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:fontFamily="sans-serif-light"
-        android:textSize="50sp" />
-
-</FrameLayout>
diff --git a/templates/other/Daydream/root/res/values/strings.xml.ftl b/templates/other/Daydream/root/res/values/strings.xml.ftl
deleted file mode 100644
index b3d208f..0000000
--- a/templates/other/Daydream/root/res/values/strings.xml.ftl
+++ /dev/null
@@ -1,7 +0,0 @@
-<resources>
-    <string name="pref_dream_text_key">pref_dream_text</string>
-    <string name="pref_dream_text_default">zzzZZZzzz</string>
-<#if configurable>
-    <string name="pref_dream_text_title">Ticker text</string>
-</#if>
-</resources>
diff --git a/templates/other/Daydream/root/res/xml/dream_prefs.xml b/templates/other/Daydream/root/res/xml/dream_prefs.xml
deleted file mode 100644
index 997e5b2..0000000
--- a/templates/other/Daydream/root/res/xml/dream_prefs.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <EditTextPreference
-        android:key="@string/pref_dream_text_key"
-        android:title="@string/pref_dream_text_title"
-        android:defaultValue="@string/pref_dream_text_default" />
-
-</PreferenceScreen>
diff --git a/templates/other/Daydream/root/res/xml/xml_dream.xml.ftl b/templates/other/Daydream/root/res/xml/xml_dream.xml.ftl
deleted file mode 100644
index 5367ae1..0000000
--- a/templates/other/Daydream/root/res/xml/xml_dream.xml.ftl
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<dream xmlns:android="http://schemas.android.com/apk/res/android"
-    android:settingsActivity="${packageName}/.${settingsClassName}" />
diff --git a/templates/other/Daydream/root/src/app_package/DreamService.java.ftl b/templates/other/Daydream/root/src/app_package/DreamService.java.ftl
deleted file mode 100644
index 30f080f..0000000
--- a/templates/other/Daydream/root/src/app_package/DreamService.java.ftl
+++ /dev/null
@@ -1,140 +0,0 @@
-package ${packageName};
-
-import java.util.Random;
-
-import android.animation.Animator;
-import android.animation.Animator.AnimatorListener;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.TimeInterpolator;
-import android.annotation.TargetApi;
-import android.content.SharedPreferences;
-import android.graphics.Point;
-import android.os.Build;
-import android.preference.PreferenceManager;
-import android.service.dreams.DreamService;
-import android.view.ViewPropertyAnimator;
-import android.view.animation.LinearInterpolator;
-import android.widget.TextView;
-
-/**
- * This class is a sample implementation of a DreamService. When activated, a
- * TextView will repeatedly, move from the left to the right of screen, at a
- * random y-value.
-<#if configurable>
- * The generated {@link BlahDreamServiceSettingsActivity} allows
- * the user to change the text which is displayed.
-</#if>
- * <p />
- * Daydreams are only available on devices running API v17+.
- */
-@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
-public class ${className} extends DreamService {
-
-    private static final TimeInterpolator sInterpolator = new LinearInterpolator();
-
-    private final AnimatorListener mAnimListener = new AnimatorListenerAdapter() {
-
-        @Override
-        public void onAnimationEnd(Animator animation) {
-            // Start animation again
-            startTextViewScrollAnimation();
-        }
-
-    };
-
-    private final Random mRandom = new Random();
-    private final Point mPointSize = new Point();
-
-    private TextView mDreamTextView;
-    private ViewPropertyAnimator mAnimator;
-
-    @Override
-    public void onAttachedToWindow() {
-        super.onAttachedToWindow();
-
-        // Exit dream upon user touch?
-<#if isInteractive>
-        setInteractive(true);
-<#else>
-        setInteractive(false);
-</#if>
-
-        // Hide system UI?
-<#if isFullscreen>
-        setFullscreen(true);
-<#else>
-        setFullscreen(false);
-</#if>
-
-        // Keep screen at full brightness?
-<#if isScreenBright>
-        setScreenBright(true);
-<#else>
-        setScreenBright(false);
-</#if>
-
-        // Set the content view, just like you would with an Activity.
-        setContentView(R.layout.${class_name});
-
-        mDreamTextView = (TextView) findViewById(R.id.dream_text);
-        mDreamTextView.setText(getTextFromPreferences());
-    }
-
-    @Override
-    public void onDreamingStarted() {
-        super.onDreamingStarted();
-
-        // TODO: Begin animations or other behaviors here.
-
-        startTextViewScrollAnimation();
-    }
-
-    @Override
-    public void onDreamingStopped() {
-        super.onDreamingStopped();
-
-        // TODO: Stop anything that was started in onDreamingStarted()
-
-        mAnimator.cancel();
-    }
-
-    @Override
-    public void onDetachedFromWindow() {
-        super.onDetachedFromWindow();
-
-        // TODO: Dismantle resources
-        // (for example, detach from handlers and listeners).
-    }
-
-    private String getTextFromPreferences() {
-        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
-        return prefs.getString(getString(R.string.pref_dream_text_key),
-                getString(R.string.pref_dream_text_default));
-    }
-
-    private void startTextViewScrollAnimation() {
-        // Refresh Size of Window
-        getWindowManager().getDefaultDisplay().getSize(mPointSize);
-
-        final int windowWidth = mPointSize.x;
-        final int windowHeight = mPointSize.y;
-
-        // Move TextView so it's moved all the way to the left
-        mDreamTextView.setTranslationX(-mDreamTextView.getWidth());
-
-        // Move TextView to random y value
-        final int yRange = windowHeight - mDreamTextView.getHeight();
-        mDreamTextView.setTranslationY(mRandom.nextInt(yRange));
-
-        // Create an Animator and keep a reference to it
-        mAnimator = mDreamTextView.animate().translationX(windowWidth)
-            .setDuration(3000)
-            .setStartDelay(500)
-            .setListener(mAnimListener)
-            .setInterpolator(sInterpolator);
-
-        // Start the animation
-        mAnimator.start();
-    }
-
-}
diff --git a/templates/other/Daydream/root/src/app_package/SettingsActivity.java.ftl b/templates/other/Daydream/root/src/app_package/SettingsActivity.java.ftl
deleted file mode 100644
index 62d5887..0000000
--- a/templates/other/Daydream/root/src/app_package/SettingsActivity.java.ftl
+++ /dev/null
@@ -1,36 +0,0 @@
-package ${packageName};
-
-import android.annotation.TargetApi;
-import android.os.Build;
-import android.os.Bundle;
-import android.preference.PreferenceActivity;
-import android.preference.PreferenceFragment;
-
-/**
- * A settings Activity for {@link ${className}}.
- * <p />
- * A DreamService can only be used on devices with API v17+, so it is safe
- * for us to use a {@link PreferenceFragment} here.
- */
-@TargetApi(Build.VERSION_CODES.HONEYCOMB)
-public class ${settingsClassName} extends PreferenceActivity {
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        getFragmentManager().beginTransaction()
-                .replace(android.R.id.content, new DreamPreferenceFragment()).commit();
-    }
-
-    public static class DreamPreferenceFragment extends PreferenceFragment {
-
-        @Override
-        public void onCreate(Bundle savedInstanceState) {
-            super.onCreate(savedInstanceState);
-            addPreferencesFromResource(R.xml.${prefs_name});
-        }
-
-    }
-
-}
diff --git a/templates/other/Daydream/template.xml b/templates/other/Daydream/template.xml
deleted file mode 100644
index 2014eee..0000000
--- a/templates/other/Daydream/template.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="3"
-    revision="1"
-    name="New Daydream"
-    description="Creates a new Daydream service component, for use on devices running Android 4.2 and later."
-    minBuildApi="17">
-
-    <category value="Other" />
-
-    <parameter
-        id="className"
-        name="Class Name"
-        type="string"
-        constraints="class|unique|nonempty"
-        default="MyDaydreamService" />
-
-    <parameter
-        id="isInteractive"
-        name="Interactive?"
-        type="boolean"
-        default="false"
-        help="Whether or not the Daydream is interactive. Touching anywhere on a non-interactive Daydreams dismisses it." />
-
-    <parameter
-        id="isFullscreen"
-        name="Fullscreen?"
-        type="boolean"
-        default="true"
-        help="Whether or not the Daydream should be in fullscreen mode (in which case system UI will be hidden)." />
-
-    <parameter
-        id="isScreenBright"
-        name="Bright Screen?"
-        type="boolean"
-        default="true"
-        help="Whether or not the screen should be bright when this Daydream is running. The screen will be dim otherwise." />
-
-    <parameter
-        id="configurable"
-        name="Configuration Activity"
-        type="boolean"
-        default="false"
-        help="Whether or not to generate an associated settings Activity." />
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/other/IntentService/globals.xml.ftl b/templates/other/IntentService/globals.xml.ftl
deleted file mode 100644
index bfc27eb..0000000
--- a/templates/other/IntentService/globals.xml.ftl
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-</globals>
diff --git a/templates/other/IntentService/recipe.xml.ftl b/templates/other/IntentService/recipe.xml.ftl
deleted file mode 100644
index 958f6fd..0000000
--- a/templates/other/IntentService/recipe.xml.ftl
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-    <merge from="AndroidManifest.xml.ftl" />
-    <instantiate from="src/app_package/IntentService.java.ftl"
-                   to="${srcOut}/${className}.java" />
-    <open file="${srcOut}/${className}.java" />
-</recipe>
diff --git a/templates/other/IntentService/root/AndroidManifest.xml.ftl b/templates/other/IntentService/root/AndroidManifest.xml.ftl
deleted file mode 100644
index fcc0b66..0000000
--- a/templates/other/IntentService/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,9 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <application>
-        <service android:name=".${className}"
-            android:exported="false" >
-        </service>
-    </application>
-
-</manifest>
diff --git a/templates/other/IntentService/root/src/app_package/IntentService.java.ftl b/templates/other/IntentService/root/src/app_package/IntentService.java.ftl
deleted file mode 100644
index c6848ef..0000000
--- a/templates/other/IntentService/root/src/app_package/IntentService.java.ftl
+++ /dev/null
@@ -1,106 +0,0 @@
-package ${packageName};
-
-import android.app.IntentService;
-import android.content.Intent;
-<#if includeHelper>import android.content.Context;</#if>
-
-/**
- * An {@link IntentService} subclass for handling asynchronous task requests in
- * a service on a separate handler thread.
- * <p>
-<#if includeHelper>
- * TODO: Customize class - update intent actions, extra parameters and static
- * helper methods.
-<#else>
- * TODO: Customize class - update intent actions and extra parameters.
-</#if>
- */
-public class ${className} extends IntentService {
-<#if !includeHelper>
-    // TODO: Rename actions, choose action names that describe tasks that this
-    // IntentService can perform, e.g. ACTION_FETCH_NEW_ITEMS
-    public static final String ACTION_FOO = "${packageName}.action.FOO";
-    public static final String ACTION_BAZ = "${packageName}.action.BAZ";
-
-    // TODO: Rename parameters
-    public static final String EXTRA_PARAM1 = "${packageName}.extra.PARAM1";
-    public static final String EXTRA_PARAM2 = "${packageName}.extra.PARAM2";
-<#else>
-    // TODO: Rename actions, choose action names that describe tasks that this
-    // IntentService can perform, e.g. ACTION_FETCH_NEW_ITEMS
-    private static final String ACTION_FOO = "${packageName}.action.FOO";
-    private static final String ACTION_BAZ = "${packageName}.action.BAZ";
-
-    // TODO: Rename parameters
-    private static final String EXTRA_PARAM1 = "${packageName}.extra.PARAM1";
-    private static final String EXTRA_PARAM2 = "${packageName}.extra.PARAM2";
-
-    /**
-     * Starts this service to perform action Foo with the given parameters. If
-     * the service is already performing a task this action will be queued.
-     *
-     * @see IntentService
-     */
-    // TODO: Customize helper method
-    public static void startActionFoo(Context context, String param1, String param2) {
-        Intent intent = new Intent(context, ${className}.class);
-        intent.setAction(ACTION_FOO);
-        intent.putExtra(EXTRA_PARAM1, param1);
-        intent.putExtra(EXTRA_PARAM2, param2);
-        context.startService(intent);
-    }
-
-    /**
-     * Starts this service to perform action Baz with the given parameters. If
-     * the service is already performing a task this action will be queued.
-     *
-     * @see IntentService
-     */
-    // TODO: Customize helper method
-    public static void startActionBaz(Context context, String param1, String param2) {
-        Intent intent = new Intent(context, ${className}.class);
-        intent.setAction(ACTION_BAZ);
-        intent.putExtra(EXTRA_PARAM1, param1);
-        intent.putExtra(EXTRA_PARAM2, param2);
-        context.startService(intent);
-    }
-</#if>
-
-    public ${className}() {
-        super("${className}");
-    }
-
-    @Override
-    protected void onHandleIntent(Intent intent) {
-        if (intent != null) {
-            final String action = intent.getAction();
-            if (ACTION_FOO.equals(action)) {
-                final String param1 = intent.getStringExtra(EXTRA_PARAM1);
-                final String param2 = intent.getStringExtra(EXTRA_PARAM2);
-                handleActionFoo(param1, param2);
-            } else if (ACTION_BAZ.equals(action)) {
-                final String param1 = intent.getStringExtra(EXTRA_PARAM1);
-                final String param2 = intent.getStringExtra(EXTRA_PARAM2);
-                handleActionBaz(param1, param2);
-            }
-        }
-    }
-
-    /**
-     * Handle action Foo in the provided background thread with the provided
-     * parameters.
-     */
-    private void handleActionFoo(String param1, String param2) {
-        // TODO: Handle action Foo
-        throw new UnsupportedOperationException("Not yet implemented");
-    }
-
-    /**
-     * Handle action Baz in the provided background thread with the provided
-     * parameters.
-     */
-    private void handleActionBaz(String param1, String param2) {
-        // TODO: Handle action Baz
-        throw new UnsupportedOperationException("Not yet implemented");
-    }
-}
diff --git a/templates/other/IntentService/template.xml b/templates/other/IntentService/template.xml
deleted file mode 100644
index ffe6cd5..0000000
--- a/templates/other/IntentService/template.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="3"
-    revision="1"
-    name="New IntentService"
-    description="Creates a new intent service class."
-    minApi="3"
-    minBuildApi="3">
-
-    <category value="Other" />
-
-    <parameter
-        id="className"
-        name="Class Name"
-        type="string"
-        constraints="class|unique|nonempty"
-        default="MyIntentService" />
-
-    <parameter
-        id="includeHelper"
-        name="Include helper start methods?"
-        type="boolean"
-        default="true"
-        help="Generate static helper methods to start the service e.g. MyIntentService.startAction()" />
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/other/ListFragment/globals.xml.ftl b/templates/other/ListFragment/globals.xml.ftl
deleted file mode 100644
index 577250d..0000000
--- a/templates/other/ListFragment/globals.xml.ftl
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="collection_name" value="${extractLetters(objectKind?lower_case)}" />
-    <global id="className" value="${extractLetters(objectKind)}Fragment" />
-    <global id="fragment_layout" value="fragment_${extractLetters(objectKind?lower_case)}" />
-</globals>
diff --git a/templates/other/ListFragment/recipe.xml.ftl b/templates/other/ListFragment/recipe.xml.ftl
deleted file mode 100644
index 5db4fdb..0000000
--- a/templates/other/ListFragment/recipe.xml.ftl
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-
-<#if switchGrid == true>
-    <merge from="res/values/refs.xml.ftl" />
-    <merge from="res/values/refs_lrg.xml.ftl"
-           to="res/values-large/refs.xml" />
-    <merge from="res/values/refs_lrg.xml.ftl"
-           to="res/values-sw600dp/refs.xml" />
-
-    <instantiate from="res/layout/fragment_grid.xml"
-                 to="res/layout/${fragment_layout}_grid.xml" />
-
-    <instantiate from="res/layout/fragment_list.xml"
-                 to="res/layout/${fragment_layout}_list.xml" />
-</#if>
-
-    <instantiate from="src/app_package/ListFragment.java.ftl"
-                 to="${srcOut}/${className}.java" />
-
-    <instantiate from="src/app_package/dummy/DummyContent.java.ftl"
-                 to="${srcOut}/dummy/DummyContent.java" />
-
-    <open file="${srcOut}/${className}.java" />
-
-</recipe>
diff --git a/templates/other/ListFragment/root/res/layout/fragment_grid.xml b/templates/other/ListFragment/root/res/layout/fragment_grid.xml
deleted file mode 100644
index 87ae969..0000000
--- a/templates/other/ListFragment/root/res/layout/fragment_grid.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".${className}">
-
-    <GridView
-        android:id="@android:id/list"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:numColumns="2" />
-
-    <TextView
-        android:id="@android:id/empty"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:gravity="center" />
-
-</FrameLayout>
\ No newline at end of file
diff --git a/templates/other/ListFragment/root/res/layout/fragment_list.xml b/templates/other/ListFragment/root/res/layout/fragment_list.xml
deleted file mode 100644
index 5b0e178..0000000
--- a/templates/other/ListFragment/root/res/layout/fragment_list.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".${className}">
-
-    <ListView
-        android:id="@android:id/list"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" />
-
-    <TextView
-        android:id="@android:id/empty"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:gravity="center" />
-
-</FrameLayout>
\ No newline at end of file
diff --git a/templates/other/ListFragment/root/res/values-large/refs_lrg.xml.ftl b/templates/other/ListFragment/root/res/values-large/refs_lrg.xml.ftl
deleted file mode 100644
index fb20a27..0000000
--- a/templates/other/ListFragment/root/res/values-large/refs_lrg.xml.ftl
+++ /dev/null
@@ -1,12 +0,0 @@
-<resources>
-
-    <!--
-    Layout alias to replace the single-pane version of the layout with a
-    two-pane version on Large screens.
-
-    For more on layout aliases, see:
-    http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
-    -->
-    <item name="${fragment_layout}" type="layout">@layout/${fragment_layout}_grid</item>
-
-</resources>
\ No newline at end of file
diff --git a/templates/other/ListFragment/root/res/values-sw600dp/refs_lrg.xml.ftl b/templates/other/ListFragment/root/res/values-sw600dp/refs_lrg.xml.ftl
deleted file mode 100644
index fb20a27..0000000
--- a/templates/other/ListFragment/root/res/values-sw600dp/refs_lrg.xml.ftl
+++ /dev/null
@@ -1,12 +0,0 @@
-<resources>
-
-    <!--
-    Layout alias to replace the single-pane version of the layout with a
-    two-pane version on Large screens.
-
-    For more on layout aliases, see:
-    http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
-    -->
-    <item name="${fragment_layout}" type="layout">@layout/${fragment_layout}_grid</item>
-
-</resources>
\ No newline at end of file
diff --git a/templates/other/ListFragment/root/res/values/refs.xml.ftl b/templates/other/ListFragment/root/res/values/refs.xml.ftl
deleted file mode 100644
index 59ca92c..0000000
--- a/templates/other/ListFragment/root/res/values/refs.xml.ftl
+++ /dev/null
@@ -1,12 +0,0 @@
-<resources>
-
-    <!--
-    Layout alias to replace the single-pane version of the layout with a
-    two-pane version on Large screens.
-
-    For more on layout aliases, see:
-    http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
-    -->
-    <item name="${fragment_layout}" type="layout">@layout/${fragment_layout}_list</item>
-
-</resources>
\ No newline at end of file
diff --git a/templates/other/ListFragment/root/res/values/refs_lrg.xml.ftl b/templates/other/ListFragment/root/res/values/refs_lrg.xml.ftl
deleted file mode 100644
index fb20a27..0000000
--- a/templates/other/ListFragment/root/res/values/refs_lrg.xml.ftl
+++ /dev/null
@@ -1,12 +0,0 @@
-<resources>
-
-    <!--
-    Layout alias to replace the single-pane version of the layout with a
-    two-pane version on Large screens.
-
-    For more on layout aliases, see:
-    http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
-    -->
-    <item name="${fragment_layout}" type="layout">@layout/${fragment_layout}_grid</item>
-
-</resources>
\ No newline at end of file
diff --git a/templates/other/ListFragment/root/src/app_package/ListFragment.java.ftl b/templates/other/ListFragment/root/src/app_package/ListFragment.java.ftl
deleted file mode 100644
index 6100448..0000000
--- a/templates/other/ListFragment/root/src/app_package/ListFragment.java.ftl
+++ /dev/null
@@ -1,195 +0,0 @@
-package ${packageName};
-
-import android.app.Activity;
-import android.os.Bundle;
-<#if switchGrid == true>
-import android.support.v4.app.Fragment;
-import android.view.LayoutInflater;
-<#else>
-import android.support.v4.app.ListFragment;
-</#if>
-import android.view.View;
-<#if switchGrid == true>
-import android.view.ViewGroup;
-import android.widget.AbsListView;
-import android.widget.AdapterView;
-</#if>
-import android.widget.ArrayAdapter;
-<#if switchGrid == true>
-import android.widget.ListAdapter;
-import android.widget.TextView;
-<#else>
-import android.widget.ListView;
-</#if>
-
-import ${packageName}.dummy.DummyContent;
-
-/**
- * A fragment representing a list of Items.
- * <p />
-<#if switchGrid == true>
- * Large screen devices (such as tablets) are supported by replacing the ListView
- * with a GridView.
-</#if>
- * <p />
- * Activities containing this fragment MUST implement the {@link Callbacks}
- * interface.
- */
-<#if switchGrid == true>
-public class ${className} extends Fragment implements AbsListView.OnItemClickListener {
-<#else>
-public class ${className} extends ListFragment {
-</#if>
-
-<#if includeFactory>
-    // TODO: Rename parameter arguments, choose names that match
-    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
-    private static final String ARG_PARAM1 = "param1";
-    private static final String ARG_PARAM2 = "param2";
-
-    // TODO: Rename and change types of parameters
-    private String mParam1;
-    private String mParam2;
-
-</#if>
-    private OnFragmentInteractionListener mListener;
-
-<#if switchGrid == true>
-    /**
-     * The fragment's ListView/GridView.
-     */
-    private AbsListView mListView;
-
-    /**
-     * The Adapter which will be used to populate the ListView/GridView with
-     * Views.
-     */
-    private ListAdapter mAdapter;
-
-</#if>
-<#if includeFactory>
-    // TODO: Rename and change types of parameters
-    public static ${className} newInstance(String param1, String param2) {
-        ${className} fragment = new ${className}();
-        Bundle args = new Bundle();
-        args.putString(ARG_PARAM1, param1);
-        args.putString(ARG_PARAM2, param2);
-        fragment.setArguments(args);
-        return fragment;
-    }
-
-</#if>
-    /**
-     * Mandatory empty constructor for the fragment manager to instantiate the
-     * fragment (e.g. upon screen orientation changes).
-     */
-    public ${className}() {
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-<#if includeFactory>
-        if (getArguments() != null) {
-            mParam1 = getArguments().getString(ARG_PARAM1);
-            mParam2 = getArguments().getString(ARG_PARAM2);
-        }
-</#if>
-
-        // TODO: Change Adapter to display your content
-<#if switchGrid == true>
-        mAdapter = new ArrayAdapter<DummyContent.DummyItem>(getActivity(),
-                android.R.layout.simple_list_item_1, android.R.id.text1, DummyContent.ITEMS);
-<#else>
-        setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(getActivity(),
-                android.R.layout.simple_list_item_1, android.R.id.text1, DummyContent.ITEMS));
-</#if>
-    }
-
-<#if switchGrid == true>
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-                             Bundle savedInstanceState) {
-        View view = inflater.inflate(R.layout.${fragment_layout}, container, false);
-
-        // Set the adapter
-        mListView = (AbsListView) view.findViewById(android.R.id.list);
-        ((AdapterView<ListAdapter>) mListView).setAdapter(mAdapter);
-
-        // Set OnItemClickListener so we can be notified on item clicks
-        mListView.setOnItemClickListener(this);
-
-        return view;
-    }
-</#if>
-
-    @Override
-    public void onAttach(Activity activity) {
-        super.onAttach(activity);
-        try {
-            mListener = (OnFragmentInteractionListener) activity;
-        } catch (ClassCastException e) {
-            throw new ClassCastException(activity.toString()
-                + " must implement OnFragmentInteractionListener");
-        }
-    }
-
-    @Override
-    public void onDetach() {
-        super.onDetach();
-        mListener = null;
-    }
-
-
-<#if switchGrid == true>
-    @Override
-    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-        if (null != mListener) {
-            // Notify the active callbacks interface (the activity, if the
-            // fragment is attached to one) that an item has been selected.
-            mListener.onFragmentInteraction(DummyContent.ITEMS.get(position).id);
-        }
-    }
-
-    /**
-     * The default content for this Fragment has a TextView that is shown when
-     * the list is empty. If you would like to change the text, call this method
-     * to supply the text it should use.
-     */
-    public void setEmptyText(CharSequence emptyText) {
-        View emptyView = mListView.getEmptyView();
-
-        if (emptyText instanceof TextView) {
-            ((TextView) emptyView).setText(emptyText);
-        }
-    }
-<#else>
-    @Override
-    public void onListItemClick(ListView l, View v, int position, long id) {
-        super.onListItemClick(l, v, position, id);
-
-        if (null != mListener) {
-            // Notify the active callbacks interface (the activity, if the
-            // fragment is attached to one) that an item has been selected.
-            mListener.onFragmentInteraction(DummyContent.ITEMS.get(position).id);
-        }
-    }
-</#if>
-
-    /**
-    * This interface must be implemented by activities that contain this
-    * fragment to allow an interaction in this fragment to be communicated
-    * to the activity and potentially other fragments contained in that
-    * activity.
-    * <p>
-    * See the Android Training lesson <a href=
-    * "http://developer.android.com/training/basics/fragments/communicating.html"
-    * >Communicating with Other Fragments</a> for more information.
-    */
-    public interface OnFragmentInteractionListener {
-        // TODO: Update argument type and name
-        public void onFragmentInteraction(String id);
-    }
-
-}
diff --git a/templates/other/ListFragment/root/src/app_package/dummy/DummyContent.java.ftl b/templates/other/ListFragment/root/src/app_package/dummy/DummyContent.java.ftl
deleted file mode 100644
index 3545ba3..0000000
--- a/templates/other/ListFragment/root/src/app_package/dummy/DummyContent.java.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-package ${packageName}.dummy;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Helper class for providing sample content for user interfaces created by
- * Android template wizards.
- * <p>
- * TODO: Replace all uses of this class before publishing your app.
- */
-public class DummyContent {
-
-    /**
-     * An array of sample (dummy) items.
-     */
-    public static List<DummyItem> ITEMS = new ArrayList<DummyItem>();
-
-    /**
-     * A map of sample (dummy) items, by ID.
-     */
-    public static Map<String, DummyItem> ITEM_MAP = new HashMap<String, DummyItem>();
-
-    static {
-        // Add 3 sample items.
-        addItem(new DummyItem("1", "Item 1"));
-        addItem(new DummyItem("2", "Item 2"));
-        addItem(new DummyItem("3", "Item 3"));
-    }
-
-    private static void addItem(DummyItem item) {
-        ITEMS.add(item);
-        ITEM_MAP.put(item.id, item);
-    }
-
-    /**
-     * A dummy item representing a piece of content.
-     */
-    public static class DummyItem {
-        public String id;
-        public String content;
-
-        public DummyItem(String id, String content) {
-            this.id = id;
-            this.content = content;
-        }
-
-        @Override
-        public String toString() {
-            return content;
-        }
-    }
-}
diff --git a/templates/other/ListFragment/template.xml b/templates/other/ListFragment/template.xml
deleted file mode 100644
index e00257c..0000000
--- a/templates/other/ListFragment/template.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="3"
-    revision="1"
-    name="New List Fragment"
-    description="Creates a new empty fragment containing a list that can optionally change to a grid when on large screens. Compatible back to API level 4."
-    minApi="7"
-    minBuildApi="8">
-
-    <dependency name="android-support-v4" revision="8" />
-
-    <category value="UI Components" />
-
-    <parameter
-        id="packageName"
-        name="Package name"
-        type="string"
-        constraints="package"
-        default="com.mycompany.myapp" />
-
-    <parameter
-        id="objectKind"
-        name="Object Kind"
-        type="string"
-        constraints="nonempty"
-        default="Item"
-        help="Other examples are 'Person', 'Book', etc." />
-
-    <parameter
-        id="includeFactory"
-        name="Include fragment factory methods?"
-        type="boolean"
-        default="true"
-        help="Generate static fragment factory methods for easy instantiation" />
-
-    <parameter
-        id="switchGrid"
-        name="Switch to grid view on large screens?"
-        type="boolean"
-        default="true" />
-
-    <!-- 128x128 thumbnails relative to template.xml -->
-    <thumbs>
-        <!-- default thumbnail is required -->
-        <thumb>templates_list_fragment.png</thumb>
-    </thumbs>
-
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/other/ListFragment/templates_list_fragment.png b/templates/other/ListFragment/templates_list_fragment.png
deleted file mode 100644
index 92ac799..0000000
--- a/templates/other/ListFragment/templates_list_fragment.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/globals.xml.ftl b/templates/other/Notification/globals.xml.ftl
deleted file mode 100644
index b302aa9..0000000
--- a/templates/other/Notification/globals.xml.ftl
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="notificationName" value="${className?replace('notification','','i')}" />
-    <global id="notification_name" value="${camelCaseToUnderscore(className?replace('notification','','i'))}" />
-    <global id="display_title" value="${camelCaseToUnderscore(className?replace('notification','','i'))?replace('_',' ')?cap_first}" />
-
-    <global id="icon_resource" value="ic_stat_${camelCaseToUnderscore(className?replace('notification','','i'))}" />
-</globals>
diff --git a/templates/other/Notification/recipe.xml.ftl b/templates/other/Notification/recipe.xml.ftl
deleted file mode 100644
index bd1c265..0000000
--- a/templates/other/Notification/recipe.xml.ftl
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-
-    <merge from="AndroidManifest.xml.ftl" />
-
-    <#if expandedStyle == "picture">
-    <copy from="res/drawable-nodpi/example_picture_large.png"
-            to="res/drawable-nodpi/example_picture.png" />
-    <#else>
-    <copy from="res/drawable-nodpi/example_picture_small.png"
-            to="res/drawable-nodpi/example_picture.png" />
-    </#if>
-
-    <#if moreActions>
-    <copy from="res/drawable-hdpi" />
-    <copy from="res/drawable-mdpi" />
-    <copy from="res/drawable-xhdpi" />
-    </#if>
-
-    <merge from="res/values/strings.xml.ftl" />
-
-    <instantiate from="src/app_package/NotificationHelper.java.ftl"
-                   to="${srcOut}/${className}.java" />
-    <open file="${srcOut}/${className}.java" />
-</recipe>
diff --git a/templates/other/Notification/root/AndroidManifest.xml.ftl b/templates/other/Notification/root/AndroidManifest.xml.ftl
deleted file mode 100644
index fb564cc..0000000
--- a/templates/other/Notification/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,5 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <uses-permission android:name="android.permission.VIBRATE" />
-
-</manifest>
diff --git a/templates/other/Notification/root/res/drawable-hdpi/ic_action_stat_reply.png b/templates/other/Notification/root/res/drawable-hdpi/ic_action_stat_reply.png
deleted file mode 100644
index 835d96f..0000000
--- a/templates/other/Notification/root/res/drawable-hdpi/ic_action_stat_reply.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/root/res/drawable-hdpi/ic_action_stat_share.png b/templates/other/Notification/root/res/drawable-hdpi/ic_action_stat_share.png
deleted file mode 100644
index c329f58..0000000
--- a/templates/other/Notification/root/res/drawable-hdpi/ic_action_stat_share.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/root/res/drawable-mdpi/ic_action_stat_reply.png b/templates/other/Notification/root/res/drawable-mdpi/ic_action_stat_reply.png
deleted file mode 100644
index 9e34465..0000000
--- a/templates/other/Notification/root/res/drawable-mdpi/ic_action_stat_reply.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/root/res/drawable-mdpi/ic_action_stat_share.png b/templates/other/Notification/root/res/drawable-mdpi/ic_action_stat_share.png
deleted file mode 100644
index 056deb5..0000000
--- a/templates/other/Notification/root/res/drawable-mdpi/ic_action_stat_share.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/root/res/drawable-nodpi/example_picture_large.png b/templates/other/Notification/root/res/drawable-nodpi/example_picture_large.png
deleted file mode 100644
index 1e69424..0000000
--- a/templates/other/Notification/root/res/drawable-nodpi/example_picture_large.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/root/res/drawable-nodpi/example_picture_small.png b/templates/other/Notification/root/res/drawable-nodpi/example_picture_small.png
deleted file mode 100644
index e0627f5..0000000
--- a/templates/other/Notification/root/res/drawable-nodpi/example_picture_small.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/root/res/drawable-xhdpi/ic_action_stat_reply.png b/templates/other/Notification/root/res/drawable-xhdpi/ic_action_stat_reply.png
deleted file mode 100644
index 4cc854a..0000000
--- a/templates/other/Notification/root/res/drawable-xhdpi/ic_action_stat_reply.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/root/res/drawable-xhdpi/ic_action_stat_share.png b/templates/other/Notification/root/res/drawable-xhdpi/ic_action_stat_share.png
deleted file mode 100644
index 15549b0..0000000
--- a/templates/other/Notification/root/res/drawable-xhdpi/ic_action_stat_share.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/root/res/values/strings.xml.ftl b/templates/other/Notification/root/res/values/strings.xml.ftl
deleted file mode 100644
index 5f3da57..0000000
--- a/templates/other/Notification/root/res/values/strings.xml.ftl
+++ /dev/null
@@ -1,13 +0,0 @@
-<resources>
-
-    <string name="${notification_name}_notification_title_template">${escapeXmlString(display_title)}: %1$s</string>
-
-    <!-- TODO: remove this placeholder text -->
-    <string name="${notification_name}_notification_placeholder_text_template">You said %1$s and lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam non enim magna. Morbi dictum, velit vel semper venenatis, magna odio volutpat velit, at ullamcorper nulla lacus sed turpis. Pellentesque vitae metus elit, nec tincidunt tellus. Integer sed nisl sem, ullamcorper ornare lacus. Duis ac mauris sed massa congue volutpat. Donec sed erat sit amet turpis viverra rhoncus sit amet nec magna. Donec lacinia ligula at libero volutpat volutpat nec nec tortor.</string>
-
-    <#if moreActions>
-    <string name="action_share">Share</string>
-    <string name="action_reply">Reply</string>
-    </#if>
-
-</resources>
diff --git a/templates/other/Notification/root/src/app_package/NotificationHelper.java.ftl b/templates/other/Notification/root/src/app_package/NotificationHelper.java.ftl
deleted file mode 100644
index af69d5a..0000000
--- a/templates/other/Notification/root/src/app_package/NotificationHelper.java.ftl
+++ /dev/null
@@ -1,205 +0,0 @@
-package ${packageName};
-
-import android.annotation.TargetApi;
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.net.Uri;
-import android.os.Build;
-import android.support.v4.app.NotificationCompat;
-<#if expandedStyle == 'list'>
-import android.graphics.Color;
-import android.text.SpannableStringBuilder;
-import android.text.style.ForegroundColorSpan;
-</#if>
-
-/**
- * Helper class for showing and canceling ${display_title?lower_case}
- * notifications.
- * <p>
- * This class makes heavy use of the {@link NotificationCompat.Builder} helper
- * class to create notifications in a backward-compatible way.
- */
-public class ${className} {
-    /**
-     * The unique identifier for this type of notification.
-     */
-    private static final String NOTIFICATION_TAG = "${notificationName}";
-
-    /**
-     * Shows the notification, or updates a previously shown notification of
-     * this type, with the given parameters.
-     * <p>
-     * TODO: Customize this method's arguments to present relevant content in
-     * the notification.
-     * <p>
-     * TODO: Customize the contents of this method to tweak the behavior and
-     * presentation of ${display_title?lower_case} notifications. Make
-     * sure to follow the
-     * <a href="https://developer.android.com/design/patterns/notifications.html">
-     * Notification design guidelines</a> when doing so.
-     *
-     * @see #cancel(Context)
-     */
-    public static void notify(final Context context,
-            final String exampleString, final int number) {
-        final Resources res = context.getResources();
-
-        <#if expandedStyle == "picture">
-        // This image is used as the notification's large icon (thumbnail) when
-        // the notification is collapsed, and as the big picture to show when
-        // the notification is expanded.
-        <#else>
-        // This image is used as the notification's large icon (thumbnail).
-        // TODO: Remove this if your notification has no relevant thumbnail.
-        </#if>
-        final Bitmap picture = BitmapFactory.decodeResource(res, R.drawable.example_picture);
-
-        <#if expandedStyle == 'list'>
-        final SpannableStringBuilder exampleItem = new SpannableStringBuilder();
-        exampleItem.append("Dummy");
-        exampleItem.setSpan(new ForegroundColorSpan(Color.WHITE), 0, exampleItem.length(), 0);
-        exampleItem.append("   Example content");
-        </#if>
-
-        final String ticker = exampleString;
-        final String title = res.getString(
-                R.string.${notification_name}_notification_title_template, exampleString);
-        final String text = res.getString(
-                R.string.${notification_name}_notification_placeholder_text_template, exampleString);
-
-        final NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
-
-                // Set appropriate defaults for the notification light, sound,
-                // and vibration.
-                .setDefaults(Notification.DEFAULT_ALL)
-
-                // Set required fields, including the small icon, the
-                // notification title, and text.
-                .setSmallIcon(R.drawable.${icon_resource})
-                .setContentTitle(title)
-                .setContentText(text)
-
-                // All fields below this line are optional.
-
-                // Use a default priority (recognized on devices running Android
-                // 4.1 or later)
-                .setPriority(NotificationCompat.PRIORITY_DEFAULT)
-
-                // Provide a large icon, shown with the notification in the
-                // notification drawer on devices running Android 3.0 or later.
-                .setLargeIcon(picture)
-
-                // Set ticker text (preview) information for this notification.
-                .setTicker(ticker)
-
-                // Show a number. This is useful when stacking notifications of
-                // a single type.
-                .setNumber(number)
-
-                // If this notification relates to a past or upcoming event, you
-                // should set the relevant time information using the setWhen
-                // method below. If this call is omitted, the notification's
-                // timestamp will by set to the time at which it was shown.
-                // TODO: Call setWhen if this notification relates to a past or
-                // upcoming event. The sole argument to this method should be
-                // the notification timestamp in milliseconds.
-                //.setWhen(...)
-
-                // Set the pending intent to be initiated when the user touches
-                // the notification.
-                .setContentIntent(
-                        PendingIntent.getActivity(
-                                context,
-                                0,
-                                new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")),
-                                PendingIntent.FLAG_UPDATE_CURRENT))
-                <#if expandedStyle == 'picture'>
-
-                // Show an expanded photo on devices running Android 4.1 or
-                // later.
-                .setStyle(new NotificationCompat.BigPictureStyle()<#--
-                        TODO: .bigLargeIcon(null) when the support library supports it -->
-                        .bigPicture(picture)
-                        .setBigContentTitle(title)
-                        .setSummaryText("Dummy summary text"))
-                <#elseif expandedStyle == 'list'>
-
-                // Show an expanded list of items on devices running Android 4.1
-                // or later.
-                .setStyle(new NotificationCompat.InboxStyle()
-                        .addLine(exampleItem)
-                        .addLine(exampleItem)
-                        .addLine(exampleItem)
-                        .addLine(exampleItem)
-                        .setBigContentTitle(title)
-                        .setSummaryText("Dummy summary text"))
-                <#elseif expandedStyle == 'text'>
-
-                // Show expanded text content on devices running Android 4.1 or
-                // later.
-                .setStyle(new NotificationCompat.BigTextStyle()
-                        .bigText(text)
-                        .setBigContentTitle(title)
-                        .setSummaryText("Dummy summary text"))
-                </#if>
-                <#if moreActions>
-
-                // Example additional actions for this notification. These will
-                // only show on devices running Android 4.1 or later, so you
-                // should ensure that the activity in this notification's
-                // content intent provides access to the same actions in
-                // another way.
-                .addAction(
-                        R.drawable.ic_action_stat_share,
-                        res.getString(R.string.action_share),
-                        PendingIntent.getActivity(
-                                context,
-                                0,
-                                Intent.createChooser(new Intent(Intent.ACTION_SEND)
-                                        .setType("text/plain")
-                                        .putExtra(Intent.EXTRA_TEXT, "Dummy text"), "Dummy title"),
-                                PendingIntent.FLAG_UPDATE_CURRENT))
-                .addAction(
-                        R.drawable.ic_action_stat_reply,
-                        res.getString(R.string.action_reply),
-                        null)
-                </#if>
-
-                // Automatically dismiss the notification when it is touched.
-                .setAutoCancel(true);
-
-        notify(context, builder.build());
-    }
-
-    @TargetApi(Build.VERSION_CODES.ECLAIR)
-    private static void notify(final Context context, final Notification notification) {
-        final NotificationManager nm = (NotificationManager) context
-                .getSystemService(Context.NOTIFICATION_SERVICE);
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) {
-            nm.notify(NOTIFICATION_TAG, 0, notification);
-        } else {
-            nm.notify(NOTIFICATION_TAG.hashCode(), notification);
-        }
-    }
-
-    /**
-     * Cancels any notifications of this type previously shown using
-     * {@link #notify(Context, String, int)}.
-     */
-    @TargetApi(Build.VERSION_CODES.ECLAIR)
-    public static void cancel(final Context context) {
-        final NotificationManager nm = (NotificationManager) context
-                .getSystemService(Context.NOTIFICATION_SERVICE);
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) {
-            nm.cancel(NOTIFICATION_TAG, 0);
-        } else {
-            nm.cancel(NOTIFICATION_TAG.hashCode());
-        }
-    }
-}
\ No newline at end of file
diff --git a/templates/other/Notification/template.xml b/templates/other/Notification/template.xml
deleted file mode 100644
index 61fbc59..0000000
--- a/templates/other/Notification/template.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="3"
-    revision="1"
-    name="New Notification"
-    description="Creates a new helper class that can show or cancel a status bar notification."
-    minApi="4">
-
-    <dependency name="android-support-v4" revision="10" />
-
-    <category value="Other" />
-
-    <parameter
-        id="className"
-        name="Class Name"
-        type="string"
-        constraints="class|unique|nonempty"
-        default="NewMessageNotification"
-        help="The name of the notification helper class to create, e.g. 'NewMessageNotification'." />
-
-    <parameter
-        id="expandedStyle"
-        name="Style when Expanded"
-        type="enum"
-        default="text"
-        help="The expanded notification style to use for devices running Android 4.1 or later." >
-        <option id="none">None</option>
-        <option id="text" default="true">More text</option>
-        <option id="picture">Picture</option>
-        <option id="list">List</option>
-    </parameter>
-
-    <parameter
-        id="moreActions"
-        name="Show Additional Actions"
-        type="boolean"
-        default="true"
-        help="If true, this notification will contain additional actions when expanded on devices running Android 4.1 or later." />
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-    <thumbs>
-        <thumb>template_notification_text_actions.png</thumb>
-        <thumb expandedStyle="none">template_notification_none.png</thumb>
-        <thumb expandedStyle="none" moreActions="true">template_notification_none_actions.png</thumb>
-        <thumb expandedStyle="text">template_notification_text.png</thumb>
-        <thumb expandedStyle="text" moreActions="true">template_notification_text_actions.png</thumb>
-        <thumb expandedStyle="list">template_notification_list.png</thumb>
-        <thumb expandedStyle="list" moreActions="true">template_notification_list_actions.png</thumb>
-        <thumb expandedStyle="picture">template_notification_picture.png</thumb>
-        <thumb expandedStyle="picture" moreActions="true">template_notification_picture_actions.png</thumb>
-    </thumbs>
-
-    <icons
-        type="notification"
-        name="ic_stat_${camelCaseToUnderscore(className?replace('notification','','i'))}" />
-</template>
diff --git a/templates/other/Notification/template_notification_list.png b/templates/other/Notification/template_notification_list.png
deleted file mode 100644
index f858daa..0000000
--- a/templates/other/Notification/template_notification_list.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/template_notification_list_actions.png b/templates/other/Notification/template_notification_list_actions.png
deleted file mode 100644
index a095525..0000000
--- a/templates/other/Notification/template_notification_list_actions.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/template_notification_none.png b/templates/other/Notification/template_notification_none.png
deleted file mode 100644
index abbee9d..0000000
--- a/templates/other/Notification/template_notification_none.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/template_notification_none_actions.png b/templates/other/Notification/template_notification_none_actions.png
deleted file mode 100644
index 69a4a50..0000000
--- a/templates/other/Notification/template_notification_none_actions.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/template_notification_picture.png b/templates/other/Notification/template_notification_picture.png
deleted file mode 100644
index d535661..0000000
--- a/templates/other/Notification/template_notification_picture.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/template_notification_picture_actions.png b/templates/other/Notification/template_notification_picture_actions.png
deleted file mode 100644
index 300431f..0000000
--- a/templates/other/Notification/template_notification_picture_actions.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/template_notification_text.png b/templates/other/Notification/template_notification_text.png
deleted file mode 100644
index 790ecc0..0000000
--- a/templates/other/Notification/template_notification_text.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Notification/template_notification_text_actions.png b/templates/other/Notification/template_notification_text_actions.png
deleted file mode 100644
index 6514069..0000000
--- a/templates/other/Notification/template_notification_text_actions.png
+++ /dev/null
Binary files differ
diff --git a/templates/other/Service/globals.xml.ftl b/templates/other/Service/globals.xml.ftl
deleted file mode 100644
index bfc27eb..0000000
--- a/templates/other/Service/globals.xml.ftl
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-</globals>
diff --git a/templates/other/Service/recipe.xml.ftl b/templates/other/Service/recipe.xml.ftl
deleted file mode 100644
index 6e4bd57..0000000
--- a/templates/other/Service/recipe.xml.ftl
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-    <merge from="AndroidManifest.xml.ftl" />
-    <instantiate from="src/app_package/Service.java.ftl"
-                   to="${srcOut}/${className}.java" />
-    <open file="${srcOut}/${className}.java" />
-</recipe>
diff --git a/templates/other/Service/root/AndroidManifest.xml.ftl b/templates/other/Service/root/AndroidManifest.xml.ftl
deleted file mode 100644
index 14b0bce..0000000
--- a/templates/other/Service/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,10 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <application>
-        <service android:name=".${className}"
-            android:exported="${isExported?string}"
-            android:enabled="${isEnabled?string}" >
-        </service>
-    </application>
-
-</manifest>
diff --git a/templates/other/Service/root/src/app_package/Service.java.ftl b/templates/other/Service/root/src/app_package/Service.java.ftl
deleted file mode 100644
index 571d2b8..0000000
--- a/templates/other/Service/root/src/app_package/Service.java.ftl
+++ /dev/null
@@ -1,16 +0,0 @@
-package ${packageName};
-
-import android.app.Service;
-import android.content.Intent;
-import android.os.IBinder;
-
-public class ${className} extends Service {
-    public ${className}() {
-    }
-
-    @Override
-    public IBinder onBind(Intent intent) {
-        // TODO: Return the communication channel to the service.
-        throw new UnsupportedOperationException("Not yet implemented");
-    }
-}
diff --git a/templates/other/Service/template.xml b/templates/other/Service/template.xml
deleted file mode 100644
index 481fe74..0000000
--- a/templates/other/Service/template.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="1"
-    revision="1"
-    name="Service"
-    description="Creates a new service component and adds it to your Android manifest.">
-
-    <parameter
-        id="className"
-        name="Class Name"
-        type="string"
-        constraints="class|unique|nonempty"
-        default="MyService" />
-
-    <parameter
-        id="isExported"
-        name="Exported"
-        type="boolean"
-        default="true"
-        help="Whether or not components of other applications can invoke the service or interact with it" />
-
-    <parameter
-        id="isEnabled"
-        name="Enabled"
-        type="boolean"
-        default="true"
-        help="Whether or not the service can be instantiated by the system" />
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/projects/NewAndroidApplication/globals.xml.ftl b/templates/projects/NewAndroidApplication/globals.xml.ftl
deleted file mode 100644
index d196321..0000000
--- a/templates/projects/NewAndroidApplication/globals.xml.ftl
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="isGradle" value="false" />
-    <global id="topOut" value="." />
-    <global id="projectOut" value="." />
-    <global id="manifestOut" value="." />
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="resOut" value="res" />
-    <global id="mavenUrl" value="mavenCentral" />
-    <global id="buildToolsVersion" value="${buildApi}" />
-    <global id="gradlePluginVersion" value="1.0.+" />
-    <global id="v4SupportLibraryVersion" value="13.0.+" />
-</globals>
diff --git a/templates/projects/NewAndroidApplication/recipe.xml.ftl b/templates/projects/NewAndroidApplication/recipe.xml.ftl
deleted file mode 100644
index 2734b32..0000000
--- a/templates/projects/NewAndroidApplication/recipe.xml.ftl
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-<#if isGradle == "true">
-    <merge from="settings.gradle.ftl"
-             to="${escapeXmlAttribute(topOut)}/settings.gradle" />
-    <instantiate from="build.gradle.ftl"
-                   to="${escapeXmlAttribute(projectOut)}/build.gradle" />
-</#if>
-    <instantiate from="AndroidManifest.xml.ftl"
-                   to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />
-
-<#if copyIcons>
-    <copy from="res/drawable-hdpi"
-            to="${escapeXmlAttribute(resOut)}/drawable-hdpi" />
-    <copy from="res/drawable-mdpi"
-            to="${escapeXmlAttribute(resOut)}/drawable-mdpi" />
-    <copy from="res/drawable-xhdpi"
-            to="${escapeXmlAttribute(resOut)}/drawable-xhdpi" />
-</#if>
-    <instantiate from="res/values/styles.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/values/styles.xml" />
-<#if buildApi gte 11 && baseTheme != "none">
-    <instantiate from="res/values-v11/styles_hc.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/values-v11/styles.xml" />
-</#if>
-<#if buildApi gte 14 && baseTheme?contains("darkactionbar")>
-    <copy from="res/values-v14/styles_ics.xml"
-            to="${escapeXmlAttribute(resOut)}/values-v14/styles.xml" />
-</#if>
-
-    <instantiate from="res/values/strings.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/values/strings.xml" />
-</recipe>
diff --git a/templates/projects/NewAndroidApplication/root/AndroidManifest.xml.ftl b/templates/projects/NewAndroidApplication/root/AndroidManifest.xml.ftl
deleted file mode 100644
index 390a9da..0000000
--- a/templates/projects/NewAndroidApplication/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,15 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="${packageName}"
-    android:versionCode="1"
-    android:versionName="1.0">
-
-    <uses-sdk android:minSdkVersion="${minApi}" <#if buildApi gte 4>android:targetSdkVersion="${targetApi}" </#if>/>
-
-    <application <#if minApiLevel gte 4 && buildApi gte 4>android:allowBackup="true"</#if>
-        android:label="@string/app_name"
-        android:icon="@drawable/ic_launcher"<#if baseTheme != "none">
-        android:theme="@style/AppTheme"</#if>>
-
-    </application>
-
-</manifest>
diff --git a/templates/projects/NewAndroidApplication/root/build.gradle.ftl b/templates/projects/NewAndroidApplication/root/build.gradle.ftl
deleted file mode 100644
index 83b4368..0000000
--- a/templates/projects/NewAndroidApplication/root/build.gradle.ftl
+++ /dev/null
@@ -1,35 +0,0 @@
-buildscript {
-    repositories {
-<#if mavenUrl == "mavenCentral">
-        mavenCentral()
-<#else>
-        maven { url '${mavenUrl}' }
-</#if>
-    }
-    dependencies {
-        classpath 'com.android.tools.build:gradle:${gradlePluginVersion}'
-    }
-}
-apply plugin: 'android'
-
-repositories {
-<#if mavenUrl == "mavenCentral">
-    mavenCentral()
-<#else>
-    maven { url '${mavenUrl}' }
-</#if>
-}
-
-dependencies {
-    compile 'com.android.support:support-v4:${v4SupportLibraryVersion}'
-}
-
-android {
-    compileSdkVersion ${buildApi}
-    buildToolsVersion "${buildToolsVersion}"
-
-    defaultConfig {
-        minSdkVersion ${minApi}
-        targetSdkVersion ${targetApi}
-    }
-}
diff --git a/templates/projects/NewAndroidApplication/root/res/drawable-hdpi/ic_launcher.png b/templates/projects/NewAndroidApplication/root/res/drawable-hdpi/ic_launcher.png
deleted file mode 100755
index 96a442e..0000000
--- a/templates/projects/NewAndroidApplication/root/res/drawable-hdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/templates/projects/NewAndroidApplication/root/res/drawable-mdpi/ic_launcher.png b/templates/projects/NewAndroidApplication/root/res/drawable-mdpi/ic_launcher.png
deleted file mode 100755
index 359047d..0000000
--- a/templates/projects/NewAndroidApplication/root/res/drawable-mdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/templates/projects/NewAndroidApplication/root/res/drawable-xhdpi/ic_launcher.png b/templates/projects/NewAndroidApplication/root/res/drawable-xhdpi/ic_launcher.png
deleted file mode 100755
index 71c6d76..0000000
--- a/templates/projects/NewAndroidApplication/root/res/drawable-xhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/templates/projects/NewAndroidApplication/root/res/values-v11/styles_hc.xml.ftl b/templates/projects/NewAndroidApplication/root/res/values-v11/styles_hc.xml.ftl
deleted file mode 100644
index f8993c3..0000000
--- a/templates/projects/NewAndroidApplication/root/res/values-v11/styles_hc.xml.ftl
+++ /dev/null
@@ -1,11 +0,0 @@
-<resources>
-
-    <!--
-        Base application theme for API 11+. This theme completely replaces
-        AppBaseTheme from res/values/styles.xml on API 11+ devices.
-    -->
-    <style name="AppBaseTheme" parent="android:Theme.Holo<#if baseTheme?contains("light")>.Light</#if>">
-        <!-- API 11 theme customizations can go here. -->
-    </style>
-
-</resources>
diff --git a/templates/projects/NewAndroidApplication/root/res/values-v14/styles_ics.xml b/templates/projects/NewAndroidApplication/root/res/values-v14/styles_ics.xml
deleted file mode 100644
index a91fd03..0000000
--- a/templates/projects/NewAndroidApplication/root/res/values-v14/styles_ics.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<resources>
-
-    <!--
-        Base application theme for API 14+. This theme completely replaces
-        AppBaseTheme from BOTH res/values/styles.xml and
-        res/values-v11/styles.xml on API 14+ devices.
-    -->
-    <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
-        <!-- API 14 theme customizations can go here. -->
-    </style>
-
-</resources>
diff --git a/templates/projects/NewAndroidApplication/root/res/values/strings.xml.ftl b/templates/projects/NewAndroidApplication/root/res/values/strings.xml.ftl
deleted file mode 100644
index ee03444..0000000
--- a/templates/projects/NewAndroidApplication/root/res/values/strings.xml.ftl
+++ /dev/null
@@ -1,3 +0,0 @@
-<resources>
-    <string name="app_name">${escapeXmlString(appTitle)}</string>
-</resources>
diff --git a/templates/projects/NewAndroidApplication/root/res/values/styles.xml.ftl b/templates/projects/NewAndroidApplication/root/res/values/styles.xml.ftl
deleted file mode 100644
index 30fe5b5..0000000
--- a/templates/projects/NewAndroidApplication/root/res/values/styles.xml.ftl
+++ /dev/null
@@ -1,20 +0,0 @@
-<resources>
-
-    <!--
-        Base application theme, dependent on API level. This theme is replaced
-        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-    -->
-    <style name="AppBaseTheme" parent="android:Theme<#if baseTheme?contains("light")>.Light</#if>">
-        <!--
-            Theme customizations available in newer API levels can go in
-            res/values-vXX/styles.xml, while customizations related to
-            backward-compatibility can go here.
-        -->
-    </style>
-
-    <!-- Application theme. -->
-    <style name="AppTheme" parent="AppBaseTheme">
-        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
-    </style>
-
-</resources>
diff --git a/templates/projects/NewAndroidApplication/root/settings.gradle.ftl b/templates/projects/NewAndroidApplication/root/settings.gradle.ftl
deleted file mode 100644
index b12004b..0000000
--- a/templates/projects/NewAndroidApplication/root/settings.gradle.ftl
+++ /dev/null
@@ -1 +0,0 @@
-include ':${projectName}'
diff --git a/templates/projects/NewAndroidApplication/template.xml b/templates/projects/NewAndroidApplication/template.xml
deleted file mode 100644
index 0d9b234..0000000
--- a/templates/projects/NewAndroidApplication/template.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="1"
-    revision="2"
-    name="Android Application"
-    description="Creates a new Android application.">
-    <dependency name="android-support-v4" revision="8" />
-
-    <thumbs>
-        <thumb>template_new_project.png</thumb>
-    </thumbs>
-
-    <category value="Applications" />
-
-    <parameter
-        id="packageName"
-        name="Package name"
-        type="string"
-        constraints="package|nonempty"
-        default="com.mycompany.myapp" />
-
-    <parameter
-        id="appTitle"
-        name="Application title"
-        type="string"
-        constraints="nonempty"
-        default="My Application" />
-
-    <parameter
-        id="baseTheme"
-        name="Base Theme"
-        type="enum"
-        default="holo_light_darkactionbar"
-        help="The base user interface theme for the application">
-        <option id="none">None</option>
-        <option id="holo_dark" minBuildApi="11">Holo Dark</option>
-        <option id="holo_light" minBuildApi="11">Holo Light</option>
-        <option id="holo_light_darkactionbar" minBuildApi="14" default="true">Holo Light with Dark Action Bar</option>
-    </parameter>
-
-    <parameter
-        id="minApi"
-        name="Minimum API level"
-        type="string"
-        constraints="apilevel"
-        default="7" />
-
-    <!--
-      Usually the same as minApi, but when minApi is a code name this will be the corresponding
-      API level
-    -->
-    <parameter
-        id="minApiLevel"
-        name="Minimum API level"
-        type="string"
-        constraints="apilevel"
-        default="7" />
-
-    <parameter
-        id="targetApi"
-        name="Target API level"
-        type="string"
-        constraints="apilevel"
-        default="16" />
-
-    <parameter
-        id="buildApi"
-        name="Build API level"
-        type="string"
-        constraints="apilevel"
-        default="16" />
-
-    <parameter
-        id="copyIcons"
-        name="Include launcher icons"
-        type="boolean"
-        default="true" />
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/projects/NewAndroidApplication/template_new_project.png b/templates/projects/NewAndroidApplication/template_new_project.png
deleted file mode 100644
index 92e8556..0000000
--- a/templates/projects/NewAndroidApplication/template_new_project.png
+++ /dev/null
Binary files differ
diff --git a/templates/projects/NewAndroidLibrary/globals.xml.ftl b/templates/projects/NewAndroidLibrary/globals.xml.ftl
deleted file mode 100644
index d196321..0000000
--- a/templates/projects/NewAndroidLibrary/globals.xml.ftl
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="isGradle" value="false" />
-    <global id="topOut" value="." />
-    <global id="projectOut" value="." />
-    <global id="manifestOut" value="." />
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-    <global id="resOut" value="res" />
-    <global id="mavenUrl" value="mavenCentral" />
-    <global id="buildToolsVersion" value="${buildApi}" />
-    <global id="gradlePluginVersion" value="1.0.+" />
-    <global id="v4SupportLibraryVersion" value="13.0.+" />
-</globals>
diff --git a/templates/projects/NewAndroidLibrary/recipe.xml.ftl b/templates/projects/NewAndroidLibrary/recipe.xml.ftl
deleted file mode 100644
index 2734b32..0000000
--- a/templates/projects/NewAndroidLibrary/recipe.xml.ftl
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-<#if isGradle == "true">
-    <merge from="settings.gradle.ftl"
-             to="${escapeXmlAttribute(topOut)}/settings.gradle" />
-    <instantiate from="build.gradle.ftl"
-                   to="${escapeXmlAttribute(projectOut)}/build.gradle" />
-</#if>
-    <instantiate from="AndroidManifest.xml.ftl"
-                   to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />
-
-<#if copyIcons>
-    <copy from="res/drawable-hdpi"
-            to="${escapeXmlAttribute(resOut)}/drawable-hdpi" />
-    <copy from="res/drawable-mdpi"
-            to="${escapeXmlAttribute(resOut)}/drawable-mdpi" />
-    <copy from="res/drawable-xhdpi"
-            to="${escapeXmlAttribute(resOut)}/drawable-xhdpi" />
-</#if>
-    <instantiate from="res/values/styles.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/values/styles.xml" />
-<#if buildApi gte 11 && baseTheme != "none">
-    <instantiate from="res/values-v11/styles_hc.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/values-v11/styles.xml" />
-</#if>
-<#if buildApi gte 14 && baseTheme?contains("darkactionbar")>
-    <copy from="res/values-v14/styles_ics.xml"
-            to="${escapeXmlAttribute(resOut)}/values-v14/styles.xml" />
-</#if>
-
-    <instantiate from="res/values/strings.xml.ftl"
-                   to="${escapeXmlAttribute(resOut)}/values/strings.xml" />
-</recipe>
diff --git a/templates/projects/NewAndroidLibrary/root/AndroidManifest.xml.ftl b/templates/projects/NewAndroidLibrary/root/AndroidManifest.xml.ftl
deleted file mode 100644
index 390a9da..0000000
--- a/templates/projects/NewAndroidLibrary/root/AndroidManifest.xml.ftl
+++ /dev/null
@@ -1,15 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="${packageName}"
-    android:versionCode="1"
-    android:versionName="1.0">
-
-    <uses-sdk android:minSdkVersion="${minApi}" <#if buildApi gte 4>android:targetSdkVersion="${targetApi}" </#if>/>
-
-    <application <#if minApiLevel gte 4 && buildApi gte 4>android:allowBackup="true"</#if>
-        android:label="@string/app_name"
-        android:icon="@drawable/ic_launcher"<#if baseTheme != "none">
-        android:theme="@style/AppTheme"</#if>>
-
-    </application>
-
-</manifest>
diff --git a/templates/projects/NewAndroidLibrary/root/build.gradle.ftl b/templates/projects/NewAndroidLibrary/root/build.gradle.ftl
deleted file mode 100644
index 1b7e780..0000000
--- a/templates/projects/NewAndroidLibrary/root/build.gradle.ftl
+++ /dev/null
@@ -1,35 +0,0 @@
-buildscript {
-    repositories {
-<#if mavenUrl == "mavenCentral">
-        mavenCentral()
-<#else>
-        maven { url '${mavenUrl}' }
-</#if>
-    }
-    dependencies {
-        classpath 'com.android.tools.build:gradle:${gradlePluginVersion}'
-    }
-}
-apply plugin: 'android-library'
-
-repositories {
-<#if mavenUrl == "mavenCentral">
-    mavenCentral()
-<#else>
-    maven { url '${mavenUrl}' }
-</#if>
-}
-
-dependencies {
-    compile 'com.android.support:support-v4:${v4SupportLibraryVersion}'
-}
-
-android {
-    compileSdkVersion ${buildApi}
-    buildToolsVersion "${buildToolsVersion}"
-
-    defaultConfig {
-        minSdkVersion ${minApi}
-        targetSdkVersion ${targetApi}
-    }
-}
diff --git a/templates/projects/NewAndroidLibrary/root/res/drawable-hdpi/ic_launcher.png b/templates/projects/NewAndroidLibrary/root/res/drawable-hdpi/ic_launcher.png
deleted file mode 100755
index 96a442e..0000000
--- a/templates/projects/NewAndroidLibrary/root/res/drawable-hdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/templates/projects/NewAndroidLibrary/root/res/drawable-mdpi/ic_launcher.png b/templates/projects/NewAndroidLibrary/root/res/drawable-mdpi/ic_launcher.png
deleted file mode 100755
index 359047d..0000000
--- a/templates/projects/NewAndroidLibrary/root/res/drawable-mdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/templates/projects/NewAndroidLibrary/root/res/drawable-xhdpi/ic_launcher.png b/templates/projects/NewAndroidLibrary/root/res/drawable-xhdpi/ic_launcher.png
deleted file mode 100755
index 71c6d76..0000000
--- a/templates/projects/NewAndroidLibrary/root/res/drawable-xhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/templates/projects/NewAndroidLibrary/root/res/values-v11/styles_hc.xml.ftl b/templates/projects/NewAndroidLibrary/root/res/values-v11/styles_hc.xml.ftl
deleted file mode 100644
index f8993c3..0000000
--- a/templates/projects/NewAndroidLibrary/root/res/values-v11/styles_hc.xml.ftl
+++ /dev/null
@@ -1,11 +0,0 @@
-<resources>
-
-    <!--
-        Base application theme for API 11+. This theme completely replaces
-        AppBaseTheme from res/values/styles.xml on API 11+ devices.
-    -->
-    <style name="AppBaseTheme" parent="android:Theme.Holo<#if baseTheme?contains("light")>.Light</#if>">
-        <!-- API 11 theme customizations can go here. -->
-    </style>
-
-</resources>
diff --git a/templates/projects/NewAndroidLibrary/root/res/values-v14/styles_ics.xml b/templates/projects/NewAndroidLibrary/root/res/values-v14/styles_ics.xml
deleted file mode 100644
index a91fd03..0000000
--- a/templates/projects/NewAndroidLibrary/root/res/values-v14/styles_ics.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<resources>
-
-    <!--
-        Base application theme for API 14+. This theme completely replaces
-        AppBaseTheme from BOTH res/values/styles.xml and
-        res/values-v11/styles.xml on API 14+ devices.
-    -->
-    <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
-        <!-- API 14 theme customizations can go here. -->
-    </style>
-
-</resources>
diff --git a/templates/projects/NewAndroidLibrary/root/res/values/strings.xml.ftl b/templates/projects/NewAndroidLibrary/root/res/values/strings.xml.ftl
deleted file mode 100644
index ee03444..0000000
--- a/templates/projects/NewAndroidLibrary/root/res/values/strings.xml.ftl
+++ /dev/null
@@ -1,3 +0,0 @@
-<resources>
-    <string name="app_name">${escapeXmlString(appTitle)}</string>
-</resources>
diff --git a/templates/projects/NewAndroidLibrary/root/res/values/styles.xml.ftl b/templates/projects/NewAndroidLibrary/root/res/values/styles.xml.ftl
deleted file mode 100644
index 30fe5b5..0000000
--- a/templates/projects/NewAndroidLibrary/root/res/values/styles.xml.ftl
+++ /dev/null
@@ -1,20 +0,0 @@
-<resources>
-
-    <!--
-        Base application theme, dependent on API level. This theme is replaced
-        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-    -->
-    <style name="AppBaseTheme" parent="android:Theme<#if baseTheme?contains("light")>.Light</#if>">
-        <!--
-            Theme customizations available in newer API levels can go in
-            res/values-vXX/styles.xml, while customizations related to
-            backward-compatibility can go here.
-        -->
-    </style>
-
-    <!-- Application theme. -->
-    <style name="AppTheme" parent="AppBaseTheme">
-        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
-    </style>
-
-</resources>
diff --git a/templates/projects/NewAndroidLibrary/root/settings.gradle.ftl b/templates/projects/NewAndroidLibrary/root/settings.gradle.ftl
deleted file mode 100644
index b12004b..0000000
--- a/templates/projects/NewAndroidLibrary/root/settings.gradle.ftl
+++ /dev/null
@@ -1 +0,0 @@
-include ':${projectName}'
diff --git a/templates/projects/NewAndroidLibrary/template.xml b/templates/projects/NewAndroidLibrary/template.xml
deleted file mode 100644
index 9d13db5..0000000
--- a/templates/projects/NewAndroidLibrary/template.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="1"
-    revision="2"
-    name="Android Library"
-    description="Creates a new Android library.">
-    <dependency name="android-support-v4" revision="8" />
-
-    <thumbs>
-        <thumb>template_new_project.png</thumb>
-    </thumbs>
-
-    <category value="Applications" />
-
-    <parameter
-        id="packageName"
-        name="Package name"
-        type="string"
-        constraints="package|nonempty"
-        default="com.mycompany.myapp" />
-
-    <parameter
-        id="appTitle"
-        name="Library title"
-        type="string"
-        constraints="nonempty"
-        default="My Library"/>
-
-    <parameter
-        id="baseTheme"
-        name="Base Theme"
-        type="enum"
-        default="holo_light_darkactionbar"
-        help="The base user interface theme for the library">
-        <option id="none">None</option>
-        <option id="holo_dark" minBuildApi="11">Holo Dark</option>
-        <option id="holo_light" minBuildApi="11">Holo Light</option>
-        <option id="holo_light_darkactionbar" minBuildApi="14" default="true">Holo Light with Dark Action Bar</option>
-    </parameter>
-
-    <parameter
-        id="minApi"
-        name="Minimum API level"
-        type="string"
-        constraints="apilevel"
-        default="7" />
-
-    <!--
-      Usually the same as minApi, but when minApi is a code name this will be the corresponding
-      API level
-    -->
-    <parameter
-        id="minApiLevel"
-        name="Minimum API level"
-        type="string"
-        constraints="apilevel"
-        default="7" />
-
-    <parameter
-        id="targetApi"
-        name="Target API level"
-        type="string"
-        constraints="apilevel"
-        default="16" />
-
-    <parameter
-        id="buildApi"
-        name="Build API level"
-        type="string"
-        constraints="apilevel"
-        default="16" />
-
-    <parameter
-        id="copyIcons"
-        name="Include launcher icons"
-        type="boolean"
-        default="true" />
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/projects/NewAndroidLibrary/template_new_project.png b/templates/projects/NewAndroidLibrary/template_new_project.png
deleted file mode 100644
index 92e8556..0000000
--- a/templates/projects/NewAndroidLibrary/template_new_project.png
+++ /dev/null
Binary files differ
diff --git a/templates/projects/NewJavaLibrary/globals.xml.ftl b/templates/projects/NewJavaLibrary/globals.xml.ftl
deleted file mode 100644
index 5b9b620..0000000
--- a/templates/projects/NewJavaLibrary/globals.xml.ftl
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<globals>
-    <global id="isGradle" value="false" />
-    <global id="topOut" value="." />
-    <global id="projectOut" value="." />
-    <global id="srcOut" value="src/${slashedPackageName(packageName)}" />
-</globals>
diff --git a/templates/projects/NewJavaLibrary/recipe.xml.ftl b/templates/projects/NewJavaLibrary/recipe.xml.ftl
deleted file mode 100644
index b9dd28d..0000000
--- a/templates/projects/NewJavaLibrary/recipe.xml.ftl
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<recipe>
-<#if isGradle == "true">
-    <merge from="settings.gradle.ftl"
-             to="${escapeXmlAttribute(topOut)}/settings.gradle" />
-    <instantiate from="build.gradle.ftl"
-                   to="${escapeXmlAttribute(projectOut)}/build.gradle" />
-</#if>
-    <instantiate from="/src/library_package/Placeholder.java.ftl"
-                   to="${escapeXmlAttribute(srcOut)}/${className}.java" />
-</recipe>
diff --git a/templates/projects/NewJavaLibrary/root/build.gradle.ftl b/templates/projects/NewJavaLibrary/root/build.gradle.ftl
deleted file mode 100644
index bbfeb03..0000000
--- a/templates/projects/NewJavaLibrary/root/build.gradle.ftl
+++ /dev/null
@@ -1 +0,0 @@
-apply plugin: 'java'
diff --git a/templates/projects/NewJavaLibrary/root/settings.gradle.ftl b/templates/projects/NewJavaLibrary/root/settings.gradle.ftl
deleted file mode 100644
index b12004b..0000000
--- a/templates/projects/NewJavaLibrary/root/settings.gradle.ftl
+++ /dev/null
@@ -1 +0,0 @@
-include ':${projectName}'
diff --git a/templates/projects/NewJavaLibrary/root/src/library_package/Placeholder.java.ftl b/templates/projects/NewJavaLibrary/root/src/library_package/Placeholder.java.ftl
deleted file mode 100644
index 2af8c0d..0000000
--- a/templates/projects/NewJavaLibrary/root/src/library_package/Placeholder.java.ftl
+++ /dev/null
@@ -1,4 +0,0 @@
-package ${packageName};
-
-public class ${className} {
-}
diff --git a/templates/projects/NewJavaLibrary/template.xml b/templates/projects/NewJavaLibrary/template.xml
deleted file mode 100644
index cb117a5..0000000
--- a/templates/projects/NewJavaLibrary/template.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0"?>
-<template
-    format="1"
-    revision="2"
-    name="Java Library"
-    description="Creates a new Java library.">
-
-    <thumbs>
-        <thumb>template_new_project.png</thumb>
-    </thumbs>
-
-    <category value="Applications" />
-
-    <parameter
-        id="projectName"
-        name="Library name"
-        type="string"
-        constraints="nonempty"
-        default="MyLibrary"/>
-
-    <parameter
-        id="packageName"
-        name="Java package name"
-        type="string"
-        constraints="nonempty"
-        default="com.example"/>
-
-    <parameter
-        id="className"
-        name="Java class name"
-        type="string"
-        constraints="nonempty"
-        default="MyClass"/>
-
-    <globals file="globals.xml.ftl" />
-    <execute file="recipe.xml.ftl" />
-
-</template>
diff --git a/templates/projects/NewJavaLibrary/template_new_project.png b/templates/projects/NewJavaLibrary/template_new_project.png
deleted file mode 100644
index 92e8556..0000000
--- a/templates/projects/NewJavaLibrary/template_new_project.png
+++ /dev/null
Binary files differ