<?xml version="1.0" encoding="UTF-8"?>
<!--
 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.
-->



<sample>
    <name>WatchFace</name>
    <group>Wearable</group>
    <package>com.example.android.wearable.watchface</package>

    <minSdk>18</minSdk>
    <targetSdkVersion>28</targetSdkVersion>

    <minSdkVersionWear>24</minSdkVersionWear>
    <compileSdkVersionWear>28</compileSdkVersionWear>
    <targetSdkVersionWear>28</targetSdkVersionWear>

    <multiDexEnabled>true</multiDexEnabled>


    <dependency>com.google.android.support:wearable:2.4.0</dependency>
    <dependency_wearable>com.android.support:palette-v7:28.0.0</dependency_wearable>
    <dependency_wearable>com.android.support:wear:28.0.0</dependency_wearable>


    <wearable>
        <has_handheld_app>true</has_handheld_app>
    </wearable>

    <strings>
        <intro>
<![CDATA[
This sample demonstrates how to create watch faces for Wear and use complications
with your Wear 2.0 watch faces.
]]>
        </intro>
    </strings>

    <template src="base"/>
    <template src="Wear"/>

    <metadata>
        <status>PUBLISHED</status>
        <categories>Wearable</categories>
        <technologies>Android</technologies>
        <languages>Java</languages>
        <solutions>Mobile</solutions>
        <level>INTERMEDIATE</level>
        <icon>screenshots/icon-web.png</icon>
        <screenshots>
            <img>screenshots/analog-face.png</img>
            <img>screenshots/analog-watch-side-config-all.png</img>
            <img>screenshots/analog-watch-side-config-1.png</img>
            <img>screenshots/analog-watch-side-config-2.png</img>
            <img>screenshots/digital-face.png</img>
            <img>screenshots/digital-phone-side-config.png</img>
            <img>screenshots/digital-watch-side-config.png</img>
            <img>screenshots/interactive-face.png</img>
            <img>screenshots/tilt-face.png</img>
        </screenshots>
        <api_refs>
            <android>android.support.wearable.complications.ComplicationData</android>
            <android>android.support.wearable.complications.ComplicationHelperActivity</android>
            <android>android.support.wearable.complications.ComplicationProviderInfo</android>
            <android>android.support.wearable.complications.ComplicationText</android>
            <android>android.support.wearable.complications.ProviderChooserIntent</android>
            <android>android.support.wearable.view.WearableRecyclerView</android>
            <android>android.support.wearable.watchface.CanvasWatchFaceService</android>
            <android>android.support.wearable.watchface.WatchFaceService</android>
            <android>android.support.wearable.watchface.WatchFaceStyle</android>
        </api_refs>

        <!-- 1-3 line description of the sample here.

            Avoid simply rearranging the sample's title. What does this sample actually
            accomplish, and how does it do it? -->
        <description>
            A simple sample that demonstrates watch faces and complications for Wear 2.0.
        </description>

        <intro>
<![CDATA[
This sample demonstrates how to create watch faces for Wear.

The analog watch face covers best practices for Wear 2.0 including complications and a new
configuration Activity for configuring both the watch face styles and the complications themselves.
We recommend you reuse the configuration code and follow the UX patterns in your watch face's
configuration activity. You can see a preview in the screenshots section of the README.

The analog watch face has three main classes:

- AnalogComplicationWatchFaceService.java (watchface folder) - Renders the watch face and active
complications.

- AnalogComplicationConfigActivity.java (config folder) - Allows user to adjust watch face settings
(arm and background colors) and watch face complications.

- AnalogComplicationConfigData.java (models folder) - Populates the configuration screen in the
previous step by returning a list of items. Each item represents something you can customize on the
watch face. Items include a preview of the watch face (where you can pick your complications),
marker color, background color, unread notifications, and background image complication. You can
extend this and add your own.


We include several older watch faces to show best practices for Wear 1.0. If you are targeting
older devices, you may want to review those watch faces (digital, opengl, and interactive).

The digital watch face includes a watch-side and phone-side configuration example.

This sample includes both a phone app and a wearable app.

Because watch face apps do not have a default Activity in their project, you will need to set your
Configurations to "Do not launch Activity" for both the Wear and Application modules. If you are
unsure how to do this, please review the "Run Starter project" section in the
[Google Watch Face Code Lab][1].

[1]: https://codelabs.developers.google.com/codelabs/watchface/index.html
]]>
        </intro>
    </metadata>

</sample>
