Sync sample prebuilts for mnc-dev

Synced to //developers/samples/android commit 89d2da0f4b.

Change-Id: Ia8d4d2fe5261e60e7724da3d75eb72be2cbac565
diff --git a/prebuilts/gradle/ActionBarCompat-Basic/Application/build.gradle b/prebuilts/gradle/ActionBarCompat-Basic/Application/build.gradle
index 5942f78..26aa485 100644
--- a/prebuilts/gradle/ActionBarCompat-Basic/Application/build.gradle
+++ b/prebuilts/gradle/ActionBarCompat-Basic/Application/build.gradle
@@ -31,12 +31,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 7
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/ActionBarCompat-Basic/README.md b/prebuilts/gradle/ActionBarCompat-Basic/README.md
index 042d89a..f334af5 100644
--- a/prebuilts/gradle/ActionBarCompat-Basic/README.md
+++ b/prebuilts/gradle/ActionBarCompat-Basic/README.md
@@ -35,7 +35,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/ActionBarCompat-ListPopupMenu/Application/build.gradle b/prebuilts/gradle/ActionBarCompat-ListPopupMenu/Application/build.gradle
index 5942f78..26aa485 100644
--- a/prebuilts/gradle/ActionBarCompat-ListPopupMenu/Application/build.gradle
+++ b/prebuilts/gradle/ActionBarCompat-ListPopupMenu/Application/build.gradle
@@ -31,12 +31,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 7
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/ActionBarCompat-ListPopupMenu/README.md b/prebuilts/gradle/ActionBarCompat-ListPopupMenu/README.md
index 2fdc0d5..dcda24d 100644
--- a/prebuilts/gradle/ActionBarCompat-ListPopupMenu/README.md
+++ b/prebuilts/gradle/ActionBarCompat-ListPopupMenu/README.md
@@ -17,7 +17,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/ActionBarCompat-ShareActionProvider/Application/build.gradle b/prebuilts/gradle/ActionBarCompat-ShareActionProvider/Application/build.gradle
index 5942f78..26aa485 100644
--- a/prebuilts/gradle/ActionBarCompat-ShareActionProvider/Application/build.gradle
+++ b/prebuilts/gradle/ActionBarCompat-ShareActionProvider/Application/build.gradle
@@ -31,12 +31,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 7
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/ActionBarCompat-ShareActionProvider/README.md b/prebuilts/gradle/ActionBarCompat-ShareActionProvider/README.md
index e6c2d7f..8f2e0ce 100644
--- a/prebuilts/gradle/ActionBarCompat-ShareActionProvider/README.md
+++ b/prebuilts/gradle/ActionBarCompat-ShareActionProvider/README.md
@@ -22,7 +22,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/ActionBarCompat-Styled/Application/build.gradle b/prebuilts/gradle/ActionBarCompat-Styled/Application/build.gradle
index 0ee191a..88d0897 100644
--- a/prebuilts/gradle/ActionBarCompat-Styled/Application/build.gradle
+++ b/prebuilts/gradle/ActionBarCompat-Styled/Application/build.gradle
@@ -31,12 +31,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 7
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/ActionBarCompat-Styled/README.md b/prebuilts/gradle/ActionBarCompat-Styled/README.md
index 47382b2..cd7efae 100644
--- a/prebuilts/gradle/ActionBarCompat-Styled/README.md
+++ b/prebuilts/gradle/ActionBarCompat-Styled/README.md
@@ -23,7 +23,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/ActiveNotification/.google/packaging.yaml b/prebuilts/gradle/ActiveNotification/.google/packaging.yaml
deleted file mode 100644
index 5aed7be..0000000
--- a/prebuilts/gradle/ActiveNotification/.google/packaging.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-# GOOGLE SAMPLE PACKAGING DATA
-#
-# This file is used by Google as part of our samples packaging process.
-# End users may safely ignore this file. It has no relevance to other systems.
----
-status:       DRAFT
-technologies: [Android]
-categories:   [Getting Started, Notification]
-languages:    [Java]
-solutions:    [Mobile]
-github:       android-ActiveNotification
-level:        INTERMEDIATE
-icon:         screenshots/icon-web.png
-apiRefs:
-    - android:android.app.NotificationManager
-license: apache2
diff --git a/prebuilts/gradle/ActiveNotification/Application/build.gradle b/prebuilts/gradle/ActiveNotification/Application/build.gradle
deleted file mode 100644
index cdec381..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/build.gradle
+++ /dev/null
@@ -1,73 +0,0 @@
-
-buildscript {
-    repositories {
-        jcenter()
-    }
-
-    dependencies {
-        classpath 'com.android.tools.build:gradle:1.1.0'
-    }
-}
-
-apply plugin: 'com.android.application'
-
-repositories {
-    jcenter()
-}
-
-dependencies {
-    compile "com.android.support:support-v4:21.0.2"
-    compile "com.android.support:support-v13:21.0.2"
-    compile "com.android.support:cardview-v7:21.0.2"
-}
-
-// The sample build uses multiple directories to
-// keep boilerplate and common code separate from
-// the main sample code.
-List<String> dirs = [
-    'main',     // main sample code; look here for the interesting stuff.
-    'common',   // components that are reused by multiple samples
-    'template'] // boilerplate code that is generated by the sample template process
-
-android {
-    compileSdkVersion "android-MNC"
-    buildToolsVersion "22.0.1"
-
-    defaultConfig {
-        minSdkVersion "android-MNC"
-        targetSdkVersion "android-MNC"
-    }
-
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_1_7
-        targetCompatibility JavaVersion.VERSION_1_7
-    }
-
-    sourceSets {
-        main {
-            dirs.each { dir ->
-                java.srcDirs "src/${dir}/java"
-                res.srcDirs "src/${dir}/res"
-            }
-        }
-        androidTest.setRoot('tests')
-        androidTest.java.srcDirs = ['tests/src']
-
-    }
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/AndroidManifest.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/AndroidManifest.xml
deleted file mode 100644
index a7110ea..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2013 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.example.android.activenotification"
-    android:versionCode="1"
-    android:versionName="1.0">
-
-    <application android:allowBackup="true"
-        android:label="@string/app_name"
-        android:icon="@mipmap/ic_launcher"
-        android:theme="@style/AppTheme">
-
-        <activity android:name=".ActiveNotificationActivity"
-                  android:label="@string/app_name">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-    </application>
-
-
-</manifest>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/activenotification/ActiveNotificationActivity.java b/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/activenotification/ActiveNotificationActivity.java
deleted file mode 100644
index 7ac7c8c..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/activenotification/ActiveNotificationActivity.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.activenotification;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.Bundle;
-import android.os.PersistableBundle;
-
-public class ActiveNotificationActivity extends MainActivity {
-
-    private ActiveNotificationFragment mFragment;
-
-    protected static final String ACTION_NOTIFICATION_DELETE
-            = "com.example.android.activenotification.delete";
-
-    private BroadcastReceiver mDeleteReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (mFragment == null) {
-                findFragment();
-            }
-            mFragment.updateNumberOfNotifications();
-        }
-    };
-
-    @Override
-    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
-        super.onCreate(savedInstanceState, persistentState);
-        findFragment();
-        mFragment.updateNumberOfNotifications();
-    }
-
-    private void findFragment() {
-        mFragment = (ActiveNotificationFragment) getSupportFragmentManager()
-                .findFragmentById(R.id.sample_content_fragment);
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        registerReceiver(mDeleteReceiver, new IntentFilter(ACTION_NOTIFICATION_DELETE));
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-        unregisterReceiver(mDeleteReceiver);
-    }
-}
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/activenotification/ActiveNotificationFragment.java b/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/activenotification/ActiveNotificationFragment.java
deleted file mode 100644
index 0f4fbf1..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/activenotification/ActiveNotificationFragment.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package com.example.android.activenotification;
-/*
-* Copyright 2015 The Android Open Source Project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.service.notification.StatusBarNotification;
-import android.support.v4.app.Fragment;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import com.example.android.common.logger.Log;
-
-/**
- * A fragment that enables display of notifications.
- */
-public class ActiveNotificationFragment extends Fragment {
-
-    private static final String TAG = "ActiveNotificationFragment";
-
-    private NotificationManager mNotificationManager;
-    private TextView mNumberOfNotifications;
-
-    // Every notification needs a unique ID otherwise the previous one would be overwritten.
-    private int mNotificationId = 0;
-    private PendingIntent mDeletePendingIntent;
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        return inflater.inflate(R.layout.fragment_notification_builder, container, false);
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        updateNumberOfNotifications();
-    }
-
-    @Override
-    public void onViewCreated(View view, Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        mNotificationManager = (NotificationManager) getActivity().getSystemService(
-                Context.NOTIFICATION_SERVICE);
-        mNumberOfNotifications = (TextView) view.findViewById(R.id.number_of_notifications);
-
-        // Supply actions to the button that is displayed on screen.
-        View.OnClickListener onClickListener = new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                switch (v.getId()) {
-                    case R.id.add_notification: {
-                        addNotificationAndReadNumber();
-                        break;
-                    }
-                }
-            }
-        };
-        view.findViewById(R.id.add_notification).setOnClickListener(onClickListener);
-
-        // [BEGIN create_pending_intent_for_deletion]
-        // Create a PendingIntent to be fired upon deletion of a Notification.
-        Intent deleteIntent = new Intent(ActiveNotificationActivity.ACTION_NOTIFICATION_DELETE);
-        mDeletePendingIntent = PendingIntent.getBroadcast(getActivity(),
-                2323 /* requestCode */, deleteIntent, 0);
-        // [END create_pending_intent_for_deletion]
-    }
-
-    /**
-     * Add a new {@link Notification} with sample data and send it to the system.
-     * Then read the current number of displayed notifications for this application.
-     */
-    private void addNotificationAndReadNumber() {
-        // [BEGIN create_notification]
-        // Create a Notification and notify the system.
-        final Notification.Builder builder = new Notification.Builder(getActivity())
-                .setSmallIcon(R.mipmap.ic_notification)
-                .setContentTitle(getString(R.string.app_name))
-                .setContentText(getString(R.string.sample_notification_content))
-                .setAutoCancel(true)
-                .setDeleteIntent(mDeletePendingIntent);
-
-        final Notification notification = builder.build();
-        mNotificationManager.notify(++mNotificationId, notification);
-        // [END create_notification]
-        Log.i(TAG, "Add a notification");
-        updateNumberOfNotifications();
-    }
-
-    /**
-     * Request the current number of notifications from the {@link NotificationManager} and
-     * display them to the user.
-     */
-    protected void updateNumberOfNotifications() {
-        // [BEGIN get_active_notifications]
-        // Query the currently displayed notifications.
-        final StatusBarNotification[] activeNotifications = mNotificationManager
-                .getActiveNotifications();
-        // [END get_active_notifications]
-        final int numberOfNotifications = activeNotifications.length;
-        mNumberOfNotifications.setText(getString(R.string.active_notifications,
-                numberOfNotifications));
-        Log.i(TAG, getString(R.string.active_notifications, numberOfNotifications));
-    }
-}
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/activenotification/MainActivity.java b/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/activenotification/MainActivity.java
deleted file mode 100644
index a1dacca..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/activenotification/MainActivity.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
-* Copyright 2013 The Android Open Source Project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-package com.example.android.activenotification;
-
-import android.os.Bundle;
-import android.support.v4.app.FragmentTransaction;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.widget.ViewAnimator;
-
-import com.example.android.common.activities.SampleActivityBase;
-import com.example.android.common.logger.Log;
-import com.example.android.common.logger.LogFragment;
-import com.example.android.common.logger.LogWrapper;
-import com.example.android.common.logger.MessageOnlyLogFilter;
-
-/**
- * A simple launcher activity containing a summary sample description, sample log and a custom
- * {@link android.support.v4.app.Fragment} which can display a view.
- * <p>
- * For devices with displays with a width of 720dp or greater, the sample log is always visible,
- * on other devices it's visibility is controlled by an item on the Action Bar.
- */
-public class MainActivity extends SampleActivityBase {
-
-    public static final String TAG = "MainActivity";
-
-    // Whether the Log Fragment is currently shown
-    private boolean mLogShown;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_main);
-
-        if (savedInstanceState == null) {
-            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
-            ActiveNotificationFragment fragment = new ActiveNotificationFragment();
-            transaction.replace(R.id.sample_content_fragment, fragment);
-            transaction.commit();
-        }
-    }
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.main, menu);
-        return true;
-    }
-
-    @Override
-    public boolean onPrepareOptionsMenu(Menu menu) {
-        MenuItem logToggle = menu.findItem(R.id.menu_toggle_log);
-        logToggle.setVisible(findViewById(R.id.sample_output) instanceof ViewAnimator);
-        logToggle.setTitle(mLogShown ? R.string.sample_hide_log : R.string.sample_show_log);
-
-        return super.onPrepareOptionsMenu(menu);
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch(item.getItemId()) {
-            case R.id.menu_toggle_log:
-                mLogShown = !mLogShown;
-                ViewAnimator output = (ViewAnimator) findViewById(R.id.sample_output);
-                if (mLogShown) {
-                    output.setDisplayedChild(1);
-                } else {
-                    output.setDisplayedChild(0);
-                }
-                supportInvalidateOptionsMenu();
-                return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-
-    /** Create a chain of targets that will receive log data */
-    @Override
-    public void initializeLogging() {
-        // Wraps Android's native log framework.
-        LogWrapper logWrapper = new LogWrapper();
-        // Using Log, front-end to the logging chain, emulates android.util.log method signatures.
-        Log.setLogNode(logWrapper);
-
-        // Filter strips out everything except the message text.
-        MessageOnlyLogFilter msgFilter = new MessageOnlyLogFilter();
-        logWrapper.setNext(msgFilter);
-
-        // On screen logging via a fragment with a TextView.
-        LogFragment logFragment = (LogFragment) getSupportFragmentManager()
-                .findFragmentById(R.id.log_fragment);
-        msgFilter.setNext(logFragment.getLogView());
-
-        Log.i(TAG, "Ready");
-    }
-}
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/activities/SampleActivityBase.java b/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/activities/SampleActivityBase.java
deleted file mode 100644
index 3228927..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/activities/SampleActivityBase.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-* Copyright 2013 The Android Open Source Project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-package com.example.android.common.activities;
-
-import android.os.Bundle;
-import android.support.v4.app.FragmentActivity;
-
-import com.example.android.common.logger.Log;
-import com.example.android.common.logger.LogWrapper;
-
-/**
- * Base launcher activity, to handle most of the common plumbing for samples.
- */
-public class SampleActivityBase extends FragmentActivity {
-
-    public static final String TAG = "SampleActivityBase";
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-    }
-
-    @Override
-    protected  void onStart() {
-        super.onStart();
-        initializeLogging();
-    }
-
-    /** Set up targets to receive log data */
-    public void initializeLogging() {
-        // Using Log, front-end to the logging chain, emulates android.util.log method signatures.
-        // Wraps Android's native log framework
-        LogWrapper logWrapper = new LogWrapper();
-        Log.setLogNode(logWrapper);
-
-        Log.i(TAG, "Ready");
-    }
-}
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/Log.java b/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/Log.java
deleted file mode 100644
index 17503c5..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/Log.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.example.android.common.logger;
-
-/**
- * Helper class for a list (or tree) of LoggerNodes.
- *
- * <p>When this is set as the head of the list,
- * an instance of it can function as a drop-in replacement for {@link android.util.Log}.
- * Most of the methods in this class server only to map a method call in Log to its equivalent
- * in LogNode.</p>
- */
-public class Log {
-    // Grabbing the native values from Android's native logging facilities,
-    // to make for easy migration and interop.
-    public static final int NONE = -1;
-    public static final int VERBOSE = android.util.Log.VERBOSE;
-    public static final int DEBUG = android.util.Log.DEBUG;
-    public static final int INFO = android.util.Log.INFO;
-    public static final int WARN = android.util.Log.WARN;
-    public static final int ERROR = android.util.Log.ERROR;
-    public static final int ASSERT = android.util.Log.ASSERT;
-
-    // Stores the beginning of the LogNode topology.
-    private static LogNode mLogNode;
-
-    /**
-     * Returns the next LogNode in the linked list.
-     */
-    public static LogNode getLogNode() {
-        return mLogNode;
-    }
-
-    /**
-     * Sets the LogNode data will be sent to.
-     */
-    public static void setLogNode(LogNode node) {
-        mLogNode = node;
-    }
-
-    /**
-     * Instructs the LogNode to print the log data provided. Other LogNodes can
-     * be chained to the end of the LogNode as desired.
-     *
-     * @param priority Log level of the data being logged. Verbose, Error, etc.
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    public static void println(int priority, String tag, String msg, Throwable tr) {
-        if (mLogNode != null) {
-            mLogNode.println(priority, tag, msg, tr);
-        }
-    }
-
-    /**
-     * Instructs the LogNode to print the log data provided. Other LogNodes can
-     * be chained to the end of the LogNode as desired.
-     *
-     * @param priority Log level of the data being logged. Verbose, Error, etc.
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged. The actual message to be logged.
-     */
-    public static void println(int priority, String tag, String msg) {
-        println(priority, tag, msg, null);
-    }
-
-   /**
-     * Prints a message at VERBOSE priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    public static void v(String tag, String msg, Throwable tr) {
-        println(VERBOSE, tag, msg, tr);
-    }
-
-    /**
-     * Prints a message at VERBOSE priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     */
-    public static void v(String tag, String msg) {
-        v(tag, msg, null);
-    }
-
-
-    /**
-     * Prints a message at DEBUG priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    public static void d(String tag, String msg, Throwable tr) {
-        println(DEBUG, tag, msg, tr);
-    }
-
-    /**
-     * Prints a message at DEBUG priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     */
-    public static void d(String tag, String msg) {
-        d(tag, msg, null);
-    }
-
-    /**
-     * Prints a message at INFO priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    public static void i(String tag, String msg, Throwable tr) {
-        println(INFO, tag, msg, tr);
-    }
-
-    /**
-     * Prints a message at INFO priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     */
-    public static void i(String tag, String msg) {
-        i(tag, msg, null);
-    }
-
-    /**
-     * Prints a message at WARN priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    public static void w(String tag, String msg, Throwable tr) {
-        println(WARN, tag, msg, tr);
-    }
-
-    /**
-     * Prints a message at WARN priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     */
-    public static void w(String tag, String msg) {
-        w(tag, msg, null);
-    }
-
-    /**
-     * Prints a message at WARN priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    public static void w(String tag, Throwable tr) {
-        w(tag, null, tr);
-    }
-
-    /**
-     * Prints a message at ERROR priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    public static void e(String tag, String msg, Throwable tr) {
-        println(ERROR, tag, msg, tr);
-    }
-
-    /**
-     * Prints a message at ERROR priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     */
-    public static void e(String tag, String msg) {
-        e(tag, msg, null);
-    }
-
-    /**
-     * Prints a message at ASSERT priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    public static void wtf(String tag, String msg, Throwable tr) {
-        println(ASSERT, tag, msg, tr);
-    }
-
-    /**
-     * Prints a message at ASSERT priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param msg The actual message to be logged.
-     */
-    public static void wtf(String tag, String msg) {
-        wtf(tag, msg, null);
-    }
-
-    /**
-     * Prints a message at ASSERT priority.
-     *
-     * @param tag Tag for for the log data. Can be used to organize log statements.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    public static void wtf(String tag, Throwable tr) {
-        wtf(tag, null, tr);
-    }
-}
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogFragment.java b/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogFragment.java
deleted file mode 100644
index b302acd..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogFragment.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-* Copyright 2013 The Android Open Source Project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-/*
- * Copyright 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.example.android.common.logger;
-
-import android.graphics.Typeface;
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.text.Editable;
-import android.text.TextWatcher;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ScrollView;
-
-/**
- * Simple fraggment which contains a LogView and uses is to output log data it receives
- * through the LogNode interface.
- */
-public class LogFragment extends Fragment {
-
-    private LogView mLogView;
-    private ScrollView mScrollView;
-
-    public LogFragment() {}
-
-    public View inflateViews() {
-        mScrollView = new ScrollView(getActivity());
-        ViewGroup.LayoutParams scrollParams = new ViewGroup.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT);
-        mScrollView.setLayoutParams(scrollParams);
-
-        mLogView = new LogView(getActivity());
-        ViewGroup.LayoutParams logParams = new ViewGroup.LayoutParams(scrollParams);
-        logParams.height = ViewGroup.LayoutParams.WRAP_CONTENT;
-        mLogView.setLayoutParams(logParams);
-        mLogView.setClickable(true);
-        mLogView.setFocusable(true);
-        mLogView.setTypeface(Typeface.MONOSPACE);
-
-        // Want to set padding as 16 dips, setPadding takes pixels.  Hooray math!
-        int paddingDips = 16;
-        double scale = getResources().getDisplayMetrics().density;
-        int paddingPixels = (int) ((paddingDips * (scale)) + .5);
-        mLogView.setPadding(paddingPixels, paddingPixels, paddingPixels, paddingPixels);
-        mLogView.setCompoundDrawablePadding(paddingPixels);
-
-        mLogView.setGravity(Gravity.BOTTOM);
-        mLogView.setTextAppearance(getActivity(), android.R.style.TextAppearance_Holo_Medium);
-
-        mScrollView.addView(mLogView);
-        return mScrollView;
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-                             Bundle savedInstanceState) {
-
-        View result = inflateViews();
-
-        mLogView.addTextChangedListener(new TextWatcher() {
-            @Override
-            public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
-
-            @Override
-            public void onTextChanged(CharSequence s, int start, int before, int count) {}
-
-            @Override
-            public void afterTextChanged(Editable s) {
-                mScrollView.fullScroll(ScrollView.FOCUS_DOWN);
-            }
-        });
-        return result;
-    }
-
-    public LogView getLogView() {
-        return mLogView;
-    }
-}
\ No newline at end of file
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogNode.java b/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogNode.java
deleted file mode 100644
index bc37cab..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogNode.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.example.android.common.logger;
-
-/**
- * Basic interface for a logging system that can output to one or more targets.
- * Note that in addition to classes that will output these logs in some format,
- * one can also implement this interface over a filter and insert that in the chain,
- * such that no targets further down see certain data, or see manipulated forms of the data.
- * You could, for instance, write a "ToHtmlLoggerNode" that just converted all the log data
- * it received to HTML and sent it along to the next node in the chain, without printing it
- * anywhere.
- */
-public interface LogNode {
-
-    /**
-     * Instructs first LogNode in the list to print the log data provided.
-     * @param priority Log level of the data being logged.  Verbose, Error, etc.
-     * @param tag Tag for for the log data.  Can be used to organize log statements.
-     * @param msg The actual message to be logged. The actual message to be logged.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    public void println(int priority, String tag, String msg, Throwable tr);
-
-}
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogView.java b/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogView.java
deleted file mode 100644
index c01542b..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogView.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.example.android.common.logger;
-
-import android.app.Activity;
-import android.content.Context;
-import android.util.*;
-import android.widget.TextView;
-
-/** Simple TextView which is used to output log data received through the LogNode interface.
-*/
-public class LogView extends TextView implements LogNode {
-
-    public LogView(Context context) {
-        super(context);
-    }
-
-    public LogView(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public LogView(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-    }
-
-    /**
-     * Formats the log data and prints it out to the LogView.
-     * @param priority Log level of the data being logged.  Verbose, Error, etc.
-     * @param tag Tag for for the log data.  Can be used to organize log statements.
-     * @param msg The actual message to be logged. The actual message to be logged.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    @Override
-    public void println(int priority, String tag, String msg, Throwable tr) {
-
-        
-        String priorityStr = null;
-
-        // For the purposes of this View, we want to print the priority as readable text.
-        switch(priority) {
-            case android.util.Log.VERBOSE:
-                priorityStr = "VERBOSE";
-                break;
-            case android.util.Log.DEBUG:
-                priorityStr = "DEBUG";
-                break;
-            case android.util.Log.INFO:
-                priorityStr = "INFO";
-                break;
-            case android.util.Log.WARN:
-                priorityStr = "WARN";
-                break;
-            case android.util.Log.ERROR:
-                priorityStr = "ERROR";
-                break;
-            case android.util.Log.ASSERT:
-                priorityStr = "ASSERT";
-                break;
-            default:
-                break;
-        }
-
-        // Handily, the Log class has a facility for converting a stack trace into a usable string.
-        String exceptionStr = null;
-        if (tr != null) {
-            exceptionStr = android.util.Log.getStackTraceString(tr);
-        }
-
-        // Take the priority, tag, message, and exception, and concatenate as necessary
-        // into one usable line of text.
-        final StringBuilder outputBuilder = new StringBuilder();
-
-        String delimiter = "\t";
-        appendIfNotNull(outputBuilder, priorityStr, delimiter);
-        appendIfNotNull(outputBuilder, tag, delimiter);
-        appendIfNotNull(outputBuilder, msg, delimiter);
-        appendIfNotNull(outputBuilder, exceptionStr, delimiter);
-
-        // In case this was originally called from an AsyncTask or some other off-UI thread,
-        // make sure the update occurs within the UI thread.
-        ((Activity) getContext()).runOnUiThread( (new Thread(new Runnable() {
-            @Override
-            public void run() {
-                // Display the text we just generated within the LogView.
-                appendToLog(outputBuilder.toString());
-            }
-        })));
-
-        if (mNext != null) {
-            mNext.println(priority, tag, msg, tr);
-        }
-    }
-
-    public LogNode getNext() {
-        return mNext;
-    }
-
-    public void setNext(LogNode node) {
-        mNext = node;
-    }
-
-    /** Takes a string and adds to it, with a separator, if the bit to be added isn't null. Since
-     * the logger takes so many arguments that might be null, this method helps cut out some of the
-     * agonizing tedium of writing the same 3 lines over and over.
-     * @param source StringBuilder containing the text to append to.
-     * @param addStr The String to append
-     * @param delimiter The String to separate the source and appended strings. A tab or comma,
-     *                  for instance.
-     * @return The fully concatenated String as a StringBuilder
-     */
-    private StringBuilder appendIfNotNull(StringBuilder source, String addStr, String delimiter) {
-        if (addStr != null) {
-            if (addStr.length() == 0) {
-                delimiter = "";
-            }
-
-            return source.append(addStr).append(delimiter);
-        }
-        return source;
-    }
-
-    // The next LogNode in the chain.
-    LogNode mNext;
-
-    /** Outputs the string as a new line of log data in the LogView. */
-    public void appendToLog(String s) {
-        append("\n" + s);
-    }
-
-
-}
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogWrapper.java b/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogWrapper.java
deleted file mode 100644
index 16a9e7b..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/LogWrapper.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.example.android.common.logger;
-
-import android.util.Log;
-
-/**
- * Helper class which wraps Android's native Log utility in the Logger interface.  This way
- * normal DDMS output can be one of the many targets receiving and outputting logs simultaneously.
- */
-public class LogWrapper implements LogNode {
-
-    // For piping:  The next node to receive Log data after this one has done its work.
-    private LogNode mNext;
-
-    /**
-     * Returns the next LogNode in the linked list.
-     */
-    public LogNode getNext() {
-        return mNext;
-    }
-
-    /**
-     * Sets the LogNode data will be sent to..
-     */
-    public void setNext(LogNode node) {
-        mNext = node;
-    }
-
-    /**
-     * Prints data out to the console using Android's native log mechanism.
-     * @param priority Log level of the data being logged.  Verbose, Error, etc.
-     * @param tag Tag for for the log data.  Can be used to organize log statements.
-     * @param msg The actual message to be logged. The actual message to be logged.
-     * @param tr If an exception was thrown, this can be sent along for the logging facilities
-     *           to extract and print useful information.
-     */
-    @Override
-    public void println(int priority, String tag, String msg, Throwable tr) {
-        // There actually are log methods that don't take a msg parameter.  For now,
-        // if that's the case, just convert null to the empty string and move on.
-        String useMsg = msg;
-        if (useMsg == null) {
-            useMsg = "";
-        }
-
-        // If an exeption was provided, convert that exception to a usable string and attach
-        // it to the end of the msg method.
-        if (tr != null) {
-            msg += "\n" + Log.getStackTraceString(tr);
-        }
-
-        // This is functionally identical to Log.x(tag, useMsg);
-        // For instance, if priority were Log.VERBOSE, this would be the same as Log.v(tag, useMsg)
-        Log.println(priority, tag, useMsg);
-
-        // If this isn't the last node in the chain, move things along.
-        if (mNext != null) {
-            mNext.println(priority, tag, msg, tr);
-        }
-    }
-}
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/MessageOnlyLogFilter.java b/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/MessageOnlyLogFilter.java
deleted file mode 100644
index 19967dc..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/java/com/example/android/common/logger/MessageOnlyLogFilter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.example.android.common.logger;
-
-/**
- * Simple {@link LogNode} filter, removes everything except the message.
- * Useful for situations like on-screen log output where you don't want a lot of metadata displayed,
- * just easy-to-read message updates as they're happening.
- */
-public class MessageOnlyLogFilter implements LogNode {
-
-    LogNode mNext;
-
-    /**
-     * Takes the "next" LogNode as a parameter, to simplify chaining.
-     *
-     * @param next The next LogNode in the pipeline.
-     */
-    public MessageOnlyLogFilter(LogNode next) {
-        mNext = next;
-    }
-
-    public MessageOnlyLogFilter() {
-    }
-
-    @Override
-    public void println(int priority, String tag, String msg, Throwable tr) {
-        if (mNext != null) {
-            getNext().println(Log.NONE, null, msg, null);
-        }
-    }
-
-    /**
-     * Returns the next LogNode in the chain.
-     */
-    public LogNode getNext() {
-        return mNext;
-    }
-
-    /**
-     * Sets the LogNode data will be sent to..
-     */
-    public void setNext(LogNode node) {
-        mNext = node;
-    }
-
-}
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/drawable-hdpi/tile.9.png b/prebuilts/gradle/ActiveNotification/Application/src/main/res/drawable-hdpi/tile.9.png
deleted file mode 100644
index 1358628..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/drawable-hdpi/tile.9.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/layout-w720dp/activity_main.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/layout-w720dp/activity_main.xml
deleted file mode 100755
index c9a52f6..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/layout-w720dp/activity_main.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-<LinearLayout
-      xmlns:android="http://schemas.android.com/apk/res/android"
-      android:orientation="horizontal"
-      android:layout_width="match_parent"
-      android:layout_height="match_parent"
-      android:id="@+id/sample_main_layout">
-
-    <LinearLayout
-          android:id="@+id/sample_output"
-          android:layout_width="0px"
-          android:layout_height="match_parent"
-          android:layout_weight="1"
-          android:orientation="vertical">
-
-        <FrameLayout
-              style="@style/Widget.SampleMessageTile"
-              android:layout_width="match_parent"
-              android:layout_height="wrap_content">
-
-            <TextView
-                  style="@style/Widget.SampleMessage"
-                  android:layout_width="match_parent"
-                  android:layout_height="wrap_content"
-                  android:paddingLeft="@dimen/margin_medium"
-                  android:paddingRight="@dimen/margin_medium"
-                  android:paddingTop="@dimen/margin_large"
-                  android:paddingBottom="@dimen/margin_large"
-                  android:text="@string/intro_message" />
-        </FrameLayout>
-
-        <View
-              android:layout_width="match_parent"
-              android:layout_height="1dp"
-              android:background="@android:color/darker_gray" />
-
-        <fragment
-              android:name="com.example.android.common.logger.LogFragment"
-              android:id="@+id/log_fragment"
-              android:layout_width="match_parent"
-              android:layout_height="0px"
-              android:layout_weight="1" />
-
-    </LinearLayout>
-
-    <View
-          android:layout_width="1dp"
-          android:layout_height="match_parent"
-          android:background="@android:color/darker_gray" />
-
-    <FrameLayout
-          android:id="@+id/sample_content_fragment"
-          android:layout_weight="2"
-          android:layout_width="0px"
-          android:layout_height="match_parent" />
-
-</LinearLayout>
-
-
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/layout/activity_main.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/layout/activity_main.xml
deleted file mode 100755
index 1ae4f98..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/layout/activity_main.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-<LinearLayout
-      xmlns:android="http://schemas.android.com/apk/res/android"
-      android:orientation="vertical"
-      android:layout_width="match_parent"
-      android:layout_height="match_parent"
-      android:id="@+id/sample_main_layout">
-
-    <ViewAnimator
-          android:id="@+id/sample_output"
-          android:layout_width="match_parent"
-          android:layout_height="0px"
-          android:layout_weight="1">
-
-        <ScrollView
-              style="@style/Widget.SampleMessageTile"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent">
-
-            <TextView
-                  style="@style/Widget.SampleMessage"
-                  android:layout_width="match_parent"
-                  android:layout_height="wrap_content"
-                  android:paddingLeft="@dimen/horizontal_page_margin"
-                  android:paddingRight="@dimen/horizontal_page_margin"
-                  android:paddingTop="@dimen/vertical_page_margin"
-                  android:paddingBottom="@dimen/vertical_page_margin"
-                  android:text="@string/intro_message" />
-        </ScrollView>
-
-        <fragment
-              android:name="com.example.android.common.logger.LogFragment"
-              android:id="@+id/log_fragment"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent" />
-
-    </ViewAnimator>
-
-    <View
-          android:layout_width="match_parent"
-          android:layout_height="1dp"
-          android:background="@android:color/darker_gray" />
-
-    <FrameLayout
-          android:id="@+id/sample_content_fragment"
-          android:layout_weight="2"
-          android:layout_width="match_parent"
-          android:layout_height="0px" />
-
-</LinearLayout>
-
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/layout/fragment_notification_builder.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/layout/fragment_notification_builder.xml
deleted file mode 100644
index 379cd5e..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/layout/fragment_notification_builder.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright 2015 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content">
-    <Button
-        android:id="@+id/add_notification"
-        android:text="@string/add_a_notification"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-    </LinearLayout>
-
-    <TextView
-        style="@android:style/TextAppearance.Material.Large"
-        android:id="@+id/number_of_notifications"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-</LinearLayout>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/menu/main.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/menu/main.xml
deleted file mode 100644
index b49c2c5..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/menu/main.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:id="@+id/menu_toggle_log"
-          android:showAsAction="always"
-          android:title="@string/sample_show_log" />
-</menu>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-hdpi/ic_launcher.png b/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index b176e69..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-hdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-hdpi/ic_notification.png b/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-hdpi/ic_notification.png
deleted file mode 100644
index efb231d..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-hdpi/ic_notification.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-mdpi/ic_launcher.png b/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index 205654f..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-mdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-mdpi/ic_notification.png b/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-mdpi/ic_notification.png
deleted file mode 100644
index b5f1bc9..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-mdpi/ic_notification.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xhdpi/ic_launcher.png b/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index 98262ee..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xhdpi/ic_notification.png b/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xhdpi/ic_notification.png
deleted file mode 100644
index 3361f2d..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xhdpi/ic_notification.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxhdpi/ic_launcher.png b/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 325875a..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxhdpi/ic_notification.png b/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxhdpi/ic_notification.png
deleted file mode 100644
index 7d1946a..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxhdpi/ic_notification.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index 254c775..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxxhdpi/ic_notification.png b/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxxhdpi/ic_notification.png
deleted file mode 100644
index 47b12c9..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/mipmap-xxxhdpi/ic_notification.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-sw600dp/template-dimens.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-sw600dp/template-dimens.xml
deleted file mode 100644
index 22074a2..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-sw600dp/template-dimens.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<resources>
-
-    <!-- Semantic definitions -->
-
-    <dimen name="horizontal_page_margin">@dimen/margin_huge</dimen>
-    <dimen name="vertical_page_margin">@dimen/margin_medium</dimen>
-
-</resources>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-sw600dp/template-styles.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-sw600dp/template-styles.xml
deleted file mode 100644
index 03d1974..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-sw600dp/template-styles.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<resources>
-
-    <style name="Widget.SampleMessage">
-        <item name="android:textAppearance">?android:textAppearanceLarge</item>
-        <item name="android:lineSpacingMultiplier">1.2</item>
-        <item name="android:shadowDy">-6.5</item>
-    </style>
-
-</resources>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v21/base-colors.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v21/base-colors.xml
deleted file mode 100644
index 8b6ec3f..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v21/base-colors.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2013 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
-
-
-</resources>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v21/base-template-styles.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v21/base-template-styles.xml
deleted file mode 100644
index c778e4f..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v21/base-template-styles.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2013 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
-
-    <!-- Activity themes -->
-    <style name="Theme.Base" parent="android:Theme.Material.Light">
-    </style>
-
-</resources>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/base-strings.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/base-strings.xml
deleted file mode 100644
index 5fc846c..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/base-strings.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2013 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
-    <string name="app_name">ActiveNotification</string>
-    <string name="intro_message">
-        <![CDATA[
-        
-            
-The NotificationManager can tell you how many notifications your application is currently showing.
-This sample demonstrates how to use this API that has been introduced with Android M.
-To get started, press the "add a notification" button.
-When a notification is being canceled, the count gets updated via a PendingIntent.
-            
-        
-        ]]>
-    </string>
-</resources>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/fragmentview_strings.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/fragmentview_strings.xml
deleted file mode 100755
index 7b9d9ec..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/fragmentview_strings.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<resources>
-    <string name="sample_show_log">Show Log</string>
-    <string name="sample_hide_log">Hide Log</string>
-</resources>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/strings.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/strings.xml
deleted file mode 100644
index 0f2977d..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2013 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<resources>
- <string name="add_a_notification">Add a notification</string>
- <string name="active_notifications">Active Notifications: %1$s</string>
- <string name="update_notification_count">Update count</string>
- <string name="sample_notification_content">This is a sample notification.</string>
-</resources>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/template-dimens.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/template-dimens.xml
deleted file mode 100644
index 39e710b..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/template-dimens.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<resources>
-
-    <!-- Define standard dimensions to comply with Holo-style grids and rhythm. -->
-
-    <dimen name="margin_tiny">4dp</dimen>
-    <dimen name="margin_small">8dp</dimen>
-    <dimen name="margin_medium">16dp</dimen>
-    <dimen name="margin_large">32dp</dimen>
-    <dimen name="margin_huge">64dp</dimen>
-
-    <!-- Semantic definitions -->
-
-    <dimen name="horizontal_page_margin">@dimen/margin_medium</dimen>
-    <dimen name="vertical_page_margin">@dimen/margin_medium</dimen>
-
-</resources>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/template-styles.xml b/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/template-styles.xml
deleted file mode 100644
index 6e7d593..0000000
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values/template-styles.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<resources>
-
-    <!-- Activity themes -->
-
-    <style name="Theme.Base" parent="android:Theme.Light" />
-
-    <style name="Theme.Sample" parent="Theme.Base" />
-
-    <style name="AppTheme" parent="Theme.Sample" />
-    <!-- Widget styling -->
-
-    <style name="Widget" />
-
-    <style name="Widget.SampleMessage">
-        <item name="android:textAppearance">?android:textAppearanceMedium</item>
-        <item name="android:lineSpacingMultiplier">1.1</item>
-    </style>
-
-    <style name="Widget.SampleMessageTile">
-        <item name="android:background">@drawable/tile</item>
-        <item name="android:shadowColor">#7F000000</item>
-        <item name="android:shadowDy">-3.5</item>
-        <item name="android:shadowRadius">2</item>
-    </style>
-
-</resources>
diff --git a/prebuilts/gradle/ActiveNotification/CONTRIBUTING.md b/prebuilts/gradle/ActiveNotification/CONTRIBUTING.md
deleted file mode 100644
index faa8b5c..0000000
--- a/prebuilts/gradle/ActiveNotification/CONTRIBUTING.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# How to become a contributor and submit your own code
-
-## Contributor License Agreements
-
-We'd love to accept your sample apps and patches! Before we can take them, we
-have to jump a couple of legal hurdles.
-
-Please fill out either the individual or corporate Contributor License Agreement (CLA).
-
-  * If you are an individual writing original source code and you're sure you
-    own the intellectual property, then you'll need to sign an [individual CLA]
-    (https://cla.developers.google.com).
-  * If you work for a company that wants to allow you to contribute your work,
-    then you'll need to sign a [corporate CLA]
-    (https://cla.developers.google.com).
-
-Follow either of the two links above to access the appropriate CLA and
-instructions for how to sign and return it. Once we receive it, we'll be able to
-accept your pull requests.
-
-## Contributing A Patch
-
-1. Submit an issue describing your proposed change to the repo in question.
-1. The repo owner will respond to your issue promptly.
-1. If your proposed change is accepted, and you haven't already done so, sign a
-   Contributor License Agreement (see details above).
-1. Fork the desired repo, develop and test your code changes.
-1. Ensure that your code adheres to the existing style in the sample to which
-   you are contributing. Refer to the
-   [Android Code Style Guide]
-   (https://source.android.com/source/code-style.html) for the
-   recommended coding standards for this organization.
-1. Ensure that your code has an appropriate set of unit tests which all pass.
-1. Submit a pull request.
-
diff --git a/prebuilts/gradle/ActiveNotification/LICENSE b/prebuilts/gradle/ActiveNotification/LICENSE
deleted file mode 100644
index 1af981f..0000000
--- a/prebuilts/gradle/ActiveNotification/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2014 The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/prebuilts/gradle/ActiveNotification/README.md b/prebuilts/gradle/ActiveNotification/README.md
deleted file mode 100644
index af886d3..0000000
--- a/prebuilts/gradle/ActiveNotification/README.md
+++ /dev/null
@@ -1,72 +0,0 @@
-
-Android ActiveNotification Sample
-===================================
-
-The NotificationManager can tell you how many notifications your application is
-            currently showing. This sample demonstrates how to use this API that has been
-            introduced with Android M.
-
-Introduction
-------------
-
-The [NotificationManager][1] has become more powerful.
-            Starting with Android M, you can query it for the active notifications that
-            your app sent using the [notify][2] methods.
-
-            This sample demonstrates simple use of this newly added functionality by
-            allowing a user to add notifications and then querying how many notifications
-            are currently being displayed via the [getActiveNotifications()][3] method.
-
-            [1]: https://developer.android.com/reference/android/app/NotificationManager.html
-            [2]: https://developer.android.com/reference/android/app/NotificationManager.html#notify(int, android.app.Notification)
-            [2]: https://developer.android.com/reference/android/app/NotificationManager.html#getActiveNotifications()
-
-Pre-requisites
---------------
-
-- Android SDK vandroid-MNC
-- Android Build Tools v22.0.1
-- Android Support Repository
-
-Screenshots
--------------
-
-<img src="screenshots/screenshot01.png" height="400" alt="Screenshot"/> <img src="screenshots/screenshot02.png" height="400" alt="Screenshot"/> <img src="screenshots/screenshot03.png" height="400" alt="Screenshot"/> 
-
-Getting Started
----------------
-
-This sample uses the Gradle build system. To build this project, use the
-"gradlew build" command or use "Import Project" in Android Studio.
-
-Support
--------
-
-- Google+ Community: https://plus.google.com/communities/105153134372062985968
-- Stack Overflow: http://stackoverflow.com/questions/tagged/android
-
-If you've found an error in this sample, please file an issue:
-https://github.com/googlesamples/android-ActiveNotification
-
-Patches are encouraged, and may be submitted by forking this project and
-submitting a pull request through GitHub. Please see CONTRIBUTING.md for more details.
-
-License
--------
-
-Copyright 2014 The Android Open Source Project, Inc.
-
-Licensed to the Apache Software Foundation (ASF) under one or more contributor
-license agreements.  See the NOTICE file distributed with this work for
-additional information regarding copyright ownership.  The ASF licenses this
-file to you under the Apache License, Version 2.0 (the "License"); you may not
-use this file except in compliance with the License.  You may obtain a copy of
-the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-License for the specific language governing permissions and limitations under
-the License.
diff --git a/prebuilts/gradle/ActiveNotification/build.gradle b/prebuilts/gradle/ActiveNotification/build.gradle
deleted file mode 100644
index 1dac6de..0000000
--- a/prebuilts/gradle/ActiveNotification/build.gradle
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/prebuilts/gradle/ActiveNotification/gradle/wrapper/gradle-wrapper.jar b/prebuilts/gradle/ActiveNotification/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 8c0fb64..0000000
--- a/prebuilts/gradle/ActiveNotification/gradle/wrapper/gradle-wrapper.jar
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/gradle/wrapper/gradle-wrapper.properties b/prebuilts/gradle/ActiveNotification/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index afb3296..0000000
--- a/prebuilts/gradle/ActiveNotification/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-2.2.1-bin.zip
diff --git a/prebuilts/gradle/ActiveNotification/gradlew b/prebuilts/gradle/ActiveNotification/gradlew
deleted file mode 100755
index 91a7e26..0000000
--- a/prebuilts/gradle/ActiveNotification/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/prebuilts/gradle/ActiveNotification/gradlew.bat b/prebuilts/gradle/ActiveNotification/gradlew.bat
deleted file mode 100644
index aec9973..0000000
--- a/prebuilts/gradle/ActiveNotification/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/prebuilts/gradle/ActiveNotification/screenshots/icon_web.png b/prebuilts/gradle/ActiveNotification/screenshots/icon_web.png
deleted file mode 100644
index 063813b..0000000
--- a/prebuilts/gradle/ActiveNotification/screenshots/icon_web.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/screenshots/screenshot01.png b/prebuilts/gradle/ActiveNotification/screenshots/screenshot01.png
deleted file mode 100644
index f37e97f..0000000
--- a/prebuilts/gradle/ActiveNotification/screenshots/screenshot01.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/screenshots/screenshot02.png b/prebuilts/gradle/ActiveNotification/screenshots/screenshot02.png
deleted file mode 100644
index 46c3408..0000000
--- a/prebuilts/gradle/ActiveNotification/screenshots/screenshot02.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/screenshots/screenshot03.png b/prebuilts/gradle/ActiveNotification/screenshots/screenshot03.png
deleted file mode 100644
index 702f299..0000000
--- a/prebuilts/gradle/ActiveNotification/screenshots/screenshot03.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ActiveNotification/settings.gradle b/prebuilts/gradle/ActiveNotification/settings.gradle
deleted file mode 100644
index 9464a35..0000000
--- a/prebuilts/gradle/ActiveNotification/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-include 'Application'
diff --git a/prebuilts/gradle/ActiveNotifications/Application/build.gradle b/prebuilts/gradle/ActiveNotifications/Application/build.gradle
index c467c43..f301d92 100644
--- a/prebuilts/gradle/ActiveNotifications/Application/build.gradle
+++ b/prebuilts/gradle/ActiveNotifications/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion "android-MNC"
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
-        minSdkVersion "MNC"
-        targetSdkVersion "MNC"
+        minSdkVersion 23
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/ActiveNotifications/README.md b/prebuilts/gradle/ActiveNotifications/README.md
index af886d3..592f8ce 100644
--- a/prebuilts/gradle/ActiveNotifications/README.md
+++ b/prebuilts/gradle/ActiveNotifications/README.md
@@ -24,7 +24,7 @@
 Pre-requisites
 --------------
 
-- Android SDK vandroid-MNC
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/ActivityInstrumentation/Application/build.gradle b/prebuilts/gradle/ActivityInstrumentation/Application/build.gradle
index 672e647..03141e9 100644
--- a/prebuilts/gradle/ActivityInstrumentation/Application/build.gradle
+++ b/prebuilts/gradle/ActivityInstrumentation/Application/build.gradle
@@ -28,12 +28,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 4
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/ActivityInstrumentation/README.md b/prebuilts/gradle/ActivityInstrumentation/README.md
index 3a6f93a..49496f7 100644
--- a/prebuilts/gradle/ActivityInstrumentation/README.md
+++ b/prebuilts/gradle/ActivityInstrumentation/README.md
@@ -8,7 +8,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/AdvancedImmersiveMode/Application/build.gradle b/prebuilts/gradle/AdvancedImmersiveMode/Application/build.gradle
index db9a58b..0fe145d 100644
--- a/prebuilts/gradle/AdvancedImmersiveMode/Application/build.gradle
+++ b/prebuilts/gradle/AdvancedImmersiveMode/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 19
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/AdvancedImmersiveMode/README.md b/prebuilts/gradle/AdvancedImmersiveMode/README.md
index 1f07373..a0b2fdd 100644
--- a/prebuilts/gradle/AdvancedImmersiveMode/README.md
+++ b/prebuilts/gradle/AdvancedImmersiveMode/README.md
@@ -26,7 +26,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/AgendaData/Application/build.gradle b/prebuilts/gradle/AgendaData/Application/build.gradle
index b51c137..9680f2b 100644
--- a/prebuilts/gradle/AgendaData/Application/build.gradle
+++ b/prebuilts/gradle/AgendaData/Application/build.gradle
@@ -33,12 +33,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/AgendaData/README.md b/prebuilts/gradle/AgendaData/README.md
index c4077a1..9f23122 100644
--- a/prebuilts/gradle/AgendaData/README.md
+++ b/prebuilts/gradle/AgendaData/README.md
@@ -22,7 +22,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/AgendaData/Wearable/build.gradle b/prebuilts/gradle/AgendaData/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/AgendaData/Wearable/build.gradle
+++ b/prebuilts/gradle/AgendaData/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/AlwaysOn/README.md b/prebuilts/gradle/AlwaysOn/README.md
index 1f7b6ef..1ba3a88 100644
--- a/prebuilts/gradle/AlwaysOn/README.md
+++ b/prebuilts/gradle/AlwaysOn/README.md
@@ -24,7 +24,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/AlwaysOn/Wearable/build.gradle b/prebuilts/gradle/AlwaysOn/Wearable/build.gradle
index 712537f..5f66030 100644
--- a/prebuilts/gradle/AlwaysOn/Wearable/build.gradle
+++ b/prebuilts/gradle/AlwaysOn/Wearable/build.gradle
@@ -33,7 +33,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -42,13 +42,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/AppRestrictions/Application/build.gradle b/prebuilts/gradle/AppRestrictions/Application/build.gradle
index 054db59..df32b0f 100644
--- a/prebuilts/gradle/AppRestrictions/Application/build.gradle
+++ b/prebuilts/gradle/AppRestrictions/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/AppRestrictions/README.md b/prebuilts/gradle/AppRestrictions/README.md
index b5af577..120299c 100644
--- a/prebuilts/gradle/AppRestrictions/README.md
+++ b/prebuilts/gradle/AppRestrictions/README.md
@@ -12,7 +12,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/AppUsageStatistics/Application/build.gradle b/prebuilts/gradle/AppUsageStatistics/Application/build.gradle
index 8c5491d..4027044 100644
--- a/prebuilts/gradle/AppUsageStatistics/Application/build.gradle
+++ b/prebuilts/gradle/AppUsageStatistics/Application/build.gradle
@@ -32,12 +32,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/AppUsageStatistics/README.md b/prebuilts/gradle/AppUsageStatistics/README.md
index f8c3519..f9aeaac 100644
--- a/prebuilts/gradle/AppUsageStatistics/README.md
+++ b/prebuilts/gradle/AppUsageStatistics/README.md
@@ -49,7 +49,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/AutoBackupForApps/Application/build.gradle b/prebuilts/gradle/AutoBackupForApps/Application/build.gradle
index 96fc041..f301d92 100644
--- a/prebuilts/gradle/AutoBackupForApps/Application/build.gradle
+++ b/prebuilts/gradle/AutoBackupForApps/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion "android-MNC"
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
-        minSdkVersion "MNC"
-        targetSdkVersion "android-MNC"
+        minSdkVersion 23
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/AutoBackupForApps/README.md b/prebuilts/gradle/AutoBackupForApps/README.md
index a3659ae..d3d98fb 100644
--- a/prebuilts/gradle/AutoBackupForApps/README.md
+++ b/prebuilts/gradle/AutoBackupForApps/README.md
@@ -26,7 +26,7 @@
 Pre-requisites
 --------------
 
-- Android SDK vandroid-MNC
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicAccessibility/Application/build.gradle b/prebuilts/gradle/BasicAccessibility/Application/build.gradle
index 36a255f..51afa0f 100644
--- a/prebuilts/gradle/BasicAccessibility/Application/build.gradle
+++ b/prebuilts/gradle/BasicAccessibility/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 11
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicAccessibility/README.md b/prebuilts/gradle/BasicAccessibility/README.md
index 57a66ae..3f47ba5 100644
--- a/prebuilts/gradle/BasicAccessibility/README.md
+++ b/prebuilts/gradle/BasicAccessibility/README.md
@@ -20,7 +20,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicAndroidKeyStore/Application/build.gradle b/prebuilts/gradle/BasicAndroidKeyStore/Application/build.gradle
index 054db59..df32b0f 100644
--- a/prebuilts/gradle/BasicAndroidKeyStore/Application/build.gradle
+++ b/prebuilts/gradle/BasicAndroidKeyStore/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicAndroidKeyStore/README.md b/prebuilts/gradle/BasicAndroidKeyStore/README.md
index c86cd8f..44514b7 100644
--- a/prebuilts/gradle/BasicAndroidKeyStore/README.md
+++ b/prebuilts/gradle/BasicAndroidKeyStore/README.md
@@ -23,7 +23,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicContactables/Application/build.gradle b/prebuilts/gradle/BasicContactables/Application/build.gradle
index 054db59..df32b0f 100644
--- a/prebuilts/gradle/BasicContactables/Application/build.gradle
+++ b/prebuilts/gradle/BasicContactables/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicContactables/README.md b/prebuilts/gradle/BasicContactables/README.md
index 4e2ccbd..8dfcf47 100644
--- a/prebuilts/gradle/BasicContactables/README.md
+++ b/prebuilts/gradle/BasicContactables/README.md
@@ -25,7 +25,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicGestureDetect/Application/build.gradle b/prebuilts/gradle/BasicGestureDetect/Application/build.gradle
index 054db59..df32b0f 100644
--- a/prebuilts/gradle/BasicGestureDetect/Application/build.gradle
+++ b/prebuilts/gradle/BasicGestureDetect/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicGestureDetect/README.md b/prebuilts/gradle/BasicGestureDetect/README.md
index 89d2d7b..10ed465 100644
--- a/prebuilts/gradle/BasicGestureDetect/README.md
+++ b/prebuilts/gradle/BasicGestureDetect/README.md
@@ -24,7 +24,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicImmersiveMode/Application/build.gradle b/prebuilts/gradle/BasicImmersiveMode/Application/build.gradle
index db9a58b..0fe145d 100644
--- a/prebuilts/gradle/BasicImmersiveMode/Application/build.gradle
+++ b/prebuilts/gradle/BasicImmersiveMode/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 19
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicImmersiveMode/README.md b/prebuilts/gradle/BasicImmersiveMode/README.md
index a4cc2f8..fbdba6a 100644
--- a/prebuilts/gradle/BasicImmersiveMode/README.md
+++ b/prebuilts/gradle/BasicImmersiveMode/README.md
@@ -19,7 +19,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicMediaDecoder/Application/build.gradle b/prebuilts/gradle/BasicMediaDecoder/Application/build.gradle
index 2ffcd57..f1a5d72 100644
--- a/prebuilts/gradle/BasicMediaDecoder/Application/build.gradle
+++ b/prebuilts/gradle/BasicMediaDecoder/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 17
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicMediaDecoder/README.md b/prebuilts/gradle/BasicMediaDecoder/README.md
index c97ba0d..d4cd1ab 100644
--- a/prebuilts/gradle/BasicMediaDecoder/README.md
+++ b/prebuilts/gradle/BasicMediaDecoder/README.md
@@ -54,7 +54,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicMediaRouter/Application/build.gradle b/prebuilts/gradle/BasicMediaRouter/Application/build.gradle
index 2ffcd57..f1a5d72 100644
--- a/prebuilts/gradle/BasicMediaRouter/Application/build.gradle
+++ b/prebuilts/gradle/BasicMediaRouter/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 17
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicMediaRouter/README.md b/prebuilts/gradle/BasicMediaRouter/README.md
index 6611b81..712d456 100644
--- a/prebuilts/gradle/BasicMediaRouter/README.md
+++ b/prebuilts/gradle/BasicMediaRouter/README.md
@@ -14,7 +14,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicMultitouch/Application/build.gradle b/prebuilts/gradle/BasicMultitouch/Application/build.gradle
index d7467d8..5eb1d01 100644
--- a/prebuilts/gradle/BasicMultitouch/Application/build.gradle
+++ b/prebuilts/gradle/BasicMultitouch/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 8
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicMultitouch/README.md b/prebuilts/gradle/BasicMultitouch/README.md
index b8b15c2..27889e9 100644
--- a/prebuilts/gradle/BasicMultitouch/README.md
+++ b/prebuilts/gradle/BasicMultitouch/README.md
@@ -29,7 +29,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicNetworking/Application/build.gradle b/prebuilts/gradle/BasicNetworking/Application/build.gradle
index 672e647..03141e9 100644
--- a/prebuilts/gradle/BasicNetworking/Application/build.gradle
+++ b/prebuilts/gradle/BasicNetworking/Application/build.gradle
@@ -28,12 +28,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 4
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicNetworking/README.md b/prebuilts/gradle/BasicNetworking/README.md
index a4a1808..d95f296 100644
--- a/prebuilts/gradle/BasicNetworking/README.md
+++ b/prebuilts/gradle/BasicNetworking/README.md
@@ -22,7 +22,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicNotifications/Application/build.gradle b/prebuilts/gradle/BasicNotifications/Application/build.gradle
index d7467d8..5eb1d01 100644
--- a/prebuilts/gradle/BasicNotifications/Application/build.gradle
+++ b/prebuilts/gradle/BasicNotifications/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 8
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicNotifications/README.md b/prebuilts/gradle/BasicNotifications/README.md
index e6f54f5..3794a4c 100644
--- a/prebuilts/gradle/BasicNotifications/README.md
+++ b/prebuilts/gradle/BasicNotifications/README.md
@@ -53,7 +53,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicRenderScript/Application/build.gradle b/prebuilts/gradle/BasicRenderScript/Application/build.gradle
index 88f626a..800d174 100644
--- a/prebuilts/gradle/BasicRenderScript/Application/build.gradle
+++ b/prebuilts/gradle/BasicRenderScript/Application/build.gradle
@@ -31,12 +31,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 16
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicRenderScript/README.md b/prebuilts/gradle/BasicRenderScript/README.md
index deb9cc2..d22df03 100644
--- a/prebuilts/gradle/BasicRenderScript/README.md
+++ b/prebuilts/gradle/BasicRenderScript/README.md
@@ -28,7 +28,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicSyncAdapter/Application/build.gradle b/prebuilts/gradle/BasicSyncAdapter/Application/build.gradle
index e42b20a..3ecaa88 100644
--- a/prebuilts/gradle/BasicSyncAdapter/Application/build.gradle
+++ b/prebuilts/gradle/BasicSyncAdapter/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 7
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicSyncAdapter/README.md b/prebuilts/gradle/BasicSyncAdapter/README.md
index e24996d..3f76a4d 100644
--- a/prebuilts/gradle/BasicSyncAdapter/README.md
+++ b/prebuilts/gradle/BasicSyncAdapter/README.md
@@ -28,7 +28,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BasicTransition/Application/build.gradle b/prebuilts/gradle/BasicTransition/Application/build.gradle
index db9a58b..0fe145d 100644
--- a/prebuilts/gradle/BasicTransition/Application/build.gradle
+++ b/prebuilts/gradle/BasicTransition/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 19
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BasicTransition/README.md b/prebuilts/gradle/BasicTransition/README.md
index ee07f88..e269d9c 100644
--- a/prebuilts/gradle/BasicTransition/README.md
+++ b/prebuilts/gradle/BasicTransition/README.md
@@ -33,7 +33,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BatchStepSensor/Application/build.gradle b/prebuilts/gradle/BatchStepSensor/Application/build.gradle
index db9a58b..0fe145d 100644
--- a/prebuilts/gradle/BatchStepSensor/Application/build.gradle
+++ b/prebuilts/gradle/BatchStepSensor/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 19
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BatchStepSensor/README.md b/prebuilts/gradle/BatchStepSensor/README.md
index 44e5982..577a0d3 100644
--- a/prebuilts/gradle/BatchStepSensor/README.md
+++ b/prebuilts/gradle/BatchStepSensor/README.md
@@ -31,7 +31,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BeamLargeFiles/Application/build.gradle b/prebuilts/gradle/BeamLargeFiles/Application/build.gradle
index c45e507..b926fea 100644
--- a/prebuilts/gradle/BeamLargeFiles/Application/build.gradle
+++ b/prebuilts/gradle/BeamLargeFiles/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 16
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BeamLargeFiles/README.md b/prebuilts/gradle/BeamLargeFiles/README.md
index 1ecbbbf..06b6d4e 100644
--- a/prebuilts/gradle/BeamLargeFiles/README.md
+++ b/prebuilts/gradle/BeamLargeFiles/README.md
@@ -15,7 +15,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BluetoothAdvertisements/Application/build.gradle b/prebuilts/gradle/BluetoothAdvertisements/Application/build.gradle
index d61ba60..dd9fedf 100644
--- a/prebuilts/gradle/BluetoothAdvertisements/Application/build.gradle
+++ b/prebuilts/gradle/BluetoothAdvertisements/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BluetoothAdvertisements/README.md b/prebuilts/gradle/BluetoothAdvertisements/README.md
index cc9e0f8..371bb43 100644
--- a/prebuilts/gradle/BluetoothAdvertisements/README.md
+++ b/prebuilts/gradle/BluetoothAdvertisements/README.md
@@ -29,7 +29,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BluetoothChat/Application/build.gradle b/prebuilts/gradle/BluetoothChat/Application/build.gradle
index 36a255f..51afa0f 100644
--- a/prebuilts/gradle/BluetoothChat/Application/build.gradle
+++ b/prebuilts/gradle/BluetoothChat/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 11
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BluetoothChat/README.md b/prebuilts/gradle/BluetoothChat/README.md
index 6222732..59379fb 100644
--- a/prebuilts/gradle/BluetoothChat/README.md
+++ b/prebuilts/gradle/BluetoothChat/README.md
@@ -32,7 +32,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BluetoothLeGatt/Application/build.gradle b/prebuilts/gradle/BluetoothLeGatt/Application/build.gradle
index 054db59..df32b0f 100644
--- a/prebuilts/gradle/BluetoothLeGatt/Application/build.gradle
+++ b/prebuilts/gradle/BluetoothLeGatt/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BluetoothLeGatt/README.md b/prebuilts/gradle/BluetoothLeGatt/README.md
index bd422b8..47a1702 100644
--- a/prebuilts/gradle/BluetoothLeGatt/README.md
+++ b/prebuilts/gradle/BluetoothLeGatt/README.md
@@ -23,7 +23,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/BorderlessButtons/Application/build.gradle b/prebuilts/gradle/BorderlessButtons/Application/build.gradle
index c9fe712..06f262f 100644
--- a/prebuilts/gradle/BorderlessButtons/Application/build.gradle
+++ b/prebuilts/gradle/BorderlessButtons/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 14
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/BorderlessButtons/README.md b/prebuilts/gradle/BorderlessButtons/README.md
index fe1a291..281ec87 100644
--- a/prebuilts/gradle/BorderlessButtons/README.md
+++ b/prebuilts/gradle/BorderlessButtons/README.md
@@ -24,7 +24,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/CardEmulation/Application/build.gradle b/prebuilts/gradle/CardEmulation/Application/build.gradle
index db9a58b..0fe145d 100644
--- a/prebuilts/gradle/CardEmulation/Application/build.gradle
+++ b/prebuilts/gradle/CardEmulation/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 19
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/CardEmulation/README.md b/prebuilts/gradle/CardEmulation/README.md
index 0a50534..415a526 100644
--- a/prebuilts/gradle/CardEmulation/README.md
+++ b/prebuilts/gradle/CardEmulation/README.md
@@ -12,7 +12,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/CardReader/Application/build.gradle b/prebuilts/gradle/CardReader/Application/build.gradle
index db9a58b..0fe145d 100644
--- a/prebuilts/gradle/CardReader/Application/build.gradle
+++ b/prebuilts/gradle/CardReader/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 19
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/CardReader/README.md b/prebuilts/gradle/CardReader/README.md
index 40dce91..4871bdf 100644
--- a/prebuilts/gradle/CardReader/README.md
+++ b/prebuilts/gradle/CardReader/README.md
@@ -13,7 +13,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/ConfirmCredential/Application/build.gradle b/prebuilts/gradle/ConfirmCredential/Application/build.gradle
index c467c43..f301d92 100644
--- a/prebuilts/gradle/ConfirmCredential/Application/build.gradle
+++ b/prebuilts/gradle/ConfirmCredential/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion "android-MNC"
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
-        minSdkVersion "MNC"
-        targetSdkVersion "MNC"
+        minSdkVersion 23
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/ConfirmCredential/Application/src/main/java/com/example/android/confirmcredential/MainActivity.java b/prebuilts/gradle/ConfirmCredential/Application/src/main/java/com/example/android/confirmcredential/MainActivity.java
index b8cf6e1..c19875a 100644
--- a/prebuilts/gradle/ConfirmCredential/Application/src/main/java/com/example/android/confirmcredential/MainActivity.java
+++ b/prebuilts/gradle/ConfirmCredential/Application/src/main/java/com/example/android/confirmcredential/MainActivity.java
@@ -95,7 +95,7 @@
      * Tries to encrypt some data with the generated key in {@link #createKey} which is
      * only works if the user has just authenticated via device credentials.
      */
-    private void tryEncrypt() {
+    private boolean tryEncrypt() {
         try {
             KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
             keyStore.load(null);
@@ -111,15 +111,18 @@
 
             // If the user has recently authenticated, you will reach here.
             showAlreadyAuthenticated();
+            return true;
         } catch (UserNotAuthenticatedException e) {
             // User is not authenticated, let's authenticate with device credentials.
             showAuthenticationScreen();
+            return false;
         } catch (KeyPermanentlyInvalidatedException e) {
             // This happens if the lock screen has been disabled or reset after the key was
             // generated after the key was generated.
             Toast.makeText(this, "Keys are invalidated after created. Retry the purchase\n"
                             + e.getMessage(),
                     Toast.LENGTH_LONG).show();
+            return false;
         } catch (BadPaddingException | IllegalBlockSizeException | KeyStoreException |
                 CertificateException | UnrecoverableKeyException | IOException
                 | NoSuchPaddingException | NoSuchAlgorithmException | InvalidKeyException e) {
@@ -172,7 +175,9 @@
         if (requestCode == REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS) {
             // Challenge completed, proceed with using cipher
             if (resultCode == RESULT_OK) {
-                showPurchaseConfirmation();
+                if (tryEncrypt()) {
+                    showPurchaseConfirmation();
+                }
             } else {
                 // The user canceled or didn’t complete the lock screen
                 // operation. Go to error/cancellation flow.
diff --git a/prebuilts/gradle/ConfirmCredential/README.md b/prebuilts/gradle/ConfirmCredential/README.md
index 155492c..8b65b11 100644
--- a/prebuilts/gradle/ConfirmCredential/README.md
+++ b/prebuilts/gradle/ConfirmCredential/README.md
@@ -30,7 +30,7 @@
 Pre-requisites
 --------------
 
-- Android SDK vandroid-MNC
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/.google/packaging.yaml b/prebuilts/gradle/ConfirmDeviceCredentials/.google/packaging.yaml
deleted file mode 100644
index 94af7d0..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/.google/packaging.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-# GOOGLE SAMPLE PACKAGING DATA
-#
-# This file is used by Google as part of our samples packaging process.
-# End users may safely ignore this file. It has no relevance to other systems.
----
-status:       DRAFT
-technologies: [Android]
-categories:   [Security]
-languages:    [Java]
-solutions:    [Mobile]
-github:       android-Confirm Device Credentials
-level:        INTERMEDIATE
-icon:         screenshots/big-icon.png
-apiRefs:
-    - android:android.app.KeyguardManager.createConfirmDeviceCredentialIntent
-    - android:android.security.KeyGenParameterSpec
-    - android:java.security.KeyStore
-    - android:javax.crypto.Cipher
-    - android:javax.crypto.KeyGenerator
-license: apache2
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/AndroidManifest.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/AndroidManifest.xml
deleted file mode 100644
index 75b68c1..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/AndroidManifest.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2015 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License
-  -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="com.example.android.confirmdevicecredentials" >
-
-    <uses-permission android:name="android.permission.VIBRATE" />
-
-    <application
-            android:allowBackup="true"
-            android:icon="@mipmap/ic_launcher"
-            android:label="@string/app_name"
-            android:theme="@style/AppTheme" >
-        <activity
-                android:name=".MainActivity"
-                android:label="@string/app_name" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-    </application>
-
-</manifest>
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/build.gradle b/prebuilts/gradle/ConfirmDeviceCredentials/Application/build.gradle
deleted file mode 100644
index cdec381..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/build.gradle
+++ /dev/null
@@ -1,73 +0,0 @@
-
-buildscript {
-    repositories {
-        jcenter()
-    }
-
-    dependencies {
-        classpath 'com.android.tools.build:gradle:1.1.0'
-    }
-}
-
-apply plugin: 'com.android.application'
-
-repositories {
-    jcenter()
-}
-
-dependencies {
-    compile "com.android.support:support-v4:21.0.2"
-    compile "com.android.support:support-v13:21.0.2"
-    compile "com.android.support:cardview-v7:21.0.2"
-}
-
-// The sample build uses multiple directories to
-// keep boilerplate and common code separate from
-// the main sample code.
-List<String> dirs = [
-    'main',     // main sample code; look here for the interesting stuff.
-    'common',   // components that are reused by multiple samples
-    'template'] // boilerplate code that is generated by the sample template process
-
-android {
-    compileSdkVersion "android-MNC"
-    buildToolsVersion "22.0.1"
-
-    defaultConfig {
-        minSdkVersion "android-MNC"
-        targetSdkVersion "android-MNC"
-    }
-
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_1_7
-        targetCompatibility JavaVersion.VERSION_1_7
-    }
-
-    sourceSets {
-        main {
-            dirs.each { dir ->
-                java.srcDirs "src/${dir}/java"
-                res.srcDirs "src/${dir}/res"
-            }
-        }
-        androidTest.setRoot('tests')
-        androidTest.java.srcDirs = ['tests/src']
-
-    }
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/AndroidManifest.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/AndroidManifest.xml
deleted file mode 100644
index 6762571..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2015 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License
-  -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="com.example.android.confirmdevicecredentials" >
-
-    <application
-            android:allowBackup="true"
-            android:icon="@mipmap/ic_launcher"
-            android:label="@string/app_name"
-            android:theme="@style/AppTheme" >
-        <activity
-                android:name=".MainActivity"
-                android:label="@string/app_name" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-    </application>
-
-</manifest>
\ No newline at end of file
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/java/com/example/android/confirmdevicecredentials/MainActivity.java b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/java/com/example/android/confirmdevicecredentials/MainActivity.java
deleted file mode 100644
index bce9aae..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/java/com/example/android/confirmdevicecredentials/MainActivity.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.example.android.confirmdevicecredentials;
-
-import android.app.Activity;
-import android.app.KeyguardManager;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.security.keystore.KeyGenParameterSpec;
-import android.security.keystore.KeyProperties;
-import android.security.keystore.UserNotAuthenticatedException;
-import android.view.View;
-import android.widget.Button;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import java.io.IOException;
-import java.security.InvalidAlgorithmParameterException;
-import java.security.InvalidKeyException;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
-import java.security.UnrecoverableKeyException;
-import java.security.cert.CertificateException;
-
-import javax.crypto.BadPaddingException;
-import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.KeyGenerator;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.SecretKey;
-
-/**
- * Main entry point for the sample, showing a backpack and "Purchase" button.
- */
-public class MainActivity extends Activity {
-
-    /** Alias for our key in the Android Key Store. */
-    private static final String KEY_NAME = "my_key";
-    private static final byte[] SECRET_BYTE_ARRAY = new byte[] {1, 2, 3, 4, 5, 6};
-
-    private static final int REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS = 1;
-
-    /**
-     * If the user has unlocked the device Within the last this number of seconds,
-     * it can be considered as an authenticator.
-     */
-    private static final int AUTHENTICATION_DURATION_SECONDS = 30;
-
-    private KeyguardManager mKeyguardManager;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_main);
-        Button purchaseButton = (Button) findViewById(R.id.purchase_button);
-        if (!createKey()) {
-            // Failed to create a key due to probably the user hasn't set up a lock screen yet.
-            purchaseButton.setEnabled(false);
-            return;
-        }
-        findViewById(R.id.purchase_button).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                // Test to encrypt something. It might fail if the timeout expired (30s).
-                tryEncrypt();
-            }
-        });
-        mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
-    }
-
-    /**
-     * Tries to encrypt some data with the generated key in {@link #createKey} which is
-     * only works if the user has just authenticated via device credentials.
-     */
-    private void tryEncrypt() {
-        try {
-            KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
-            keyStore.load(null);
-            SecretKey secretKey = (SecretKey) keyStore.getKey(KEY_NAME, null);
-            Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
-
-            // Try encrypting something, it will only work if the user authenticated within
-            // the last AUTHENTICATION_DURATION_SECONDS seconds.
-            cipher.init(Cipher.ENCRYPT_MODE, secretKey);
-            cipher.doFinal(SECRET_BYTE_ARRAY);
-
-            // If the user has recently authenticated, you will reach here.
-            showAlreadyAuthenticated();
-        } catch (UserNotAuthenticatedException e) {
-            // User is not authenticated, let's authenticate with device credentials.
-            showAuthenticationScreen();
-        } catch (BadPaddingException | IllegalBlockSizeException | KeyStoreException |
-                CertificateException | UnrecoverableKeyException | IOException
-                | NoSuchPaddingException | NoSuchAlgorithmException | InvalidKeyException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Creates a symmetric key in the Android Key Store which can only be used after the user has
-     * authenticated with device credentials within the last X seconds.
-     *
-     * @return {@code true} when a key is created successfully, {@code false} otherwise.
-     */
-    private boolean createKey() {
-        // Generate a key to decrypt payment credentials, tokens, etc.
-        // This will most likely be a registration step for the user when they are setting up your app.
-        try {
-            KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
-            keyStore.load(null);
-            KeyGenerator keyGenerator = KeyGenerator.getInstance("AES", "AndroidKeyStore");
-
-            // Set the alias of the entry in Android KeyStore where the key will appear
-            // and the constrains (purposes) in the constructor of the Builder
-            keyGenerator.init(new KeyGenParameterSpec.Builder(KEY_NAME,
-                            KeyProperties.PURPOSE_ENCRYPT |
-                            KeyProperties.PURPOSE_DECRYPT)
-                    .setBlockModes("CBC")
-                    .setUserAuthenticationRequired(true)
-                            // Require that the user has unlocked in the last 30 seconds
-                    .setUserAuthenticationValidityDurationSeconds(AUTHENTICATION_DURATION_SECONDS)
-                    .setEncryptionPaddings("PKCS7Padding")
-                    .build());
-            keyGenerator.generateKey();
-            return true;
-        } catch (IllegalStateException e) {
-            // Show a message that the user hasn't set up a lock screen.
-            Toast.makeText(this,
-                    "Go to 'Settings -> Security -> Screenlock' to set up device screenlock\n" +
-                            e.getMessage(), Toast.LENGTH_LONG).show();
-            return false;
-        } catch (NoSuchAlgorithmException | NoSuchProviderException
-                | InvalidAlgorithmParameterException | KeyStoreException
-                | CertificateException | IOException e) {
-            throw new RuntimeException("Failed to create a symmetric key", e);
-        }
-    }
-
-    private void showAuthenticationScreen() {
-        // Create the Confirm Credentials screen. You can customize the title and description. Or
-        // we will provide a generic one for you if you leave it null
-        Intent intent = mKeyguardManager.createConfirmDeviceCredentialIntent(null, null);
-        if (intent != null) {
-            startActivityForResult(intent, REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS);
-        }
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode == REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS) {
-            // Challenge completed, proceed with using cipher
-            if (resultCode == RESULT_OK) {
-                showPurchaseConfirmation();
-            } else {
-                // The user canceled or didn’t complete the lock screen
-                // operation. Go to error/cancellation flow.
-            }
-        }
-    }
-
-    private void showPurchaseConfirmation() {
-        findViewById(R.id.confirmation_message).setVisibility(View.VISIBLE);
-        findViewById(R.id.purchase_button).setEnabled(false);
-    }
-
-    private void showAlreadyAuthenticated() {
-        TextView textView = (TextView) findViewById(
-                R.id.already_has_valid_device_credential_message);
-        textView.setVisibility(View.VISIBLE);
-        textView.setText(getString(
-                R.string.already_confirmed_device_credentials_within_last_x_seconds,
-                AUTHENTICATION_DURATION_SECONDS));
-        findViewById(R.id.purchase_button).setEnabled(false);
-    }
-
-}
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/drawable-hdpi/tile.9.png b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/drawable-hdpi/tile.9.png
deleted file mode 100644
index 1358628..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/drawable-hdpi/tile.9.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/drawable-nodpi/android_robot.png b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/drawable-nodpi/android_robot.png
deleted file mode 100644
index 40bf934..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/drawable-nodpi/android_robot.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/drawable/card.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/drawable/card.xml
deleted file mode 100644
index 691a4c5..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/drawable/card.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2015 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License
-  -->
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <solid
-        android:color="#fefefe"/>
-
-    <corners
-        android:radius="2dp" />
-</shape>
\ No newline at end of file
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/layout/activity_main.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/layout/activity_main.xml
deleted file mode 100644
index da65a00..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/layout/activity_main.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2015 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License
-  -->
-<ScrollView
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-                  android:layout_width="match_parent"
-                  android:layout_height="wrap_content"
-                  android:orientation="vertical">
-
-        <ImageView
-                android:layout_width="150dp"
-                android:layout_height="150dp"
-                android:layout_marginTop="32dp"
-                android:layout_marginBottom="32dp"
-                android:layout_gravity="center_horizontal"
-                android:scaleType="fitCenter"
-                android:src="@drawable/android_robot"/>
-
-        <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="8dp"
-                android:layout_marginStart="8dp"
-                android:layout_marginEnd="8dp"
-                android:orientation="vertical"
-                android:background="@drawable/card"
-                android:elevation="4dp"
-                android:paddingTop="16dp"
-                android:paddingBottom="16dp"
-                android:paddingStart="16dp"
-                android:paddingEnd="16dp">
-
-            <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:textAppearance="@android:style/TextAppearance.Material.Headline"
-                    android:text="@string/item_title"/>
-
-            <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:textAppearance="@android:style/TextAppearance.Material.Body2"
-                    android:textColor="?android:attr/colorAccent"
-                    android:text="@string/item_price"/>
-
-            <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="16dp"
-                    android:textAppearance="@android:style/TextAppearance.Material.Body1"
-                    android:textColor="?android:attr/textColorSecondary"
-                    android:text="@string/item_description"/>
-
-        </LinearLayout>
-        <Button style="@android:style/Widget.Material.Button.Colored"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="8dp"
-                android:layout_marginEnd="4dp"
-                android:layout_gravity="end"
-                android:textColor="?android:attr/textColorPrimaryInverse"
-                android:text="@string/purchase"
-                android:id="@+id/purchase_button"
-                android:layout_alignParentEnd="true"/>
-
-        <TextView
-                android:id="@+id/confirmation_message"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="16dp"
-                android:paddingStart="16dp"
-                android:paddingEnd="16dp"
-                android:textAppearance="@android:style/TextAppearance.Material.Body2"
-                android:textColor="?android:attr/colorAccent"
-                android:text="@string/purchase_done"
-                android:visibility="gone"/>
-
-        <TextView
-                android:id="@+id/already_has_valid_device_credential_message"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="16dp"
-                android:paddingStart="16dp"
-                android:paddingEnd="16dp"
-                android:textAppearance="@android:style/TextAppearance.Material.Body2"
-                android:textColor="?android:attr/colorAccent"
-                android:text="@string/already_confirmed_device_credentials_within_last_x_seconds"
-                android:visibility="gone"/>
-    </LinearLayout>
-</ScrollView>
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-hdpi/ic_launcher.png b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index e9cd9e3..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-hdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-mdpi/ic_launcher.png b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index b6c3e31..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-mdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-xhdpi/ic_launcher.png b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index 85a14a0..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-xhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-xxhdpi/ic_launcher.png b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index d9d35b0..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-xxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index a764233..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/mipmap-xxxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-sw600dp/template-dimens.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-sw600dp/template-dimens.xml
deleted file mode 100644
index 22074a2..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-sw600dp/template-dimens.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<resources>
-
-    <!-- Semantic definitions -->
-
-    <dimen name="horizontal_page_margin">@dimen/margin_huge</dimen>
-    <dimen name="vertical_page_margin">@dimen/margin_medium</dimen>
-
-</resources>
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-sw600dp/template-styles.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-sw600dp/template-styles.xml
deleted file mode 100644
index 03d1974..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-sw600dp/template-styles.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<resources>
-
-    <style name="Widget.SampleMessage">
-        <item name="android:textAppearance">?android:textAppearanceLarge</item>
-        <item name="android:lineSpacingMultiplier">1.2</item>
-        <item name="android:shadowDy">-6.5</item>
-    </style>
-
-</resources>
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-v11/template-styles.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-v11/template-styles.xml
deleted file mode 100644
index 8c1ea66..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-v11/template-styles.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<resources>
-
-    <!-- Activity themes -->
-    <style name="Theme.Base" parent="android:Theme.Holo.Light" />
-
-</resources>
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-v21/base-colors.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-v21/base-colors.xml
deleted file mode 100644
index 8b6ec3f..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-v21/base-colors.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2013 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
-
-
-</resources>
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-v21/base-template-styles.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-v21/base-template-styles.xml
deleted file mode 100644
index c778e4f..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values-v21/base-template-styles.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2013 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
-
-    <!-- Activity themes -->
-    <style name="Theme.Base" parent="android:Theme.Material.Light">
-    </style>
-
-</resources>
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/base-strings.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/base-strings.xml
deleted file mode 100644
index 6a29a87..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/base-strings.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright 2013 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
-    <string name="app_name">Confirm Device Credentials</string>
-    <string name="intro_message">
-        <![CDATA[
-        
-            
-This sample demonstrates how you can use device credentials (PIN, Pattern, Password) in your app
-to authenticate the user before they are trying to complete some actions.
-            
-        
-        ]]>
-    </string>
-</resources>
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/strings.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/strings.xml
deleted file mode 100644
index b6ff9d3..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2015 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License
-  -->
-<resources>
-    <string name="purchase">Purchase</string>
-    <string name="item_title">White Mesh Pluto Backpack</string>
-    <string name="item_price">$62.68</string>
-    <string name="item_description">Mesh backpack in white. Black textile trim throughout.</string>
-    <string name="purchase_done">Device credential confirmed.</string>
-    <string name="already_confirmed_device_credentials_within_last_x_seconds">
-        The device credential has been already confirmed within the last %1$s seconds.</string>
-</resources>
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/template-dimens.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/template-dimens.xml
deleted file mode 100644
index 39e710b..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/template-dimens.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<resources>
-
-    <!-- Define standard dimensions to comply with Holo-style grids and rhythm. -->
-
-    <dimen name="margin_tiny">4dp</dimen>
-    <dimen name="margin_small">8dp</dimen>
-    <dimen name="margin_medium">16dp</dimen>
-    <dimen name="margin_large">32dp</dimen>
-    <dimen name="margin_huge">64dp</dimen>
-
-    <!-- Semantic definitions -->
-
-    <dimen name="horizontal_page_margin">@dimen/margin_medium</dimen>
-    <dimen name="vertical_page_margin">@dimen/margin_medium</dimen>
-
-</resources>
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/template-styles.xml b/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/template-styles.xml
deleted file mode 100644
index 6e7d593..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/Application/src/main/res/values/template-styles.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<resources>
-
-    <!-- Activity themes -->
-
-    <style name="Theme.Base" parent="android:Theme.Light" />
-
-    <style name="Theme.Sample" parent="Theme.Base" />
-
-    <style name="AppTheme" parent="Theme.Sample" />
-    <!-- Widget styling -->
-
-    <style name="Widget" />
-
-    <style name="Widget.SampleMessage">
-        <item name="android:textAppearance">?android:textAppearanceMedium</item>
-        <item name="android:lineSpacingMultiplier">1.1</item>
-    </style>
-
-    <style name="Widget.SampleMessageTile">
-        <item name="android:background">@drawable/tile</item>
-        <item name="android:shadowColor">#7F000000</item>
-        <item name="android:shadowDy">-3.5</item>
-        <item name="android:shadowRadius">2</item>
-    </style>
-
-</resources>
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/CONTRIBUTING.md b/prebuilts/gradle/ConfirmDeviceCredentials/CONTRIBUTING.md
deleted file mode 100644
index faa8b5c..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/CONTRIBUTING.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# How to become a contributor and submit your own code
-
-## Contributor License Agreements
-
-We'd love to accept your sample apps and patches! Before we can take them, we
-have to jump a couple of legal hurdles.
-
-Please fill out either the individual or corporate Contributor License Agreement (CLA).
-
-  * If you are an individual writing original source code and you're sure you
-    own the intellectual property, then you'll need to sign an [individual CLA]
-    (https://cla.developers.google.com).
-  * If you work for a company that wants to allow you to contribute your work,
-    then you'll need to sign a [corporate CLA]
-    (https://cla.developers.google.com).
-
-Follow either of the two links above to access the appropriate CLA and
-instructions for how to sign and return it. Once we receive it, we'll be able to
-accept your pull requests.
-
-## Contributing A Patch
-
-1. Submit an issue describing your proposed change to the repo in question.
-1. The repo owner will respond to your issue promptly.
-1. If your proposed change is accepted, and you haven't already done so, sign a
-   Contributor License Agreement (see details above).
-1. Fork the desired repo, develop and test your code changes.
-1. Ensure that your code adheres to the existing style in the sample to which
-   you are contributing. Refer to the
-   [Android Code Style Guide]
-   (https://source.android.com/source/code-style.html) for the
-   recommended coding standards for this organization.
-1. Ensure that your code has an appropriate set of unit tests which all pass.
-1. Submit a pull request.
-
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/LICENSE b/prebuilts/gradle/ConfirmDeviceCredentials/LICENSE
deleted file mode 100644
index 1af981f..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2014 The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/README.md b/prebuilts/gradle/ConfirmDeviceCredentials/README.md
deleted file mode 100644
index 347ee6d..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/README.md
+++ /dev/null
@@ -1,78 +0,0 @@
-
-Android Confirm Device Credentials Sample
-===================================
-
-A sample that demonstrates how to use device credentials (PIN, Pattern, Password) in your app
-
-Introduction
-------------
-
-This sample demonstrates how you can use device credentials (PIN, Pattern, Password) in your app
-to authenticate the user before they are trying to complete some actions.
-
-First you need to create a symmetric key in the Android Key Store using [KeyGenerator][1]
-which can be only be used after the user has authenticated after the user is authenticated
-with their device credentials and pass [KeyGenParameterSpec][2].
-
-By setting an integer value to the
-[KeyGeneratorSpec.Builder.setUserAuthenticationValidityDurationSeconds][3], you can consider the
-user as authenticated if the user has been authenticated with the device credentials
-within the last x seconds.
-
-Then by calling [KeyguardManager.createConfirmDeviceCredentialIntent][4], you can show a screen
-to confirm device credentials to the user.
-
-[1]: https://developer.android.com/reference/javax/crypto/KeyGenerator.html
-[2]: https://developer.android.com/reference/android/security/KeyGenParameterSpec.html
-[3]: https://developer.android.com/reference/android/security/KeyGenParameterSpec.Builder#setUserAuthenticationValidityDurationSeconds().html
-[4]: https://developer.android.com/reference/android/app/KeyguardManager.createConfirmDeviceCredentialIntent().html
-
-Pre-requisites
---------------
-
-- Android SDK vandroid-MNC
-- Android Build Tools v22.0.1
-- Android Support Repository
-
-Screenshots
--------------
-
-<img src="screenshots/1-purchase.png" height="400" alt="Screenshot"/> <img src="screenshots/2-show-confirm-device-credential.png" height="400" alt="Screenshot"/> <img src="screenshots/3-already-authenticated.png" height="400" alt="Screenshot"/> 
-
-Getting Started
----------------
-
-This sample uses the Gradle build system. To build this project, use the
-"gradlew build" command or use "Import Project" in Android Studio.
-
-Support
--------
-
-- Google+ Community: https://plus.google.com/communities/105153134372062985968
-- Stack Overflow: http://stackoverflow.com/questions/tagged/android
-
-If you've found an error in this sample, please file an issue:
-https://github.com/googlesamples/android-Confirm Device Credentials
-
-Patches are encouraged, and may be submitted by forking this project and
-submitting a pull request through GitHub. Please see CONTRIBUTING.md for more details.
-
-License
--------
-
-Copyright 2014 The Android Open Source Project, Inc.
-
-Licensed to the Apache Software Foundation (ASF) under one or more contributor
-license agreements.  See the NOTICE file distributed with this work for
-additional information regarding copyright ownership.  The ASF licenses this
-file to you under the Apache License, Version 2.0 (the "License"); you may not
-use this file except in compliance with the License.  You may obtain a copy of
-the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-License for the specific language governing permissions and limitations under
-the License.
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/build.gradle b/prebuilts/gradle/ConfirmDeviceCredentials/build.gradle
deleted file mode 100644
index 1dac6de..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/build.gradle
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/gradle/wrapper/gradle-wrapper.jar b/prebuilts/gradle/ConfirmDeviceCredentials/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 8c0fb64..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/gradle/wrapper/gradle-wrapper.jar
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/gradle/wrapper/gradle-wrapper.properties b/prebuilts/gradle/ConfirmDeviceCredentials/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index afb3296..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/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-2.2.1-bin.zip
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/gradlew b/prebuilts/gradle/ConfirmDeviceCredentials/gradlew
deleted file mode 100755
index 91a7e26..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/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/prebuilts/gradle/ConfirmDeviceCredentials/gradlew.bat b/prebuilts/gradle/ConfirmDeviceCredentials/gradlew.bat
deleted file mode 100644
index aec9973..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/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/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/1-purchase.png b/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/1-purchase.png
deleted file mode 100644
index 82a616d..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/1-purchase.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/2-show-confirm-device-credential.png b/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/2-show-confirm-device-credential.png
deleted file mode 100644
index 869fcae..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/2-show-confirm-device-credential.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/3-already-authenticated.png b/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/3-already-authenticated.png
deleted file mode 100644
index bd55084..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/3-already-authenticated.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/big-icon.png b/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/big-icon.png
deleted file mode 100644
index 7449b96..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/screenshots/big-icon.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/ConfirmDeviceCredentials/settings.gradle b/prebuilts/gradle/ConfirmDeviceCredentials/settings.gradle
deleted file mode 100644
index 9464a35..0000000
--- a/prebuilts/gradle/ConfirmDeviceCredentials/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-include 'Application'
diff --git a/prebuilts/gradle/CustomChoiceList/Application/build.gradle b/prebuilts/gradle/CustomChoiceList/Application/build.gradle
index 672e647..03141e9 100644
--- a/prebuilts/gradle/CustomChoiceList/Application/build.gradle
+++ b/prebuilts/gradle/CustomChoiceList/Application/build.gradle
@@ -28,12 +28,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 4
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/CustomChoiceList/README.md b/prebuilts/gradle/CustomChoiceList/README.md
index f968390..59b7a58 100644
--- a/prebuilts/gradle/CustomChoiceList/README.md
+++ b/prebuilts/gradle/CustomChoiceList/README.md
@@ -41,7 +41,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/CustomNotifications/Application/build.gradle b/prebuilts/gradle/CustomNotifications/Application/build.gradle
index c45e507..b926fea 100644
--- a/prebuilts/gradle/CustomNotifications/Application/build.gradle
+++ b/prebuilts/gradle/CustomNotifications/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 16
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/CustomNotifications/README.md b/prebuilts/gradle/CustomNotifications/README.md
index c136e47..b747252 100644
--- a/prebuilts/gradle/CustomNotifications/README.md
+++ b/prebuilts/gradle/CustomNotifications/README.md
@@ -25,7 +25,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/CustomTransition/Application/build.gradle b/prebuilts/gradle/CustomTransition/Application/build.gradle
index db9a58b..0fe145d 100644
--- a/prebuilts/gradle/CustomTransition/Application/build.gradle
+++ b/prebuilts/gradle/CustomTransition/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 19
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/CustomTransition/README.md b/prebuilts/gradle/CustomTransition/README.md
index d41118d..591d900 100644
--- a/prebuilts/gradle/CustomTransition/README.md
+++ b/prebuilts/gradle/CustomTransition/README.md
@@ -32,7 +32,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/DataLayer/Application/build.gradle b/prebuilts/gradle/DataLayer/Application/build.gradle
index b51c137..9680f2b 100644
--- a/prebuilts/gradle/DataLayer/Application/build.gradle
+++ b/prebuilts/gradle/DataLayer/Application/build.gradle
@@ -33,12 +33,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/DataLayer/README.md b/prebuilts/gradle/DataLayer/README.md
index 6270fdf..6ebd4f8 100644
--- a/prebuilts/gradle/DataLayer/README.md
+++ b/prebuilts/gradle/DataLayer/README.md
@@ -27,7 +27,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/DataLayer/Wearable/build.gradle b/prebuilts/gradle/DataLayer/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/DataLayer/Wearable/build.gradle
+++ b/prebuilts/gradle/DataLayer/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/DelayedConfirmation/Application/build.gradle b/prebuilts/gradle/DelayedConfirmation/Application/build.gradle
index b51c137..9680f2b 100644
--- a/prebuilts/gradle/DelayedConfirmation/Application/build.gradle
+++ b/prebuilts/gradle/DelayedConfirmation/Application/build.gradle
@@ -33,12 +33,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/DelayedConfirmation/README.md b/prebuilts/gradle/DelayedConfirmation/README.md
index 224190d..dbdb3d1 100644
--- a/prebuilts/gradle/DelayedConfirmation/README.md
+++ b/prebuilts/gradle/DelayedConfirmation/README.md
@@ -12,7 +12,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/DelayedConfirmation/Wearable/build.gradle b/prebuilts/gradle/DelayedConfirmation/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/DelayedConfirmation/Wearable/build.gradle
+++ b/prebuilts/gradle/DelayedConfirmation/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/DeviceOwner/Application/build.gradle b/prebuilts/gradle/DeviceOwner/Application/build.gradle
index d61ba60..dd9fedf 100644
--- a/prebuilts/gradle/DeviceOwner/Application/build.gradle
+++ b/prebuilts/gradle/DeviceOwner/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/DeviceOwner/README.md b/prebuilts/gradle/DeviceOwner/README.md
index a416abc..9c0a68b 100644
--- a/prebuilts/gradle/DeviceOwner/README.md
+++ b/prebuilts/gradle/DeviceOwner/README.md
@@ -30,7 +30,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/DirectorySelection/Application/build.gradle b/prebuilts/gradle/DirectorySelection/Application/build.gradle
index d980ed3..89356a9 100644
--- a/prebuilts/gradle/DirectorySelection/Application/build.gradle
+++ b/prebuilts/gradle/DirectorySelection/Application/build.gradle
@@ -31,12 +31,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/DirectorySelection/README.md b/prebuilts/gradle/DirectorySelection/README.md
index 455687f..51faf1e 100644
--- a/prebuilts/gradle/DirectorySelection/README.md
+++ b/prebuilts/gradle/DirectorySelection/README.md
@@ -107,7 +107,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/DisplayingBitmaps/Application/build.gradle b/prebuilts/gradle/DisplayingBitmaps/Application/build.gradle
index 4a47647..ab91e47 100644
--- a/prebuilts/gradle/DisplayingBitmaps/Application/build.gradle
+++ b/prebuilts/gradle/DisplayingBitmaps/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 9
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/DisplayingBitmaps/README.md b/prebuilts/gradle/DisplayingBitmaps/README.md
index e932fd7..8402f44 100644
--- a/prebuilts/gradle/DisplayingBitmaps/README.md
+++ b/prebuilts/gradle/DisplayingBitmaps/README.md
@@ -20,7 +20,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/DocumentCentricApps/Application/build.gradle b/prebuilts/gradle/DocumentCentricApps/Application/build.gradle
index d61ba60..dd9fedf 100644
--- a/prebuilts/gradle/DocumentCentricApps/Application/build.gradle
+++ b/prebuilts/gradle/DocumentCentricApps/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/DocumentCentricApps/README.md b/prebuilts/gradle/DocumentCentricApps/README.md
index c3095fd..21a6b42 100644
--- a/prebuilts/gradle/DocumentCentricApps/README.md
+++ b/prebuilts/gradle/DocumentCentricApps/README.md
@@ -25,7 +25,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/DocumentCentricRelinquishIdentity/Application/build.gradle b/prebuilts/gradle/DocumentCentricRelinquishIdentity/Application/build.gradle
index d61ba60..dd9fedf 100644
--- a/prebuilts/gradle/DocumentCentricRelinquishIdentity/Application/build.gradle
+++ b/prebuilts/gradle/DocumentCentricRelinquishIdentity/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/DocumentCentricRelinquishIdentity/README.md b/prebuilts/gradle/DocumentCentricRelinquishIdentity/README.md
index 57a2a0e..7c8d0b0 100644
--- a/prebuilts/gradle/DocumentCentricRelinquishIdentity/README.md
+++ b/prebuilts/gradle/DocumentCentricRelinquishIdentity/README.md
@@ -7,7 +7,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/DoneBar/Application/build.gradle b/prebuilts/gradle/DoneBar/Application/build.gradle
index c9fe712..06f262f 100644
--- a/prebuilts/gradle/DoneBar/Application/build.gradle
+++ b/prebuilts/gradle/DoneBar/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 14
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/DoneBar/README.md b/prebuilts/gradle/DoneBar/README.md
index 8c1fbde..ad5c734 100644
--- a/prebuilts/gradle/DoneBar/README.md
+++ b/prebuilts/gradle/DoneBar/README.md
@@ -31,7 +31,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/DrawableTinting/Application/build.gradle b/prebuilts/gradle/DrawableTinting/Application/build.gradle
index d61ba60..dd9fedf 100644
--- a/prebuilts/gradle/DrawableTinting/Application/build.gradle
+++ b/prebuilts/gradle/DrawableTinting/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/DrawableTinting/README.md b/prebuilts/gradle/DrawableTinting/README.md
index ea6d507..d51a5cc 100644
--- a/prebuilts/gradle/DrawableTinting/README.md
+++ b/prebuilts/gradle/DrawableTinting/README.md
@@ -16,7 +16,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/ElizaChat/Application/build.gradle b/prebuilts/gradle/ElizaChat/Application/build.gradle
index 054db59..df32b0f 100644
--- a/prebuilts/gradle/ElizaChat/Application/build.gradle
+++ b/prebuilts/gradle/ElizaChat/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/ElizaChat/README.md b/prebuilts/gradle/ElizaChat/README.md
index 7416df5..40b90a2 100644
--- a/prebuilts/gradle/ElizaChat/README.md
+++ b/prebuilts/gradle/ElizaChat/README.md
@@ -67,7 +67,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/FindMyPhone/Application/build.gradle b/prebuilts/gradle/FindMyPhone/Application/build.gradle
index b51c137..9680f2b 100644
--- a/prebuilts/gradle/FindMyPhone/Application/build.gradle
+++ b/prebuilts/gradle/FindMyPhone/Application/build.gradle
@@ -33,12 +33,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/FindMyPhone/README.md b/prebuilts/gradle/FindMyPhone/README.md
index 7d7162a..fb30a55 100644
--- a/prebuilts/gradle/FindMyPhone/README.md
+++ b/prebuilts/gradle/FindMyPhone/README.md
@@ -10,7 +10,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/FindMyPhone/Wearable/build.gradle b/prebuilts/gradle/FindMyPhone/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/FindMyPhone/Wearable/build.gradle
+++ b/prebuilts/gradle/FindMyPhone/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/FingerprintDialog/Application/build.gradle b/prebuilts/gradle/FingerprintDialog/Application/build.gradle
index 3ee9e57..80e2f4e 100644
--- a/prebuilts/gradle/FingerprintDialog/Application/build.gradle
+++ b/prebuilts/gradle/FingerprintDialog/Application/build.gradle
@@ -34,12 +34,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion "android-MNC"
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
-        minSdkVersion "MNC"
-        targetSdkVersion "MNC"
+        minSdkVersion 23
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/FingerprintDialog/Application/src/main/java/com/example/android/fingerprintdialog/MainActivity.java b/prebuilts/gradle/FingerprintDialog/Application/src/main/java/com/example/android/fingerprintdialog/MainActivity.java
index d6892eb..c954bfa 100644
--- a/prebuilts/gradle/FingerprintDialog/Application/src/main/java/com/example/android/fingerprintdialog/MainActivity.java
+++ b/prebuilts/gradle/FingerprintDialog/Application/src/main/java/com/example/android/fingerprintdialog/MainActivity.java
@@ -67,6 +67,7 @@
     private static final int FINGERPRINT_PERMISSION_REQUEST_CODE = 0;
 
     @Inject KeyguardManager mKeyguardManager;
+    @Inject FingerprintManager mFingerprintManager;
     @Inject FingerprintAuthenticationDialogFragment mFragment;
     @Inject KeyStore mKeyStore;
     @Inject KeyGenerator mKeyGenerator;
@@ -95,11 +96,17 @@
                                 + "Go to 'Settings -> Security -> Fingerprint' to set up a fingerprint",
                         Toast.LENGTH_LONG).show();
                 purchaseButton.setEnabled(false);
-            }
-            if (!createKey()) {
-                purchaseButton.setEnabled(false);
                 return;
             }
+            if (!mFingerprintManager.hasEnrolledFingerprints()) {
+                purchaseButton.setEnabled(false);
+                // This happens when no fingerprints are registered.
+                Toast.makeText(this,
+                        "Go to 'Settings -> Security -> Fingerprint' and register at least one fingerprint",
+                        Toast.LENGTH_LONG).show();
+                return;
+            }
+            createKey();
             purchaseButton.setEnabled(true);
             purchaseButton.setOnClickListener(new View.OnClickListener() {
                 @Override
@@ -201,11 +208,8 @@
     /**
      * Creates a symmetric key in the Android Key Store which can only be used after the user has
      * authenticated with fingerprint.
-     *
-     * @return {@code true} if key is created successful, {@code false} otherwise such as when no
-     * fingerprints are registered.
      */
-    public boolean createKey() {
+    public void createKey() {
         // The enrolling flow for fingerprint. This is where you ask the user to set up fingerprint
         // for your flow. Use of keys is necessary if you need to know if the set of
         // enrolled fingerprints has changed.
@@ -223,13 +227,6 @@
                     .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
                     .build());
             mKeyGenerator.generateKey();
-            return true;
-        } catch (IllegalStateException e) {
-            // This happens when no fingerprints are registered.
-            Toast.makeText(this,
-                    "Go to 'Settings -> Security -> Fingerprint' and register at least one fingerprint",
-                    Toast.LENGTH_LONG).show();
-            return false;
         } catch (NoSuchAlgorithmException | InvalidAlgorithmParameterException
                 | CertificateException | IOException e) {
             throw new RuntimeException(e);
diff --git a/prebuilts/gradle/FingerprintDialog/README.md b/prebuilts/gradle/FingerprintDialog/README.md
index d2f2300..0b32032 100644
--- a/prebuilts/gradle/FingerprintDialog/README.md
+++ b/prebuilts/gradle/FingerprintDialog/README.md
@@ -35,7 +35,7 @@
 Pre-requisites
 --------------
 
-- Android SDK vandroid-MNC
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/Flashlight/README.md b/prebuilts/gradle/Flashlight/README.md
index 99b6a2d..e829f27 100644
--- a/prebuilts/gradle/Flashlight/README.md
+++ b/prebuilts/gradle/Flashlight/README.md
@@ -18,7 +18,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/Flashlight/Wearable/build.gradle b/prebuilts/gradle/Flashlight/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/Flashlight/Wearable/build.gradle
+++ b/prebuilts/gradle/Flashlight/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/Geofencing/Application/build.gradle b/prebuilts/gradle/Geofencing/Application/build.gradle
index 5899f63..859aabb 100644
--- a/prebuilts/gradle/Geofencing/Application/build.gradle
+++ b/prebuilts/gradle/Geofencing/Application/build.gradle
@@ -34,12 +34,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/Geofencing/README.md b/prebuilts/gradle/Geofencing/README.md
index 788b974..c57314d 100644
--- a/prebuilts/gradle/Geofencing/README.md
+++ b/prebuilts/gradle/Geofencing/README.md
@@ -36,7 +36,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/Geofencing/Wearable/build.gradle b/prebuilts/gradle/Geofencing/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/Geofencing/Wearable/build.gradle
+++ b/prebuilts/gradle/Geofencing/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/GridViewPager/README.md b/prebuilts/gradle/GridViewPager/README.md
index 8f708f2..f1e7568 100644
--- a/prebuilts/gradle/GridViewPager/README.md
+++ b/prebuilts/gradle/GridViewPager/README.md
@@ -7,7 +7,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/GridViewPager/Wearable/build.gradle b/prebuilts/gradle/GridViewPager/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/GridViewPager/Wearable/build.gradle
+++ b/prebuilts/gradle/GridViewPager/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/HdrViewfinder/Application/build.gradle b/prebuilts/gradle/HdrViewfinder/Application/build.gradle
index d61ba60..dd9fedf 100644
--- a/prebuilts/gradle/HdrViewfinder/Application/build.gradle
+++ b/prebuilts/gradle/HdrViewfinder/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/HdrViewfinder/Application/src/main/AndroidManifest.xml b/prebuilts/gradle/HdrViewfinder/Application/src/main/AndroidManifest.xml
index 772b7df..63066f6 100644
--- a/prebuilts/gradle/HdrViewfinder/Application/src/main/AndroidManifest.xml
+++ b/prebuilts/gradle/HdrViewfinder/Application/src/main/AndroidManifest.xml
@@ -20,10 +20,6 @@
     android:versionCode="1"
     android:versionName="1.0">
 
-    <uses-sdk
-        android:minSdkVersion="21"
-        android:targetSdkVersion="21"/>
-
     <uses-feature android:name="android.hardware.camera"/>
     <uses-feature
         android:name="android.hardware.camera.front"
@@ -31,8 +27,6 @@
 
     <uses-permission android:name="android.permission.CAMERA"/>
     <uses-permission android:name="android.permission.RECORD_AUDIO"/>
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
 
     <application
         android:allowBackup="true"
@@ -43,7 +37,8 @@
         <activity
             android:name=".HdrViewfinderActivity"
             android:label="@string/app_name"
-            android:screenOrientation="landscape">
+            android:screenOrientation="landscape"
+                android:theme="@style/Theme.AppCompat.Light">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.LAUNCHER"/>
diff --git a/prebuilts/gradle/HdrViewfinder/Application/src/main/java/com/example/android/hdrviewfinder/CameraOps.java b/prebuilts/gradle/HdrViewfinder/Application/src/main/java/com/example/android/hdrviewfinder/CameraOps.java
index 5769760..173ef08 100644
--- a/prebuilts/gradle/HdrViewfinder/Application/src/main/java/com/example/android/hdrviewfinder/CameraOps.java
+++ b/prebuilts/gradle/HdrViewfinder/Application/src/main/java/com/example/android/hdrviewfinder/CameraOps.java
@@ -78,7 +78,7 @@
     }
 
     /**
-     * Open the first backfacing camera listed by the camera manager.
+     * Open the first back-facing camera listed by the camera manager.
      * Displays a dialog if it cannot open a camera.
      */
     public void openCamera(final String cameraId) {
diff --git a/prebuilts/gradle/HdrViewfinder/Application/src/main/java/com/example/android/hdrviewfinder/HdrViewfinderActivity.java b/prebuilts/gradle/HdrViewfinder/Application/src/main/java/com/example/android/hdrviewfinder/HdrViewfinderActivity.java
index 79f1bb6..ca49ea0 100644
--- a/prebuilts/gradle/HdrViewfinder/Application/src/main/java/com/example/android/hdrviewfinder/HdrViewfinderActivity.java
+++ b/prebuilts/gradle/HdrViewfinder/Application/src/main/java/com/example/android/hdrviewfinder/HdrViewfinderActivity.java
@@ -16,7 +16,9 @@
 
 package com.example.android.hdrviewfinder;
 
-import android.app.Activity;
+import android.Manifest;
+import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.hardware.camera2.CameraAccessException;
 import android.hardware.camera2.CameraCaptureSession;
 import android.hardware.camera2.CameraCharacteristics;
@@ -26,10 +28,16 @@
 import android.hardware.camera2.CaptureResult;
 import android.hardware.camera2.TotalCaptureResult;
 import android.hardware.camera2.params.StreamConfigurationMap;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
+import android.provider.Settings;
 import android.renderscript.RenderScript;
+import android.support.annotation.NonNull;
+import android.support.design.widget.Snackbar;
+import android.support.v4.app.ActivityCompat;
+import android.support.v7.app.AppCompatActivity;
 import android.util.Log;
 import android.util.Size;
 import android.view.GestureDetector;
@@ -76,19 +84,26 @@
  * Android {@link android.view.Surface} class, which allows for zero-copy transport of large
  * buffers between processes and subsystems.</p>
  */
-public class HdrViewfinderActivity extends Activity implements
+public class HdrViewfinderActivity extends AppCompatActivity implements
         SurfaceHolder.Callback, CameraOps.ErrorDisplayer, CameraOps.CameraReadyListener {
 
     private static final String TAG = "HdrViewfinderDemo";
 
     private static final String FRAGMENT_DIALOG = "dialog";
 
+    private static final int REQUEST_PERMISSIONS_REQUEST_CODE = 34;
+
     /**
      * View for the camera preview.
      */
     private FixedAspectSurfaceView mPreviewView;
 
     /**
+     * Root view of this activity.
+     */
+    private View rootView;
+
+    /**
      * This shows the current mode of the app.
      */
     private TextView mModeText;
@@ -132,6 +147,8 @@
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
 
+        rootView = findViewById(R.id.panels);
+
         mPreviewView = (FixedAspectSurfaceView) findViewById(R.id.preview);
         mPreviewView.getHolder().addCallback(this);
         mPreviewView.setGestureListener(this, mViewListener);
@@ -146,23 +163,20 @@
 
         mUiHandler = new Handler(Looper.getMainLooper());
 
-        mCameraManager = (CameraManager) getSystemService(CAMERA_SERVICE);
-        mCameraOps = new CameraOps(mCameraManager,
-                /*errorDisplayer*/ this,
-                /*readyListener*/ this,
-                /*readyHandler*/ mUiHandler);
-
-        mHdrRequests.add(null);
-        mHdrRequests.add(null);
-
         mRS = RenderScript.create(this);
+
+        // When permissions are revoked the app is restarted so onCreate is sufficient to check for
+        // permissions core to the Activity's functionality.
+        if (!checkCameraPermissions()) {
+            requestCameraPermissions();
+        } else {
+            findAndOpenCamera();
+        }
     }
 
     @Override
     protected void onResume() {
         super.onResume();
-
-        findAndOpenCamera();
     }
 
     @Override
@@ -170,7 +184,10 @@
         super.onPause();
 
         // Wait until camera is closed to ensure the next application can open it
-        mCameraOps.closeCameraAndWait();
+        if (mCameraOps != null) {
+            mCameraOps.closeCameraAndWait();
+            mCameraOps = null;
+        }
     }
 
     @Override
@@ -232,7 +249,9 @@
         }
     };
 
-    // Show help dialog
+    /**
+     * Show help dialogs.
+     */
     private View.OnClickListener mHelpButtonListener = new View.OnClickListener() {
         public void onClick(View v) {
             MessageDialogFragment.newInstance(R.string.help_text)
@@ -240,54 +259,176 @@
         }
     };
 
+    /**
+     * Return the current state of the camera permissions.
+     */
+    private boolean checkCameraPermissions() {
+        int permissionState = ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA);
+
+        // Check if the Camera permission is already available.
+        if (permissionState != PackageManager.PERMISSION_GRANTED) {
+            // Camera permission has not been granted.
+            Log.i(TAG, "CAMERA permission has NOT been granted.");
+            return false;
+        } else {
+            // Camera permissions are available.
+            Log.i(TAG, "CAMERA permission has already been granted.");
+            return true;
+        }
+    }
+
+    /**
+     * Attempt to initialize the camera.
+     */
+    private void initializeCamera() {
+        mCameraManager = (CameraManager) getSystemService(CAMERA_SERVICE);
+        if (mCameraManager != null) {
+            mCameraOps = new CameraOps(mCameraManager,
+                /*errorDisplayer*/ this,
+                /*readyListener*/ this,
+                /*readyHandler*/ mUiHandler);
+
+            mHdrRequests.add(null);
+            mHdrRequests.add(null);
+        } else {
+            Log.e(TAG, "Couldn't initialize the camera");
+        }
+    }
+
+    private void requestCameraPermissions() {
+        boolean shouldProvideRationale =
+            ActivityCompat.shouldShowRequestPermissionRationale(this,
+                    Manifest.permission.CAMERA);
+
+        // Provide an additional rationale to the user. This would happen if the user denied the
+        // request previously, but didn't check the "Don't ask again" checkbox.
+        if (shouldProvideRationale) {
+            Log.i(TAG, "Displaying camera permission rationale to provide additional context.");
+            Snackbar.make(rootView, R.string.camera_permission_rationale, Snackbar
+                    .LENGTH_INDEFINITE)
+                    .setAction(R.string.ok, new View.OnClickListener() {
+                        @Override
+                        public void onClick(View view) {
+                            // Request Camera permission
+                            ActivityCompat.requestPermissions(HdrViewfinderActivity.this,
+                                    new String[]{Manifest.permission.CAMERA},
+                                    REQUEST_PERMISSIONS_REQUEST_CODE);
+                        }
+                    })
+                    .show();
+        } else {
+            Log.i(TAG, "Requesting camera permission");
+            // Request Camera permission. It's possible this can be auto answered if device policy
+            // sets the permission in a given state or the user denied the permission
+            // previously and checked "Never ask again".
+            ActivityCompat.requestPermissions(HdrViewfinderActivity.this,
+                    new String[]{Manifest.permission.CAMERA},
+                    REQUEST_PERMISSIONS_REQUEST_CODE);
+        }
+    }
+
+    /**
+     * Callback received when a permissions request has been completed.
+     */
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
+            @NonNull int[] grantResults) {
+        Log.i(TAG, "onRequestPermissionResult");
+        if (requestCode == REQUEST_PERMISSIONS_REQUEST_CODE) {
+            if (grantResults.length <= 0) {
+                // If user interaction was interrupted, the permission request is cancelled and you
+                // receive empty arrays.
+                Log.i(TAG, "User interaction was cancelled.");
+            } else if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
+                // Permission was granted.
+                findAndOpenCamera();
+            } else {
+                // Permission denied.
+
+                // In this Activity we've chosen to notify the user that they
+                // have rejected a core permission for the app since it makes the Activity useless.
+                // We're communicating this message in a Snackbar since this is a sample app, but
+                // core permissions would typically be best requested during a welcome-screen flow.
+
+                // Additionally, it is important to remember that a permission might have been
+                // rejected without asking the user for permission (device policy or "Never ask
+                // again" prompts). Therefore, a user interface affordance is typically implemented
+                // when permissions are denied. Otherwise, your app could appear unresponsive to
+                // touches or interactions which have required permissions.
+                Snackbar.make(rootView, R.string.camera_permission_denied_explanation, Snackbar
+                        .LENGTH_INDEFINITE)
+                        .setAction(R.string.settings, new View.OnClickListener() {
+                            @Override
+                            public void onClick(View view) {
+                                // Build intent that displays the App settings screen.
+                                Intent intent = new Intent();
+                                intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+                                Uri uri = Uri.fromParts("package", BuildConfig.APPLICATION_ID, null);
+                                intent.setData(uri);
+                                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                                startActivity(intent);
+                            }
+                        })
+                        .show();
+            }
+        }
+    }
+
     private void findAndOpenCamera() {
+        boolean cameraPermissions = checkCameraPermissions();
+        if (cameraPermissions) {
+            String errorMessage = "Unknown error";
+            boolean foundCamera = false;
+            initializeCamera();
+            if (cameraPermissions && mCameraOps != null) {
+                try {
+                    // Find first back-facing camera that has necessary capability.
+                    String[] cameraIds = mCameraManager.getCameraIdList();
+                    for (String id : cameraIds) {
+                        CameraCharacteristics info = mCameraManager.getCameraCharacteristics(id);
+                        int facing = info.get(CameraCharacteristics.LENS_FACING);
 
-        String errorMessage = "Unknown error";
-        boolean foundCamera = false;
-        try {
-            // Find first back-facing camera that has necessary capability
-            String[] cameraIds = mCameraManager.getCameraIdList();
-            for (String id : cameraIds) {
-                CameraCharacteristics info = mCameraManager.getCameraCharacteristics(id);
-                int facing = info.get(CameraCharacteristics.LENS_FACING);
+                        int level = info.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
+                        boolean hasFullLevel
+                                = (level
+                                == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL);
 
-                int level = info.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
-                boolean hasFullLevel
-                        = (level == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL);
+                        int[] capabilities = info
+                                .get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES);
+                        int syncLatency = info.get(CameraCharacteristics.SYNC_MAX_LATENCY);
+                        boolean hasManualControl = hasCapability(capabilities,
+                                CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR);
+                        boolean hasEnoughCapability = hasManualControl &&
+                                syncLatency
+                                        == CameraCharacteristics.SYNC_MAX_LATENCY_PER_FRAME_CONTROL;
 
-                int[] capabilities = info.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES);
-                int syncLatency = info.get(CameraCharacteristics.SYNC_MAX_LATENCY);
-                boolean hasManualControl = hasCapability(capabilities,
-                        CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR);
-                boolean hasEnoughCapability = hasManualControl &&
-                        syncLatency == CameraCharacteristics.SYNC_MAX_LATENCY_PER_FRAME_CONTROL;
-
-                // All these are guaranteed by
-                // CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL, but checking for only
-                // the things we care about expands range of devices we can run on
-                // We want:
-                //  - Back-facing camera
-                //  - Manual sensor control
-                //  - Per-frame synchronization (so that exposure can be changed every frame)
-                if (facing == CameraCharacteristics.LENS_FACING_BACK &&
-                        (hasFullLevel || hasEnoughCapability)) {
-                    // Found suitable camera - get info, open, and set up outputs
-                    mCameraInfo = info;
-                    mCameraOps.openCamera(id);
-                    configureSurfaces();
-                    foundCamera = true;
-                    break;
+                        // All these are guaranteed by
+                        // CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL, but checking
+                        // for only the things we care about expands range of devices we can run on.
+                        // We want:
+                        //  - Back-facing camera
+                        //  - Manual sensor control
+                        //  - Per-frame synchronization (so that exposure can be changed every frame)
+                        if (facing == CameraCharacteristics.LENS_FACING_BACK &&
+                                (hasFullLevel || hasEnoughCapability)) {
+                            // Found suitable camera - get info, open, and set up outputs
+                            mCameraInfo = info;
+                            mCameraOps.openCamera(id);
+                            configureSurfaces();
+                            foundCamera = true;
+                            break;
+                        }
+                    }
+                    if (!foundCamera) {
+                        errorMessage = getString(R.string.camera_no_good);
+                    }
+                } catch (CameraAccessException e) {
+                    errorMessage = getErrorString(e);
+                }
+                if (!foundCamera) {
+                    showErrorDialog(errorMessage);
                 }
             }
-            if (!foundCamera) {
-                errorMessage = getString(R.string.camera_no_good);
-            }
-        } catch (CameraAccessException e) {
-            errorMessage = getErrorString(e);
-        }
-
-        if (!foundCamera) {
-            showErrorDialog(errorMessage);
         }
     }
 
@@ -299,23 +440,25 @@
     }
 
     private void switchRenderMode(int direction) {
-        mRenderMode = (mRenderMode + direction) % 3;
+        if (mCameraOps != null) {
+            mRenderMode = (mRenderMode + direction) % 3;
 
-        mModeText.setText(getResources().getStringArray(R.array.mode_label_array)[mRenderMode]);
+            mModeText.setText(getResources().getStringArray(R.array.mode_label_array)[mRenderMode]);
 
-        if (mProcessor != null) {
-            mProcessor.setRenderMode(mRenderMode);
-        }
-        if (mRenderMode == ViewfinderProcessor.MODE_NORMAL) {
-            mCameraOps.setRepeatingRequest(mPreviewRequest,
-                    mCaptureCallback, mUiHandler);
-        } else {
-            setHdrBurst();
+            if (mProcessor != null) {
+                mProcessor.setRenderMode(mRenderMode);
+            }
+            if (mRenderMode == ViewfinderProcessor.MODE_NORMAL) {
+                mCameraOps.setRepeatingRequest(mPreviewRequest,
+                        mCaptureCallback, mUiHandler);
+            } else {
+                setHdrBurst();
+            }
         }
     }
 
     /**
-     * Configure the surfaceview and RS processing
+     * Configure the surfaceview and RS processing.
      */
     private void configureSurfaces() {
         // Find a good size for output - largest 16:9 aspect ratio that's less than 720p
diff --git a/prebuilts/gradle/HdrViewfinder/Application/src/main/res/layout/main.xml b/prebuilts/gradle/HdrViewfinder/Application/src/main/res/layout/main.xml
index 7507709..6fe56ef 100644
--- a/prebuilts/gradle/HdrViewfinder/Application/src/main/res/layout/main.xml
+++ b/prebuilts/gradle/HdrViewfinder/Application/src/main/res/layout/main.xml
@@ -15,13 +15,14 @@
      limitations under the License.
 -->
 <LinearLayout
-    android:id="@+id/panels"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:custom="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/panels"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="horizontal">
+    android:orientation="horizontal"
+    tools:context="com.example.android.hdrviewfinder.HdrViewfinderActivity">
 
     <com.example.android.hdrviewfinder.FixedAspectSurfaceView
         android:id="@+id/preview"
@@ -36,7 +37,8 @@
         android:layout_width="0px"
         android:layout_height="match_parent"
         android:layout_weight="1"
-        android:orientation="vertical">
+        android:orientation="vertical"
+        android:layout_margin="5dp">
 
         <Button
             android:id="@+id/help_button"
diff --git a/prebuilts/gradle/HdrViewfinder/Application/src/main/res/values/strings.xml b/prebuilts/gradle/HdrViewfinder/Application/src/main/res/values/strings.xml
index 21838d5..d910ab1 100644
--- a/prebuilts/gradle/HdrViewfinder/Application/src/main/res/values/strings.xml
+++ b/prebuilts/gradle/HdrViewfinder/Application/src/main/res/values/strings.xml
@@ -50,10 +50,18 @@
 
     <string name="info">Info</string>
 
+    <string name="camera_permission_rationale">This sample app requires camera access in order to
+        demo the API.</string>
     <string name="camera_no_good">No back-facing sufficiently capable camera available!</string>
     <string name="camera_disabled">Camera is disabled by device policy</string>
     <string name="camera_disconnected">Camera was disconnected before it was opened</string>
     <string name="camera_error">Camera service reported an error</string>
     <string name="camera_unknown">Unknown camera error: %s</string>
+    <string name="camera_permission_denied_explanation">You\'ve denied a permission that the app
+        needs for core functionality. If you selected &quot;don\'t ask again&quot; in the past then
+        you need to use Settings to re-enable the permission.</string>
+
+    <string name="ok">OK</string>
+    <string name="settings">Settings</string>
 
 </resources>
diff --git a/prebuilts/gradle/HdrViewfinder/README.md b/prebuilts/gradle/HdrViewfinder/README.md
index b0fa1fd..73433ca 100644
--- a/prebuilts/gradle/HdrViewfinder/README.md
+++ b/prebuilts/gradle/HdrViewfinder/README.md
@@ -43,7 +43,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/HorizontalPaging/Application/build.gradle b/prebuilts/gradle/HorizontalPaging/Application/build.gradle
index 36a255f..51afa0f 100644
--- a/prebuilts/gradle/HorizontalPaging/Application/build.gradle
+++ b/prebuilts/gradle/HorizontalPaging/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 11
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/HorizontalPaging/README.md b/prebuilts/gradle/HorizontalPaging/README.md
index acb0a50..25bdabe 100644
--- a/prebuilts/gradle/HorizontalPaging/README.md
+++ b/prebuilts/gradle/HorizontalPaging/README.md
@@ -30,7 +30,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/ImmersiveMode/Application/build.gradle b/prebuilts/gradle/ImmersiveMode/Application/build.gradle
index 36a255f..51afa0f 100644
--- a/prebuilts/gradle/ImmersiveMode/Application/build.gradle
+++ b/prebuilts/gradle/ImmersiveMode/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 11
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/ImmersiveMode/README.md b/prebuilts/gradle/ImmersiveMode/README.md
index 1fa9c57..42cc02d 100644
--- a/prebuilts/gradle/ImmersiveMode/README.md
+++ b/prebuilts/gradle/ImmersiveMode/README.md
@@ -9,7 +9,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/Interpolator/Application/build.gradle b/prebuilts/gradle/Interpolator/Application/build.gradle
index d61ba60..dd9fedf 100644
--- a/prebuilts/gradle/Interpolator/Application/build.gradle
+++ b/prebuilts/gradle/Interpolator/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/Interpolator/README.md b/prebuilts/gradle/Interpolator/README.md
index 4774e9e..75bc502 100644
--- a/prebuilts/gradle/Interpolator/README.md
+++ b/prebuilts/gradle/Interpolator/README.md
@@ -23,7 +23,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/JumpingJack/README.md b/prebuilts/gradle/JumpingJack/README.md
index 52dc731..2959461 100644
--- a/prebuilts/gradle/JumpingJack/README.md
+++ b/prebuilts/gradle/JumpingJack/README.md
@@ -44,7 +44,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/JumpingJack/Wearable/build.gradle b/prebuilts/gradle/JumpingJack/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/JumpingJack/Wearable/build.gradle
+++ b/prebuilts/gradle/JumpingJack/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/LNotifications/Application/build.gradle b/prebuilts/gradle/LNotifications/Application/build.gradle
index d61ba60..dd9fedf 100644
--- a/prebuilts/gradle/LNotifications/Application/build.gradle
+++ b/prebuilts/gradle/LNotifications/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/LNotifications/README.md b/prebuilts/gradle/LNotifications/README.md
index f4c8a10..ff96881 100644
--- a/prebuilts/gradle/LNotifications/README.md
+++ b/prebuilts/gradle/LNotifications/README.md
@@ -26,7 +26,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/MediaBrowserService/Application/build.gradle b/prebuilts/gradle/MediaBrowserService/Application/build.gradle
index 2abb4fd..e115227 100644
--- a/prebuilts/gradle/MediaBrowserService/Application/build.gradle
+++ b/prebuilts/gradle/MediaBrowserService/Application/build.gradle
@@ -29,12 +29,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/MediaBrowserService/README.md b/prebuilts/gradle/MediaBrowserService/README.md
index 179586e..1bb1dbc 100644
--- a/prebuilts/gradle/MediaBrowserService/README.md
+++ b/prebuilts/gradle/MediaBrowserService/README.md
@@ -72,7 +72,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/MediaEffects/Application/build.gradle b/prebuilts/gradle/MediaEffects/Application/build.gradle
index c9fe712..06f262f 100644
--- a/prebuilts/gradle/MediaEffects/Application/build.gradle
+++ b/prebuilts/gradle/MediaEffects/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 14
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/MediaEffects/README.md b/prebuilts/gradle/MediaEffects/README.md
index d805003..b9dfb3f 100644
--- a/prebuilts/gradle/MediaEffects/README.md
+++ b/prebuilts/gradle/MediaEffects/README.md
@@ -21,7 +21,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/MediaRecorder/Application/build.gradle b/prebuilts/gradle/MediaRecorder/Application/build.gradle
index c45e507..b926fea 100644
--- a/prebuilts/gradle/MediaRecorder/Application/build.gradle
+++ b/prebuilts/gradle/MediaRecorder/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 16
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/MediaRecorder/README.md b/prebuilts/gradle/MediaRecorder/README.md
index 347a6a7..eccf9d0 100644
--- a/prebuilts/gradle/MediaRecorder/README.md
+++ b/prebuilts/gradle/MediaRecorder/README.md
@@ -25,7 +25,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/MediaRouter/Application/build.gradle b/prebuilts/gradle/MediaRouter/Application/build.gradle
index d3377bd..735238d 100644
--- a/prebuilts/gradle/MediaRouter/Application/build.gradle
+++ b/prebuilts/gradle/MediaRouter/Application/build.gradle
@@ -32,12 +32,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 13
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/MediaRouter/README.md b/prebuilts/gradle/MediaRouter/README.md
index 48542f4..297c88c 100644
--- a/prebuilts/gradle/MediaRouter/README.md
+++ b/prebuilts/gradle/MediaRouter/README.md
@@ -7,7 +7,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/MessagingService/Application/build.gradle b/prebuilts/gradle/MessagingService/Application/build.gradle
index 2abb4fd..e115227 100644
--- a/prebuilts/gradle/MessagingService/Application/build.gradle
+++ b/prebuilts/gradle/MessagingService/Application/build.gradle
@@ -29,12 +29,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/MessagingService/README.md b/prebuilts/gradle/MessagingService/README.md
index 16a11f7..c422155 100644
--- a/prebuilts/gradle/MessagingService/README.md
+++ b/prebuilts/gradle/MessagingService/README.md
@@ -46,7 +46,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/NetworkConnect/Application/build.gradle b/prebuilts/gradle/NetworkConnect/Application/build.gradle
index d7467d8..5eb1d01 100644
--- a/prebuilts/gradle/NetworkConnect/Application/build.gradle
+++ b/prebuilts/gradle/NetworkConnect/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 8
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/NetworkConnect/README.md b/prebuilts/gradle/NetworkConnect/README.md
index bde6e4b..65c0a6f 100644
--- a/prebuilts/gradle/NetworkConnect/README.md
+++ b/prebuilts/gradle/NetworkConnect/README.md
@@ -17,7 +17,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/NfcProvisioning/Application/build.gradle b/prebuilts/gradle/NfcProvisioning/Application/build.gradle
index d61ba60..dd9fedf 100644
--- a/prebuilts/gradle/NfcProvisioning/Application/build.gradle
+++ b/prebuilts/gradle/NfcProvisioning/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/NfcProvisioning/README.md b/prebuilts/gradle/NfcProvisioning/README.md
index c33192f..c369960 100644
--- a/prebuilts/gradle/NfcProvisioning/README.md
+++ b/prebuilts/gradle/NfcProvisioning/README.md
@@ -33,7 +33,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/Notifications/Application/build.gradle b/prebuilts/gradle/Notifications/Application/build.gradle
index b51c137..9680f2b 100644
--- a/prebuilts/gradle/Notifications/Application/build.gradle
+++ b/prebuilts/gradle/Notifications/Application/build.gradle
@@ -33,12 +33,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/Notifications/README.md b/prebuilts/gradle/Notifications/README.md
index 6a568bb..9d2f9ae 100644
--- a/prebuilts/gradle/Notifications/README.md
+++ b/prebuilts/gradle/Notifications/README.md
@@ -23,7 +23,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/Notifications/Wearable/build.gradle b/prebuilts/gradle/Notifications/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/Notifications/Wearable/build.gradle
+++ b/prebuilts/gradle/Notifications/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/PermissionRequest/Application/build.gradle b/prebuilts/gradle/PermissionRequest/Application/build.gradle
index d61ba60..dd9fedf 100644
--- a/prebuilts/gradle/PermissionRequest/Application/build.gradle
+++ b/prebuilts/gradle/PermissionRequest/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/PermissionRequest/README.md b/prebuilts/gradle/PermissionRequest/README.md
index 4ff11d6..2401e3c 100644
--- a/prebuilts/gradle/PermissionRequest/README.md
+++ b/prebuilts/gradle/PermissionRequest/README.md
@@ -46,7 +46,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/Quiz/Application/build.gradle b/prebuilts/gradle/Quiz/Application/build.gradle
index b51c137..9680f2b 100644
--- a/prebuilts/gradle/Quiz/Application/build.gradle
+++ b/prebuilts/gradle/Quiz/Application/build.gradle
@@ -33,12 +33,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/Quiz/README.md b/prebuilts/gradle/Quiz/README.md
index 8689db7..4b14f7a 100644
--- a/prebuilts/gradle/Quiz/README.md
+++ b/prebuilts/gradle/Quiz/README.md
@@ -13,7 +13,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/Quiz/Wearable/build.gradle b/prebuilts/gradle/Quiz/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/Quiz/Wearable/build.gradle
+++ b/prebuilts/gradle/Quiz/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/RecipeAssistant/Application/build.gradle b/prebuilts/gradle/RecipeAssistant/Application/build.gradle
index 054db59..df32b0f 100644
--- a/prebuilts/gradle/RecipeAssistant/Application/build.gradle
+++ b/prebuilts/gradle/RecipeAssistant/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/RecipeAssistant/README.md b/prebuilts/gradle/RecipeAssistant/README.md
index d490231..1dc3c92 100644
--- a/prebuilts/gradle/RecipeAssistant/README.md
+++ b/prebuilts/gradle/RecipeAssistant/README.md
@@ -12,7 +12,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/RecyclerView/Application/build.gradle b/prebuilts/gradle/RecyclerView/Application/build.gradle
index 8675814..b2670d3 100644
--- a/prebuilts/gradle/RecyclerView/Application/build.gradle
+++ b/prebuilts/gradle/RecyclerView/Application/build.gradle
@@ -31,12 +31,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 7
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/RecyclerView/README.md b/prebuilts/gradle/RecyclerView/README.md
index 35bff40..e323b6a 100644
--- a/prebuilts/gradle/RecyclerView/README.md
+++ b/prebuilts/gradle/RecyclerView/README.md
@@ -29,7 +29,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/RenderScriptIntrinsic/Application/build.gradle b/prebuilts/gradle/RenderScriptIntrinsic/Application/build.gradle
index 0dd5383..3ec021b 100644
--- a/prebuilts/gradle/RenderScriptIntrinsic/Application/build.gradle
+++ b/prebuilts/gradle/RenderScriptIntrinsic/Application/build.gradle
@@ -31,12 +31,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 13
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/RenderScriptIntrinsic/README.md b/prebuilts/gradle/RenderScriptIntrinsic/README.md
index c3eea7e..838c5af 100644
--- a/prebuilts/gradle/RenderScriptIntrinsic/README.md
+++ b/prebuilts/gradle/RenderScriptIntrinsic/README.md
@@ -36,7 +36,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/RepeatingAlarm/Application/build.gradle b/prebuilts/gradle/RepeatingAlarm/Application/build.gradle
index 36a255f..51afa0f 100644
--- a/prebuilts/gradle/RepeatingAlarm/Application/build.gradle
+++ b/prebuilts/gradle/RepeatingAlarm/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 11
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/RepeatingAlarm/README.md b/prebuilts/gradle/RepeatingAlarm/README.md
index 4955d0b..66d1225 100644
--- a/prebuilts/gradle/RepeatingAlarm/README.md
+++ b/prebuilts/gradle/RepeatingAlarm/README.md
@@ -8,7 +8,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/RuntimePermissions/Application/build.gradle b/prebuilts/gradle/RuntimePermissions/Application/build.gradle
index 3f1bc93..7e9cb48 100644
--- a/prebuilts/gradle/RuntimePermissions/Application/build.gradle
+++ b/prebuilts/gradle/RuntimePermissions/Application/build.gradle
@@ -31,12 +31,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion "android-MNC"
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
-        minSdkVersion "MNC"
-        targetSdkVersion "MNC"
+        minSdkVersion 23
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/RuntimePermissions/Application/src/main/java/com/example/android/system/runtimepermissions/PermissionUtil.java b/prebuilts/gradle/RuntimePermissions/Application/src/main/java/com/example/android/system/runtimepermissions/PermissionUtil.java
index f5241ef..d0742ea 100644
--- a/prebuilts/gradle/RuntimePermissions/Application/src/main/java/com/example/android/system/runtimepermissions/PermissionUtil.java
+++ b/prebuilts/gradle/RuntimePermissions/Application/src/main/java/com/example/android/system/runtimepermissions/PermissionUtil.java
@@ -79,12 +79,6 @@
     }
 
     public static boolean isMNC() {
-        /*
-         TODO: In the Android M Preview release, checking if the platform is M is done through
-         the codename, not the version code. Once the API has been finalised, the following check
-         should be used: */
-        // return Build.VERSION.SDK_INT == Build.VERSION_CODES.M
-
-        return "MNC".equals(Build.VERSION.CODENAME);
+        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
     }
 }
diff --git a/prebuilts/gradle/RuntimePermissions/README.md b/prebuilts/gradle/RuntimePermissions/README.md
index 9be94fb..94a6999 100644
--- a/prebuilts/gradle/RuntimePermissions/README.md
+++ b/prebuilts/gradle/RuntimePermissions/README.md
@@ -29,7 +29,7 @@
 Pre-requisites
 --------------
 
-- Android SDK vandroid-MNC
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/RuntimePermissions/screenshots/screenshot-1.png.png b/prebuilts/gradle/RuntimePermissions/screenshots/screenshot-1.png.png
deleted file mode 100644
index bb848d8..0000000
--- a/prebuilts/gradle/RuntimePermissions/screenshots/screenshot-1.png.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/RuntimePermissions/screenshots/screenshot-2.png.png b/prebuilts/gradle/RuntimePermissions/screenshots/screenshot-2.png.png
deleted file mode 100644
index c98c212..0000000
--- a/prebuilts/gradle/RuntimePermissions/screenshots/screenshot-2.png.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/RuntimePermissions/screenshots/web-icon.png b/prebuilts/gradle/RuntimePermissions/screenshots/web-icon.png
deleted file mode 100755
index 68af9d0..0000000
--- a/prebuilts/gradle/RuntimePermissions/screenshots/web-icon.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/RuntimePermissionsBasic/Application/build.gradle b/prebuilts/gradle/RuntimePermissionsBasic/Application/build.gradle
index 3f1bc93..7e9cb48 100644
--- a/prebuilts/gradle/RuntimePermissionsBasic/Application/build.gradle
+++ b/prebuilts/gradle/RuntimePermissionsBasic/Application/build.gradle
@@ -31,12 +31,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion "android-MNC"
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
-        minSdkVersion "MNC"
-        targetSdkVersion "MNC"
+        minSdkVersion 23
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/RuntimePermissionsBasic/Application/src/main/java/com/example/android/basicpermissions/MainActivity.java b/prebuilts/gradle/RuntimePermissionsBasic/Application/src/main/java/com/example/android/basicpermissions/MainActivity.java
index 37e8556..9fa646d 100644
--- a/prebuilts/gradle/RuntimePermissionsBasic/Application/src/main/java/com/example/android/basicpermissions/MainActivity.java
+++ b/prebuilts/gradle/RuntimePermissionsBasic/Application/src/main/java/com/example/android/basicpermissions/MainActivity.java
@@ -131,12 +131,6 @@
     }
 
     public static boolean isMNC() {
-        /*
-         TODO: In the Android M Preview release, checking if the platform is M is done through
-         the codename, not the version code. Once the API has been finalised, the following check
-         should be used: */
-        // return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
-
-        return "MNC".equals(Build.VERSION.CODENAME);
+        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
     }
 }
diff --git a/prebuilts/gradle/RuntimePermissionsBasic/README.md b/prebuilts/gradle/RuntimePermissionsBasic/README.md
index 4ba3899..37f3410 100644
--- a/prebuilts/gradle/RuntimePermissionsBasic/README.md
+++ b/prebuilts/gradle/RuntimePermissionsBasic/README.md
@@ -19,7 +19,7 @@
 Pre-requisites
 --------------
 
-- Android SDK vandroid-MNC
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/ScreenCapture/Application/build.gradle b/prebuilts/gradle/ScreenCapture/Application/build.gradle
index d61ba60..dd9fedf 100644
--- a/prebuilts/gradle/ScreenCapture/Application/build.gradle
+++ b/prebuilts/gradle/ScreenCapture/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 21
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/ScreenCapture/README.md b/prebuilts/gradle/ScreenCapture/README.md
index ea51078..98f8f1c 100644
--- a/prebuilts/gradle/ScreenCapture/README.md
+++ b/prebuilts/gradle/ScreenCapture/README.md
@@ -26,7 +26,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/SkeletonWearableApp/README.md b/prebuilts/gradle/SkeletonWearableApp/README.md
index 93689a9..42b6ff3 100644
--- a/prebuilts/gradle/SkeletonWearableApp/README.md
+++ b/prebuilts/gradle/SkeletonWearableApp/README.md
@@ -21,7 +21,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/SkeletonWearableApp/Wearable/build.gradle b/prebuilts/gradle/SkeletonWearableApp/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/SkeletonWearableApp/Wearable/build.gradle
+++ b/prebuilts/gradle/SkeletonWearableApp/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/SlidingTabsBasic/Application/build.gradle b/prebuilts/gradle/SlidingTabsBasic/Application/build.gradle
index c9fe712..06f262f 100644
--- a/prebuilts/gradle/SlidingTabsBasic/Application/build.gradle
+++ b/prebuilts/gradle/SlidingTabsBasic/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 14
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/SlidingTabsBasic/README.md b/prebuilts/gradle/SlidingTabsBasic/README.md
index f0c2571..e9147c2 100644
--- a/prebuilts/gradle/SlidingTabsBasic/README.md
+++ b/prebuilts/gradle/SlidingTabsBasic/README.md
@@ -8,7 +8,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/SlidingTabsColors/Application/build.gradle b/prebuilts/gradle/SlidingTabsColors/Application/build.gradle
index c9fe712..06f262f 100644
--- a/prebuilts/gradle/SlidingTabsColors/Application/build.gradle
+++ b/prebuilts/gradle/SlidingTabsColors/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 14
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/SlidingTabsColors/README.md b/prebuilts/gradle/SlidingTabsColors/README.md
index e61a11b..665f11e 100644
--- a/prebuilts/gradle/SlidingTabsColors/README.md
+++ b/prebuilts/gradle/SlidingTabsColors/README.md
@@ -25,7 +25,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/SpeedTracker/Application/build.gradle b/prebuilts/gradle/SpeedTracker/Application/build.gradle
index 544de3c..61e576e 100644
--- a/prebuilts/gradle/SpeedTracker/Application/build.gradle
+++ b/prebuilts/gradle/SpeedTracker/Application/build.gradle
@@ -33,13 +33,13 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
         versionCode 1
         versionName "1.0"
     }
diff --git a/prebuilts/gradle/SpeedTracker/README.md b/prebuilts/gradle/SpeedTracker/README.md
index 7e3797b..582b52c 100644
--- a/prebuilts/gradle/SpeedTracker/README.md
+++ b/prebuilts/gradle/SpeedTracker/README.md
@@ -16,7 +16,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/SpeedTracker/Shared/build.gradle b/prebuilts/gradle/SpeedTracker/Shared/build.gradle
index 2c7fe14..738aaab 100644
--- a/prebuilts/gradle/SpeedTracker/Shared/build.gradle
+++ b/prebuilts/gradle/SpeedTracker/Shared/build.gradle
@@ -26,13 +26,13 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/SpeedTracker/Wearable/build.gradle b/prebuilts/gradle/SpeedTracker/Wearable/build.gradle
index 534d213..81abc02 100644
--- a/prebuilts/gradle/SpeedTracker/Wearable/build.gradle
+++ b/prebuilts/gradle/SpeedTracker/Wearable/build.gradle
@@ -34,7 +34,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -43,13 +43,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/StorageClient/Application/build.gradle b/prebuilts/gradle/StorageClient/Application/build.gradle
index c45e507..b926fea 100644
--- a/prebuilts/gradle/StorageClient/Application/build.gradle
+++ b/prebuilts/gradle/StorageClient/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 16
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/StorageClient/README.md b/prebuilts/gradle/StorageClient/README.md
index 4ed5057..6a708db 100644
--- a/prebuilts/gradle/StorageClient/README.md
+++ b/prebuilts/gradle/StorageClient/README.md
@@ -23,7 +23,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/StorageProvider/Application/build.gradle b/prebuilts/gradle/StorageProvider/Application/build.gradle
index db9a58b..0fe145d 100644
--- a/prebuilts/gradle/StorageProvider/Application/build.gradle
+++ b/prebuilts/gradle/StorageProvider/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 19
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/StorageProvider/README.md b/prebuilts/gradle/StorageProvider/README.md
index b23cb83..6b6dea2 100644
--- a/prebuilts/gradle/StorageProvider/README.md
+++ b/prebuilts/gradle/StorageProvider/README.md
@@ -20,7 +20,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/SwipeRefreshLayoutBasic/Application/build.gradle b/prebuilts/gradle/SwipeRefreshLayoutBasic/Application/build.gradle
index c9fe712..06f262f 100644
--- a/prebuilts/gradle/SwipeRefreshLayoutBasic/Application/build.gradle
+++ b/prebuilts/gradle/SwipeRefreshLayoutBasic/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 14
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/SwipeRefreshLayoutBasic/README.md b/prebuilts/gradle/SwipeRefreshLayoutBasic/README.md
index f295b8a..ada86c3 100644
--- a/prebuilts/gradle/SwipeRefreshLayoutBasic/README.md
+++ b/prebuilts/gradle/SwipeRefreshLayoutBasic/README.md
@@ -9,7 +9,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/SwipeRefreshListFragment/Application/build.gradle b/prebuilts/gradle/SwipeRefreshListFragment/Application/build.gradle
index c9fe712..06f262f 100644
--- a/prebuilts/gradle/SwipeRefreshListFragment/Application/build.gradle
+++ b/prebuilts/gradle/SwipeRefreshListFragment/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 14
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/SwipeRefreshListFragment/README.md b/prebuilts/gradle/SwipeRefreshListFragment/README.md
index 9a4b7be..a755c87 100644
--- a/prebuilts/gradle/SwipeRefreshListFragment/README.md
+++ b/prebuilts/gradle/SwipeRefreshListFragment/README.md
@@ -23,7 +23,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/SwipeRefreshMultipleViews/Application/build.gradle b/prebuilts/gradle/SwipeRefreshMultipleViews/Application/build.gradle
index c9fe712..06f262f 100644
--- a/prebuilts/gradle/SwipeRefreshMultipleViews/Application/build.gradle
+++ b/prebuilts/gradle/SwipeRefreshMultipleViews/Application/build.gradle
@@ -30,12 +30,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 14
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/SwipeRefreshMultipleViews/README.md b/prebuilts/gradle/SwipeRefreshMultipleViews/README.md
index 9285428..da42afd 100644
--- a/prebuilts/gradle/SwipeRefreshMultipleViews/README.md
+++ b/prebuilts/gradle/SwipeRefreshMultipleViews/README.md
@@ -10,7 +10,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/SynchronizedNotifications/Application/build.gradle b/prebuilts/gradle/SynchronizedNotifications/Application/build.gradle
index 05910d2..2d02a3a 100644
--- a/prebuilts/gradle/SynchronizedNotifications/Application/build.gradle
+++ b/prebuilts/gradle/SynchronizedNotifications/Application/build.gradle
@@ -32,13 +32,13 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
         versionCode 1
         versionName "1.0"
     }
diff --git a/prebuilts/gradle/SynchronizedNotifications/README.md b/prebuilts/gradle/SynchronizedNotifications/README.md
index 677a88d..3ffa2a3 100644
--- a/prebuilts/gradle/SynchronizedNotifications/README.md
+++ b/prebuilts/gradle/SynchronizedNotifications/README.md
@@ -51,7 +51,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/SynchronizedNotifications/Shared/build.gradle b/prebuilts/gradle/SynchronizedNotifications/Shared/build.gradle
index 2c7fe14..738aaab 100644
--- a/prebuilts/gradle/SynchronizedNotifications/Shared/build.gradle
+++ b/prebuilts/gradle/SynchronizedNotifications/Shared/build.gradle
@@ -26,13 +26,13 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/SynchronizedNotifications/Wearable/build.gradle b/prebuilts/gradle/SynchronizedNotifications/Wearable/build.gradle
index 5cd7813..72904b1 100644
--- a/prebuilts/gradle/SynchronizedNotifications/Wearable/build.gradle
+++ b/prebuilts/gradle/SynchronizedNotifications/Wearable/build.gradle
@@ -33,7 +33,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -42,13 +42,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/TextLinkify/Application/build.gradle b/prebuilts/gradle/TextLinkify/Application/build.gradle
index 672e647..03141e9 100644
--- a/prebuilts/gradle/TextLinkify/Application/build.gradle
+++ b/prebuilts/gradle/TextLinkify/Application/build.gradle
@@ -28,12 +28,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 4
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/TextLinkify/README.md b/prebuilts/gradle/TextLinkify/README.md
index 46b418a..6d8ea5b 100644
--- a/prebuilts/gradle/TextLinkify/README.md
+++ b/prebuilts/gradle/TextLinkify/README.md
@@ -32,7 +32,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/TextSwitcher/Application/build.gradle b/prebuilts/gradle/TextSwitcher/Application/build.gradle
index 672e647..03141e9 100644
--- a/prebuilts/gradle/TextSwitcher/Application/build.gradle
+++ b/prebuilts/gradle/TextSwitcher/Application/build.gradle
@@ -28,12 +28,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 4
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/TextSwitcher/README.md b/prebuilts/gradle/TextSwitcher/README.md
index ec9aa9b..973e94e 100644
--- a/prebuilts/gradle/TextSwitcher/README.md
+++ b/prebuilts/gradle/TextSwitcher/README.md
@@ -22,7 +22,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/Timer/README.md b/prebuilts/gradle/Timer/README.md
index 15a0545..9a2665e 100644
--- a/prebuilts/gradle/Timer/README.md
+++ b/prebuilts/gradle/Timer/README.md
@@ -8,7 +8,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/Timer/Wearable/build.gradle b/prebuilts/gradle/Timer/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/Timer/Wearable/build.gradle
+++ b/prebuilts/gradle/Timer/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/WatchFace/Application/build.gradle b/prebuilts/gradle/WatchFace/Application/build.gradle
index 3e2bee7..02e0c0f 100644
--- a/prebuilts/gradle/WatchFace/Application/build.gradle
+++ b/prebuilts/gradle/WatchFace/Application/build.gradle
@@ -34,12 +34,12 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/WatchFace/README.md b/prebuilts/gradle/WatchFace/README.md
index 5b6fff5..fa38512 100644
--- a/prebuilts/gradle/WatchFace/README.md
+++ b/prebuilts/gradle/WatchFace/README.md
@@ -10,7 +10,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/WatchFace/Wearable/build.gradle b/prebuilts/gradle/WatchFace/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/WatchFace/Wearable/build.gradle
+++ b/prebuilts/gradle/WatchFace/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/WatchViewStub/README.md b/prebuilts/gradle/WatchViewStub/README.md
index c51f7da..af346fa 100644
--- a/prebuilts/gradle/WatchViewStub/README.md
+++ b/prebuilts/gradle/WatchViewStub/README.md
@@ -16,7 +16,7 @@
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/WatchViewStub/Wearable/build.gradle b/prebuilts/gradle/WatchViewStub/Wearable/build.gradle
index e686405..2bab61f 100644
--- a/prebuilts/gradle/WatchViewStub/Wearable/build.gradle
+++ b/prebuilts/gradle/WatchViewStub/Wearable/build.gradle
@@ -31,7 +31,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -40,13 +40,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/XYZTouristAttractions/.google/packaging.yaml b/prebuilts/gradle/XYZTouristAttractions/.google/packaging.yaml
index 44b92db..fafd3e0 100644
--- a/prebuilts/gradle/XYZTouristAttractions/.google/packaging.yaml
+++ b/prebuilts/gradle/XYZTouristAttractions/.google/packaging.yaml
@@ -16,6 +16,8 @@
     - android:android.support.v7.appcompat
     - android:android.support.v7.widget.RecyclerView
     - android:android.support.v7.widget.GridLayoutManager
+    - android:android.support.design.widget.FloatingActionButton
+    - android:android.support.design.widget.CoordinatorLayout
     - android:com.google.android.gms.common.api.GoogleApiClient
     - android:com.google.android.gms.wearable.Wearable
     - android:com.google.android.gms.wearable.DataApi
diff --git a/prebuilts/gradle/XYZTouristAttractions/Application/build.gradle b/prebuilts/gradle/XYZTouristAttractions/Application/build.gradle
index 59112bb..0148b90 100644
--- a/prebuilts/gradle/XYZTouristAttractions/Application/build.gradle
+++ b/prebuilts/gradle/XYZTouristAttractions/Application/build.gradle
@@ -38,13 +38,13 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
         versionCode 1
         versionName "1.0"
     }
