IncrementalInstallSession
public
class
IncrementalInstallSession
extends Object
| java.lang.Object | |
| ↳ | com.android.incfs.install.IncrementalInstallSession |
تُستخدَم لإنشاء جلسة تثبيت حزمة تدريجية يتم فيها بث حِزم APK المثبَّتة إلى الجهاز عند الحاجة إلى قراءتها.
تستخدم ميزة "التثبيت التدريجي" نظام الملفات التدريجي (IncFs) للسماح بإكمال عملية التثبيت قبل أن يتم بث حزمة APK بالكامل إلى الجهاز. يمكن استخدام هذه الفئة لبدء عملية تثبيت تدريجي، والتحكّم في حِزم APK التي يُسمح ببثها إلى الجهاز، والانتظار إلى حين اكتمال عملية تثبيت حِزم APK و/أو إلى حين بث جميع الحِزم إلى الجهاز.
يظل الاتصال بالجهاز مفتوحًا إلى أن يتم إغلاق الجلسة أو يتعذّر التثبيت أو تنتهي مهلة الاتصال بالجهاز أو يحدث استثناء أثناء معالجة طلبات الحظر من الجهاز.
في ما يلي مثال على استخدام هذه الفئة:
{@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);
}ملخّص
الفئات المتداخلة | |
|---|---|
class |
IncrementalInstallSession.Builder
|
الطُرق العامة | |
|---|---|
void
|
close()
لإلغاء التواصل مع الجهاز |
IncrementalInstallSession
|
start(Executor executor, IDeviceConnection.Factory conFactory)
يبدأ جلسة التثبيت أثناء البث. |
void
|
waitForAnyCompletion(long timeout, TimeUnit units)
يحظر هذا الإجراء سلسلة التعليمات الحالية إلى أن يتم بث بيانات حزمة APK إلى الجهاز أو إلى أن يكتمل التثبيت. |
void
|
waitForInstallCompleted(long timeout, TimeUnit units)
يحظر سلسلة التعليمات الحالية إلى أن يتم تثبيت جميع حِزم APK بنجاح. |
void
|
waitForServingCompleted(long timeout, TimeUnit units)
يحظر سلسلة التعليمات الحالية إلى أن يتم بث جميع بيانات حزمة APK إلى الجهاز. |
الطُرق العامة
إغلاق
public void close ()
لإلغاء التواصل مع الجهاز
بدء
public IncrementalInstallSession start (Executor executor, IDeviceConnection.Factory conFactory)
يبدأ جلسة التثبيت أثناء البث.
| المعلمات | |
|---|---|
executor |
Executor: المنفِّذ الذي سيتم بدء معالجة طلبات الحظر عليه من الجهاز |
conFactory |
IDeviceConnection.Factory: مصنع اتصال الأجهزة |
| المرتجعات | |
|---|---|
IncrementalInstallSession |
|
| الرميات | |
|---|---|
|
إذا حدث خطأ أثناء الاتصال بالجهاز |
waitForAnyCompletion
public void waitForAnyCompletion (long timeout,
TimeUnit units)يحظر هذا الإجراء سلسلة التعليمات الحالية إلى أن يتم بث بيانات حزمة APK إلى الجهاز أو إلى أن يكتمل التثبيت.
| المعلمات | |
|---|---|
timeout |
long: الحد الأقصى لمدة الانتظار ستؤدي القيمة 0 إلى انتظار هذه الطريقة إلى أجل غير مسمى. |
units |
TimeUnit: وحدات timeout غير الصفرية |
| الرميات | |
|---|---|
|
في حال انتهاء المهلة، أو تعذُّر تثبيت حِزمة APK، أو حدوث استثناء أثناء معالجة طلبات الحظر |
waitForInstallCompleted
public void waitForInstallCompleted (long timeout,
TimeUnit units)يحظر سلسلة التعليمات الحالية إلى أن يتم تثبيت جميع حِزم APK بنجاح. قد تنتهي عملية عرض البيانات قبل نجاح عملية التثبيت أو بعدها.
| المعلمات | |
|---|---|
timeout |
long: الحد الأقصى لمدة الانتظار إلى حين اكتمال عمليات التثبيت ستؤدي القيمة 0 إلى انتظار هذه الطريقة إلى أجل غير مسمى. |
units |
TimeUnit: وحدات القيمة غير الصفرية timeout |
| الرميات | |
|---|---|
|
في حال انتهاء المهلة، أو تعذُّر تثبيت حِزمة APK، أو حدوث استثناء أثناء معالجة طلبات الحظر |
waitForServingCompleted
public void waitForServingCompleted (long timeout,
TimeUnit units)يحظر سلسلة التعليمات الحالية إلى أن يتم بث جميع بيانات حزمة APK إلى الجهاز. قد ينتهي التثبيت قبل اكتمال العرض أو بعده.
| المعلمات | |
|---|---|
timeout |
long: الحد الأقصى لمدة الانتظار إلى حين انتهاء العرض ستؤدي القيمة 0 إلى انتظار هذه الطريقة إلى أجل غير مسمّى. |
units |
TimeUnit: وحدات القيمة غير الصفرية timeout |
| الرميات | |
|---|---|
|
في حال انتهاء المهلة، أو تعذُّر بث حِزمة APK، أو حدوث استثناء أثناء معالجة طلبات الحظر |