<?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>Flashlight</name>
    <group>Wearable</group>
    <package>com.example.android.wearable.flashlight</package>

    <!-- change minSdk if needed-->
    <minSdk>18</minSdk>
    <targetSdkVersion>22</targetSdkVersion>

    <strings>
        <intro>
            <![CDATA[
            Wearable activity that uses your wearable screen as a flashlight. There is also
            a party-mode option, if you want to make things interesting.
            ]]>
        </intro>
    </strings>

    <metadata>
        <status>PUBLISHED</status>
        <categories>Wearable</categories>
        <technologies>Android</technologies>
        <language>Java</language>
        <solutions>Mobile</solutions>
        <level>BEGINNER</level>
        <icon>screenshots/icon-web.png</icon>
        <screenshots>
            <img>screenshots/flashlight.png</img>
            <img>screenshots/party_mode.gif</img>
        </screenshots>
        <api_refs>
            <android>android.app.Activity</android>
            <android>android.app.Fragment</android>
            <android>android.support.v4.view.ViewPager</android>
        </api_refs>
        <description>
<![CDATA[
Sample demonstrating the use of an Activity in a wearable application. The
sample uses the screen as a flashlight.
]]>
        </description>
        <intro>
<![CDATA[
Sample demonstrating the use of an Activity in a wearable application. The
sample also demonstrates using a ViewPager allowing the user to swipe between
Fragments.

Swipe left to reveal a multi colored flashlight, swipe right to return to the
white flashlight.
]]>
        </intro>
    </metadata>

    <template src="base-build" />
    <template src="Wear"/>
</sample>
