Merge "Update itemDecoration lifecycle" into rvc-qpr-dev
diff --git a/car-media-common/res/values-af/strings.xml b/car-media-common/res/values-af/strings.xml
index 34cb73b..81dc44c 100644
--- a/car-media-common/res/values-af/strings.xml
+++ b/car-media-common/res/values-af/strings.xml
@@ -21,7 +21,7 @@
<string name="metadata_default_title" msgid="5902775732281325081">"Titelloos"</string>
<string name="default_error_message" msgid="4044331619453864482">"Iets is fout. Probeer later."</string>
<string name="error_code_app_error" msgid="3608680401453743688">"Kan dit nie op die oomblik doen nie"</string>
- <string name="error_code_not_supported" msgid="8004310657548193089">"Hierdie program kan nie dit doen nie"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"Hierdie program kan dit nie doen nie"</string>
<string name="error_code_authentication_expired" msgid="1727285213286610186">"Meld aan om hierdie program te gebruik"</string>
<string name="error_code_premium_account_required" msgid="2328664287270814966">"Premiumtoegang word vereis"</string>
<string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"Luister tans op te veel toestelle"</string>
diff --git a/car-media-common/res/values-as/strings.xml b/car-media-common/res/values-as/strings.xml
index 4a49013..6bf03a7 100644
--- a/car-media-common/res/values-as/strings.xml
+++ b/car-media-common/res/values-as/strings.xml
@@ -19,28 +19,16 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="album_art" msgid="3392647029019061691">"এলবাম আৰ্ট"</string>
<string name="metadata_default_title" msgid="5902775732281325081">"কোনো শিৰোনাম নাই"</string>
- <!-- no translation found for default_error_message (4044331619453864482) -->
- <skip />
- <!-- no translation found for error_code_app_error (3608680401453743688) -->
- <skip />
- <!-- no translation found for error_code_not_supported (8004310657548193089) -->
- <skip />
- <!-- no translation found for error_code_authentication_expired (1727285213286610186) -->
- <skip />
- <!-- no translation found for error_code_premium_account_required (2328664287270814966) -->
- <skip />
- <!-- no translation found for error_code_concurrent_stream_limit (493048763425570552) -->
- <skip />
- <!-- no translation found for error_code_parental_control_restricted (325145513462419399) -->
- <skip />
- <!-- no translation found for error_code_not_available_in_region (5840935836875073145) -->
- <skip />
- <!-- no translation found for error_code_content_already_playing (1306236349553004461) -->
- <skip />
- <!-- no translation found for error_code_skip_limit_reached (4203743406433151146) -->
- <skip />
- <!-- no translation found for error_code_action_aborted (8611777981356536501) -->
- <skip />
- <!-- no translation found for error_code_end_of_queue (6935022448319288887) -->
- <skip />
+ <string name="default_error_message" msgid="4044331619453864482">"কিবা ভুল হ’ল। পাছত চেষ্টা কৰক।"</string>
+ <string name="error_code_app_error" msgid="3608680401453743688">"সেইটো এই মুহূৰ্তত কৰিব নোৱাৰি"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"এই এপ্টোৱে সেইটো কৰিব নোৱাৰে"</string>
+ <string name="error_code_authentication_expired" msgid="1727285213286610186">"এই এপ্টো ব্যৱহাৰ কৰিবলৈ ছাইন ইন কৰক"</string>
+ <string name="error_code_premium_account_required" msgid="2328664287270814966">"Premium এক্সেছৰ আৱশ্যক"</string>
+ <string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"বহুকেইটা ডিভাইচত শুনি আছে"</string>
+ <string name="error_code_parental_control_restricted" msgid="325145513462419399">"সেই সমলটো অৱৰোধ কৰা আছে"</string>
+ <string name="error_code_not_available_in_region" msgid="5840935836875073145">"সেই সমলটো ইয়াত পাব নোৱাৰি"</string>
+ <string name="error_code_content_already_playing" msgid="1306236349553004461">"সেই সমলটো ইতিমধ্যে প্লে’ হৈ আছে"</string>
+ <string name="error_code_skip_limit_reached" msgid="4203743406433151146">"আৰু ট্ৰেক এৰি যাব নোৱাৰি"</string>
+ <string name="error_code_action_aborted" msgid="8611777981356536501">"সম্পূর্ণ কৰিব পৰা নগ’ল। পুনৰ চেষ্টা কৰক।"</string>
+ <string name="error_code_end_of_queue" msgid="6935022448319288887">"শাৰীত অন্য একো নাই"</string>
</resources>
diff --git a/car-media-common/res/values-bn/strings.xml b/car-media-common/res/values-bn/strings.xml
index 8d15e7b..d02e247 100644
--- a/car-media-common/res/values-bn/strings.xml
+++ b/car-media-common/res/values-bn/strings.xml
@@ -19,28 +19,16 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="album_art" msgid="3392647029019061691">"অ্যালবাম আর্ট"</string>
<string name="metadata_default_title" msgid="5902775732281325081">"কোনও শীর্ষক নেই"</string>
- <!-- no translation found for default_error_message (4044331619453864482) -->
- <skip />
- <!-- no translation found for error_code_app_error (3608680401453743688) -->
- <skip />
- <!-- no translation found for error_code_not_supported (8004310657548193089) -->
- <skip />
- <!-- no translation found for error_code_authentication_expired (1727285213286610186) -->
- <skip />
- <!-- no translation found for error_code_premium_account_required (2328664287270814966) -->
- <skip />
- <!-- no translation found for error_code_concurrent_stream_limit (493048763425570552) -->
- <skip />
- <!-- no translation found for error_code_parental_control_restricted (325145513462419399) -->
- <skip />
- <!-- no translation found for error_code_not_available_in_region (5840935836875073145) -->
- <skip />
- <!-- no translation found for error_code_content_already_playing (1306236349553004461) -->
- <skip />
- <!-- no translation found for error_code_skip_limit_reached (4203743406433151146) -->
- <skip />
- <!-- no translation found for error_code_action_aborted (8611777981356536501) -->
- <skip />
- <!-- no translation found for error_code_end_of_queue (6935022448319288887) -->
- <skip />
+ <string name="default_error_message" msgid="4044331619453864482">"কোনও সমস্যা হয়েছে। পরে চেষ্টা করুন।"</string>
+ <string name="error_code_app_error" msgid="3608680401453743688">"এই কাজটি এখন করা যাবে না"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"এই অ্যাপে এই কাজটি করা যাবে না"</string>
+ <string name="error_code_authentication_expired" msgid="1727285213286610186">"এই অ্যাপ ব্যবহার করতে সাইন-ইন করুন"</string>
+ <string name="error_code_premium_account_required" msgid="2328664287270814966">"Premium অ্যাক্সেস থাকতে হবে"</string>
+ <string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"একাধিক ডিভাইসে শোনা হচ্ছে"</string>
+ <string name="error_code_parental_control_restricted" msgid="325145513462419399">"ওই কন্টেন্টটি ব্লক করা আছে"</string>
+ <string name="error_code_not_available_in_region" msgid="5840935836875073145">"ওই কন্টেন্টটি এখানে পাওয়া যাবে না"</string>
+ <string name="error_code_content_already_playing" msgid="1306236349553004461">"কন্টেন্টটি আগে থেকেই চলছে"</string>
+ <string name="error_code_skip_limit_reached" msgid="4203743406433151146">"আর কোনও ট্র্যাক এড়িয়ে যেতে পারবেন না"</string>
+ <string name="error_code_action_aborted" msgid="8611777981356536501">"সম্পূর্ণ করা যায়নি। আবার চেষ্টা করুন।"</string>
+ <string name="error_code_end_of_queue" msgid="6935022448319288887">"সারিতে আর কিছু নেই"</string>
</resources>
diff --git a/car-media-common/res/values-de/strings.xml b/car-media-common/res/values-de/strings.xml
index a9e5893..b5894cb 100644
--- a/car-media-common/res/values-de/strings.xml
+++ b/car-media-common/res/values-de/strings.xml
@@ -19,28 +19,16 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="album_art" msgid="3392647029019061691">"Albumcover"</string>
<string name="metadata_default_title" msgid="5902775732281325081">"Kein Titel"</string>
- <!-- no translation found for default_error_message (4044331619453864482) -->
- <skip />
- <!-- no translation found for error_code_app_error (3608680401453743688) -->
- <skip />
- <!-- no translation found for error_code_not_supported (8004310657548193089) -->
- <skip />
- <!-- no translation found for error_code_authentication_expired (1727285213286610186) -->
- <skip />
- <!-- no translation found for error_code_premium_account_required (2328664287270814966) -->
- <skip />
- <!-- no translation found for error_code_concurrent_stream_limit (493048763425570552) -->
- <skip />
- <!-- no translation found for error_code_parental_control_restricted (325145513462419399) -->
- <skip />
- <!-- no translation found for error_code_not_available_in_region (5840935836875073145) -->
- <skip />
- <!-- no translation found for error_code_content_already_playing (1306236349553004461) -->
- <skip />
- <!-- no translation found for error_code_skip_limit_reached (4203743406433151146) -->
- <skip />
- <!-- no translation found for error_code_action_aborted (8611777981356536501) -->
- <skip />
- <!-- no translation found for error_code_end_of_queue (6935022448319288887) -->
- <skip />
+ <string name="default_error_message" msgid="4044331619453864482">"Ein Fehler ist aufgetreten. Versuch es später noch mal."</string>
+ <string name="error_code_app_error" msgid="3608680401453743688">"Das ist gerade nicht möglich"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"Diese App kann das nicht"</string>
+ <string name="error_code_authentication_expired" msgid="1727285213286610186">"Damit du diese App verwenden kannst, musst du dich zuerst anmelden"</string>
+ <string name="error_code_premium_account_required" msgid="2328664287270814966">"Premiumzugriff erforderlich"</string>
+ <string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"Es wird auf zu vielen Geräten gleichzeitig gestreamt"</string>
+ <string name="error_code_parental_control_restricted" msgid="325145513462419399">"Der Inhalt ist gesperrt"</string>
+ <string name="error_code_not_available_in_region" msgid="5840935836875073145">"Der Inhalt kann hier nicht abgerufen werden"</string>
+ <string name="error_code_content_already_playing" msgid="1306236349553004461">"Der Inhalt wird bereits wiedergegeben"</string>
+ <string name="error_code_skip_limit_reached" msgid="4203743406433151146">"Du kannst keine weiteren Titel überspringen"</string>
+ <string name="error_code_action_aborted" msgid="8611777981356536501">"Die Aktion konnte nicht abgeschlossen werden. Versuch es noch einmal."</string>
+ <string name="error_code_end_of_queue" msgid="6935022448319288887">"Es ist sonst nichts in der Warteschlange"</string>
</resources>
diff --git a/car-media-common/res/values-gl/strings.xml b/car-media-common/res/values-gl/strings.xml
index 91b1804..a1a8fc5 100644
--- a/car-media-common/res/values-gl/strings.xml
+++ b/car-media-common/res/values-gl/strings.xml
@@ -19,28 +19,16 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="album_art" msgid="3392647029019061691">"Portada de álbum"</string>
<string name="metadata_default_title" msgid="5902775732281325081">"Sen título"</string>
- <!-- no translation found for default_error_message (4044331619453864482) -->
- <skip />
- <!-- no translation found for error_code_app_error (3608680401453743688) -->
- <skip />
- <!-- no translation found for error_code_not_supported (8004310657548193089) -->
- <skip />
- <!-- no translation found for error_code_authentication_expired (1727285213286610186) -->
- <skip />
- <!-- no translation found for error_code_premium_account_required (2328664287270814966) -->
- <skip />
- <!-- no translation found for error_code_concurrent_stream_limit (493048763425570552) -->
- <skip />
- <!-- no translation found for error_code_parental_control_restricted (325145513462419399) -->
- <skip />
- <!-- no translation found for error_code_not_available_in_region (5840935836875073145) -->
- <skip />
- <!-- no translation found for error_code_content_already_playing (1306236349553004461) -->
- <skip />
- <!-- no translation found for error_code_skip_limit_reached (4203743406433151146) -->
- <skip />
- <!-- no translation found for error_code_action_aborted (8611777981356536501) -->
- <skip />
- <!-- no translation found for error_code_end_of_queue (6935022448319288887) -->
- <skip />
+ <string name="default_error_message" msgid="4044331619453864482">"Produciuse un problema. Téntao máis tarde."</string>
+ <string name="error_code_app_error" msgid="3608680401453743688">"Nestes momentos non se pode realizar a acción"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"Esta aplicación non pode realizar a acción"</string>
+ <string name="error_code_authentication_expired" msgid="1727285213286610186">"Inicia sesión para utilizar esta aplicación"</string>
+ <string name="error_code_premium_account_required" msgid="2328664287270814966">"Requírese acceso premium"</string>
+ <string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"Estase escoitando contido en demasiados dispositivos"</string>
+ <string name="error_code_parental_control_restricted" msgid="325145513462419399">"Ese contido está bloqueado"</string>
+ <string name="error_code_not_available_in_region" msgid="5840935836875073145">"Aquí non se pode acceder a ese contido"</string>
+ <string name="error_code_content_already_playing" msgid="1306236349553004461">"Xa se está reproducindo ese contido"</string>
+ <string name="error_code_skip_limit_reached" msgid="4203743406433151146">"Non se poden saltar máis pistas"</string>
+ <string name="error_code_action_aborted" msgid="8611777981356536501">"Non se puido completar a acción. Téntao de novo."</string>
+ <string name="error_code_end_of_queue" msgid="6935022448319288887">"Non hai nada máis na cola"</string>
</resources>
diff --git a/car-media-common/res/values-gu/strings.xml b/car-media-common/res/values-gu/strings.xml
index 4053594..b59fa2a 100644
--- a/car-media-common/res/values-gu/strings.xml
+++ b/car-media-common/res/values-gu/strings.xml
@@ -19,28 +19,16 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="album_art" msgid="3392647029019061691">"આલ્બમ આર્ટ"</string>
<string name="metadata_default_title" msgid="5902775732281325081">"કોઈ શીર્ષક નથી"</string>
- <!-- no translation found for default_error_message (4044331619453864482) -->
- <skip />
- <!-- no translation found for error_code_app_error (3608680401453743688) -->
- <skip />
- <!-- no translation found for error_code_not_supported (8004310657548193089) -->
- <skip />
- <!-- no translation found for error_code_authentication_expired (1727285213286610186) -->
- <skip />
- <!-- no translation found for error_code_premium_account_required (2328664287270814966) -->
- <skip />
- <!-- no translation found for error_code_concurrent_stream_limit (493048763425570552) -->
- <skip />
- <!-- no translation found for error_code_parental_control_restricted (325145513462419399) -->
- <skip />
- <!-- no translation found for error_code_not_available_in_region (5840935836875073145) -->
- <skip />
- <!-- no translation found for error_code_content_already_playing (1306236349553004461) -->
- <skip />
- <!-- no translation found for error_code_skip_limit_reached (4203743406433151146) -->
- <skip />
- <!-- no translation found for error_code_action_aborted (8611777981356536501) -->
- <skip />
- <!-- no translation found for error_code_end_of_queue (6935022448319288887) -->
- <skip />
+ <string name="default_error_message" msgid="4044331619453864482">"કંઈક ખોટું થયું. થોડા સમય પછી પ્રયાસ કરો."</string>
+ <string name="error_code_app_error" msgid="3608680401453743688">"તે અત્યારે કરી શકતા નથી"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"આ ઍપ તે કરી શકતી નથી"</string>
+ <string name="error_code_authentication_expired" msgid="1727285213286610186">"આ ઍપનો ઉપયોગ કરવા માટે સાઇન ઇન કરો"</string>
+ <string name="error_code_premium_account_required" msgid="2328664287270814966">"પ્રીમિયમ ઍક્સેસ જરૂરી છે"</string>
+ <string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"ઘણા બધા ડિવાઇસ પર સાંભળી રહ્યાં છે"</string>
+ <string name="error_code_parental_control_restricted" msgid="325145513462419399">"તે કન્ટેન્ટ બ્લૉક કર્યું છે"</string>
+ <string name="error_code_not_available_in_region" msgid="5840935836875073145">"તે કન્ટેન્ટ અહીં મેળવી શકાતું નથી"</string>
+ <string name="error_code_content_already_playing" msgid="1306236349553004461">"તે કન્ટેન્ટ પહેલાંથી ચલાવી રહ્યાં છે"</string>
+ <string name="error_code_skip_limit_reached" msgid="4203743406433151146">"કોઈ વધુ ટ્રૅક છોડી શકાતા નથી"</string>
+ <string name="error_code_action_aborted" msgid="8611777981356536501">"સમાપ્ત કરી શક્યાં નથી. ફરી પ્રયાસ કરો."</string>
+ <string name="error_code_end_of_queue" msgid="6935022448319288887">"બીજું કંઈ કતારમાં નથી"</string>
</resources>
diff --git a/car-media-common/res/values-iw/strings.xml b/car-media-common/res/values-iw/strings.xml
index 3656244..a0118e1 100644
--- a/car-media-common/res/values-iw/strings.xml
+++ b/car-media-common/res/values-iw/strings.xml
@@ -19,28 +19,16 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="album_art" msgid="3392647029019061691">"עטיפת אלבום"</string>
<string name="metadata_default_title" msgid="5902775732281325081">"ללא שם"</string>
- <!-- no translation found for default_error_message (4044331619453864482) -->
- <skip />
- <!-- no translation found for error_code_app_error (3608680401453743688) -->
- <skip />
- <!-- no translation found for error_code_not_supported (8004310657548193089) -->
- <skip />
- <!-- no translation found for error_code_authentication_expired (1727285213286610186) -->
- <skip />
- <!-- no translation found for error_code_premium_account_required (2328664287270814966) -->
- <skip />
- <!-- no translation found for error_code_concurrent_stream_limit (493048763425570552) -->
- <skip />
- <!-- no translation found for error_code_parental_control_restricted (325145513462419399) -->
- <skip />
- <!-- no translation found for error_code_not_available_in_region (5840935836875073145) -->
- <skip />
- <!-- no translation found for error_code_content_already_playing (1306236349553004461) -->
- <skip />
- <!-- no translation found for error_code_skip_limit_reached (4203743406433151146) -->
- <skip />
- <!-- no translation found for error_code_action_aborted (8611777981356536501) -->
- <skip />
- <!-- no translation found for error_code_end_of_queue (6935022448319288887) -->
- <skip />
+ <string name="default_error_message" msgid="4044331619453864482">"משהו השתבש. יש לנסות מאוחר יותר."</string>
+ <string name="error_code_app_error" msgid="3608680401453743688">"לא ניתן לבצע את הפעולה הזו כרגע"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"אי אפשר לבצע פעולה זו באפליקציה הזו"</string>
+ <string name="error_code_authentication_expired" msgid="1727285213286610186">"יש להיכנס לחשבון כדי להשתמש באפליקציה הזו"</string>
+ <string name="error_code_premium_account_required" msgid="2328664287270814966">"נדרשת גישה ל-Premium"</string>
+ <string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"מתבצעת האזנה ביותר מדי מכשירים"</string>
+ <string name="error_code_parental_control_restricted" msgid="325145513462419399">"התוכן הזה חסום"</string>
+ <string name="error_code_not_available_in_region" msgid="5840935836875073145">"לא ניתן לקבל את התוכן הזה כאן"</string>
+ <string name="error_code_content_already_playing" msgid="1306236349553004461">"התוכן הזה כבר פועל"</string>
+ <string name="error_code_skip_limit_reached" msgid="4203743406433151146">"לא ניתן לדלג יותר על טראקים"</string>
+ <string name="error_code_action_aborted" msgid="8611777981356536501">"לא ניתן היה לסיים. יש לנסות שוב."</string>
+ <string name="error_code_end_of_queue" msgid="6935022448319288887">"אין עוד שירים ברשימת השירים"</string>
</resources>
diff --git a/car-media-common/res/values-ky/strings.xml b/car-media-common/res/values-ky/strings.xml
index 128ad5a..8ca5ae0 100644
--- a/car-media-common/res/values-ky/strings.xml
+++ b/car-media-common/res/values-ky/strings.xml
@@ -19,28 +19,16 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="album_art" msgid="3392647029019061691">"Альбом мукабасы"</string>
<string name="metadata_default_title" msgid="5902775732281325081">"Аталышы жок"</string>
- <!-- no translation found for default_error_message (4044331619453864482) -->
- <skip />
- <!-- no translation found for error_code_app_error (3608680401453743688) -->
- <skip />
- <!-- no translation found for error_code_not_supported (8004310657548193089) -->
- <skip />
- <!-- no translation found for error_code_authentication_expired (1727285213286610186) -->
- <skip />
- <!-- no translation found for error_code_premium_account_required (2328664287270814966) -->
- <skip />
- <!-- no translation found for error_code_concurrent_stream_limit (493048763425570552) -->
- <skip />
- <!-- no translation found for error_code_parental_control_restricted (325145513462419399) -->
- <skip />
- <!-- no translation found for error_code_not_available_in_region (5840935836875073145) -->
- <skip />
- <!-- no translation found for error_code_content_already_playing (1306236349553004461) -->
- <skip />
- <!-- no translation found for error_code_skip_limit_reached (4203743406433151146) -->
- <skip />
- <!-- no translation found for error_code_action_aborted (8611777981356536501) -->
- <skip />
- <!-- no translation found for error_code_end_of_queue (6935022448319288887) -->
- <skip />
+ <string name="default_error_message" msgid="4044331619453864482">"Бир жерден ката кетти. Бир аздан кийин кайталап көрүңүз."</string>
+ <string name="error_code_app_error" msgid="3608680401453743688">"Аны азыр аткаруу мүмкүн эмес"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"Бул колдонмо аны аткара албайт"</string>
+ <string name="error_code_authentication_expired" msgid="1727285213286610186">"Бул колдонмону пайдалануу үчүн аккаунтуңузга кириңиз"</string>
+ <string name="error_code_premium_account_required" msgid="2328664287270814966">"Артыкчылыктуу кирүү мүмкүнчүлүгү талап кылынат"</string>
+ <string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"Өтө көп түзмөк угулууда"</string>
+ <string name="error_code_parental_control_restricted" msgid="325145513462419399">"Ал мазмун бөгөттөлгөн"</string>
+ <string name="error_code_not_available_in_region" msgid="5840935836875073145">"Ал мазмунду алуу мүмкүн эмес"</string>
+ <string name="error_code_content_already_playing" msgid="1306236349553004461">"Ал мазмун ойнотулууда"</string>
+ <string name="error_code_skip_limit_reached" msgid="4203743406433151146">"Эми тректерди өткөрүп жиберүүгө болбойт"</string>
+ <string name="error_code_action_aborted" msgid="8611777981356536501">"Аягына чыккан жок. Кайталап көрүңүз."</string>
+ <string name="error_code_end_of_queue" msgid="6935022448319288887">"Кезекте эч нерсе жок"</string>
</resources>
diff --git a/car-media-common/res/values-mr/strings.xml b/car-media-common/res/values-mr/strings.xml
index 617ee85..27547ba 100644
--- a/car-media-common/res/values-mr/strings.xml
+++ b/car-media-common/res/values-mr/strings.xml
@@ -19,28 +19,16 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="album_art" msgid="3392647029019061691">"अल्बम कला"</string>
<string name="metadata_default_title" msgid="5902775732281325081">"शीर्षक नाही"</string>
- <!-- no translation found for default_error_message (4044331619453864482) -->
- <skip />
- <!-- no translation found for error_code_app_error (3608680401453743688) -->
- <skip />
- <!-- no translation found for error_code_not_supported (8004310657548193089) -->
- <skip />
- <!-- no translation found for error_code_authentication_expired (1727285213286610186) -->
- <skip />
- <!-- no translation found for error_code_premium_account_required (2328664287270814966) -->
- <skip />
- <!-- no translation found for error_code_concurrent_stream_limit (493048763425570552) -->
- <skip />
- <!-- no translation found for error_code_parental_control_restricted (325145513462419399) -->
- <skip />
- <!-- no translation found for error_code_not_available_in_region (5840935836875073145) -->
- <skip />
- <!-- no translation found for error_code_content_already_playing (1306236349553004461) -->
- <skip />
- <!-- no translation found for error_code_skip_limit_reached (4203743406433151146) -->
- <skip />
- <!-- no translation found for error_code_action_aborted (8611777981356536501) -->
- <skip />
- <!-- no translation found for error_code_end_of_queue (6935022448319288887) -->
- <skip />
+ <string name="default_error_message" msgid="4044331619453864482">"काहीतरी चूक झाली. नंतर प्रयत्न करा."</string>
+ <string name="error_code_app_error" msgid="3608680401453743688">"ते आता करू शकत नाही"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"हे ॲप ते करू शकत नाही"</string>
+ <string name="error_code_authentication_expired" msgid="1727285213286610186">"हे ॲप वापरण्यासाठी साइन इन करा"</string>
+ <string name="error_code_premium_account_required" msgid="2328664287270814966">"प्रीमियम ॲक्सेस आवश्यक आहे"</string>
+ <string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"खूप जास्त डिव्हाइसवर ऐकले जात आहे"</string>
+ <string name="error_code_parental_control_restricted" msgid="325145513462419399">"तो आशय ब्लॉक केलेला आहे"</string>
+ <string name="error_code_not_available_in_region" msgid="5840935836875073145">"तो आशय येथे मिळवू शकत नाही"</string>
+ <string name="error_code_content_already_playing" msgid="1306236349553004461">"तो आशय आधीपासून प्ले करत आहे"</string>
+ <string name="error_code_skip_limit_reached" msgid="4203743406433151146">"आणखी ट्रॅक वगळू शकत नाही"</string>
+ <string name="error_code_action_aborted" msgid="8611777981356536501">"पूर्ण करता आले नाही. पुन्हा प्रयत्न करा."</string>
+ <string name="error_code_end_of_queue" msgid="6935022448319288887">"इतर काहीही क्यू केलेले नाही"</string>
</resources>
diff --git a/car-media-common/res/values-ne/strings.xml b/car-media-common/res/values-ne/strings.xml
index 3f8bc5f..5eed37d 100644
--- a/car-media-common/res/values-ne/strings.xml
+++ b/car-media-common/res/values-ne/strings.xml
@@ -19,28 +19,16 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="album_art" msgid="3392647029019061691">"एल्बम आर्ट"</string>
<string name="metadata_default_title" msgid="5902775732281325081">"शीर्षक छैन"</string>
- <!-- no translation found for default_error_message (4044331619453864482) -->
- <skip />
- <!-- no translation found for error_code_app_error (3608680401453743688) -->
- <skip />
- <!-- no translation found for error_code_not_supported (8004310657548193089) -->
- <skip />
- <!-- no translation found for error_code_authentication_expired (1727285213286610186) -->
- <skip />
- <!-- no translation found for error_code_premium_account_required (2328664287270814966) -->
- <skip />
- <!-- no translation found for error_code_concurrent_stream_limit (493048763425570552) -->
- <skip />
- <!-- no translation found for error_code_parental_control_restricted (325145513462419399) -->
- <skip />
- <!-- no translation found for error_code_not_available_in_region (5840935836875073145) -->
- <skip />
- <!-- no translation found for error_code_content_already_playing (1306236349553004461) -->
- <skip />
- <!-- no translation found for error_code_skip_limit_reached (4203743406433151146) -->
- <skip />
- <!-- no translation found for error_code_action_aborted (8611777981356536501) -->
- <skip />
- <!-- no translation found for error_code_end_of_queue (6935022448319288887) -->
- <skip />
+ <string name="default_error_message" msgid="4044331619453864482">"केही चिज गडबड छ। पछि प्रयास गर्नुहोस्।"</string>
+ <string name="error_code_app_error" msgid="3608680401453743688">"त्यो कार्य अहिले नै गर्न सकिँदैन"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"यस अनुप्रयोगले उक्त कार्य गर्न सक्दैन"</string>
+ <string name="error_code_authentication_expired" msgid="1727285213286610186">"यो एप प्रयोग गर्न साइन इन गर्नुहोस्"</string>
+ <string name="error_code_premium_account_required" msgid="2328664287270814966">"यसका लागि प्रिमियम खातामाथिको पहुँच आवश्यक हुन्छ"</string>
+ <string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"अत्यधिक यन्त्रहरूबाट सुनिँदै छ"</string>
+ <string name="error_code_parental_control_restricted" msgid="325145513462419399">"उक्त सामग्री ब्लक गरिएको छ"</string>
+ <string name="error_code_not_available_in_region" msgid="5840935836875073145">"उक्त सामग्री यहाँ प्राप्त गर्न सकिँदैन"</string>
+ <string name="error_code_content_already_playing" msgid="1306236349553004461">"उक्त सामग्री प्ले भइरहेको छ"</string>
+ <string name="error_code_skip_limit_reached" msgid="4203743406433151146">"योभन्दा धेरै गीतहरू स्किप गर्न सकिँदैन"</string>
+ <string name="error_code_action_aborted" msgid="8611777981356536501">"कार्य पूरा गर्न सकिएन। फेरि प्रयास गर्नुहोस्।"</string>
+ <string name="error_code_end_of_queue" msgid="6935022448319288887">"सूचीमा अरू केही पनि छैन"</string>
</resources>
diff --git a/car-media-common/res/values-te/strings.xml b/car-media-common/res/values-te/strings.xml
index 22e53ec..f3dec11 100644
--- a/car-media-common/res/values-te/strings.xml
+++ b/car-media-common/res/values-te/strings.xml
@@ -19,28 +19,16 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="album_art" msgid="3392647029019061691">"ఆల్బమ్ ఆర్ట్"</string>
<string name="metadata_default_title" msgid="5902775732281325081">"శీర్షిక లేదు"</string>
- <!-- no translation found for default_error_message (4044331619453864482) -->
- <skip />
- <!-- no translation found for error_code_app_error (3608680401453743688) -->
- <skip />
- <!-- no translation found for error_code_not_supported (8004310657548193089) -->
- <skip />
- <!-- no translation found for error_code_authentication_expired (1727285213286610186) -->
- <skip />
- <!-- no translation found for error_code_premium_account_required (2328664287270814966) -->
- <skip />
- <!-- no translation found for error_code_concurrent_stream_limit (493048763425570552) -->
- <skip />
- <!-- no translation found for error_code_parental_control_restricted (325145513462419399) -->
- <skip />
- <!-- no translation found for error_code_not_available_in_region (5840935836875073145) -->
- <skip />
- <!-- no translation found for error_code_content_already_playing (1306236349553004461) -->
- <skip />
- <!-- no translation found for error_code_skip_limit_reached (4203743406433151146) -->
- <skip />
- <!-- no translation found for error_code_action_aborted (8611777981356536501) -->
- <skip />
- <!-- no translation found for error_code_end_of_queue (6935022448319288887) -->
- <skip />
+ <string name="default_error_message" msgid="4044331619453864482">"ఏదో తప్పు జరిగింది. తర్వాత ట్రై చేయండి."</string>
+ <string name="error_code_app_error" msgid="3608680401453743688">"దానిని ఇప్పుడు చేయడం సాధ్యపడదు"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"ఈ యాప్ దానిని చేయలేదు"</string>
+ <string name="error_code_authentication_expired" msgid="1727285213286610186">"ఈ యాప్ను ఉపయోగించడానికి సైన్ ఇన్ చేయండి"</string>
+ <string name="error_code_premium_account_required" msgid="2328664287270814966">"ప్రీమియం యాక్సెస్ అవసరం"</string>
+ <string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"అనేక పరికరాలలో వింటున్నారు"</string>
+ <string name="error_code_parental_control_restricted" msgid="325145513462419399">"ఆ కంటెంట్ బ్లాక్ చేయబడింది"</string>
+ <string name="error_code_not_available_in_region" msgid="5840935836875073145">"ఆ కంటెంట్ను ఇక్కడ పొందడం సాధ్యపడదు"</string>
+ <string name="error_code_content_already_playing" msgid="1306236349553004461">"ఇప్పటికే ఆ కంటెంట్ ప్లే అవుతోంది"</string>
+ <string name="error_code_skip_limit_reached" msgid="4203743406433151146">"ఇంక ఏ ట్రాక్లనూ స్కిప్ చేయడం సాధ్యపడదు"</string>
+ <string name="error_code_action_aborted" msgid="8611777981356536501">"పూర్తి చేయడం సాధ్యపడలేదు. మళ్లీ ట్రై చేయండి."</string>
+ <string name="error_code_end_of_queue" msgid="6935022448319288887">"క్రమ వరుసలో ఏమీ లేదు"</string>
</resources>
diff --git a/car-media-common/res/values-ur/strings.xml b/car-media-common/res/values-ur/strings.xml
index e92d997..19dfce7 100644
--- a/car-media-common/res/values-ur/strings.xml
+++ b/car-media-common/res/values-ur/strings.xml
@@ -19,28 +19,16 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="album_art" msgid="3392647029019061691">"البم آرٹ"</string>
<string name="metadata_default_title" msgid="5902775732281325081">"کوئی عنوان نہیں ہے"</string>
- <!-- no translation found for default_error_message (4044331619453864482) -->
- <skip />
- <!-- no translation found for error_code_app_error (3608680401453743688) -->
- <skip />
- <!-- no translation found for error_code_not_supported (8004310657548193089) -->
- <skip />
- <!-- no translation found for error_code_authentication_expired (1727285213286610186) -->
- <skip />
- <!-- no translation found for error_code_premium_account_required (2328664287270814966) -->
- <skip />
- <!-- no translation found for error_code_concurrent_stream_limit (493048763425570552) -->
- <skip />
- <!-- no translation found for error_code_parental_control_restricted (325145513462419399) -->
- <skip />
- <!-- no translation found for error_code_not_available_in_region (5840935836875073145) -->
- <skip />
- <!-- no translation found for error_code_content_already_playing (1306236349553004461) -->
- <skip />
- <!-- no translation found for error_code_skip_limit_reached (4203743406433151146) -->
- <skip />
- <!-- no translation found for error_code_action_aborted (8611777981356536501) -->
- <skip />
- <!-- no translation found for error_code_end_of_queue (6935022448319288887) -->
- <skip />
+ <string name="default_error_message" msgid="4044331619453864482">"کچھ غلط ہو گیا۔ بعد میں کوشش کریں۔"</string>
+ <string name="error_code_app_error" msgid="3608680401453743688">"ابھی وہ ایسا نہیں کر سکتا"</string>
+ <string name="error_code_not_supported" msgid="8004310657548193089">"یہ ایپ ایسا نہیں کر سکتی"</string>
+ <string name="error_code_authentication_expired" msgid="1727285213286610186">"اس ایپ کا استعمال کرنے کے لیے سائن ان کریں"</string>
+ <string name="error_code_premium_account_required" msgid="2328664287270814966">"پریمیم رسائی درکار ہے"</string>
+ <string name="error_code_concurrent_stream_limit" msgid="493048763425570552">"بہت سے آلات پر سنا جا رہا ہے"</string>
+ <string name="error_code_parental_control_restricted" msgid="325145513462419399">"وہ مواد مسدود ہے"</string>
+ <string name="error_code_not_available_in_region" msgid="5840935836875073145">"یہاں وہ مواد حاصل نہیں کر سکتے"</string>
+ <string name="error_code_content_already_playing" msgid="1306236349553004461">"وہ مواد پہلے سے ہی چلایا جا رہا ہے"</string>
+ <string name="error_code_skip_limit_reached" msgid="4203743406433151146">"مزید کسی اور ٹریکس کو نظر انداز نہیں کر سکتے"</string>
+ <string name="error_code_action_aborted" msgid="8611777981356536501">"پورا نہیں ہو سکا۔ پھر آزمائيں۔"</string>
+ <string name="error_code_end_of_queue" msgid="6935022448319288887">"مزید کچھ اور کی قطار نہیں ہے"</string>
</resources>
diff --git a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/MenuItemRenderer.java b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/MenuItemRenderer.java
index 7bf9025..85141f1 100644
--- a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/MenuItemRenderer.java
+++ b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/toolbar/MenuItemRenderer.java
@@ -63,9 +63,13 @@
private View mIconContainer;
private ImageView mIconView;
private Switch mSwitch;
+ private View mTextContainer;
private TextView mTextView;
private TextView mTextWithIconView;
+ /** Whether the layout file supports rotary mode. */
+ private boolean mIsRotaryEnabledLayout;
+
MenuItemRenderer(MenuItem item, ViewGroup parentView) {
mMenuItem = item;
mParentView = parentView;
@@ -102,6 +106,10 @@
requireViewByRefId(mView, R.id.car_ui_toolbar_menu_item_icon_container);
mIconView = requireViewByRefId(mView, R.id.car_ui_toolbar_menu_item_icon);
mSwitch = requireViewByRefId(mView, R.id.car_ui_toolbar_menu_item_switch);
+ // mTextContainer is only available in rotary enabled layout.
+ mTextContainer =
+ CarUiUtils.findViewByRefId(mView, R.id.car_ui_toolbar_menu_item_text_container);
+ mIsRotaryEnabledLayout = mTextContainer != null;
mTextView = requireViewByRefId(mView, R.id.car_ui_toolbar_menu_item_text);
mTextWithIconView =
requireViewByRefId(mView, R.id.car_ui_toolbar_menu_item_text_with_icon);
@@ -132,24 +140,36 @@
mView.setVisibility(View.VISIBLE);
mView.setContentDescription(mMenuItem.getTitle());
- mIconContainer.setVisibility(View.GONE);
+ int iconContainerVisibility = View.GONE;
+ int textContainerVisibility = View.GONE;
mTextView.setVisibility(View.GONE);
mTextWithIconView.setVisibility(View.GONE);
mSwitch.setVisibility(View.GONE);
if (checkable) {
mSwitch.setChecked(mMenuItem.isChecked());
mSwitch.setVisibility(View.VISIBLE);
+ if (mIsRotaryEnabledLayout) {
+ iconContainerVisibility = View.VISIBLE;
+ }
} else if (hasText && hasIcon && textAndIcon) {
mMenuItem.getIcon().setBounds(0, 0, mMenuItemIconSize, mMenuItemIconSize);
mTextWithIconView.setCompoundDrawables(mMenuItem.getIcon(), null, null, null);
mTextWithIconView.setText(mMenuItem.getTitle());
mTextWithIconView.setVisibility(View.VISIBLE);
+ textContainerVisibility = View.VISIBLE;
} else if (hasIcon) {
mIconView.setImageDrawable(mMenuItem.getIcon());
- mIconContainer.setVisibility(View.VISIBLE);
+ iconContainerVisibility = View.VISIBLE;
} else { // hasText will be true
mTextView.setText(mMenuItem.getTitle());
mTextView.setVisibility(View.VISIBLE);
+ textContainerVisibility = View.VISIBLE;
+ }
+ // Unlike other views, we should only update the visibility of mIconContainer and
+ // mTextContainer once, otherwise rotary focus might break.
+ mIconContainer.setVisibility(iconContainerVisibility);
+ if (mTextContainer != null) {
+ mTextContainer.setVisibility(textContainerVisibility);
}
if (!mMenuItem.isTinted() && hasIcon) {
@@ -159,13 +179,19 @@
recursiveSetEnabledAndDrawableState(mView);
mView.setActivated(mMenuItem.isActivated());
+ View clickTarget = null;
+ if (mIsRotaryEnabledLayout) {
+ clickTarget = iconContainerVisibility == View.VISIBLE ? mIconContainer : mTextContainer;
+ } else {
+ clickTarget = mView;
+ }
if (mMenuItem.getOnClickListener() != null
|| mMenuItem.isCheckable()
|| mMenuItem.isActivatable()) {
- mView.setOnClickListener(v -> mMenuItem.performClick());
+ clickTarget.setOnClickListener(v -> mMenuItem.performClick());
} else {
- mView.setOnClickListener(null);
- mView.setClickable(false);
+ clickTarget.setOnClickListener(null);
+ clickTarget.setClickable(false);
}
}
diff --git a/car-ui-lib/car-ui-lib/src/main/res/values/ids.xml b/car-ui-lib/car-ui-lib/src/main/res/values/ids.xml
index 2c23ac3..3f0c9b1 100644
--- a/car-ui-lib/car-ui-lib/src/main/res/values/ids.xml
+++ b/car-ui-lib/car-ui-lib/src/main/res/values/ids.xml
@@ -16,4 +16,7 @@
<resources>
<!-- Id used for the search button when using Toolbar.createSearch() method -->
<item name="search" type="id"/>
+
+ <!-- Id used for in car_ui_toolbar_menu_item.xml -->
+ <item name="car_ui_toolbar_menu_item_text_container" type="id"/>
</resources>
diff --git a/car-ui-lib/referencedesign/res/layout/car_ui_toolbar_menu_item.xml b/car-ui-lib/referencedesign/res/layout/car_ui_toolbar_menu_item.xml
index c0af8f4..18f2e16 100644
--- a/car-ui-lib/referencedesign/res/layout/car_ui_toolbar_menu_item.xml
+++ b/car-ui-lib/referencedesign/res/layout/car_ui_toolbar_menu_item.xml
@@ -24,7 +24,7 @@
style="@style/Widget.CarUi.Toolbar.MenuItem.IndividualContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="center">
+ android:background="@drawable/car_ui_toolbar_menu_item_icon_ripple">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -38,27 +38,40 @@
android:layout_gravity="center"
android:tint="@color/car_ui_toolbar_menu_item_icon_color"
android:tintMode="src_in"/>
+ <com.android.car.ui.uxr.DrawableStateSwitch
+ android:id="@+id/car_ui_toolbar_menu_item_switch"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:background="@null"
+ android:focusable="false"
+ android:clickable="false"/>
</FrameLayout>
- <com.android.car.ui.uxr.DrawableStateSwitch
- android:id="@+id/car_ui_toolbar_menu_item_switch"
+
+ <FrameLayout
+ android:id="@+id/car_ui_toolbar_menu_item_text_container"
+ style="@style/Widget.CarUi.Toolbar.MenuItem.IndividualContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:clickable="false"/>
-
- <!-- These buttons must have clickable="false" or they will steal the click events from the container -->
- <com.android.car.ui.uxr.DrawableStateButton
- android:id="@+id/car_ui_toolbar_menu_item_text"
- style="@style/Widget.CarUi.Toolbar.TextButton"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_gravity="center"
- android:clickable="false"/>
- <com.android.car.ui.uxr.DrawableStateButton
- android:id="@+id/car_ui_toolbar_menu_item_text_with_icon"
- style="@style/Widget.CarUi.Toolbar.TextButton.WithIcon"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_gravity="center"
- android:clickable="false"/>
+ android:background="?android:attr/selectableItemBackground">
+ <!-- These buttons must have clickable="false" or they will steal the click events from the container -->
+ <com.android.car.ui.uxr.DrawableStateButton
+ android:id="@+id/car_ui_toolbar_menu_item_text"
+ style="@style/Widget.CarUi.Toolbar.TextButton"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:background="@null"
+ android:focusable="false"
+ android:clickable="false"/>
+ <com.android.car.ui.uxr.DrawableStateButton
+ android:id="@+id/car_ui_toolbar_menu_item_text_with_icon"
+ style="@style/Widget.CarUi.Toolbar.TextButton.WithIcon"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:background="@null"
+ android:focusable="false"
+ android:clickable="false"/>
+ </FrameLayout>
</FrameLayout>
diff --git a/car-ui-lib/referencedesign/res/values/styles.xml b/car-ui-lib/referencedesign/res/values/styles.xml
index 931d613..1147062 100644
--- a/car-ui-lib/referencedesign/res/values/styles.xml
+++ b/car-ui-lib/referencedesign/res/values/styles.xml
@@ -34,7 +34,7 @@
<style name="Widget.CarUi.Toolbar.MenuItem.IndividualContainer">
<item name="android:minHeight">76dp</item>
<item name="android:minWidth">76dp</item>
- <item name="android:background">@drawable/car_ui_toolbar_menu_item_icon_ripple</item>
+ <item name="android:layout_gravity">center</item>
<item name="android:focusable">true</item>
</style>
diff --git a/car-ui-lib/referencedesign/res/xml/overlays.xml b/car-ui-lib/referencedesign/res/xml/overlays.xml
index 6a18207..cf2bd1b 100644
--- a/car-ui-lib/referencedesign/res/xml/overlays.xml
+++ b/car-ui-lib/referencedesign/res/xml/overlays.xml
@@ -54,6 +54,7 @@
<item target="id/car_ui_toolbar_menu_item_icon_container" value="@id/car_ui_toolbar_menu_item_icon_container"/>
<item target="id/car_ui_toolbar_menu_item_icon" value="@id/car_ui_toolbar_menu_item_icon"/>
<item target="id/car_ui_toolbar_menu_item_switch" value="@id/car_ui_toolbar_menu_item_switch"/>
+ <item target="id/car_ui_toolbar_menu_item_text_container" value="@id/car_ui_toolbar_menu_item_text_container"/>
<item target="id/car_ui_toolbar_menu_item_text" value="@id/car_ui_toolbar_menu_item_text"/>
<item target="id/car_ui_toolbar_menu_item_text_with_icon" value="@id/car_ui_toolbar_menu_item_text_with_icon"/>
diff --git a/car-ui-lib/tests/apitest/current.xml b/car-ui-lib/tests/apitest/current.xml
index 73a0d26..7cf0009 100644
--- a/car-ui-lib/tests/apitest/current.xml
+++ b/car-ui-lib/tests/apitest/current.xml
@@ -220,6 +220,7 @@
<public type="id" name="car_ui_toolbar_menu_item_icon_container"/>
<public type="id" name="car_ui_toolbar_menu_item_switch"/>
<public type="id" name="car_ui_toolbar_menu_item_text"/>
+ <public type="id" name="car_ui_toolbar_menu_item_text_container"/>
<public type="id" name="car_ui_toolbar_menu_item_text_with_icon"/>
<public type="id" name="car_ui_toolbar_menu_items_container"/>
<public type="id" name="car_ui_toolbar_nav_icon"/>