שירותים חיצוניים

מודול ExtServices מעדכן את רכיבי ה-framework כדי לשפר את הפונקציונליות של מערכת ההפעלה. כמו דירוג התראות, מילוי אוטומטי של אסטרטגיות התאמת טקסט, מטמון אחסון, חבילות מפקח (watchdog) ושירותים אחרים שפועלים באופן רציף. המודול הזה שניתן לעדכן, כלומר הוא יכול לקבל עדכונים לגבי פונקציונליות שלא מחזור הגרסאות של Android.

חלקי השירות

המודול ExtServices מכיל את השירותים הבאים.

שירות DisplayHashingService

ב-Android 12, האפליקציה DisplayHashingService משמשת כדי: יוצרים מופע של DisplayHash למאגר הנתונים הזמני. הוא גם משומש כדי לאמת שגיבוב ספציפי של תצוגה נוצר על ידי המערכת. מתי שנוצרת גיבוב (hash) של תצוגה, מבצע הקריאה החוזרת יכול לציין אילו שבהם הוא רוצה להשתמש.

שירות TextClassifierService

TextClassifierService גיבויים של רכיבי שירות TextClassifier ממשקי API ותכונות של Android כמו בחירת טקסט חכמה והצעות חכמות התראות. המודול ExtServices מכיל את מסווג הטקסט שמוגדר כברירת מחדל, שאומת באמצעות בדיקת ה-CTS TextClassifierPolicyTest.java

במקרה הצורך, אפשר להגדיר שירות מותאם אישית לסיווג טקסט על ידי ציון config_defaultTextClassifierPackage אינץ' config.xml. מסווגי טקסט בהתאמה אישית יכולים להיות תלויים במסווג הטקסט שמוגדר כברירת מחדל על ידי קריאה TextClassifierService.getDefaultTextClassifierImplementation(Context) כדי לקבל מופע כזה.

שירות InlinesuggestedionRenderService

רכיב השירות InlineSuggestionRenderService מפעיל את התכונה 'הצעות מוטבעות' יוצג בשורת ההצעות של המקלדת. השירות הזה נקרא אובייקט View שמחזיק את ההצעה המוטבעת לתהליך המילוי האוטומטי החדש. יישום ברירת המחדל עבור קריאות לשירות כלי הרינדור הזה אל androidx.autofill.inline.Renderer כדי לעבד את ההצעה. התנהגות זו מאומתת על ידי בדיקות CTS ב /autofillservice/cts/inline/

שם חבילה

במכשירים עם Android 11 צריך להגדיר config_servicesExtensionPackage (אינץ') frameworks/base/core/res/res/values/config.xml) לחבילת ExtServices שם (com.android.ext.services). השינוי הזה בהגדרות מאומת על ידי בדיקת CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java

גבולות המודול

ב-Android 12, ExtServices קוד המודול הועבר מ-frameworks/base/apex/extservices (זו ספריית משנה של frameworks/base project) וגם packages/modules/ExtServices.

מבנה הפרויקט החדש עבור packages/modules/ExtServices הוא:

  • apex/ (קבצים מ-frameworks/base/apex/extservices)
  • java/ (קבצים מ-packages/modules/ExtServices/res, packages/modules/ExtServices/src, packages/modules/ExtServices/tests וקבצים לתכונה חדשה)
  • jni/ (קבצים של תכונה חדשה)
  • native/ (קבצים של תכונה חדשה)

הגבולות של מודול ExtServices נמצאים ב-packages/modules/ExtServices. במכשירי Android 11 מעביר גם מספר הטמעות של TextClassifier כיתות מתוך frameworks/base/core/.

פורמט המודול

בגרסה Android 11, המודול ExtServices (com.android.ext.services) נמצא ב-APEX הפורמט. ב-Android 10, המודול הזה הוא בפורמט APK.

התאמה אישית

ב-Android 11, אפשר להגדיר טקסט מותאם אישית שירות סיווג שקורא לטקסט ברירת המחדל סיווג (עם זאת, זה לא מומלץ). לחשבון ב-Android 10, המודול ExtServices לא מספק אפשרויות של התאמה אישית.

בדיקה

הכלי לבדיקת התאימות של Android (CTS) מאמת את מודול ExtServices על ידי הרצת סדרה מקיפה של בדיקות CTS בכל מודול. גרסה חדשה. בנוסף, חבילת הבדיקה Mainline Test Suite (MTS) כוללת גם בדיקות ExtServices. הרשימה המלאה של בדיקות ExtServices: