دليل الدمج للمصنّعين الأصليين للأجهزة

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

حملة VHAL

تتيح وحدة التحكّم الدوارة تنفيذ الإجراءات التالية:

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

يمكنك الانتقال إلى hardware/interfaces/automotive/vehicle/2.0/types.hal للحصول على مستندات حول خصائص النظام وint32Values المقابل

يجب أن تتعامل VHAL مع هذه الإجراءات:

تنبيه

عندما يدفع المستخدم وحدة التحكم الدوارة إلى اليمين، يجب أن يستخدم VHAL السمة HW_KEY_INPUT مع السمة int32Values التالية لإرسال على Android:

  1. ACTION_DOWN
  2. KEYCODE_SYSTEM_NAVIGATION_RIGHT
  3. الشبكة الإعلانية المستهدفة.

عندما يحرر المستخدم وحدة التحكم الدوارة، يجب أن يستخدم VHAL نفس الخاصية مع ACTION_UP. يجب أن تستخدم التذكيرات التلقائية في الاتجاهات الأخرى رموز المفاتيح المقابلة.

لا يوجد رموز مفاتيح للخطوط القطرية ولكن يمكن أن يجمع VHAL بين أفقي ورأسي. لإنتاج قطري إذا كان الجهاز يدعم القطر. على سبيل المثال، تحفيز وعلى اليسار سينتج عن ذلك:

  • HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_LEFT ACTION_DOWN
  • HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_UP ACTION_DOWN

في أي من الترتيبين (وبالتالي)، ينبغي أن ينتج عن تحرير وحدة التحكم الدوارة ما يلي:

  • HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_LEFT ACTION_UP
  • HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_UP ACTION_UP

ويمكن للمستخدم دفع وحدة التحكم الدوارة في اتجاه عمودي قبل رفعها. على سبيل المثال، السيناريو التالي:

اتجاه العمود
الشكل 1. اتجاه العمود

من المفترض أن يؤدي ذلك إلى إنشاء التسلسل التالي من الأحداث:

  1. HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_LEFT ACTION_DOWN
  2. HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_UP ACTION_DOWN
  3. HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_LEFT ACTION_UP
  4. HW_KEY_INPUT KEYCODE_SYSTEM_NAVIGATION_UP ACTION_UP

يجب عدم إنشاء أحداث تكرار أثناء الاحتفاظ بوحدة التحكم الدوارة. في اتجاه واحد.

تدوير

عندما يقوم المستخدم بتدوير وحدة التحكم الدوارة في اتجاه عقارب الساعة من خلال طرف واحد (بالنقر)، فإن VHAL يجب استخدام السمة HW_ROTARY_INPUT مع السمة int32Values التالية. لإرسال حدث إلى Android:

  1. ROTARY_INPUT_TYPE_SYSTEM_NAVIGATION
  2. شريط واحد (1).
  3. الشبكة الإعلانية المستهدفة.

يجب ضبط الطابع الزمني للحدث على الوقت المنقضي بالنانو ثانية.

يجب أن يؤدي تدوير واحد (1) عكس اتجاه عقارب الساعة إلى إنشاء الحدث نفسه ولكن -1 لعدد السجلات.

في حالة حدوث تكرارات متعددة للدوران في نفس الاتجاه في تتابع سريع، فإن VHAL دمج المعلومات في حدث واحد كي لا يتم إثقال النظام بالأحداث وفي هذه الحالة، يجب أن يكون الطابع الزمني للحدث هو الوقت الذي حدث فيه أول اتجاه للتدوير. يجب أن تتضمّن السمة int32Values عدد وحدات النانو ثانية بين الوحدات المتتالية. من التناوب.

على سبيل المثال، التسلسل التالي لعمليات التدوير:

  • في الوقت t0، قام المستخدم بتدوير إحدى الواصلات عكس عقارب الساعة.
  • في الوقت t0 + 5 ns، قام المستخدم بتدوير واحد عكس عقارب الساعة.
  • في الوقت t0 + 8 ns، قام المستخدم بتدوير واحد عكس عقارب الساعة.

