הטמעת תקציב חירום

בכל המכשירים הניידים שיימכרו בהודו החל מ-1 בינואר 2017 יש לספק לחצן המצוקה כדי לעמוד בדרישות של משרד התקשורת בהודו (DoT). כדי לטפל בדרישות הרגולטוריות האלה, מערכת Android כוללת קובץ עזר של התכונה 'מימון חירום' כדי להפעיל לחצן מצוקה מופעל מכשירי Android

התכונה הזו מופעלת כברירת מחדל בגרסאות Android 8.0 ואילך, אבל רק לגרסאות build קיימות של גרסאות קודמות. הזה מיועדת אך ורק למכשירים שנמכרים בשוק ההודי, אבל ניתן נכללות בכל המכשירים שנמכרים ברחבי העולם, מכיוון שלתכונה אין השפעה מחוץ להודו.

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

התכונה 'מחירי חירום' מוטמעת בקוד פתוח של Android פרויקט (AOSP) frameworks/base פרויקט. היא זמינה בהסתעפות הראשית ומופעלת כברירת מחדל ב- Android מגרסה 8.0 ואילך.

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

טבלה 1. דובדבנים נבחרים לעזרת חירום ב-AOSP פיצ'ר

סניף התחייבויות
ראשי e0c3c66 נוספה פיצ'ר במחירים נוחים לשעת חירום
42a4338 נוספו תרגומים למחרוזת הפעולות במקרה חירום
4df8d64 תוקנה בעיה שבה תקציב חירום היה מוצג בטאבלטים
Nougat-dev e6680d9 נוספה פיצ'ר במחירים נוחים לשעת חירום
95e1865 נוספו תרגומים למחרוזת הפעולות במקרה חירום
a70bb89 תוקנה בעיה שבה תקציב חירום היה מוצג בטאבלטים
מרשמלו-פיתוח cd22634 נוספה פיצ'ר במחירים נוחים לשעת חירום
13f51c6 נוספו תרגומים למחרוזת הפעולות במקרה חירום
6531666 תוקנה בעיה שבה תקציב חירום היה מוצג בטאבלטים
lollipop-mr1-dev 5fbc86b נוספה פיצ'ר במחירים נוחים לשעת חירום
1b60879 נוספו תרגומים למחרוזת הפעולות במקרה חירום
d74366f תוקנה בעיה שבה תקציב חירום היה מוצג בטאבלטים

הטמעה

התכונה 'תשלום למקרה חירום' לא עורכת שינויים בממשקי ה-API שנחשפים דרך Android Software Development Kit (SDK). כשהיא מופעלת ומופעלת, התכונה מספקת שני טריגרים שיכולים לבצע שיחת חירום אל 112, הוא מספר חירום יחיד שמיועד לשימוש בהודו על ידי הודו תקנות DoT.

שיחת חירום מתבצעת על ידי:

לוחצים לחיצה ארוכה על לחצן מקרי חירום
מסך נעילה
מקישים על אפשרות מצב חירום
תפריט פעולות גלובלי
מצב חירום
לחצן
איור 1. הלחצן מצב חירום מופעל במסך הנעילה.
מצב חירום
אפשרות
איור 2. פעולת מצב חירום מופעלת תפריט הפעולות הגלובלי (ניתן לגשת אליו באמצעות לחיצה ארוכה על מקש ההפעלה).

התכונה הזו מציגה את הרכיבים הפנימיים הבאים:

  • EmergencyAffordanceManager
    frameworks/base/core/java/com/android/internal/policy/EmergencyAffordanceManager.java
    
  • שירות חירוםAffordanceService
    frameworks/base/services/core/java/com/android/server/emergency/EmergencyAffordanceService.java
    

EmergencyAffordanceManager

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

  • void performEmergencyCall() התחלת שיחת חירום.
  • boolean needsEmergencyAffordance() קובע אם התכונה צריכה להיות פעילה.

אפשר להשבית את התכונה באופן סופי בזמן ה-build על ידי שינוי EmergencyAffordanceManager.ENABLED קבוע ל-false. הפעולה הזו תגרום לפונקציה needsEmergencyAffordance() להחזיר את הערך False תמיד ומניעת ההפעלה של EmergencyAffordanceService.

שירות חירוםAffordanceService

EmergencyAffordanceService הוא שירות מערכת שעוקב אחרי קוד המדינה לנייד (MCC) של כל הרשתות הסלולריות שזוהו וחשבון MCC של כרטיסי ה-SIM המותקנים. אם אחד או יותר מכרטיסי ה-SIM שהותקנו או זוהו לרשתות סלולריות יש חשבון ניהול (MCC) שתואם לאחד מחשבונות הניהול (MCC) בהודו (404 או 405), ואז תופעל. המשמעות היא שניתן להפעיל את התכונה בהודו גם אם אין כרטיס SIM. ההנחה היא שהרשת הסלולרית תאפשר רישום לשיחות חירום גם אם לא מותקן כרטיס SIM. התכונה יישארו מופעלות עד להתקנת כרטיס SIM שאינו הודי ולא זוהה אף אחד יש חשבון ניהול (MCC) תואם.