diff --git a/prebuilts/gradle/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/ScaleTransition.java b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/ScaleTransition.java
index ab4b91f..a7e4b2e 100644
--- a/prebuilts/gradle/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/ScaleTransition.java
+++ b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/java/com/example/android/xyztouristattractions/ui/ScaleTransition.java
@@ -12,6 +12,11 @@
 import android.view.View;
 import android.view.ViewGroup;
 
+/**
+ * A simple scale transition class to allow an element to scale in or out.
+ * This is used by the floating action button on the attraction detail screen
+ * when it appears and disappears during the Activity transitions.
+ */
 @TargetApi(Build.VERSION_CODES.LOLLIPOP)
 public class ScaleTransition extends Visibility {
 
@@ -19,24 +24,23 @@
         super(context, attrs);
     }
 
-    public Animator createAnimation(View view, float startScale, float endScale, boolean appear) {
+    public Animator createAnimation(View view, float startScale, float endScale) {
         view.setScaleX(startScale);
         view.setScaleY(startScale);
         PropertyValuesHolder holderX = PropertyValuesHolder.ofFloat("scaleX", startScale, endScale);
         PropertyValuesHolder holderY = PropertyValuesHolder.ofFloat("scaleY", startScale, endScale);
-        ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(view, holderX, holderY);
-        return animator;
+        return ObjectAnimator.ofPropertyValuesHolder(view, holderX, holderY);
     }
 
     @Override
     public Animator onAppear(ViewGroup sceneRoot, View view, TransitionValues startValues,
                              TransitionValues endValues) {
-        return createAnimation(view, 0, 1, true);
+        return createAnimation(view, 0, 1);
     }
 
     @Override
     public Animator onDisappear(ViewGroup sceneRoot, View view, TransitionValues startValues,
                                 TransitionValues endValues) {
-        return createAnimation(view, 1, 0, false);
+        return createAnimation(view, 1, 0);
     }
 }