إنشاء هذا الحدث:

  • الموقع: HW_ROTARY_INPUT
  • الطابع الزمني: t0
  • int32Values:
    1. ROTARY_INPUT_TYPE_SYSTEM_NAVIGATION
    2. -3 (ثلاثة فواصل عكس عقارب الساعة).
    3. الشبكة الإعلانية المستهدفة.
    4. 5 نانو ثانية بين الحد الأول والثاني.
    5. 3 نانو ثانية بين الطرف الثاني والثالث.

الزر الأوسط

عندما يضغط المستخدم على الزر "مركز"، يجب أن تستخدم "VHAL" الزر "HW_KEY_INPUT" مع السمة int32Values التالية لإرسال حدث إلى Android:

  1. ACTION_DOWN
  2. KEYCODE_DPAD_CENTER
  3. الشبكة الإعلانية المستهدفة.

عندما يحرر المستخدم وحدة التحكم الدوارة، يجب أن تستخدم VHAL نفس الخاصية ورمز المفتاح مع ACTION_UP.

عدم إنشاء أحداث تكرار عند الضغط مع الاستمرار على زر "المركز"

زر الرجوع

عندما يضغط المستخدم على الزر "رجوع"، يجب أن تستخدم "VHAL" الزر "HW_KEY_INPUT" مع السمة int32Values التالية لإرسال حدث إلى Android:

  1. ACTION_DOWN
  2. KEYCODE_BACK
  3. الشبكة الإعلانية المستهدفة.

عندما يحرر المستخدم وحدة التحكم الدوارة، يجب أن تستخدم VHAL نفس الخاصية ورمز المفتاح مع ACTION_UP.

يجب عدم إنشاء أحداث تكرار أثناء الضغط مع الاستمرار على زر الوسط.

زر الصفحة الرئيسية

التعامل مع زر "الشاشة الرئيسية" تمامًا كما تتعامل مع زر "الرجوع" ولكن مع "KEYCODE_HOME" بدلاً من ذلك من KEYCODE_BACK.

أزرار أخرى

إذا كانت وحدة التحكم الدوارة تحتوي على أي أزرار إضافية، فيمكن لـ VHAL التعامل معها، ولكن التي يفضّلها المصنّع الأصلي للجهاز لأنّها لا تُعدّ جزءًا من نظام التشغيل الدوّار من منظور Android. يتم التعامل معهما عادةً مثل زرَّي "الرجوع" و"الصفحة الرئيسية" ولكن برموز مفاتيح مختلفة. على سبيل المثال، KEYCODE_CALL أو KEYCODE_MUSIC.

إعداد التصميم

تتوفّر ميزة التنقّل الدوّار من خلال خدمة لتسهيل الاستخدام تُسمى RotaryService. لتضمين هذه الخدمة في صورة النظام لجهازك، أضِف السطر التالي إلى makefile:

PRODUCT_PACKAGES += CarRotaryController

قد تحتاج أيضًا إلى تضمين حزم المتابعة في إصدارات تصحيح الأخطاء:

يتم تفعيل خدمة وحدة الدوران تلقائيًا عند تشغيل الجهاز وعندما أحد المستخدمين حدوث التبديل. يضمن هذا أنه يمكن للمستخدم استخدام وحدة التحكم الدوارة أثناء الإعداد.

إذا كنت تستخدم الإصدار نفسه للسيارات المزوّدة بوحدة تحكّم دوّارة أو بدونها، إضافة CarRotaryController كما هو موضح أعلاه بحيث يتم تضمين الرمز اللازم في الإصدار. لمنع تفعيل خدمة الدوّارة على السيارات غير الدوّارة، أنشئ RRO ثابت لتراكب مورد السلسلة rotaryService في packages/services/Car/service بسلسلة فارغة. ستستخدم نفس الإصدار، ولكن لها إعدادات منتج منفصلة، للأجهزة الدوّارة وغير الدوّارة. الأخير فقط يتضمن التراكب.

