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.