\ No newline at end of file
diff --git a/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/layout/fragment_detail.xml b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/layout/fragment_detail.xml
index 4b00e68..6e280fd 100644
--- a/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/layout/fragment_detail.xml
+++ b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/layout/fragment_detail.xml
@@ -95,7 +95,7 @@
         app:layout_anchor="@id/textLayout"
         app:layout_anchorGravity="bottom|start"
         app:rippleColor="@color/colorFabRipple"
-        android:layout_marginStart="@dimen/small_margin"
+        android:layout_marginStart="@dimen/fab_margin"
         android:clickable="true" />
 
 </android.support.design.widget.CoordinatorLayout>
\ No newline at end of file
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v11/template-styles.xml b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values-sw400dp-v21/dimens.xml
similarity index 72%
copy from prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v11/template-styles.xml
copy to prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values-sw400dp-v21/dimens.xml
index 8c1ea66..ce539e4 100644
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v11/template-styles.xml
+++ b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values-sw400dp-v21/dimens.xml
@@ -1,11 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
 <!--
-  Copyright 2013 The Android Open Source Project
+  Copyright 2015 Google Inc. All rights reserved.
 
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
@@ -16,7 +17,6 @@
 
 <resources>
 
-    <!-- Activity themes -->
-    <style name="Theme.Base" parent="android:Theme.Holo.Light" />
+    <dimen name="fab_margin">12dp</dimen>
 
-</resources>
+</resources>
\ No newline at end of file
diff --git a/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values-sw400dp/dimens.xml b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values-sw400dp/dimens.xml
index ad90eaa..701be7d 100644
--- a/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values-sw400dp/dimens.xml
+++ b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values-sw400dp/dimens.xml
@@ -20,5 +20,6 @@
     <dimen name="small_margin">12dp</dimen>
     <dimen name="tiny_margin">8dp</dimen>
     <dimen name="image_size">140dp</dimen>
+    <dimen name="fab_margin">0dp</dimen>
 
 </resources>
diff --git a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v11/template-styles.xml b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values-v21/dimens.xml
similarity index 72%
rename from prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v11/template-styles.xml
rename to prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values-v21/dimens.xml
index 8c1ea66..2704c45 100644
--- a/prebuilts/gradle/ActiveNotification/Application/src/main/res/values-v11/template-styles.xml
+++ b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values-v21/dimens.xml
@@ -1,11 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
 <!--
-  Copyright 2013 The Android Open Source Project
+  Copyright 2015 Google Inc. All rights reserved.
 
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
@@ -16,7 +17,6 @@
 
 <resources>
 
-    <!-- Activity themes -->
-    <style name="Theme.Base" parent="android:Theme.Holo.Light" />
+    <dimen name="fab_margin">8dp</dimen>
 
-</resources>
+</resources>
\ No newline at end of file
diff --git a/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values/dimens.xml b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values/dimens.xml
index 03acfef..9cfc825 100644
--- a/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values/dimens.xml
+++ b/prebuilts/gradle/XYZTouristAttractions/Application/src/main/res/values/dimens.xml
@@ -21,6 +21,7 @@
     <dimen name="small_margin">8dp</dimen>
     <dimen name="tiny_margin">4dp</dimen>
     <dimen name="image_size">120dp</dimen>
+    <dimen name="fab_margin">-8dp</dimen>
     <item type="dimen" name="keyline1">@dimen/standard_margin</item>
     <dimen name="keyline2">72dp</dimen>
     <item type="dimen" name="keyline3">@dimen/standard_margin</item>
diff --git a/prebuilts/gradle/XYZTouristAttractions/README.md b/prebuilts/gradle/XYZTouristAttractions/README.md
index 0de5ee7..43ca59b 100644
--- a/prebuilts/gradle/XYZTouristAttractions/README.md
+++ b/prebuilts/gradle/XYZTouristAttractions/README.md
@@ -58,6 +58,8 @@
 * Window content and activity transitions based on the
 [Material guidelines][11]
 * Use of the [RecyclerView][12] widget
+* CoordinatorLayout[23] and FloatingActionButton[24] from the Design Support library[25]
+* Material animations such as activity and shared element transitions
 
 The wearable app uses a number of techniques and UI widgets as well:
 * Full screen app built off [GridViewPager][13] and [DotsPageIndicator][14]
