Accès rapide à votre carte de paiement

La fonctionnalité Portefeuille en accès rapide, disponible sur Android 11 permet à l'utilisateur accédez à vos cartes de paiement et à vos cartes pertinentes directement depuis le menu Marche/Arrêt. Utilisation intensive incluent le choix du mode de paiement approprié avant d'effectuer une effectuer des transactions sur un terminal NFC et accéder rapidement aux vols et aux autres cartes pour les événements à venir.

Sur Android 12 ou version ultérieure, le Portefeuille est disponible depuis le volet, comme illustré dans les figures 1 et 2.

Fonctionnalité d'accès rapide à Wallet dans l'ombre
Figure 1. Fonctionnalité de Wallet en accès rapide (appareil verrouillé).
Fonctionnalité d'accès rapide à Wallet dans l'ombre
Figure 2. Fonctionnalité de Wallet en accès rapide (appareil déverrouillé).

Sous Android 11, cette fonctionnalité est disponible depuis le menu Marche/Arrêt, comme illustré dans Figure 3.

Fonctionnalité Wallet d'accès rapide dans le menu Marche/Arrêt
Figure 3. Fonctionnalité d'accès rapide à Wallet au service .

Conditions requises

Votre appareil doit être équipé de la technologie NFC pour utiliser la fonctionnalité Portefeuille Accès rapide. La fonctionnalité se lie à l'QuickAccessWalletService de l'application de paiement NFC par défaut, ce qui signifie que l'appareil doit aussi être compatible NFC émulation de carte basée sur l'hôte (HCE).

Présentation des fonctionnalités

Le Portefeuille Accès rapide se compose de deux éléments: l'UI de Portefeuille Accès rapide et le fournisseur de cartes Portefeuille d'accès rapide.

Sur Android 12 ou version ultérieure, l'interface utilisateur de Wallet s'exécute dans le système UI et se trouve dans frameworks/base/packages/SystemUI/src/com/android/systemui/wallet Dans Android 11, l'interface utilisateur de Wallet, située dans platform/packages/apps/QuickAccessWallet doit être installé et ajouté à la liste blanche.

Le fournisseur de carte Portefeuille Accès rapide est l'application de paiement NFC par défaut. Les utilisateurs peuvent plusieurs applications de paiement NFC installées simultanément, mais seule l'application par défaut L'application de paiement NFC peut afficher des cartes dans le menu Marche/Arrêt. Vous pouvez spécifier le NFC l'application de paiement est définie initialement comme par défaut, mais les utilisateurs peuvent en sélectionner une autre l'application dans les paramètres. Si une seule application de paiement NFC est installée, elle devient la par défaut automatiquement (voir CardEmulationManager).

Implémentation

Pour fournir des cartes à l'interface utilisateur de Wallet pour l'accès rapide, les paiements NFC les applications doivent implémenter QuickAccessWalletService Les applications de paiement doivent inclure une entrée dans le fichier manifeste faisant la promotion du service.

Pour vous assurer que seule l'UI du système peut être liée à QuickAccessWalletService, L'application de paiement NFC doit exiger Autorisation android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE. Obligatoire l'autorisation garantit que seule l'UI du système peut être liée à QuickAccessWalletService.

<service
     android:name=".MyQuickAccessWalletService"
     android:label="@string/my_default_tile_label"
     android:icon="@drawable/my_default_icon_label"
     android:logo="@drawable/my_wallet_logo"
     android:permission="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE">
     <intent-filter>
         <action android:name="android.service.quickaccesswallet.QuickAccessWalletService" />
         <category android:name="android.intent.category.DEFAULT"/>
     </intent-filter>
     <meta-data android:name="android.quickaccesswallet"
          android:resource="@xml/quickaccesswallet_configuration" />
     <meta-data
          android:name="android.quickaccesswallet.tile"
          android:resource="@drawable/my_default_tile_icon"/>
</service>

Des informations supplémentaires sur le portefeuille sont incluses dans le fichier XML associé:

<quickaccesswallet-service
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:settingsActivity="com.example.android.SettingsActivity"
   android:shortcutLongLabel="@string/my_wallet_empty_state_text"
   android:shortcutShortLabel="@string/my_wallet_button_text"
   android:targetActivity="com.example.android.WalletActivity"/>

L'application de paiement doit ensuite implémenter QuickAccessWalletService:

