IncrementalInstallSession
public
class
IncrementalInstallSession
extends Object
| java.lang.Object | |
| ↳ | com.android.incfs.install.IncrementalInstallSession |
Służy do tworzenia sesji instalacji pakietu przyrostowego, w której bloki zainstalowanych plików APK są przesyłane strumieniowo na urządzenie, gdy trzeba je odczytać.
Instalacja przyrostowa korzysta z przyrostowego systemu plików (IncFs), aby umożliwić ukończenie instalacji, zanim cały plik APK zostanie przesłany strumieniowo na urządzenie. Tej klasy można używać do rozpoczynania instalacji przyrostowej, określania, które bloki APK mogą być przesyłane strumieniowo na urządzenie, oraz czekania, aż instalacja APK zostanie zakończona lub wszystkie bloki zostaną przesłane strumieniowo na urządzenie.
Połączenie z urządzeniem pozostaje otwarte do czasu zamknięcia sesji, niepowodzenia instalacji, przekroczenia limitu czasu połączenia z urządzeniem lub wystąpienia wyjątku podczas przetwarzania żądań bloków z urządzenia.
Przykład użycia tej klasy:
{@code try (IncrementalInstallSession session = new IncrementalInstallSession.Builder()
.addApk(mTestApk0, mTestSignature0)
.build()) {
// Start the session on a separate thread.
session.start(Executors.newCachedThreadPool(), mockDevice.getFactory());
// Wait a maximum of 45 seconds for the install to finish.
session.waitForInstallCompleted(45, TimeUnit.SECONDS);
}Podsumowanie
Zagnieżdżone klasy | |
|---|---|
class |
IncrementalInstallSession.Builder
|
Metody publiczne | |
|---|---|
void
|
close()
Anuluje komunikację z urządzeniem. |
IncrementalInstallSession
|
start(Executor executor, IDeviceConnection.Factory conFactory)
Rozpoczyna sesję instalacji strumieniowej. |
void
|
waitForAnyCompletion(long timeout, TimeUnit units)
Blokuje bieżący wątek do momentu przesłania danych APK na urządzenie lub zakończenia instalacji. |
void
|
waitForInstallCompleted(long timeout, TimeUnit units)
Blokuje bieżący wątek do momentu zainstalowania wszystkich plików APK. |
void
|
waitForServingCompleted(long timeout, TimeUnit units)
Blokuje bieżący wątek, dopóki wszystkie dane APK nie zostaną przesłane strumieniowo na urządzenie. |
Metody publiczne
zamknij
public void close ()
Anuluje komunikację z urządzeniem.
rozpocznij
public IncrementalInstallSession start (Executor executor, IDeviceConnection.Factory conFactory)
Rozpoczyna sesję instalacji strumieniowej.
| Parametry | |
|---|---|
executor |
Executor: wykonawca, który ma rozpocząć obsługę żądań blokowania z urządzenia |
conFactory |
IDeviceConnection.Factory: fabryka połączeń z urządzeniem, |
| Zwroty | |
|---|---|
IncrementalInstallSession |
|
| Zgłasza | |
|---|---|
|
jeśli podczas komunikacji z urządzeniem wystąpi błąd; |
waitForAnyCompletion
public void waitForAnyCompletion (long timeout,
TimeUnit units)Blokuje bieżący wątek do momentu przesłania danych APK na urządzenie lub zakończenia instalacji.
| Parametry | |
|---|---|
timeout |
long: maksymalny czas oczekiwania. Wartość 0 spowoduje, że ta metoda będzie czekać w nieskończoność. |
units |
TimeUnit: jednostki dla wartości timeout różnej od zera |
| Zgłasza | |
|---|---|
|
jeśli upłynie czas oczekiwania, nie uda się zainstalować pliku APK lub podczas obsługi żądań blokowania wystąpi wyjątek. |
waitForInstallCompleted
public void waitForInstallCompleted (long timeout,
TimeUnit units)Blokuje bieżący wątek do momentu zainstalowania wszystkich plików APK. Wyświetlanie danych może zakończyć się przed lub po pomyślnej instalacji.
| Parametry | |
|---|---|
timeout |
long: maksymalny czas oczekiwania na zakończenie instalacji. Wartość 0 spowoduje, że ta metoda będzie czekać w nieskończoność. |
units |
TimeUnit: jednostki dla wartości timeout różnej od zera |
| Zgłasza | |
|---|---|
|
jeśli upłynie czas oczekiwania, nie uda się zainstalować pliku APK lub podczas obsługi żądań blokowania wystąpi wyjątek. |
waitForServingCompleted
public void waitForServingCompleted (long timeout,
TimeUnit units)Blokuje bieżący wątek, dopóki wszystkie dane APK nie zostaną przesłane strumieniowo na urządzenie. Instalacja może się zakończyć przed zakończeniem wyświetlania lub po nim.
| Parametry | |
|---|---|
timeout |
long: maksymalny czas oczekiwania na zakończenie wyświetlania. Wartość 0 spowoduje, że ta metoda będzie czekać w nieskończoność. |
units |
TimeUnit: jednostki dla wartości timeout różnej od zera |
| Zgłasza | |
|---|---|
|
jeśli upłynie czas oczekiwania, nie uda się przesłać strumieniowo pliku APK lub podczas obsługi żądań bloków wystąpi wyjątek. |