IncrementalInstallSession
public
class
IncrementalInstallSession
extends Object
| java.lang.Object | |
| ↳ | com.android.incfs.install.IncrementalInstallSession |
Digunakan untuk membuat sesi penginstalan paket inkremental yang di dalamnya blok APK yang diinstal di-streaming ke perangkat saat perlu dibaca.
Penginstalan inkremental menggunakan Sistem File Inkremental (IncFs) untuk memungkinkan penginstalan selesai sebelum seluruh APK di-streaming ke perangkat. Class ini dapat digunakan untuk memulai penginstalan inkremental, mengontrol blok APK mana yang diizinkan untuk di-streaming ke perangkat, dan menunggu hingga penginstalan APK selesai dan/atau hingga semua blok telah di-streaming ke perangkat.
Koneksi ke perangkat tetap terbuka hingga sesi ditutup, penginstalan gagal, koneksi perangkat kehabisan waktu, atau terjadi pengecualian saat memproses permintaan blok dari perangkat.
Contoh penggunaan class ini adalah:
{@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);
}Ringkasan
Class bertingkat | |
|---|---|
class |
IncrementalInstallSession.Builder
|
Metode publik | |
|---|---|
void
|
close()
Membatalkan komunikasi dengan perangkat. |
IncrementalInstallSession
|
start(Executor executor, IDeviceConnection.Factory conFactory)
Memulai sesi penginstalan streaming. |
void
|
waitForAnyCompletion(long timeout, TimeUnit units)
Memblokir thread saat ini hingga data APK telah di-streaming ke perangkat atau penginstalan selesai. |
void
|
waitForInstallCompleted(long timeout, TimeUnit units)
Memblokir thread saat ini hingga semua APK berhasil diinstal. |
void
|
waitForServingCompleted(long timeout, TimeUnit units)
Memblokir thread saat ini hingga semua data APK telah di-streaming ke perangkat. |
Metode publik
tutup
public void close ()
Membatalkan komunikasi dengan perangkat.
start
public IncrementalInstallSession start (Executor executor, IDeviceConnection.Factory conFactory)
Memulai sesi penginstalan streaming.
| Parameter | |
|---|---|
executor |
Executor: executor yang akan memulai penanganan permintaan pemblokiran dari perangkat |
conFactory |
IDeviceConnection.Factory: factory koneksi perangkat |
| Hasil | |
|---|---|
IncrementalInstallSession |
|
| Menampilkan | |
|---|---|
|
jika terjadi error saat berkomunikasi dengan perangkat |
waitForAnyCompletion
public void waitForAnyCompletion (long timeout,
TimeUnit units)Memblokir thread saat ini hingga data APK telah di-streaming ke perangkat atau penginstalan selesai.
| Parameter | |
|---|---|
timeout |
long: jumlah waktu maksimum untuk menunggu. Nilai 0 akan menyebabkan metode ini
menunggu tanpa batas. |
units |
TimeUnit: unit untuk timeout bukan nol |
| Menampilkan | |
|---|---|
|
jika waktu tunggu habis, APK gagal diinstal, atau terjadi pengecualian saat menangani permintaan pemblokiran. |
waitForInstallCompleted
public void waitForInstallCompleted (long timeout,
TimeUnit units)Memblokir thread saat ini hingga semua APK berhasil diinstal. Penayangan data dapat selesai sebelum atau setelah penginstalan berhasil.
| Parameter | |
|---|---|
timeout |
long: jumlah waktu maksimum untuk menunggu hingga penginstalan selesai. Nilai 0
akan menyebabkan metode ini menunggu tanpa batas. |
units |
TimeUnit: unit untuk timeout bukan nol |
| Menampilkan | |
|---|---|
|
jika waktu tunggu habis, APK gagal diinstal, atau terjadi pengecualian saat menangani permintaan pemblokiran. |
waitForServingCompleted
public void waitForServingCompleted (long timeout,
TimeUnit units)Memblokir thread saat ini hingga semua data APK telah di-streaming ke perangkat. Penginstalan dapat selesai sebelum atau setelah penayangan selesai.
| Parameter | |
|---|---|
timeout |
long: jumlah maksimum waktu untuk menunggu hingga penayangan selesai. Nilai 0 akan
menyebabkan metode ini menunggu tanpa batas. |
units |
TimeUnit: unit untuk timeout bukan nol |
| Menampilkan | |
|---|---|
|
jika waktu tunggu habis, APK gagal di-streaming, atau terjadi pengecualian saat menangani permintaan pemblokiran. |