public class MyQuickAccessWalletService extends QuickAccessWalletService {

    @Override
    public void onWalletCardsRequested(
            GetWalletCardsRequest request,
            GetWalletCardsCallback callback) {
        GetWalletCardsResponse response = // generate response
        callback.onSuccess(response);
    }

    @Override
    public void onWalletCardSelected(SelectWalletCardRequest request) {
        // selecting a card should ensure that it is used when making an NFC payment
    }

    @Override
    public void onWalletDismissed() {
        // May un-select card if the wallet app has the concept of a 'default'
        // payment method
    }
}

Si HostApduService commence à traiter une transaction NFC et que, par conséquent, démarre une activité pour afficher la progression et le résultat du paiement, il doit essayez également d'obtenir une référence à l'élément QuickAccessWalletService lié et appelez QuickAccessWalletService#sendEvent avec le type d'événement TYPE_NFC_PAYMENT_STARTED L'interface utilisateur de Wallet pour l'accès rapide fermé, offrant ainsi à l'utilisateur une vue non obstruée de l'activité de paiement.

Pour obtenir de la documentation supplémentaire sur l'implémentation de QuickAccessWalletService, consultez QuickAccessWalletService et TestQuickAccessWalletService Test CTS

Activer l'interface utilisateur de Wallet pour l'accès rapide dans Android 11

Pour configurer le portefeuille Accès rapide afin qu'il soit disponible depuis le menu Marche/Arrêt : dans Android 11, incluez le QuickAccessWallet cible dans le build et activez le plug-in globalactions.wallet en ajoutant la ligne en gras dans l'exemple de code ci-dessous à la overlay/frameworks/base/packages/SystemUI/res/values/config.xml.

<resources>
    ...
    <!-- SystemUI Plugins that can be loaded on user builds. -->
    <string-array name="config_pluginWhitelist" translatable="false">
        <item>com.android.systemui</item>
        <item>com.android.systemui.plugin.globalactions.wallet</item>
    </string-array>
</resources>

Spécifiez l'application de paiement NFC par défaut dans le fichier de configuration des paramètres avec def_nfc_payment_component.

L'application de paiement NFC par défaut doit présenter QuickAccessWalletService pour fournir des cartes au Portefeuille Accès rapide. Si l'application de paiement NFC par défaut n'exporte pas ce service, l'interface utilisateur du portefeuille est masquée.

Détails de l'implémentation de QuickAccessWalletService

QuickAccessWalletService comporte trois méthodes abstraites à implémenter: onWalletCardsRequested, onWalletCardSelected et onWalletDismissed. La Le schéma de séquence ci-dessous illustre une séquence d'appel lorsque le compte Quick Access Wallet s'affiche juste avant un paiement NFC.

Schéma séquentiel de Wallet pour l&#39;accès rapide

Exemple de séquence d&#39;appel lors de l&#39;affichage de Quick Access Wallet
Figure 4 : Exemple de séquence d'appel lorsque Quick Access Wallet est vues.

