Aroma

Ein Flavor gibt eine Reihe von Konfigurationswerten an, die als Voreinstellung gruppiert sind. In der Regel kann der Nutzer in der Companion-App aus diesen Flavors auswählen.

Ein Flavor kann Werte für vorhandene Konfigurationen enthalten, einschließlich der folgenden Typen:

  • BooleanConfiguration
  • ColorConfiguration
  • ListConfiguration
  • ComplicationSlot

Seit Version 2

Syntax

<Flavor id="string" displayName="string" icon="string"
    screenReaderText="string">
    <!-- Flavor-specific child elements. -->
    <Configuration ... />
    <ComplicationSlot .../>
<Flavor/>>

Sie können Flavor-Elemente in einem UserConfigurations-Element Dies wird im folgenden Beispiel gezeigt:

<UserConfigurations>
  <!-- Configuration definitions go here -->
  <ColorConfiguration id="themeColor" ... />
  <!-- ... -->

  <!-- The defaultValue is required. Set this attribute to the ID
       of the flavor that the system should show by default. -->
  <Flavors defaultValue="1">
    <Flavor id="1" displayName="1st flavor" icon="flavor_1_preview">
        <Configuration id="themeColor" optionId="0"/>
        <ComplicationSlot slotId="0">
            <DefaultProviderPolicy
                defaultSystemProvider="DAY_OF_WEEK"
                defaultSystemProviderType="SHORT_TEXT"/>
        </ComplicationSlot>
    </Flavor>

    <Flavor id="2" displayName="2nd flavor" icon="flavor_2_preview">
        <Configuration id="themeColor" optionId="1"/>
        <ComplicationSlot slotId="0">
            <DefaultProviderPolicy
                defaultSystemProvider="WATCH_BATTERY"
                defaultSystemProviderType="SHORT_TEXT"/>
        </ComplicationSlot>
    </Flavor>
  </Flavors>
</UserConfigurations>

Um Flavors verwenden zu können, müssen Sie Folgendes hinzufügen: res/xml/watch_face_info.xml:

<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>
    ...
    <MultipleInstancesAllowed value="true" />
    <FlavorsSupported value="true" />
</WatchFaceInfo>

Attribute

Das Flavor-Element hat die folgenden Attribute:

Erforderliche Attribute

Die folgenden Attribute sind erforderlich:

id
Eine eindeutige Kennung für die Flavor.
displayName
Eine Ressourcen-ID, die dem Text entspricht, der im Companion angezeigt wird.

Optionale Attribute

Die folgenden Attribute sind optional:

icon
Eine Ressourcen-ID, die der Drawable-Ressource entspricht, die in angezeigt wird die Companion-Anzeige. Die maximal zulässige Größe beträgt 360 × 360 Pixel.
screenReaderText
Eine Ressourcen-ID, die dem Text entspricht und der verwendet wird, wenn der Nutzer TalkBack aktiviert.

Innere Elemente

Das Flavor-Element muss mindestens ein Configuration-Element enthalten und kann Optional ComplicationSlot-Elemente enthalten.

  • Das Element Configuration verweist auf die zuvor definierte Konfiguration. -Elemente wie BooleanConfiguration mithilfe des Attributs id. Die Configuration-Elemente legen den ausgewählten Wert für diese Konfigurationsoption fest mit dem Attribut optionId.

  • Mit dem Element ComplicationSlot kann angegeben werden, DefaultProviderPolicy für eine bestimmte Flavor.