Sabor

Uma variação especifica um conjunto de valores de configuração, agrupados como uma predefinição. Normalmente, o usuário pode escolher entre essas variações no app complementar.

Um Flavor pode incluir valores para configurações atuais, incluindo os tipos abaixo:

  • BooleanConfiguration
  • ColorConfiguration
  • ListConfiguration
  • ComplicationSlot

Desde a versão 2

Sintaxe

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

Você pode incluir elementos Flavor em um elemento UserConfigurations, conforme mostrado no exemplo a seguir:

<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>

Para usar Flavors, adicione o seguinte a res/xml/watch_face_info.xml:

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

Atributos

O elemento Flavor tem os seguintes atributos:

Atributos obrigatórios

Os seguintes atributos são obrigatórios:

id
Um identificador exclusivo para o Flavor.
displayName
Um ID de recurso correspondente ao texto mostrado no complemento.
defaultValue
Esse atributo não é usado e precisa ser definido como vazio.

Atributos opcionais

Os seguintes atributos são opcionais:

icon
Um ID de recurso correspondente ao drawable mostrado no complementar. Ele precisa ter um tamanho máximo de 360 x 360 px.
screenReaderText
Um ID de recurso correspondente ao texto usado se o usuário tiver ativado o TalkBack.

Elementos internos

O elemento Flavor precisa conter pelo menos um elemento Configuration e pode, opcionalmente, incluir elementos ComplicationSlot.

  • O elemento Configuration referencia elementos de configuração definidos anteriormente, como BooleanConfiguration, usando o atributo id. Os elementos Configuration definem o valor escolhido para essa opção de configuração usando o atributo optionId.

  • O elemento ComplicationSlot pode ser usado para especificar o DefaultProviderPolicy de um determinado Flavor.