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

בדף הזה מוסבר איך להטמיע טקסט בזמן אמת (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 ב'חייגן'

תיאור התרחיש 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