@@ -65,7 +67,7 @@
 [WatchViewStub][15] and [OnApplyWindowInsetsListener][16]
 * Use of a variety of other widgets from the [Wearable UI Library][17]
 ([DismissOverlayView][18], [ConfirmationActivity][19],
-[CardScrollView][20], [CircledImageView][21])
+[CardScrollView][20], [CircledImageView][21], [ActionPage][26])
 
 [1]: http://developer.android.com/wear/
 [2]: https://developer.android.com/google/play-services/
@@ -89,11 +91,15 @@
 [20]: http://developer.android.com/reference/android/support/wearable/view/CardScrollView.html
 [21]: http://developer.android.com/reference/android/support/wearable/view/CircledImageView.html
 [22]: https://developer.android.com/training/wearables/apps/creating.html#Install
+[23]: https://developer.android.com/reference/android/support/design/widget/CoordinatorLayout.html
+[24]: https://developer.android.com/reference/android/support/design/widget/FloatingActionButton.html
+[25]: http://android-developers.blogspot.com/2015/05/android-design-support-library.html
+[26]: http://developer.android.com/reference/android/support/wearable/view/ActionPage.html
 
 Pre-requisites
 --------------
 
-- Android SDK v22
+- Android SDK v23
 - Android Build Tools v22.0.1
 - Android Support Repository
 
