FileListingService

public final class FileListingService
extends Object

java.lang.Object
   ↳ com.android.ddmlib.FileListingService


Fornece o serviço de listagem de arquivos secundários IDevice.

Resumo

Classes aninhadas

class FileListingService.FileEntry

Representa uma entrada em um diretório. 

interface FileListingService.IListingReceiver

As classes que implementam essa interface fornecem um método que lida com o resultado assíncrono do comando ls no dispositivo. 

Constantes

String DIRECTORY_APP

Pasta de aplicativos.

String DIRECTORY_DATA

Pasta de dados de nível superior.

String DIRECTORY_MNT

Pasta de montagem de nível superior.

String DIRECTORY_SDCARD

Pasta sdcard de nível superior.

String DIRECTORY_SYSTEM

Pasta de sistema de nível superior.

String DIRECTORY_TEMP

Pasta temporária de nível superior.

String FILE_SEPARATOR

Separador de arquivos do lado do dispositivo.

long REFRESH_RATE

int TYPE_BLOCK

Tipo de entrada: bloqueio

int TYPE_CHARACTER

Tipo de entrada: caractere

int TYPE_DIRECTORY

Tipo de entrada: diretório

int TYPE_DIRECTORY_LINK

Tipo de entrada: link do diretório

int TYPE_FIFO

Tipo de entrada: FIFO

int TYPE_FILE

Tipo de entrada: arquivo

int TYPE_LINK

Tipo de entrada: link

int TYPE_OTHER

Tipo de entrada: outro

int TYPE_SOCKET

Tipo de entrada: soquete

Campos

public static final Pattern LS_LD_PATTERN

public static final Pattern LS_L_PATTERN

Padrão de expressão regular para analisar o resultado de ls.

public static final Pattern STAT_PATTERN

Padrão de expressão regular para analisar o resultado da estatística.

Construtores públicos

FileListingService(IDevice device)

Cria um serviço de listagem de arquivos para um IDevice especificado.

Métodos públicos

FileEntry[] getChildren(FileListingService.FileEntry entry, boolean useCache, FileListingService.IListingReceiver receiver)

Retorna os filhos de um FileEntry.

FileEntry[] getChildrenSync(FileListingService.FileEntry entry)

Retorna os filhos de um FileEntry.

FileListingService.FileEntry getRoot()

Retorna o elemento raiz.

Constantes

DIRECTORY_APP

public static final String DIRECTORY_APP

Pasta de aplicativos.

Valor da constante: "app"

DIRECTORY_DATA

public static final String DIRECTORY_DATA

Pasta de dados de nível superior.

Valor da constante: "data"

DIRECTORY_MNT

public static final String DIRECTORY_MNT

Pasta de montagem de nível superior.

Valor da constante: "mnt"

DIRECTORY_SDCARD

public static final String DIRECTORY_SDCARD

Pasta sdcard de nível superior.

Valor da constante: "sdcard"

DIRECTORY_SYSTEM

public static final String DIRECTORY_SYSTEM

Pasta de sistema de nível superior.

Valor da constante: "system"

DIRECTORY_TEMP

public static final String DIRECTORY_TEMP

Pasta temporária de nível superior.

Valor da constante: "tmp"

FILE_SEPARATOR

public static final String FILE_SEPARATOR

Separador de arquivos do lado do dispositivo.

Valor da constante: "/"

REFRESH_RATE

public static final long REFRESH_RATE

Valor da constante: 5000 (0x0000000000001388)

TYPE_BLOCK

public static final int TYPE_BLOCK

Tipo de entrada: bloqueio

Valor da constante: 3 (0x00000003)

TYPE_CHARACTER

public static final int TYPE_CHARACTER

Tipo de entrada: caractere

Valor da constante: 4 (0x00000004)

TYPE_DIRECTORY

public static final int TYPE_DIRECTORY

Tipo de entrada: diretório

Valor da constante: 1 (0x00000001)

public static final int TYPE_DIRECTORY_LINK

Tipo de entrada: link do diretório

Valor da constante: 2 (0x00000002)

TYPE_FIFO

public static final int TYPE_FIFO

Tipo de entrada: FIFO

Valor da constante: 7 (0x00000007)

TYPE_FILE

public static final int TYPE_FILE

Tipo de entrada: arquivo

Valor da constante: 0 (0x00000000)

public static final int TYPE_LINK

Tipo de entrada: link

Valor da constante: 5 (0x00000005)

TYPE_OTHER

public static final int TYPE_OTHER

Tipo de entrada: outro

Valor da constante: 8 (0x00000008)

TYPE_SOCKET

public static final int TYPE_SOCKET

Tipo de entrada: soquete

Valor da constante: 6 (0x00000006)

Campos

LS_LD_PATTERN

public static final Pattern LS_LD_PATTERN

LS_L_PATTERN

public static final Pattern LS_L_PATTERN

Padrão de expressão regular para analisar o resultado de ls.

STAT_PATTERN

public static final Pattern STAT_PATTERN

Padrão de expressão regular para analisar o resultado de stat. Ex.: drwxr-xr-x root root 2021-08-02 09:20:53.000000000 -0700 4096 /

Construtores públicos

FileListingService

public FileListingService (IDevice device)

Cria um serviço de listagem de arquivos para um IDevice especificado.

Parâmetros
device IDevice: o dispositivo a que o serviço está conectado.

Métodos públicos

getChildren

public FileEntry[] getChildren (FileListingService.FileEntry entry, 
                boolean useCache, 
                FileListingService.IListingReceiver receiver)

Retorna os filhos de um FileEntry.

Esse método oferece suporte a um mecanismo de cache e aos modos síncrono e assíncrono.

Se receiver for null, o comando ls do lado do dispositivo será executado de forma síncrona, e o método será retornado após a conclusão do comando.
Se receiver não for null, o comando será iniciado em uma linha de execução separada e, após a conclusão, o destinatário será notificado do resultado.

O resultado de cada comando ls é armazenado em cache no FileEntry pai. useCache permite o uso desse cache, mas apenas se ele for válido. O cache é válido apenas por FileListingService.REFRESH_RATE ms. Depois disso, um novo comando ls é sempre executado.

Se o cache for válido e useCache == true, o método sempre retornará o valor do cache, independente de um IListingReceiver ter sido fornecido ou não.

Parâmetros
entry FileListingService.FileEntry: a entrada principal.

useCache boolean: uma flag para usar o cache ou forçar um novo comando "ls".

receiver FileListingService.IListingReceiver: um receptor para chamadas assíncronas.

Retorna
FileEntry[] A lista de filhos ou null para chamadas assíncronas.

getChildrenSync

public FileEntry[] getChildrenSync (FileListingService.FileEntry entry)

Retorna os filhos de um FileEntry.

Esse método é a versão síncrona explícita de getChildren(com.android.ddmlib.FileListingService.FileEntry, boolean, com.android.ddmlib.FileListingService.IListingReceiver). É aproximadamente equivalente a chamar getChildren(FileEntry, false, null)

Parâmetros
entry FileListingService.FileEntry: a entrada principal.

Retorna
FileEntry[] A lista de crianças

Gera
TimeoutException em caso de tempo limite na conexão ao enviar o comando.
AdbCommandRejectedException se o adb rejeitar o comando.
ShellCommandUnresponsiveException caso o comando do shell não envie nenhuma saída por um período maior que maxTimeToOutputResponse.
em caso de erro de E/S na conexão.

getRoot

public FileListingService.FileEntry getRoot ()

Retorna o elemento raiz.

Retorna
FileListingService.FileEntry o objeto FileEntry que representa o elemento raiz ou null se o dispositivo for inválido.