التفاصيل التقنية

يوضِّح الرسم البياني التالي مكونات النظام التي تتفاعل مع تطبيق "المخطِّط":

المكوّنات التي تتفاعل مع تطبيق "الهاتف"

الشكل 1: المكوّنات التي تتفاعل مع تطبيق "الهاتف"

  • واجهة مستخدِم النظام: سمة التنقّل السفلية لاستضافة زر "الهاتف" الذي يسجّل نية intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end يؤدي ذلك إلى بدء النشاط الرئيسي للمستخدم، وهو TelecomActivity.

  • مشغّل التطبيقات: تُدير قائمة التطبيقات بأكملها. يعرِّف تطبيق "أداة الاتصال" TelecomActivity باستخدام android.intent.category.LAUNCHER. يؤدي اختيار تطبيق الهاتف من قائمة تطبيقات مشغّل التطبيقات إلى عرض TelecomActivity.

  • تطبيق Home المصغّر: في مرجع AOSP، لا يتوفّر تطبيق مصغّر لتطبيق Home. قد تحتاج المصنّعين الأصليّين للأجهزة إلى النظر في إضافة تطبيق مصغّر "للصفحة الرئيسية" في تطبيق "أداة الاتصال" لعرض حالة الهاتف المتصل الحالي (بالإضافة إلى معلومات أخرى).

  • مركز الإشعارات

    • يتم عرض إشعار "تنبيه" (HUN) للمكالمات الواردة. عندما يتلقّى تطبيق "الهاتف" InCallServiceImpl مكالمة واردة، ينشر التطبيق إشعارًا بحالة عدم الردّ في مركز الإشعارات، والذي يعرض تفاصيل المكالمة، مثل رقم الهاتف أو معلومات الاتصال. ويعرض تطبيق "الهاتف" أيضًا زرَّي إجراء، وهما "ردّ" و"رفض". من خلال النقر على زر "الرد"، يتم الردّ على المكالمة ويعالج InCallServiceImpl المكالمة النشطة لعرض واجهة مستخدم تطبيق "الهاتف" أثناء المكالمة وإغلاق شاشة "المساعدة الذكية". يؤدي النقر على رمز HUN إلى عرض صفحة "أثناء المكالمة" في وضع ملء الشاشة مع زرَّي "الرد" و"رفض".

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

  • مساعِد Google يمكن للمستخدمين أن يطلبوا من أحد المساعدين إجراء مكالمة قد تعرض واجهة مستخدم تطبيق "الهاتف" أثناء المكالمة.

  • خرائط Google: عند الاتصال بالتاجر من "خرائط Google"، يتم إرسال نية DIAL مع إضافات أرقام الهواتف التي ستبدأ صفحة لوحة المفاتيح للاتصال السريع.

  • CarInputService. ترصد هذه السمة المفتاح المادي لزرَّي "الاتصال" و"إنهاء المكالمة" على عجلة القيادة. الضغط على:

    • عند الضغط على زر الاتصال من عجلة القيادة بدون وجود مكالمة واردة، يتم إرسال نية DIAL وعرض صفحة لوحة المفاتيح في تطبيق "الهاتف".

    • يؤدي الضغط على زر الاتصال من عجلة القيادة عند تلقّي مكالمة واردة إلى بدء TelecomManager للردّ على المكالمة.

    • عند الضغط على زر "إنهاء المكالمة" من عجلة القيادة عندما تكون هناك مكالمة واردة، يُنهي TelecomManager المكالمة.

  • البلوتوث

    • PBAPClient. تنزيل جهات الاتصال من هاتف وكتابتها في ملف العميل لدى مقدّم خدمة جهات الاتصال بالنسبة إلى كل هاتف متصل، يتم إنشاء حساب باستخدام عنوان MAC الخاص بالبلوتوث للجهاز كاسم الحساب وcom.android.bluetooth.pbapsink (@string/pbap_account_type محدّد في packages/apps/Bluetooth) ك نوع الحساب. يتم كتابة جهات الاتصال المكتوبة لمقدّم جهات الاتصال باستخدام معلومات الحساب ويتم محوها عند فصل الهاتف. لا يتفاعل PBAPClient مباشرةً مع "برنامج الاتصال"، بل يكتب جهات الاتصال بدلاً من ذلك في "موفِّر جهات الاتصال". تطبيق "أداة الاتصال": قراءة جهات الاتصال من مقدّم جهات الاتصال

    • HfpClientConnectionService. تدير مكالمة البلوتوث من خلال بروتوكول HFP وتبلِّغ عن المكالمة لخدمات الاتصالات.

  • الاتصالات: يدير إطار عمل Android Telecom المكالمات الصوتية ومكالمات الفيديو على جهاز Android. بما أنّ تطبيق Dialer هو تطبيق الهاتف التلقائي، فهو ينفِّذ واجهة برمجة التطبيقات InCallService وInCallController ستربط تنفيذ InCallService في Dialer لمعالجة المكالمات. لمزيد من التفاصيل، يُرجى الاطّلاع على إنشاء تطبيق هاتف بديل و الحصول على وضع تطبيق الهاتف التلقائي.

  • إعدادات النظام يتتبّع تطبيق "أداة الاتصال" قائمة الأجهزة المتصلة عبر بروتوكول HFP ويعرض رسالة خطأ عندما لا تكون هناك هواتف متصلة بأداة الاتصال عبر البلوتوث. في مرجع AOSP ، ينقل الزر "الاتصال بالبلوتوث" المستخدمين إلى صفحة "إعدادات البلوتوث" في النظام لإقران جهاز جديد أو الاتصال بجهاز مقترن.

  • محرك تشتت انتباه السائق: تفرض خدمة نظام Android هذه قيودًا على تجربة المستخدم بناءً على حالة القيادة في السيارة. يجب أن ينفذ تطبيق "أداة الاتصال" جميع القيود المفروضة على تجربة المستخدم أثناء القيادة لتجنّب تشتيت الانتباه.ولإجراء ذلك، يجب أن يستمع تطبيق "أداة الاتصال" إلى CarUXRestrictionManager وينفّذ جميع السياسات. يجب أن يستوفي تطبيق الاتصال الشروط التالية:

    • اربط مكتبة Car واحصل على مثيل CarUXRestrictionManager.

    • اشترِك في التحديثات في قائمة CarUxRestrictions ونفِّذها كما هو موضّح في المستندات.

    • من المعلومات المهمة بشكل خاص في تطبيق "أداة الاتصال":

      • صفحة الإعدادات محسَّنة للمركبة. تعذّر على المستخدم الوصول إلى صفحة "إعدادات تطبيق الاتصال" أثناء القيادة. من خلال النقر على قائمة "الإعدادات" من شريط الإجراءات، يتم عرض شاشة حظر لمنع المستخدم من الوصول إلى "الإعدادات" أثناء القيادة. إذا كانت صفحة "الإعدادات" معروضة، ستظهر شاشة الحظر لمحاولة إيقاف تفاعل المستخدم.

      • لا يمكن الوصول إلى إعدادات النظام أثناء القيادة. في صفحة الخطأ، عندما لا تكون هناك أجهزة بلوتوث متصلة، يعرض الزر "الاتصال بالبلوتوث" صفحة إعدادات البلوتوث في النظام. تم حظر استخدام ميزة "التحسين المستند إلى تجارب المستخدمين" لهذا الزر بالكامل. أثناء القيادة، يؤدي النقر على هذا الزر إلى عرض رسالة خطأ لإعلام المستخدم بضرورة ركن السيارة أولاً ثم تنفيذ الإجراء.

      • لا يمكن للمستخدم بدء عملية إضافة المحتوى إلى المفضلة أثناء القيادة. زر "إضافة جهة اتصال مفضّلة" غير مفعَّل.

مسارات المستخدم

Dialer Main

في ما يلي الصفحات المختلفة لتطبيق "أداة الاتصال".

صفحة تطبيق "الهاتف" الرئيسية

الشكل 2: صفحة تطبيق "الهاتف" الرئيسية

معالجة المكالمات

في ما يلي مسار عملية معالجة المكالمات:

معالجة المكالمات

الشكل 3: معالجة المكالمات

الإشعارات

في ما يلي صفحات الإشعارات المختلفة:

الإشعارات

الشكل 4: الإشعارات

حالة المكالمة الجارية

في ما يلي مسار الصفحة أثناء المكالمة:

صفحة "أثناء المكالمة"

الشكل 5: صفحة "أثناء المكالمة"

تشمل شاشات "بحث Google" ما يلي:

البحث

الشكل 6: البحث

الإعدادات

في ما يلي خيارات "الإعدادات":

الإعدادات

الشكل 7: الإعدادات