diff --git a/prebuilts/gradle/XYZTouristAttractions/Shared/build.gradle b/prebuilts/gradle/XYZTouristAttractions/Shared/build.gradle
index 9428e83..aed0534 100644
--- a/prebuilts/gradle/XYZTouristAttractions/Shared/build.gradle
+++ b/prebuilts/gradle/XYZTouristAttractions/Shared/build.gradle
@@ -30,13 +30,13 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
     defaultConfig {
         minSdkVersion 18
-        targetSdkVersion 22
+        targetSdkVersion 23
     }
 
     compileOptions {
diff --git a/prebuilts/gradle/XYZTouristAttractions/Wearable/build.gradle b/prebuilts/gradle/XYZTouristAttractions/Wearable/build.gradle
index 534d213..81abc02 100644
--- a/prebuilts/gradle/XYZTouristAttractions/Wearable/build.gradle
+++ b/prebuilts/gradle/XYZTouristAttractions/Wearable/build.gradle
@@ -34,7 +34,7 @@
     'template'] // boilerplate code that is generated by the sample template process
 
 android {
-    compileSdkVersion 22
+    compileSdkVersion 23
 
     buildToolsVersion "22.0.1"
 
@@ -43,13 +43,6 @@
         versionName "1.0"
     }
 
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt')
-        }
-    }
-
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_7
         targetCompatibility JavaVersion.VERSION_1_7
