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