ContentProviderHandler

public class ContentProviderHandler
extends Object

java.lang.Object
   ↳ com.android.tradefed.device.contentprovider.ContentProviderHandler


コンテンツ プロバイダのインタラクションを抽象化し、さまざまなオペレーションでデバイス側のコンテンツ プロバイダを使用できるようにするハンドラ。

このクラスのすべての実装は、デバイスで現在実行中のユーザーを考慮する必要があります。

概要

定数

String COLUMN_ABSOLUTE_PATH

String COLUMN_DIRECTORY

String COLUMN_METADATA

String COLUMN_MIME_TYPE

String COLUMN_NAME

String CONTENT_PROVIDER_URI

String NO_RESULTS_STRING

String PACKAGE_NAME

String QUERY_INFO_VALUE

フィールド

public static final String[] COLUMNS

パブリック コンストラクタ

ContentProviderHandler(ITestDevice device)

コンストラクタ。

ContentProviderHandler(ITestDevice device, Integer userId)

パブリック メソッド

boolean contentProviderNotFound()

コンテンツ プロバイダが見つからないというエラーでオペレーションのいずれかが失敗した場合に True を返します。

static String createEscapedContentUri(String deviceFilePath)

指定されたデバイスパスの完全な URI 文字列を返します。URL 以外の文字を避けるため、エスケープしてエンコードします。

boolean deleteFile(String deviceFilePath)

URI の場所にあるファイルを削除するコンテンツ プロバイダのコールバック。

boolean doesFileExist(String deviceFilePath)

ファイルまたは空でないディレクトリがデバイスに存在するかどうかを判断します。

IRunUtil getRunUtil()
Integer getUserId()

このインスタンスが初期化された userId を返します。

boolean pullDir(String deviceFilePath, File localDir)

コンテンツ プロバイダを使用して、デバイスからディレクトリの内容を再帰的に取得します。

boolean pullFile(String deviceFilePath, File localFile)

URI の場所からローカル ファイルにファイルをプルするコンテンツ プロバイダのコールバック。

boolean pushDir(File localFileDir, String deviceFilePath, excludedDirectories)

URI の場所に dir をプッシュするコンテンツ プロバイダのコールバック。

boolean pushFile(File fileToPush, String deviceFilePath)

URI の場所にファイルをプッシュするコンテンツ プロバイダのコールバック。

void setRunUtil(IRunUtil runUtil)
boolean setUp()

コンテンツ プロバイダ ヘルパー APK がインストールされ、使用できる状態になっていることを確認します。

void tearDown()

コンテンツ プロバイダ ヘルパーからデバイスをクリーンアップします。

定数

COLUMN_ABSOLUTE_PATH

public static final String COLUMN_ABSOLUTE_PATH

定数値: "absolute_path"

COLUMN_DIRECTORY

public static final String COLUMN_DIRECTORY

定数値: "is_directory"

COLUMN_METADATA

public static final String COLUMN_METADATA

定数値: "metadata"

COLUMN_MIME_TYPE

public static final String COLUMN_MIME_TYPE

定数値: "mime_type"

COLUMN_NAME

public static final String COLUMN_NAME

定数値: "name"

CONTENT_PROVIDER_URI

public static final String CONTENT_PROVIDER_URI

定数値: "content://android.tradefed.contentprovider"

NO_RESULTS_STRING

public static final String NO_RESULTS_STRING

定数値: "No result found."

PACKAGE_NAME

public static final String PACKAGE_NAME

定数値: "android.tradefed.contentprovider"

QUERY_INFO_VALUE

public static final String QUERY_INFO_VALUE

定数値: "INFO"

フィールド

public static final String[] COLUMNS

パブリック コンストラクタ

ContentProviderHandler

public ContentProviderHandler (ITestDevice device)

コンストラクタ。

パラメータ
device ITestDevice

例外
DeviceNotAvailableException

ContentProviderHandler

public ContentProviderHandler (ITestDevice device, 
                Integer userId)

