تصحيح الأخطاء والاختبار

تطبيق Dialer مزود بإطار عمل متكامل لتصحيح الأخطاء والاختبار يتيح لك التحقّق من صحة ميزات تطبيق Dialer بدون الحاجة إلى أجهزة جاهزة للاتصال. هذا يلغي الحاجة إلى للهواتف التي تحتوي على بلوتوث والهواتف المتصلة المزودة بخدمة شبكة جوّال. إطار عمل اختبار برنامج الاتصال (DTF) تبسط العمليات التالية:

  • إنّ إعداد جهاز حقيقي للتحقّق من صحة الأفكار سريعًا يستهلك الوقت عادةً.
  • يتطلب اختبار ميزات المكالمات المتعددة ثلاثة هواتف مجهزة بشريحة SIM على الأقل، واثنان والتي تستخدم فقط لإجراء المكالمات.
  • تصحيح الأخطاء لبرنامج Dialer وتبعياته.

ونظرًا لأن وظيفة Dialer تعتمد على العديد من حزم التقنيات، بما في ذلك الاتصالات والاتصالات الهاتفية وملف تعريف البلوتوث بدون لمس الجهاز (HFP)، يمكن للأخطاء والمشاكل التي تنشأ في هذه التبعيات إلى ارتباك برنامج الاتصال. يمكّن DTF من تشغيل Dialer بشكل مستقل عن هذه التبعيات.

الميزات

ويوفر DTF الميزات التالية:

  • موضع المكالمة: يمكنك إجراء المكالمات وتلقّيها بدون الحاجة إلى جهاز جاهز للاتصال من خلال محطة الدفع Android Debug Bridge (adb) البث.
  • المكالمات الزائفة تم تقليد وظيفة الاتصال. يتضمن ذلك الانتظار أو كتم الصوت والدمج والانفصال.

استخدام DTF

ملاحظة: لا يتوفّر تنسيق DTF إلا في نظام التشغيل Android 11 أو الإصدارات الأحدث.

لاستخدام DTF:

  1. أنشِئ نسخة الإصدار "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، يجب أن يكون جهاز بلوتوث مزيفًا متصل بها. استخدم ما يلي (الإعداد) "اربط أمر جهاز" لتنفيذ ذلك.

(الإعداد) ربط جهاز

يجري إعداد اتصال بلوتوث مزيّف ببرنامج Dialer ويجب الاتصال به أولاً لتفعيل الوصول لجميع الأوامر المتعلقة بالمكالمات.

لربط جهاز، اتّبِع الخطوات التالية:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"

ملاحظة: بعد ربط جهاز يتضمّن بلوتوث وهمي، يمكن لكل من استخدام الأوامر التالية.

إجراء مكالمة صادرة

لإجراء مكالمة صادرة:

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"

إصدار المحاكي

قد يحتاج المطوّرون أحيانًا إلى اختبار تغييرات واجهة المستخدم على محاكي. في مثل هذه الحالات، يوفّر CarDialerAppEmulatorBuild إعدادًا مبسّطًا ووظائف محدودة. مقارنة بـ DTF الأقوى.

بيانات الاختبار

عندما يتم تشغيل Dialer، يتم تجاوز صفحة خطأ البلوتوث والمحتوى الرئيسي يتم عرض TelecomActivity. يتم عرض جهات الاتصال وسجلات المكالمات على الجهاز الخاص بك. يمكن للمطوّرين استخدام تطبيق "جهات الاتصال المخزّنة" لإنشاء جهات اتصال تجريبية أو استيراد ملف .vcf.

السخرية من المكالمة

لمحاكاة المكالمات الواردة، يمكنك استخدام محاكي Android لإرسال أوامر Telnet. لمزيد من المعلومات، يُرجى مراجعة تشغيل التطبيقات على محاكي Android أو إرسال أوامر وحدة تحكم المحاكي.

telnet localhost 5554
gsm call xxx-xxx-xxxx

يؤدي إجراء مكالمة هاتفية في تطبيق Dialer أو بث مكالمة تهدف إلى بدء مكالمة صادرة.

adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx