جزییات فنی

نمودار زیر اجزای سیستم را نشان می دهد که با Dialer تعامل دارند:

اجزایی که با Dialer تعامل دارند

شکل 1. اجزایی که با Dialer تعامل دارند

  • رابط کاربری سیستم جنبه ناوبری پایین‌تر برای میزبانی دکمه تلفن، که intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end . این فعالیت اصلی کاربر، TelecomActivity شروع می کند.

  • راه‌انداز برنامه. کل لیست برنامه ها را مدیریت می کند. Dialer TelecomActivity را با android.intent.category.LAUNCHER اعلام می کند. انتخاب برنامه تلفن از لیست برنامه راه‌انداز، TelecomActivity را نمایش می‌دهد.

  • ویجت خانه. در مرجع AOSP، ویجت Home وجود ندارد. OEM ها ممکن است بخواهند یک ویجت Home برای Dialer اضافه کنند تا وضعیت تلفن متصل فعلی (و همچنین اطلاعات دیگر) را نمایش دهد.

  • مرکز اطلاع رسانی

    • اعلان Heads Up (HUN) برای تماس های دریافتی نمایش داده می شود. هنگامی که Dialer InCallServiceImpl تماس ورودی را دریافت می کند، Dialer یک HUN را به مرکز اعلان ارسال می کند که جزئیات تماس، مانند شماره تلفن یا اطلاعات تماس را نشان می دهد. Dialer همچنین دو دکمه اکشن Answer و Decline را نمایش می دهد. با ضربه زدن روی دکمه پاسخ، تماس پاسخ داده می شود و InCallServiceImpl تماس فعال را برای نشان دادن Dialer در رابط کاربری تماس مدیریت می کند و HUN را رد می کند. با کلیک بر روی HUN صفحه تمام صفحه InCall با دکمه های پاسخ و رد نمایش داده می شود.

    • اعلان برای تماس های از دست رفته خوانده نشده ظاهر می شود. با کلیک بر روی اعلان صفحه سابقه تماس نمایش داده می شود و تماس های از دست رفته را به عنوان خوانده شده علامت گذاری می کند. با ضربه زدن روی دکمه برگشت تماس، تماس برقرار می شود و رابط کاربری InCall شماره گیر نمایش داده می شود.

  • دستیار. کاربران می توانند از یک دستیار بخواهند که تماسی برقرار کند که ممکن است رابط کاربری Dialer InCall را نمایش دهد.

  • نقشه های گوگل تماس با یک تاجر از Google Maps، هدف DIAL را با شماره تلفن های اضافی ارسال می کند که صفحه Dialpad را برای شماره گیری سریع شروع می کند.

  • CarInputService. کلید فیزیکی دکمه‌های Call و End Call روی فرمان را کنترل می‌کند. فشار دادن دکمه:

    • دکمه تماس از روی فرمان هنگامی که تماس ورودی وجود ندارد، هدف DIAL را ارسال می کند و صفحه Dialpad Dialer را نمایش می دهد.

    • دکمه تماس از روی فرمان هنگامی که تماس ورودی وجود دارد باعث می شود TelecomManager به تماس پاسخ دهد.

    • دکمه پایان تماس از روی فرمان هنگامی که تماس ورودی وجود دارد، TelecomManager تماس را پایان می دهد.

  • بلوتوث

    • PBAPClient. مخاطبین را از تلفن دانلود می کند و برای ارائه دهنده مخاطبین می نویسد. برای هر تلفن متصل، یک حساب با آدرس MAC بلوتوث دستگاه به عنوان نام حساب و com.android.bluetooth.pbapsink ( @string/pbap_account_type تعریف شده در packages/apps/Bluetooth ) به عنوان نوع حساب ایجاد می‌شود. مخاطبین نوشته شده برای ارائه دهنده مخاطبین با اطلاعات حساب نوشته می شوند و هنگامی که تلفن قطع می شود پاک می شوند. PBAPClient مستقیماً با Dialer ارتباط برقرار نمی کند، اما در عوض مخاطبین را در Contacts Provider می نویسد. شماره گیر مخاطبین را از ارائه دهنده مخاطبین می خواند.

    • HfpClientConnectionService . تماس بلوتوث را از طریق HFP مدیریت می کند و تماس را به خدمات مخابراتی گزارش می دهد.

  • مخابرات چارچوب Android Telecom تماس‌های صوتی و تصویری را در دستگاه Android مدیریت می‌کند. از آنجایی که Dialer برنامه پیش‌فرض تلفن است، APIهای InCallService را پیاده‌سازی می‌کند و InCallController پیاده‌سازی InCallService Dialer را برای رسیدگی به تماس‌ها متصل می‌کند. برای جزئیات بیشتر، به ایجاد برنامه تلفن جایگزین و تبدیل شدن به برنامه پیش‌فرض تلفن مراجعه کنید.

  • تنظیمات سیستم. Dialer لیست دستگاه های متصل به HFP را کنترل می کند و هنگامی که هیچ تلفنی از طریق بلوتوث به شماره گیر متصل نیست، یک پیام خطا نشان می دهد. در مرجع AOSP، دکمه اتصال به بلوتوث کاربران را به صفحه تنظیمات بلوتوث سیستم برای جفت کردن یک دستگاه جدید یا اتصال به یک دستگاه جفت شده پیوند می دهد.

  • موتور حواس پرتی راننده. این سرویس سیستم اندروید محدودیت های UX را بر اساس وضعیت رانندگی خودرو اعمال می کند. Dialer باید تمام محدودیت های حواس پرتی رانندگی UX را اجرا کند. برای انجام این کار، Dialer باید به CarUXRestrictionManager گوش دهد و همه سیاست ها را اجرا کند. شماره گیر باید:

    • به کتابخانه Car متصل شوید و نمونه ای از CarUXRestrictionManager را دریافت کنید.

    • مشترک به‌روزرسانی‌های فهرست CarUxRestrictions شوید و آن‌ها را طبق مستندات اجرا کنید.

    • از اهمیت ویژه ای برای Dialer:

      • صفحه تنظیمات برای خودرو بهینه شده است. کاربر نمی تواند هنگام رانندگی به صفحه تنظیمات شماره گیر دسترسی پیدا کند. با ضربه زدن بر روی منوی تنظیمات از نوار اقدام، یک صفحه مسدود کننده برای جلوگیری از دسترسی کاربر به تنظیمات در حین رانندگی نمایش داده می شود. اگر صفحه تنظیمات قبلاً نمایش داده شده باشد، صفحه مسدود کننده برای متوقف کردن تعامل کاربر ظاهر می شود.

      • هنگام رانندگی نمی توان به تنظیمات سیستم دسترسی داشت. در صفحه خطا، زمانی که هیچ دستگاه بلوتوثی متصل نیست، دکمه اتصال به بلوتوث صفحه تنظیمات بلوتوث سیستم را نمایش می دهد. UXR این دکمه کاملاً محدود شده است. در حین رانندگی با کلیک بر روی این دکمه پیغام خطایی به کاربر نمایش داده می شود تا ابتدا خودرو را پارک کند و سپس اقدام را انجام دهد.

      • کاربر نمی تواند جریان افزودن به موارد دلخواه را در حین رانندگی شروع کند. دکمه Add a Favorite غیر فعال است.

جریان های کاربر

شماره گیر اصلی

صفحات مختلف برای Dialer در زیر ارائه شده است.

صفحه شماره گیر اصلی

شکل 2. صفحه شماره گیر اصلی

رسیدگی به تماس ها

جریان فرآیند انتقال تماس در زیر ارائه شده است:

مدیریت تماس

شکل 3. رسیدگی به تماس

اطلاعیه

صفحات مختلف اعلان ها در زیر نمایش داده می شوند:

اطلاعیه

شکل 4. اطلاعیه ها

وضعیت InCall

جریان صفحه InCall در زیر نشان داده شده است:

صفحه InCall

شکل 5. صفحه InCall

نمایشگرهای جستجو عبارتند از:

جستجو کردن

شکل 6. جستجو

تنظیمات

گزینه های تنظیمات عبارتند از:

تنظیمات

شکل 7. تنظیمات