IncrementalInstallSession
public
class
IncrementalInstallSession
extends Object
implements
AutoCloseable
| java.lang.Object | |
| ↳ | com.android.incfs.install.IncrementalInstallSession |
Digunakan untuk membuat sesi penginstalan paket inkremental yang blok APK terinstalnya di-streaming ke perangkat saat perlu dibaca.
Penginstalan inkremental menggunakan Filesystem 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 di-streaming ke perangkat.
Koneksi ke perangkat tetap terbuka hingga sesi ditutup, penginstalan gagal, the koneksi perangkat habis waktu, atau terjadi pengecualian saat memproses permintaan blok dari the perangkat.
Contoh penggunaan class ini adalah:
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 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 di-streaming ke perangkat. |
Metode publik
tutup
public void close ()
Membatalkan komunikasi dengan perangkat.
mulai
public IncrementalInstallSession start (Executor executor, IDeviceConnection.Factory conFactory)
Memulai sesi penginstalan streaming.
| Parameter | |
|---|---|
executor |
Executor: eksekutor tempat memulai penanganan permintaan blok dari perangkat |
conFactory |
IDeviceConnection.Factory: factory koneksi perangkat |
| Hasil | |
|---|---|
IncrementalInstallSession |
|
| Menampilkan | |
|---|---|
IOException |
jika terjadi error saat berkomunikasi dengan perangkat |
waitForAnyCompletion
public void waitForAnyCompletion (long timeout,
TimeUnit units)Memblokir thread saat ini hingga data APK 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 | |
|---|---|
IOException |
jika waktu tunggu habis, APK gagal diinstal, atau terjadi pengecualian saat menangani permintaan blok. |
InterruptedException |
|
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 penginstalan selesai. Nilai 0
akan menyebabkan metode ini menunggu tanpa batas. |
units |
TimeUnit: unit untuk timeout bukan nol |
| Menampilkan | |
|---|---|
IOException |
jika waktu tunggu habis, APK gagal diinstal, atau terjadi pengecualian saat menangani permintaan blok. |
InterruptedException |
|
waitForServingCompleted
public void waitForServingCompleted (long timeout,
TimeUnit units)Memblokir thread saat ini hingga semua data APK di-streaming ke perangkat. Penginstalan dapat selesai sebelum atau setelah penayangan selesai.
| Parameter | |
|---|---|
timeout |
long: jumlah waktu maksimum untuk menunggu penayangan selesai. Nilai 0 akan
menyebabkan metode ini menunggu tanpa batas. |
units |
TimeUnit: unit untuk timeout bukan nol |
| Menampilkan | |
|---|---|
IOException |
jika waktu tunggu habis, APK gagal di-streaming, atau terjadi pengecualian saat menangani permintaan blok. |
InterruptedException |
|