التخصيص

يمكن للمصنّعين الأصليين للأجهزة تخصيص منطق البحث عن التركيز، وإبراز التركيز، وبعض العناصر الإضافية من خلال تراكبات الموارد في المواقع التالية:

  • توجد مكتبة Car-ui-library في packages/apps/Car/libs/car-ui-lib.
  • RotaryService مَوْجُودْ فِي packages/apps/Car/RotaryController
  • Core مَوْجُودْ فِي frameworks/base/core

سجلّ التذكيرات التلقائية

يمكن للمصنّع الأصلي للجهاز ضبط ما إذا كان قد تم تفعيل كل نوع من نوعي سجلّ الإشعارات الفورية أم لا، وفي هذه الحالة، حجم ذاكرة التخزين المؤقت وسياسة انتهاء الصلاحية. يتم كل ذلك من خلال تجاوز العديد من مكتبات واجهة المستخدم الموارد.

التركيز على ذاكرة التخزين المؤقت للسجلّ

(Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
تُخزِّن هذه النسخة المخزَّنة مؤقتًا لكل FocusArea طريقة العرض الأكثر تركيزًا ضمن FocusArea بحيث يمكن التركيز عليه عند الرجوع إلى FocusArea. يمكن ضبط ذاكرة التخزين المؤقت هذه من خلال تركيب موارد مكتبة واجهة السيارة التالية:

  • car_ui_focus_history_cache_type:
    1. ذاكرة التخزين المؤقت غير مفعّلة.
    2. ستنتهي صلاحية ذاكرة التخزين المؤقت بعد بعض الوقت (انظر أدناه).
    3. لن تنتهي صلاحية ذاكرة التخزين المؤقت أبدًا.
  • car_ui_focus_history_expiration_period_ms: كم عدد المللي ثانية قبل وتنتهي صلاحية ذاكرة التخزين المؤقت إذا تم تعيين نوع ذاكرة التخزين المؤقت على اثنين (2) (انظر أعلاه).

ذاكرة التخزين المؤقت لسجلّ FocusArea

(Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
وتخزِّن ذاكرة التخزين المؤقت هذه سجلّ التذكيرات التلقائية حتى يمكن إعادة التركيز إلى FocusArea نفسه. يمكن تهيئة ذاكرة التخزين المؤقت هذه عن طريق تركيب موارد مكتبة Car-ui التالية:

  • car_ui_focus_area_history_cache_type:
    1. ذاكرة التخزين المؤقت غير مفعّلة.
    2. تنتهي صلاحية ذاكرة التخزين المؤقت بعد مرور بعض الوقت (انظر أدناه).
    3. لا تنتهي صلاحية ذاكرة التخزين المؤقت أبدًا.
  • car_ui_focus_area_history_expiration_period_ms: كم المللي ثانية قبل تنتهي صلاحية ذاكرة التخزين المؤقت إذا تم تعيين نوع ذاكرة التخزين المؤقت على 2 (انظر أعلاه).
  • car_ui_clear_focus_area_history_when_rotating: تحديد ما إذا كان سيتم إبطال ذاكرة التخزين المؤقت عندما يقوم المستخدم بتدوير وحدة التحكم.

الدوران

(Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
يمكن للمصنّع الأصلي للجهاز إلغاء موردَين صحيحَين في RotaryService لتحديد ما إذا كان هناك تسريع، مثل تسريع الماوس، للتدوير:

  • rotation_acceleration_3x_ms: الفاصل الزمني (بالمللي ثانية) المستخدَم لتحديد ما إذا كان ينبغي لـ Google تسريع دوران وحدة التحكم من أجل تنظيم الدوران أم لا. إذا كانت الفاصل بين هذا الموضع ونقطة الدوران السابقة أصغر من هذه القيمة، فسيتم التعامل معه على أنه ثلاثة عناصر للدوران. عيِّن هذا على 2147483647 لإيقاف الوضع 3× والتسريع.
  • rotation_acceleration_2x_ms: مشابه لـ rotation_acceleration_3x_ms يتم استخدامه لتسريع 2x. ويمكنك ضبط هذا الخيار على 2147483647 لإيقاف خيار "التسريع 2×".

يعمل التسريع بشكل أفضل عندما تكون هناك طوابع زمنية فردية لكل موضع تدوير، مثل مطلوب بواسطة VHAL. وإذا لم تكن هذه المعلومات متاحة، تفترض السمة RotaryService أنّ معلومات التدوير متباعدان بشكل متساوٍ.

/**
     * Property to feed H/W rotary events to android
     *
     * int32Values[0] : RotaryInputType identifying which rotary knob rotated
     * int32Values[1] : number of detents (clicks), positive for clockwise,
     *                  negative for counterclockwise
     * int32Values[2] : target display defined in VehicleDisplay. Events not
     *                  tied to specific display must be sent to
     *                  VehicleDisplay#MAIN.
     * int32values[3 .. 3 + abs(number of detents) - 2]:
     *                  nanosecond deltas between pairs of consecutive detents,
     *                  if the number of detents is > 1 or < -1
     *
     * VehiclePropValue.timestamp: when the rotation occurred. If the number of
     *                             detents is > 1 or < -1, this is when the
     *                             first detent of rotation occurred.
     *
     * @change_mode VehiclePropertyChangeMode:ON_CHANGE
     * @data_enum RotaryInputType
     * @access VehiclePropertyAccess:READ
     */
    HW_ROTARY_INPUT = (
        0x0A20
        | VehiclePropertyGroup:SYSTEM
        | VehiclePropertyType:INT32_VEC
        | VehicleArea:GLOBAL),

التركيز على اللحظات المميّزة

يمكن للمصنّع الأصلي للجهاز إلغاء تمييز التركيز التلقائي في إطار عمل Android العديد من الموارد التي تسلط الضوء على البيئة في مكتبة واجهة المستخدم.

إبراز التركيز التلقائي

يوفّر إطار عمل Android ميزة إبراز التركيز التلقائي من خلال السمة. selectableItemBackground في Theme.DeviceDefault، سيتم تشير إلى item_background.xml في Core. يمكن للمصنّع الأصلي للجهاز تركيب item_background.xml لتغيير عنصر التركيز التلقائي القابل للرسم.

يجب أن يكون هذا العنصر القابل للرسم عادةً StateListDrawable الذي يضبط الخلفية. بالاستناد إلى مجموعات مختلفة من الحالات، من بينها android:state_focused وandroid:state_pressed. عندما يستخدم المستخدم وحدة التحكم الدوارة تركيز عرض، android:state_focused ستكون true، ولكن سيكون android:state_pressed false. إذا ضغط المستخدم بعد ذلك الزر الأوسط في وحدة التحكم الدوارة، لكل من android:state_focused سيصبح android:state_pressed true عندما يضغط المستخدم على الزر. عندما يسحب المستخدم الزر، سيظل android:state_focused فقط. true

تستخدم مكتبة Car-ui-library مظهرًا مشتقًا من Theme.DeviceDefault. وبالتالي يؤثر هذا التراكب في التطبيقات التي تستخدم هذه المكتبة والتطبيقات التي تستخدم أي مظهر مشتق من Theme.DeviceDefault لن يؤثر ذلك في التطبيقات التي تستخدم موضوعًا غير ذي صلة. مثل Theme.Material.

التركيز على موارد التمييز في مكتبة واجهة المستخدم

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

(Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
تُستخدم الموارد التالية للإشارة إلى وقت التركيز على العرض ولكن عدم الضغط عليه:

  • car_ui_rotary_focus_fill_color: لون التعبئة
  • car_ui_rotary_focus_stroke_color: لون المخطط
  • car_ui_rotary_focus_stroke_width: سُمك المخطط

(Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
تُستخدم الموارد التالية للإشارة إلى وقت التركيز والضغط على طريقة العرض:

  • car_ui_rotary_focus_pressed_fill_color: لون التعبئة
  • car_ui_rotary_focus_pressed_stroke_color: لون المخطط
  • car_ui_rotary_focus_pressed_stroke_width: سُمك المخطط

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

زر ذو خلفية خالصة
الشكل 2. زر ذو خلفية خالصة

في هذه الحالة، يمكن لمطوّر البرامج تحديد موضع تركيز مخصّص باستخدام الألوان الثانوية:
  • (Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
    car_ui_rotary_focus_fill_secondary_color
    car_ui_rotary_focus_stroke_secondary_color
  • (نظام التشغيل Android 12)
    car_ui_rotary_focus_pressed_fill_secondary_color
    car_ui_rotary_focus_pressed_stroke_secondary_color

ويمكن أن يكون أي لون شفافًا ويمكن أن يكون أي من البعدين صفرًا إذا، على سبيل المثال، تعبئة فقط أو مخطط تفصيلي فقط.

تمييز FocusArea

(Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
يمكن للميزة "FocusArea" رسم نوعَين من العناصر المميّزة عندما يكون أحد العناصر التابعة لها التركيز. ويمكن استخدام كلتا الشبكتين إذا أردت ذلك. يتم إيقاف هذه الميزة تلقائيًا في AOSP، ولكن يمكن تفعيله من خلال تجاوز موارد مكتبة واجهة مستخدم السيارة:

  • car_ui_enable_focus_area_foreground_highlight: رسم تمييز أعلى FocusArea وعناصره الفرعية. في AOSP، هذا قابل للرسم عبارة عن مخطط تفصيلي حول FocusArea. يمكن للمصنّعين الأصليين للأجهزة إلغاء car_ui_focus_area_foreground_highlight قابل للرسم.
  • car_ui_enable_focus_area_background_highlight: رسم تمييز أعلى الرمز FocusArea ولكن ما وراءها. في AOSP، هذا العنصر القابل للرسم هو تعبئة ثابتة. يمكن للمصنّعين الأصليين للأجهزة تجاوز عناصر car_ui_focus_area_background_highlight القابلة للرسم.

أدوات تحرير أساليب الإدخال

محررات أسلوب الإدخال (IME) هي أساليب إدخال. مثلاً، لوحة مفاتيح على الشاشة.

(Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
يجب أن يظهر المصنّع الأصلي للجهاز على مورد السلسلة default_touch_input_method. في RotaryService لتحديد ComponentName محرر أسلوب الإدخال (IME) الذي يعمل باللمس. على سبيل المثال، إذا كان المصنّع الأصلي للجهاز يستخدم أداة IME المتوفّرة مع Android Automotive، يجب أن يحددوا com.google.android.apps.automotive.inputmethod/.InputMethodService

(Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
إذا أنشأ المصنّع الأصلي للجهاز أداة IME خصيصًا للدوران الدوار، يجب عليه تحديد ComponentName في المرجع rotary_input_method. إذا كان هذا المورد متراكبة، يتم استخدام أداة IME المحددة عندما يتفاعل المستخدم مع الوحدة الرئيسية من خلال تحريك وحدة التحكم الدوارة، وتدويرها، وزر توسيط. عندما يلمس المستخدم الشاشة، فسيتم استخدام أداة IME السابقة. زر الرجوع (والأزرار الأخرى على وحدة الدوّارة) في اختيار أداة IME. إذا لم يكن هذا المورد مركّبًا، لن يتم التبديل إلى أداة IME تحدث المقابلة. لا يتوافق لوحة الرسم مع الدوران، وبالتالي لا يمكن للمستخدم إدخال نص من خلال الدوّارة. إذا لم يوفّر المصنّع الأصلي للجهاز أداة IME الدوّارة.

"RotaryIME" هو أداة تحرير أسلوب إدخال توضيحية عبر الدوّار. على الرغم من أنّها أساسية، إلا أنّها كافية يمكنك تجربة التبديل التلقائي لأداة IME الموضحة أعلاه. رمز المصدر لـ RotaryIME يمكن العثور عليها في packages/apps/Car/tests/RotaryIME/.

التذكيرات التلقائية خارج الشاشة

عندما يحاول المستخدم التحريك من حافة الشاشة تلقائيًا، لا يحدث شيء. يمكن للمصنّع الأصلي للجهاز ضبط ما يجب أن يحدث لكل من الاتجاهات الأربعة عن طريق تحديد مزيج من:

  1. إجراء عام يتم تحديده من خلال AccessibilityService. على سبيل المثال: GLOBAL_ACTION_BACK
  2. تمثّل هذه السمة رمز مفتاح، مثل KEYCODE_BACK.
  3. النية في بدء نشاط يتم تمثيله كعنوان URL.

(Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
ويتم تحديدها من خلال تركيب موارد الصفيف التالية في RotaryService:

  • off_screen_nudge_global_actions: مصفوفة من الإجراءات العامة التي سيتم تنفيذها عندما يحرّك المستخدم تحريكه إلى أعلى أو أسفل أو يسار أو يمين حافة الشاشة. ما مِن إجراء عام إذا كان العنصر ذي الصلة في هذه الصفيفة هو -1.
  • off_screen_nudge_key_codes: مصفوفة من الرموز الرئيسية لأحداث النقر المطلوب إدخالها عندما يحرّك المستخدم تحريكه إلى أعلى أو أسفل أو يسار أو يمين حافة الشاشة. لا توجد أحداث يتم إدخاله إذا كان العنصر ذي الصلة في هذه الصفيفة هو 0 (KEYCODE_UNKNOWN).
  • off_screen_nudge_intents: مصفوفة من الأهداف لبدء نشاط معيّن عند يحرّك المستخدم تحريكه إلى أعلى أو أسفل أو يسار أو يمين حافة الشاشة. لا يوجد نشاط إذا كان العنصر ذي الصلة في هذه الصفيفة فارغًا.

الإعدادات الأخرى

يجب عليك تركيب الموارد الـ RotaryService التالية:

  • (Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
    config_showHeadsUpNotificationOnBottom: قيمة منطقية لتمثيل ما إذا كان يجب عرض التنبيهات الرأسية في الجزء السفلي بدلاً من الأعلى. هذا يجب لها القيمة نفسها مثل config_showHeadsUpNotificationOnBottom مورد منطقي في frameworks/base/packages/CarSystemUI/res/values/config.xml
  • (Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
    notification_headsup_card_margin_horizontal: الهامش الأيسر والأيمن لـ للتنبيه. ويجب أن تكون له نفس قيمة السمة notification_headsup_card_margin_horizontal تقليل المورد في packages/apps/Car/Notification/res/values/dimens.xml
  • (نظام التشغيل Android 12)
    excluded_application_overlay_window_titles: صفيف من عناوين النوافذ التي لا ينبغي اعتبارها نوافذ متراكبة. يجب أن يشمل ذلك العناوين من نوافذ التطبيقات التي تمثِّل TaskViews أو TaskDisplayAreas. بشكل افتراضي، تحتوي هذه القائمة على "خرائط" فقط.

يمكنك إنشاء تركيبة من المرجع RotaryService التالي:

  • (Android 11 QPR3 وAndroid 11 Car، نظام التشغيل Android 12)
    long_press_ms: قيمة عدد صحيح لتمثيل عدد المللي ثانية يجب الضغط مع الاستمرار على الزر الأوسط لتشغيل الضغط المطوّل. يشير الصفر إلى النظام ينبغي استخدام المهلة الافتراضية للضغط الطويل. هذه هي القيمة الافتراضية.