Aroma

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

Ein Flavor kann Werte für vorhandene Konfigurationen enthalten, darunter die folgenden Typen:

  • BooleanConfiguration
  • ColorConfiguration
  • ListConfiguration
  • ComplicationSlot

Seit Version 2

Syntax

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

Du kannst Flavor-Elemente in ein UserConfigurations-Element aufnehmen, wie im folgenden Beispiel gezeigt:

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

  <Flavors>
    <Flavor id="1" displayName="1st flavor" icon="flavor_1_preview" defaultValue="">
        <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" defaultValue="">
        <Configuration id="themeColor" optionId="1"/>
        <ComplicationSlot slotId="0">
            <DefaultProviderPolicy
                defaultSystemProvider="WATCH_BATTERY"
                defaultSystemProviderType="SHORT_TEXT"/>
        </ComplicationSlot>
    </Flavor>
  </Flavors>
</UserConfigurations>

Zur Verwendung von Flavors müssen Sie Folgendes zu res/xml/watch_face_info.xml hinzufügen:

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

Merkmale

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.
defaultValue
Dieses Attribut wird nicht verwendet und sollte leer sein.

Optionale Attribute

Die folgenden Attribute sind optional:

icon
Eine Ressourcen-ID, die der Drawable-Ressource entspricht, die im Companion angezeigt wird. 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 hat.

Innere Elemente

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

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

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