diff --git a/prebuilts/gradle/XYZTouristAttractions/Wearable/src/main/AndroidManifest.xml b/prebuilts/gradle/XYZTouristAttractions/Wearable/src/main/AndroidManifest.xml
index 24328b3..80d0c92 100644
--- a/prebuilts/gradle/XYZTouristAttractions/Wearable/src/main/AndroidManifest.xml
+++ b/prebuilts/gradle/XYZTouristAttractions/Wearable/src/main/AndroidManifest.xml
@@ -22,7 +22,7 @@
 
     <uses-sdk
         android:minSdkVersion="21"
-        android:targetSdkVersion="21" />
+        android:targetSdkVersion="22" />
 
     <application
         android:allowBackup="true"
@@ -32,9 +32,6 @@
 
         <activity
             android:name=".ui.AttractionsActivity"
-            android:exported="true"
-            android:allowEmbedded="true"
-            android:taskAffinity=""
             android:label="@string/app_name" />
 
         <activity
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/composite-1-hires.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/composite-1-hires.png
index 6facbfe..1f9c58d 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/composite-1-hires.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/composite-1-hires.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/composite-1.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/composite-1.png
index c66df32..46dd9b7 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/composite-1.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/composite-1.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-1-list-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-1-list-unframed.png
deleted file mode 100644
index db88dc3..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-1-list-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-1-list.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-1-list.png
index 6a2f777..b74edab 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-1-list.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-1-list.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-2-detail-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-2-detail-unframed.png
deleted file mode 100644
index 088c756..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-2-detail-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-2-detail.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-2-detail.png
index dc70ee6..45d7946 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-2-detail.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/mobile-2-detail.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-1-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-1-unframed.png
deleted file mode 100644
index 4dede5c..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-1-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-1.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-1.png
index 49bd581..a83f501 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-1.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-1.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-2-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-2-unframed.png
deleted file mode 100644
index 85e8492..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-2-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-2.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-2.png
index 7c166e7..bffb84e 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-2.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-2.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-3-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-3-unframed.png
deleted file mode 100644
index 4542f1f..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-3-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-3.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-3.png
index b294efe..51b39bf 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-3.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-3.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-4-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-4-unframed.png
deleted file mode 100644
index b866186..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-4-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-4.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-4.png
index bcc3ff3..1383159 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-4.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-4.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-5-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-5-unframed.png
deleted file mode 100644
index df82ae0..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-5-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-5.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-5.png
index d3cd76d..35407ef 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-5.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-5.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-6-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-6-unframed.png
deleted file mode 100644
index 31f271c..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-6-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-6.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-6.png
index ecbaf57..fd7a7c0 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-6.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-round-6.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-1-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-1-unframed.png
deleted file mode 100644
index c816f77..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-1-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-1.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-1.png
index 24e5534..f6824e8 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-1.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-1.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-2-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-2-unframed.png
deleted file mode 100644
index d549151..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-2-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-2.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-2.png
index a7d72c5..4c14ffa 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-2.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-2.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-3-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-3-unframed.png
deleted file mode 100644
index 2c252e6..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-3-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-3.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-3.png
index b0ead30..d312633 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-3.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-3.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-4-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-4-unframed.png
deleted file mode 100644
index c4ed121..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-4-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-4.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-4.png
index d3a35aa..7d1bb8b 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-4.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-4.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-5-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-5-unframed.png
deleted file mode 100644
index 1bfcd1d..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-5-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-5.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-5.png
index 56acaa4..40d6b9b 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-5.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-5.png
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-6-unframed.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-6-unframed.png
deleted file mode 100644
index aa5127f..0000000
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-6-unframed.png
+++ /dev/null
Binary files differ
diff --git a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-6.png b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-6.png
index 3bda193..25110b8 100644
--- a/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-6.png
+++ b/prebuilts/gradle/XYZTouristAttractions/screenshots/wear-square-6.png
Binary files differ