Toutes les vues du Portefeuille Quick Access ne sont pas toutes suivies d'un paiement NFC, mais La figure 4 ci-dessus illustre toutes les fonctionnalités QuickAccessWalletService Dans cet exemple, la carte Wallet en accès rapide implémente les éléments décrits en bleu. Nous partons du principe que le paiement les cartes sont stockées sur l'appareil dans une base de données et sont accessibles via un nommée PaymentCardManager. On part du principe qu'une activité appelé PaymentActivity affiche le résultat d'un paiement NFC. Flux se déroule comme suit:

  1. L'utilisateur effectue un geste pour afficher le portefeuille Accès rapide.
  2. L'interface utilisateur de Wallet d'accès rapide (qui fait partie de l'UI du système) vérifie le package pour voir si l'application de paiement NFC par défaut exporte QuickAccessWalletService

    • Si le service n'est pas exporté, le portefeuille Accès rapide ne l'est pas affiché.
  3. L'interface utilisateur de Wallet pour l'accès rapide est liée aux QuickAccessWalletService et appelle onWalletCardsRequested. Cette méthode utilise un objet de requête contenant des données sur le nombre et la taille des cartes qui peuvent être fournies et un rappel. Le rappel peut être appelé à partir d'un thread d'arrière-plan.

  4. QuickAccessWalletService calcule les cartes qu'il souhaite afficher, puis appelle la méthode onSuccess sur le rappel fourni. Il est a recommandé au service d'effectuer ces actions sur un thread d'arrière-plan.

  5. Dès que les cartes sont affichées, l'UI du système informe QuickAccessWalletService que la première carte a été sélectionnée en appelant onWalletCardSelected

    • onWalletCardSelected est appelé chaque fois que l'utilisateur sélectionne une nouvelle carte.
    • onWalletCardSelected peut être appelé même si la classe actuellement la carte sélectionnée n'a pas changé.
  6. Lorsque l'utilisateur ferme le portefeuille Accès rapide, l'UI du système avertit l'utilisateur. QuickAccessWalletService en appelant onWalletDismissed.

Dans l'exemple ci-dessus, l'utilisateur met le téléphone à portée d'un mode de paiement NFC. terminal lorsque le portefeuille est affiché. Un élément clé de la gestion de la technologie NFC des paiements est HostApduService, qui doit être implémenté pour traiter les APDU fournis par le lecteur NFC (pour en savoir plus, consultez Émulation de cartes basée sur l'hôte). Il est supposé que l'application de paiement démarre une activité pour afficher la progression et résultat de l'interaction avec le terminal NFC. Toutefois, l'accès rapide L'interface utilisateur de Wallet est affichée en haut de la fenêtre de l'application, ce qui signifie que L'activité de paiement est masquée par l'interface utilisateur de Wallet en accès rapide. Pour remédier à ce problème, l'application doit avertir l'interface utilisateur du système que l'interface utilisateur de Wallet pour l'accès rapide doit être ignorée. Pour ce faire, il obtient une référence à la liaison QuickAccessWalletService et appeler sendWalletServiceEvent avec l'événement saisissez TYPE_NFC_PAYMENT_STARTED.

Exemple d'implémentation de QuickAccessWalletService

/** Sample implementation of {@link QuickAccessWalletService} */
@RequiresApi(VERSION_CODES.R)
public class MyQuickAccessWalletService extends QuickAccessWalletService {

  private static final String TAG = "QAWalletSvc";
  private ExecutorService executor;
  private PaymentCardManager paymentCardManager;

  @Override
  public void onCreate() {
    super.onCreate();
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      Log.w(TAG, "Should not run on pre-R devices");
      stopSelf();
      return;
    }
    executor = Executors.newSingleThreadExecutor();
    paymentCardManager = new PaymentCardManager();
  }

  @Override
  public void onDestroy() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.shutdownNow();
  }

  @Override
  public void onWalletCardsRequested(
      @NonNull GetWalletCardsRequest request, @NonNull GetWalletCardsCallback callback) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.submit(
        () -> {
          List<PaymentCard> paymentCards = paymentCardManager.getCards();
          int maxCards = Math.min(paymentCards.size(), request.getMaxCards());
          List<WalletCard> walletCards = new ArrayList<>(maxCards);
          int selectedIndex = 0;
          int cardWidthPx = request.getCardWidthPx();
          int cardHeightPx = request.getCardHeightPx();
          for (int index = 0; index < maxCards; index++) {
            PaymentCard paymentCard = paymentCards.get(index);
            WalletCard walletCard =
                new WalletCard.Builder(
                        paymentCard.getCardId(),
                        paymentCard.getCardImage(cardWidthPx, cardHeightPx),
                        paymentCard.getContentDescription(),
                        paymentCard.getPendingIntent())
                    .build();
            walletCards.add(walletCard);
            if (paymentCard.isSelected()) {
              selectedIndex = index;
            }
          }
          GetWalletCardsResponse response =
              new GetWalletCardsResponse(walletCards, selectedIndex);
          callback.onSuccess(response);
        });
  }

  @Override
  public void onWalletCardSelected(@NonNull SelectWalletCardRequest request) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.submit(
        () -> paymentCardManager.selectCardById(request.getCardId()));
  }

  @Override
  public void onWalletDismissed() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.submit(() -> {
      paymentCardManager.removeCardOverrides();
    });
  }
}

Pour en savoir plus sur QuickAccessWalletService, consultez Documentation de référence de l'API QuickAccessWalletService

Autorisations

