הטמעת טקסט בזמן אמת

בדף הזה מוסבר איך מטמיעים טקסט בזמן אמת (RTT) ב-Android 9. RTT היא תכונה לחרשים או לקויי שמיעה שמחליפה את טכנולוגיית הטלטייפ (TTY). התכונה הזו מאפשרת למכשירים להשתמש באותו מספר טלפון לשיחות קוליות ולשיחות RTT, לשדר טקסט בזמן שהוא מוקלד, לתמוך בתקשורת עם מוקד 911 ולספק תאימות לאחור עם TTY.

בשיחת RTT, גם המתקשר וגם מי שמקבל את השיחה רואים סימון שמציין שמדובר בשיחת RTT. אחרי שמתחברים, שני הצדדים נכנסים לשיחת RTT שבה מופעלים הזנת הטקסט והמקלדת. כשמקלידים, הטקסט מופיע ונשלח תו אחרי תו.

דוגמאות ומקור

רכיבי המסגרת זמינים ב-AOSP בכתובות Call.RttCall ו-Connection.RttTextStream. רכיבי IMS/מודם הם קנייניים וצריכים להיות מסופקים על ידי ספק ה-IMS/מודם. יש גם הטמעה לדוגמה של RTT באפליקציית חייגן.

קוד חיוג ב-AOSP ל-RTT:

הטמעה

כדי להטמיע RTT, צריך לעבוד עם ספק מודם או SoC, כי נדרש מודם שתומך ב-RTT. אפשר לשדרג ל-Android 9 או להעביר רשימה של תיקונים למסגרת הטלפוניה לגרסה קודמת של Android 8.0. ממשקי API שנוספו ב-Android 8.0 AOSP לא יפעלו.

התכונה הזו משתמשת בממשקי API ציבוריים ב-AOSP ב-android.telecom וב-‎ @SystemApis ב-android.telephony.ims. כל ממשק המשתמש נמצא ב-com.android.phone ובחייגן AOSP.

כדי להטמיע RTT, מייבאים את קוד ה-AOSP ומספקים מחסנית IMS שמטמיעה את @SystemApis בצד ה-IMS עבור RTT. כדי לעשות את זה צריך:

  • הפעלה או השבתה של RTT באמצעות ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
  • איך מציינים את סטטוס ה-RTT של שיחה באמצעות ImsStreamMediaProfile#mRttMode
  • תמיכה בשיטות הבאות ב-ImsCallSession:

    • sendRttMessage
    • sendRttModifyRequest
    • sendRttModifyResponse
  • תמיכה בהפעלת הפונקציות הבאות ב-ImsCallSessionListener:

    • callSessionRttModifyRequestReceived
    • callSessionRttModifyResponseReceived
    • callSessionRttMessageReceived

התאמה אישית

אפשר להפעיל או להשבית את התכונה הזו באמצעות הגדרת המכשיר, config_support_rtt, בשכבת העל של הגדרת המכשיר עבור packages/services/Telephony, ודגל הגדרת הספק, CarrierConfigManager.RTT_SUPPORTED_BOOL, בקובצי הגדרת הספק. בהתאם להגדרה, התכונה זמינה דרך הגדרות הנגישות או לא. אפשר להשתמש בהגדרות המכשיר כדי לשנות את הגדרות ברירת המחדל. כברירת מחדל, התכונה מושבתת.

אימות

כדי לאמת את ההטמעה של RTT, מריצים בדיקות CTS ומבצעים בדיקות RTT בחייגן.

בדיקת CTS

בדיקות CTS‏ (android.cts.telecom.RttOperationsTest) מכסות את החלק ב-AOSP של ההטמעה. אתם צריכים לספק בדיקות משלכם לחלק של ערימת ה-IMS בהטמעה.

בדיקת RTT ב-Dialer

תיאור התרחיש UI mock
אם ה-RTT מושבת במכשיר, מוצג דו-שיח לגבי RTT.

באנר RTT

בהגדרות של אפליקציית חייגן, יש מסך של טקסט בזמן אמת (RTT) בקטע הגדרות > נגישות, שבו אפשר לבחור מצב RTT אחר.

נגישות ב-RTT

כשההגדרה RTT מופעלת כברירת מחדל:
  • בזמן שהשיחה מתבצעת, מוצג ממשק המשתמש הרגיל לחיוג בשיחה.
  • כשמתחברים לשיחה, מוצגת התצוגה של מצב ה-RTT. אם המשתמש המקבל לא מוגדר כברירת מחדל למצב RTT, מוצג באנר שמציין שהתקבלה בקשה למצב RTT בזמן ההמתנה לתשובה.

ממשק משתמש של RTT בשיחה

אם RTT מושבת במכשיר:
  • במסך של שיחה נכנסת מוצג לחצן מענה רגיל ותוויות שיחה רגילות.

ממשק משתמש רגיל לשיחות RTT

אם RTT מופעל במכשיר והוגדר כברירת מחדל למענה לכל השיחות כשיחות RTT:
  • במסך של שיחה נכנסת מוצג לחצן ה-RTT והתוויות שמשויכות לשיחה.
  • כשעונים לשיחה, מוצג מסך במצב RTT עם מקלדת מופעלת.

תצוגה של מצב RTT

בממשק המשתמש של RTT במהלך השיחה, יש אפשרויות שמאפשרות למשתמשים לשלוט במצב של השיחה הקולית ולקבל עזרה כללית לגבי השימוש ב-RTT:
  • החלפת המצב של המיקרופון.
  • הפעלה או השבתה של הרמקול.
  • שימוש בלוח המקשים כקלט.
  • להוסיף עוד שיחה.
  • איך עוברים משיחת RTT לשיחה קולית
  • הפעלה והשבתה של ההמתנה.

אפשרויות בממשק המשתמש של RTT במהלך שיחה

במסך פרטי השיחה, לחיצה על הקישור 'הצגת התמליל' מציגה את השיחה המלאה עם הטקסט המלא של סשן ה-RTT. חותמות הזמן מוצגות. המשתמש יכול לחזור למסך פרטי השיחה באמצעות הכפתור 'הקודם'.

פרטי שיחת RTT