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

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

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

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

سمات

يوفر DTF هذه الميزات:

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

استخدم دي تي إف

ملحوظة: 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، يجب توصيل جهاز Bluetooth مزيف. استخدم ما يلي (الإعداد) قم بتوصيل أمر الجهاز للقيام بذلك.

(إعداد) توصيل جهاز

ينشئ اتصال 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"

بناء المحاكي

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

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

عند تشغيل Dialer، يتم تجاوز صفحة خطأ Bluetooth ويتم عرض المحتوى الرئيسي لـ 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