L'entrée du fichier manifeste pour QuickAccessWalletService doit exiger le Autorisation android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE ajoutée dans Android 11. Il s'agit d'une autorisation au niveau de la signature par l'UI du système, ce qui signifie que seul le processus d'UI du système peut être lié aux implémentations QuickAccessWalletService Sachez que les applications téléchargées indépendamment peuvent revendiquer ce contenu Autorisation et accès complet aux données QuickAccessWalletService sur les appareils fonctionnant sous Android 10 ou version antérieure. Pour éviter cela, il est recommandé que le service Vérifiez la version de compilation dans onCreate et activez le service uniquement sur les appareils fonctionnant sous Android 11 ou version ultérieure. Aucune autre autorisation de l'application sont requises au-delà de celles nécessaires pour fournir un paiement d'émulation de carte hôte services.

Si l'application de paiement NFC par défaut n'implémente pas ou n'exporte pas de contenu QuickAccessWalletService, l'interface utilisateur de Wallet pour l'accès rapide ne s'affiche pas.

Paramètres sous Android 12

Pour activer ou désactiver Quick Access Wallet depuis l'écran de verrouillage, les utilisateurs peuvent : activez l'option Afficher le portefeuille dans Paramètres > Affichage > Écran de verrouillage. Pour désactiver le portefeuille dans l'ombre, les utilisateurs doivent modifier manuellement dans le volet des paramètres rapides.

Bouton permettant d&#39;activer ou de désactiver Wallet depuis l&#39;écran de verrouillage

Figure 5. Afficher le portefeuille sur la page "Écran de verrouillage" dans "Paramètres".

Paramètres sous Android 11

Les utilisateurs peuvent désactiver la fonctionnalité de portefeuille d'accès rapide dans l'application Paramètres. La des paramètres Paramètres > Système > Gestes > Fiches et des cartes d'accès.

Page de paramètres permettant d&#39;activer ou de désactiver la fonctionnalité Accès rapide de Wallet
Figure 6 : la page des paramètres pour activer ou désactiver Fonctionnalité Wallet en accès rapide.

Personnalisation

Ajouter la vue Wallet en accès rapide à un autre emplacement dans l'UI du système

La Interface utilisateur de Wallet en accès rapide est conçu plug-in système. Bien que l'implémentation AOSP l'utilise dans GlobalActionsDialog (si vous appuyez de manière prolongée sur le bouton Marche/Arrêt), vous pouvez déplacer la fonctionnalité en effectuant un autre geste tant que vous conservez le contrat spécifié par l'interface du plug-in.

public interface GlobalActionsPanelPlugin extends Plugin {

  /** Invoked when the view is shown */
  PanelViewController onPanelShown(Callbacks callbacks, boolean deviceLocked);

  /** Callbacks for interacting with the view container */
  interface Callbacks {
    /** Dismisses the view */
    void dismissGlobalActionsMenu();

    /** Starts a PendingIntent, dismissing the keyguard if necessary. */
    void startPendingIntentDismissingKeyguard(PendingIntent pendingIntent);
  }

  /** Provides the Quick Access Wallet view */
  interface PanelViewController {

    /** Returns the QuickAccessWallet view, which may take any size */
    View getPanelContent();

    /** Invoked when the view is dismissed */
    void onDismissed();

    /** Invoked when the device is either locked or unlocked. */
    void onDeviceLockStateChanged(boolean locked);
  }
}

La Interface utilisateur de Wallet en accès rapide implémente GlobalActionsPanelPlugin et PanelViewController. GlobalActionsDialog obtient une instance du plug-in Google Wallet en utilisant com.android.systemui.Dependency:

GlobalActionsPanelPlugin mPanelPlugin =
    Dependency.get(ExtensionController.class)
        .newExtension(GlobalActionsPanelPlugin.class)
        .withPlugin(GlobalActionsPanelPlugin.class)
        .build()
        .get();

Après avoir vérifié que le plug-in n'est pas nul et que PanelViewController renvoyé par onPanelShown n'est pas nul, la boîte de dialogue associe le View fourni par getPanelContent à son propre View et fournit les rappels appropriés pour les événements système.

// Construct a Wallet PanelViewController.
// `this` implements GlobalActionsPanelPlugin.Callbacks
GlobalActionsPanelPlugin.PanelViewController mPanelController =
    mPanelPlugin.onPanelShown(this, !mKeyguardStateController.isUnlocked());

// Attach the view
FrameLayout panelContainer = findViewById(R.id.my_panel_container);
FrameLayout.LayoutParams panelParams =
    new FrameLayout.LayoutParams(
        FrameLayout.LayoutParams.MATCH_PARENT,
        FrameLayout.LayoutParams.MATCH_PARENT);
panelContainer.addView(mPanelController.getPanelContent(), panelParams);

// Respond to unlock events (if the view can be accessed while the phone is locked)
keyguardStateController.addCallback(new KeyguardStateController.Callback() {
  @Override
  public void onUnlockedChanged() {
    boolean unlocked = keyguardStateController.isUnlocked()
        || keyguardStateController.canDismissLockScreen();
    mPanelController.onDeviceLockStateChanged(unlocked);
  }
});

// Implement GlobalActionsPanelPlugin.Callbacks
@Override
public void dismissGlobalActionsMenu() {
  dismissDialog();
}
@Override
public void startPendingIntentDismissingKeyguard(PendingIntent pendingIntent) {
  mActivityStarter.startPendingIntentDismissingKeyguard(pendingIntent);
}

// Notify the wallet when the container view is dismissed
mPanelController.onDismissed();

Pour supprimer Quick Access Wallet du menu Marche/Arrêt, omettez le bouton Cible QuickAccessWallet de la compilation du système. Pour supprimer l'accès rapide Wallet dans le menu Marche/Arrêt, mais en l'ajoutant à une autre vue fournie par l'UI du système, inclure la cible de compilation et supprimer les références à GlobalActionsPanelPlugin de GlobalActionsImpl

Définir les configurations par défaut

Android 12

Sur Android 12 ou version ultérieure, le Portefeuille Accès rapide est toujours visible dans le volet des réglages rapides. Visibilité de l'accès rapide L'affichage du portefeuille sur l'écran de verrouillage est contrôlé par le paramètre sécurisé suivant: LOCKSCREEN_SHOW_WALLET Ce paramètre détermine si le portefeuille Accès rapide s'affiche en bas à droite de l'écran de verrouillage. Ce paramètre est défini sur true par défaut, mais l'utilisateur peut la désactiver dans Paramètres > Écran > Écran de verrouillage > Afficher le portefeuille.

Android 11

Sous Android 11, la visibilité de Wallet pour l'accès rapide est limitée par deux paramètres sécurisés: GLOBAL_ACTIONS_PANEL_ENABLED et GLOBAL_ACTIONS_PANEL_AVAILABLE. La Le paramètre AVAILABLE permet de contrôler si la fonctionnalité peut être activée ou désactivée dans Paramètres. Ce paramètre est défini sur true par WalletPluginService Si QuickAccessWallet n'est pas inclus dans le build, le paramètre demeure false Le paramètre ENABLED est défini sur true par défaut au même endroit, mais peuvent être désactivées par l'utilisateur dans les paramètres. Pour modifier le comportement par défaut, modifier WalletPluginService#enableFeatureInSettings.

Validation

Pour valider votre implémentation de Quick Access Wallet, exécutez CTS et exécutez manuellement tests. Les modifications apportées au plug-in doivent également appliquer les tests robolectric.

Tests CTS

Exécutez les tests CTS disponibles à l'adresse cts/tests/quickaccesswallet

Tests manuels pour Android 12

Tester les fonctionnalités essentielles du portefeuille Accès rapide nécessite un paiement NFC (vrai ou factice) et une application de paiement NFC qui implémente QuickAccessWalletService (application de portefeuille). Principales fonctionnalités à tester la disponibilité, l'état zéro, la sélection des cartes et le comportement de l'écran de verrouillage.

Disponibilité

  • Si l'application de paiement NFC par défaut n'est pas compatible avec cette fonctionnalité, L'accès à Wallet n'est accessible ni dans les Réglages rapides, ni dans la serrure l'écran.
  • Si l'application de paiement NFC par défaut est compatible avec cette fonctionnalité, l'accès rapide Wallet est accessible dans le volet des réglages rapides.
  • Si l'application de paiement NFC par défaut est compatible avec la fonctionnalité et si la Le paramètre LOCKSCREEN_SHOW_WALLET est défini sur true, le portefeuille Accès rapide est accessibles sur l'écran de verrouillage.
  • Si l'application de paiement NFC par défaut est compatible avec la fonctionnalité et si la le paramètre LOCKSCREEN_SHOW_WALLET est false, le portefeuille Accès rapide n'est pas accessibles sur l'écran de verrouillage.

État zéro

  • Si QuickAccessWalletService est activé et exporté, mais ne le fait pas n'affiche aucune carte, la vignette du volet s'affiche comme dans l' de la Figure 7. Cliquez sur la vignette pour ouvrir l'application de paiement NFC par défaut.

    Exemple de vignette dans le volet affichant l&#39;application de paiement NFC par défaut

    Figure 7. Exemple de vignette dans le volet affichant l'application de paiement NFC par défaut.

  • Cliquez sur la vue d'état vide, comme illustré à la figure 8, pour ouvrir la application de paiement NFC par défaut. Cette vue vide ne s'affiche que lorsque l'utilisateur dispose encore d'une carte dans le portefeuille et supprime la carte des informations relatives à la carte puis revient à l'affichage du portefeuille.

  • L'écran de verrouillage affiche l'icône portefeuille.

Vue d&#39;état vide dans Wallet Accès rapide

Figure 8. Vue d'état vide dans l'interface utilisateur de Wallet pour l'accès rapide.

État non nul

  • Si l'application Wallet fournit une ou plusieurs cartes, la vignette dans le volet des paiements s'affiche, comme illustré dans la figure 9.

    Exemple de carte dans le volet lorsque l&#39;application Wallet contient une ou plusieurs cartes

    Figure 9. Exemple de carte dans le volet lorsque l'application Wallet contient une ou plusieurs cartes.

  • Cliquez sur une tuile pour afficher un carrousel de fiches.

  • L'écran de verrouillage affiche un bouton qui ouvre le portefeuille Accès rapide.

    Interface utilisateur de Wallet en accès rapide avec une carte affichée

    Figure 10. Interface utilisateur de Wallet en accès rapide avec une carte affichée

  • Si la carte affichée représente un mode de paiement NFC, maintenez le bouton téléphone à un terminal de paiement NFC entraîne l'utilisation de ce mode de paiement. et l'affichage du portefeuille est fermé.

  • Cliquez sur une fiche affichée pour ouvrir l'activité détaillée correspondante.

  • Si QuickAccessWalletService fournit plusieurs cartes, l'utilisateur peut passer d'une carte à l'autre.

  • Le menu à développer contient une entrée: ouvrir les paramètres de l'écran de verrouillage pour l'utilisateur peut modifier l'option Afficher le portefeuille.

Tests de l'état de verrouillage

  • Si le téléphone est verrouillé, le portefeuille est visible dans les réglages rapides teinte, avec la description Ajouter une carte si aucune carte n'existe dans la valeur par défaut application de paiement par défaut, ou déverrouillez-la pour pouvoir l'utiliser si des cartes sont disponibles dans l'application de paiement par défaut.
  • Si le téléphone est verrouillé, le portefeuille est visible sur l'écran de verrouillage. contrôlée par le paramètre Secure.LOCKSCREEN_SHOW_WALLET, qui est contrôlé dans les paramètres.
  • Si le téléphone est verrouillé, LOCKSCREEN_SHOW_WALLET est à l'état false, et aucune carte existe dans l'application de paiement NFC par défaut, le portefeuille ne s'affiche pas sur le l'écran de verrouillage.
  • Si le téléphone est verrouillé, LOCKSCREEN_SHOW_WALLET est à l'état true, et aucune carte existe dans l'application de paiement NFC par défaut, le portefeuille ne s'affiche pas sur le l'écran de verrouillage.
  • Si le téléphone est verrouillé, LOCKSCREEN_SHOW_WALLET est à l'état true, et les cartes dans l'application de paiement NFC par défaut, le portefeuille s'affiche sur la serrure. l'écran.
  • Déverrouiller le téléphone alors que le portefeuille est affiché sur la serrure écran entraîne le rappel des cartes, ce qui peut entraîner des contenus de carte différents.

Tests d'accessibilité

  • Les utilisateurs de TalkBack peuvent parcourir le portefeuille en balayant l'écran vers la gauche et vers la droite. et en écoutant les descriptions de contenu des fiches.
  • Lorsque TalkBack est activé, balayez l'écran vers la gauche ou vers la droite pour sélectionner chaque carte l'une après l'autre. Les utilisateurs de TalkBack peuvent sélectionner et utiliser un mode de paiement NFC pour effectuer des paiements NFC. du terminal.

