<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright 2013 The Android Open Source Project

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->



<sample>
    <name>RecipeAssistant</name>
    <group>Wearable</group>
    <package>com.example.android.wearable.recipeassistant</package>

    <minSdk>18</minSdk>
    <targetSdkVersion>23</targetSdkVersion>

    <strings>
        <intro>
            <![CDATA[
            This phone application uses the enhanced notifications API to display recipe
            instructions using paged notifications. After starting the application on your phone, you can browse
            from a short list of recipes and select one to view. Each recipe is broken down into a number of
            steps; when ready, you can click on the START action in the action bar to send the steps to the
            wearable. On the wearable device, the steps are displayed as a multi-page notification, with one
            page for each step in the recipe.
            ]]>
        </intro>
    </strings>

    <template src="base"/>
    <common src="logger"/>
    <common src="activities"/>

    <metadata>
        <status>DEPRECATED</status>
        <categories>Wearable</categories>
    </metadata>

</sample>
