Aller au contenu

Tâche Scroll

Résumé

  • Nom interne : Scroll
  • Catégorie : Android UI
  • Objectif : Balayer l'écran une fois dans une direction (haut, bas, gauche, droite).
  • Type de tâche : Normal

Compatibilité

  • Version AndroMate minimale : 1.1.0
  • Version AndroMate maximale : 1.1.0
  • Android minimum : Android 13 (API 33)
  • Android testé maximum : Android 16 (API 36)
  • Fabricants supportés :

    • Samsung (One UI 6.x / 7.x / 8.x)
    • Autres fabricants - pas encore supportés (Xiaomi HyperOS et Google Pixel en cours d'adaptation)
    • Permissions requises :
    • ACCESSIBILITY_SERVICE

Description détaillée

La tâche Scroll effectue un seul geste de balayage plein écran dans une direction choisie via dispatchGesture - le même mécanisme que Click In (x, y), pas ACTION_SCROLL_FORWARD/ACTION_SCROLL_BACKWARD (qui ne fonctionnent que sur des nœuds explicitement marqués comme scrollables et ne se généralisent pas à des conteneurs arbitraires comme RecyclerView, ScrollView ou WebView).

Le balayage couvre 60% de l'écran (de 20% à 80% selon l'axe concerné, centré sur l'autre axe), en partant près du bord opposé à la direction voulue - ex. faire défiler vers le bas balaie le doigt depuis près du bas vers le haut, exactement comme un vrai défilement tactile. Pour un défilement répété jusqu'à l'apparition d'un élément, voir Scroll To Element.


Paramètres d'entrée

Paramètre Type Requis Valeurs possibles Compatibilité Android Compatibilité AndroMate Défaut
Scroll_direction Enum / String (résolvable) Oui Up, Down, Left, Right Android 13 (API 33) -> Android 16 (API 36) 1.1.0 -> 1.1.0 ""

Paramètres de sortie

Cette tâche ne produit aucune variable de sortie. Elle retourne un VoidResult en cas de succès.


Exceptions

Code Nom de l'exception Description
SCREEN-AUTOMATOR-ERROR-003 Invalid Action Type Scroll_direction n'est ni Up, Down, Left, ni Right.
SCREEN-AUTOMATOR-ERROR-010 Screen Automator Service Not Connected Le service d'accessibilité AndroMate n'est pas activé/connecté.
SCREEN-AUTOMATOR-ERROR-011 Screen Automator Action Failed L'envoi du geste a échoué (rare - dispatchGesture est un tir-et-oublie qui réussit normalement toujours au niveau API).

Diagramme d'exécution

flowchart TD
    Start([Scroll]) --> CheckConnected{Service d'accessibilité\nconnecté ?}
    CheckConnected -->|Non| E1[SCREEN-AUTOMATOR-ERROR-010\nSERVICE_NOT_CONNECTED]
    CheckConnected -->|Oui| Resolve{Scroll_direction\nvalide ?}
    Resolve -->|Non| E2[SCREEN-AUTOMATOR-ERROR-003\nINVALID_ACTION_TYPE]
    Resolve -->|Oui| Dispatch[dispatchGesture\nbalayage 60% dans cette direction]
    Dispatch --> Success([VoidResult])

    E1 --> Error([Exception])
    E2 --> Error

    style Start fill:#e3f2fd
    style Success fill:#c8e6c9
    style Error fill:#ffcdd2
    style Dispatch fill:#fff9c4

Fonctionnement :

  1. Vérifier la connexion : échoue immédiatement avec SERVICE_NOT_CONNECTED si le service d'accessibilité n'est pas activé.
  2. Résoudre la direction : convertit Scroll_direction en Up/Down/Left/Right ; toute autre valeur lève INVALID_ACTION_TYPE.
  3. Envoyer : un seul geste de balayage couvrant 60% de l'écran dans cette direction.

Exemples de code

Exemple 1 - Défiler une liste vers le bas

{
  "Scroll": [
    { "id": "1", "title": "Défiler vers le bas", "Scroll_direction": "Down" }
  ]
}

Détails des paramètres d'entrée

1. Paramètre d'entrée : Scroll_direction

Dans quel sens le doigt balaie - décrit du point de vue du contenu (ex. Down révèle le contenu en dessous, en balayant le doigt vers le haut).

Valeur Effet
Up Révèle le contenu au-dessus (le doigt balaie vers le bas).
Down Révèle le contenu en dessous (le doigt balaie vers le haut).
Left Révèle le contenu à gauche (le doigt balaie vers la droite).
Right Révèle le contenu à droite (le doigt balaie vers la gauche).

Exemple

"Scroll_direction": "Down"

Détails des paramètres de sortie

Cette tâche n'a pas de paramètres de sortie.


Exemple JSON complet

{
  "Scroll": [
    { "id": "1", "title": "Défiler une fois vers le bas", "Scroll_direction": "Down" }
  ]
}