Tests manuels pour Android 11

Tester les fonctionnalités essentielles du portefeuille Accès rapide nécessite un paiement NFC (vrai ou factice) et une application de paiement NFC qui implémente QuickAccessWalletService (application de portefeuille). Principales fonctionnalités à tester incluent la disponibilité, l'état zéro, la sélection des cartes et le comportement de l'écran de verrouillage.

Disponibilité

  • Si le paramètre GLOBAL_ACTIONS_PANEL_ENABLED est défini sur true et que la valeur par défaut L'application de paiement NFC prend en charge cette fonctionnalité, et le Portefeuille Quick Access est accessible.
  • Si le paramètre GLOBAL_ACTIONS_PANEL_ENABLED est défini sur false et que la valeur par défaut L'application de paiement NFC est compatible avec cette fonctionnalité, contrairement au portefeuille Accès rapide non accessibles.
  • Si le paramètre GLOBAL_ACTIONS_PANEL_ENABLED est défini sur true et que la valeur par défaut L'application de paiement NFC n'est pas compatible avec cette fonctionnalité, le Portefeuille en accès rapide n'est pas accessible.
  • Si le paramètre GLOBAL_ACTIONS_PANEL_ENABLED est défini sur false et que la valeur par défaut L'application de paiement NFC n'est pas compatible avec cette fonctionnalité, le Portefeuille en accès rapide n'est pas accessible.

État zéro

  • Si QuickAccessWalletService est activé et exporté, mais ne le fait pas fournir des cartes, l'UI de Wallet pour l'accès rapide affiche la vue d'état vide.
  • Cliquez sur la vue d'état vide pour ouvrir l'application Wallet.

    <ph type="x-smartling-placeholder">
    </ph> Vue d&#39;état vide dans l&#39;UI de Wallet pour l&#39;accès rapide
    Figure 11. Vue d'état vide dans la section "Accès rapide" Interface utilisateur de Wallet

État non nul

  • Si l'application Wallet propose une ou plusieurs cartes, celles-ci s'affichent dans l'UI de Wallet pour l'accès rapide.

    <ph type="x-smartling-placeholder">
    </ph> Interface utilisateur de Wallet en accès rapide avec une carte affichée
    Figure 12. Accès rapide à l'interface utilisateur de Wallet avec une carte s'affiche.
  • Si la carte affichée représente un mode de paiement NFC, maintenez le bouton téléphone à un terminal de paiement NFC entraîne l'utilisation de ce mode de paiement. et l'affichage du portefeuille est fermé.

  • Cliquez sur l'une des cartes affichées pour fermer la vue Portefeuille et ouvrir l'activité détaillée pour cette fiche.

  • Si QuickAccessWalletService fournit plusieurs cartes, l'utilisateur peut passer d'une carte à l'autre.

  • Le menu à développer contient deux entrées: l'une qui ouvre l'application Wallet et une qui ouvre la page Afficher les cartes et cartes dans les paramètres.

Tests de l'état de verrouillage

  • Si le téléphone est verrouillé, la visibilité du portefeuille est contrôlée par l'icône Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT, qui peut être contrôlé dans les paramètres.
  • Si le téléphone est verrouillé et que POWER_MENU_LOCK_SHOW_CONTENT est sur false, le portefeuille ne s'affiche pas.
  • Si le téléphone est verrouillé et que POWER_MENU_LOCK_SHOW_CONTENT est sur true, le Wallet s'affiche.
  • Déverrouiller le téléphone alors que le portefeuille est affiché sur la serrure écran entraîne de nouvelles requêtes, ce qui peut entraîner des contenus de carte différents.

Tests d'accessibilité

  • Les utilisateurs de TalkBack peuvent parcourir le portefeuille en balayant l'écran vers la gauche ou vers la droite. et en écoutant les descriptions de contenu des fiches.
  • Lorsque TalkBack est activé, balayez l'écran vers la gauche ou vers la droite pour sélectionner chaque fiche l'une après l'autre. Les utilisateurs de TalkBack peuvent sélectionner et utiliser un mode de paiement NFC pour effectuer des paiements NFC. du terminal.