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