Google est engagé à faire progresser l'équité raciale pour les communautés noires. Regarde comment.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

ConsoleReaderOutputStream

public class ConsoleReaderOutputStream
extends Object

java.lang.Object
com.android.tradefed.log.ConsoleReaderOutputStream


Un OutputStream qui peut être utilisé pour faire System.out.print() belle pièce avec l'utilisateur ConsoleReader tampon.

Dans les tests triviaux de performance, cette classe n'a pas eu d'impact sur les performances mesurables.

Résumé

constructeurs publics

ConsoleReaderOutputStream (ConsoleReader reader)

méthodes publiques

void flush ()

ConsoleReader getConsoleReader ()

Obtenez l'instance ConsoleReader que nous utilisons en interne

void setAsyncMode ()

Définir le mode asynchrone.

void setSyncMode ()

Définir le mode synchrone.

void write (byte[] b, int off, int len)

Une mise en œuvre spéciale pour garder la commande de l'utilisateur tampon visible lorsque les tâches asynchrones écrire à stdout.

void write (int b)

constructeurs publics

ConsoleReaderOutputStream

public ConsoleReaderOutputStream (ConsoleReader reader)

Paramètres
reader ConsoleReader

méthodes publiques

affleurer

public void flush ()

getConsoleReader

public ConsoleReader getConsoleReader ()

Obtenez l'instance ConsoleReader que nous utilisons en interne

Retour
ConsoleReader

setAsyncMode

public void setAsyncMode ()

Définir le mode asynchrone. Cela se produit immédiatement après que nous affichons la commande rapide et commencer attente pour l'entrée utilisateur. Dans ce mode, la ligne la plus récente sur l'écran est garanti d'être l'invite de commande. En particulier, les tâches asynchrones peuvent tenter d'imprimer à l'écran, et nous mélanger l'invite quand ils le font.

setSyncMode

public void setSyncMode ()

Définir le mode synchrone. Cela se produit après que l'utilisateur a pris des mesures, telles que la ligne la plus récente sur l'écran est garanti _not_ la commande rapide. Dans ce cas, nous désactivons le comportement de l'invite-brassage (qui exige que la ligne la plus récente sur l'écran soit l'invite)

écrire

public void write (byte[] b, 
                int off, 
                int len)

Une mise en œuvre spéciale pour garder la commande de l'utilisateur tampon visible lorsque les tâches asynchrones écrire à stdout.

Si une écriture complète en ligne est détectée (qui se termine avec « \ n »), nous:

  1. Effacer la ligne en cours (qui contiendra l'invite et le tampon de l'utilisateur
  2. Imprimer la gamme complète (s), qui nous déposer sur une nouvelle ligne
  3. Redessiner l'invite et le tampon de l'utilisateur

Ce faisant, nous gardons jamais sauter toute sortie de manière asynchrone connecté, mais nous avons quand même l'invite et le tampon de l'utilisateur que les derniers éléments sur l'écran.

FIXME: Nous devrions probablement tampon de sortie et écrire uniquement des lignes complètes à la console.

Paramètres
b byte

off int

len int

écrire

public void write (int b)

Paramètres
b int