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
|
methods ציבוריים | |
|---|---|
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)
חסימת ה-thread הנוכחי עד שכל נתוני ה-APK יועברו למכשיר בסטרימינג. |
methods ציבוריים
סגירה
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)חסימת ה-thread הנוכחי עד שכל נתוני ה-APK יועברו למכשיר בסטרימינג. ההתקנה עשויה להסתיים לפני או אחרי סיום הצגת המודעות.
| פרמטרים | |
|---|---|
timeout |
long: משך הזמן המקסימלי להמתנה עד לסיום ההצגה. הערך 0 יגרום לשיטה הזו להמתין ללא הגבלת זמן. |
units |
TimeUnit: יחידות לערך שאינו אפס timeout |
| זריקות | |
|---|---|
|
אם חלף הזמן להמתנה, אם לא ניתן להזרים קובץ APK או אם מתרחשת חריגה במהלך הטיפול בבקשות חסימה. |