パラメータ
device ITestDevice

userId Integer

パブリック メソッド

contentProviderNotFound

public boolean contentProviderNotFound ()

いずれかのオペレーションが Content provider not found で失敗した場合に True を返します。setUp() を再度実行して成功すると、クリアできます。

戻り値
boolean

createEscapedContentUri

public static String createEscapedContentUri (String deviceFilePath)

指定されたデバイスパスの完全な URI 文字列を返します。URL 以外の文字を避けるため、エスケープとエンコードが行われます。

パラメータ
deviceFilePath String

戻り値
String

deleteFile

public boolean deleteFile (String deviceFilePath)

URI の場所にあるファイルを削除するコンテンツ プロバイダのコールバック。ファイルはデバイスのコンテンツから削除されます。

パラメータ
deviceFilePath String: 削除するファイルのデバイス上のパス。

戻り値
boolean 成功した場合は True、それ以外の場合は False

例外
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath)

ファイルまたは空でないディレクトリがデバイスに存在するかどうかを判断します。

パラメータ
deviceFilePath String: 存在を確認するデバイス上の絶対ファイルパス。

戻り値
boolean ファイル/ディレクトリが存在する場合は True、それ以外の場合は False。ディレクトリが空の場合も、False が返されます。

例外
DeviceNotAvailableException

getRunUtil

public IRunUtil getRunUtil ()

戻り値
IRunUtil

getUserId

public Integer getUserId ()

このインスタンスが初期化された userId を返します。

戻り値
Integer

pullDir

public boolean pullDir (String deviceFilePath, 
                File localDir)

コンテンツ プロバイダを使用して、デバイスからディレクトリの内容を再帰的に取得します。

パラメータ
deviceFilePath String: リモート ソースの絶対ファイルパス

localDir File: ファイルをプルするローカル ディレクトリ

戻り値
boolean ファイルが正常に取得された場合は true。それ以外の場合は false

例外
DeviceNotAvailableException デバイスとの接続が失われ、復元できない場合。

pullFile

public boolean pullFile (String deviceFilePath, 
                File localFile)

URI の場所からローカル ファイルにファイルをプルするコンテンツ プロバイダのコールバック。

パラメータ
deviceFilePath String: ファイルの取得元となるデバイス上のパス。

localFile File: コンテンツを保存する ERROR(/File)。空でない場合、内容は置き換えられます。

戻り値
boolean 成功した場合は True、それ以外の場合は False

例外
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

pushDir

public boolean pushDir (File localFileDir, 
                String deviceFilePath, 
                 excludedDirectories)

URI の場所にディレクトリをプッシュするコンテンツ プロバイダのコールバック。

パラメータ
localFileDir File: プッシュするディレクトリ

deviceFilePath String: デバイス上の位置情報

excludedDirectories : プッシュに含まれていないディレクトリ。

戻り値
boolean 成功した場合は true

例外
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

pushFile

public boolean pushFile (File fileToPush, 
                String deviceFilePath)

URI の場所にファイルをプッシュするコンテンツ プロバイダのコールバック。

パラメータ
fileToPush File: デバイスにプッシュされる ERROR(/File)

deviceFilePath String: ファイルをプッシュするデバイス上のパス。

戻り値
boolean 成功した場合は True、それ以外の場合は False

例外
com.android.tradefed.device.DeviceNotAvailableException
IllegalArgumentException
DeviceNotAvailableException

setRunUtil

public void setRunUtil (IRunUtil runUtil)

パラメータ
runUtil IRunUtil

setUp

public boolean setUp ()

コンテンツ プロバイダ ヘルパー APK がインストールされ、使用できる状態になっていることを確認します。

戻り値
boolean 使用できる場合は true、それ以外の場合は false。

例外
DeviceNotAvailableException

tearDown

public void tearDown ()

コンテンツ プロバイダ ヘルパーからデバイスをクリーンアップします。

例外
DeviceNotAvailableException