המשאבים וההגדרות הבאים משפיעים על ההתנהגות של מצב החירום תכונה של מחיר נגיש. אם סוג ההגדרה הוא:

  • Resource, זהו משאב פנימי שמוגדר frameworks/base/core/res/res/values/config.xml.
  • הגדרה, זו הגדרה ששמורה בהגדרות המערכת ספק.

טבלה 2. הגדרות שמשפיעות על ההתנהגות של תקציב החירום פיצ'ר

סוג התצורה שם תיאור
משאב config_emergency_call_number מספר הטלפון שמחויג באופן אוטומטי כששיחת החירום מתבצעת מופעלת.
טיפוס: String
ברירת מחדל: 112
משאב config_emergency_mcc_codes מערך של מספרים שלמים שמפרטים את חשבונות הניהול (MCC) שבהם התכונה צריכה להיות פעילה.
טיפוס: מערך של מספרים שלמים
ברירת המחדל: {404,405}
הגדרה מספר_מחירי_השגה ביטול ההגדרה הגלובלית עם המספר להתקשרות במקרה חירום בשביל תקציב. יש לכך השפעה רק על תמונות build שניתנות לניפוי באגים (כלומר, build type הוא userdebug או eng). האוסף הזה מיועד למטרות בדיקה בלבד.
טיפוס: String
ברירת מחדל: לא מוגדרת
הגדרה כוח_emergency_affordance הגדרה גלובלית, אם יש להציג את המחיר שמתאים למקרה חירום ללא קשר של מצב המכשיר. האוסף הזה מיועד למטרות בדיקה בלבד.
טיפוס: Boolean (בוליאני) (1 או 0)
ברירת מחדל: לא מוגדר --> 0

הפעלת שיחות החירום ל-112

התכונה 'מחירון חירום' מחברת את השיחה באמצעות מצב החירום חייגן כדי שניתן יהיה להתחבר לשיחה כשמסך הנעילה פעיל. חייגן החירום מחבר שיחות רק לרשימת המספרים שסופקה על ידי Radio Interface Layer (RIL) דרך מאפיין המערכת:

  • ril.ecclist כשלא מותקן כרטיס SIM.
  • ril.ecclistSimSlotNumber כשהכנסת כרטיס SIM ו-SimSlotNumber הוא מזהה המיקום של ברירת המחדל שלך.

יצרני מכשירים שמשתמשים בתכונה 'מחירון חירום' חייבים לוודא במכשירים בהודו תמיד מפעילים את 112 כמספר חירום ב-RIL.

אימות

בזמן בדיקה של גרסת build שניתנת לניפוי באגים, ניתן לשנות את המספר שנשלח באמצעות הפקודה הבאה:

adb shell settings put global emergency_affordance_number NUMBER_TO_CALL

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

setprop ril.ecclist "$(getprop ril.ecclist),NUMBER_TO_CALL"

אפשר להשתמש גם בפקודה הבאה כדי לאלץ את תקציב החירום להפעיל את התכונה גם בהיעדר רשת סלולרית בהודו או שהוכנס כרטיס SIM הודי.

adb shell settings put global force_emergency_affordance 1

לכל הפחות, מומלץ לבדוק את המקרים הבאים:

  • לאחר ההפעלה, לוחצים לחיצה ארוכה על הלחצן EMERGENCY מסך הנעילה (איור 1) מבצע שיחה למספר החירום שצוין.
  • לאחר ההפעלה, הפריט מצב חירום בפעולה הגלובלית התפריט מוצג והקשה עליו מפעילה שיחה למקרה החירום שצוין מספר.
  • התכונה לא מופעלת בהיעדר זוהתה רשת הודית לנייד שבה מותקן כרטיס SIM שאינו הודי.
  • התכונה מופעלת במכשיר כשמשתמשים בכרטיס SIM הודי מותקן, ללא קשר לרשתות הסלולריות שזוהו.
  • התכונה מופעלת במכשיר אם רשת הודית לניידים, ללא קשר לכרטיסי ה-SIM שהותקנו.

אם במכשיר יש תמיכה בכמה כרטיסי SIM, הבדיקה צריכה לוודא שהזיהוי של חשבון הניהול (MCC) של כרטיס ה-SIM פועל בצורה תקינה בכל חריץ של כרטיס SIM. מצב החירום תכונת המימון לא כפופה לתאימות של Android, ולכן אין הכלי לבדיקת תאימות (CTS) בודק את הגרסה הזו.

שאלות נפוצות

שאלה: מספר החירום 112 עדיין לא הוזמן הודו. האם עדיין כדאי להשתמש בהן?

112 הוא המספר שישמש בהודו כמענה לביטחון הציבור נקודה (PSAP) כפי שמוגדר ב-Integrated Communications Communications and Response מערכות (IECRS). עד להזמנת ה-PSAP, כל השיחות ל-112 ינותבו למספר החירום 100 הקיים (למרות שזו האחריות של ספק, לא Android).

שאלה: מה לגבי טריגרים אחרים כמו לחיצה משולשת? על לחצן ההפעלה?

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