החייגן מצויד במסגרת משולבת לבדיקה ולניפוי באגים, שמאפשרת לאמת את התכונות של אפליקציית החייגן בלי צורך במכשירים מוכנים לשיחות. כך אין צורך ב-Bluetooth ובטלפונים מחוברים עם שירות סלולרי. מסגרת הבדיקה של Dialer (DTF) מפשטת את התהליכים הבאים:
- הגדרת מכשיר אמיתי כדי לאמת רעיונות במהירות בדרך כלל אורכת זמן.
- כדי לבדוק את התכונות של שיחות מרובות, נדרשים לפחות שלושה טלפונים עם כרטיס SIM, ושניים מהם משמשים רק לצורך ביצוע שיחות.
- ניפוי באגים של Dialer ושל יחסי התלות שלו.
הפונקציונליות של Dialer תלויה בכמה סטאקים טכנולוגיים, כולל Telecom, Telephony ו-Bluetooth Hands Free Profile (HFP), ולכן באגים ובעיות שצצות ביחסי התלות האלה עלולים לגרום לבעיות לא עקביות ב-Dialer. DTF מאפשר ל-Dialer לפעול בנפרד מהיחסים האלה של התלות.
תכונות
ה-DTF מספק את התכונות הבאות:
- מיקום הקריאה התקשרות וקבלת שיחות דרך המסוף בלי צורך במכשיר מוכן לשיחות, באמצעות שידור של Android Debug Bridge (adb).
- שיחות מדומה פונקציונליות השיחה מועתקת. למשל, להשהות, להשתיק, למזג ולנתק.
שימוש ב-DTF
הערה: ה-DTF זמין רק ב-Android מגרסה 11 ואילך.
כדי להשתמש ב-DTF:
- פותחים את וריאנט ה-build
CarDialerAppForTesting
ומתקינים אותו באופן הבא:cd %rRepoRoot%/packages/apps/Car/Dialer m CarDialerAppForTesting adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
כתוצאה מכך,
CarDialerAppForTesting
מחליף את אפליקציית Dialer המקורית במכשיר הבדיקה.CarDialerAppForTesting
לא פועל עם מכשירים אמיתיים. כדי לבדוק במכשיר אמיתי, צריך להתקין מחדש אתCarDialerApp.apk
.
פקודות
פקודות ה-adb הבאות פועלות רק אחרי שמפעילים את Dialer בפעם הראשונה, וצריך לאתחל את מקלט השידור. אחרי שמפעילים את Dialer, צריך לחבר מכשיר Bluetooth מזויף. כדי לעשות זאת, משתמשים בפקודה הבאה (Setup) Connect a device.
(הגדרה) חיבור מכשיר
יוצר חיבור Bluetooth מזויף ל-Dialer, וצריך להפעיל אותו קודם כדי לאפשר גישה לכל הפקודות שקשורות לשיחות.
כדי לחבר מכשיר:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"
הערה: אפשר להשתמש בכל הפקודות הבאות רק אחרי שמחברים מכשיר Bluetooth מזויף.
ביצוע שיחה יוצאת
כדי לבצע שיחה יוצאת:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"
קבלת שיחה נכנסת
כדי לקבל שיחה נכנסת:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"
איך מסיימים שיחות
כדי לסיים שיחה:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"
העברת השיחה הנוכחית להמתנה
כדי להעביר את השיחה הנוכחית למצב המתנה:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"
הוצאת השיחה הנוכחית ממצב המתנה
כדי להוציא את השיחה הנוכחית ממצב המתנה:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
מזג שיחות
למזג את השיחה הראשית והמשנית לשיחת ועידה. הפקודה הזו פועלת רק כשהשיחות הראשית והמשנית קיימות. שיחת ועידה קיימת נחשבת לישות אחת.
כדי למזג שיחות:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
ניקוי כל השיחות
כדי להסיר את כל השיחות מרשימת השיחות:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"
build של אמולטור
לפעמים מפתחים רוצים לבדוק שינויים בממשק המשתמש במהדמ. במקרים כאלה, CarDialerAppEmulatorBuild
מספק הגדרה פשוטה ופונקציונליות מוגבלת בהשוואה ל-DTF החזק יותר.
נתוני בדיקה
כשמפעילים את Dialer, דף השגיאה של Bluetooth מופעל ומוצג התוכן הראשי של TelecomActivity
. אנשי הקשר ויומני השיחות מוצגים במכשיר המקומי. מפתחים יכולים להשתמש באפליקציית אנשי הקשר המובנית כדי ליצור אנשי קשר לבדיקה או לייבא קובץ .vcf
.
Call mocking
כדי לדמות שיחות נכנסות, משתמשים ב-Android Emulator כדי לשלוח פקודות Telnet. למידע נוסף, ראו הפעלת אפליקציות במהדורת Android של Android Emulator ושליחת פקודות במסוף של Android Emulator.
telnet localhost 5554 gsm call xxx-xxx-xxxx
ביצוע שיחת טלפון באפליקציית החייגן או שידור כוונה להתקשרות מתחילים שיחה יוצאת.
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx