am af0d3c1e: am e1f84981: Merge "Disable predictive animations when span count changes" into lmp-mr1-ub-dev
* commit 'af0d3c1ed362ee3f20956e31d3260773120d770a':
Disable predictive animations when span count changes
diff --git a/v13/java/android/support/v13/app/FragmentStatePagerAdapter.java b/v13/java/android/support/v13/app/FragmentStatePagerAdapter.java
index 1339318..89be82e 100644
--- a/v13/java/android/support/v13/app/FragmentStatePagerAdapter.java
+++ b/v13/java/android/support/v13/app/FragmentStatePagerAdapter.java
@@ -184,7 +184,7 @@
}
for (int i=0; i<mFragments.size(); i++) {
Fragment f = mFragments.get(i);
- if (f != null) {
+ if (f != null && f.isAdded()) {
if (state == null) {
state = new Bundle();
}
diff --git a/v17/leanback/res/values-af/strings.xml b/v17/leanback/res/values-af/strings.xml
index c7109bb..fa93257 100644
--- a/v17/leanback/res/values-af/strings.xml
+++ b/v17/leanback/res/values-af/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Praat om te soek"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Deursoek <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Praat om <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> te deursoek"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Speel"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Laat wag"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Vinnig vorentoe"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Spoel vorentoe %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Spoel terug"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Spoel terug %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Slaan volgende oor"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Slaan vorige oor"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Nog handelinge"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Ontkies laaik baie"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Kies laaik baie"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Ontkies laaik niks"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Kies laaik niks"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Herhaal niks"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Herhaal alles"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Herhaal een"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Aktiveer skommel"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Deaktiveer skommel"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Aktiveer hoë gehalte"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Deaktiveer hoë gehalte"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Aktiveer onderskrifte"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Deaktiveer onderskrifte"</string>
</resources>
diff --git a/v17/leanback/res/values-am/strings.xml b/v17/leanback/res/values-am/strings.xml
index d5bf0f5..4b0f26f 100644
--- a/v17/leanback/res/values-am/strings.xml
+++ b/v17/leanback/res/values-am/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"ለመፈለግ ይናገሩ"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> ፈልግ"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>ን ለመፈለግ ይናገሩ"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"አጫውት"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"ለአፍታ አቁም"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"በፍጥነት አሳልፍ"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"በ%1$dX ወደፊት አፍጥን"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"ወደኋላ አጠንጥን"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"በ%1$dX አጠንጥን"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"የሚቀጥለውን ዝለል"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"የቀደመውን ዝለል"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"ተጨማሪ እርምጃዎች"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"አውራጣት ወደ ላይን አትምረጥ"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"አውራ ጣት ወደላይን ምረጥ"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"አውራ ጣት ወደታችን አትምረጥ"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"አውራ ጣት ወደታችን ምረጥ"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"ምንም አትድገም"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"ሁሉንም ድገም"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"አንዱን ድገም"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"መበወዣን አንቃ"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"መበወዣን አሰናክል"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"ከፍተኛ ጥራትን አንቃ"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"ከፍተኛ ጥራትን አሰናክል"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"ዝግ የምስል ስር ጽሑፍ አጻጻፍን አንቃ"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"ዝግ የምስል ስር ጽሑፍ አጻጻፍን አሰናክል"</string>
</resources>
diff --git a/v17/leanback/res/values-ar/strings.xml b/v17/leanback/res/values-ar/strings.xml
index 31f4d1a..6540a3e 100644
--- a/v17/leanback/res/values-ar/strings.xml
+++ b/v17/leanback/res/values-ar/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"التحدث للبحث"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"بحث في <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"تحدّث للبحث في <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"تشغيل"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"إيقاف مؤقت"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"تقديم سريع"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"التقديم السريع %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"إرجاع"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"الترجيع %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"تخطي التالي"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"تخطي السابق"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"مزيد من الإجراءات"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"إلغاء تحديد زر \"أعجبني\""</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"تحديد زر \"أعجبني\""</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"إلغاء تحديد زر \"لم يعجبني\""</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"تحديد زر \"لم يعجبني\""</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"عدم التكرار"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"تكرار الكل"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"تكرار مقطع واحد"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"تمكين الترتيب العشوائي"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"تعطيل الترتيب العشوائي"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"تمكين الجودة العالية"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"تعطيل الجودة العالية"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"تمكين الترجمة المصاحبة"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"تعطيل الترجمة المصاحبة"</string>
</resources>
diff --git a/v17/leanback/res/values-bg/strings.xml b/v17/leanback/res/values-bg/strings.xml
index de0b6f8..9cd9b5c 100644
--- a/v17/leanback/res/values-bg/strings.xml
+++ b/v17/leanback/res/values-bg/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Говорете, за да търсите"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Търсете в/ъв <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Говорете, за да търсите в/ъв <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Пускане"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Поставяне на пауза"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Превъртане напред"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Превъртане напред със скорост %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Превъртане назад"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Превъртане назад със скорост %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Напред към следващия елемент"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Назад към предишния елемент"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Още действия"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Премахване на избора от „Харесва ми“"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Избиране на „Харесва ми“"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Премахване на избора от „Не ми харесва“"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Избиране на „Не ми харесва“"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Без повтаряне"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Повтаряне на всички"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Повтаряне на един елемент"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Активиране на разбъркването"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Деактивиране на разбъркването"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Активиране на високото качество"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Деактивиране на високото качество"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Активиране на субтитрите"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Деактивиране на субтитрите"</string>
</resources>
diff --git a/v17/leanback/res/values-bn-rBD/strings.xml b/v17/leanback/res/values-bn-rBD/strings.xml
index 4f0526c..400553a 100644
--- a/v17/leanback/res/values-bn-rBD/strings.xml
+++ b/v17/leanback/res/values-bn-rBD/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"অনুসন্ধান করতে বলুন"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> অনুসন্ধান করুন"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> অনুসন্ধান করতে বলুন"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"চালান"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"বিরাম দিন"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"দ্রুত ফরওয়ার্ড"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"দ্রুত ফরওয়ার্ড %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"পেছনের দিকে যান"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"পেছনের দিকে যান %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"সরাসরি পরেরটিতে চলে যান"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"সরাসরি আগেরটিতে চলে যান"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"আরো অ্যাকশন"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"উপরের দিকে বুড়ো আঙ্গুল নির্দেশিত চিহ্ন নির্বাচন মুক্ত করুন"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"উপরের দিকে বুড়ো আঙ্গুল নির্দেশিত চিহ্ন নির্বাচিত করুন"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"নীচের দিকে বুড়ো আঙ্গুল নির্দেশিত চিহ্ন নির্বাচন মুক্ত করুন"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"নীচের দিকে বুড়ো আঙ্গুল নির্দেশিত চিহ্ন নির্বাচন করুন"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"একটিরও পুনরাবৃত্তি করবেন না"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"সবগুলির পুনরাবৃত্তি করুন"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"একটির পুনরাবৃত্তি করুন"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"শাফল করা সক্ষম করুন"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"শাফল করা অক্ষম করুন"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"উচ্চ গুণমান সক্ষম করুন"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"উচ্চ গুণমান অক্ষম করুন"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"সাবটাইটেল সক্ষম করুন"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"সাবটাইটেল অক্ষম করুন"</string>
</resources>
diff --git a/v17/leanback/res/values-ca/strings.xml b/v17/leanback/res/values-ca/strings.xml
index 187f5af..9087b56 100644
--- a/v17/leanback/res/values-ca/strings.xml
+++ b/v17/leanback/res/values-ca/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Parla per fer una cerca."</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Cerca a <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>."</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Parla per cercar a <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>."</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Reprodueix"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Posa en pausa"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Avança ràpidament"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Avança ràpidament %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Rebobina"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Rebobina %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Passa al següent"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Passa a l\'anterior"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Més accions"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Anul·la \"M\'agrada\""</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Selecciona \"M\'agrada\""</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Anul·la \"No m\'agrada\""</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Selecciona \"M\'agrada\""</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"No en repeteixis cap"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Repeteix-ho tot"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Repeteix-ne un"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Activa la reproducció aleatòria"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Desactiva la reproducció aleatòria"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Activa l\'alta qualitat"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Desactiva l\'alta qualitat"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Activa els subtítols tancats"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Desactiva els subtítols tancats"</string>
</resources>
diff --git a/v17/leanback/res/values-cs/strings.xml b/v17/leanback/res/values-cs/strings.xml
index 1a60828..7c5b18c 100644
--- a/v17/leanback/res/values-cs/strings.xml
+++ b/v17/leanback/res/values-cs/strings.xml
@@ -21,29 +21,5 @@
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Vyhledávání"</string>
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Vyhledávejte hlasem"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Hledat <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Vyhledávejte v kategorii „<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>“ hlasem"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$d×"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$d×"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Přehrát"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pozastavit"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Přetočit vpřed"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Přetočit vpřed %1$d×"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Přetočit zpět"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Přetočit zpět %1$d×"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Přeskočit na další"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Přeskočit na předchozí"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Další akce"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Zrušit výběr hodnocení palec nahoru"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Vybrat hodnocení palec nahoru"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Zrušit výběr hodnocení palec dolů"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Vybrat hodnocení palec dolů"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Neopakovat"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Opakovat vše"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Opakovat jednu položku"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Zapnout náhodné přehrávání"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Vypnout náhodné přehrávání"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Zapnout vysokou kvalitu"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Vypnout vysokou kvalitu"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Zapnout titulky"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Vypnout titulky"</string>
+ <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Vyhledávejte v kontextu <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> hlasem"</string>
</resources>
diff --git a/v17/leanback/res/values-da/strings.xml b/v17/leanback/res/values-da/strings.xml
index e3e0f9f..51a195a 100644
--- a/v17/leanback/res/values-da/strings.xml
+++ b/v17/leanback/res/values-da/strings.xml
@@ -17,33 +17,9 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="orb_search_action" msgid="5651268540267663887">"Søg handling"</string>
+ <string name="orb_search_action" msgid="5651268540267663887">"Søgehandling"</string>
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Søg"</string>
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Tal for at søge"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Søg efter <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Tal for at søge efter <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Afspil"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Sæt på pause"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Spol frem"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Spol frem %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Spol tilbage"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Spol tilbage %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Spring til næste"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Spring til forrige"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Flere handlinger"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Fravælg tommelfinger op"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Vælg tommelfinger op"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Fravælg tommelfinger ned"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Vælg tommelfinger ned"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Gentag ingen"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Gentag alle"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Gentag en"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Aktivér bland"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Deaktiver bland"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Aktivér høj aktivitet"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Deaktiver høj kvalitet"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Aktivér undertekster"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Deaktiver undertekster"</string>
</resources>
diff --git a/v17/leanback/res/values-de/strings.xml b/v17/leanback/res/values-de/strings.xml
index d729f7c..1b353a0 100644
--- a/v17/leanback/res/values-de/strings.xml
+++ b/v17/leanback/res/values-de/strings.xml
@@ -21,29 +21,5 @@
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Suchen"</string>
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Zum Suchen sprechen"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"In <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> suchen"</string>
- <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Zum Suchen in der Kategorie \"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>\" sprechen"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dx"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dx"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Wiedergabe"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pausieren"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Vorspulen"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Vorspulen %1$dx"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Zurückspulen"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Zurückspulen %1$dx"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Nächsten Titel überspringen"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Vorherigen Titel überspringen"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Weitere Aktionen"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"\"Mag ich\" deaktivieren"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"\"Mag ich\" aktivieren"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"\"Mag ich nicht\" deaktivieren"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"\"Mag ich nicht\" aktivieren"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Keinen Titel wiederholen"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Alle wiederholen"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Einen Titel wiederholen"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Zufallsmix aktivieren"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Zufallsmix deaktivieren"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Hohe Qualität aktivieren"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Hohe Qualität deaktivieren"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Untertitel aktivieren"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Untertitel deaktivieren"</string>
+ <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Zum Suchen in <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> sprechen"</string>
</resources>
diff --git a/v17/leanback/res/values-el/strings.xml b/v17/leanback/res/values-el/strings.xml
index 9b93dcf..fc8c159 100644
--- a/v17/leanback/res/values-el/strings.xml
+++ b/v17/leanback/res/values-el/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Μιλήστε για να κάνετε αναζήτηση"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Αναζήτηση <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Μιλήστε για αναζήτηση <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Αναπαραγωγή"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Παύση"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Γρήγορη προώθηση"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Γρήγορη προώθηση %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Επαναφορά"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Επαναφορά %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Παράβλεψη επόμενου"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Παράβλεψη προηγούμενου"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Περισσότερες ενέργειες"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Κατάργηση επιλογής \"Μου αρέσουν\""</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Επιλογή \"Μου αρέσουν\""</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Κατάργηση επιλογής \"Δεν μου αρέσουν\""</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Επιλογή \"Δεν μου αρέσουν\""</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Καμία επανάληψη"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Επανάληψη όλων"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Επανάληψη ενός στοιχείου"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Ενεργοποίηση Τυχαίας αναπαραγωγής"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Απενεργοποίηση Τυχαίας αναπαραγωγής"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Ενεργοποίηση Υψηλής ποιότητας"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Απενεργοποίηση Υψηλής ποιότητας"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Ενεργοποίηση υποτίτλων"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Απενεργοποίηση υποτίτλων"</string>
</resources>
diff --git a/v17/leanback/res/values-en-rGB/strings.xml b/v17/leanback/res/values-en-rGB/strings.xml
index ed22ccd..666fa5c 100644
--- a/v17/leanback/res/values-en-rGB/strings.xml
+++ b/v17/leanback/res/values-en-rGB/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Speak to search"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Search <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Speak to search <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Play"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pause"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Fast-Forward"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Fast Forward %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Rewind"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Rewind %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Skip Next"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Skip Previous"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"More Actions"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Deselect Thumb Up"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Select Thumb Up"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Deselect Thumb Down"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Select Thumb Down"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Repeat None"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Repeat All"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Repeat One"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Enable Shuffle"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Disable Shuffle"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Enable High Quality"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Disable High Quality"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Enable Closed Captioning"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Disable Closed Captioning"</string>
</resources>
diff --git a/v17/leanback/res/values-en-rIN/strings.xml b/v17/leanback/res/values-en-rIN/strings.xml
index ed22ccd..666fa5c 100644
--- a/v17/leanback/res/values-en-rIN/strings.xml
+++ b/v17/leanback/res/values-en-rIN/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Speak to search"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Search <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Speak to search <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Play"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pause"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Fast-Forward"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Fast Forward %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Rewind"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Rewind %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Skip Next"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Skip Previous"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"More Actions"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Deselect Thumb Up"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Select Thumb Up"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Deselect Thumb Down"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Select Thumb Down"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Repeat None"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Repeat All"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Repeat One"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Enable Shuffle"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Disable Shuffle"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Enable High Quality"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Disable High Quality"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Enable Closed Captioning"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Disable Closed Captioning"</string>
</resources>
diff --git a/v17/leanback/res/values-es-rUS/strings.xml b/v17/leanback/res/values-es-rUS/strings.xml
index ab05f83..896535a 100644
--- a/v17/leanback/res/values-es-rUS/strings.xml
+++ b/v17/leanback/res/values-es-rUS/strings.xml
@@ -21,29 +21,5 @@
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Búsqueda"</string>
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Habla para buscar"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Buscar <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Habla para buscar en <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>."</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Reproducir"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pausar"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Avanzar"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Avanzar rápidamente %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Retroceder"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Rebobinar %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Ir al siguiente"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Ir al anterior"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Más acciones"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Desmarcar \"Me gusta\""</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Marcar \"Me gusta\""</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Desmarcar \"No me gusta\""</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Marcar \"No me gusta\""</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"No repetir"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Repetir todo"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Repetir uno"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Habilitar reproducción aleatoria"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Inhabilitar reproducción aleatoria"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Habilitar calidad alta"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Inhabilitar calidad alta"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Habilitar subtítulos"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Inhabilitar subtítulos"</string>
+ <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Habla para buscar <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>."</string>
</resources>
diff --git a/v17/leanback/res/values-es/strings.xml b/v17/leanback/res/values-es/strings.xml
index 0cff1c9..9990ae6 100644
--- a/v17/leanback/res/values-es/strings.xml
+++ b/v17/leanback/res/values-es/strings.xml
@@ -19,31 +19,7 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="orb_search_action" msgid="5651268540267663887">"Buscar..."</string>
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Buscar"</string>
- <string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Habla para buscar"</string>
+ <string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Buscar por voz"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Buscar <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Habla para buscar <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Reproducir"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pausar"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Avance rápido"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Avance rápido %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Rebobinar"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Rebobinar %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Saltar siguiente"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Saltar anterior"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Más acciones"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"No seleccionar pulgar hacia arriba"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Seleccionar pulgar hacia arriba"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"No seleccionar pulgar hacia abajo"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Seleccionar pulgar hacia abajo"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"No repetir"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Repetir todo"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Repetir uno"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Habilitar reproducción aleatoria"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Inhabilitar reproducción aleatoria"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Habilitar alta calidad"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Inhabilitar alta calidad"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Habilitar subtítulos"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Inhabilitar subtítulos"</string>
+ <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Buscar por voz <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
</resources>
diff --git a/v17/leanback/res/values-et-rEE/strings.xml b/v17/leanback/res/values-et-rEE/strings.xml
index 32fff96..a097b5d 100644
--- a/v17/leanback/res/values-et-rEE/strings.xml
+++ b/v17/leanback/res/values-et-rEE/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Öelge otsimiseks"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Otsige teenusest <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Kõnelge teenusest <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> otsimiseks"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Esita"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Peata"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Keri edasi"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Edasikerimine %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Keri tagasi"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Tagasikerimine %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Liigu järgmise üksuse juurde"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Liigu eelmise üksuse juurde"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Veel toiminguid"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Tühista hinnang Meeldib"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Vali hinnang Meeldib"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Tühista hinnang Ei meeldi"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Vali hinnang Ei meeldi"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Ära korda midagi"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Korda kõike"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Korda ühte"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Luba juhuslikus järjekorras esitamine"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Keela juhuslikus järjekorras esitamine"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Luba kõrgkvaliteetne taasesitus"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Keela kõrgkvaliteetne taasesitus"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Luba subtiitrid"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Keela subtiitrid"</string>
</resources>
diff --git a/v17/leanback/res/values-eu-rES/strings.xml b/v17/leanback/res/values-eu-rES/strings.xml
index d9f9bf7..2690a84 100644
--- a/v17/leanback/res/values-eu-rES/strings.xml
+++ b/v17/leanback/res/values-eu-rES/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Esan bilatu nahi duzuna"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Bilatu <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Esan bilatu nahi duzuna, bilaketa hemen egiteko: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Erreproduzitu"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pausatu"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Aurreratu"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Aurreratu %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Atzeratu"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Atzeratu %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Saltatu hurrengora"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Saltatu aurrekora"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Ekintza gehiago"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Desautatu \"erpurua gora\""</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Hautatu \"erpurua gora\""</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Desautatu \"erpurua behera\""</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Hautatu \"erpurua behera\""</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Ez errepikatu"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Errepikatu guztiak"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Errepikatu bat"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Gaitu ausazko erreprodukzioa"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Desgaitu ausazko erreprodukzioa"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Gaitu kalitate handiko erreprodukzioa"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Desgaitu kalitate handiko erreprodukzioa"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Gaitu azpitituluak"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Desgaitu azpitituluak"</string>
</resources>
diff --git a/v17/leanback/res/values-fa/strings.xml b/v17/leanback/res/values-fa/strings.xml
index bb615fc..fa4bb0c 100644
--- a/v17/leanback/res/values-fa/strings.xml
+++ b/v17/leanback/res/values-fa/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"برای جستجو صحبت کنید"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"جستجوی <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"جستجو با گفتن <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"پخش"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"توقف موقت"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"جلو بردن سریع"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"بازارسال سریع %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"عقب بردن"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"عقب بردن %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"رد شدن از بعدی"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"رد شدن از قبلی"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"عملکردهای بیشتر"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"لغو انتخاب رأی موافق"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"انتخاب رأی موافق"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"لغو انتخاب رأی مخالف"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"انتخاب رأی مخالف"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"تکرار هیچکدام"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"تکرار همه"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"یکبار تکرار"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"فعال کردن پخش تصادفی"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"غیرفعال کردن پخش تصادفی"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"فعال کردن کیفیت بالا"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"غیرفعال کردن کیفیت بالا"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"فعال کردن زیرنویس"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"غیرفعال کردن زیرنویس"</string>
</resources>
diff --git a/v17/leanback/res/values-fi/strings.xml b/v17/leanback/res/values-fi/strings.xml
index 9d38d3c..3193006 100644
--- a/v17/leanback/res/values-fi/strings.xml
+++ b/v17/leanback/res/values-fi/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Tee haku puhumalla"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Haku: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Puhehaku: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Toista"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Keskeytä"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Kelaa eteenpäin"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Kelaa eteenpäin %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Kelaa taakse"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Kelaa taaksepäin %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Siirry seuraavaan"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Siirry edelliseen"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Lisää toimintoja"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Poista Tykkään-valinta"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Valitse Tykkään"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Poista En tykkää -valinta"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Valitse En tykkää"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Ei uudelleentoistoa"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Toista kaikki uudelleen"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Toista yksi uudelleen"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Ota satunnaistoisto käyttöön"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Poista satunnaistoisto käytöstä"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Ota korkea laatu käyttöön"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Poista korkea laatu käytöstä"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Ota tekstitys käyttöön"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Poista tekstitys käytöstä"</string>
</resources>
diff --git a/v17/leanback/res/values-fr-rCA/strings.xml b/v17/leanback/res/values-fr-rCA/strings.xml
index bbd3eea..20595c3 100644
--- a/v17/leanback/res/values-fr-rCA/strings.xml
+++ b/v17/leanback/res/values-fr-rCA/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Énoncez votre recherche"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Rechercher dans <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Énoncez votre recherche dans <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Lecture"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pause"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Avance rapide"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Avance rapide à %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Reculer"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Retour rapide à %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Passer à l\'élément suivant"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Passer à l\'élément précédent"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Autres actions"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Désélectionner la mention « J\'aime »"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Sélectionner la mention « J\'aime »"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Désélectionner la mention « Je n\'aime pas »"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Sélectionner la mention « Je n\'aime pas »"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Aucune répétition"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Tout lire en boucle"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Répéter un élément"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Activer la lecture aléatoire"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Désactiver la lecture aléatoire"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Activer la lecture haute qualité"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Désactiver la lecture haute qualité"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Activer le sous-titrage"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Désactiver le sous-titrage"</string>
</resources>
diff --git a/v17/leanback/res/values-fr/strings.xml b/v17/leanback/res/values-fr/strings.xml
index e9c051c..9a8d2c7 100644
--- a/v17/leanback/res/values-fr/strings.xml
+++ b/v17/leanback/res/values-fr/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Énoncer la recherche"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Rechercher \"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>\""</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Énoncer la recherche \"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>\""</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Lecture"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Interrompre"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Avance rapide"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Avance rapide de %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Retour arrière"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Retour arrière de %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Ignorer l\'élément suivant"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Ignorer l\'élément précédent"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Autres actions"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Désélectionner \"J\'aime\""</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Sélectionner \"J\'aime\""</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Désélectionner \"Je n\'aime pas\""</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Sélectionner \"Je n\'aime pas\""</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Ne rien lire en boucle"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Tout lire en boucle"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Lire en boucle un élément"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Désactiver la lecture en mode aléatoire"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Désactiver la lecture en mode aléatoire"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Activer la haute qualité"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Désactiver la haute qualité"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Activer les sous-titres"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Désactiver les sous-titres"</string>
</resources>
diff --git a/v17/leanback/res/values-gl-rES/strings.xml b/v17/leanback/res/values-gl-rES/strings.xml
index 717b994..b85dcd1 100644
--- a/v17/leanback/res/values-gl-rES/strings.xml
+++ b/v17/leanback/res/values-gl-rES/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Fala para efectuar a busca"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Busca <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Fala para buscar <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Reproducir"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pausar"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Avance rápido"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Avance rápido %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Rebobinar"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Rebobinado %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Saltar seguinte"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Saltar anterior"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Máis accións"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Anular \"Gústame\""</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Seleccionar polgar cara arriba"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Anular \"Non me gusta\""</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Seleccionar polgar cara abaixo"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Non repetir"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Repetir todo"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Repetir un"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Activar reprodución aleatoria"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Desactivar reprodución aleatoria"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Activar alta calidade"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Desactivar alta calidade"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Activar subtítulos"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Desactivar subtítulos"</string>
</resources>
diff --git a/v17/leanback/res/values-hi/strings.xml b/v17/leanback/res/values-hi/strings.xml
index a926396..0d3e72d 100644
--- a/v17/leanback/res/values-hi/strings.xml
+++ b/v17/leanback/res/values-hi/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"खोजने के लिए बोलें"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> खोजें"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> खोजने के लिए बोलें"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"चलाएं"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"रोकें"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"फ़ास्ट फ़ॉरवर्ड"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"फ़ास्ट फ़ॉरवर्ड %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"रिवाइंड करें"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"रिवाइंड %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"अगले पर जाएं"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"पिछले पर जाएं"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"अधिक विकल्प"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"पसंदीदा को ना चुनें"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"पसंदीदा चुनें"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"नापसंद को ना चुनें"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"नापसंद चुनें"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"कुछ भी न दोहराएं"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"सभी को दोहराएं"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"एक दोहराएं"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"फेर-बदल सक्षम करें"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"फेर-बदल अक्षम करें"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"उच्च गुणवत्ता सक्षम करें"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"उच्च गुणवत्ता अक्षम करें"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"उपशीर्षक सक्षम करें"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"उपशीर्षक अक्षम करें"</string>
</resources>
diff --git a/v17/leanback/res/values-hr/strings.xml b/v17/leanback/res/values-hr/strings.xml
index 166369f..89d8053 100644
--- a/v17/leanback/res/values-hr/strings.xml
+++ b/v17/leanback/res/values-hr/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Izgovorite upit za pretraživanje"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Tražite <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Izgovorite upit za pretraživanje <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Reproduciraj"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pauziraj"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Brzo naprijed"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Brzo unaprijed %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Unatrag"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Unatrag %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Preskoči na sljedeće"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Preskoči na prethodno"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Više radnji"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Poništi odabir palca gore"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Odaberi palac gore"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Poništi odabir palca dolje"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Odaberi palac dolje"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Bez ponavljanja"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Ponovi sve"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Ponovi jedno"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Omogući nasumičnu reprodukciju"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Onemogući nasumičnu reprodukciju"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Omogući visoku kvalitetu"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Onemogući visoku kvalitetu"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Omogući titlove"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Onemogući titlove"</string>
</resources>
diff --git a/v17/leanback/res/values-hu/strings.xml b/v17/leanback/res/values-hu/strings.xml
index 427f1cd..e6eaacb 100644
--- a/v17/leanback/res/values-hu/strings.xml
+++ b/v17/leanback/res/values-hu/strings.xml
@@ -21,29 +21,5 @@
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Keresés"</string>
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Beszéljen a keresés indításához"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Keresés itt: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Mondj valamit a kereséshez: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Lejátszás"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Szünet"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Gyors előretekerés"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Előretekerés %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Visszatekerés"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Visszatekerés %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Ugrás a következőre"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Ugrás az előzőre"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"További műveletek"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"„Tetszik” értékelés visszavonása"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"„Tetszik” értékelés kiválasztása"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"„Nem tetszik” értékelés visszavonása"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"„Nem tetszik” értékelés kiválasztása"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Nincs ismétlés"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Összes ismétlése"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Egy ismétlése"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Véletlenszerű lejátszás engedélyezése"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Véletlenszerű lejátszás letiltása"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Jó minőségű lejátszás engedélyezése"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Jó minőségű lejátszás letiltása"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Feliratok engedélyezése"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Feliratok letiltása"</string>
+ <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Mondjon valamit, hogy itt keressen: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
</resources>
diff --git a/v17/leanback/res/values-hy-rAM/strings.xml b/v17/leanback/res/values-hy-rAM/strings.xml
index 7e8112e..de8561f 100644
--- a/v17/leanback/res/values-hy-rAM/strings.xml
+++ b/v17/leanback/res/values-hy-rAM/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Խոսեք՝ որոնելու համար"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Որոնեք <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Խոսեք՝ <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> որոնելու համար"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Նվագարկել"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Դադարեցնել"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Արագ առաջ անցնել"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Առագ առաջանցում %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Հետ փաթաթել"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Հետանցում %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Անցնել հաջորդին"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Անցնել նախորդին"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Այլ գործողություններ"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Ապանշել Հավանելու կոճակը"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Նշել Հավանելու կոճակը"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Ապանշել Չհավանելու կոճակը"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Նշել Չհավանելու կոճակը"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Չկրկնել"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Կրկնել բոլորը"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Կրկնել մեկը"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Միացնել խառը նվագարկումը"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Անջատել խառը նվագարկումը"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Միացնել բարձր որակը"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Անջատել բարձր որակը"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Միացնել խորագրերը"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Անջատել խորագրերը"</string>
</resources>
diff --git a/v17/leanback/res/values-in/strings.xml b/v17/leanback/res/values-in/strings.xml
index 2dca7d3..9be0a01 100644
--- a/v17/leanback/res/values-in/strings.xml
+++ b/v17/leanback/res/values-in/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Ucapkan untuk menelusuri"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Telusuri <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Ucapkan untuk menelusuri <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Putar"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Jeda"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Maju Cepat"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Maju %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Putar Ulang"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Mundur %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Lewati ke Berikutnya"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Lewati ke Sebelumnya"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Tindakan Lainnya"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Batal Pilih Yang Disukai"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Pilih Yang Disukai"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Batal Pilih Yang Tidak Disukai"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Pilih Yang Tidak Disukai"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Jangan Ulangi"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Ulangi Semua"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Ulangi Satu"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Aktifkan Acak"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Nonaktifkan Acak"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Aktifkan Kualitas Tinggi"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Nonaktifkan Kualitas Tinggi"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Aktifkan Pembuatan Teks"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Nonaktifkan Pembuatan Teks"</string>
</resources>
diff --git a/v17/leanback/res/values-is-rIS/strings.xml b/v17/leanback/res/values-is-rIS/strings.xml
index c84a4c6..29ccdc1 100644
--- a/v17/leanback/res/values-is-rIS/strings.xml
+++ b/v17/leanback/res/values-is-rIS/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Talaðu til að leita"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Leita í <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Talaðu til að leita í <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Spila"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Hlé"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Spóla áfram"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Spóla áfram %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Spóla til baka"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Spóla til baka %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Fara í næsta"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Fara í fyrra"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Fleiri aðgerðir"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Hætta við þumal upp"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Gefa þumal upp"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Hætta við þumal niður"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Gefa þumal niður"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Endurtaka ekkert"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Endurtaka allt"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Endurtaka eitt"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Kveikja á stokkun"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Slökkva á stokkun"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Kveikja á miklum gæðum"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Slökkva á miklum gæðum"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Kveikja á skjátextum"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Slökkva á skjátextum"</string>
</resources>
diff --git a/v17/leanback/res/values-it/strings.xml b/v17/leanback/res/values-it/strings.xml
index 1b58e0c..fa11e9d 100644
--- a/v17/leanback/res/values-it/strings.xml
+++ b/v17/leanback/res/values-it/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Parla per cercare"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Cerca in <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Parla per cercare in <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Riproduci"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Metti in pausa"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Avanza velocemente"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Avanti veloce: %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Riavvolgi"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Indietro: %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Salta successivo"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Salta precedente"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Altre azioni"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Deseleziona Mi piace"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Seleziona Mi piace"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Deseleziona pollice abbassato"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Seleziona pollice abbassato"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Non ripetere nessuno"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Ripeti tutti"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Ripeti uno"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Attiva riproduzione casuale"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Disattiva riproduzione casuale"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Attiva alta qualità"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Disattiva alta qualità"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Attiva sottotitoli"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Disattiva sottotitoli"</string>
</resources>
diff --git a/v17/leanback/res/values-iw/strings.xml b/v17/leanback/res/values-iw/strings.xml
index f102498..dacb052 100644
--- a/v17/leanback/res/values-iw/strings.xml
+++ b/v17/leanback/res/values-iw/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"דבר כדי לחפש"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"חפש את <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"דבר כדי לחפש את <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"הפעל"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"השהה"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"הרץ קדימה"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"העברה קדימה של %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"הרץ אחורה"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"העברה לאחור של %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"דלג אל הפריט הבא"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"דלג אל הפריט הקודם"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"עוד פעולות"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"בטל בחירה באגודל כלפי מעלה"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"בחר באגודל כלפי מעלה"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"בטל בחירה באגודל כלפי מטה"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"בחר באגודל כלפי מטה"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"אל תחזור על כלום"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"חזור על הכל"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"חזור על פריט אחד"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"הפעל ערבוב"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"השבת ערבוב"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"הפעל איכות גבוהה"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"השבת איכות גבוהה"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"הפעל כתוביות"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"השבת כתוביות"</string>
</resources>
diff --git a/v17/leanback/res/values-ja/strings.xml b/v17/leanback/res/values-ja/strings.xml
index 802631c..62b08b5 100644
--- a/v17/leanback/res/values-ja/strings.xml
+++ b/v17/leanback/res/values-ja/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"音声検索"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>を検索"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>を音声検索"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"再生"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"一時停止"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"早送り"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"早送り%1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"巻き戻し"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"巻き戻し%1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"次の曲にスキップ"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"前の曲にスキップ"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"その他の操作"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"グッドの選択を解除"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"グッドを選択"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"イマイチの選択を解除"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"イマイチを選択"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"繰り返しなし"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"全曲を繰り返し"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"1曲を繰り返し"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"シャッフルを有効にする"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"シャッフルを無効にする"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"高品質を有効にする"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"高品質を無効にする"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"字幕を有効にする"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"字幕を無効にする"</string>
</resources>
diff --git a/v17/leanback/res/values-ka-rGE/strings.xml b/v17/leanback/res/values-ka-rGE/strings.xml
index 70aeada..ab9492c 100644
--- a/v17/leanback/res/values-ka-rGE/strings.xml
+++ b/v17/leanback/res/values-ka-rGE/strings.xml
@@ -22,32 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"თქვით საძიებო ფრაზა"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>-ის ძიება"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"თქვით <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>-ის საძიებლად"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"დაკვრა"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"პაუზა"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"წინ გადახვევა"</string>
- <!-- String.format failed for translation -->
- <!-- no translation found for lb_playback_controls_fast_forward_multiplier (1058753672110224526) -->
- <skip />
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"უკან გადახვევა"</string>
- <!-- String.format failed for translation -->
- <!-- no translation found for lb_playback_controls_rewind_multiplier (1640629531440849942) -->
- <skip />
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"შემდეგის გამოტოვება"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"წინას გამოტოვება"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"დამატებითი ქმედებები"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"მაღალი შეფასების არჩევის გაუქმება"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"მაღალი შეფასების არჩევა"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"დაბალი შეფასების არჩევის გაუქმება"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"დაბალი შეფასების არჩევა"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"არცერთის გამეორება"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"ყველას გამეორება"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"ერთის გამეორება"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"არეულად დაკვრის ჩართვა"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"არეულად დაკვრის გამორთვა"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"მაღალი ხარისხის ჩართვა"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"მაღალი ხარისხის გამორთვა"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"დახურული წარწერების ჩართვა"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"დახურული წარწერების გაუქმება"</string>
</resources>
diff --git a/v17/leanback/res/values-kk-rKZ/strings.xml b/v17/leanback/res/values-kk-rKZ/strings.xml
index 9ed6ce2..160a8e7 100644
--- a/v17/leanback/res/values-kk-rKZ/strings.xml
+++ b/v17/leanback/res/values-kk-rKZ/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Іздеу үшін сөйлеу"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> іздеу"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> іздеу үшін сөйлеңіз"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Ойнату"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Кідірту"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Алға айналдыру"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"%1$dX алға айналдыру"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Кері айналдыру"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"%1$dX кері айналдыру"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Келесіге өту"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Алдыңғыға өту"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Қосымша әрекеттер"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Саусақты жоғары қаратудан таңдауды алу"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Саусақты жоғары қаратуды таңдау"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Саусақты төмен қаратудан таңдауды алу"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Саусақты төмен қаратуды таңдау"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Ешқайсысын қайталамау"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Барлығын қайталау"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Біреуін қайталау"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Кездейсоқ ойнатуды қосу"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Кездейсоқ ойнатуды өшіру"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Жоғары сапаны қосу"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Жоғары сапаны өшіру"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Жасырын титрлерді қосу"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Жасырын титрлерді өшіру"</string>
</resources>
diff --git a/v17/leanback/res/values-km-rKH/strings.xml b/v17/leanback/res/values-km-rKH/strings.xml
index 7874af2..92245b7 100644
--- a/v17/leanback/res/values-km-rKH/strings.xml
+++ b/v17/leanback/res/values-km-rKH/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"និយាយដើម្បីស្វែងរក"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"ស្វែងរក <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"និយាយដើម្បីស្វែងរក <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"ចាក់"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"ផ្អាក"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"បញ្ជូនបន្តរហ័ស"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"ខាទៅមុខ %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"ខាថយក្រោយ"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"ខាថយក្រោយ %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"រំលងបន្ទាប់"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"រំលងមុន"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"សកម្មភាពច្រើនទៀត"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"មិនជ្រើសមេដៃឡើងវិញ"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"ជ្រើសមេដៃឡើងលើ"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"មិនជ្រើសមេដៃចុះក្រោម"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"ជ្រើសមេដៃចុះក្រោម"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"មិនធ្វើឡើងវិញ"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"ធ្វើម្ដងទៀតទាំងអស់"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"ធ្វើឡើងវិញម្ដង"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"បើកការច្របល់"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"បិទការច្របល់"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"បើកគុណភាពខ្ពស់"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"បិទគុណភាពខ្ពស់"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"បើកការដាក់ចំណងដែលបានបិទ"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"បិទការដាក់ចំណងដែលបានបិទ"</string>
</resources>
diff --git a/v17/leanback/res/values-kn-rIN/strings.xml b/v17/leanback/res/values-kn-rIN/strings.xml
index 196b154..6ca527f 100644
--- a/v17/leanback/res/values-kn-rIN/strings.xml
+++ b/v17/leanback/res/values-kn-rIN/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"ಹುಡುಕಲು ಮಾತನಾಡಿ"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> ಹುಡುಕಿ"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> ಮಾತನಾಡಿ ಹುಡುಕಾಟ ನಡೆಸಿ"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"ಪ್ಲೇ ಮಾಡು"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"ವಿರಾಮಗೊಳಿಸು"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"ಫಾಸ್ಟ್ ಫಾರ್ವರ್ಡ್"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"ಫಾಸ್ಟ್ ಫಾರ್ವರ್ಡ್ %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"ರೀವೈಂಡ್"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"ರಿವೈಂಡ್ %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"ಮುಂದೆ ಸ್ಕಿಪ್ ಮಾಡಿ"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"ಹಿಂದೆ ಸ್ಕಿಪ್ ಮಾಡಿ"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"ಹೆಚ್ಚು ಕ್ರಿಯೆಗಳು"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"ಥಂಬ್ ಅಪ್ ಆಯ್ಕೆರದ್ದುಮಾಡಿ"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"ಥಂಬ್ ಅಪ್ ಆಯ್ಕೆಮಾಡಿ"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"ಥಂಬ್ ಡೌನ್ ಆಯ್ಕೆರದ್ದುಮಾಡಿ"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"ಥಂಬ್ ಡೌನ್ ಆಯ್ಕೆಮಾಡಿ"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"ಯಾವುದನ್ನೂ ಪುನರಾವರ್ತಿಸಬೇಡಿ"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"ಎಲ್ಲವನ್ನು ಪುನರಾವರ್ತಿಸಿ"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"ಒಂದನ್ನು ಪುನರಾವರ್ತಿಸಿ"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"ಜೋಡಿಸುವುದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"ಜೋಡಿಸುವುದನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"ಹೆಚ್ಚು ಗುಣಮಟ್ಟವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"ಹೆಚ್ಚು ಗುಣಮಟ್ಟವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"ಮುಚ್ಚಿದ ಶೀರ್ಷಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"ಮುಚ್ಚಿದ ಶೀರ್ಷಿಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
</resources>
diff --git a/v17/leanback/res/values-ko/strings.xml b/v17/leanback/res/values-ko/strings.xml
index c244dbf..af0130d 100644
--- a/v17/leanback/res/values-ko/strings.xml
+++ b/v17/leanback/res/values-ko/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"음성 검색"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> 검색"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> 음성 검색"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$d배속"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$d배속"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"재생"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"일시중지"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"빨리 감기"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"%1$d배속 빨리 감기"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"되감기"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"%1$d배속 되감기"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"다음으로 건너뛰기"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"이전으로 건너뛰기"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"추가 작업"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"추천 선택 해제"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"추천 선택"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"비추천 선택 해제"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"비추천 선택"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"반복 안함"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"전체 반복"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"한 항목 반복"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"셔플 사용 설정"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"셔플 사용 중지"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"고화질 사용 설정"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"고화질 사용 중지"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"자막 사용 설정"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"자막 사용 중지"</string>
</resources>
diff --git a/v17/leanback/res/values-ky-rKG/strings.xml b/v17/leanback/res/values-ky-rKG/strings.xml
index 4ddb284..64a2e72 100644
--- a/v17/leanback/res/values-ky-rKG/strings.xml
+++ b/v17/leanback/res/values-ky-rKG/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Издөө үчүн сүйлөңүз"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> издөө"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> издөө үчүн сүйлөңүз"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Ойнотуу"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Тындыруу"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Алдыга түрүү"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Алдыга түрүү %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Артка түрүү"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Артка түрүү %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Кийинкини өткөрүп жиберүү"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Мурункуну өткөрүп жиберүү"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Дагы көнүгүүлөр"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Жактырууну тандоодон чыгаруу"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Жактырууну тандоо"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Жактырбоону тандоодон чыгаруу"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Жактырбоону тандоо"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Эч бирин кайталабоо"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Баарын кайталоо"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Бирөөнү кайталоо"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Аралаштырууну иштетүү"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Аралаштырууну өчүрүү"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Жогорку сапатты иштетүү"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Жогорку сапатты өчүрүү"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Жабык субтитрлерди иштетүү"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Жабык субтитрлерди өчүрүү"</string>
</resources>
diff --git a/v17/leanback/res/values-lo-rLA/strings.xml b/v17/leanback/res/values-lo-rLA/strings.xml
index 35f519b..107f989 100644
--- a/v17/leanback/res/values-lo-rLA/strings.xml
+++ b/v17/leanback/res/values-lo-rLA/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"ເວົ້າເພື່ອຊອກຫາ"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"ຊອກຫາ <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"ເວົ້າເພື່ອຊອກຫາ <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"ຫຼິ້ນ"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"ຢຸດຊົ່ວຄາວ"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"ເລື່ອນໄປໜ້າ"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"ໄປໜ້າແບບໄວ %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"ຣີວາຍກັບ"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"ກັບຄືນ %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"ຂ້າມໄປຕໍ່"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"ຂ້າມໄປກ່ອນໜ້າ"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"ຄຳສັ່ງເພີ່ມເຕີມ"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"ຢຸດເລືອກຍົກໂປ້ແລ້ວ"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"ເລືອກຍົກໂປ້ແລ້ວ"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"ຢຸດຊີ້ໂປ້ລົງແລ້ວ"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"ເລືອກຊີ້ໂປ້ລົງແລ້ວ"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"ບໍ່ຫຼິ້ນຊ້ຳ"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"ຫຼິ້ນຊ້ຳທັງໝົດ"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"ຫຼິ້ນຊ້ຳ"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"ເປີດນຳໃຊ້ການສະຫຼັບ"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"ປິດນຳໃຊ້ການສະຫຼັບ"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"ເປີດນຳໃຊ້ການຫຼິ້ນດ້ວຍຄຸນນະພາບສູງ"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"ປິດນຳໃຊ້ການຫຼິ້ນດ້ວຍຄຸນນະພາບສູງ"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"ເປີດນຳໃຊ້ຄຳບັນຍາຍແບບປິດ"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"ປິດນຳໃຊ້ຄຳບັນຍາຍແບບປິດ"</string>
</resources>
diff --git a/v17/leanback/res/values-lt/strings.xml b/v17/leanback/res/values-lt/strings.xml
index 6ca2bab..f765d04 100644
--- a/v17/leanback/res/values-lt/strings.xml
+++ b/v17/leanback/res/values-lt/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Pasakykite, kad ieškotumėte"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Ieškoti „<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>“"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Kalbėkite, kad ieškotumėte „<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>“"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$d k."</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$d k."</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Leisti"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pristabdyti"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Sukti pirmyn"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Sukti pirmyn %1$d k. greičiau"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Sukti atgal"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Sukti atgal %1$d k. greičiau"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Praleisti kitą"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Praleisti ankstesnį"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Daugiau veiksmų"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Panaikinti parinkties „Patinka“ pasirinkimą"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Pasirinkti parinktį „Patinka“"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Panaikinti parinkties „Nepatinka“ pasirinkimą"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Pasirinkti parinktį „Nepatinka“"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Nekartoti nieko"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Kartoti viską"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Kartoti vieną"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Įgalinti maišymą"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Išjungti maišymą"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Įgalinti aukštą kokybę"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Išjungti aukštą kokybę"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Įgalinti subtitrus"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Išjungti subtitrus"</string>
</resources>
diff --git a/v17/leanback/res/values-lv/strings.xml b/v17/leanback/res/values-lv/strings.xml
index 7d3bc2b..677ae6b 100644
--- a/v17/leanback/res/values-lv/strings.xml
+++ b/v17/leanback/res/values-lv/strings.xml
@@ -21,29 +21,5 @@
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Meklēt"</string>
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Runāt, lai meklētu"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Meklējiet <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Runājiet, lai meklētu: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Atskaņot"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pauzēt"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Pārtīt uz priekšu"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Pārtīt uz priekšu %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Attīt atpakaļ"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Attīt atpakaļ %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Izlaist nākamo"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Izlaist iepriekšējo"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Citas darbības"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Atcelt “Patīk” atlasi"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Atlasīt “Patīk”"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Atcelt “Nepatīk” atlasi"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Atlasīt “Nepatīk”"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Neatkārtot nevienu"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Atkārtot visu"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Atkārtot vienu"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Iespējot atskaņošanu jauktā secībā"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Atspējot atskaņošanu jauktā secībā"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Iespējot augstas kvalitātes vienumu atskaņošanu"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Atspējot augstas kvalitātes vienumu atskaņošanu"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Iespējot slēgtos parakstus"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Atspējot slēgtos parakstus"</string>
+ <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Runājiet, lai meklētu <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
</resources>
diff --git a/v17/leanback/res/values-mk-rMK/strings.xml b/v17/leanback/res/values-mk-rMK/strings.xml
index 75666e0..8ab8384 100644
--- a/v17/leanback/res/values-mk-rMK/strings.xml
+++ b/v17/leanback/res/values-mk-rMK/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Зборувајте за да пребарувате"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Пребарувај <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Кажете за да се пребарува <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Пушти"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Пауза"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Брзо премотај напред"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Премотај напред %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Премотај назад"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Премотај назад %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Прескокни на следна"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Прескокни на претходна"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Повеќе дејства"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Откажи палец нагоре"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Избери палец нагоре"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Откажи палец надолу"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Избери палец надолу"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Не повторувај ниту една"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Повтори ги сите"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Повтори една"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Овозможи мешање"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Оневозможи мешање"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Овозможи висок квалитет"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Оневозможи висок квалитет"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Овозможи затворено објаснување"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Оневозможи затворено објаснување"</string>
</resources>
diff --git a/v17/leanback/res/values-ml-rIN/strings.xml b/v17/leanback/res/values-ml-rIN/strings.xml
index b900f09..e31770d 100644
--- a/v17/leanback/res/values-ml-rIN/strings.xml
+++ b/v17/leanback/res/values-ml-rIN/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"ശബ്ദം ഉപയോഗിച്ച് തിരയുക"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> തിരയുക"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> തിരയുന്നതിന് സംസാരിക്കുക"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"പ്ലേ ചെയ്യുക"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"താൽക്കാലികമായി നിർത്തുക"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"ഫാസ്റ്റ് ഫോർവേഡ് ചെയ്യുക"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"%1$dX വേഗത്തിൽ ഫോർവേഡുചെയ്യുക"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"റിവൈൻഡുചെയ്യുക"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"%1$dX റിവൈൻഡുചെയ്യുക"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"അടുത്തതിലേക്ക് പോകുക"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"മുമ്പത്തേതിലേക്ക് പോകുക"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"കൂടുതൽ പ്രവർത്തനങ്ങൾ"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"തമ്പ് അപ്പ് തിരഞ്ഞെടുത്തത് മാറ്റുക"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"തമ്പ് അപ്പ് തിരഞ്ഞെടുക്കുക"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"തമ്പ് ഡൗൺ തിരഞ്ഞെടുത്തത് മാറ്റുക"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"തമ്പ് ഡൗൺ തിരഞ്ഞെടുക്കുക"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"ഒന്നും ആവർത്തിക്കരുത്"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"എല്ലാം ആവർത്തിക്കുക"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"ഒന്ന് ആവർത്തിക്കുക"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"ഷഫിൾ ചെയ്യുന്നത് പ്രവർത്തനക്ഷമമാക്കുക"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"ഷഫിൾ ചെയ്യുന്നത് പ്രവർത്തനരഹിതമാക്കുക"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"ഉയർന്ന നിലവാരം പ്രവർത്തനക്ഷമമാക്കുക"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"ഉയർന്ന നിലവാരം പ്രവർത്തനരഹിതമാക്കുക"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"അടച്ച അടിക്കുറിപ്പ് നൽകൽ പ്രവർത്തനക്ഷമമാക്കുക"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"അടച്ച അടിക്കുറിപ്പ് നൽകൽ പ്രവർത്തനരഹിതമാക്കുക"</string>
</resources>
diff --git a/v17/leanback/res/values-mn-rMN/strings.xml b/v17/leanback/res/values-mn-rMN/strings.xml
index e4a8fcd..a58dfe9 100644
--- a/v17/leanback/res/values-mn-rMN/strings.xml
+++ b/v17/leanback/res/values-mn-rMN/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Ярьж хайх"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> Хайх"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> хайхын тулд ярина уу"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Тоглуулах"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Түр зогсоох"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Хурдан урагшлуулах"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Түргэн Урагш Гүйлгэх %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Буцааж хураах"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Хойш Гүйлгэх %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Дараагийнхийг алгасах"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Өмнөхийг алгасах"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Өөр үйлдлүүд"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Дээш эрхий хурууг цуцлах"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Дээш эрхий хурууг сонгох"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Доош эрхий хурууг цуцлах"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Доош эрхий хурууг сонгох"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Алийг нь ч давтахгүй"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Бүгдийг давтах"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Нэгийг давтах"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Холихыг идэвхжүүлэх"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Холихыг идэвхгүйжүүлэх"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Өндөр чанарыг идэвхжүүлэх"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Өндөр чанарыг идэвхгүйжүүлэх"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Текст тайлбарыг идэвхжүүлэх"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Текст тайлбарыг идэвхгүйжүүлэх"</string>
</resources>
diff --git a/v17/leanback/res/values-mr-rIN/strings.xml b/v17/leanback/res/values-mr-rIN/strings.xml
index 11748ec..296b21c 100644
--- a/v17/leanback/res/values-mr-rIN/strings.xml
+++ b/v17/leanback/res/values-mr-rIN/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"शोधण्यासाठी बोला"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> शोधा"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> शोधण्यासाठी बोला"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"प्ले करा"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"विराम द्या"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"फास्ट फॉरवर्ड करा"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"फास्ट फॉरवर्ड %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"रिवाईँड करा"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"रीवाईंड %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"पुढील वगळा"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"मागील वगळा"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"अधिक क्रिया"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"वर अंगठा निवड रद्द करा"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"वर अंगठा निवडा"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"खाली अंगठा निवड रद्द करा"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"खाली अंगठा निवडा"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"काहीही पुनरावृत्ती करू नका"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"सर्व पुनरावृत्ती करा"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"एक पुनरावृत्ती करा"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"शफल करा सक्षम करा"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"शफल करा अक्षम करा"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"उच्च गुणवत्ता सक्षम करा"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"उच्च गुणवत्ता अक्षम करा"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"उपशीर्षके सक्षम करा"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"उपशीर्षके अक्षम करा"</string>
</resources>
diff --git a/v17/leanback/res/values-ms-rMY/strings.xml b/v17/leanback/res/values-ms-rMY/strings.xml
index c073e43..d915409 100644
--- a/v17/leanback/res/values-ms-rMY/strings.xml
+++ b/v17/leanback/res/values-ms-rMY/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Tutur untuk membuat carian"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Cari <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Sebut untuk mencari <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Main"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Jeda"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Mara Laju"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Lajukan %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Gulung semula"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Gulung semula %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Langkau Seterusnya"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Langkau Sebelumnya"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Lagi Tindakan"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Nyahpilih Bagus"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Pilih Bagus"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Nyahpilih Tidak Bagus"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Pilih Tidak Bagus"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Jangan Ulang"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Ulang Semua"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Ulang Satu"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Dayakan Rombak"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Lumpuhkan Rombak"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Dayakan Kualiti Tinggi"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Lumpuhkan Kualiti Tinggi"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Dayakan Kapsyen Tertutup"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Lumpuhkan Kapsyen Tertutup"</string>
</resources>
diff --git a/v17/leanback/res/values-my-rMM/strings.xml b/v17/leanback/res/values-my-rMM/strings.xml
index 2efaf7f..76e70f2 100644
--- a/v17/leanback/res/values-my-rMM/strings.xml
+++ b/v17/leanback/res/values-my-rMM/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"ရှာဖွေရန် ပြောပါ"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>ကို ရှာရန်"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> ကို ရှာရန် ပြောပါ"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"ဖွင့်ရန်"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"ခဏရပ်ရန်"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"ရှေ့သို့ သွားရန်"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"ရှေ့သို့ ရစ်ရန် %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"ပြန်ရစ်ရန်"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"နောက်သို့ ရစ်ရန် %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"နောက်တစ်ပုဒ်သို့ ကျော်ရန်"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"ယခင်တစ်ပုဒ်သို့ သွားရန်"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"နောက်ထပ် လုပ်ဆောင်ချက်များ"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"နှစ်ခြိုက်သော သင်္ကေတအား မရွေးရန်"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"နှစ်ခြိုက်သော သင်္ကေတအား ရွေးရန်"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"မနှစ်ခြိုက်သော သင်္ကေတအား မရွေးရန်"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"မနှစ်ခြိုက်သော သင်္ကေတအား ရွေးရန်"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"ထပ်တလဲလဲမဖွင့်ရန်"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"အားလုံး ထပ်တလဲလဲဖွင့်ရန်"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"တစ်ခုအား ထပ်တလဲလဲဖွင့်ရန်"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"ရောသမမွှေခြင်း ပြုရန်"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"ရောသမမေွှခြင်း မပြုရန်"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"အရည်အသွေးကောင်းအား ဖွင့်ရန်"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"အရည်အသွေးကောင်းအား ပိတ်ထားရန်"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"စာတမ်းထိုး ဖွင့်ရန်"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"စာတမ်းထိုးအား ပိတ်ထားရန်"</string>
</resources>
diff --git a/v17/leanback/res/values-nb/strings.xml b/v17/leanback/res/values-nb/strings.xml
index f5ab2e1..c1fe682 100644
--- a/v17/leanback/res/values-nb/strings.xml
+++ b/v17/leanback/res/values-nb/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Snakk for å søke"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Søk i <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Snakk for å søke i <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Spill av"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Sett på pause"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Fremoverspoling"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Fremoverspoling %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Tilbakespoling"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Tilbakespoling %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Hopp til neste"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Hopp til forrige"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Flere handlinger"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Fjern valg av tommel opp"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Velg tommel opp"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Fjern valg av tommel ned"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Velg tommel ned"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Ikke gjenta noen"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Gjenta alle"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Gjenta én"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Aktivér avspilling i tilfeldig rekkefølge"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Deaktiver avspilling i tilfeldig rekkefølge"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Aktivér høy kvalitet"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Deaktiver høy kvalitet"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Aktivér teksting"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Deaktiver teksting"</string>
</resources>
diff --git a/v17/leanback/res/values-ne-rNP/strings.xml b/v17/leanback/res/values-ne-rNP/strings.xml
index c399985..81ce461 100644
--- a/v17/leanback/res/values-ne-rNP/strings.xml
+++ b/v17/leanback/res/values-ne-rNP/strings.xml
@@ -22,30 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"खोजी गर्न बोल्नुहोस्"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> खोज्नुहोस्"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> खोजी गर्न बोल्नुहोस्"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"प्ले गर्नुहोस्"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"रोक्नुहोस्"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"फास्ट फर्वार्ड"</string>
- <!-- String.format failed for translation -->
- <!-- no translation found for lb_playback_controls_fast_forward_multiplier (1058753672110224526) -->
- <skip />
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"दोहोर्याउनुहोस्"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"पुन: वाइन्ड गर्नुहोस् %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"अर्को छोड्नुहोस्"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"अघिल्लो छोड्नुहोस्"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"थप कार्यहरू"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"औंठा माथि चयन नगर्नुहोस्"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"औंठा माथि चयन गर्नुहोस्"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"औंठा तल चयन नगर्नुहोस्"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"औंठा तल चयन गर्नुहोस्"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"कुनै पनि नदोहोर्याउनुहोस्"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"सबै दोहोर्याउनुहोस्"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"एउटा दोहोर्याउनुहोस्"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"सफ्फल सक्षम"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"सफ्फल असक्षम"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"उच्च गुणस्तर सक्षम"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"उच्च गुणस्तर असक्षम"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"बन्द क्याप्सनहरु सक्षम"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"बन्द क्याप्सनहरु असक्षम"</string>
</resources>
diff --git a/v17/leanback/res/values-nl/strings.xml b/v17/leanback/res/values-nl/strings.xml
index fe73141..5c0ba2e 100644
--- a/v17/leanback/res/values-nl/strings.xml
+++ b/v17/leanback/res/values-nl/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Spreek om te zoeken"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> zoeken"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Spreek om <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> te zoeken"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Afspelen"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Onderbreken"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Vooruitspoelen"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Vooruitspoelen %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Terugspoelen"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Terugspoelen %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Naar volgende"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Naar vorige"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Meer acties"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Selectie van \'Leuk\' ongedaan maken"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"\'Leuk\' selecteren"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Selectie van \'Niet leuk\' ongedaan maken"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"\'Niet leuk\' selecteren"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Niet herhalen"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Alles herhalen"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Eén herhalen"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Shuffle inschakelen"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Shuffle uitschakelen"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Hoge kwaliteit inschakelen"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Hoge kwaliteit uitschakelen"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Ondertiteling inschakelen"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Ondertiteling uitschakelen"</string>
</resources>
diff --git a/v17/leanback/res/values-pl/strings.xml b/v17/leanback/res/values-pl/strings.xml
index f6280a3..9942bc7 100644
--- a/v17/leanback/res/values-pl/strings.xml
+++ b/v17/leanback/res/values-pl/strings.xml
@@ -21,29 +21,5 @@
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Szukaj"</string>
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Powiedz, aby wyszukać"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Szukaj <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Powiedz, by wyszukać w aplikacji <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Odtwórz"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Wstrzymaj"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Przewiń do przodu"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Przewiń do przodu %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Przewiń do tyłu"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Przewiń do tyłu %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Pomiń następny"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Pomiń poprzedni"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Więcej czynności"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Odznacz Lubię"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Zaznacz Lubię"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Odznacz Nie lubię"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Zaznacz Nie lubię"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Nie powtarzaj"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Powtórz wszystkie"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Powtórz jeden"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Włącz odtwarzanie losowe"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Wyłącz odtwarzanie losowe"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Włącz wysoką jakość"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Wyłącz wysoką jakość"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Włącz napisy"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Wyłącz napisy"</string>
+ <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Powiedz, by wyszukać <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
</resources>
diff --git a/v17/leanback/res/values-pt-rPT/strings.xml b/v17/leanback/res/values-pt-rPT/strings.xml
index f3bf4aa..0f15262 100644
--- a/v17/leanback/res/values-pt-rPT/strings.xml
+++ b/v17/leanback/res/values-pt-rPT/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Fale para pesquisar"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Pesquisar <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Fale para pesquisar <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Reproduzir"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Interromper"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Avançar"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Avançar %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Recuar"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Recuar %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Avançar para o seguinte"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Avançar para o anterior"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Mais ações"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Desselecionar Gosto"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Selecionar Gosto"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Desselecionar Não gosto"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Selecionar Não gosto"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Não repetir"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Repetir tudo"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Repetir um"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Ativar reprodução aleatória"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Desativar reprodução aleatória"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Ativar alta qualidade"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Desativar alta qualidade"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Ativar legendas"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Desativar legendas"</string>
</resources>
diff --git a/v17/leanback/res/values-pt/strings.xml b/v17/leanback/res/values-pt/strings.xml
index 13d01a5..0f15262 100644
--- a/v17/leanback/res/values-pt/strings.xml
+++ b/v17/leanback/res/values-pt/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Fale para pesquisar"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Pesquisar <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Fale para pesquisar <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Reproduzir"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pausar"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Avançar"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Avançar %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Retroceder"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Retroceder %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Pular próxima"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Pular anterior"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Mais ações"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Desmarcar gostei"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Marcar gostei"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Desmarcar não gostei"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Marcar não gostei"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Não repetir"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Repetir tudo"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Repetir uma"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Ativar reprodução aleatória"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Desativar reprodução aleatória"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Ativar alta qualidade"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Desativar alta qualidade"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Ativar closed captioning"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Desativar closed captioning"</string>
</resources>
diff --git a/v17/leanback/res/values-ro/strings.xml b/v17/leanback/res/values-ro/strings.xml
index cb6aa4a..fd354372 100644
--- a/v17/leanback/res/values-ro/strings.xml
+++ b/v17/leanback/res/values-ro/strings.xml
@@ -21,29 +21,5 @@
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Căutați"</string>
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Rostiți pentru a căuta"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Căutați <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Vorbiți pentru a căuta în <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Redă"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Întrerupe"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Derulează rapid înainte"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Derulați rapid înainte cu %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Derulează"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Derulați înapoi cu %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Ignoră articolul următor"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Ignoră articolul anterior"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Mai multe acţiuni"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Deselectează „Îmi place”"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Selectează „Îmi place”"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Deselectează „Nu-mi place”"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Selectează „Nu-mi place”"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Nu repetă"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Repetă toate"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Repetă unul"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Activează redarea în mod aleatoriu"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Dezactivează redarea în mod aleatoriu"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Activează calitatea înaltă"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Dezactivează calitatea înaltă"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Activează subtitrările"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Dezactivează subtitrările"</string>
+ <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Vorbiți pentru a căuta <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
</resources>
diff --git a/v17/leanback/res/values-ru/strings.xml b/v17/leanback/res/values-ru/strings.xml
index fb03f9d..a06ebbc 100644
--- a/v17/leanback/res/values-ru/strings.xml
+++ b/v17/leanback/res/values-ru/strings.xml
@@ -21,29 +21,5 @@
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Поиск"</string>
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Произнесите запрос"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Поиск здесь: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Произнесите запрос, чтобы найти <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Воспроизвести."</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Приостановить."</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Перемотка вперед."</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Перемотка вперед %1$dX."</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Перемотать назад."</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Перемотка назад %1$dX."</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Перейти к следующему элементу."</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Перейти к предыдущему элементу."</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Другие действия."</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Убрать отметку Нравится."</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Поставить отметку Нравится."</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Убрать отметку Не нравится."</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Поставить отметку Не нравится."</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Не повторять."</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Повторять все."</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Повторять один элемент."</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Включить перемешивание."</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Отключить перемешивание."</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Включить высокое качество."</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Отключить высокое качество."</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Включить субтитры."</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Отключить субтитры."</string>
+ <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Произнесите запрос для поиска здесь: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
</resources>
diff --git a/v17/leanback/res/values-si-rLK/strings.xml b/v17/leanback/res/values-si-rLK/strings.xml
index e5c0cf4..77742b5 100644
--- a/v17/leanback/res/values-si-rLK/strings.xml
+++ b/v17/leanback/res/values-si-rLK/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"සෙවීමට කථා කරන්න"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> සොයන්න"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> සොයන්න කථා කරන්න"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"ධාවනය කරන්න"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"විරාමය"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"වේගයෙන් ඉදිරියට යන"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"%1$dX වේගයෙන් ඉදිරියට යවන්න"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"නැවත ඔතන්න"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"%1$dX ආපස්සට යවන්න"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"ඊළඟ එක මග අරින්න"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"කළින් එක මග අරින්න"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"තව ක්රියාකාරකම්"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"මහපටැඟිල්ල ඉහළට තිබීම තේරීම නොකරන්න"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"මහපටැඟිල්ල ඉහළට තිබීම තේරීම කරන්න"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"මහපටැඟිල්ල පහළට තිබීම තේරීම නොකරන්න"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"මහපටැඟිල්ල පහළට තිබීම තේරීම කරන්න"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"නැවත කරන්න කිසිවක් නැත"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"සියල්ල නැවත කරන්න"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"එකක් නැවත කරන්න"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"ඇනීම සබල කරන්න"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"ඇනීම අබල කරන්න"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"උපරිම ගුණත්වය සබල කරන ලදි"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"උපරිම ගුණත්වය අබල කරන ලදි"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"වැසුණු ශිර්ෂ කිරීම සබල කරන ලදි"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"වැසුණු ශිර්ෂ කිරීම අබල කරන ලදි"</string>
</resources>
diff --git a/v17/leanback/res/values-sk/strings.xml b/v17/leanback/res/values-sk/strings.xml
index 74a9044..8af51d8 100644
--- a/v17/leanback/res/values-sk/strings.xml
+++ b/v17/leanback/res/values-sk/strings.xml
@@ -21,29 +21,5 @@
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Hľadať"</string>
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Hovorením spustíte vyhľadávanie"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Vyhľadať výraz <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Hovorte na vyhľadávanie v kontexte <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Prehrať"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pozastaviť"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Pretočiť dopredu"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Pretočiť dopredu %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Pretočiť späť"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Pretočiť späť %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Prejsť na ďalšiu položku"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Prejsť na predchádzajúcu položku"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Viac akcií"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Zrušiť Páči sa mi"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Vybrať Páči sa mi"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Zrušiť Nepáči sa mi"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Vybrať Nepáči sa mi"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Neopakovať"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Opakovať všetko"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Opakovať jednu položku"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Zapnúť náhodné prehrávanie"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Vypnúť náhodné prehrávanie"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Povoliť médiá vo vysokej kvalite"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Zakázať médiá vo vysokej kvalite"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Zapnúť skryté titulky"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Vypnúť skryté titulky"</string>
+ <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Vyslovením výrazu <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> spustíte jeho vyhľad."</string>
</resources>
diff --git a/v17/leanback/res/values-sl/strings.xml b/v17/leanback/res/values-sl/strings.xml
index 1af639b..d367572 100644
--- a/v17/leanback/res/values-sl/strings.xml
+++ b/v17/leanback/res/values-sl/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Izgovorite, če želite iskati"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Iskanje: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Govorite, če želite iskati: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$d-kratno"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$d-kratno"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Predvajaj"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Zaustavi"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Previj naprej"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Hitro previjanje naprej – %1$d-kratno"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Previj nazaj"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Previjanje nazaj – %1$d-kratno"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Preskoči naslednje"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Preskoči prejšnje"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Več dejanj"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Prekliči izbor palca gor"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Izberi palec gor"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Prekliči izbor palca dol"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Izberi palec dol"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Ne ponovi"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Ponovi vse"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Ponovi eno"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Omogoči naključno predvajanje"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Onemogoči naključno predvajanje"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Omogoči visoko kakovost"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Onemogoči visoko kakovost"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Omogoči podnapise"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Onemogoči podnapise"</string>
</resources>
diff --git a/v17/leanback/res/values-sr/strings.xml b/v17/leanback/res/values-sr/strings.xml
index bb5c32d..771067c 100644
--- a/v17/leanback/res/values-sr/strings.xml
+++ b/v17/leanback/res/values-sr/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Говорите да бисте претраживали"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Претражите <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Изговорите да бисте претражили <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Пусти"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Паузирај"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Премотај унапред"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Премотај унапред %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Премотај уназад"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Премотај уназад %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Прескочи следећу"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Прескочи претходну"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Још радњи"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Опозови избор палца нагоре"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Изабери палац нагоре"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Опозови избор палца надоле"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Изабери палац надоле"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Не понављај ниједну"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Понови све"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Понови једну"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Омогући насумичну репродукцију"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Онемогући насумичну репродукцију"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Омогући висок квалитет"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Онемогући висок квалитет"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Омогући титлове"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Онемогући титлове"</string>
</resources>
diff --git a/v17/leanback/res/values-sv/strings.xml b/v17/leanback/res/values-sv/strings.xml
index 1a8e757..8b64837 100644
--- a/v17/leanback/res/values-sv/strings.xml
+++ b/v17/leanback/res/values-sv/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Säg det du söker efter"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Sök i <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Tala för att söka i <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Spela upp"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Pausa"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Snabbspola framåt"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Spola framåt %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Spola tillbaka"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Spola tillbaka %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Hoppa till nästa"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Hoppa till föregående"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Fler åtgärder"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Avmarkera tummen upp"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Markera tummen upp"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Avmarkera tummen ned"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Markera tummen ned"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Upprepa inga"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Upprepa alla"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Upprepa en"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Blanda spår"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Blanda inte spår"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Aktivera hög kvalitet"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Inaktivera hög kvalitet"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Aktivera textning"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Inaktivera textning"</string>
</resources>
diff --git a/v17/leanback/res/values-sw/strings.xml b/v17/leanback/res/values-sw/strings.xml
index 17c7480..23d2641 100644
--- a/v17/leanback/res/values-sw/strings.xml
+++ b/v17/leanback/res/values-sw/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Tamka ili utafute"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Tafuta <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Tamka ili utafute <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Google Play"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Sitisha"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Peleka mbele Haraka"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Peleka Mbele %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Rudisha nyuma"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Peleka nyuma %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Ruka Inayofuata"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Ruka Iliyotangulia"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Vitendo zaidi"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Ondoa Uteuzi wa Bomba"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Teua Bomba"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Ondoa Uteuzi wa Si Bomba"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Teua Si Bomba"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Usirudie Yoyote"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Rudia zote"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Rudia Moja"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Washa Kuchanganya"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Zima Kuchanganya"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Washa Ubora wa Juu"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Zima Ubora wa Juu"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Washa manukuu"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Zima manukuu"</string>
</resources>
diff --git a/v17/leanback/res/values-ta-rIN/strings.xml b/v17/leanback/res/values-ta-rIN/strings.xml
index 9472522..9533839 100644
--- a/v17/leanback/res/values-ta-rIN/strings.xml
+++ b/v17/leanback/res/values-ta-rIN/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"தேட, பேசவும்"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> ஐத் தேடுக"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> ஐத் தேட, பேசவும்"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"இயக்கு"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"இடைநிறுத்து"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"வேகமாக முன் நகர்த்து"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"%1$dX வேகத்தில் முன்செல்"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"வேகமாக பின் நகர்த்து"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"%1$dX வேகத்தில் பின்செல்"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"அடுத்ததைத் தவிர்"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"முந்தையதைத் தவிர்"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"மேலும் செயல்கள்"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"தரமேற்றத்தைத் திரும்பப் பெறு"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"தரமேற்றத்தைத் தேர்ந்தெடு"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"தரமிறக்கத்தைத் திரும்பப் பெறு"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"தரமிறக்கத்தைத் தேர்ந்தெடு"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"எதையும் மீண்டும் இயக்காதே"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"அனைத்தையும் மீண்டும் இயக்கு"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"ஒன்றை மட்டும் மீண்டும் இயக்கு"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"கலைத்து இயக்கு"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"கலைக்காமல் இயக்கு"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"உயர் தரத்தை இயக்கு"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"உயர் தரத்தை முடக்கு"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"விரிவான வசனங்களை இயக்கு"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"விரிவான வசனங்களை முடக்கு"</string>
</resources>
diff --git a/v17/leanback/res/values-te-rIN/strings.xml b/v17/leanback/res/values-te-rIN/strings.xml
index f71e8cb..2715f97 100644
--- a/v17/leanback/res/values-te-rIN/strings.xml
+++ b/v17/leanback/res/values-te-rIN/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"శోధించడానికి చదివి వినిపించండి"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>ని శోధించండి"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>ని శోధించడానికి చదివి వినిపించండి"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"ప్లే చేయి"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"పాజ్ చేయి"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"వేగంగా ఫార్వార్డ్ చేయి"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"%1$dX ఫాస్ట్ ఫార్వార్డ్ చేయి"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"రివైండ్ చేయి"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"%1$dX రివైండ్ చేయి"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"తదుపరి దానికి దాటవేయి"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"మునుపటి దానికి దాటవేయి"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"మరిన్ని చర్యలు"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"విజయ సంకేతం ఎంపికను తీసివేయి"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"విజయ సంకేతాన్ని ఎంచుకోండి"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"ఓటమి సంకేతం ఎంపికను తీసివేయి"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"ఓటమి సంకేతాన్ని ఎంచుకోండి"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"ఏదీ పునరావృతం చేయవద్దు"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"అన్నీ పునరావృతం చేయి"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"ఒకదాన్ని పునరావృతం చేయి"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"షఫుల్ను ప్రారంభించు"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"షఫుల్ను నిలిపివేయి"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"అధిక నాణ్యతను ప్రారంభించు"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"అధిక నాణ్యతను నిలిపివేయి"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"సంవృత శీర్షికలను ప్రారంభించు"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"సంవృత శీర్షికలను నిలిపివేయి"</string>
</resources>
diff --git a/v17/leanback/res/values-th/strings.xml b/v17/leanback/res/values-th/strings.xml
index 581bac0..09922aa 100644
--- a/v17/leanback/res/values-th/strings.xml
+++ b/v17/leanback/res/values-th/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"พูดเพื่อค้นหา"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"ค้นหา <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"พูดเพื่อค้นหา <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"เล่น"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"หยุดชั่วคราว"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"กรอไปข้างหน้า"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"กรอไปข้างหน้า %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"กรอกลับ"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"กรอกลับ %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"ข้ามไปรายการถัดไป"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"ข้ามไปรายการก่อนหน้า"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"การทำงานเพิ่มเติม"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"ยกเลิกการเลือกว่าชอบ"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"เลือกว่าชอบ"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"ยกเลิกการเลือกว่าไม่ชอบ"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"เลือกว่าไม่ชอบ"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"ไม่เล่นซ้ำ"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"เล่นซ้ำทั้งหมด"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"เล่นซ้ำรายการเดียว"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"เปิดใช้การสุ่มเพลง"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"ปิดใช้การสุ่มเพลง"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"เปิดใช้คุณภาพสูง"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"ปิดใช้คุณภาพสูง"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"เปิดใช้คำบรรยาย"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"ปิดใช้คำบรรยาย"</string>
</resources>
diff --git a/v17/leanback/res/values-tl/strings.xml b/v17/leanback/res/values-tl/strings.xml
index c4e15ec..43eaad2 100644
--- a/v17/leanback/res/values-tl/strings.xml
+++ b/v17/leanback/res/values-tl/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Magsalita upang maghanap"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Hanapin ang <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Magsalita upang hanapin ang <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"I-play"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"I-pause"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"I-fast Forward"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"I-fast Forward %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"I-rewind"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"I-rewind %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Laktawan ang Susunod"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Laktawan ang Nakaraan"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Higit Pang Mga Pagkilos"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Alisin sa Pagkakapili ang Thumb Up"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Piliin ang Thumb Up"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Alisin sa Pagkakapili ang Thumb Down"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Piliin ang Thumb Down"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Walang Uulitin"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Ulitin Lahat"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Ulitin ang Isa"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"I-enable ang Shuffle"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"I-disable ang Shuffle"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"I-enable ang Mataas na Kalidad"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"I-disable ang Mataas na Kalidad"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"I-enable ang Paglalagay ng Subtitle"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"I-disable ang Paglalagay ng Subtitle"</string>
</resources>
diff --git a/v17/leanback/res/values-tr/strings.xml b/v17/leanback/res/values-tr/strings.xml
index 4671058..cfa5167 100644
--- a/v17/leanback/res/values-tr/strings.xml
+++ b/v17/leanback/res/values-tr/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Arama yapmak için konuşun"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Ara: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Aramak için konuşun: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Oynat"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Duraklat"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"İleri Sar"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"%1$dX İleri Sar"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Geri Sar"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"%1$dX Geri Sar"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Sonrakine Atla"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Öncekine Atla"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Diğer İşlemler"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Beğenme Seçimini Kaldır"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Beğenmeyi Seç"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Beğenmeme Seçimini Kaldır"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Beğenmemeyi Seç"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Hiçbirini Tekrarlama"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Tümünü Tekrarla"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Birini Tekrarla"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Karıştırmayı Etkinleştir"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Karıştırmayı Devre Dışı Bırak"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Yüksek Kalitede Oynatmayı Etkinleştir"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Yüksek Kalitede Oynatmayı Devre Dışı Bırak"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Altyazıları Etkinleştir"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Altyazıları Devre Dışı Bırak"</string>
</resources>
diff --git a/v17/leanback/res/values-uk/strings.xml b/v17/leanback/res/values-uk/strings.xml
index 79b2782..c67bc8b 100644
--- a/v17/leanback/res/values-uk/strings.xml
+++ b/v17/leanback/res/values-uk/strings.xml
@@ -21,29 +21,5 @@
<string name="lb_search_bar_hint" msgid="8325490927970116252">"Пошук"</string>
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Продиктуйте пошуковий запит"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Шукати: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Продиктуйте запит для пошуку: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Відтворити"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Призупинити"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Перемотати вперед"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Перемотати вперед %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Перемотати назад"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Перемотати назад %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Пропустити наступний елемент"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Пропустити попередній елемент"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Інші дії"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Скасувати оцінку \"Подобається\""</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Вибрати оцінку \"Подобається\""</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Скасувати оцінку \"Не подобається\""</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Вибрати оцінку \"Не подобається\""</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Не повторювати"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Повторити все"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Повторити один елемент"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Увімкнути перемішування"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Вимкнути перемішування"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Увімкнути високу якість"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Вимкнути високу якість"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Увімкнути субтитри"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Вимкнути субтитри"</string>
+ <string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Продиктуйте, щоб шукати: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
</resources>
diff --git a/v17/leanback/res/values-ur-rPK/strings.xml b/v17/leanback/res/values-ur-rPK/strings.xml
index b670251..bcc9fde 100644
--- a/v17/leanback/res/values-ur-rPK/strings.xml
+++ b/v17/leanback/res/values-ur-rPK/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"تلاش کرنے کیلئے بولیں"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> تلاش کریں"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g> تلاش کرنے کیلئے بولیں"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"چلائیں"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"موقوف کریں"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"تیزی سے فارورڈ کریں"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"تیزی سے فارورڈ کریں %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"ریوائینڈ کریں"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"ریوائنڈ کریں %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"اگلے پر جائیں"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"پچھلے پر جائیں"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"مزید کارروائیاں"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"اوپر کی طرف والے انگوٹھے کے نشان کو غیر منتخب کریں"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"اوپر کی طرف والے انگوٹھے کے نشان کو منتخب کریں"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"نیچے کی طرف والے انگوٹھے کے نشان کو غیر منتخب کریں"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"نیچے کی طرف والے انگوٹھے کے نشان کو منتخب کریں"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"کسی کو نہ دہرائیں"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"سبھی کو دہرائیں"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"ایک کو دہرائیں"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"شفل کو فعال کریں"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"شفل کو غیر فعال کریں"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"اعلی معیار کو فعال کریں"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"اعلی معیار کو غیر فعال کریں"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"سب ٹائٹلز کو فعال کریں"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"سب ٹائٹلز کو غیر فعال کریں"</string>
</resources>
diff --git a/v17/leanback/res/values-uz-rUZ/strings.xml b/v17/leanback/res/values-uz-rUZ/strings.xml
index 235d88f..95ae803 100644
--- a/v17/leanback/res/values-uz-rUZ/strings.xml
+++ b/v17/leanback/res/values-uz-rUZ/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Qidirish uchun gapiring"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Qidirish: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Qidirish uchun ayting: <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Ijro qilish"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"To‘xtatib turish"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Oldinga o‘tkazish"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"%1$dX tezlikda oldinga o‘tkazish"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Orqaga qaytarish"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"%1$dX tezlikda orqaga qaytarish"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Keyingisiga o‘tish"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Avvalgisiga qaytish"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Boshqa amallar"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Ijobiy baho tanlovini bekor qilish"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Ijobiy bahoni tanlash"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Salbiy baho tanlovini bekor qilish"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Salbiy bahoni tanlash"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Takrorlamaslik"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Barchasini takrorlash"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Bir marta takrorlash"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Aralashtirish funksiyasini yoqish"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Aralashtirish funksiyasini o‘chirish"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Yuqori sifatni yoqish"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Yuqori sifatni o‘chirib qo‘yish"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Taglavhalarni yoqish"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Taglavhalarni o‘chirib qo‘yish"</string>
</resources>
diff --git a/v17/leanback/res/values-vi/strings.xml b/v17/leanback/res/values-vi/strings.xml
index 201d137..2da6873 100644
--- a/v17/leanback/res/values-vi/strings.xml
+++ b/v17/leanback/res/values-vi/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Nói để tìm kiếm"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Tìm kiếm <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Nói để tìm kiếm <xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Phát"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Tạm dừng"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Tua nhanh"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Tua đi %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Tua lại"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Tua lại %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Chuyển đến mục tiếp theo"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Chuyển về mục trước"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Tác vụ khác"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Bỏ chọn thích"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Chọn thích"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Bỏ chọn không thích"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Chọn không thích"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Không lặp lại"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Lặp lại tất cả"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Lặp lại một mục"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Bật phát ngẫu nhiên"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Tắt phát ngẫu nhiên"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Bật chế độ chất lượng cao"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Tắt chế độ chất lượng cao"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Bật phụ đề"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Tắt phụ đề"</string>
</resources>
diff --git a/v17/leanback/res/values-zh-rCN/strings.xml b/v17/leanback/res/values-zh-rCN/strings.xml
index 276e7bb..7f91918 100644
--- a/v17/leanback/res/values-zh-rCN/strings.xml
+++ b/v17/leanback/res/values-zh-rCN/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"说话即可开始搜索"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"搜索<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"说话即可在<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>中搜索"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$d 倍速"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$d 倍速"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"播放"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"暂停"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"快进"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"%1$d 倍速快进"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"快退"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"%1$d 倍速快退"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"跳至下一个"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"跳至上一个"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"更多操作"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"取消选择顶操作"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"选择顶操作"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"取消选择踩操作"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"选择踩操作"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"不重复播放"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"重复播放全部"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"重复播放一项"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"开启随机播放"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"关闭随机播放"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"开启高画质模式"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"关闭高画质模式"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"开启字幕"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"关闭字幕"</string>
</resources>
diff --git a/v17/leanback/res/values-zh-rHK/strings.xml b/v17/leanback/res/values-zh-rHK/strings.xml
index 5e87989..6e32bf5 100644
--- a/v17/leanback/res/values-zh-rHK/strings.xml
+++ b/v17/leanback/res/values-zh-rHK/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"使用語音搜尋"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"搜尋「<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>」"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"使用語音搜尋「<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>」"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"播放"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"暫停"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"向前快轉"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"快轉 %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"向後倒轉"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"倒帶 %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"移至下一個媒體項目"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"移至上一個媒體項目"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"更多動作"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"取消選取喜歡"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"選取喜歡"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"取消選取不喜歡"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"選取不喜歡"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"不重複播放"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"重複播放所有媒體項目"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"重複播放一個媒體項目"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"啟用隨機播放"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"停用隨機播放"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"啟用高畫質"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"停用高畫質"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"啟用字幕"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"停用字幕"</string>
</resources>
diff --git a/v17/leanback/res/values-zh-rTW/strings.xml b/v17/leanback/res/values-zh-rTW/strings.xml
index 67efc40..6e32bf5 100644
--- a/v17/leanback/res/values-zh-rTW/strings.xml
+++ b/v17/leanback/res/values-zh-rTW/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"使用語音搜尋"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"搜尋「<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>」"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"使用語音搜尋「<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>」"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"播放"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"暫停"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"向前快轉"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"快轉 %1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"倒轉"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"倒轉 %1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"跳至下一個項目"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"跳至上一個項目"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"更多動作"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"取消選取喜歡"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"選取喜歡"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"取消選取不喜歡"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"選取不喜歡"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"不重複播放"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"重複播放所有項目"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"重複播放單一項目"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"啟用隨機播放"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"停用隨機播放"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"啟用高品質播放"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"停用高品質播放"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"啟用字幕"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"停用字幕"</string>
</resources>
diff --git a/v17/leanback/res/values-zu/strings.xml b/v17/leanback/res/values-zu/strings.xml
index f17455d..4168b19 100644
--- a/v17/leanback/res/values-zu/strings.xml
+++ b/v17/leanback/res/values-zu/strings.xml
@@ -22,28 +22,4 @@
<string name="lb_search_bar_hint_speech" msgid="5511270823320183816">"Khuluma ukuze useshe"</string>
<string name="lb_search_bar_hint_with_title" msgid="1627103380996590035">"Sesha i-<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
<string name="lb_search_bar_hint_with_title_speech" msgid="2712734639766312034">"Khuluma ukuze useshe i-<xliff:g id="SEARCH_CONTEXT">%1$s</xliff:g>"</string>
- <string name="lb_control_display_fast_forward_multiplier" msgid="4541442045214207774">"%1$dX"</string>
- <string name="lb_control_display_rewind_multiplier" msgid="3097220783222910245">"%1$dX"</string>
- <string name="lb_playback_controls_play" msgid="731953341987346903">"Dlala"</string>
- <string name="lb_playback_controls_pause" msgid="6189521112079849518">"Misa isikhashana"</string>
- <string name="lb_playback_controls_fast_forward" msgid="8569951318244687220">"Iya phambili ngokushesha"</string>
- <string name="lb_playback_controls_fast_forward_multiplier" msgid="1058753672110224526">"Mikisa phambili ngokushesha i-%1$dX"</string>
- <string name="lb_playback_controls_rewind" msgid="2227196334132350684">"Buyisela emuva"</string>
- <string name="lb_playback_controls_rewind_multiplier" msgid="1640629531440849942">"Mikisa emuva i-%1$dX"</string>
- <string name="lb_playback_controls_skip_next" msgid="2946499493161095772">"Yeqa okulandelayo"</string>
- <string name="lb_playback_controls_skip_previous" msgid="2326801832933178348">"Yeqa kwangaphambilini"</string>
- <string name="lb_playback_controls_more_actions" msgid="2330770008796987655">"Izenzo eziningi"</string>
- <string name="lb_playback_controls_thumb_up" msgid="6530420347129222601">"Susa ukukhetha isithupha saphezulu"</string>
- <string name="lb_playback_controls_thumb_up_outline" msgid="1577637924003500946">"Khetha isithupha saphezulu"</string>
- <string name="lb_playback_controls_thumb_down" msgid="4498041193172964797">"Susa ukukhetha isithupha saphansi"</string>
- <string name="lb_playback_controls_thumb_down_outline" msgid="2936020280629424365">"Khetha isithupha saphansi"</string>
- <string name="lb_playback_controls_repeat_none" msgid="87476947476529036">"Ungaphindi lutho"</string>
- <string name="lb_playback_controls_repeat_all" msgid="6730354406289599000">"Phinda konke"</string>
- <string name="lb_playback_controls_repeat_one" msgid="3285202316452203619">"Phida okukodwa"</string>
- <string name="lb_playback_controls_shuffle_enable" msgid="1099874107835264529">"Nika amandla ukushova"</string>
- <string name="lb_playback_controls_shuffle_disable" msgid="8388150597335115226">"Khubaza ukushova"</string>
- <string name="lb_playback_controls_high_quality_enable" msgid="202415780019335254">"Nika amandla ikhwalithi ephezulu"</string>
- <string name="lb_playback_controls_high_quality_disable" msgid="8637371582779057866">"Khubaza ikhwalithi ephezulu"</string>
- <string name="lb_playback_controls_closed_captioning_enable" msgid="2429655367176440226">"Nika amandla imibhalo engezansi"</string>
- <string name="lb_playback_controls_closed_captioning_disable" msgid="6133362019475930048">"Khubaza imihbalo engezansi"</string>
</resources>
diff --git a/v4/java/android/support/v4/app/FragmentStatePagerAdapter.java b/v4/java/android/support/v4/app/FragmentStatePagerAdapter.java
index 0fd1d7f..0c3c6c5 100644
--- a/v4/java/android/support/v4/app/FragmentStatePagerAdapter.java
+++ b/v4/java/android/support/v4/app/FragmentStatePagerAdapter.java
@@ -180,7 +180,7 @@
}
for (int i=0; i<mFragments.size(); i++) {
Fragment f = mFragments.get(i);
- if (f != null) {
+ if (f != null && f.isAdded()) {
if (state == null) {
state = new Bundle();
}
diff --git a/v4/java/android/support/v4/os/ParcelableCompat.java b/v4/java/android/support/v4/os/ParcelableCompat.java
index 40ad994..fbb064f 100644
--- a/v4/java/android/support/v4/os/ParcelableCompat.java
+++ b/v4/java/android/support/v4/os/ParcelableCompat.java
@@ -34,7 +34,7 @@
public static <T> Parcelable.Creator<T> newCreator(
ParcelableCompatCreatorCallbacks<T> callbacks) {
if (android.os.Build.VERSION.SDK_INT >= 13) {
- ParcelableCompatCreatorHoneycombMR2Stub.instantiate(callbacks);
+ return ParcelableCompatCreatorHoneycombMR2Stub.instantiate(callbacks);
}
return new CompatCreator<T>(callbacks);
}
diff --git a/v4/java/android/support/v4/view/ViewPager.java b/v4/java/android/support/v4/view/ViewPager.java
index 5a98b55..92596fc 100644
--- a/v4/java/android/support/v4/view/ViewPager.java
+++ b/v4/java/android/support/v4/view/ViewPager.java
@@ -167,7 +167,6 @@
private boolean mIsBeingDragged;
private boolean mIsUnableToDrag;
- private boolean mIgnoreGutter;
private int mDefaultGutterSize;
private int mGutterSize;
private int mTouchSlop;
diff --git a/v7/appcompat/res/values-af/strings.xml b/v7/appcompat/res/values-af/strings.xml
index 549ab76..f7348c4 100644
--- a/v7/appcompat/res/values-af/strings.xml
+++ b/v7/appcompat/res/values-af/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navigeer tuis"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navigeer op"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Nog opsies"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Vou in"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Soek"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Soek …"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Soeknavraag"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Vee navraag uit"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Dien navraag in"</string>
diff --git a/v7/appcompat/res/values-am/strings.xml b/v7/appcompat/res/values-am/strings.xml
index 9bcea17..e849b31 100644
--- a/v7/appcompat/res/values-am/strings.xml
+++ b/v7/appcompat/res/values-am/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"ወደ መነሻ ይዳስሱ"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"ወደ ላይ ይዳስሱ"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"ተጨማሪ አማራጮች"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"ሰብስብ"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s፣ %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s፣ %2$s፣ %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"ፍለጋ"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"ፈልግ…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"የፍለጋ ጥያቄ"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"መጠይቅ አጽዳ"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"መጠይቅ ያስረክቡ"</string>
diff --git a/v7/appcompat/res/values-ar/strings.xml b/v7/appcompat/res/values-ar/strings.xml
index 4ed5f59..93dde04 100644
--- a/v7/appcompat/res/values-ar/strings.xml
+++ b/v7/appcompat/res/values-ar/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"التنقل إلى الشاشة الرئيسية"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"التنقل إلى أعلى"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"خيارات إضافية"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"تصغير"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s، %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s، %2$s، %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"بحث"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"بحث…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"طلب البحث"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"محو طلب البحث"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"إرسال طلب البحث"</string>
diff --git a/v7/appcompat/res/values-bg/strings.xml b/v7/appcompat/res/values-bg/strings.xml
index 74963a2..de3bde8 100644
--- a/v7/appcompat/res/values-bg/strings.xml
+++ b/v7/appcompat/res/values-bg/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Придвижване към „Начало“"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Придвижване нагоре"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Още опции"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Свиване"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"„%1$s“ – %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"„%1$s“, „%2$s“ – %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Търсене"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Търсете…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Заявка за търсене"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Изчистване на заявката"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Изпращане на заявката"</string>
diff --git a/v7/appcompat/res/values-bn-rBD/strings.xml b/v7/appcompat/res/values-bn-rBD/strings.xml
index 93a5997..393240f 100644
--- a/v7/appcompat/res/values-bn-rBD/strings.xml
+++ b/v7/appcompat/res/values-bn-rBD/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"হোম এ নেভিগেট করুন"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"উপরের দিকে নেভিগেট করুন"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"আরো বিকল্প"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"সঙ্কুচিত করুন"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"অনুসন্ধান করুন"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"অনুসন্ধান..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"ক্যোয়ারী অনুসন্ধান করুন"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"ক্যোয়ারী সাফ করুন"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"ক্যোয়ারী জমা দিন"</string>
diff --git a/v7/appcompat/res/values-ca/strings.xml b/v7/appcompat/res/values-ca/strings.xml
index 97789f5..bfd4cb0 100644
--- a/v7/appcompat/res/values-ca/strings.xml
+++ b/v7/appcompat/res/values-ca/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navega a la pàgina d\'inici"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navega cap a dalt"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Més opcions"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Replega"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Cerca"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Cerca..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Consulta de cerca"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Esborra la consulta"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Envia la consulta"</string>
diff --git a/v7/appcompat/res/values-cs/strings.xml b/v7/appcompat/res/values-cs/strings.xml
index 9c3b2b0..1465fdc 100644
--- a/v7/appcompat/res/values-cs/strings.xml
+++ b/v7/appcompat/res/values-cs/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Přejít na plochu"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Přejít nahoru"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Více možností"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Sbalit"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s – %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s – %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Hledat"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Vyhledat…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Vyhledávací dotaz"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Smazat dotaz"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Odeslat dotaz"</string>
diff --git a/v7/appcompat/res/values-da/strings.xml b/v7/appcompat/res/values-da/strings.xml
index fda0c24..b178513 100644
--- a/v7/appcompat/res/values-da/strings.xml
+++ b/v7/appcompat/res/values-da/strings.xml
@@ -20,15 +20,11 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Naviger hjem"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Naviger op"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Flere muligheder"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Skjul"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Søg"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Søg…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Søgeforespørgsel"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Ryd forespørgslen"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Indsend forespørgslen"</string>
- <string name="abc_searchview_description_voice" msgid="893419373245838918">"Talesøgning"</string>
+ <string name="abc_searchview_description_voice" msgid="893419373245838918">"Stemmesøgning"</string>
<string name="abc_activitychooserview_choose_application" msgid="2031811694353399454">"Vælg en app"</string>
<string name="abc_activity_chooser_view_see_all" msgid="7468859129482906941">"Se alle"</string>
<string name="abc_shareactionprovider_share_with_application" msgid="7165123711973476752">"Del med %s"</string>
diff --git a/v7/appcompat/res/values-de/strings.xml b/v7/appcompat/res/values-de/strings.xml
index 2905d60..6da4b71 100644
--- a/v7/appcompat/res/values-de/strings.xml
+++ b/v7/appcompat/res/values-de/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Zur Startseite"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Nach oben"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Weitere Optionen"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Minimieren"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s: %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s: %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Suchen"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Suchen…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Suchanfrage"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Suchanfrage löschen"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Suchanfrage senden"</string>
diff --git a/v7/appcompat/res/values-el/strings.xml b/v7/appcompat/res/values-el/strings.xml
index 779c83f..4c0e286 100644
--- a/v7/appcompat/res/values-el/strings.xml
+++ b/v7/appcompat/res/values-el/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Πλοήγηση στην αρχική σελίδα"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Πλοήγηση προς τα επάνω"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Περισσότερες επιλογές"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Σύμπτυξη"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Αναζήτηση"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Αναζήτηση…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Ερώτημα αναζήτησης"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Διαγραφή ερωτήματος"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Υποβολή ερωτήματος"</string>
diff --git a/v7/appcompat/res/values-en-rGB/strings.xml b/v7/appcompat/res/values-en-rGB/strings.xml
index a85156e..3ec0b0e 100644
--- a/v7/appcompat/res/values-en-rGB/strings.xml
+++ b/v7/appcompat/res/values-en-rGB/strings.xml
@@ -16,15 +16,11 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="abc_action_mode_done" msgid="4076576682505996667">"Done"</string>
+ <string name="abc_action_mode_done" msgid="4076576682505996667">"Finished"</string>
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navigate home"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navigate up"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"More options"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Collapse"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Search"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Search…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Search query"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Clear query"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Submit query"</string>
diff --git a/v7/appcompat/res/values-en-rIN/strings.xml b/v7/appcompat/res/values-en-rIN/strings.xml
index a85156e..3ec0b0e 100644
--- a/v7/appcompat/res/values-en-rIN/strings.xml
+++ b/v7/appcompat/res/values-en-rIN/strings.xml
@@ -16,15 +16,11 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="abc_action_mode_done" msgid="4076576682505996667">"Done"</string>
+ <string name="abc_action_mode_done" msgid="4076576682505996667">"Finished"</string>
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navigate home"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navigate up"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"More options"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Collapse"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Search"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Search…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Search query"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Clear query"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Submit query"</string>
diff --git a/v7/appcompat/res/values-es-rUS/strings.xml b/v7/appcompat/res/values-es-rUS/strings.xml
index b8488e1..6ab7942 100644
--- a/v7/appcompat/res/values-es-rUS/strings.xml
+++ b/v7/appcompat/res/values-es-rUS/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navegar a la página principal"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navegar hacia arriba"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Más opciones"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Contraer"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Búsqueda"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Buscar…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Consulta de búsqueda"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Eliminar la consulta"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Enviar consulta"</string>
diff --git a/v7/appcompat/res/values-es/strings.xml b/v7/appcompat/res/values-es/strings.xml
index 70ea32d..ed15b35 100644
--- a/v7/appcompat/res/values-es/strings.xml
+++ b/v7/appcompat/res/values-es/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Ir a la pantalla de inicio"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Desplazarse hacia arriba"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Más opciones"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Contraer"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Buscar"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Buscar…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Consulta"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Borrar consulta"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Enviar consulta"</string>
diff --git a/v7/appcompat/res/values-et-rEE/strings.xml b/v7/appcompat/res/values-et-rEE/strings.xml
index cf4deac..2ae925d 100644
--- a/v7/appcompat/res/values-et-rEE/strings.xml
+++ b/v7/appcompat/res/values-et-rEE/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navigeerimine avaekraanile"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navigeerimine üles"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Rohkem valikuid"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Ahendamine"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Otsing"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Otsige …"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Otsingupäring"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Päringu tühistamine"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Päringu esitamine"</string>
diff --git a/v7/appcompat/res/values-eu-rES/strings.xml b/v7/appcompat/res/values-eu-rES/strings.xml
index dddc924..ee6ac4d 100644
--- a/v7/appcompat/res/values-eu-rES/strings.xml
+++ b/v7/appcompat/res/values-eu-rES/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Joan orri nagusira"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Joan gora"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Aukera gehiago"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Tolestu"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Bilatu"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Bilatu…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Bilaketa-kontsulta"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Garbitu kontsulta"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Bidali kontsulta"</string>
diff --git a/v7/appcompat/res/values-fa/strings.xml b/v7/appcompat/res/values-fa/strings.xml
index 3e85c47..8e10e92 100644
--- a/v7/appcompat/res/values-fa/strings.xml
+++ b/v7/appcompat/res/values-fa/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"پیمایش به صفحه اصلی"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"پیمایش به بالا"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"گزینههای بیشتر"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"کوچک کردن"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s، %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s، %2$s، %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"جستجو"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"جستجو…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"عبارت جستجو"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"پاک کردن عبارت جستجو"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"ارسال عبارت جستجو"</string>
diff --git a/v7/appcompat/res/values-fi/strings.xml b/v7/appcompat/res/values-fi/strings.xml
index f706ebe..6755cea 100644
--- a/v7/appcompat/res/values-fi/strings.xml
+++ b/v7/appcompat/res/values-fi/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Siirry etusivulle"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Siirry ylös"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Lisää"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Kutista"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Haku"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Haku…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Hakulauseke"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Tyhjennä kysely"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Lähetä kysely"</string>
diff --git a/v7/appcompat/res/values-fr-rCA/strings.xml b/v7/appcompat/res/values-fr-rCA/strings.xml
index 979bfa5..417705a 100644
--- a/v7/appcompat/res/values-fr-rCA/strings.xml
+++ b/v7/appcompat/res/values-fr-rCA/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Revenir à l\'accueil"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Revenir en haut de la page"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Plus d\'options"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Réduire"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Rechercher"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Recherche en cours..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Requête de recherche"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Effacer la requête"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Envoyer la requête"</string>
diff --git a/v7/appcompat/res/values-fr/strings.xml b/v7/appcompat/res/values-fr/strings.xml
index df851d3..27b8f38 100644
--- a/v7/appcompat/res/values-fr/strings.xml
+++ b/v7/appcompat/res/values-fr/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Revenir à l\'accueil"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Revenir en haut de la page"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Plus d\'options"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Réduire"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Rechercher"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Rechercher…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Requête de recherche"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Effacer la requête"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Envoyer la requête"</string>
diff --git a/v7/appcompat/res/values-gl-rES/strings.xml b/v7/appcompat/res/values-gl-rES/strings.xml
index 618aec0..1d0d50d 100644
--- a/v7/appcompat/res/values-gl-rES/strings.xml
+++ b/v7/appcompat/res/values-gl-rES/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Ir á páxina de inicio"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Desprazarse cara arriba"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Máis opcións"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Contraer"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Buscar"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Buscar…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Consulta de busca"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Borrar consulta"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Enviar consulta"</string>
diff --git a/v7/appcompat/res/values-hi/strings.xml b/v7/appcompat/res/values-hi/strings.xml
index 2ee69d9..b236ebb 100644
--- a/v7/appcompat/res/values-hi/strings.xml
+++ b/v7/appcompat/res/values-hi/strings.xml
@@ -17,14 +17,10 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="abc_action_mode_done" msgid="4076576682505996667">"पूर्ण"</string>
- <string name="abc_action_bar_home_description" msgid="4600421777120114993">"मुख्यपृष्ठ पर नेविगेट करें"</string>
+ <string name="abc_action_bar_home_description" msgid="4600421777120114993">"मुखपृष्ठ पर नेविगेट करें"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"ऊपर नेविगेट करें"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"अधिक विकल्प"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"संक्षिप्त करें"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"खोजें"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"खोजा जा रहा है…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"खोज क्वेरी"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"क्वेरी साफ़ करें"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"क्वेरी सबमिट करें"</string>
diff --git a/v7/appcompat/res/values-hr/strings.xml b/v7/appcompat/res/values-hr/strings.xml
index 7e8968f..680e39f 100644
--- a/v7/appcompat/res/values-hr/strings.xml
+++ b/v7/appcompat/res/values-hr/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Idi na početnu"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Idi gore"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Dodatne opcije"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Sažmi"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Pretraživanje"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Pretražite…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Upit za pretraživanje"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Izbriši upit"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Pošalji upit"</string>
diff --git a/v7/appcompat/res/values-hu/strings.xml b/v7/appcompat/res/values-hu/strings.xml
index 7fe27d2..52dafb0 100644
--- a/v7/appcompat/res/values-hu/strings.xml
+++ b/v7/appcompat/res/values-hu/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Ugrás a főoldalra"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Felfelé mozgatás"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"További lehetőségek"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Összecsukás"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Keresés"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Keresés…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Keresési lekérdezés"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Lekérdezés törlése"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Lekérdezés küldése"</string>
diff --git a/v7/appcompat/res/values-hy-rAM/strings.xml b/v7/appcompat/res/values-hy-rAM/strings.xml
index 47c29a5..6c0ee27 100644
--- a/v7/appcompat/res/values-hy-rAM/strings.xml
+++ b/v7/appcompat/res/values-hy-rAM/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Ուղղվել տուն"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Ուղղվել վերև"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Այլ ընտրանքներ"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Թաքցնել"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Որոնել"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Որոնում..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Որոնման հարցում"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Մաքրել հարցումը"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Ուղարկել հարցումը"</string>
diff --git a/v7/appcompat/res/values-in/strings.xml b/v7/appcompat/res/values-in/strings.xml
index d102ba6..9481e83 100644
--- a/v7/appcompat/res/values-in/strings.xml
+++ b/v7/appcompat/res/values-in/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navigasi ke beranda"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navigasi naik"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Opsi lain"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Ciutkan"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Telusuri"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Telusuri..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Kueri penelusuran"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Hapus kueri"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Kirim kueri"</string>
diff --git a/v7/appcompat/res/values-is-rIS/strings.xml b/v7/appcompat/res/values-is-rIS/strings.xml
index a205e8b..8cac570 100644
--- a/v7/appcompat/res/values-is-rIS/strings.xml
+++ b/v7/appcompat/res/values-is-rIS/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Fara heim"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Fara upp"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Fleiri valkostir"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Minnka"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Leita"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Leita…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Leitarfyrirspurn"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Hreinsa fyrirspurn"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Senda fyrirspurn"</string>
diff --git a/v7/appcompat/res/values-it/strings.xml b/v7/appcompat/res/values-it/strings.xml
index 71cb54f..a8b0f2c 100644
--- a/v7/appcompat/res/values-it/strings.xml
+++ b/v7/appcompat/res/values-it/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Vai alla home page"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Vai in alto"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Altre opzioni"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Comprimi"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Cerca"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Cerca…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Query di ricerca"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Cancella query"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Invia query"</string>
diff --git a/v7/appcompat/res/values-iw/strings.xml b/v7/appcompat/res/values-iw/strings.xml
index c5ef730..1af07df 100644
--- a/v7/appcompat/res/values-iw/strings.xml
+++ b/v7/appcompat/res/values-iw/strings.xml
@@ -20,17 +20,13 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"נווט לדף הבית"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"נווט למעלה"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"עוד אפשרויות"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"כווץ"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"חפש"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"חפש…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"שאילתת חיפוש"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"מחק שאילתה"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"שלח שאילתה"</string>
<string name="abc_searchview_description_voice" msgid="893419373245838918">"חיפוש קולי"</string>
<string name="abc_activitychooserview_choose_application" msgid="2031811694353399454">"בחר אפליקציה"</string>
- <string name="abc_activity_chooser_view_see_all" msgid="7468859129482906941">"ראה הכל"</string>
+ <string name="abc_activity_chooser_view_see_all" msgid="7468859129482906941">"ראה הכול"</string>
<string name="abc_shareactionprovider_share_with_application" msgid="7165123711973476752">"שתף עם %s"</string>
<string name="abc_shareactionprovider_share_with" msgid="3421042268587513524">"שתף עם"</string>
</resources>
diff --git a/v7/appcompat/res/values-ja/strings.xml b/v7/appcompat/res/values-ja/strings.xml
index 736d454..659358a 100644
--- a/v7/appcompat/res/values-ja/strings.xml
+++ b/v7/appcompat/res/values-ja/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"ホームへ移動"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"上へ移動"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"その他のオプション"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"折りたたむ"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s、%2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s、%2$s、%3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"検索"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"検索…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"検索キーワード"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"検索キーワードを削除"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"検索キーワードを送信"</string>
diff --git a/v7/appcompat/res/values-ka-rGE/strings.xml b/v7/appcompat/res/values-ka-rGE/strings.xml
index 2341e3d..0c430b1 100644
--- a/v7/appcompat/res/values-ka-rGE/strings.xml
+++ b/v7/appcompat/res/values-ka-rGE/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"მთავარზე ნავიგაცია"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"ზემოთ ნავიგაცია"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"მეტი ვარიანტები"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"აკეცვა"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"ძიება"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"ძიება..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"ძიების მოთხოვნა"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"მოთხოვნის გასუფთავება"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"მოთხოვნის გადაგზავნა"</string>
diff --git a/v7/appcompat/res/values-kk-rKZ/strings.xml b/v7/appcompat/res/values-kk-rKZ/strings.xml
index 1af9a5f..d3ad9e8 100644
--- a/v7/appcompat/res/values-kk-rKZ/strings.xml
+++ b/v7/appcompat/res/values-kk-rKZ/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Негізгі бетте қозғалу"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Жоғары қозғалу"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Басқа опциялар"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Тасалау"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Іздеу"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Іздеу…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Сұрақты іздеу"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Сұрақты жою"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Сұрақты жіберу"</string>
diff --git a/v7/appcompat/res/values-km-rKH/strings.xml b/v7/appcompat/res/values-km-rKH/strings.xml
index 5fda61a..df78372 100644
--- a/v7/appcompat/res/values-km-rKH/strings.xml
+++ b/v7/appcompat/res/values-km-rKH/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"រកមើលទៅដើម"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"រកមើលឡើងលើ"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"ជម្រើសច្រើនទៀត"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"បង្រួម"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"ស្វែងរក"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"ស្វែងរក…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"ស្វែងរកសំណួរ"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"សម្អាតសំណួរ"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"ដាក់ស្នើសំណួរ"</string>
diff --git a/v7/appcompat/res/values-kn-rIN/strings.xml b/v7/appcompat/res/values-kn-rIN/strings.xml
index 669c21c..6af7a39 100644
--- a/v7/appcompat/res/values-kn-rIN/strings.xml
+++ b/v7/appcompat/res/values-kn-rIN/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"ಮುಖಪುಟವನ್ನು ನ್ಯಾವಿಗೇಟ್ ಮಾಡಿ"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"ಮೇಲಕ್ಕೆ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಿ"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳು"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"ಸಂಕುಚಿಸು"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"ಹುಡುಕು"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"ಹುಡುಕಿ…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"ಪ್ರಶ್ನೆಯನ್ನು ಹುಡುಕಿ"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"ಪ್ರಶ್ನೆಯನ್ನು ತೆರವುಗೊಳಿಸು"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"ಪ್ರಶ್ನೆಯನ್ನು ಸಲ್ಲಿಸು"</string>
diff --git a/v7/appcompat/res/values-ko/strings.xml b/v7/appcompat/res/values-ko/strings.xml
index ad83225..d331975 100644
--- a/v7/appcompat/res/values-ko/strings.xml
+++ b/v7/appcompat/res/values-ko/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"홈 탐색"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"위로 탐색"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"옵션 더보기"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"접기"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"검색"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"검색..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"검색어"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"검색어 삭제"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"검색어 보내기"</string>
diff --git a/v7/appcompat/res/values-ky-rKG/strings.xml b/v7/appcompat/res/values-ky-rKG/strings.xml
index b9f0bb1..52abd9f 100644
--- a/v7/appcompat/res/values-ky-rKG/strings.xml
+++ b/v7/appcompat/res/values-ky-rKG/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Үйгө багыттоо"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Жогору"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Көбүрөөк мүмкүнчүлүктөр"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Жыйнап коюу"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Издөө"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Издөө…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Издөө талаптары"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Талаптарды тазалоо"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Талап жөнөтүү"</string>
diff --git a/v7/appcompat/res/values-lo-rLA/strings.xml b/v7/appcompat/res/values-lo-rLA/strings.xml
index 45f830f..7eb42ea 100644
--- a/v7/appcompat/res/values-lo-rLA/strings.xml
+++ b/v7/appcompat/res/values-lo-rLA/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"ກັບໄປໜ້າຫຼັກ"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"ຂຶ້ນເທິງ"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"ໂຕເລືອກອື່ນ"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"ຫຍໍ້"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"ຊອກຫາ"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"ຊອກຫາ"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"ຊອກຫາ"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"ລຶບຂໍ້ຄວາມຊອກຫາ"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"ສົ່ງການຊອກຫາ"</string>
diff --git a/v7/appcompat/res/values-lt/strings.xml b/v7/appcompat/res/values-lt/strings.xml
index 27713a7..c4738a7 100644
--- a/v7/appcompat/res/values-lt/strings.xml
+++ b/v7/appcompat/res/values-lt/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Eiti į pagrindinį puslapį"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Eiti į viršų"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Daugiau parinkčių"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Sutraukti"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Paieška"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Ieškoti..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Paieškos užklausa"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Išvalyti užklausą"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Pateikti užklausą"</string>
diff --git a/v7/appcompat/res/values-lv/strings.xml b/v7/appcompat/res/values-lv/strings.xml
index 986e8eb..c33858a 100644
--- a/v7/appcompat/res/values-lv/strings.xml
+++ b/v7/appcompat/res/values-lv/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Pārvietoties uz sākuma ekrānu"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Pārvietoties augšup"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Vairāk opciju"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Sakļaut"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s: %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s: %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Meklēt"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Meklējiet…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Meklēšanas vaicājums"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Notīrīt vaicājumu"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Iesniegt vaicājumu"</string>
diff --git a/v7/appcompat/res/values-mk-rMK/strings.xml b/v7/appcompat/res/values-mk-rMK/strings.xml
index 916809a..632728a 100644
--- a/v7/appcompat/res/values-mk-rMK/strings.xml
+++ b/v7/appcompat/res/values-mk-rMK/strings.xml
@@ -20,13 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Движи се кон дома"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Движи се нагоре"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Повеќе опции"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Собери"</string>
- <!-- String.format failed for translation -->
- <!-- no translation found for abc_action_bar_home_description_format (1397052879051804371) -->
- <skip />
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Пребарај"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Пребарување…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Пребарај барање"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Исчисти барање"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Поднеси барање"</string>
diff --git a/v7/appcompat/res/values-ml-rIN/strings.xml b/v7/appcompat/res/values-ml-rIN/strings.xml
index c122ed5..2fb368e 100644
--- a/v7/appcompat/res/values-ml-rIN/strings.xml
+++ b/v7/appcompat/res/values-ml-rIN/strings.xml
@@ -20,15 +20,11 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"ഹോമിലേക്ക് നാവിഗേറ്റുചെയ്യുക"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"മുകളിലേക്ക് നാവിഗേറ്റുചെയ്യുക"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"കൂടുതല് ഓപ്ഷനുകള്"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"ചുരുക്കുക"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"തിരയൽ"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"തിരയുക…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"തിരയൽ അന്വേഷണം"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"അന്വേഷണം മായ്ക്കുക"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"അന്വേഷണം സമർപ്പിക്കുക"</string>
- <string name="abc_searchview_description_voice" msgid="893419373245838918">"ശബ്ദ തിരയൽ"</string>
+ <string name="abc_searchview_description_voice" msgid="893419373245838918">"വോയ്സ് തിരയൽ"</string>
<string name="abc_activitychooserview_choose_application" msgid="2031811694353399454">"ഒരു അപ്ലിക്കേഷൻ തിരഞ്ഞെടുക്കുക"</string>
<string name="abc_activity_chooser_view_see_all" msgid="7468859129482906941">"എല്ലാം കാണുക"</string>
<string name="abc_shareactionprovider_share_with_application" msgid="7165123711973476752">"%s എന്നതുമായി പങ്കിടുക"</string>
diff --git a/v7/appcompat/res/values-mn-rMN/strings.xml b/v7/appcompat/res/values-mn-rMN/strings.xml
index eadbb9f..203e959 100644
--- a/v7/appcompat/res/values-mn-rMN/strings.xml
+++ b/v7/appcompat/res/values-mn-rMN/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Нүүр хуудас руу шилжих"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Дээш шилжих"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Нэмэлт сонголтууд"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Хумих"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Хайх"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Хайх..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Хайх асуулга"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Асуулгыг цэвэрлэх"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Асуулгыг илгээх"</string>
diff --git a/v7/appcompat/res/values-mr-rIN/strings.xml b/v7/appcompat/res/values-mr-rIN/strings.xml
index a2fb945..41271d4 100644
--- a/v7/appcompat/res/values-mr-rIN/strings.xml
+++ b/v7/appcompat/res/values-mr-rIN/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"मुख्यपृष्ठ नेव्हिगेट करा"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"वर नेव्हिगेट करा"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"अधिक पर्याय"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"संक्षिप्त करा"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"शोध"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"शोधा…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"शोध क्वेरी"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"क्वेरी स्पष्ट करा"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"क्वेरी सबमिट करा"</string>
diff --git a/v7/appcompat/res/values-ms-rMY/strings.xml b/v7/appcompat/res/values-ms-rMY/strings.xml
index f42fe3d..b174068 100644
--- a/v7/appcompat/res/values-ms-rMY/strings.xml
+++ b/v7/appcompat/res/values-ms-rMY/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navigasi skrin utama"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navigasi ke atas"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Lagi pilihan"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Runtuhkan"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Cari"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Cari…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Pertanyaan carian"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Kosongkan pertanyaan"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Serah pertanyaan"</string>
diff --git a/v7/appcompat/res/values-my-rMM/strings.xml b/v7/appcompat/res/values-my-rMM/strings.xml
index 6313bcb..d487f50 100644
--- a/v7/appcompat/res/values-my-rMM/strings.xml
+++ b/v7/appcompat/res/values-my-rMM/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"မူလနေရာကို သွားရန်"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"အပေါ်သို့သွားရန်"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"ပိုမိုရွေးချယ်စရာများ"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"ခေါက်ရန်"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s၊ %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s ၊ %2$s ၊ %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"ရှာဖွေရန်"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"ရှာဖွေပါ..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"ရှာစရာ အချက်အလက်နေရာ"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"ရှာစရာ အချက်အလက်များ ရှင်းလင်းရန်"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"ရှာဖွေစရာ အချက်အလက်ကို အတည်ပြုရန်"</string>
diff --git a/v7/appcompat/res/values-nb/strings.xml b/v7/appcompat/res/values-nb/strings.xml
index 6e50a58..6630acf 100644
--- a/v7/appcompat/res/values-nb/strings.xml
+++ b/v7/appcompat/res/values-nb/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Gå til startsiden"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Gå opp"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Flere alternativer"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Skjul"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s – %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s – %2$s – %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Søk"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Søk …"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Søkeord"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Slett søket"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Utfør søket"</string>
diff --git a/v7/appcompat/res/values-ne-rNP/strings.xml b/v7/appcompat/res/values-ne-rNP/strings.xml
index 5b804d8..69d10dc 100644
--- a/v7/appcompat/res/values-ne-rNP/strings.xml
+++ b/v7/appcompat/res/values-ne-rNP/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"गृह खोज्नुहोस्"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"माथि खोज्नुहोस्"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"थप विकल्पहरू"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"संक्षिप्त पार्नुहोस्"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"खोज्नुहोस्"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"खोज्नुहोस्..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"जिज्ञासाको खोज गर्नुहोस्"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"प्रश्न हटाउनुहोस्"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"जिज्ञासा पेस गर्नुहोस्"</string>
diff --git a/v7/appcompat/res/values-nl/strings.xml b/v7/appcompat/res/values-nl/strings.xml
index 61546df..1375f9e 100644
--- a/v7/appcompat/res/values-nl/strings.xml
+++ b/v7/appcompat/res/values-nl/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navigeren naar startpositie"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Omhoog navigeren"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Meer opties"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Samenvouwen"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Zoeken"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Zoeken…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Zoekopdracht"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Zoekopdracht wissen"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Zoekopdracht verzenden"</string>
diff --git a/v7/appcompat/res/values-pl/strings.xml b/v7/appcompat/res/values-pl/strings.xml
index 9d99e92..aa1ba79 100644
--- a/v7/appcompat/res/values-pl/strings.xml
+++ b/v7/appcompat/res/values-pl/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Przejdź do strony głównej"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Przejdź wyżej"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Więcej opcji"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Zwiń"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Szukaj"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Szukaj…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Wyszukiwane hasło"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Wyczyść zapytanie"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Wyślij zapytanie"</string>
diff --git a/v7/appcompat/res/values-pt-rPT/strings.xml b/v7/appcompat/res/values-pt-rPT/strings.xml
index e905530..0d63f5f 100644
--- a/v7/appcompat/res/values-pt-rPT/strings.xml
+++ b/v7/appcompat/res/values-pt-rPT/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navegar para a página inicial"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navegar para cima"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Mais opções"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Reduzir"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Pesquisar"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Pesquisar..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Consulta de pesquisa"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Limpar consulta"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Enviar consulta"</string>
diff --git a/v7/appcompat/res/values-pt/strings.xml b/v7/appcompat/res/values-pt/strings.xml
index b6c94e9..88b09ea 100644
--- a/v7/appcompat/res/values-pt/strings.xml
+++ b/v7/appcompat/res/values-pt/strings.xml
@@ -20,16 +20,12 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navegar para a página inicial"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navegar para cima"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Mais opções"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Recolher"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Pesquisar"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Pesquisar..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Consulta de pesquisa"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Limpar consulta"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Enviar consulta"</string>
<string name="abc_searchview_description_voice" msgid="893419373245838918">"Pesquisa por voz"</string>
- <string name="abc_activitychooserview_choose_application" msgid="2031811694353399454">"Selecione um app"</string>
+ <string name="abc_activitychooserview_choose_application" msgid="2031811694353399454">"Selecione um aplicativo"</string>
<string name="abc_activity_chooser_view_see_all" msgid="7468859129482906941">"Ver tudo"</string>
<string name="abc_shareactionprovider_share_with_application" msgid="7165123711973476752">"Compartilhar com %s"</string>
<string name="abc_shareactionprovider_share_with" msgid="3421042268587513524">"Compartilhar com"</string>
diff --git a/v7/appcompat/res/values-ro/strings.xml b/v7/appcompat/res/values-ro/strings.xml
index 4c741f3..36a7b31 100644
--- a/v7/appcompat/res/values-ro/strings.xml
+++ b/v7/appcompat/res/values-ro/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Navigați la ecranul de pornire"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navigați în sus"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Mai multe opțiuni"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Restrângeți"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Căutați"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Căutați…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Interogare de căutare"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Ștergeți interogarea"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Trimiteți interogarea"</string>
diff --git a/v7/appcompat/res/values-ru/strings.xml b/v7/appcompat/res/values-ru/strings.xml
index 4879b5d..5c22e5e 100644
--- a/v7/appcompat/res/values-ru/strings.xml
+++ b/v7/appcompat/res/values-ru/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Перейти на главный экран"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Перейти вверх"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Другие параметры"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Свернуть"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Поиск"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Поиск"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Поисковый запрос"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Удалить запрос"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Отправить запрос"</string>
diff --git a/v7/appcompat/res/values-si-rLK/strings.xml b/v7/appcompat/res/values-si-rLK/strings.xml
index 252448f..a6809c3 100644
--- a/v7/appcompat/res/values-si-rLK/strings.xml
+++ b/v7/appcompat/res/values-si-rLK/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"ගෙදරට සංචාලනය කරන්න"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"ඉහලට සංචාලනය කරන්න"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"තවත් විකල්ප"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"හකුළන්න"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"සෙවීම"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"සොයන්න..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"සෙවුම් විමසුම"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"විමසුම හිස් කරන්න"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"විමසුම යොමු කරන්න"</string>
diff --git a/v7/appcompat/res/values-sk/strings.xml b/v7/appcompat/res/values-sk/strings.xml
index 501e065..253f3e5 100644
--- a/v7/appcompat/res/values-sk/strings.xml
+++ b/v7/appcompat/res/values-sk/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Prejsť na plochu"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Prejsť hore"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Ďalšie možnosti"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Zbaliť"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Hľadať"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Vyhľadať…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Vyhľadávací dopyt"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Vymazať dopyt"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Odoslať dopyt"</string>
diff --git a/v7/appcompat/res/values-sl/strings.xml b/v7/appcompat/res/values-sl/strings.xml
index da49123..8e3e23e 100644
--- a/v7/appcompat/res/values-sl/strings.xml
+++ b/v7/appcompat/res/values-sl/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Krmarjenje domov"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Krmarjenje navzgor"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Več možnosti"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Strni"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Iskanje"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Iskanje …"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Iskalna poizvedba"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Izbris poizvedbe"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Pošiljanje poizvedbe"</string>
diff --git a/v7/appcompat/res/values-sr/strings.xml b/v7/appcompat/res/values-sr/strings.xml
index 9e2a9e8..213c939 100644
--- a/v7/appcompat/res/values-sr/strings.xml
+++ b/v7/appcompat/res/values-sr/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Одлазак на Почетну"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Кретање нагоре"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Још опција"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Скупи"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Претрага"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Претражите..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Упит за претрагу"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Брисање упита"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Слање упита"</string>
diff --git a/v7/appcompat/res/values-sv/strings.xml b/v7/appcompat/res/values-sv/strings.xml
index 905e3ea..49c7a5d 100644
--- a/v7/appcompat/res/values-sv/strings.xml
+++ b/v7/appcompat/res/values-sv/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Visa startsidan"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Navigera uppåt"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Fler alternativ"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Komprimera"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Sök"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Sök …"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Sökfråga"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Ta bort frågan"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Skicka fråga"</string>
diff --git a/v7/appcompat/res/values-sw/strings.xml b/v7/appcompat/res/values-sw/strings.xml
index 7287c0d..6455ba5 100644
--- a/v7/appcompat/res/values-sw/strings.xml
+++ b/v7/appcompat/res/values-sw/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Nenda mwanzo"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Nenda juu"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Chaguo zaidi"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Kunja"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Tafuta"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Tafuta…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Hoja ya utafutaji"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Futa hoja"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Wasilisha hoja"</string>
diff --git a/v7/appcompat/res/values-ta-rIN/strings.xml b/v7/appcompat/res/values-ta-rIN/strings.xml
index ab728a6..4d7d94e 100644
--- a/v7/appcompat/res/values-ta-rIN/strings.xml
+++ b/v7/appcompat/res/values-ta-rIN/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"முகப்பிற்கு வழிசெலுத்து"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"மேலே வழிசெலுத்து"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"மேலும் விருப்பங்கள்"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"சுருக்கு"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"தேடு"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"தேடு..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"தேடல் வினவல்"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"வினவலை அழி"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"வினவலைச் சமர்ப்பி"</string>
diff --git a/v7/appcompat/res/values-te-rIN/strings.xml b/v7/appcompat/res/values-te-rIN/strings.xml
index 901859b..f6b1775 100644
--- a/v7/appcompat/res/values-te-rIN/strings.xml
+++ b/v7/appcompat/res/values-te-rIN/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"హోమ్కు నావిగేట్ చేయండి"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"పైకి నావిగేట్ చేయండి"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"మరిన్ని ఎంపికలు"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"కుదించండి"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"శోధించు"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"శోధించు..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"ప్రశ్న శోధించండి"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"ప్రశ్నను క్లియర్ చేయి"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"ప్రశ్నని సమర్పించు"</string>
diff --git a/v7/appcompat/res/values-th/strings.xml b/v7/appcompat/res/values-th/strings.xml
index e962aa5..275dc57 100644
--- a/v7/appcompat/res/values-th/strings.xml
+++ b/v7/appcompat/res/values-th/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"นำทางไปหน้าแรก"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"นำทางขึ้น"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"ตัวเลือกอื่น"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"ยุบ"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"ค้นหา"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"ค้นหา…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"ข้อความค้นหา"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"ล้างข้อความค้นหา"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"ส่งข้อความค้นหา"</string>
diff --git a/v7/appcompat/res/values-tl/strings.xml b/v7/appcompat/res/values-tl/strings.xml
index f41b15f..e0705d6 100644
--- a/v7/appcompat/res/values-tl/strings.xml
+++ b/v7/appcompat/res/values-tl/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Mag-navigate patungo sa home"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Mag-navigate pataas"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Higit pang mga opsyon"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"I-collapse"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Maghanap"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Maghanap…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Query sa paghahanap"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"I-clear ang query"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Isumite ang query"</string>
diff --git a/v7/appcompat/res/values-tr/strings.xml b/v7/appcompat/res/values-tr/strings.xml
index 9cde4a2..61cb966 100644
--- a/v7/appcompat/res/values-tr/strings.xml
+++ b/v7/appcompat/res/values-tr/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Ana ekrana git"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Yukarı git"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Diğer seçenekler"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Daralt"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Ara"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Ara…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Arama sorgusu"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Sorguyu temizle"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Sorguyu gönder"</string>
diff --git a/v7/appcompat/res/values-uk/strings.xml b/v7/appcompat/res/values-uk/strings.xml
index 0a5c31c..f670140 100644
--- a/v7/appcompat/res/values-uk/strings.xml
+++ b/v7/appcompat/res/values-uk/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Перейти на головний"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Перейти вгору"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Інші опції"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Згорнути"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Пошук"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Пошук…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Пошуковий запит"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Очистити запит"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Надіслати запит"</string>
diff --git a/v7/appcompat/res/values-ur-rPK/strings.xml b/v7/appcompat/res/values-ur-rPK/strings.xml
index e6f6260..f209747 100644
--- a/v7/appcompat/res/values-ur-rPK/strings.xml
+++ b/v7/appcompat/res/values-ur-rPK/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"ہوم پر نیویگیٹ کریں"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"اوپر نیویگیٹ کریں"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"مزید اختیارات"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"سکیڑیں"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"تلاش کریں"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"تلاش کریں…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"استفسار تلاش کریں"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"استفسار صاف کریں"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"استفسار جمع کرائیں"</string>
diff --git a/v7/appcompat/res/values-uz-rUZ/strings.xml b/v7/appcompat/res/values-uz-rUZ/strings.xml
index 241b3b1..84d9541 100644
--- a/v7/appcompat/res/values-uz-rUZ/strings.xml
+++ b/v7/appcompat/res/values-uz-rUZ/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Boshiga o‘tish"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Yuqoriga o‘tish"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Qo‘shimcha sozlamalar"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Yig‘ish"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Izlash"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Qidirish…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"So‘rovni izlash"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"So‘rovni tozalash"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"So‘rov yaratish"</string>
diff --git a/v7/appcompat/res/values-vi/strings.xml b/v7/appcompat/res/values-vi/strings.xml
index 9cf34c2..0840f73 100644
--- a/v7/appcompat/res/values-vi/strings.xml
+++ b/v7/appcompat/res/values-vi/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Điều hướng về trang chủ"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Điều hướng lên trên"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Thêm tùy chọn"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Thu gọn"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Tìm kiếm"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Tìm kiếm…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Tìm kiếm truy vấn"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Xóa truy vấn"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Gửi truy vấn"</string>
diff --git a/v7/appcompat/res/values-zh-rCN/strings.xml b/v7/appcompat/res/values-zh-rCN/strings.xml
index a0b492a..87b36b0 100644
--- a/v7/appcompat/res/values-zh-rCN/strings.xml
+++ b/v7/appcompat/res/values-zh-rCN/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"转到主屏幕"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"转到上一层级"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"更多选项"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"收起"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s:%2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s - %2$s:%3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"搜索"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"搜索…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"搜索查询"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"清除查询"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"提交查询"</string>
diff --git a/v7/appcompat/res/values-zh-rHK/strings.xml b/v7/appcompat/res/values-zh-rHK/strings.xml
index 2e37307..f6a367d 100644
--- a/v7/appcompat/res/values-zh-rHK/strings.xml
+++ b/v7/appcompat/res/values-zh-rHK/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"瀏覽主頁"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"向上瀏覽"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"更多選項"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"收合"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s:%2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s (%2$s):%3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"搜尋"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"搜尋…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"搜尋查詢"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"清除查詢"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"提交查詢"</string>
diff --git a/v7/appcompat/res/values-zh-rTW/strings.xml b/v7/appcompat/res/values-zh-rTW/strings.xml
index 41a9401..c804ccf 100644
--- a/v7/appcompat/res/values-zh-rTW/strings.xml
+++ b/v7/appcompat/res/values-zh-rTW/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"瀏覽首頁"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"向上瀏覽"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"更多選項"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"收合"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s:%2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s - %2$s:%3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"搜尋"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"搜尋…"</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"搜尋查詢"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"清除查詢"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"提交查詢"</string>
diff --git a/v7/appcompat/res/values-zu/strings.xml b/v7/appcompat/res/values-zu/strings.xml
index 48d586b..92eac7e 100644
--- a/v7/appcompat/res/values-zu/strings.xml
+++ b/v7/appcompat/res/values-zu/strings.xml
@@ -20,11 +20,7 @@
<string name="abc_action_bar_home_description" msgid="4600421777120114993">"Zulazulela ekhaya"</string>
<string name="abc_action_bar_up_description" msgid="1594238315039666878">"Zulazulela phezulu"</string>
<string name="abc_action_menu_overflow_description" msgid="3588849162933574182">"Izinketho eziningi"</string>
- <string name="abc_toolbar_collapse_description" msgid="1603543279005712093">"Goqa"</string>
- <string name="abc_action_bar_home_description_format" msgid="1397052879051804371">"%1$s, %2$s"</string>
- <string name="abc_action_bar_home_subtitle_description_format" msgid="6623331958280229229">"%1$s, %2$s, %3$s"</string>
<string name="abc_searchview_description_search" msgid="8264924765203268293">"Sesha"</string>
- <string name="abc_search_hint" msgid="7723749260725869598">"Iyasesha..."</string>
<string name="abc_searchview_description_query" msgid="2550479030709304392">"Umbuzo wosesho"</string>
<string name="abc_searchview_description_clear" msgid="3691816814315814921">"Sula inkinga"</string>
<string name="abc_searchview_description_submit" msgid="8928215447528550784">"Hambisa umbuzo"</string>
diff --git a/v7/appcompat/src/android/support/v7/widget/SwitchCompat.java b/v7/appcompat/src/android/support/v7/widget/SwitchCompat.java
index 568fda1..9c53920 100644
--- a/v7/appcompat/src/android/support/v7/widget/SwitchCompat.java
+++ b/v7/appcompat/src/android/support/v7/widget/SwitchCompat.java
@@ -604,7 +604,8 @@
: text;
return new StaticLayout(transformed, mTextPaint,
- (int) Math.ceil(Layout.getDesiredWidth(transformed, mTextPaint)),
+ transformed != null ?
+ (int) Math.ceil(Layout.getDesiredWidth(transformed, mTextPaint)) : 0,
Layout.Alignment.ALIGN_NORMAL, 1.f, 0, true);
}
diff --git a/v7/mediarouter/res/values-af/strings.xml b/v7/mediarouter/res/values-af/strings.xml
index 0dcfa86..885af10 100644
--- a/v7/mediarouter/res/values-af/strings.xml
+++ b/v7/mediarouter/res/values-af/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Stelsel"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Toestelle"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Saai uit"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Media-uitvoer"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Koppel aan toestel"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Soek tans vir toestelle…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Ontkoppel"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Hou op uitsaai"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Roete-instellings"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Speel"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Laat wag"</string>
</resources>
diff --git a/v7/mediarouter/res/values-am/strings.xml b/v7/mediarouter/res/values-am/strings.xml
index 5d061c9..0027737 100644
--- a/v7/mediarouter/res/values-am/strings.xml
+++ b/v7/mediarouter/res/values-am/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"ስርዓት"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"መሣሪያዎች"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"ውሰድ"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"የሚዲያ ውፅዓት"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"ከመሳሪያ ጋር ያገናኙ"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"መሳሪያዎችን በመፈለግ ላይ…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"ግንኙነት አቋርጥ"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"መውሰድ አቁም"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"የመንገድ ቅንብሮች"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"አጫውት"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"ለአፍታ አቁም"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ar/strings.xml b/v7/mediarouter/res/values-ar/strings.xml
index ac0fb5d..9289a35 100644
--- a/v7/mediarouter/res/values-ar/strings.xml
+++ b/v7/mediarouter/res/values-ar/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"النظام"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"الأجهزة"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"إرسال"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"المنفذ الإعلامي"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"الاتصال بجهاز"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"جارٍ البحث عن الأجهزة…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"قطع الاتصال"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"إيقاف الإرسال"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"إعدادات المسار"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"تشغيل"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"إيقاف مؤقت"</string>
</resources>
diff --git a/v7/mediarouter/res/values-bg/strings.xml b/v7/mediarouter/res/values-bg/strings.xml
index 0918332..ff1401e 100644
--- a/v7/mediarouter/res/values-bg/strings.xml
+++ b/v7/mediarouter/res/values-bg/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Система"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Устройства"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Предаване"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Изходяща мултимедия"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Свързване с устройство"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Търсят се устройства…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Прекратяване на връзката"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Спиране на предаването"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Настройки за маршрута"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Пускане"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Поставяне на пауза"</string>
</resources>
diff --git a/v7/mediarouter/res/values-bn-rBD/strings.xml b/v7/mediarouter/res/values-bn-rBD/strings.xml
index de862e5..d0b2c32 100644
--- a/v7/mediarouter/res/values-bn-rBD/strings.xml
+++ b/v7/mediarouter/res/values-bn-rBD/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"সিস্টেম"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"ডিভাইসগুলি"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"কাস্ট করুন"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"মিডিয়া আউটপুট"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"ডিভাইসে সংযোগ করুন"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"ডিভাইসগুলি অনুসন্ধান করা হচ্ছে…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"সংযোগ বিচ্ছিন্ন করুন"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"কাস্ট করা বন্ধ করুন"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"সেটিংস রুট করুন"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"চালান"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"বিরাম দিন"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ca/strings.xml b/v7/mediarouter/res/values-ca/strings.xml
index eac6632..dd485de 100644
--- a/v7/mediarouter/res/values-ca/strings.xml
+++ b/v7/mediarouter/res/values-ca/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistema"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Dispositius"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Emet"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Sortida de contingut multimèdia"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Connecta al dispositiu"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"S\'estan cercant dispositius…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Desconnecta"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Atura l\'emissió"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Configuració de la ruta"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Reprodueix"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Posa en pausa"</string>
</resources>
diff --git a/v7/mediarouter/res/values-cs/strings.xml b/v7/mediarouter/res/values-cs/strings.xml
index 111c02a..4687100 100644
--- a/v7/mediarouter/res/values-cs/strings.xml
+++ b/v7/mediarouter/res/values-cs/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Systém"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Zařízení"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Odeslat"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Výstup médií"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Připojení k zařízení"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Vyhledávání zařízení…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Odpojit"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Ukončit odesílání"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Nastavení trasy"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Přehrát"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pozastavit"</string>
</resources>
diff --git a/v7/mediarouter/res/values-da/strings.xml b/v7/mediarouter/res/values-da/strings.xml
index 3b4fbf6..fd3b0fb 100644
--- a/v7/mediarouter/res/values-da/strings.xml
+++ b/v7/mediarouter/res/values-da/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"System"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Enheder"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Cast"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Medieudgang"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Opret forbindelse til enheden"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Søger efter enheder..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Afbryd forbindelsen"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Stop med at caste"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Ruteindstillinger"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Afspil"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Sæt på pause"</string>
</resources>
diff --git a/v7/mediarouter/res/values-de/strings.xml b/v7/mediarouter/res/values-de/strings.xml
index 5b8e494..9df0ebf 100644
--- a/v7/mediarouter/res/values-de/strings.xml
+++ b/v7/mediarouter/res/values-de/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"System"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Geräte"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Übertragen"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Medienausgabe"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Mit Gerät verbinden"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Geräte werden gesucht…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Verbindung aufheben"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Übertragung stoppen"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Routingeinstellungen"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Wiedergabe"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pause"</string>
</resources>
diff --git a/v7/mediarouter/res/values-el/strings.xml b/v7/mediarouter/res/values-el/strings.xml
index 3640111..5a61395 100644
--- a/v7/mediarouter/res/values-el/strings.xml
+++ b/v7/mediarouter/res/values-el/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Σύστημα"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Συσκευές"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Μετάδοση"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Έξοδος μέσων"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Σύνδεση με τη συσκευή"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Αναζήτηση συσκευών…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Αποσύνδεση"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Διακοπή μετάδοσης"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Ρυθμίσεις διαδρομής"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Αναπαραγωγή"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Παύση"</string>
</resources>
diff --git a/v7/mediarouter/res/values-en-rGB/strings.xml b/v7/mediarouter/res/values-en-rGB/strings.xml
index f5a8531..b9af4bf 100644
--- a/v7/mediarouter/res/values-en-rGB/strings.xml
+++ b/v7/mediarouter/res/values-en-rGB/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"System"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Devices"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Cast"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Media output"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Connect to device"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Searching for devices…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Disconnect"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Stop casting"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Route settings"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Play"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pause"</string>
</resources>
diff --git a/v7/mediarouter/res/values-en-rIN/strings.xml b/v7/mediarouter/res/values-en-rIN/strings.xml
index f5a8531..b9af4bf 100644
--- a/v7/mediarouter/res/values-en-rIN/strings.xml
+++ b/v7/mediarouter/res/values-en-rIN/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"System"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Devices"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Cast"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Media output"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Connect to device"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Searching for devices…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Disconnect"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Stop casting"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Route settings"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Play"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pause"</string>
</resources>
diff --git a/v7/mediarouter/res/values-es-rUS/strings.xml b/v7/mediarouter/res/values-es-rUS/strings.xml
index e1cf915..211b400 100644
--- a/v7/mediarouter/res/values-es-rUS/strings.xml
+++ b/v7/mediarouter/res/values-es-rUS/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistema"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Dispositivos"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Transmitir"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Salida multimedia"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Conectar al dispositivo"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Buscando dispositivos…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Desconectar"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Detener transmisión"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Configuración de ruta"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Reproducir"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pausar"</string>
</resources>
diff --git a/v7/mediarouter/res/values-es/strings.xml b/v7/mediarouter/res/values-es/strings.xml
index 0f2a8ea..d3a1639 100644
--- a/v7/mediarouter/res/values-es/strings.xml
+++ b/v7/mediarouter/res/values-es/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistema"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Dispositivos"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Enviar contenido"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Salida multimedia"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Conectar a dispositivo"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Buscando dispositivos…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Desconectar"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Dejar de enviar contenido"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Ajustes de ruta"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Reproducir"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pausa"</string>
</resources>
diff --git a/v7/mediarouter/res/values-et-rEE/strings.xml b/v7/mediarouter/res/values-et-rEE/strings.xml
index ebc63fd..7dbdf74 100644
--- a/v7/mediarouter/res/values-et-rEE/strings.xml
+++ b/v7/mediarouter/res/values-et-rEE/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Süsteem"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Seadmed"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Ülekandmine"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Meediaväljund"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Seadmega ühendamine"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Seadmete otsimine …"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Katkesta ühendus"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Lõpeta ülekanne"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Marsruudi seaded"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Esitamine"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Peatamine"</string>
</resources>
diff --git a/v7/mediarouter/res/values-eu-rES/strings.xml b/v7/mediarouter/res/values-eu-rES/strings.xml
index d177a55..728672d 100644
--- a/v7/mediarouter/res/values-eu-rES/strings.xml
+++ b/v7/mediarouter/res/values-eu-rES/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistema"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Gailuak"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Igorri"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Multimedia-irteera"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Konektatu gailura"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Gailuak bilatzen…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Deskonektatu"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Utzi igortzeari"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Ibilbidearen ezarpenak"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Erreproduzitu"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pausatu"</string>
</resources>
diff --git a/v7/mediarouter/res/values-fa/strings.xml b/v7/mediarouter/res/values-fa/strings.xml
index e094982..2ffed50 100644
--- a/v7/mediarouter/res/values-fa/strings.xml
+++ b/v7/mediarouter/res/values-fa/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"سیستم"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"دستگاهها"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"فرستادن"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"خروجی رسانه"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"برقراری ارتباط با دستگاه"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"در حال جستجو برای دستگاهها..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"قطع ارتباط"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"توقف فرستادن"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"تنظیمات مسیر"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"پخش"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"توقف موقت"</string>
</resources>
diff --git a/v7/mediarouter/res/values-fi/strings.xml b/v7/mediarouter/res/values-fi/strings.xml
index a21dc91..0692c2f 100644
--- a/v7/mediarouter/res/values-fi/strings.xml
+++ b/v7/mediarouter/res/values-fi/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Järjestelmä"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Laitteet"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Lähetä"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Median äänentoisto"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Yhdistä laitteeseen"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Etsitään laitteita…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Katkaise yhteys"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Lopeta suoratoisto"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Reitin asetukset"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Toista"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Keskeytä"</string>
</resources>
diff --git a/v7/mediarouter/res/values-fr-rCA/strings.xml b/v7/mediarouter/res/values-fr-rCA/strings.xml
index 0655526..9fa3c9c 100644
--- a/v7/mediarouter/res/values-fr-rCA/strings.xml
+++ b/v7/mediarouter/res/values-fr-rCA/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Système"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Appareils"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Diffuser"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Sortie multimédia"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Connexion au périphérique"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Recherche d\'appareils en cours…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Déconnecter"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Arrêter la diffusion"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Paramètres de l\'itinéraire"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Lecture"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Suspendre"</string>
</resources>
diff --git a/v7/mediarouter/res/values-fr/strings.xml b/v7/mediarouter/res/values-fr/strings.xml
index 9fce08a..5607a1c 100644
--- a/v7/mediarouter/res/values-fr/strings.xml
+++ b/v7/mediarouter/res/values-fr/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Système"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Appareils"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Caster"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Sortie multimédia"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Connecter à l\'appareil"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Recherche d\'appareils en cours…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Déconnecter"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Arrêter la diffusion"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Paramètres de l\'itinéraire"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Lecture"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pause"</string>
</resources>
diff --git a/v7/mediarouter/res/values-gl-rES/strings.xml b/v7/mediarouter/res/values-gl-rES/strings.xml
index d1d73f9..d700c14 100644
--- a/v7/mediarouter/res/values-gl-rES/strings.xml
+++ b/v7/mediarouter/res/values-gl-rES/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistema"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Dispositivos"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Emitir"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Saída multimedia"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Conectar co dispositivo"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Buscando dispositivos…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Desconectar"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Parar de emitir"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Configuración da ruta"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Reproduce"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pausa"</string>
</resources>
diff --git a/v7/mediarouter/res/values-hi/strings.xml b/v7/mediarouter/res/values-hi/strings.xml
index 6d100ea..8acc2bb 100644
--- a/v7/mediarouter/res/values-hi/strings.xml
+++ b/v7/mediarouter/res/values-hi/strings.xml
@@ -17,13 +17,9 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"सिस्टम"</string>
- <string name="mr_user_route_category_name" msgid="7498112907524977311">"डिवाइस"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"कास्ट करें"</string>
- <string name="mr_media_route_chooser_title" msgid="7106830097177242655">"डिवाइस से कनेक्ट करें"</string>
- <string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"डिवाइस की खोज हो रही है…"</string>
+ <string name="mr_user_route_category_name" msgid="7498112907524977311">"उपकरण"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"मीडिया आउटपुट"</string>
+ <string name="mr_media_route_chooser_title" msgid="7106830097177242655">"उपकरण से कनेक्ट करें"</string>
+ <string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"उपकरणों की खोज हो रही है…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"डिस्कनेक्ट करें"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"कास्ट करना बंद करें"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"मार्ग सेटिंग"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"चलाएं"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"रोकें"</string>
</resources>
diff --git a/v7/mediarouter/res/values-hr/strings.xml b/v7/mediarouter/res/values-hr/strings.xml
index 74e9270..2946433 100644
--- a/v7/mediarouter/res/values-hr/strings.xml
+++ b/v7/mediarouter/res/values-hr/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sustav"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Uređaji"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Emitiranje"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Medijski izlaz"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Povezivanje s uređajem"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Traženje uređaja…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Prekini vezu"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Zaustavi emitiranje"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Postavke rute"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Reprodukcija"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pauziraj"</string>
</resources>
diff --git a/v7/mediarouter/res/values-hu/strings.xml b/v7/mediarouter/res/values-hu/strings.xml
index efbc193..b68fe16 100644
--- a/v7/mediarouter/res/values-hu/strings.xml
+++ b/v7/mediarouter/res/values-hu/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Rendszer"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Eszközök"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Tartalomátküldés"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Médiakimenet"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Csatlakozás adott eszközhöz"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Eszközkeresés…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Leválasztás"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Átküldés leállítása"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Útvonal-beállítások"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Indítás"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Szüneteltetés"</string>
</resources>
diff --git a/v7/mediarouter/res/values-hy-rAM/strings.xml b/v7/mediarouter/res/values-hy-rAM/strings.xml
index faa6020..77f1136 100644
--- a/v7/mediarouter/res/values-hy-rAM/strings.xml
+++ b/v7/mediarouter/res/values-hy-rAM/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Համակարգ"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Սարքեր"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Հեռարձակում"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Մեդիա արտածում"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Միանալ սարքին"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Որոնվում են սարքեր..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Անջատել"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Դադարեցնել հեռարձակումը"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Ֆայլերի փոխանցման կարգավորումներ"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Նվագարկել"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Դադար"</string>
</resources>
diff --git a/v7/mediarouter/res/values-in/strings.xml b/v7/mediarouter/res/values-in/strings.xml
index e3123c1..1d3b387 100644
--- a/v7/mediarouter/res/values-in/strings.xml
+++ b/v7/mediarouter/res/values-in/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistem"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Perangkat"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Transmisi"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Keluaran media"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Sambungkan ke perangkat"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Menelusuri perangkat…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Putuskan sambungan"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Hentikan transmisi"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Setelan rute"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Putar"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Jeda"</string>
</resources>
diff --git a/v7/mediarouter/res/values-is-rIS/strings.xml b/v7/mediarouter/res/values-is-rIS/strings.xml
index 262e4e9..45d7329 100644
--- a/v7/mediarouter/res/values-is-rIS/strings.xml
+++ b/v7/mediarouter/res/values-is-rIS/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Kerfi"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Tæki"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Senda út"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Margmiðlunarúttak"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Tengjast tæki"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Leitar að tækjum…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Aftengja"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Stöðva útsendingu"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Leiðarstillingar"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Spila"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Hlé"</string>
</resources>
diff --git a/v7/mediarouter/res/values-it/strings.xml b/v7/mediarouter/res/values-it/strings.xml
index bedd617..bd58755 100644
--- a/v7/mediarouter/res/values-it/strings.xml
+++ b/v7/mediarouter/res/values-it/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistema"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Dispositivi"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Trasmetti"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Uscita media"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Connetti al dispositivo"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Ricerca di dispositivi…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Disconnetti"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Interrompi trasmissione"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Impostazioni percorso"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Riproduci"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pausa"</string>
</resources>
diff --git a/v7/mediarouter/res/values-iw/strings.xml b/v7/mediarouter/res/values-iw/strings.xml
index 12d17b9..59753b4 100644
--- a/v7/mediarouter/res/values-iw/strings.xml
+++ b/v7/mediarouter/res/values-iw/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"מערכת"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"מכשירים"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"העבר"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"פלט מדיה"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"התחבר למכשיר"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"מחפש מכשירים…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"התנתק"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"עצור העברה"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"הגדרות נתיב"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"הפעל"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"השהה"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ja/strings.xml b/v7/mediarouter/res/values-ja/strings.xml
index e97a65a..1367489 100644
--- a/v7/mediarouter/res/values-ja/strings.xml
+++ b/v7/mediarouter/res/values-ja/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"システム"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"端末"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"キャスト"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"メディア出力"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"端末に接続"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"端末を検索しています…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"接続を解除"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"キャストを停止"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"ルーティング設定"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"再生"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"一時停止"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ka-rGE/strings.xml b/v7/mediarouter/res/values-ka-rGE/strings.xml
index 758fe73..413257e 100644
--- a/v7/mediarouter/res/values-ka-rGE/strings.xml
+++ b/v7/mediarouter/res/values-ka-rGE/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"სისტემა"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"მოწყობილობები"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"მსახიობები"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"მედია გამოსასვლელი"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"მოწყობილობასთან დაკავშირება"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"მოწყობილობების ძიება…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"კავშირის გაწყვეტა"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"ტრანსლაციის შეჩერება"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"მარშრუტის პარამეტრები"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"დაკვრა"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"პაუზა"</string>
</resources>
diff --git a/v7/mediarouter/res/values-kk-rKZ/strings.xml b/v7/mediarouter/res/values-kk-rKZ/strings.xml
index c549a8c..e8da02a 100644
--- a/v7/mediarouter/res/values-kk-rKZ/strings.xml
+++ b/v7/mediarouter/res/values-kk-rKZ/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Жүйе"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Құрылғылар"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Трансляциялау"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Meдиа құрылғылары"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Құрылғыға жалғау"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Құрылғыларды іздеуде…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Ажырату"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Трансляциялауды тоқтату"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Жол параметрлері"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Ойнату"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Кідірту"</string>
</resources>
diff --git a/v7/mediarouter/res/values-km-rKH/strings.xml b/v7/mediarouter/res/values-km-rKH/strings.xml
index b3e53c5..e001dde 100644
--- a/v7/mediarouter/res/values-km-rKH/strings.xml
+++ b/v7/mediarouter/res/values-km-rKH/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"ប្រព័ន្ធ"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"ឧបករណ៍"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"បញ្ជូន"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"លទ្ធផលមេឌៀ"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"ភ្ជាប់ឧបករណ៍"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"កំពុងស្វែងរកឧបករណ៍..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"ផ្ដាច់"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"បញ្ឈប់ការខាស"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"ការកំណត់ផ្លូវ"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"ចាក់"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"ផ្អាក"</string>
</resources>
diff --git a/v7/mediarouter/res/values-kn-rIN/strings.xml b/v7/mediarouter/res/values-kn-rIN/strings.xml
index 36c3aaa..147ebc8 100644
--- a/v7/mediarouter/res/values-kn-rIN/strings.xml
+++ b/v7/mediarouter/res/values-kn-rIN/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"ಸಿಸ್ಟಂ"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"ಸಾಧನಗಳು"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"ಪಾತ್ರ"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"ಮಾಧ್ಯಮ ಔಟ್ಪುಟ್"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"ಸಾಧನಕ್ಕೆ ಸಂಪರ್ಕಪಡಿಸಿ"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"ಸಾಧನಗಳನ್ನು ಹುಡುಕಲಾಗುತ್ತಿದೆ…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸು"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"ಬಿತ್ತರಿಸುವಿಕೆ ನಿಲ್ಲಿಸು"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"ಮಾರ್ಗ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"ಪ್ಲೇ ಮಾಡು"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"ವಿರಾಮ"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ko/strings.xml b/v7/mediarouter/res/values-ko/strings.xml
index d165e52..21f82a0 100644
--- a/v7/mediarouter/res/values-ko/strings.xml
+++ b/v7/mediarouter/res/values-ko/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"시스템"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"기기"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"전송"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"미디어 출력"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"기기에 연결"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"기기 검색 중…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"연결 해제"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"전송 중지"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"경로 설정"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"재생"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"일시중지"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ky-rKG/strings.xml b/v7/mediarouter/res/values-ky-rKG/strings.xml
index 1f7aba0..4a587ac 100644
--- a/v7/mediarouter/res/values-ky-rKG/strings.xml
+++ b/v7/mediarouter/res/values-ky-rKG/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Систем"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Түзмөктөр"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Тандалгандар"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Медиа чыгаруу"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Түзмөккө туташуу"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Түзмөктөр изделүүдө..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Ажыратуу"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Тышк экранга чыгарну токтотуу"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Багыт жөндөөлөрү"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Ойнотуу"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Тындыруу"</string>
</resources>
diff --git a/v7/mediarouter/res/values-lo-rLA/strings.xml b/v7/mediarouter/res/values-lo-rLA/strings.xml
index 6d61f7d..31a03cd 100644
--- a/v7/mediarouter/res/values-lo-rLA/strings.xml
+++ b/v7/mediarouter/res/values-lo-rLA/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"ລະບົບ"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"ອຸປະກອນ"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"ສົ່ງສັນຍານ"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"ມີເດຍເອົ້າພຸດ"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"ເຊື່ອມຕໍ່ຫາອຸປະກອນ"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"ກຳລັງຊອກຫາອຸປະກອນ..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"ຕັດການເຊື່ອມຕໍ່"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"ຢຸດການສົ່ງສັນຍານ"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"ການຕັ້ງຄ່າເສັ້ນທາງ"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"ຫຼິ້ນ"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"ຢຸດຊົ່ວຄາວ"</string>
</resources>
diff --git a/v7/mediarouter/res/values-lt/strings.xml b/v7/mediarouter/res/values-lt/strings.xml
index 2315618..ead3b73 100644
--- a/v7/mediarouter/res/values-lt/strings.xml
+++ b/v7/mediarouter/res/values-lt/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistema"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Įrenginiai"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Perduoti"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Medijos išvestis"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Prijungimas prie įrenginio"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Ieškoma įrenginių…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Atjungti"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Sustabdyti perdavimą"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Maršruto nustatymai"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Leisti"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pristabdyti"</string>
</resources>
diff --git a/v7/mediarouter/res/values-lv/strings.xml b/v7/mediarouter/res/values-lv/strings.xml
index 93e45de..0914990 100644
--- a/v7/mediarouter/res/values-lv/strings.xml
+++ b/v7/mediarouter/res/values-lv/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistēma"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Ierīces"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Apraidīt"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Multivides izeja"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Savienojuma izveide ar ierīci"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Notiek ierīču meklēšana..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Atvienot"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Pārtraukt apraidi"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Maršruta iestatījumi"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Atskaņot"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Apturēt"</string>
</resources>
diff --git a/v7/mediarouter/res/values-mk-rMK/strings.xml b/v7/mediarouter/res/values-mk-rMK/strings.xml
index 9b3f875..363f16b 100644
--- a/v7/mediarouter/res/values-mk-rMK/strings.xml
+++ b/v7/mediarouter/res/values-mk-rMK/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Систем"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Уреди"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Емитувај"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Излез за медиум"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Поврзи се со уредот"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Се пребаруваат уреди..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Исклучи се"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Запри префрлување"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Поставки на маршрутата"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Репродуцирај"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Пауза"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ml-rIN/strings.xml b/v7/mediarouter/res/values-ml-rIN/strings.xml
index 64c74b1..d20ba1d 100644
--- a/v7/mediarouter/res/values-ml-rIN/strings.xml
+++ b/v7/mediarouter/res/values-ml-rIN/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"സിസ്റ്റം"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"ഉപകരണങ്ങൾ"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"കാസ്റ്റുചെയ്യുക"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"മീഡിയ ഔട്ട്പുട്ട്"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"ഉപകരണത്തിലേക്ക് കണക്റ്റുചെയ്യുക"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"ഉപകരണങ്ങൾക്കായി തിരയുന്നു…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"വിച്ഛേദിക്കുക"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"കാസ്റ്റുചെയ്യൽ നിർത്തുക"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"റൂട്ട് ക്രമീകരണം"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"പ്ലേ ചെയ്യുക"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"താൽക്കാലികമായി നിർത്തുക"</string>
</resources>
diff --git a/v7/mediarouter/res/values-mn-rMN/strings.xml b/v7/mediarouter/res/values-mn-rMN/strings.xml
index 2074767..4eecdb4 100644
--- a/v7/mediarouter/res/values-mn-rMN/strings.xml
+++ b/v7/mediarouter/res/values-mn-rMN/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Систем"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Төхөөрөмжүүд"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Дамжуулах"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Медиа гаралт"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Төхөөрөмжтэй холбох"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Төхөөрөмжүүдийг хайж байна…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Салгах"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Нэвтрүүлэхийг зогсоох"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Маршрут тохиргоо"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Тоглуулах"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Түр зогсоох"</string>
</resources>
diff --git a/v7/mediarouter/res/values-mr-rIN/strings.xml b/v7/mediarouter/res/values-mr-rIN/strings.xml
index bd020a7..9187b5d 100644
--- a/v7/mediarouter/res/values-mr-rIN/strings.xml
+++ b/v7/mediarouter/res/values-mr-rIN/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"सिस्टम"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"डिव्हाइसेस"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"कास्ट करा"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"माध्यम आउटपुट"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"डिव्हाइसला कनेक्ट करा"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"डिव्हाइसेस शोधत आहे…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"डिस्कनेक्ट करा"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"कास्ट करणे थांबवा"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"मार्ग सेटिंग्ज"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"प्ले करा"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"विराम द्या"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ms-rMY/strings.xml b/v7/mediarouter/res/values-ms-rMY/strings.xml
index 05e9ffa..dadaa30 100644
--- a/v7/mediarouter/res/values-ms-rMY/strings.xml
+++ b/v7/mediarouter/res/values-ms-rMY/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistem"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Peranti"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Barisan pelakon"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Output media"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Sambung kepada peranti"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Mencari peranti..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Putuskan sambungan"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Berhenti menghantar"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Tetapan laluan"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Main"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Jeda"</string>
</resources>
diff --git a/v7/mediarouter/res/values-my-rMM/strings.xml b/v7/mediarouter/res/values-my-rMM/strings.xml
index 20bfd8d..c417d57 100644
--- a/v7/mediarouter/res/values-my-rMM/strings.xml
+++ b/v7/mediarouter/res/values-my-rMM/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"စနစ်"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"စက်ပစ္စည်းများ"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"သရုပ်ဆောင်များ"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"မီဒီယာထွက်ပေါက်"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"စက်တစ်ခုကို ချိတ်ဆက်ပါ"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"စက်ပစ္စည်းများကို ရှာဖွေနေပါသည်"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"ချိတ်ဆက်ခြင်းရပ်တန့်ရန်"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"ပုံစံသွင်းမှု ရပ်ရန်"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"လမ်းကြောင်း အပြင်အဆင်များ"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"ဖွင့်ရန်"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"ခဏရပ်ရန်"</string>
</resources>
diff --git a/v7/mediarouter/res/values-nb/strings.xml b/v7/mediarouter/res/values-nb/strings.xml
index 5ee8ec8..fa4d9a4 100644
--- a/v7/mediarouter/res/values-nb/strings.xml
+++ b/v7/mediarouter/res/values-nb/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"System"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Enheter"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Cast"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Medieutgang"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Koble til enheten"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Søker etter enheter …"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Koble fra"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Stopp castingen"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Ruteinnstillinger"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Spill av"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Sett på pause"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ne-rNP/strings.xml b/v7/mediarouter/res/values-ne-rNP/strings.xml
index aadcbcf..3fe9ac3 100644
--- a/v7/mediarouter/res/values-ne-rNP/strings.xml
+++ b/v7/mediarouter/res/values-ne-rNP/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"प्रणाली"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"उपकरणहरू"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"कास्ट"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"मिडियाको उत्पादन"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"उपकरणसँग जडान गर्नुहोस्"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"उपकरणहरूका लागि खोजी गरिँदै..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"विच्छेदन गर्नुहोस्"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"कास्टिंग रोक्नुहोस्"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"मार्ग सेटिङ"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"बजाउनुहोस्"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"रोक्नुहोस्"</string>
</resources>
diff --git a/v7/mediarouter/res/values-nl/strings.xml b/v7/mediarouter/res/values-nl/strings.xml
index fcfac4d..5572449 100644
--- a/v7/mediarouter/res/values-nl/strings.xml
+++ b/v7/mediarouter/res/values-nl/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Systeem"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Apparaten"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Casten"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Media-uitvoer"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Verbinding maken met apparaat"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Zoeken naar apparaten…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Verbinding verbreken"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Casten stoppen"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Route-instellingen"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Afspelen"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Onderbreken"</string>
</resources>
diff --git a/v7/mediarouter/res/values-pl/strings.xml b/v7/mediarouter/res/values-pl/strings.xml
index 34fea86..95a1d03 100644
--- a/v7/mediarouter/res/values-pl/strings.xml
+++ b/v7/mediarouter/res/values-pl/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"System"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Urządzenia"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Przesyłaj"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Wyjście multimediów"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Połącz z urządzeniem"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Szukam urządzeń…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Rozłącz"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Zakończ przesyłanie"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Ustawienia trasy"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Odtwórz"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Wstrzymaj"</string>
</resources>
diff --git a/v7/mediarouter/res/values-pt-rPT/strings.xml b/v7/mediarouter/res/values-pt-rPT/strings.xml
index 1e1dbbb..54b1dfc 100644
--- a/v7/mediarouter/res/values-pt-rPT/strings.xml
+++ b/v7/mediarouter/res/values-pt-rPT/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistema"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Dispositivos"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Transmitir"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Saída de som multimédia"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Ligar ao dispositivo"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"A pesquisar dispositivos…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Desassociar"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Parar a transmissão"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Definições de trajeto"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Reproduzir"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Colocar em pausa"</string>
</resources>
diff --git a/v7/mediarouter/res/values-pt/strings.xml b/v7/mediarouter/res/values-pt/strings.xml
index 67648a7..3ce1c38 100644
--- a/v7/mediarouter/res/values-pt/strings.xml
+++ b/v7/mediarouter/res/values-pt/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistema"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Dispositivos"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Transmitir"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Saída de mídia"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Conectar ao dispositivo"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Procurando dispositivos…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Desconectar"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Interromper transmissão"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Configurações de rota"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Reproduzir"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pausar"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ro/strings.xml b/v7/mediarouter/res/values-ro/strings.xml
index d738bab..4c9e4b9 100644
--- a/v7/mediarouter/res/values-ro/strings.xml
+++ b/v7/mediarouter/res/values-ro/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistem"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Dispozitive"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Trimiteți"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Rezultate media"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Conectați-vă la dispozitiv"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Se caută dispozitive..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Deconectați-vă"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Nu mai proiectați"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Setări pentru traseu"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Redați"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Întrerupeți"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ru/strings.xml b/v7/mediarouter/res/values-ru/strings.xml
index dfa836c..5cc2bba 100644
--- a/v7/mediarouter/res/values-ru/strings.xml
+++ b/v7/mediarouter/res/values-ru/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Система"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Устройства"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Транслировать."</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Перенаправлять поток мультимедиа"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Подключение к устройству"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Поиск устройств…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Отключить"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Остановить трансляцию"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Настройки передачи файлов"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Воспроизвести."</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Приостановить."</string>
</resources>
diff --git a/v7/mediarouter/res/values-si-rLK/strings.xml b/v7/mediarouter/res/values-si-rLK/strings.xml
index 1ac7319..2eba3c8 100644
--- a/v7/mediarouter/res/values-si-rLK/strings.xml
+++ b/v7/mediarouter/res/values-si-rLK/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"පද්ධතිය"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"උපාංග"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Cast"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"මාධ්ය ප්රතිදානය"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"උපාංගයට සම්බන්ධ වන්න"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"උපාංග සඳහා සොයමින්…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"විසන්ධි කරන්න"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"කාස්ට් කිරීම නවත්වන්න"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"ගමන් මගේ සැකසීම්"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"ධාවනය කරන්න"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"විරාමය"</string>
</resources>
diff --git a/v7/mediarouter/res/values-sk/strings.xml b/v7/mediarouter/res/values-sk/strings.xml
index 3156edf..668800f 100644
--- a/v7/mediarouter/res/values-sk/strings.xml
+++ b/v7/mediarouter/res/values-sk/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Systém"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Zariadenia"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Preniesť"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Výstup médií"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Pripojenie k zariadeniu"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Prebieha vyhľadávanie zariadení…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Odpojiť"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Zastaviť prenášanie"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Nastavenia trasy"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Prehrať"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pozastaviť"</string>
</resources>
diff --git a/v7/mediarouter/res/values-sl/strings.xml b/v7/mediarouter/res/values-sl/strings.xml
index 3de14aa..3e3e8bb 100644
--- a/v7/mediarouter/res/values-sl/strings.xml
+++ b/v7/mediarouter/res/values-sl/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistem"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Naprave"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Predvajanje"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Izhod za predstavnost"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Povezovanje z napravo"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Iskanje naprav …"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Prekini povezavo"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Ustavi predvajanje"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Nastavitve poti"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Predvajaj"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Zaustavi"</string>
</resources>
diff --git a/v7/mediarouter/res/values-sr/strings.xml b/v7/mediarouter/res/values-sr/strings.xml
index de10685..320f3e8 100644
--- a/v7/mediarouter/res/values-sr/strings.xml
+++ b/v7/mediarouter/res/values-sr/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Систем"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Уређаји"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Пребацуј"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Излаз медија"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Повежите са уређајем"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Претраживање уређаја…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Прекини везу"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Заустави пребацивање"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Подешавања путање"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Пусти"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Паузирај"</string>
</resources>
diff --git a/v7/mediarouter/res/values-sv/strings.xml b/v7/mediarouter/res/values-sv/strings.xml
index 3ac428a..910c6f1 100644
--- a/v7/mediarouter/res/values-sv/strings.xml
+++ b/v7/mediarouter/res/values-sv/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"System"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Enheter"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Casta"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Medieuppspelning"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Anslut till enhet"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Söker efter enheter ..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Koppla från"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Sluta casta"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Inställningar för omdirigering"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Spela upp"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Pausa"</string>
</resources>
diff --git a/v7/mediarouter/res/values-sw/strings.xml b/v7/mediarouter/res/values-sw/strings.xml
index 00ce337..fcbc590 100644
--- a/v7/mediarouter/res/values-sw/strings.xml
+++ b/v7/mediarouter/res/values-sw/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Mfumo"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Vifaa"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Tuma"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Towe la vyombo vya habari"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Unganisha kwenye kifaa"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Inatafuta vifaa..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Tenganisha"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Acha kutuma"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Mipangilio ya njia"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Google Play"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Sitisha"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ta-rIN/strings.xml b/v7/mediarouter/res/values-ta-rIN/strings.xml
index f92c432..d5d1386 100644
--- a/v7/mediarouter/res/values-ta-rIN/strings.xml
+++ b/v7/mediarouter/res/values-ta-rIN/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"அமைப்பு"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"சாதனங்கள்"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"அனுப்பு"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"மீடியா வெளியீடு"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"சாதனத்துடன் இணைக்கவும்"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"சாதனங்களைத் தேடுகிறது..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"துண்டி"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"அனுப்புவதை நிறுத்து"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"வழி அமைப்புகள்"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"இயக்கு"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"இடைநிறுத்து"</string>
</resources>
diff --git a/v7/mediarouter/res/values-te-rIN/strings.xml b/v7/mediarouter/res/values-te-rIN/strings.xml
index 0913420..9fa6e90 100644
--- a/v7/mediarouter/res/values-te-rIN/strings.xml
+++ b/v7/mediarouter/res/values-te-rIN/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"సిస్టమ్"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"పరికరాలు"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"ప్రసారం చేయండి"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"మీడియా అవుట్పుట్"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"పరికరానికి కనెక్ట్ చేయండి"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"పరికరాల కోసం శోధిస్తోంది…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"డిస్కనెక్ట్ చేయి"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"ప్రసారాన్ని ఆపివేయి"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"మార్గ సెట్టింగ్లు"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"ప్లే చేయి"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"పాజ్ చేయి"</string>
</resources>
diff --git a/v7/mediarouter/res/values-th/strings.xml b/v7/mediarouter/res/values-th/strings.xml
index 31fc9c7..78e5a73 100644
--- a/v7/mediarouter/res/values-th/strings.xml
+++ b/v7/mediarouter/res/values-th/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"ระบบ"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"อุปกรณ์"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"ส่ง"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"เอาต์พุตสื่อ"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"เชื่อมต่อกับอุปกรณ์"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"กำลังค้นหาอุปกรณ์…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"ยกเลิกการเชื่อมต่อ"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"หยุดการส่ง"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"การตั้งค่าเส้นทาง"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"เล่น"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"หยุดชั่วคราว"</string>
</resources>
diff --git a/v7/mediarouter/res/values-tl/strings.xml b/v7/mediarouter/res/values-tl/strings.xml
index d4896b5..0953787 100644
--- a/v7/mediarouter/res/values-tl/strings.xml
+++ b/v7/mediarouter/res/values-tl/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"System"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Mga Device"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"I-cast"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Output ng media"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Kumonekta sa device"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Naghahanap ng mga device…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Idiskonekta"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Itigil ang pagca-cast"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Mga setting ng ruta"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"I-play"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"I-pause"</string>
</resources>
diff --git a/v7/mediarouter/res/values-tr/strings.xml b/v7/mediarouter/res/values-tr/strings.xml
index 05344ff..12faaa6 100644
--- a/v7/mediarouter/res/values-tr/strings.xml
+++ b/v7/mediarouter/res/values-tr/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Sistem"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Cihazlar"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Yayınla"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Medya çıkışı"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Cihaza bağlanın"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Cihaz arayın…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Bağlantıyı kes"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Yayını durdur"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Rota ayarları"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Oynat"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Duraklat"</string>
</resources>
diff --git a/v7/mediarouter/res/values-uk/strings.xml b/v7/mediarouter/res/values-uk/strings.xml
index b445b9c..b036dea 100644
--- a/v7/mediarouter/res/values-uk/strings.xml
+++ b/v7/mediarouter/res/values-uk/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Система"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Пристрої"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Транслювати"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Вивід медіа-даних"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Під’єднатися до пристрою"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Пошук пристроїв…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Від’єднатися"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Зупинити трансляцію"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Налаштування маршруту"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Відтворити"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Призупинити"</string>
</resources>
diff --git a/v7/mediarouter/res/values-ur-rPK/strings.xml b/v7/mediarouter/res/values-ur-rPK/strings.xml
index e6ce4d6..bce0e0c 100644
--- a/v7/mediarouter/res/values-ur-rPK/strings.xml
+++ b/v7/mediarouter/res/values-ur-rPK/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"سسٹم"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"آلات"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"کاسٹ کریں"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"میڈیا آؤٹ پٹ"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"آلہ سے مربوط ہوں"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"آلات تلاش کر رہا ہے…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"غیر مربوط کریں"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"کاسٹ کرنا بند کریں"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"روٹ کی ترتیبات"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"چلائیں"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"موقوف کریں"</string>
</resources>
diff --git a/v7/mediarouter/res/values-uz-rUZ/strings.xml b/v7/mediarouter/res/values-uz-rUZ/strings.xml
index d2829ee..f191fd9 100644
--- a/v7/mediarouter/res/values-uz-rUZ/strings.xml
+++ b/v7/mediarouter/res/values-uz-rUZ/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Tizim"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Qurilmalar"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Translatsiya qilish"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Media chiqish"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Qurilmaga ulanish"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Qurilmalar izlanmoqda…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Uzish"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Translatsiyani to‘xtatish"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Yo‘naltirish sozlamalari"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Ijro qilish"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"To‘xtatib turish"</string>
</resources>
diff --git a/v7/mediarouter/res/values-vi/strings.xml b/v7/mediarouter/res/values-vi/strings.xml
index 01ec106..a58d0e4 100644
--- a/v7/mediarouter/res/values-vi/strings.xml
+++ b/v7/mediarouter/res/values-vi/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Hệ thống"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Thiết bị"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Truyền"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Đầu ra phương tiện"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Kết nối với thiết bị"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Đang tìm kiếm thiết bị…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Ngắt kết nối"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Ngừng truyền"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Cài đặt tuyến đường"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Phát"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Tạm dừng"</string>
</resources>
diff --git a/v7/mediarouter/res/values-zh-rCN/strings.xml b/v7/mediarouter/res/values-zh-rCN/strings.xml
index 070f1de..71c4407 100644
--- a/v7/mediarouter/res/values-zh-rCN/strings.xml
+++ b/v7/mediarouter/res/values-zh-rCN/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"系统"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"设备"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"投射"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"媒体输出线路"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"连接到设备"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"正在搜索设备…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"断开连接"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"停止投射"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"路由设置"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"播放"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"暂停"</string>
</resources>
diff --git a/v7/mediarouter/res/values-zh-rHK/strings.xml b/v7/mediarouter/res/values-zh-rHK/strings.xml
index a73d636..f499169 100644
--- a/v7/mediarouter/res/values-zh-rHK/strings.xml
+++ b/v7/mediarouter/res/values-zh-rHK/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"系統"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"裝置"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"投放"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"媒體輸出"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"連線至裝置"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"正在搜尋裝置…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"中斷連線"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"停止投放"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"路由設定"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"播放"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"暫停"</string>
</resources>
diff --git a/v7/mediarouter/res/values-zh-rTW/strings.xml b/v7/mediarouter/res/values-zh-rTW/strings.xml
index cb07c25..a847615 100644
--- a/v7/mediarouter/res/values-zh-rTW/strings.xml
+++ b/v7/mediarouter/res/values-zh-rTW/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"系統"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"裝置"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"投放"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"媒體輸出"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"連線至裝置"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"正在搜尋裝置..."</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"中斷連線"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"停止投放"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"路由設定"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"播放"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"暫停"</string>
</resources>
diff --git a/v7/mediarouter/res/values-zu/strings.xml b/v7/mediarouter/res/values-zu/strings.xml
index 24f0a37..be195be 100644
--- a/v7/mediarouter/res/values-zu/strings.xml
+++ b/v7/mediarouter/res/values-zu/strings.xml
@@ -18,12 +18,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="mr_system_route_name" msgid="5441529851481176817">"Isistimu"</string>
<string name="mr_user_route_category_name" msgid="7498112907524977311">"Amadivayisi"</string>
- <string name="mr_media_route_button_content_description" msgid="8327680881775995150">"Abalingisi"</string>
+ <string name="mr_media_route_button_content_description" msgid="4271159405637008602">"Okukhiphayo kwabezindaba"</string>
<string name="mr_media_route_chooser_title" msgid="7106830097177242655">"Xhumeka kudivayisi"</string>
<string name="mr_media_route_chooser_searching" msgid="7553005460920830010">"Iseshela amadivayisi…"</string>
<string name="mr_media_route_controller_disconnect" msgid="109793632378378069">"Nqamula"</string>
- <string name="mr_media_route_controller_stop" msgid="5398645111664294430">"Misa ukusakaza"</string>
- <string name="mr_media_route_controller_settings_description" msgid="379358765881274425">"Izilungiselelo zomzila"</string>
- <string name="mr_media_route_controller_play" msgid="5214423499524760404">"Dlala"</string>
- <string name="mr_media_route_controller_pause" msgid="8315773974194466049">"Misa isikhashana"</string>
</resources>
diff --git a/v8/renderscript/Android.mk b/v8/renderscript/Android.mk
index a288a86..58f7219 100644
--- a/v8/renderscript/Android.mk
+++ b/v8/renderscript/Android.mk
@@ -21,8 +21,10 @@
include $(CLEAR_VARS)
+LOCAL_CFLAGS += -std=c++11
+
LOCAL_MODULE := android-support-v8-renderscript
-LOCAL_SDK_VERSION := 18
+LOCAL_SDK_VERSION := 19
LOCAL_SRC_FILES := $(call all-java-files-under, java/src)
include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/Allocation.java b/v8/renderscript/java/src/android/support/v8/renderscript/Allocation.java
index eec493c..4b019e9 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/Allocation.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/Allocation.java
@@ -18,6 +18,7 @@
import java.io.IOException;
import java.io.InputStream;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
import android.content.res.Resources;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
@@ -69,6 +70,7 @@
boolean mConstrainedZ;
boolean mReadAllowed = true;
boolean mWriteAllowed = true;
+ boolean mAutoPadding = false;
int mSelectedY;
int mSelectedZ;
int mSelectedLOD;
@@ -79,6 +81,70 @@
int mCurrentDimZ;
int mCurrentCount;
+ private Element.DataType validateObjectIsPrimitiveArray(Object d, boolean checkType) {
+ final Class c = d.getClass();
+ if (!c.isArray()) {
+ throw new RSIllegalArgumentException("Object passed is not an array of primitives.");
+ }
+ final Class cmp = c.getComponentType();
+ if (!cmp.isPrimitive()) {
+ throw new RSIllegalArgumentException("Object passed is not an Array of primitives.");
+ }
+
+ if (cmp == Long.TYPE) {
+ if (checkType) {
+ validateIsInt64();
+ return mType.mElement.mType;
+ }
+ return Element.DataType.SIGNED_64;
+ }
+
+ if (cmp == Integer.TYPE) {
+ if (checkType) {
+ validateIsInt32();
+ return mType.mElement.mType;
+ }
+ return Element.DataType.SIGNED_32;
+ }
+
+ if (cmp == Short.TYPE) {
+ if (checkType) {
+ validateIsInt16();
+ return mType.mElement.mType;
+ }
+ return Element.DataType.SIGNED_16;
+ }
+
+ if (cmp == Byte.TYPE) {
+ if (checkType) {
+ validateIsInt8();
+ return mType.mElement.mType;
+ }
+ return Element.DataType.SIGNED_8;
+ }
+
+ if (cmp == Float.TYPE) {
+ if (checkType) {
+ validateIsFloat32();
+ }
+ return Element.DataType.FLOAT_32;
+ }
+
+ if (cmp == Double.TYPE) {
+ if (checkType) {
+ validateIsFloat64();
+ }
+ return Element.DataType.FLOAT_64;
+ }
+ return null;
+ }
+
+ /*
+ * Hold reference to the shared allocation in compat context
+ * for Incremental Support Lib.
+ */
+ long mIncCompatAllocation;
+ boolean mIncAllocDestroyed;
/**
* The usage of the Allocation. These signal to RenderScript where to place
* the Allocation in memory.
@@ -158,8 +224,18 @@
}
}
+ /**
+ * Getter & Setter for the dummy allocation for Inc Support Lib.
+ *
+ */
+ public long getIncAllocID() {
+ return mIncCompatAllocation;
+ }
+ public void setIncAllocID(long id) {
+ mIncCompatAllocation = id;
+ }
- private int getIDSafe() {
+ private long getIDSafe() {
if (mAdaptedAllocation != null) {
return mAdaptedAllocation.getID(mRS);
}
@@ -189,6 +265,17 @@
}
/**
+ * @hide
+ * Enable/Disable AutoPadding for Vec3 elements.
+ *
+ * @param useAutoPadding True: enable AutoPadding; flase: disable AutoPadding
+ *
+ */
+ public void setAutoPadding(boolean useAutoPadding) {
+ mAutoPadding = useAutoPadding;
+ }
+
+ /**
* Get the size of the Allocation in bytes.
*
* @return size of the Allocation in bytes.
@@ -218,7 +305,7 @@
mBitmap = b;
}
- Allocation(int id, RenderScript rs, Type t, int usage) {
+ Allocation(long id, RenderScript rs, Type t, int usage) {
super(id, rs);
if ((usage & ~(USAGE_SCRIPT |
USAGE_GRAPHICS_TEXTURE |
@@ -240,9 +327,14 @@
mType = t;
mUsage = usage;
- mSize = mType.getCount() * mType.getElement().getBytesSize();
+ mIncCompatAllocation = 0;
+ mIncAllocDestroyed = false;
if (t != null) {
+ // TODO: A3D doesn't have Type info during creation, so we can't
+ // calculate the size ahead of time. We can possibly add a method
+ // to update the size in the future if it seems reasonable.
+ mSize = mType.getCount() * mType.getElement().getBytesSize();
updateCacheInfo(t);
}
if (RenderScript.sUseGCHooks == true) {
@@ -262,6 +354,14 @@
super.finalize();
}
+ private void validateIsInt64() {
+ if ((mType.mElement.mType == Element.DataType.SIGNED_64) ||
+ (mType.mElement.mType == Element.DataType.UNSIGNED_64)) {
+ return;
+ }
+ throw new RSIllegalArgumentException(
+ "64 bit integer source does not match allocation type " + mType.mElement.mType);
+ }
private void validateIsInt32() {
if ((mType.mElement.mType == Element.DataType.SIGNED_32) ||
@@ -298,6 +398,14 @@
"32 bit float source does not match allocation type " + mType.mElement.mType);
}
+ private void validateIsFloat64() {
+ if (mType.mElement.mType == Element.DataType.FLOAT_64) {
+ return;
+ }
+ throw new RSIllegalArgumentException(
+ "64 bit float source does not match allocation type " + mType.mElement.mType);
+ }
+
private void validateIsObject() {
if ((mType.mElement.mType == Element.DataType.RS_ELEMENT) ||
(mType.mElement.mType == Element.DataType.RS_TYPE) ||
@@ -387,11 +495,20 @@
throw new RSIllegalArgumentException("Array size mismatch, allocation sizeX = " +
mCurrentCount + ", array length = " + d.length);
}
- int i[] = new int[d.length];
- for (int ct=0; ct < d.length; ct++) {
- i[ct] = d[ct].getID(mRS);
+
+ if (RenderScript.sPointerSize == 8) {
+ long i[] = new long[d.length * 4];
+ for (int ct=0; ct < d.length; ct++) {
+ i[ct * 4] = d[ct].getID(mRS);
+ }
+ copy1DRangeFromUnchecked(0, mCurrentCount, i);
+ } else {
+ int i[] = new int[d.length];
+ for (int ct=0; ct < d.length; ct++) {
+ i[ct] = (int)d[ct].getID(mRS);
+ }
+ copy1DRangeFromUnchecked(0, mCurrentCount, i);
}
- copy1DRangeFromUnchecked(0, mCurrentCount, i);
}
private void validateBitmapFormat(Bitmap b) {
@@ -449,6 +566,29 @@
}
}
+ private void copyFromUnchecked(Object array, Element.DataType dt, int arrayLen) {
+ mRS.validate();
+ if (mCurrentDimZ > 0) {
+ copy3DRangeFromUnchecked(0, 0, 0, mCurrentDimX, mCurrentDimY, mCurrentDimZ, array, dt, arrayLen);
+ } else if (mCurrentDimY > 0) {
+ copy2DRangeFromUnchecked(0, 0, mCurrentDimX, mCurrentDimY, array, dt, arrayLen);
+ } else {
+ copy1DRangeFromUnchecked(0, mCurrentCount, array, dt, arrayLen);
+ }
+ }
+
+ /**
+ * Copy into this Allocation from an array. This method does not guarantee
+ * that the Allocation is compatible with the input buffer; it copies memory
+ * without reinterpretation.
+ *
+ * @param array The source data array
+ */
+ public void copyFromUnchecked(Object array) {
+ copyFromUnchecked(array, validateObjectIsPrimitiveArray(array, false),
+ java.lang.reflect.Array.getLength(array));
+ }
+
/**
* Copy into this Allocation from an array. This method does not guarantee
* that the Allocation is compatible with the input buffer; it copies memory
@@ -457,15 +597,9 @@
* @param d the source data array
*/
public void copyFromUnchecked(int[] d) {
- mRS.validate();
- if (mCurrentDimZ > 0) {
- copy3DRangeFromUnchecked(0, 0, 0, mCurrentDimX, mCurrentDimY, mCurrentDimZ, d);
- } else if (mCurrentDimY > 0) {
- copy2DRangeFromUnchecked(0, 0, mCurrentDimX, mCurrentDimY, d);
- } else {
- copy1DRangeFromUnchecked(0, mCurrentCount, d);
- }
+ copyFromUnchecked(d, Element.DataType.SIGNED_32, d.length);
}
+
/**
* Copy into this Allocation from an array. This method does not guarantee
* that the Allocation is compatible with the input buffer; it copies memory
@@ -474,15 +608,9 @@
* @param d the source data array
*/
public void copyFromUnchecked(short[] d) {
- mRS.validate();
- if (mCurrentDimZ > 0) {
- copy3DRangeFromUnchecked(0, 0, 0, mCurrentDimX, mCurrentDimY, mCurrentDimZ, d);
- } else if (mCurrentDimY > 0) {
- copy2DRangeFromUnchecked(0, 0, mCurrentDimX, mCurrentDimY, d);
- } else {
- copy1DRangeFromUnchecked(0, mCurrentCount, d);
- }
+ copyFromUnchecked(d, Element.DataType.SIGNED_16, d.length);
}
+
/**
* Copy into this Allocation from an array. This method does not guarantee
* that the Allocation is compatible with the input buffer; it copies memory
@@ -491,15 +619,9 @@
* @param d the source data array
*/
public void copyFromUnchecked(byte[] d) {
- mRS.validate();
- if (mCurrentDimZ > 0) {
- copy3DRangeFromUnchecked(0, 0, 0, mCurrentDimX, mCurrentDimY, mCurrentDimZ, d);
- } else if (mCurrentDimY > 0) {
- copy2DRangeFromUnchecked(0, 0, mCurrentDimX, mCurrentDimY, d);
- } else {
- copy1DRangeFromUnchecked(0, mCurrentCount, d);
- }
+ copyFromUnchecked(d, Element.DataType.SIGNED_8, d.length);
}
+
/**
* Copy into this Allocation from an array. This method does not guarantee
* that the Allocation is compatible with the input buffer; it copies memory
@@ -508,14 +630,21 @@
* @param d the source data array
*/
public void copyFromUnchecked(float[] d) {
- mRS.validate();
- if (mCurrentDimZ > 0) {
- copy3DRangeFromUnchecked(0, 0, 0, mCurrentDimX, mCurrentDimY, mCurrentDimZ, d);
- } else if (mCurrentDimY > 0) {
- copy2DRangeFromUnchecked(0, 0, mCurrentDimX, mCurrentDimY, d);
- } else {
- copy1DRangeFromUnchecked(0, mCurrentCount, d);
- }
+ copyFromUnchecked(d, Element.DataType.FLOAT_32, d.length);
+ }
+
+
+ /**
+ * Copy into this Allocation from an array. This variant is type checked
+ * and will generate exceptions if the Allocation's {@link
+ * android.renderscript.Element} does not match the array's
+ * primitive type.
+ *
+ * @param array The source data array
+ */
+ public void copyFrom(Object array) {
+ copyFromUnchecked(array, validateObjectIsPrimitiveArray(array, true),
+ java.lang.reflect.Array.getLength(array));
}
/**
@@ -526,14 +655,8 @@
* @param d the source data array
*/
public void copyFrom(int[] d) {
- mRS.validate();
- if (mCurrentDimZ > 0) {
- copy3DRangeFrom(0, 0, 0, mCurrentDimX, mCurrentDimY, mCurrentDimZ, d);
- } else if (mCurrentDimY > 0) {
- copy2DRangeFrom(0, 0, mCurrentDimX, mCurrentDimY, d);
- } else {
- copy1DRangeFrom(0, mCurrentCount, d);
- }
+ validateIsInt32();
+ copyFromUnchecked(d, Element.DataType.SIGNED_32, d.length);
}
/**
@@ -544,14 +667,8 @@
* @param d the source data array
*/
public void copyFrom(short[] d) {
- mRS.validate();
- if (mCurrentDimZ > 0) {
- copy3DRangeFrom(0, 0, 0, mCurrentDimX, mCurrentDimY, mCurrentDimZ, d);
- } else if (mCurrentDimY > 0) {
- copy2DRangeFrom(0, 0, mCurrentDimX, mCurrentDimY, d);
- } else {
- copy1DRangeFrom(0, mCurrentCount, d);
- }
+ validateIsInt16();
+ copyFromUnchecked(d, Element.DataType.SIGNED_16, d.length);
}
/**
@@ -562,14 +679,8 @@
* @param d the source data array
*/
public void copyFrom(byte[] d) {
- mRS.validate();
- if (mCurrentDimZ > 0) {
- copy3DRangeFrom(0, 0, 0, mCurrentDimX, mCurrentDimY, mCurrentDimZ, d);
- } else if (mCurrentDimY > 0) {
- copy2DRangeFrom(0, 0, mCurrentDimX, mCurrentDimY, d);
- } else {
- copy1DRangeFrom(0, mCurrentCount, d);
- }
+ validateIsInt8();
+ copyFromUnchecked(d, Element.DataType.SIGNED_8, d.length);
}
/**
@@ -580,14 +691,8 @@
* @param d the source data array
*/
public void copyFrom(float[] d) {
- mRS.validate();
- if (mCurrentDimZ > 0) {
- copy3DRangeFrom(0, 0, 0, mCurrentDimX, mCurrentDimY, mCurrentDimZ, d);
- } else if (mCurrentDimY > 0) {
- copy2DRangeFrom(0, 0, mCurrentDimX, mCurrentDimY, d);
- } else {
- copy1DRangeFrom(0, mCurrentCount, d);
- }
+ validateIsFloat32();
+ copyFromUnchecked(d, Element.DataType.FLOAT_32, d.length);
}
/**
@@ -684,7 +789,49 @@
component_number, data, data_length);
}
- private void data1DChecks(int off, int count, int len, int dataSize) {
+ /**
+ * @hide
+ * This is only intended to be used by auto-generated code reflected from
+ * the RenderScript script files.
+ *
+ * @param xoff
+ * @param yoff
+ * @param zoff
+ * @param component_number
+ * @param fp
+ */
+ /*
+ public void setFromFieldPacker(int xoff, int yoff, int zoff, int component_number, FieldPacker fp) {
+ mRS.validate();
+ if (component_number >= mType.mElement.mElements.length) {
+ throw new RSIllegalArgumentException("Component_number " + component_number + " out of range.");
+ }
+ if(xoff < 0) {
+ throw new RSIllegalArgumentException("Offset x must be >= 0.");
+ }
+ if(yoff < 0) {
+ throw new RSIllegalArgumentException("Offset y must be >= 0.");
+ }
+ if(zoff < 0) {
+ throw new RSIllegalArgumentException("Offset z must be >= 0.");
+ }
+
+ final byte[] data = fp.getData();
+ int data_length = fp.getPos();
+ int eSize = mType.mElement.mElements[component_number].getBytesSize();
+ eSize *= mType.mElement.mArraySizes[component_number];
+
+ if (data_length != eSize) {
+ throw new RSIllegalArgumentException("Field packer sizelength " + data_length +
+ " does not match component size " + eSize + ".");
+ }
+
+ mRS.nAllocationElementData(getIDSafe(), xoff, yoff, zoff, mSelectedLOD,
+ component_number, data, data_length);
+ }
+ */
+
+ private void data1DChecks(int off, int count, int len, int dataSize, boolean usePadding) {
mRS.validate();
if(off < 0) {
throw new RSIllegalArgumentException("Offset must be >= 0.");
@@ -696,8 +843,14 @@
throw new RSIllegalArgumentException("Overflow, Available count " + mCurrentCount +
", got " + count + " at offset " + off + ".");
}
- if(len < dataSize) {
- throw new RSIllegalArgumentException("Array too small for allocation type.");
+ if(usePadding) {
+ if(len < dataSize / 4 * 3) {
+ throw new RSIllegalArgumentException("Array too small for allocation type.");
+ }
+ } else {
+ if(len < dataSize) {
+ throw new RSIllegalArgumentException("Array too small for allocation type.");
+ }
}
}
@@ -715,6 +868,33 @@
mRS.nAllocationGenerateMipmaps(getID(mRS));
}
+ private void copy1DRangeFromUnchecked(int off, int count, Object array,
+ Element.DataType dt, int arrayLen) {
+ final int dataSize = mType.mElement.getBytesSize() * count;
+ // AutoPadding for Vec3 Element
+ boolean usePadding = false;
+ if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+ usePadding = true;
+ }
+ data1DChecks(off, count, arrayLen * dt.mSize, dataSize, usePadding);
+ mRS.nAllocationData1D(getIDSafe(), off, mSelectedLOD, count, array, dataSize, dt,
+ mType.mElement.mType.mSize, usePadding);
+ }
+
+ /**
+ * Copy an array into part of this Allocation. This method does not
+ * guarantee that the Allocation is compatible with the input buffer.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param array The source data array
+ */
+ public void copy1DRangeFromUnchecked(int off, int count, Object array) {
+ copy1DRangeFromUnchecked(off, count, array,
+ validateObjectIsPrimitiveArray(array, false),
+ java.lang.reflect.Array.getLength(array));
+ }
+
/**
* Copy an array into part of this Allocation. This method does not
* guarantee that the Allocation is compatible with the input buffer.
@@ -724,10 +904,9 @@
* @param d the source data array
*/
public void copy1DRangeFromUnchecked(int off, int count, int[] d) {
- int dataSize = mType.mElement.getBytesSize() * count;
- data1DChecks(off, count, d.length * 4, dataSize);
- mRS.nAllocationData1D(getIDSafe(), off, mSelectedLOD, count, d, dataSize);
+ copy1DRangeFromUnchecked(off, count, (Object)d, Element.DataType.SIGNED_32, d.length);
}
+
/**
* Copy an array into part of this Allocation. This method does not
* guarantee that the Allocation is compatible with the input buffer.
@@ -737,10 +916,9 @@
* @param d the source data array
*/
public void copy1DRangeFromUnchecked(int off, int count, short[] d) {
- int dataSize = mType.mElement.getBytesSize() * count;
- data1DChecks(off, count, d.length * 2, dataSize);
- mRS.nAllocationData1D(getIDSafe(), off, mSelectedLOD, count, d, dataSize);
+ copy1DRangeFromUnchecked(off, count, (Object)d, Element.DataType.SIGNED_16, d.length);
}
+
/**
* Copy an array into part of this Allocation. This method does not
* guarantee that the Allocation is compatible with the input buffer.
@@ -750,10 +928,9 @@
* @param d the source data array
*/
public void copy1DRangeFromUnchecked(int off, int count, byte[] d) {
- int dataSize = mType.mElement.getBytesSize() * count;
- data1DChecks(off, count, d.length, dataSize);
- mRS.nAllocationData1D(getIDSafe(), off, mSelectedLOD, count, d, dataSize);
+ copy1DRangeFromUnchecked(off, count, (Object)d, Element.DataType.SIGNED_8, d.length);
}
+
/**
* Copy an array into part of this Allocation. This method does not
* guarantee that the Allocation is compatible with the input buffer.
@@ -763,9 +940,23 @@
* @param d the source data array
*/
public void copy1DRangeFromUnchecked(int off, int count, float[] d) {
- int dataSize = mType.mElement.getBytesSize() * count;
- data1DChecks(off, count, d.length * 4, dataSize);
- mRS.nAllocationData1D(getIDSafe(), off, mSelectedLOD, count, d, dataSize);
+ copy1DRangeFromUnchecked(off, count, (Object)d, Element.DataType.FLOAT_32, d.length);
+ }
+
+
+ /**
+ * Copy an array into part of this Allocation. This variant is type checked
+ * and will generate exceptions if the Allocation type does not
+ * match the component type of the array passed in.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param array The source data array.
+ */
+ public void copy1DRangeFrom(int off, int count, Object array) {
+ copy1DRangeFromUnchecked(off, count, array,
+ validateObjectIsPrimitiveArray(array, true),
+ java.lang.reflect.Array.getLength(array));
}
/**
@@ -779,7 +970,7 @@
*/
public void copy1DRangeFrom(int off, int count, int[] d) {
validateIsInt32();
- copy1DRangeFromUnchecked(off, count, d);
+ copy1DRangeFromUnchecked(off, count, d, Element.DataType.SIGNED_32, d.length);
}
/**
@@ -793,7 +984,7 @@
*/
public void copy1DRangeFrom(int off, int count, short[] d) {
validateIsInt16();
- copy1DRangeFromUnchecked(off, count, d);
+ copy1DRangeFromUnchecked(off, count, d, Element.DataType.SIGNED_16, d.length);
}
/**
@@ -807,7 +998,7 @@
*/
public void copy1DRangeFrom(int off, int count, byte[] d) {
validateIsInt8();
- copy1DRangeFromUnchecked(off, count, d);
+ copy1DRangeFromUnchecked(off, count, d, Element.DataType.SIGNED_8, d.length);
}
/**
@@ -821,7 +1012,7 @@
*/
public void copy1DRangeFrom(int off, int count, float[] d) {
validateIsFloat32();
- copy1DRangeFromUnchecked(off, count, d);
+ copy1DRangeFromUnchecked(off, count, d, Element.DataType.FLOAT_32, d.length);
}
/**
@@ -857,35 +1048,46 @@
}
}
- void copy2DRangeFromUnchecked(int xoff, int yoff, int w, int h, byte[] data) {
+ void copy2DRangeFromUnchecked(int xoff, int yoff, int w, int h, Object array,
+ Element.DataType dt, int arrayLen) {
mRS.validate();
validate2DRange(xoff, yoff, w, h);
- mRS.nAllocationData2D(getIDSafe(), xoff, yoff, mSelectedLOD, mSelectedFace.mID,
- w, h, data, data.length);
+ final int dataSize = mType.mElement.getBytesSize() * w * h;
+ // AutoPadding for Vec3 Element
+ boolean usePadding = false;
+ int sizeBytes = arrayLen * dt.mSize;
+ if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+ if (dataSize / 4 * 3 > sizeBytes) {
+ throw new RSIllegalArgumentException("Array too small for allocation type.");
+ }
+ usePadding = true;
+ sizeBytes = dataSize;
+ } else {
+ if (dataSize > sizeBytes) {
+ throw new RSIllegalArgumentException("Array too small for allocation type.");
+ }
+ }
+ mRS.nAllocationData2D(getIDSafe(), xoff, yoff, mSelectedLOD, mSelectedFace.mID, w, h,
+ array, sizeBytes, dt,
+ mType.mElement.mType.mSize, usePadding);
}
- void copy2DRangeFromUnchecked(int xoff, int yoff, int w, int h, short[] data) {
- mRS.validate();
- validate2DRange(xoff, yoff, w, h);
- mRS.nAllocationData2D(getIDSafe(), xoff, yoff, mSelectedLOD, mSelectedFace.mID,
- w, h, data, data.length * 2);
+ /**
+ * Copy from an array into a rectangular region in this Allocation. The
+ * array is assumed to be tightly packed.
+ *
+ * @param xoff X offset of the region to update in this Allocation
+ * @param yoff Y offset of the region to update in this Allocation
+ * @param w Width of the region to update
+ * @param h Height of the region to update
+ * @param array Data to be placed into the Allocation
+ */
+ public void copy2DRangeFrom(int xoff, int yoff, int w, int h, Object array) {
+ copy2DRangeFromUnchecked(xoff, yoff, w, h, array,
+ validateObjectIsPrimitiveArray(array, true),
+ java.lang.reflect.Array.getLength(array));
}
- void copy2DRangeFromUnchecked(int xoff, int yoff, int w, int h, int[] data) {
- mRS.validate();
- validate2DRange(xoff, yoff, w, h);
- mRS.nAllocationData2D(getIDSafe(), xoff, yoff, mSelectedLOD, mSelectedFace.mID,
- w, h, data, data.length * 4);
- }
-
- void copy2DRangeFromUnchecked(int xoff, int yoff, int w, int h, float[] data) {
- mRS.validate();
- validate2DRange(xoff, yoff, w, h);
- mRS.nAllocationData2D(getIDSafe(), xoff, yoff, mSelectedLOD, mSelectedFace.mID,
- w, h, data, data.length * 4);
- }
-
-
/**
* Copy from an array into a rectangular region in this Allocation. The
* array is assumed to be tightly packed.
@@ -898,7 +1100,8 @@
*/
public void copy2DRangeFrom(int xoff, int yoff, int w, int h, byte[] data) {
validateIsInt8();
- copy2DRangeFromUnchecked(xoff, yoff, w, h, data);
+ copy2DRangeFromUnchecked(xoff, yoff, w, h, data,
+ Element.DataType.SIGNED_8, data.length);
}
/**
@@ -913,7 +1116,8 @@
*/
public void copy2DRangeFrom(int xoff, int yoff, int w, int h, short[] data) {
validateIsInt16();
- copy2DRangeFromUnchecked(xoff, yoff, w, h, data);
+ copy2DRangeFromUnchecked(xoff, yoff, w, h, data,
+ Element.DataType.SIGNED_16, data.length);
}
/**
@@ -928,7 +1132,8 @@
*/
public void copy2DRangeFrom(int xoff, int yoff, int w, int h, int[] data) {
validateIsInt32();
- copy2DRangeFromUnchecked(xoff, yoff, w, h, data);
+ copy2DRangeFromUnchecked(xoff, yoff, w, h, data,
+ Element.DataType.SIGNED_32, data.length);
}
/**
@@ -943,7 +1148,8 @@
*/
public void copy2DRangeFrom(int xoff, int yoff, int w, int h, float[] data) {
validateIsFloat32();
- copy2DRangeFromUnchecked(xoff, yoff, w, h, data);
+ copy2DRangeFromUnchecked(xoff, yoff, w, h, data,
+ Element.DataType.FLOAT_32, data.length);
}
/**
@@ -1012,49 +1218,32 @@
* @hide
*
*/
- void copy3DRangeFromUnchecked(int xoff, int yoff, int zoff, int w, int h, int d, byte[] data) {
+ private void copy3DRangeFromUnchecked(int xoff, int yoff, int zoff, int w, int h, int d,
+ Object array, Element.DataType dt, int arrayLen) {
mRS.validate();
validate3DRange(xoff, yoff, zoff, w, h, d);
- mRS.nAllocationData3D(getIDSafe(), xoff, yoff, zoff, mSelectedLOD,
- w, h, d, data, data.length);
+ final int dataSize = mType.mElement.getBytesSize() * w * h * d;
+ // AutoPadding for Vec3 Element
+ boolean usePadding = false;
+ int sizeBytes = arrayLen * dt.mSize;
+ if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+ if (dataSize / 4 * 3 > sizeBytes) {
+ throw new RSIllegalArgumentException("Array too small for allocation type.");
+ }
+ usePadding = true;
+ sizeBytes = dataSize;
+ } else {
+ if (dataSize > sizeBytes) {
+ throw new RSIllegalArgumentException("Array too small for allocation type.");
+ }
+ }
+ mRS.nAllocationData3D(getIDSafe(), xoff, yoff, zoff, mSelectedLOD, w, h, d,
+ array, sizeBytes, dt,
+ mType.mElement.mType.mSize, usePadding);
}
/**
* @hide
- *
- */
- void copy3DRangeFromUnchecked(int xoff, int yoff, int zoff, int w, int h, int d, short[] data) {
- mRS.validate();
- validate3DRange(xoff, yoff, zoff, w, h, d);
- mRS.nAllocationData3D(getIDSafe(), xoff, yoff, zoff, mSelectedLOD,
- w, h, d, data, data.length * 2);
- }
-
- /**
- * @hide
- *
- */
- void copy3DRangeFromUnchecked(int xoff, int yoff, int zoff, int w, int h, int d, int[] data) {
- mRS.validate();
- validate3DRange(xoff, yoff, zoff, w, h, d);
- mRS.nAllocationData3D(getIDSafe(), xoff, yoff, zoff, mSelectedLOD,
- w, h, d, data, data.length * 4);
- }
-
- /**
- * @hide
- *
- */
- void copy3DRangeFromUnchecked(int xoff, int yoff, int zoff, int w, int h, int d, float[] data) {
- mRS.validate();
- validate3DRange(xoff, yoff, zoff, w, h, d);
- mRS.nAllocationData3D(getIDSafe(), xoff, yoff, zoff, mSelectedLOD,
- w, h, d, data, data.length * 4);
- }
-
-
- /**
- * @hide
* Copy a rectangular region from the array into the allocation.
* The array is assumed to be tightly packed.
*
@@ -1066,36 +1255,10 @@
* @param d Depth of the region to update
* @param data to be placed into the allocation
*/
- public void copy3DRangeFrom(int xoff, int yoff, int zoff, int w, int h, int d, byte[] data) {
- validateIsInt8();
- copy3DRangeFromUnchecked(xoff, yoff, zoff, w, h, d, data);
- }
-
- /**
- * @hide
- *
- */
- public void copy3DRangeFrom(int xoff, int yoff, int zoff, int w, int h, int d, short[] data) {
- validateIsInt16();
- copy3DRangeFromUnchecked(xoff, yoff, zoff, w, h, d, data);
- }
-
- /**
- * @hide
- *
- */
- public void copy3DRangeFrom(int xoff, int yoff, int zoff, int w, int h, int d, int[] data) {
- validateIsInt32();
- copy3DRangeFromUnchecked(xoff, yoff, zoff, w, h, d, data);
- }
-
- /**
- * @hide
- *
- */
- public void copy3DRangeFrom(int xoff, int yoff, int zoff, int w, int h, int d, float[] data) {
- validateIsFloat32();
- copy3DRangeFromUnchecked(xoff, yoff, zoff, w, h, d, data);
+ public void copy3DRangeFrom(int xoff, int yoff, int zoff, int w, int h, int d, Object array) {
+ copy3DRangeFromUnchecked(xoff, yoff, zoff, w, h, d, array,
+ validateObjectIsPrimitiveArray(array, true),
+ java.lang.reflect.Array.getLength(array));
}
/**
@@ -1137,6 +1300,28 @@
mRS.nAllocationCopyToBitmap(getID(mRS), b);
}
+ private void copyTo(Object array, Element.DataType dt, int arrayLen) {
+ mRS.validate();
+ boolean usePadding = false;
+ if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+ usePadding = true;
+ }
+ mRS.nAllocationRead(getID(mRS), array, dt, mType.mElement.mType.mSize, usePadding);
+ }
+
+ /**
+ * Copy from the Allocation into an array. The array must be at
+ * least as large as the Allocation. The
+ * {@link android.renderscript.Element} must match the component
+ * type of the array passed in.
+ *
+ * @param array The array to be set from the Allocation.
+ */
+ public void copyTo(Object array) {
+ copyTo(array, validateObjectIsPrimitiveArray(array, true),
+ java.lang.reflect.Array.getLength(array));
+ }
+
/**
* Copy from the Allocation into a byte array. The array must be at least
* as large as the Allocation. The allocation must be of an 8 bit integer
@@ -1146,8 +1331,7 @@
*/
public void copyTo(byte[] d) {
validateIsInt8();
- mRS.validate();
- mRS.nAllocationRead(getID(mRS), d);
+ copyTo(d, Element.DataType.SIGNED_8, d.length);
}
/**
@@ -1159,8 +1343,7 @@
*/
public void copyTo(short[] d) {
validateIsInt16();
- mRS.validate();
- mRS.nAllocationRead(getID(mRS), d);
+ copyTo(d, Element.DataType.SIGNED_16, d.length);
}
/**
@@ -1172,8 +1355,7 @@
*/
public void copyTo(int[] d) {
validateIsInt32();
- mRS.validate();
- mRS.nAllocationRead(getID(mRS), d);
+ copyTo(d, Element.DataType.SIGNED_32, d.length);
}
/**
@@ -1185,10 +1367,362 @@
*/
public void copyTo(float[] d) {
validateIsFloat32();
- mRS.validate();
- mRS.nAllocationRead(getID(mRS), d);
+ copyTo(d, Element.DataType.FLOAT_32, d.length);
}
+ /**
+ * @hide
+ * This is only intended to be used by auto-generated code reflected from
+ * the RenderScript script files and should not be used by developers.
+ *
+ * @param xoff
+ * @param yoff
+ * @param zoff
+ * @param component_number
+ * @param array
+ */
+ /*
+ public void copyToFieldPacker(int xoff, int yoff, int zoff, int component_number, FieldPacker fp) {
+ mRS.validate();
+ if (component_number >= mType.mElement.mElements.length) {
+ throw new RSIllegalArgumentException("Component_number " + component_number + " out of range.");
+ }
+ if(xoff < 0) {
+ throw new RSIllegalArgumentException("Offset x must be >= 0.");
+ }
+ if(yoff < 0) {
+ throw new RSIllegalArgumentException("Offset y must be >= 0.");
+ }
+ if(zoff < 0) {
+ throw new RSIllegalArgumentException("Offset z must be >= 0.");
+ }
+
+ final byte[] data = fp.getData();
+ int data_length = fp.getPos();
+ int eSize = mType.mElement.mElements[component_number].getBytesSize();
+ eSize *= mType.mElement.mArraySizes[component_number];
+
+ if (data_length != eSize) {
+ throw new RSIllegalArgumentException("Field packer sizelength " + data_length +
+ " does not match component size " + eSize + ".");
+ }
+
+ mRS.nAllocationElementRead(getIDSafe(), xoff, yoff, zoff, mSelectedLOD,
+ component_number, data, data_length);
+ }
+ */
+
+ private void copy1DRangeToUnchecked(int off, int count, Object array,
+ Element.DataType dt, int arrayLen) {
+ final int dataSize = mType.mElement.getBytesSize() * count;
+ // AutoPadding for Vec3 Element
+ boolean usePadding = false;
+ if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+ usePadding = true;
+ }
+ data1DChecks(off, count, arrayLen * dt.mSize, dataSize, usePadding);
+ mRS.nAllocationRead1D(getIDSafe(), off, mSelectedLOD, count, array, dataSize, dt,
+ mType.mElement.mType.mSize, usePadding);
+ }
+
+ /**
+ * @hide
+ * Copy part of this Allocation into an array. This method does not
+ * guarantee that the Allocation is compatible with the input buffer.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param array The dest data array
+ */
+ public void copy1DRangeToUnchecked(int off, int count, Object array) {
+ copy1DRangeToUnchecked(off, count, array,
+ validateObjectIsPrimitiveArray(array, false),
+ java.lang.reflect.Array.getLength(array));
+ }
+
+ /**
+ * @hide
+ * Copy part of this Allocation into an array. This method does not
+ * guarantee that the Allocation is compatible with the input buffer.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param d the source data array
+ */
+ public void copy1DRangeToUnchecked(int off, int count, int[] d) {
+ copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.SIGNED_32, d.length);
+ }
+
+ /**
+ * @hide
+ * Copy part of this Allocation into an array. This method does not
+ * guarantee that the Allocation is compatible with the input buffer.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param d the source data array
+ */
+ public void copy1DRangeToUnchecked(int off, int count, short[] d) {
+ copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.SIGNED_16, d.length);
+ }
+
+ /**
+ * @hide
+ * Copy part of this Allocation into an array. This method does not
+ * guarantee that the Allocation is compatible with the input buffer.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param d the source data array
+ */
+ public void copy1DRangeToUnchecked(int off, int count, byte[] d) {
+ copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.SIGNED_8, d.length);
+ }
+
+ /**
+ * @hide
+ * Copy part of this Allocation into an array. This method does not
+ * guarantee that the Allocation is compatible with the input buffer.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param d the source data array
+ */
+ public void copy1DRangeToUnchecked(int off, int count, float[] d) {
+ copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.FLOAT_32, d.length);
+ }
+
+
+ /**
+ * @hide
+ * Copy part of this Allocation into an array. This method does not
+ * and will generate exceptions if the Allocation type does not
+ * match the component type of the array passed in.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param array The source data array.
+ */
+ public void copy1DRangeTo(int off, int count, Object array) {
+ copy1DRangeToUnchecked(off, count, array,
+ validateObjectIsPrimitiveArray(array, true),
+ java.lang.reflect.Array.getLength(array));
+ }
+
+ /**
+ * @hide
+ * Copy part of this Allocation into an array. This method does not
+ * and will generate exceptions if the Allocation type is not a 32 bit
+ * integer type.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param d the source data array
+ */
+ public void copy1DRangeTo(int off, int count, int[] d) {
+ validateIsInt32();
+ copy1DRangeToUnchecked(off, count, d, Element.DataType.SIGNED_32, d.length);
+ }
+
+ /**
+ * @hide
+ * Copy part of this Allocation into an array. This method does not
+ * and will generate exceptions if the Allocation type is not a 16 bit
+ * integer type.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param d the source data array
+ */
+ public void copy1DRangeTo(int off, int count, short[] d) {
+ validateIsInt16();
+ copy1DRangeToUnchecked(off, count, d, Element.DataType.SIGNED_16, d.length);
+ }
+
+ /**
+ * @hide
+ * Copy part of this Allocation into an array. This method does not
+ * and will generate exceptions if the Allocation type is not an 8 bit
+ * integer type.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param d the source data array
+ */
+ public void copy1DRangeTo(int off, int count, byte[] d) {
+ validateIsInt8();
+ copy1DRangeToUnchecked(off, count, d, Element.DataType.SIGNED_8, d.length);
+ }
+
+ /**
+ * @hide
+ * Copy part of this Allocation into an array. This method does not
+ * and will generate exceptions if the Allocation type is not a 32 bit float
+ * type.
+ *
+ * @param off The offset of the first element to be copied.
+ * @param count The number of elements to be copied.
+ * @param d the source data array.
+ */
+ public void copy1DRangeTo(int off, int count, float[] d) {
+ validateIsFloat32();
+ copy1DRangeToUnchecked(off, count, d, Element.DataType.FLOAT_32, d.length);
+ }
+
+
+ void copy2DRangeToUnchecked(int xoff, int yoff, int w, int h, Object array,
+ Element.DataType dt, int arrayLen) {
+ mRS.validate();
+ validate2DRange(xoff, yoff, w, h);
+ final int dataSize = mType.mElement.getBytesSize() * w * h;
+ // AutoPadding for Vec3 Element
+ boolean usePadding = false;
+ int sizeBytes = arrayLen * dt.mSize;
+ if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+ if (dataSize / 4 * 3 > sizeBytes) {
+ throw new RSIllegalArgumentException("Array too small for allocation type.");
+ }
+ usePadding = true;
+ sizeBytes = dataSize;
+ } else {
+ if (dataSize > sizeBytes) {
+ throw new RSIllegalArgumentException("Array too small for allocation type.");
+ }
+ }
+ mRS.nAllocationRead2D(getIDSafe(), xoff, yoff, mSelectedLOD, mSelectedFace.mID, w, h,
+ array, sizeBytes, dt, mType.mElement.mType.mSize, usePadding);
+ }
+
+ /**
+ * @hide
+ * Copy from a rectangular region in this Allocation into an array.
+ *
+ * @param xoff X offset of the region to copy in this Allocation
+ * @param yoff Y offset of the region to copy in this Allocation
+ * @param w Width of the region to copy
+ * @param h Height of the region to copy
+ * @param array Dest Array to be copied into
+ */
+ public void copy2DRangeTo(int xoff, int yoff, int w, int h, Object array) {
+ copy2DRangeToUnchecked(xoff, yoff, w, h, array,
+ validateObjectIsPrimitiveArray(array, true),
+ java.lang.reflect.Array.getLength(array));
+ }
+
+ /**
+ * @hide
+ * Copy from a rectangular region in this Allocation into an array.
+ *
+ * @param xoff X offset of the region to copy in this Allocation
+ * @param yoff Y offset of the region to copy in this Allocation
+ * @param w Width of the region to copy
+ * @param h Height of the region to copy
+ * @param array Dest Array to be copied into
+ */
+ public void copy2DRangeTo(int xoff, int yoff, int w, int h, byte[] data) {
+ validateIsInt8();
+ copy2DRangeToUnchecked(xoff, yoff, w, h, data,
+ Element.DataType.SIGNED_8, data.length);
+ }
+
+ /**
+ * @hide
+ * Copy from a rectangular region in this Allocation into an array.
+ *
+ * @param xoff X offset of the region to copy in this Allocation
+ * @param yoff Y offset of the region to copy in this Allocation
+ * @param w Width of the region to copy
+ * @param h Height of the region to copy
+ * @param array Dest Array to be copied into
+ */
+ public void copy2DRangeTo(int xoff, int yoff, int w, int h, short[] data) {
+ validateIsInt16();
+ copy2DRangeToUnchecked(xoff, yoff, w, h, data,
+ Element.DataType.SIGNED_16, data.length);
+ }
+
+ /**
+ * @hide
+ * Copy from a rectangular region in this Allocation into an array.
+ *
+ * @param xoff X offset of the region to copy in this Allocation
+ * @param yoff Y offset of the region to copy in this Allocation
+ * @param w Width of the region to copy
+ * @param h Height of the region to copy
+ * @param array Dest Array to be copied into
+ */
+ public void copy2DRangeTo(int xoff, int yoff, int w, int h, int[] data) {
+ validateIsInt32();
+ copy2DRangeToUnchecked(xoff, yoff, w, h, data,
+ Element.DataType.SIGNED_32, data.length);
+ }
+
+ /**
+ * @hide
+ * Copy from a rectangular region in this Allocation into an array.
+ *
+ * @param xoff X offset of the region to copy in this Allocation
+ * @param yoff Y offset of the region to copy in this Allocation
+ * @param w Width of the region to copy
+ * @param h Height of the region to copy
+ * @param array Dest Array to be copied into
+ */
+ public void copy2DRangeTo(int xoff, int yoff, int w, int h, float[] data) {
+ validateIsFloat32();
+ copy2DRangeToUnchecked(xoff, yoff, w, h, data,
+ Element.DataType.FLOAT_32, data.length);
+ }
+
+
+ /**
+ * @hide
+ *
+ */
+ /*
+ private void copy3DRangeToUnchecked(int xoff, int yoff, int zoff, int w, int h, int d,
+ Object array, Element.DataType dt, int arrayLen) {
+ mRS.validate();
+ validate3DRange(xoff, yoff, zoff, w, h, d);
+ final int dataSize = mType.mElement.getBytesSize() * w * h * d;
+ // AutoPadding for Vec3 Element
+ boolean usePadding = false;
+ int sizeBytes = arrayLen * dt.mSize;
+ if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+ if (dataSize / 4 * 3 > sizeBytes) {
+ throw new RSIllegalArgumentException("Array too small for allocation type.");
+ }
+ usePadding = true;
+ sizeBytes = dataSize;
+ } else {
+ if (dataSize > sizeBytes) {
+ throw new RSIllegalArgumentException("Array too small for allocation type.");
+ }
+ }
+ mRS.nAllocationRead3D(getIDSafe(), xoff, yoff, zoff, mSelectedLOD, w, h, d,
+ array, sizeBytes, dt, mType.mElement.mType.mSize, usePadding);
+ }
+ */
+
+ /**
+ * @hide
+ * Copy from a rectangular region in this Allocation into an array.
+ *
+ * @param xoff X offset of the region to copy in this Allocation
+ * @param yoff Y offset of the region to copy in this Allocation
+ * @param zoff Z offset of the region to copy in this Allocation
+ * @param w Width of the region to copy
+ * @param h Height of the region to copy
+ * @param d Depth of the region to copy
+ * @param array Dest Array to be copied into
+ */
+ /*
+ public void copy3DRangeTo(int xoff, int yoff, int zoff, int w, int h, int d, Object array) {
+ copy3DRangeToUnchecked(xoff, yoff, zoff, w, h, d, array,
+ validateObjectIsPrimitiveArray(array, true),
+ java.lang.reflect.Array.getLength(array));
+ }
+ */
+
// creation
static BitmapFactory.Options mBitmapOptions = new BitmapFactory.Options();
@@ -1207,15 +1741,16 @@
* utilized
*/
static public Allocation createTyped(RenderScript rs, Type type, MipmapControl mips, int usage) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- return AllocationThunker.createTyped(rst, type, mips, usage);
- }
rs.validate();
if (type.getID(rs) == 0) {
throw new RSInvalidStateException("Bad Type");
}
- int id = rs.nAllocationCreateTyped(type.getID(rs), mips.mID, usage, 0);
+
+ if(!rs.usingIO() && (usage & (USAGE_IO_INPUT | USAGE_IO_INPUT)) != 0) {
+ throw new RSRuntimeException("USAGE_IO not supported, Allocation creation failed.");
+ }
+
+ long id = rs.nAllocationCreateTyped(type.getID(rs), mips.mID, usage, 0);
if (id == 0) {
throw new RSRuntimeException("Allocation creation failed.");
}
@@ -1263,16 +1798,12 @@
*/
static public Allocation createSized(RenderScript rs, Element e,
int count, int usage) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- return AllocationThunker.createSized(rs, e, count, usage);
- }
rs.validate();
Type.Builder b = new Type.Builder(rs, e);
b.setX(count);
Type t = b.create();
- int id = rs.nAllocationCreateTyped(t.getID(rs), MipmapControl.MIPMAP_NONE.mID, usage, 0);
+ long id = rs.nAllocationCreateTyped(t.getID(rs), MipmapControl.MIPMAP_NONE.mID, usage, 0);
if (id == 0) {
throw new RSRuntimeException("Allocation creation failed.");
}
@@ -1335,10 +1866,6 @@
static public Allocation createFromBitmap(RenderScript rs, Bitmap b,
MipmapControl mips,
int usage) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- return AllocationThunker.createFromBitmap(rst, b, mips, usage);
- }
rs.validate();
// WAR undocumented color formats
@@ -1358,7 +1885,7 @@
if (mips == MipmapControl.MIPMAP_NONE &&
t.getElement().isCompatible(Element.RGBA_8888(rs)) &&
usage == (USAGE_SHARED | USAGE_SCRIPT | USAGE_GRAPHICS_TEXTURE)) {
- int id = rs.nAllocationCreateBitmapBackedAllocation(t.getID(rs), mips.mID, b, usage);
+ long id = rs.nAllocationCreateBitmapBackedAllocation(t.getID(rs), mips.mID, b, usage);
if (id == 0) {
throw new RSRuntimeException("Load failed.");
}
@@ -1370,7 +1897,7 @@
}
- int id = rs.nAllocationCreateFromBitmap(t.getID(rs), mips.mID, b, usage);
+ long id = rs.nAllocationCreateFromBitmap(t.getID(rs), mips.mID, b, usage);
if (id == 0) {
throw new RSRuntimeException("Load failed.");
}
@@ -1378,6 +1905,21 @@
}
/**
+ * Associate a {@link android.view.Surface} with this Allocation. This
+ * operation is only valid for Allocations with {@link #USAGE_IO_OUTPUT}.
+ *
+ * @param sur Surface to associate with allocation
+ */
+ public void setSurface(Surface sur) {
+ mRS.validate();
+ if ((mUsage & USAGE_IO_OUTPUT) == 0) {
+ throw new RSInvalidStateException("Allocation is not USAGE_IO_OUTPUT.");
+ }
+
+ mRS.nAllocationSetSurface(getID(mRS), sur);
+ }
+
+ /**
* Creates an Allocation from a {@link android.graphics.Bitmap}.
*
* <p>This Allocation will be created with {@link #USAGE_SHARED}, and
@@ -1436,7 +1978,7 @@
tb.setMipmaps(mips == MipmapControl.MIPMAP_FULL);
Type t = tb.create();
- int id = rs.nAllocationCubeCreateFromBitmap(t.getID(rs), mips.mID, b, usage);
+ long id = rs.nAllocationCubeCreateFromBitmap(t.getID(rs), mips.mID, b, usage);
if(id == 0) {
throw new RSRuntimeException("Load failed for bitmap " + b + " element " + e);
}
@@ -1638,5 +2180,40 @@
throw new RSRuntimeException("Could not convert string to utf-8.");
}
}
+
+ /**
+ * Frees any native resources associated with this object. The
+ * primary use is to force immediate cleanup of resources when it is
+ * believed the GC will not respond quickly enough.
+ * For USAGE_IO_OUTPUT, destroy() implies setSurface(null).
+ */
+ @Override
+ public void destroy() {
+ if (mIncCompatAllocation != 0) {
+ boolean shouldDestroy = false;
+ synchronized(this) {
+ if (!mIncAllocDestroyed) {
+ shouldDestroy = true;
+ mIncAllocDestroyed = true;
+ }
+ }
+
+ if (shouldDestroy) {
+ // must include nObjDestroy in the critical section
+ ReentrantReadWriteLock.ReadLock rlock = mRS.mRWLock.readLock();
+ rlock.lock();
+ if(mRS.isAlive()) {
+ mRS.nIncObjDestroy(mIncCompatAllocation);
+ }
+ rlock.unlock();
+ mIncCompatAllocation = 0;
+ }
+ }
+ if ((mUsage & (USAGE_IO_INPUT | USAGE_IO_OUTPUT)) != 0) {
+ setSurface(null);
+ }
+ super.destroy();
+ }
+
}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/AllocationThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/AllocationThunker.java
deleted file mode 100644
index 2ae7edf..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/AllocationThunker.java
+++ /dev/null
@@ -1,512 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import java.io.IOException;
-import java.io.InputStream;
-import android.content.res.Resources;
-import android.content.res.AssetManager;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.view.Surface;
-import android.util.Log;
-import android.util.TypedValue;
-
-class AllocationThunker extends Allocation {
- android.renderscript.Allocation mN;
- //Allocation mAdaptedAllocation;
-
- android.renderscript.Allocation getNObj() {
- return mN;
- }
-
- static android.renderscript.Allocation.MipmapControl
- convertMipmapControl(MipmapControl mc) {
-
- switch(mc) {
- case MIPMAP_NONE:
- return android.renderscript.Allocation.MipmapControl.MIPMAP_NONE;
- case MIPMAP_FULL:
- return android.renderscript.Allocation.MipmapControl.MIPMAP_FULL;
- case MIPMAP_ON_SYNC_TO_TEXTURE:
- return android.renderscript.Allocation.MipmapControl.MIPMAP_ON_SYNC_TO_TEXTURE;
- }
- return null;
- }
-
- public Type getType() {
- return TypeThunker.find(mN.getType());
- }
-
- public Element getElement() {
- return getType().getElement();
- }
-
- public int getUsage() {
- try {
- return mN.getUsage();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public int getBytesSize() {
- try {
- return mN.getBytesSize();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- AllocationThunker(RenderScript rs, Type t, int usage, android.renderscript.Allocation na) {
- super(0, rs, t, usage);
-
- mType = t;
- mUsage = usage;
- mN = na;
- }
-
- public void syncAll(int srcLocation) {
- try {
- mN.syncAll(srcLocation);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void ioSend() {
- try {
- mN.ioSend();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void ioReceive() {
- try {
- mN.ioReceive();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void copyFrom(BaseObj[] d) {
- if (d == null) {
- return;
- }
- android.renderscript.BaseObj[] dN = new android.renderscript.BaseObj[d.length];
- for (int i = 0; i < d.length; i++) {
- dN[i] = d[i].getNObj();
- }
- try {
- mN.copyFrom(dN);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void copyFromUnchecked(int[] d) {
- try {
- mN.copyFromUnchecked(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyFromUnchecked(short[] d) {
- try {
- mN.copyFromUnchecked(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyFromUnchecked(byte[] d) {
- try {
- mN.copyFromUnchecked(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyFromUnchecked(float[] d) {
- try {
- mN.copyFromUnchecked(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void copyFrom(int[] d) {
- try {
- mN.copyFrom(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyFrom(short[] d) {
- try {
- mN.copyFrom(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyFrom(byte[] d) {
- try {
- mN.copyFrom(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyFrom(float[] d) {
- try {
- mN.copyFrom(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyFrom(Bitmap b) {
- try {
- mN.copyFrom(b);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyFrom(Allocation a) {
- AllocationThunker at = (AllocationThunker)a;
- try {
- mN.copyFrom(at.mN);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
-
- public void setFromFieldPacker(int xoff, FieldPacker fp) {
- try {
- // Must construct actual FieldPacker from scratch, since we don't
- // know how many bytes were actually used.
- byte[] data = fp.getData();
- int fp_length = fp.getPos();
- android.renderscript.FieldPacker nfp =
- new android.renderscript.FieldPacker(fp_length);
- for (int i = 0; i < fp_length; i++) {
- nfp.addI8(data[i]);
- }
- mN.setFromFieldPacker(xoff, nfp);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void setFromFieldPacker(int xoff, int component_number, FieldPacker fp) {
- try {
- // Must construct actual FieldPacker from scratch, since we don't
- // know how many bytes were actually used.
- byte[] data = fp.getData();
- int fp_length = fp.getPos();
- android.renderscript.FieldPacker nfp =
- new android.renderscript.FieldPacker(fp_length);
- for (int i = 0; i < fp_length; i++) {
- nfp.addI8(data[i]);
- }
- mN.setFromFieldPacker(xoff, component_number, nfp);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void generateMipmaps() {
- try {
- mN.generateMipmaps();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void copy1DRangeFromUnchecked(int off, int count, int[] d) {
- try {
- mN.copy1DRangeFromUnchecked(off, count, d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copy1DRangeFromUnchecked(int off, int count, short[] d) {
- try {
- mN.copy1DRangeFromUnchecked(off, count, d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copy1DRangeFromUnchecked(int off, int count, byte[] d) {
- try {
- mN.copy1DRangeFromUnchecked(off, count, d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copy1DRangeFromUnchecked(int off, int count, float[] d) {
- try {
- mN.copy1DRangeFromUnchecked(off, count, d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void copy1DRangeFrom(int off, int count, int[] d) {
- try {
- mN.copy1DRangeFrom(off, count, d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copy1DRangeFrom(int off, int count, short[] d) {
- try {
- mN.copy1DRangeFrom(off, count, d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copy1DRangeFrom(int off, int count, byte[] d) {
- try {
- mN.copy1DRangeFrom(off, count, d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copy1DRangeFrom(int off, int count, float[] d) {
- try {
- mN.copy1DRangeFrom(off, count, d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void copy1DRangeFrom(int off, int count, Allocation data, int dataOff) {
- try {
- AllocationThunker at = (AllocationThunker)data;
- mN.copy1DRangeFrom(off, count, at.mN, dataOff);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void copy2DRangeFrom(int xoff, int yoff, int w, int h, byte[] data) {
- try {
- mN.copy2DRangeFrom(xoff, yoff, w, h, data);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copy2DRangeFrom(int xoff, int yoff, int w, int h, short[] data) {
- try {
- mN.copy2DRangeFrom(xoff, yoff, w, h, data);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copy2DRangeFrom(int xoff, int yoff, int w, int h, int[] data) {
- try {
- mN.copy2DRangeFrom(xoff, yoff, w, h, data);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copy2DRangeFrom(int xoff, int yoff, int w, int h, float[] data) {
- try {
- mN.copy2DRangeFrom(xoff, yoff, w, h, data);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void copy2DRangeFrom(int xoff, int yoff, int w, int h,
- Allocation data, int dataXoff, int dataYoff) {
- try {
- AllocationThunker at = (AllocationThunker)data;
- mN.copy2DRangeFrom(xoff, yoff, w, h, at.mN, dataXoff, dataYoff);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copy2DRangeFrom(int xoff, int yoff, Bitmap data) {
- try {
- mN.copy2DRangeFrom(xoff, yoff, data);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
-
- public void copyTo(Bitmap b) {
- try {
- mN.copyTo(b);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyTo(byte[] d) {
- try {
- mN.copyTo(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyTo(short[] d) {
- try {
- mN.copyTo(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyTo(int[] d) {
- try {
- mN.copyTo(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- public void copyTo(float[] d) {
- try {
- mN.copyTo(d);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- // creation
-
- static BitmapFactory.Options mBitmapOptions = new BitmapFactory.Options();
- static {
- mBitmapOptions.inScaled = false;
- }
-
- static public Allocation createTyped(RenderScript rs, Type type, MipmapControl mips, int usage) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- TypeThunker tt = (TypeThunker)type;
-
- try {
- android.renderscript.Allocation a =
- android.renderscript.Allocation.createTyped(rst.mN, tt.mN,
- convertMipmapControl(mips),
- usage);
- return new AllocationThunker(rs, type, usage, a);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- static public Allocation createFromBitmap(RenderScript rs, Bitmap b,
- MipmapControl mips,
- int usage) {
-
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- try {
- android.renderscript.Allocation a =
- android.renderscript.Allocation.createFromBitmap(rst.mN, b,
- convertMipmapControl(mips),
- usage);
- TypeThunker tt = new TypeThunker(rs, a.getType());
- return new AllocationThunker(rs, tt, usage, a);
-
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- static public Allocation createCubemapFromBitmap(RenderScript rs, Bitmap b,
- MipmapControl mips,
- int usage) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- try {
- android.renderscript.Allocation a =
- android.renderscript.Allocation.createCubemapFromBitmap(
- rst.mN, b, convertMipmapControl(mips), usage);
- TypeThunker tt = new TypeThunker(rs, a.getType());
- return new AllocationThunker(rs, tt, usage, a);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- static public Allocation createCubemapFromCubeFaces(RenderScript rs,
- Bitmap xpos,
- Bitmap xneg,
- Bitmap ypos,
- Bitmap yneg,
- Bitmap zpos,
- Bitmap zneg,
- MipmapControl mips,
- int usage) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- try {
- android.renderscript.Allocation a =
- android.renderscript.Allocation.createCubemapFromCubeFaces(
- rst.mN, xpos, xneg, ypos, yneg, zpos, zneg,
- convertMipmapControl(mips), usage);
- TypeThunker tt = new TypeThunker(rs, a.getType());
- return new AllocationThunker(rs, tt, usage, a);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- static public Allocation createFromBitmapResource(RenderScript rs,
- Resources res,
- int id,
- MipmapControl mips,
- int usage) {
-
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- try {
- android.renderscript.Allocation a =
- android.renderscript.Allocation.createFromBitmapResource(
- rst.mN, res, id, convertMipmapControl(mips), usage);
- TypeThunker tt = new TypeThunker(rs, a.getType());
- return new AllocationThunker(rs, tt, usage, a);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- static public Allocation createFromString(RenderScript rs,
- String str,
- int usage) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- try {
- android.renderscript.Allocation a =
- android.renderscript.Allocation.createFromString(
- rst.mN, str, usage);
- TypeThunker tt = new TypeThunker(rs, a.getType());
- return new AllocationThunker(rs, tt, usage, a);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- static public Allocation createSized(RenderScript rs, Element e,
- int count, int usage) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- ElementThunker et = (ElementThunker) e;
- try {
- android.renderscript.Allocation a =
- android.renderscript.Allocation.createSized
- (rst.mN, (android.renderscript.Element)e.getNObj(), count, usage);
- TypeThunker tt = new TypeThunker(rs, a.getType());
- return new AllocationThunker(rs, tt, usage, a);
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- }
-
-}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/BaseObj.java b/v8/renderscript/java/src/android/support/v8/renderscript/BaseObj.java
index b9d3ef4..bb49600 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/BaseObj.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/BaseObj.java
@@ -26,14 +26,14 @@
*
**/
public class BaseObj {
- BaseObj(int id, RenderScript rs) {
+ BaseObj(long id, RenderScript rs) {
rs.validate();
mRS = rs;
mID = id;
mDestroyed = false;
}
- void setID(int id) {
+ void setID(long id) {
if (mID != 0) {
throw new RSRuntimeException("Internal Error, reset of object ID.");
}
@@ -47,9 +47,9 @@
* @param rs Context to verify against internal context for
* match.
*
- * @return int
+ * @return long
*/
- int getID(RenderScript rs) {
+ long getID(RenderScript rs) {
mRS.validate();
if (mDestroyed) {
throw new RSInvalidStateException("using a destroyed object.");
@@ -73,7 +73,7 @@
}
}
- private int mID;
+ private long mID;
private boolean mDestroyed;
RenderScript mRS;
@@ -124,7 +124,7 @@
*/
@Override
public int hashCode() {
- return mID;
+ return (int)((mID & 0xfffffff) ^ (mID >> 32));
}
/**
@@ -148,10 +148,6 @@
return false;
}
- if (mRS.isNative) {
- return ((RenderScriptThunker)mRS).equals((Object)this, obj);
- }
-
BaseObj b = (BaseObj) obj;
return mID == b.mID;
}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/Byte2.java b/v8/renderscript/java/src/android/support/v8/renderscript/Byte2.java
index ed1eb9a..2371077 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/Byte2.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/Byte2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2102 The Android Open Source Project
+ * Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/Element.java b/v8/renderscript/java/src/android/support/v8/renderscript/Element.java
index 6189773..135d854 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/Element.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/Element.java
@@ -151,11 +151,11 @@
MATRIX_3X3 (17, 36),
MATRIX_2X2 (18, 16),
- RS_ELEMENT (1000, 4),
- RS_TYPE (1001, 4),
- RS_ALLOCATION (1002, 4),
- RS_SAMPLER (1003, 4),
- RS_SCRIPT (1004, 4);
+ RS_ELEMENT (1000),
+ RS_TYPE (1001),
+ RS_ALLOCATION (1002),
+ RS_SAMPLER (1003),
+ RS_SCRIPT (1004);
int mID;
int mSize;
@@ -163,6 +163,14 @@
mID = id;
mSize = size;
}
+
+ DataType(int id) {
+ mID = id;
+ mSize = 4;
+ if (RenderScript.sPointerSize == 8) {
+ mSize = 32;
+ }
+ }
}
/**
@@ -706,7 +714,7 @@
return rs.mElement_MATRIX_2X2;
}
- Element(int id, RenderScript rs, Element[] e, String[] n, int[] as) {
+ Element(long id, RenderScript rs, Element[] e, String[] n, int[] as) {
super(id, rs);
mSize = 0;
mVectorSize = 1;
@@ -723,7 +731,7 @@
updateVisibleSubElements();
}
- Element(int id, RenderScript rs, DataType dt, DataKind dk, boolean norm, int size) {
+ Element(long id, RenderScript rs, DataType dt, DataKind dk, boolean norm, int size) {
super(id, rs);
if ((dt != DataType.UNSIGNED_5_6_5) &&
(dt != DataType.UNSIGNED_4_4_4_4) &&
@@ -742,10 +750,17 @@
mVectorSize = size;
}
- Element(int id, RenderScript rs) {
+ Element(long id, RenderScript rs) {
super(id, rs);
}
+ /*
+ * Get an identical dummy Element for Compat Context
+ *
+ */
+ public long getDummyElement(RenderScript mRS) {
+ return mRS.nIncElementCreate(mType.mID, mKind.mID, mNormalized, mVectorSize);
+ }
/**
* Create a custom Element of the specified DataType. The DataKind will be
* set to USER and the vector size to 1 indicating non-vector.
@@ -755,14 +770,10 @@
* @return Element
*/
static Element createUser(RenderScript rs, DataType dt) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- return ElementThunker.create(rst, dt);
- }
DataKind dk = DataKind.USER;
boolean norm = false;
int vecSize = 1;
- int id = rs.nElementCreate(dt.mID, dk.mID, norm, vecSize);
+ long id = rs.nElementCreate(dt.mID, dk.mID, norm, vecSize);
return new Element(id, rs, dt, dk, norm, vecSize);
}
@@ -780,10 +791,6 @@
* @return Element
*/
public static Element createVector(RenderScript rs, DataType dt, int size) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- return ElementThunker.createVector(rst, dt, size);
- }
if (size < 2 || size > 4) {
throw new RSIllegalArgumentException("Vector size out of range 2-4.");
}
@@ -803,7 +810,7 @@
case BOOLEAN: {
DataKind dk = DataKind.USER;
boolean norm = false;
- int id = rs.nElementCreate(dt.mID, dk.mID, norm, size);
+ long id = rs.nElementCreate(dt.mID, dk.mID, norm, size);
return new Element(id, rs, dt, dk, norm, size);
}
@@ -827,11 +834,6 @@
* @return Element
*/
public static Element createPixel(RenderScript rs, DataType dt, DataKind dk) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- return ElementThunker.createPixel(rst, dt, dk);
- }
-
if (!(dk == DataKind.PIXEL_L ||
dk == DataKind.PIXEL_A ||
dk == DataKind.PIXEL_LA ||
@@ -876,7 +878,7 @@
}
boolean norm = true;
- int id = rs.nElementCreate(dt.mID, dk.mID, norm, size);
+ long id = rs.nElementCreate(dt.mID, dk.mID, norm, size);
return new Element(id, rs, dt, dk, norm, size);
}
@@ -914,7 +916,6 @@
*
*/
public static class Builder {
- ElementThunker.BuilderThunker mT;
RenderScript mRS;
Element[] mElements;
@@ -929,10 +930,6 @@
* @param rs
*/
public Builder(RenderScript rs) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- mT = new ElementThunker.BuilderThunker(rs);
- }
mRS = rs;
mCount = 0;
mElements = new Element[8];
@@ -948,11 +945,6 @@
* @param arraySize
*/
public Builder add(Element element, String name, int arraySize) {
- if (mT != null) {
- mT.add(element, name, arraySize);
- return this;
- }
-
if (arraySize < 1) {
throw new RSIllegalArgumentException("Array size cannot be less than 1.");
}
@@ -1007,10 +999,6 @@
* @return Element
*/
public Element create() {
- if (mT != null) {
- return mT.create(mRS);
- }
-
mRS.validate();
Element[] ein = new Element[mCount];
String[] sin = new String[mCount];
@@ -1019,12 +1007,12 @@
java.lang.System.arraycopy(mElementNames, 0, sin, 0, mCount);
java.lang.System.arraycopy(mArraySizes, 0, asin, 0, mCount);
- int[] ids = new int[ein.length];
+ long[] ids = new long[ein.length];
for (int ct = 0; ct < ein.length; ct++ ) {
ids[ct] = ein[ct].getID(mRS);
}
- int id = mRS.nElementCreate2(ids, sin, asin);
+ long id = mRS.nElementCreate2(ids, sin, asin);
return new Element(id, mRS, ein, sin, asin);
}
}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ElementThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ElementThunker.java
deleted file mode 100644
index 9b820e2..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ElementThunker.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import java.lang.reflect.Field;
-
-import android.util.Log;
-
-class ElementThunker extends Element {
- android.renderscript.Element mN;
-
- android.renderscript.Element getNObj() {
- return mN;
- }
-
- public int getBytesSize() {
- try {
- return mN.getBytesSize();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public int getVectorSize() {
- try {
- return mN.getVectorSize();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- static android.renderscript.Element.DataKind convertKind(DataKind cdk) {
- switch(cdk) {
- case USER:
- return android.renderscript.Element.DataKind.USER;
- case PIXEL_L:
- return android.renderscript.Element.DataKind.PIXEL_L;
- case PIXEL_A:
- return android.renderscript.Element.DataKind.PIXEL_A;
- case PIXEL_LA:
- return android.renderscript.Element.DataKind.PIXEL_LA;
- case PIXEL_RGB:
- return android.renderscript.Element.DataKind.PIXEL_RGB;
- case PIXEL_RGBA:
- return android.renderscript.Element.DataKind.PIXEL_RGBA;
- }
- return null;
- }
-
- static android.renderscript.Element.DataType convertType(DataType cdt) {
- switch(cdt) {
- case NONE:
- return android.renderscript.Element.DataType.NONE;
- //case DataType.FLOAT_16:
- case FLOAT_32:
- return android.renderscript.Element.DataType.FLOAT_32;
- case FLOAT_64:
- return android.renderscript.Element.DataType.FLOAT_64;
- case SIGNED_8:
- return android.renderscript.Element.DataType.SIGNED_8;
- case SIGNED_16:
- return android.renderscript.Element.DataType.SIGNED_16;
- case SIGNED_32:
- return android.renderscript.Element.DataType.SIGNED_32;
- case SIGNED_64:
- return android.renderscript.Element.DataType.SIGNED_64;
- case UNSIGNED_8:
- return android.renderscript.Element.DataType.UNSIGNED_8;
- case UNSIGNED_16:
- return android.renderscript.Element.DataType.UNSIGNED_16;
- case UNSIGNED_32:
- return android.renderscript.Element.DataType.UNSIGNED_32;
- case UNSIGNED_64:
- return android.renderscript.Element.DataType.UNSIGNED_64;
-
- case BOOLEAN:
- return android.renderscript.Element.DataType.BOOLEAN;
-
- case MATRIX_4X4:
- return android.renderscript.Element.DataType.MATRIX_4X4;
- case MATRIX_3X3:
- return android.renderscript.Element.DataType.MATRIX_3X3;
- case MATRIX_2X2:
- return android.renderscript.Element.DataType.MATRIX_2X2;
-
- case RS_ELEMENT:
- return android.renderscript.Element.DataType.RS_ELEMENT;
- case RS_TYPE:
- return android.renderscript.Element.DataType.RS_TYPE;
- case RS_ALLOCATION:
- return android.renderscript.Element.DataType.RS_ALLOCATION;
- case RS_SAMPLER:
- return android.renderscript.Element.DataType.RS_SAMPLER;
- case RS_SCRIPT:
- return android.renderscript.Element.DataType.RS_SCRIPT;
- }
- return null;
- }
-
- public boolean isComplex() {
- try {
- return mN.isComplex();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public int getSubElementCount() {
- try {
- return mN.getSubElementCount();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Element getSubElement(int index) {
- try {
- return new ElementThunker(mRS, mN.getSubElement(index));
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public String getSubElementName(int index) {
- try {
- return mN.getSubElementName(index);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public int getSubElementArraySize(int index) {
- try {
- return mN.getSubElementArraySize(index);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public int getSubElementOffsetBytes(int index) {
- try {
- return mN.getSubElementOffsetBytes(index);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public DataType getDataType() {
- return mType;
- }
-
- public DataKind getDataKind() {
- return mKind;
- }
-
-
- ElementThunker(RenderScript rs, android.renderscript.Element e) {
- super(0, rs);
- mN = e;
- }
-
-
- static Element create(RenderScript rs, DataType dt) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- try {
- android.renderscript.Element e = null;
- switch(dt) {
- case FLOAT_32:
- e = android.renderscript.Element.F32(rst.mN);
- break;
- case FLOAT_64:
- e = android.renderscript.Element.F64(rst.mN);
- break;
- case SIGNED_8:
- e = android.renderscript.Element.I8(rst.mN);
- break;
- case SIGNED_16:
- e = android.renderscript.Element.I16(rst.mN);
- break;
- case SIGNED_32:
- e = android.renderscript.Element.I32(rst.mN);
- break;
- case SIGNED_64:
- e = android.renderscript.Element.I64(rst.mN);
- break;
- case UNSIGNED_8:
- e = android.renderscript.Element.U8(rst.mN);
- break;
- case UNSIGNED_16:
- e = android.renderscript.Element.U16(rst.mN);
- break;
- case UNSIGNED_32:
- e = android.renderscript.Element.U32(rst.mN);
- break;
- case UNSIGNED_64:
- e = android.renderscript.Element.U64(rst.mN);
- break;
-
- case BOOLEAN:
- e = android.renderscript.Element.BOOLEAN(rst.mN);
- break;
-
- case MATRIX_4X4:
- e = android.renderscript.Element.MATRIX_4X4(rst.mN);
- break;
- case MATRIX_3X3:
- e = android.renderscript.Element.MATRIX_3X3(rst.mN);
- break;
- case MATRIX_2X2:
- e = android.renderscript.Element.MATRIX_2X2(rst.mN);
- break;
-
- case RS_ELEMENT:
- e = android.renderscript.Element.ELEMENT(rst.mN);
- break;
- case RS_TYPE:
- e = android.renderscript.Element.TYPE(rst.mN);
- break;
- case RS_ALLOCATION:
- e = android.renderscript.Element.ALLOCATION(rst.mN);
- break;
- case RS_SAMPLER:
- e = android.renderscript.Element.SAMPLER(rst.mN);
- break;
- case RS_SCRIPT:
- e = android.renderscript.Element.SCRIPT(rst.mN);
- break;
- }
-
- return new ElementThunker(rs, e);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public static Element createVector(RenderScript rs, DataType dt, int size) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- android.renderscript.Element e;
- try {
- e = android.renderscript.Element.createVector(rst.mN, convertType(dt), size);
- return new ElementThunker(rs, e);
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- }
-
- public static Element createPixel(RenderScript rs, DataType dt, DataKind dk) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- android.renderscript.Element e;
- try {
- e = android.renderscript.Element.createPixel(rst.mN, convertType(dt), convertKind(dk));
- return new ElementThunker(rs, e);
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- }
-
- public boolean isCompatible(Element e) {
- ElementThunker et = (ElementThunker)e;
- try {
- return et.mN.isCompatible(mN);
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- }
-
- static class BuilderThunker {
- android.renderscript.Element.Builder mN;
-
- public BuilderThunker(RenderScript rs) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- try {
- mN = new android.renderscript.Element.Builder(rst.mN);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void add(Element e, String name, int arraySize) {
- ElementThunker et = (ElementThunker)e;
- try {
- mN.add(et.mN, name, arraySize);
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- }
-
- public Element create(RenderScript rs) {
- try {
- android.renderscript.Element e = mN.create();
- return new ElementThunker(rs, e);
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- }
- }
-}
-
-
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ExceptionThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ExceptionThunker.java
deleted file mode 100644
index 3e553b7..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ExceptionThunker.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import java.lang.Exception;
-
-class ExceptionThunker {
- static RuntimeException convertException (RuntimeException e) {
- if (e instanceof android.renderscript.RSIllegalArgumentException) {
- return new android.support.v8.renderscript.RSIllegalArgumentException(e.getMessage());
- } else if (e instanceof android.renderscript.RSInvalidStateException) {
- return new android.support.v8.renderscript.RSInvalidStateException(e.getMessage());
- } else if (e instanceof android.renderscript.RSDriverException) {
- return new android.support.v8.renderscript.RSDriverException(e.getMessage());
- } else if (e instanceof android.renderscript.RSRuntimeException) {
- return new android.support.v8.renderscript.RSRuntimeException(e.getMessage());
- }
- return e;
- }
-
-}
\ No newline at end of file
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/FieldPacker.java b/v8/renderscript/java/src/android/support/v8/renderscript/FieldPacker.java
index a5b5b41..ccb6d95 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/FieldPacker.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/FieldPacker.java
@@ -17,6 +17,7 @@
package android.support.v8.renderscript;
import android.support.v8.renderscript.RenderScript;
+import java.util.BitSet;
/**
* Utility class for packing arguments and structures from Android system objects to
@@ -28,54 +29,65 @@
*
**/
public class FieldPacker {
- private FieldPackerThunker mN;
-
public FieldPacker(int len) {
mPos = 0;
mLen = len;
mData = new byte[len];
- if (RenderScript.shouldThunk()) {
- mN = new FieldPackerThunker(len);
- }
+ mAlignment = new BitSet();
+ }
+
+ public FieldPacker(byte[] data) {
+ // Advance mPos to the end of the buffer, since we are copying in the
+ // full data input.
+ mPos = data.length;
+ mLen = data.length;
+ mData = data;
+ mAlignment = new BitSet();
+ // TODO: We should either have an actual FieldPacker copy constructor
+ // or drop support for computing alignment like this. As it stands,
+ // subAlign() can never work correctly for copied FieldPacker objects.
}
public void align(int v) {
- if (RenderScript.shouldThunk()) {
- mN.align(v);
- return;
- }
if ((v <= 0) || ((v & (v - 1)) != 0)) {
throw new RSIllegalArgumentException("argument must be a non-negative non-zero power of 2: " + v);
}
while ((mPos & (v - 1)) != 0) {
+ mAlignment.flip(mPos);
mData[mPos++] = 0;
}
}
- public void reset() {
- if (RenderScript.shouldThunk()) {
- mN.reset();
- return;
+ public void subalign(int v) {
+ if ((v & (v - 1)) != 0) {
+ throw new RSIllegalArgumentException("argument must be a non-negative non-zero power of 2: " + v);
}
+
+ while ((mPos & (v - 1)) != 0) {
+ mPos--;
+ }
+
+ if (mPos > 0) {
+ while (mAlignment.get(mPos - 1) == true) {
+ mPos--;
+ mAlignment.flip(mPos);
+ }
+ }
+
+ }
+
+ public void reset() {
mPos = 0;
}
public void reset(int i) {
- if (RenderScript.shouldThunk()) {
- mN.reset(i);
- return;
- }
- if ((i < 0) || (i >= mLen)) {
+ if ((i < 0) || (i > mLen)) {
throw new RSIllegalArgumentException("out of range argument: " + i);
}
mPos = i;
}
public void skip(int i) {
- if (RenderScript.shouldThunk()) {
- mN.skip(i);
- return;
- }
int res = mPos + i;
if ((res < 0) || (res > mLen)) {
throw new RSIllegalArgumentException("out of range argument: " + i);
@@ -84,28 +96,30 @@
}
public void addI8(byte v) {
- if (RenderScript.shouldThunk()) {
- mN.addI8(v);
- return;
- }
mData[mPos++] = v;
}
+ public byte subI8() {
+ subalign(1);
+ return mData[--mPos];
+ }
+
public void addI16(short v) {
- if (RenderScript.shouldThunk()) {
- mN.addI16(v);
- return;
- }
align(2);
mData[mPos++] = (byte)(v & 0xff);
mData[mPos++] = (byte)(v >> 8);
}
+ public short subI16() {
+ subalign(2);
+ short v = 0;
+ v = (short)((mData[--mPos] & 0xff) << 8);
+ v = (short)(v | (short)(mData[--mPos] & 0xff));
+ return v;
+ }
+
+
public void addI32(int v) {
- if (RenderScript.shouldThunk()) {
- mN.addI32(v);
- return;
- }
align(4);
mData[mPos++] = (byte)(v & 0xff);
mData[mPos++] = (byte)((v >> 8) & 0xff);
@@ -113,11 +127,18 @@
mData[mPos++] = (byte)((v >> 24) & 0xff);
}
+ public int subI32() {
+ subalign(4);
+ int v = 0;
+ v = ((mData[--mPos] & 0xff) << 24);
+ v = v | ((mData[--mPos] & 0xff) << 16);
+ v = v | ((mData[--mPos] & 0xff) << 8);
+ v = v | ((mData[--mPos] & 0xff));
+ return v;
+ }
+
+
public void addI64(long v) {
- if (RenderScript.shouldThunk()) {
- mN.addI64(v);
- return;
- }
align(8);
mData[mPos++] = (byte)(v & 0xff);
mData[mPos++] = (byte)((v >> 8) & 0xff);
@@ -129,22 +150,38 @@
mData[mPos++] = (byte)((v >> 56) & 0xff);
}
+ public long subI64() {
+ subalign(8);
+ long v = 0;
+ byte x = 0;
+ x = ((mData[--mPos]));
+ v = (long)(v | (((long)x) & 0xff) << 56l);
+ x = ((mData[--mPos]));
+ v = (long)(v | (((long)x) & 0xff) << 48l);
+ x = ((mData[--mPos]));
+ v = (long)(v | (((long)x) & 0xff) << 40l);
+ x = ((mData[--mPos]));
+ v = (long)(v | (((long)x) & 0xff) << 32l);
+ x = ((mData[--mPos]));
+ v = (long)(v | (((long)x) & 0xff) << 24l);
+ x = ((mData[--mPos]));
+ v = (long)(v | (((long)x) & 0xff) << 16l);
+ x = ((mData[--mPos]));
+ v = (long)(v | (((long)x) & 0xff) << 8l);
+ x = ((mData[--mPos]));
+ v = (long)(v | (((long)x) & 0xff));
+ return v;
+ }
+
public void addU8(short v) {
- if (RenderScript.shouldThunk()) {
- mN.addU8(v);
- return;
- }
if ((v < 0) || (v > 0xff)) {
+ android.util.Log.e("rs", "FieldPacker.addU8( " + v + " )");
throw new IllegalArgumentException("Saving value out of range for type");
}
mData[mPos++] = (byte)v;
}
public void addU16(int v) {
- if (RenderScript.shouldThunk()) {
- mN.addU16(v);
- return;
- }
if ((v < 0) || (v > 0xffff)) {
android.util.Log.e("rs", "FieldPacker.addU16( " + v + " )");
throw new IllegalArgumentException("Saving value out of range for type");
@@ -155,10 +192,6 @@
}
public void addU32(long v) {
- if (RenderScript.shouldThunk()) {
- mN.addU32(v);
- return;
- }
if ((v < 0) || (v > 0xffffffffL)) {
android.util.Log.e("rs", "FieldPacker.addU32( " + v + " )");
throw new IllegalArgumentException("Saving value out of range for type");
@@ -171,10 +204,6 @@
}
public void addU64(long v) {
- if (RenderScript.shouldThunk()) {
- mN.addU64(v);
- return;
- }
if (v < 0) {
android.util.Log.e("rs", "FieldPacker.addU64( " + v + " )");
throw new IllegalArgumentException("Saving value out of range for type");
@@ -191,55 +220,54 @@
}
public void addF32(float v) {
- if (RenderScript.shouldThunk()) {
- mN.addF32(v);
- return;
- }
addI32(Float.floatToRawIntBits(v));
}
+ public float subF32() {
+ return Float.intBitsToFloat(subI32());
+ }
+
public void addF64(double v) {
- if (RenderScript.shouldThunk()) {
- mN.addF64(v);
- return;
- }
addI64(Double.doubleToRawLongBits(v));
}
+ public double subF64() {
+ return Double.longBitsToDouble(subI64());
+ }
+
public void addObj(BaseObj obj) {
- if (RenderScript.shouldThunk()) {
- mN.addObj(obj);
- return;
- }
if (obj != null) {
- addI32(obj.getID(null));
+ if (RenderScript.sPointerSize == 8) {
+ addI64(obj.getID(null));
+ addI64(0);
+ addI64(0);
+ addI64(0);
+ }
+ else {
+ addI32((int)obj.getID(null));
+ }
} else {
- addI32(0);
+ if (RenderScript.sPointerSize == 8) {
+ addI64(0);
+ addI64(0);
+ addI64(0);
+ addI64(0);
+ } else {
+ addI32(0);
+ }
}
}
public void addF32(Float2 v) {
- if (RenderScript.shouldThunk()) {
- mN.addF32(v);
- return;
- }
addF32(v.x);
addF32(v.y);
}
public void addF32(Float3 v) {
- if (RenderScript.shouldThunk()) {
- mN.addF32(v);
- return;
- }
addF32(v.x);
addF32(v.y);
addF32(v.z);
}
public void addF32(Float4 v) {
- if (RenderScript.shouldThunk()) {
- mN.addF32(v);
- return;
- }
addF32(v.x);
addF32(v.y);
addF32(v.z);
@@ -247,27 +275,15 @@
}
public void addF64(Double2 v) {
- if (RenderScript.shouldThunk()) {
- mN.addF64(v);
- return;
- }
addF64(v.x);
addF64(v.y);
}
public void addF64(Double3 v) {
- if (RenderScript.shouldThunk()) {
- mN.addF64(v);
- return;
- }
addF64(v.x);
addF64(v.y);
addF64(v.z);
}
public void addF64(Double4 v) {
- if (RenderScript.shouldThunk()) {
- mN.addF64(v);
- return;
- }
addF64(v.x);
addF64(v.y);
addF64(v.z);
@@ -275,27 +291,15 @@
}
public void addI8(Byte2 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI8(v);
- return;
- }
addI8(v.x);
addI8(v.y);
}
public void addI8(Byte3 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI8(v);
- return;
- }
addI8(v.x);
addI8(v.y);
addI8(v.z);
}
public void addI8(Byte4 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI8(v);
- return;
- }
addI8(v.x);
addI8(v.y);
addI8(v.z);
@@ -303,27 +307,15 @@
}
public void addU8(Short2 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU8(v);
- return;
- }
addU8(v.x);
addU8(v.y);
}
public void addU8(Short3 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU8(v);
- return;
- }
addU8(v.x);
addU8(v.y);
addU8(v.z);
}
public void addU8(Short4 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU8(v);
- return;
- }
addU8(v.x);
addU8(v.y);
addU8(v.z);
@@ -331,27 +323,15 @@
}
public void addI16(Short2 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI16(v);
- return;
- }
addI16(v.x);
addI16(v.y);
}
public void addI16(Short3 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI16(v);
- return;
- }
addI16(v.x);
addI16(v.y);
addI16(v.z);
}
public void addI16(Short4 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI16(v);
- return;
- }
addI16(v.x);
addI16(v.y);
addI16(v.z);
@@ -359,27 +339,15 @@
}
public void addU16(Int2 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU16(v);
- return;
- }
addU16(v.x);
addU16(v.y);
}
public void addU16(Int3 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU16(v);
- return;
- }
addU16(v.x);
addU16(v.y);
addU16(v.z);
}
public void addU16(Int4 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU16(v);
- return;
- }
addU16(v.x);
addU16(v.y);
addU16(v.z);
@@ -387,27 +355,15 @@
}
public void addI32(Int2 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI32(v);
- return;
- }
addI32(v.x);
addI32(v.y);
}
public void addI32(Int3 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI32(v);
- return;
- }
addI32(v.x);
addI32(v.y);
addI32(v.z);
}
public void addI32(Int4 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI32(v);
- return;
- }
addI32(v.x);
addI32(v.y);
addI32(v.z);
@@ -415,27 +371,15 @@
}
public void addU32(Long2 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU32(v);
- return;
- }
addU32(v.x);
addU32(v.y);
}
public void addU32(Long3 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU32(v);
- return;
- }
addU32(v.x);
addU32(v.y);
addU32(v.z);
}
public void addU32(Long4 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU32(v);
- return;
- }
addU32(v.x);
addU32(v.y);
addU32(v.z);
@@ -443,27 +387,15 @@
}
public void addI64(Long2 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI64(v);
- return;
- }
addI64(v.x);
addI64(v.y);
}
public void addI64(Long3 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI64(v);
- return;
- }
addI64(v.x);
addI64(v.y);
addI64(v.z);
}
public void addI64(Long4 v) {
- if (RenderScript.shouldThunk()) {
- mN.addI64(v);
- return;
- }
addI64(v.x);
addI64(v.y);
addI64(v.z);
@@ -471,88 +403,510 @@
}
public void addU64(Long2 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU64(v);
- return;
- }
addU64(v.x);
addU64(v.y);
}
public void addU64(Long3 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU64(v);
- return;
- }
addU64(v.x);
addU64(v.y);
addU64(v.z);
}
public void addU64(Long4 v) {
- if (RenderScript.shouldThunk()) {
- mN.addU64(v);
- return;
- }
addU64(v.x);
addU64(v.y);
addU64(v.z);
addU64(v.w);
}
+
+ public Float2 subFloat2() {
+ Float2 v = new Float2();
+ v.y = subF32();
+ v.x = subF32();
+ return v;
+ }
+ public Float3 subFloat3() {
+ Float3 v = new Float3();
+ v.z = subF32();
+ v.y = subF32();
+ v.x = subF32();
+ return v;
+ }
+ public Float4 subFloat4() {
+ Float4 v = new Float4();
+ v.w = subF32();
+ v.z = subF32();
+ v.y = subF32();
+ v.x = subF32();
+ return v;
+ }
+
+ public Double2 subDouble2() {
+ Double2 v = new Double2();
+ v.y = subF64();
+ v.x = subF64();
+ return v;
+ }
+ public Double3 subDouble3() {
+ Double3 v = new Double3();
+ v.z = subF64();
+ v.y = subF64();
+ v.x = subF64();
+ return v;
+ }
+ public Double4 subDouble4() {
+ Double4 v = new Double4();
+ v.w = subF64();
+ v.z = subF64();
+ v.y = subF64();
+ v.x = subF64();
+ return v;
+ }
+
+ public Byte2 subByte2() {
+ Byte2 v = new Byte2();
+ v.y = subI8();
+ v.x = subI8();
+ return v;
+ }
+ public Byte3 subByte3() {
+ Byte3 v = new Byte3();
+ v.z = subI8();
+ v.y = subI8();
+ v.x = subI8();
+ return v;
+ }
+ public Byte4 subByte4() {
+ Byte4 v = new Byte4();
+ v.w = subI8();
+ v.z = subI8();
+ v.y = subI8();
+ v.x = subI8();
+ return v;
+ }
+
+ public Short2 subShort2() {
+ Short2 v = new Short2();
+ v.y = subI16();
+ v.x = subI16();
+ return v;
+ }
+ public Short3 subShort3() {
+ Short3 v = new Short3();
+ v.z = subI16();
+ v.y = subI16();
+ v.x = subI16();
+ return v;
+ }
+ public Short4 subShort4() {
+ Short4 v = new Short4();
+ v.w = subI16();
+ v.z = subI16();
+ v.y = subI16();
+ v.x = subI16();
+ return v;
+ }
+
+ public Int2 subInt2() {
+ Int2 v = new Int2();
+ v.y = subI32();
+ v.x = subI32();
+ return v;
+ }
+ public Int3 subInt3() {
+ Int3 v = new Int3();
+ v.z = subI32();
+ v.y = subI32();
+ v.x = subI32();
+ return v;
+ }
+ public Int4 subInt4() {
+ Int4 v = new Int4();
+ v.w = subI32();
+ v.z = subI32();
+ v.y = subI32();
+ v.x = subI32();
+ return v;
+ }
+
+ public Long2 subLong2() {
+ Long2 v = new Long2();
+ v.y = subI64();
+ v.x = subI64();
+ return v;
+ }
+ public Long3 subLong3() {
+ Long3 v = new Long3();
+ v.z = subI64();
+ v.y = subI64();
+ v.x = subI64();
+ return v;
+ }
+ public Long4 subLong4() {
+ Long4 v = new Long4();
+ v.w = subI64();
+ v.z = subI64();
+ v.y = subI64();
+ v.x = subI64();
+ return v;
+ }
+
+
+
public void addMatrix(Matrix4f v) {
- if (RenderScript.shouldThunk()) {
- mN.addMatrix(v);
- return;
- }
for (int i=0; i < v.mMat.length; i++) {
addF32(v.mMat[i]);
}
}
+ public Matrix4f subMatrix4f() {
+ Matrix4f v = new Matrix4f();
+ for (int i = v.mMat.length - 1; i >= 0; i--) {
+ v.mMat[i] = subF32();
+ }
+ return v;
+ }
+
public void addMatrix(Matrix3f v) {
- if (RenderScript.shouldThunk()) {
- mN.addMatrix(v);
- return;
- }
for (int i=0; i < v.mMat.length; i++) {
addF32(v.mMat[i]);
}
}
+ public Matrix3f subMatrix3f() {
+ Matrix3f v = new Matrix3f();
+ for (int i = v.mMat.length - 1; i >= 0; i--) {
+ v.mMat[i] = subF32();
+ }
+ return v;
+ }
+
public void addMatrix(Matrix2f v) {
- if (RenderScript.shouldThunk()) {
- mN.addMatrix(v);
- return;
- }
for (int i=0; i < v.mMat.length; i++) {
addF32(v.mMat[i]);
}
}
- public void addBoolean(boolean v) {
- if (RenderScript.shouldThunk()) {
- mN.addBoolean(v);
- return;
+ public Matrix2f subMatrix2f() {
+ Matrix2f v = new Matrix2f();
+ for (int i = v.mMat.length - 1; i >= 0; i--) {
+ v.mMat[i] = subF32();
}
+ return v;
+ }
+
+ public void addBoolean(boolean v) {
addI8((byte)(v ? 1 : 0));
}
- public final byte[] getData() {
- if (RenderScript.shouldThunk()) {
- return mN.getData();
+ public boolean subBoolean() {
+ byte v = subI8();
+ if (v == 1) {
+ return true;
}
+ return false;
+ }
+
+ public final byte[] getData() {
return mData;
}
+ /**
+ * Get the actual length used for the FieldPacker.
+ *
+ * @hide
+ */
public int getPos() {
- if (RenderScript.shouldThunk()) {
- return mN.getPos();
- }
return mPos;
}
+ private static void addToPack(FieldPacker fp, Object obj) {
+ if (obj instanceof Boolean) {
+ fp.addBoolean(((Boolean)obj).booleanValue());
+ return;
+ }
+
+ if (obj instanceof Byte) {
+ fp.addI8(((Byte)obj).byteValue());
+ return;
+ }
+
+ if (obj instanceof Short) {
+ fp.addI16(((Short)obj).shortValue());
+ return;
+ }
+
+ if (obj instanceof Integer) {
+ fp.addI32(((Integer)obj).intValue());
+ return;
+ }
+
+ if (obj instanceof Long) {
+ fp.addI64(((Long)obj).longValue());
+ return;
+ }
+
+ if (obj instanceof Float) {
+ fp.addF32(((Float)obj).floatValue());
+ return;
+ }
+
+ if (obj instanceof Double) {
+ fp.addF64(((Double)obj).doubleValue());
+ return;
+ }
+
+ if (obj instanceof Byte2) {
+ fp.addI8((Byte2)obj);
+ return;
+ }
+
+ if (obj instanceof Byte3) {
+ fp.addI8((Byte3)obj);
+ return;
+ }
+
+ if (obj instanceof Byte4) {
+ fp.addI8((Byte4)obj);
+ return;
+ }
+
+ if (obj instanceof Short2) {
+ fp.addI16((Short2)obj);
+ return;
+ }
+
+ if (obj instanceof Short3) {
+ fp.addI16((Short3)obj);
+ return;
+ }
+
+ if (obj instanceof Short4) {
+ fp.addI16((Short4)obj);
+ return;
+ }
+
+ if (obj instanceof Int2) {
+ fp.addI32((Int2)obj);
+ return;
+ }
+
+ if (obj instanceof Int3) {
+ fp.addI32((Int3)obj);
+ return;
+ }
+
+ if (obj instanceof Int4) {
+ fp.addI32((Int4)obj);
+ return;
+ }
+
+ if (obj instanceof Long2) {
+ fp.addI64((Long2)obj);
+ return;
+ }
+
+ if (obj instanceof Long3) {
+ fp.addI64((Long3)obj);
+ return;
+ }
+
+ if (obj instanceof Long4) {
+ fp.addI64((Long4)obj);
+ return;
+ }
+
+ if (obj instanceof Float2) {
+ fp.addF32((Float2)obj);
+ return;
+ }
+
+ if (obj instanceof Float3) {
+ fp.addF32((Float3)obj);
+ return;
+ }
+
+ if (obj instanceof Float4) {
+ fp.addF32((Float4)obj);
+ return;
+ }
+
+ if (obj instanceof Double2) {
+ fp.addF64((Double2)obj);
+ return;
+ }
+
+ if (obj instanceof Double3) {
+ fp.addF64((Double3)obj);
+ return;
+ }
+
+ if (obj instanceof Double4) {
+ fp.addF64((Double4)obj);
+ return;
+ }
+
+ if (obj instanceof Matrix2f) {
+ fp.addMatrix((Matrix2f)obj);
+ return;
+ }
+
+ if (obj instanceof Matrix3f) {
+ fp.addMatrix((Matrix3f)obj);
+ return;
+ }
+
+ if (obj instanceof Matrix4f) {
+ fp.addMatrix((Matrix4f)obj);
+ return;
+ }
+
+ if (obj instanceof BaseObj) {
+ fp.addObj((BaseObj)obj);
+ return;
+ }
+ }
+
+ private static int getPackedSize(Object obj) {
+ if (obj instanceof Boolean) {
+ return 1;
+ }
+
+ if (obj instanceof Byte) {
+ return 1;
+ }
+
+ if (obj instanceof Short) {
+ return 2;
+ }
+
+ if (obj instanceof Integer) {
+ return 4;
+ }
+
+ if (obj instanceof Long) {
+ return 8;
+ }
+
+ if (obj instanceof Float) {
+ return 4;
+ }
+
+ if (obj instanceof Double) {
+ return 8;
+ }
+
+ if (obj instanceof Byte2) {
+ return 2;
+ }
+
+ if (obj instanceof Byte3) {
+ return 3;
+ }
+
+ if (obj instanceof Byte4) {
+ return 4;
+ }
+
+ if (obj instanceof Short2) {
+ return 4;
+ }
+
+ if (obj instanceof Short3) {
+ return 6;
+ }
+
+ if (obj instanceof Short4) {
+ return 8;
+ }
+
+ if (obj instanceof Int2) {
+ return 8;
+ }
+
+ if (obj instanceof Int3) {
+ return 12;
+ }
+
+ if (obj instanceof Int4) {
+ return 16;
+ }
+
+ if (obj instanceof Long2) {
+ return 16;
+ }
+
+ if (obj instanceof Long3) {
+ return 24;
+ }
+
+ if (obj instanceof Long4) {
+ return 32;
+ }
+
+ if (obj instanceof Float2) {
+ return 8;
+ }
+
+ if (obj instanceof Float3) {
+ return 12;
+ }
+
+ if (obj instanceof Float4) {
+ return 16;
+ }
+
+ if (obj instanceof Double2) {
+ return 16;
+ }
+
+ if (obj instanceof Double3) {
+ return 24;
+ }
+
+ if (obj instanceof Double4) {
+ return 32;
+ }
+
+ if (obj instanceof Matrix2f) {
+ return 16;
+ }
+
+ if (obj instanceof Matrix3f) {
+ return 36;
+ }
+
+ if (obj instanceof Matrix4f) {
+ return 64;
+ }
+
+ if (obj instanceof BaseObj) {
+ if (RenderScript.sPointerSize == 8) {
+ return 32;
+ } else {
+ return 4;
+ }
+ }
+
+ return 0;
+ }
+
+ static FieldPacker createFieldPack(Object[] args) {
+ int len = 0;
+ for (Object arg : args) {
+ len += getPackedSize(arg);
+ }
+ FieldPacker fp = new FieldPacker(len);
+ for (Object arg : args) {
+ addToPack(fp, arg);
+ }
+ return fp;
+ }
+
private final byte mData[];
private int mPos;
private int mLen;
+ private BitSet mAlignment;
}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/FieldPackerThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/FieldPackerThunker.java
deleted file mode 100644
index b61e482..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/FieldPackerThunker.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import android.support.v8.renderscript.RenderScript;
-
-/**
- * Utility class for packing arguments and structures from Android system objects to
- * RenderScript objects.
- *
- * This class is only intended to be used to support the
- * reflected code generated by the RS tool chain. It should not
- * be called directly.
- *
- **/
-public class FieldPackerThunker {
- private android.renderscript.FieldPacker mN;
- private int mPos;
-
- public FieldPackerThunker(int len) {
- mN = new android.renderscript.FieldPacker(len);
- mPos = 0;
- }
-
- void align(int v) {
- mN.align(v);
- while ((mPos & (v - 1)) != 0) {
- mPos++;
- }
- }
-
- void reset() {
- mN.reset();
- mPos = 0;
- }
-
- void reset(int i) {
- mN.reset(i);
- mPos = i;
- }
-
- public void skip(int i) {
- mN.skip(i);
- mPos += i;
- }
-
- public void addI8(byte v) {
- mN.addI8(v);
- mPos++;
- }
-
- public void addI16(short v) {
- mN.addI16(v);
- mPos += 2;
- }
-
- public void addI32(int v) {
- mN.addI32(v);
- mPos += 4;
- }
-
- public void addI64(long v) {
- mN.addI64(v);
- mPos += 8;
- }
-
- public void addU8(short v) {
- mN.addU8(v);
- mPos++;
- }
-
- public void addU16(int v) {
- mN.addU16(v);
- mPos += 2;
- }
-
- public void addU32(long v) {
- mN.addU32(v);
- mPos += 4;
- }
-
- public void addU64(long v) {
- mN.addU64(v);
- mPos += 8;
- }
-
- public void addF32(float v) {
- mN.addF32(v);
- mPos += 4;
- }
-
- public void addF64(double v) {
- mN.addF64(v);
- mPos += 8;
- }
-
- public void addObj(BaseObj obj) {
- if (obj != null) {
- mN.addObj(obj.getNObj());
- } else {
- mN.addObj(null);
- }
- mPos += 4; // Compat lib only works in 32-bit mode, so objects are 4 bytes.
- }
-
- public void addF32(Float2 v) {
- mN.addF32(new android.renderscript.Float2(v.x, v.y));
- mPos += 8;
- }
- public void addF32(Float3 v) {
- mN.addF32(new android.renderscript.Float3(v.x, v.y, v.z));
- mPos += 12;
- }
- public void addF32(Float4 v) {
- mN.addF32(new android.renderscript.Float4(v.x, v.y, v.z, v.w));
- mPos += 16;
- }
-
- public void addF64(Double2 v) {
- mN.addF64(new android.renderscript.Double2(v.x, v.y));
- mPos += 16;
- }
- public void addF64(Double3 v) {
- mN.addF64(new android.renderscript.Double3(v.x, v.y, v.z));
- mPos += 24;
- }
- public void addF64(Double4 v) {
- mN.addF64(new android.renderscript.Double4(v.x, v.y, v.z, v.w));
- mPos += 32;
- }
-
- public void addI8(Byte2 v) {
- mN.addI8(new android.renderscript.Byte2(v.x, v.y));
- mPos += 2;
- }
- public void addI8(Byte3 v) {
- mN.addI8(new android.renderscript.Byte3(v.x, v.y, v.z));
- mPos += 3;
- }
- public void addI8(Byte4 v) {
- mN.addI8(new android.renderscript.Byte4(v.x, v.y, v.z, v.w));
- mPos += 4;
- }
-
- public void addU8(Short2 v) {
- mN.addU8(new android.renderscript.Short2(v.x, v.y));
- mPos += 2;
- }
- public void addU8(Short3 v) {
- mN.addU8(new android.renderscript.Short3(v.x, v.y, v.z));
- mPos += 3;
- }
- public void addU8(Short4 v) {
- mN.addU8(new android.renderscript.Short4(v.x, v.y, v.z, v.w));
- mPos += 4;
- }
-
- public void addI16(Short2 v) {
- mN.addI16(new android.renderscript.Short2(v.x, v.y));
- mPos += 4;
- }
- public void addI16(Short3 v) {
- mN.addI16(new android.renderscript.Short3(v.x, v.y, v.z));
- mPos += 6;
- }
- public void addI16(Short4 v) {
- mN.addI16(new android.renderscript.Short4(v.x, v.y, v.z, v.w));
- mPos += 8;
- }
-
- public void addU16(Int2 v) {
- mN.addU16(new android.renderscript.Int2(v.x, v.y));
- mPos += 4;
- }
- public void addU16(Int3 v) {
- mN.addU16(new android.renderscript.Int3(v.x, v.y, v.z));
- mPos += 6;
- }
- public void addU16(Int4 v) {
- mN.addU16(new android.renderscript.Int4(v.x, v.y, v.z, v.w));
- mPos += 8;
- }
-
- public void addI32(Int2 v) {
- mN.addI32(new android.renderscript.Int2(v.x, v.y));
- mPos += 8;
- }
- public void addI32(Int3 v) {
- mN.addI32(new android.renderscript.Int3(v.x, v.y, v.z));
- mPos += 12;
- }
- public void addI32(Int4 v) {
- mN.addI32(new android.renderscript.Int4(v.x, v.y, v.z, v.w));
- mPos += 16;
- }
-
- public void addU32(Long2 v) {
- mN.addU32(new android.renderscript.Long2(v.x, v.y));
- mPos += 8;
- }
- public void addU32(Long3 v) {
- mN.addU32(new android.renderscript.Long3(v.x, v.y, v.z));
- mPos += 12;
- }
- public void addU32(Long4 v) {
- mN.addU32(new android.renderscript.Long4(v.x, v.y, v.z, v.w));
- mPos += 16;
- }
-
- public void addI64(Long2 v) {
- mN.addI64(new android.renderscript.Long2(v.x, v.y));
- mPos += 16;
- }
- public void addI64(Long3 v) {
- mN.addI64(new android.renderscript.Long3(v.x, v.y, v.z));
- mPos += 24;
- }
- public void addI64(Long4 v) {
- mN.addI64(new android.renderscript.Long4(v.x, v.y, v.z, v.w));
- mPos += 32;
- }
-
- public void addU64(Long2 v) {
- mN.addU64(new android.renderscript.Long2(v.x, v.y));
- mPos += 16;
- }
- public void addU64(Long3 v) {
- mN.addU64(new android.renderscript.Long3(v.x, v.y, v.z));
- mPos += 24;
- }
- public void addU64(Long4 v) {
- mN.addU64(new android.renderscript.Long4(v.x, v.y, v.z, v.w));
- mPos += 32;
- }
-
- public void addMatrix(Matrix4f v) {
- mN.addMatrix(new android.renderscript.Matrix4f(v.getArray()));
- mPos += (4 * 4 * 4);
- }
-
- public void addMatrix(Matrix3f v) {
- mN.addMatrix(new android.renderscript.Matrix3f(v.getArray()));
- mPos += (3 * 3 * 4);
- }
-
- public void addMatrix(Matrix2f v) {
- mN.addMatrix(new android.renderscript.Matrix2f(v.getArray()));
- mPos += (2 * 2 * 4);
- }
-
- public void addBoolean(boolean v) {
- mN.addBoolean(v);
- mPos++;
- }
-
- public final byte[] getData() {
- return mN.getData();
- }
-
- // We must compute our own mPos, since this API is not available in older target APIs.
- public int getPos() {
- return mPos;
- }
-}
-
-
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
index 762c715..8f681d8 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScript.java
@@ -49,6 +49,7 @@
static final boolean LOG_ENABLED = false;
private Context mApplicationContext;
+ private String mNativeLibDir;
/*
* We use a class initializer to allow the native code to cache some
@@ -64,35 +65,37 @@
static Object lock = new Object();
// Non-threadsafe functions.
- native int nDeviceCreate();
- native void nDeviceDestroy(int dev);
- native void nDeviceSetConfig(int dev, int param, int value);
- native int nContextGetUserMessage(int con, int[] data);
- native String nContextGetErrorMessage(int con);
- native int nContextPeekMessage(int con, int[] subID);
- native void nContextInitToClient(int con);
- native void nContextDeinitToClient(int con);
+ native boolean nLoadSO(boolean useNative);
+ native boolean nLoadIOSO();
+ native long nDeviceCreate();
+ native void nDeviceDestroy(long dev);
+ native void nDeviceSetConfig(long dev, int param, int value);
+ native int nContextGetUserMessage(long con, int[] data);
+ native String nContextGetErrorMessage(long con);
+ native int nContextPeekMessage(long con, int[] subID);
+ native void nContextInitToClient(long con);
+ native void nContextDeinitToClient(long con);
- static boolean isNative = false;
-
- static private int sThunk = -1;
+ static private int sNative = -1;
static private int sSdkVersion = -1;
+ static private boolean useIOlib = false;
+ static private boolean useNative;
- static boolean shouldThunk() {
- if (sThunk == -1) {
- throw new RSRuntimeException("Can't use RS classes before setting up a RenderScript context");
- } else if (sThunk == 1) {
- return true;
- }
- return false;
+ boolean isUseNative() {
+ return useNative;
}
+ /*
+ * Detect the bitness of the VM to allow FieldPacker to do the right thing.
+ */
+ static native int rsnSystemGetPointerSize();
+ static int sPointerSize;
/**
* Determines whether or not we should be thunking into the native
* RenderScript layer or actually using the compatibility library.
*/
- static private boolean setupThunk(int sdkVersion, Context ctx) {
- if (sThunk == -1) {
+ static private boolean setupNative(int sdkVersion, Context ctx) {
+ if (sNative == -1) {
// get the value of the debug.rs.forcecompat property
int forcecompat = 0;
@@ -106,19 +109,15 @@
}
- // use compat on Jelly Bean MR2 if we're requesting SDK 19+
- if (android.os.Build.VERSION.SDK_INT == 18 && sdkVersion >= 19) {
- sThunk = 0;
- }
- else if ((android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2)
+ if ((android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT)
&& forcecompat == 0) {
- sThunk = 1;
+ sNative = 1;
} else {
- sThunk = 0;
+ sNative = 0;
}
- if (sThunk == 1) {
+ if (sNative == 1) {
// Workarounds that may disable thunking go here
ApplicationInfo info;
try {
@@ -143,7 +142,7 @@
// asynchronous teardown: minor version 1+
if (info.metaData.getBoolean("com.android.support.v8.renderscript.EnableAsyncTeardown") == true) {
if (minorVersion == 0) {
- sThunk = 0;
+ sNative = 0;
}
}
@@ -151,7 +150,7 @@
if (info.metaData.getBoolean("com.android.support.v8.renderscript.EnableBlurWorkaround") == true) {
if (android.os.Build.VERSION.SDK_INT <= 19) {
//android.util.Log.e("rs", "war on");
- sThunk = 0;
+ sNative = 0;
}
}
}
@@ -159,7 +158,7 @@
}
}
- if (sThunk == 1) {
+ if (sNative == 1) {
return true;
}
return false;
@@ -217,11 +216,12 @@
// Methods below are wrapped to protect the non-threadsafe
// lockless fifo.
- native int rsnContextCreate(int dev, int ver, int sdkVer, int contextType);
- synchronized int nContextCreate(int dev, int ver, int sdkVer, int contextType) {
- return rsnContextCreate(dev, ver, sdkVer, contextType);
+
+ native long rsnContextCreate(long dev, int ver, int sdkVer, int contextType, String nativeLibDir);
+ synchronized long nContextCreate(long dev, int ver, int sdkVer, int contextType, String nativeLibDir) {
+ return rsnContextCreate(dev, ver, sdkVer, contextType, nativeLibDir);
}
- native void rsnContextDestroy(int con);
+ native void rsnContextDestroy(long con);
synchronized void nContextDestroy() {
validate();
@@ -230,38 +230,38 @@
ReentrantReadWriteLock.WriteLock wlock = mRWLock.writeLock();
wlock.lock();
- int curCon = mContext;
+ long curCon = mContext;
// context is considered dead as of this point
mContext = 0;
wlock.unlock();
rsnContextDestroy(curCon);
}
- native void rsnContextSetPriority(int con, int p);
+ native void rsnContextSetPriority(long con, int p);
synchronized void nContextSetPriority(int p) {
validate();
rsnContextSetPriority(mContext, p);
}
- native void rsnContextDump(int con, int bits);
+ native void rsnContextDump(long con, int bits);
synchronized void nContextDump(int bits) {
validate();
rsnContextDump(mContext, bits);
}
- native void rsnContextFinish(int con);
+ native void rsnContextFinish(long con);
synchronized void nContextFinish() {
validate();
rsnContextFinish(mContext);
}
- native void rsnContextSendMessage(int con, int id, int[] data);
+ native void rsnContextSendMessage(long con, int id, int[] data);
synchronized void nContextSendMessage(int id, int[] data) {
validate();
rsnContextSendMessage(mContext, id, data);
}
// nObjDestroy is explicitly _not_ synchronous to prevent crashes in finalizers
- native void rsnObjDestroy(int con, int id);
- void nObjDestroy(int id) {
+ native void rsnObjDestroy(long con, long id);
+ void nObjDestroy(long id) {
// There is a race condition here. The calling code may be run
// by the gc while teardown is occuring. This protects againts
// deleting dead objects.
@@ -270,146 +270,148 @@
}
}
- native int rsnElementCreate(int con, int type, int kind, boolean norm, int vecSize);
- synchronized int nElementCreate(int type, int kind, boolean norm, int vecSize) {
+ native long rsnElementCreate(long con, long type, int kind, boolean norm, int vecSize);
+ synchronized long nElementCreate(long type, int kind, boolean norm, int vecSize) {
validate();
return rsnElementCreate(mContext, type, kind, norm, vecSize);
}
- native int rsnElementCreate2(int con, int[] elements, String[] names, int[] arraySizes);
- synchronized int nElementCreate2(int[] elements, String[] names, int[] arraySizes) {
+ native long rsnElementCreate2(long con, long[] elements, String[] names, int[] arraySizes);
+ synchronized long nElementCreate2(long[] elements, String[] names, int[] arraySizes) {
validate();
return rsnElementCreate2(mContext, elements, names, arraySizes);
}
- native void rsnElementGetNativeData(int con, int id, int[] elementData);
- synchronized void nElementGetNativeData(int id, int[] elementData) {
+ native void rsnElementGetNativeData(long con, long id, int[] elementData);
+ synchronized void nElementGetNativeData(long id, int[] elementData) {
validate();
rsnElementGetNativeData(mContext, id, elementData);
}
- native void rsnElementGetSubElements(int con, int id,
- int[] IDs, String[] names, int[] arraySizes);
- synchronized void nElementGetSubElements(int id, int[] IDs, String[] names, int[] arraySizes) {
+ native void rsnElementGetSubElements(long con, long id,
+ long[] IDs, String[] names, int[] arraySizes);
+ synchronized void nElementGetSubElements(long id, long[] IDs, String[] names, int[] arraySizes) {
validate();
rsnElementGetSubElements(mContext, id, IDs, names, arraySizes);
}
- native int rsnTypeCreate(int con, int eid, int x, int y, int z, boolean mips, boolean faces, int yuv);
- synchronized int nTypeCreate(int eid, int x, int y, int z, boolean mips, boolean faces, int yuv) {
+ native long rsnTypeCreate(long con, long eid, int x, int y, int z, boolean mips, boolean faces, int yuv);
+ synchronized long nTypeCreate(long eid, int x, int y, int z, boolean mips, boolean faces, int yuv) {
validate();
return rsnTypeCreate(mContext, eid, x, y, z, mips, faces, yuv);
}
- native void rsnTypeGetNativeData(int con, int id, int[] typeData);
- synchronized void nTypeGetNativeData(int id, int[] typeData) {
+
+ native void rsnTypeGetNativeData(long con, long id, long[] typeData);
+ synchronized void nTypeGetNativeData(long id, long[] typeData) {
validate();
rsnTypeGetNativeData(mContext, id, typeData);
}
- native int rsnAllocationCreateTyped(int con, int type, int mip, int usage, int pointer);
- synchronized int nAllocationCreateTyped(int type, int mip, int usage, int pointer) {
+ native long rsnAllocationCreateTyped(long con, long type, int mip, int usage, long pointer);
+ synchronized long nAllocationCreateTyped(long type, int mip, int usage, long pointer) {
validate();
return rsnAllocationCreateTyped(mContext, type, mip, usage, pointer);
}
- native int rsnAllocationCreateFromBitmap(int con, int type, int mip, Bitmap bmp, int usage);
- synchronized int nAllocationCreateFromBitmap(int type, int mip, Bitmap bmp, int usage) {
+ native long rsnAllocationCreateFromBitmap(long con, long type, int mip, Bitmap bmp, int usage);
+ synchronized long nAllocationCreateFromBitmap(long type, int mip, Bitmap bmp, int usage) {
validate();
return rsnAllocationCreateFromBitmap(mContext, type, mip, bmp, usage);
}
- native int rsnAllocationCreateBitmapBackedAllocation(int con, int type, int mip, Bitmap bmp, int usage);
- synchronized int nAllocationCreateBitmapBackedAllocation(int type, int mip, Bitmap bmp, int usage) {
+ native long rsnAllocationCreateBitmapBackedAllocation(long con, long type, int mip, Bitmap bmp, int usage);
+ synchronized long nAllocationCreateBitmapBackedAllocation(long type, int mip, Bitmap bmp, int usage) {
validate();
return rsnAllocationCreateBitmapBackedAllocation(mContext, type, mip, bmp, usage);
}
- native int rsnAllocationCubeCreateFromBitmap(int con, int type, int mip, Bitmap bmp, int usage);
- synchronized int nAllocationCubeCreateFromBitmap(int type, int mip, Bitmap bmp, int usage) {
+ native long rsnAllocationCubeCreateFromBitmap(long con, long type, int mip, Bitmap bmp, int usage);
+ synchronized long nAllocationCubeCreateFromBitmap(long type, int mip, Bitmap bmp, int usage) {
validate();
return rsnAllocationCubeCreateFromBitmap(mContext, type, mip, bmp, usage);
}
- native int rsnAllocationCreateBitmapRef(int con, int type, Bitmap bmp);
- synchronized int nAllocationCreateBitmapRef(int type, Bitmap bmp) {
+ native long rsnAllocationCreateBitmapRef(long con, long type, Bitmap bmp);
+ synchronized long nAllocationCreateBitmapRef(long type, Bitmap bmp) {
validate();
return rsnAllocationCreateBitmapRef(mContext, type, bmp);
}
- native int rsnAllocationCreateFromAssetStream(int con, int mips, int assetStream, int usage);
- synchronized int nAllocationCreateFromAssetStream(int mips, int assetStream, int usage) {
+ native long rsnAllocationCreateFromAssetStream(long con, int mips, int assetStream, int usage);
+ synchronized long nAllocationCreateFromAssetStream(int mips, int assetStream, int usage) {
validate();
return rsnAllocationCreateFromAssetStream(mContext, mips, assetStream, usage);
}
- native void rsnAllocationCopyToBitmap(int con, int alloc, Bitmap bmp);
- synchronized void nAllocationCopyToBitmap(int alloc, Bitmap bmp) {
+ native void rsnAllocationCopyToBitmap(long con, long alloc, Bitmap bmp);
+ synchronized void nAllocationCopyToBitmap(long alloc, Bitmap bmp) {
validate();
rsnAllocationCopyToBitmap(mContext, alloc, bmp);
}
- native void rsnAllocationSyncAll(int con, int alloc, int src);
- synchronized void nAllocationSyncAll(int alloc, int src) {
+ native void rsnAllocationSyncAll(long con, long alloc, int src);
+ synchronized void nAllocationSyncAll(long alloc, int src) {
validate();
rsnAllocationSyncAll(mContext, alloc, src);
}
- native void rsnAllocationIoSend(int con, int alloc);
- synchronized void nAllocationIoSend(int alloc) {
+
+ native void rsnAllocationSetSurface(long con, long alloc, Surface sur);
+ synchronized void nAllocationSetSurface(long alloc, Surface sur) {
+ validate();
+ rsnAllocationSetSurface(mContext, alloc, sur);
+ }
+
+ native void rsnAllocationIoSend(long con, long alloc);
+ synchronized void nAllocationIoSend(long alloc) {
validate();
rsnAllocationIoSend(mContext, alloc);
}
- native void rsnAllocationIoReceive(int con, int alloc);
- synchronized void nAllocationIoReceive(int alloc) {
+ native void rsnAllocationIoReceive(long con, long alloc);
+ synchronized void nAllocationIoReceive(long alloc) {
validate();
rsnAllocationIoReceive(mContext, alloc);
}
- native void rsnAllocationGenerateMipmaps(int con, int alloc);
- synchronized void nAllocationGenerateMipmaps(int alloc) {
+ native void rsnAllocationGenerateMipmaps(long con, long alloc);
+ synchronized void nAllocationGenerateMipmaps(long alloc) {
validate();
rsnAllocationGenerateMipmaps(mContext, alloc);
}
- native void rsnAllocationCopyFromBitmap(int con, int alloc, Bitmap bmp);
- synchronized void nAllocationCopyFromBitmap(int alloc, Bitmap bmp) {
+ native void rsnAllocationCopyFromBitmap(long con, long alloc, Bitmap bmp);
+ synchronized void nAllocationCopyFromBitmap(long alloc, Bitmap bmp) {
validate();
rsnAllocationCopyFromBitmap(mContext, alloc, bmp);
}
- native void rsnAllocationData1D(int con, int id, int off, int mip, int count, int[] d, int sizeBytes);
- synchronized void nAllocationData1D(int id, int off, int mip, int count, int[] d, int sizeBytes) {
+ native void rsnAllocationData1D(long con, long id, int off, int mip, int count, Object d, int sizeBytes, int dt,
+ int mSize, boolean usePadding);
+ synchronized void nAllocationData1D(long id, int off, int mip, int count, Object d, int sizeBytes, Element.DataType dt,
+ int mSize, boolean usePadding) {
validate();
- rsnAllocationData1D(mContext, id, off, mip, count, d, sizeBytes);
- }
- native void rsnAllocationData1D(int con, int id, int off, int mip, int count, short[] d, int sizeBytes);
- synchronized void nAllocationData1D(int id, int off, int mip, int count, short[] d, int sizeBytes) {
- validate();
- rsnAllocationData1D(mContext, id, off, mip, count, d, sizeBytes);
- }
- native void rsnAllocationData1D(int con, int id, int off, int mip, int count, byte[] d, int sizeBytes);
- synchronized void nAllocationData1D(int id, int off, int mip, int count, byte[] d, int sizeBytes) {
- validate();
- rsnAllocationData1D(mContext, id, off, mip, count, d, sizeBytes);
- }
- native void rsnAllocationData1D(int con, int id, int off, int mip, int count, float[] d, int sizeBytes);
- synchronized void nAllocationData1D(int id, int off, int mip, int count, float[] d, int sizeBytes) {
- validate();
- rsnAllocationData1D(mContext, id, off, mip, count, d, sizeBytes);
+ rsnAllocationData1D(mContext, id, off, mip, count, d, sizeBytes, dt.mID, mSize, usePadding);
}
- native void rsnAllocationElementData1D(int con, int id, int xoff, int mip, int compIdx, byte[] d, int sizeBytes);
- synchronized void nAllocationElementData1D(int id, int xoff, int mip, int compIdx, byte[] d, int sizeBytes) {
+ native void rsnAllocationElementData1D(long con,long id, int xoff, int mip, int compIdx, byte[] d, int sizeBytes);
+ synchronized void nAllocationElementData1D(long id, int xoff, int mip, int compIdx, byte[] d, int sizeBytes) {
validate();
rsnAllocationElementData1D(mContext, id, xoff, mip, compIdx, d, sizeBytes);
}
+ /*
+ native void rsnAllocationElementData(long con,long id, int xoff, int yoff, int zoff, int mip, int compIdx, byte[] d, int sizeBytes);
+ synchronized void nAllocationElementData(long id, int xoff, int yoff, int zoff, int mip, int compIdx, byte[] d, int sizeBytes) {
+ validate();
+ rsnAllocationElementData(mContext, id, xoff, yoff, zoff, mip, compIdx, d, sizeBytes);
+ }
+ */
- native void rsnAllocationData2D(int con,
- int dstAlloc, int dstXoff, int dstYoff,
+ native void rsnAllocationData2D(long con,
+ long dstAlloc, int dstXoff, int dstYoff,
int dstMip, int dstFace,
int width, int height,
- int srcAlloc, int srcXoff, int srcYoff,
+ long srcAlloc, int srcXoff, int srcYoff,
int srcMip, int srcFace);
- synchronized void nAllocationData2D(int dstAlloc, int dstXoff, int dstYoff,
+ synchronized void nAllocationData2D(long dstAlloc, int dstXoff, int dstYoff,
int dstMip, int dstFace,
int width, int height,
- int srcAlloc, int srcXoff, int srcYoff,
+ long srcAlloc, int srcXoff, int srcYoff,
int srcMip, int srcFace) {
validate();
rsnAllocationData2D(mContext,
@@ -420,42 +422,32 @@
srcMip, srcFace);
}
- native void rsnAllocationData2D(int con, int id, int xoff, int yoff, int mip, int face, int w, int h, byte[] d, int sizeBytes);
- synchronized void nAllocationData2D(int id, int xoff, int yoff, int mip, int face, int w, int h, byte[] d, int sizeBytes) {
+ native void rsnAllocationData2D(long con, long id, int xoff, int yoff, int mip, int face,
+ int w, int h, Object d, int sizeBytes, int dt,
+ int mSize, boolean usePadding);
+ synchronized void nAllocationData2D(long id, int xoff, int yoff, int mip, int face,
+ int w, int h, Object d, int sizeBytes, Element.DataType dt,
+ int mSize, boolean usePadding) {
validate();
- rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes);
+ rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes, dt.mID, mSize, usePadding);
}
- native void rsnAllocationData2D(int con, int id, int xoff, int yoff, int mip, int face, int w, int h, short[] d, int sizeBytes);
- synchronized void nAllocationData2D(int id, int xoff, int yoff, int mip, int face, int w, int h, short[] d, int sizeBytes) {
- validate();
- rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes);
- }
- native void rsnAllocationData2D(int con, int id, int xoff, int yoff, int mip, int face, int w, int h, int[] d, int sizeBytes);
- synchronized void nAllocationData2D(int id, int xoff, int yoff, int mip, int face, int w, int h, int[] d, int sizeBytes) {
- validate();
- rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes);
- }
- native void rsnAllocationData2D(int con, int id, int xoff, int yoff, int mip, int face, int w, int h, float[] d, int sizeBytes);
- synchronized void nAllocationData2D(int id, int xoff, int yoff, int mip, int face, int w, int h, float[] d, int sizeBytes) {
- validate();
- rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes);
- }
- native void rsnAllocationData2D(int con, int id, int xoff, int yoff, int mip, int face, Bitmap b);
- synchronized void nAllocationData2D(int id, int xoff, int yoff, int mip, int face, Bitmap b) {
+
+ native void rsnAllocationData2D(long con, long id, int xoff, int yoff, int mip, int face, Bitmap b);
+ synchronized void nAllocationData2D(long id, int xoff, int yoff, int mip, int face, Bitmap b) {
validate();
rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, b);
}
- native void rsnAllocationData3D(int con,
- int dstAlloc, int dstXoff, int dstYoff, int dstZoff,
+ native void rsnAllocationData3D(long con,
+ long dstAlloc, int dstXoff, int dstYoff, int dstZoff,
int dstMip,
int width, int height, int depth,
- int srcAlloc, int srcXoff, int srcYoff, int srcZoff,
+ long srcAlloc, int srcXoff, int srcYoff, int srcZoff,
int srcMip);
- synchronized void nAllocationData3D(int dstAlloc, int dstXoff, int dstYoff, int dstZoff,
+ synchronized void nAllocationData3D(long dstAlloc, int dstXoff, int dstYoff, int dstZoff,
int dstMip,
int width, int height, int depth,
- int srcAlloc, int srcXoff, int srcYoff, int srcZoff,
+ long srcAlloc, int srcXoff, int srcYoff, int srcZoff,
int srcMip) {
validate();
rsnAllocationData3D(mContext,
@@ -464,210 +456,368 @@
srcAlloc, srcXoff, srcYoff, srcZoff, srcMip);
}
- native void rsnAllocationData3D(int con, int id, int xoff, int yoff, int zoff, int mip, int w, int h, int depth, byte[] d, int sizeBytes);
- synchronized void nAllocationData3D(int id, int xoff, int yoff, int zoff, int mip, int w, int h, int depth, byte[] d, int sizeBytes) {
+
+ native void rsnAllocationData3D(long con, long id, int xoff, int yoff, int zoff, int mip,
+ int w, int h, int depth, Object d, int sizeBytes, int dt,
+ int mSize, boolean usePadding);
+ synchronized void nAllocationData3D(long id, int xoff, int yoff, int zoff, int mip,
+ int w, int h, int depth, Object d, int sizeBytes, Element.DataType dt,
+ int mSize, boolean usePadding) {
validate();
- rsnAllocationData3D(mContext, id, xoff, yoff, zoff, mip, w, h, depth, d, sizeBytes);
- }
- native void rsnAllocationData3D(int con, int id, int xoff, int yoff, int zoff, int mip, int w, int h, int depth, short[] d, int sizeBytes);
- synchronized void nAllocationData3D(int id, int xoff, int yoff, int zoff, int mip, int w, int h, int depth, short[] d, int sizeBytes) {
- validate();
- rsnAllocationData3D(mContext, id, xoff, yoff, zoff, mip, w, h, depth, d, sizeBytes);
- }
- native void rsnAllocationData3D(int con, int id, int xoff, int yoff, int zoff, int mip, int w, int h, int depth, int[] d, int sizeBytes);
- synchronized void nAllocationData3D(int id, int xoff, int yoff, int zoff, int mip, int w, int h, int depth, int[] d, int sizeBytes) {
- validate();
- rsnAllocationData3D(mContext, id, xoff, yoff, zoff, mip, w, h, depth, d, sizeBytes);
- }
- native void rsnAllocationData3D(int con, int id, int xoff, int yoff, int zoff, int mip, int w, int h, int depth, float[] d, int sizeBytes);
- synchronized void nAllocationData3D(int id, int xoff, int yoff, int zoff, int mip, int w, int h, int depth, float[] d, int sizeBytes) {
- validate();
- rsnAllocationData3D(mContext, id, xoff, yoff, zoff, mip, w, h, depth, d, sizeBytes);
+ rsnAllocationData3D(mContext, id, xoff, yoff, zoff, mip, w, h, depth, d, sizeBytes,
+ dt.mID, mSize, usePadding);
}
+ native void rsnAllocationRead(long con, long id, Object d, int dt, int mSize, boolean usePadding);
+ synchronized void nAllocationRead(long id, Object d, Element.DataType dt, int mSize, boolean usePadding) {
+ validate();
+ rsnAllocationRead(mContext, id, d, dt.mID, mSize, usePadding);
+ }
- native void rsnAllocationRead(int con, int id, byte[] d);
- synchronized void nAllocationRead(int id, byte[] d) {
+ native void rsnAllocationRead1D(long con, long id, int off, int mip, int count, Object d,
+ int sizeBytes, int dt, int mSize, boolean usePadding);
+ synchronized void nAllocationRead1D(long id, int off, int mip, int count, Object d,
+ int sizeBytes, Element.DataType dt, int mSize, boolean usePadding) {
validate();
- rsnAllocationRead(mContext, id, d);
+ rsnAllocationRead1D(mContext, id, off, mip, count, d, sizeBytes, dt.mID, mSize, usePadding);
}
- native void rsnAllocationRead(int con, int id, short[] d);
- synchronized void nAllocationRead(int id, short[] d) {
+
+ /*
+ native void rsnAllocationElementRead(long con,long id, int xoff, int yoff, int zoff,
+ int mip, int compIdx, byte[] d, int sizeBytes);
+ synchronized void nAllocationElementRead(long id, int xoff, int yoff, int zoff,
+ int mip, int compIdx, byte[] d, int sizeBytes) {
validate();
- rsnAllocationRead(mContext, id, d);
+ rsnAllocationElementRead(mContext, id, xoff, yoff, zoff, mip, compIdx, d, sizeBytes);
}
- native void rsnAllocationRead(int con, int id, int[] d);
- synchronized void nAllocationRead(int id, int[] d) {
+ */
+
+ native void rsnAllocationRead2D(long con, long id, int xoff, int yoff, int mip, int face,
+ int w, int h, Object d, int sizeBytes, int dt,
+ int mSize, boolean usePadding);
+ synchronized void nAllocationRead2D(long id, int xoff, int yoff, int mip, int face,
+ int w, int h, Object d, int sizeBytes, Element.DataType dt,
+ int mSize, boolean usePadding) {
validate();
- rsnAllocationRead(mContext, id, d);
+ rsnAllocationRead2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes, dt.mID, mSize, usePadding);
}
- native void rsnAllocationRead(int con, int id, float[] d);
- synchronized void nAllocationRead(int id, float[] d) {
+
+ /*
+ native void rsnAllocationRead3D(long con, long id, int xoff, int yoff, int zoff, int mip,
+ int w, int h, int depth, Object d, int sizeBytes, int dt,
+ int mSize, boolean usePadding);
+ synchronized void nAllocationRead3D(long id, int xoff, int yoff, int zoff, int mip,
+ int w, int h, int depth, Object d, int sizeBytes, Element.DataType dt,
+ int mSize, boolean usePadding) {
validate();
- rsnAllocationRead(mContext, id, d);
+ rsnAllocationRead3D(mContext, id, xoff, yoff, zoff, mip, w, h, depth, d, sizeBytes, dt.mID, mSize, usePadding);
}
- native int rsnAllocationGetType(int con, int id);
- synchronized int nAllocationGetType(int id) {
+ */
+
+ native long rsnAllocationGetType(long con, long id);
+ synchronized long nAllocationGetType(long id) {
validate();
return rsnAllocationGetType(mContext, id);
}
- native void rsnAllocationResize1D(int con, int id, int dimX);
- synchronized void nAllocationResize1D(int id, int dimX) {
+ native void rsnAllocationResize1D(long con, long id, int dimX);
+ synchronized void nAllocationResize1D(long id, int dimX) {
validate();
rsnAllocationResize1D(mContext, id, dimX);
}
- native void rsnAllocationResize2D(int con, int id, int dimX, int dimY);
- synchronized void nAllocationResize2D(int id, int dimX, int dimY) {
+ native void rsnAllocationResize2D(long con, long id, int dimX, int dimY);
+ synchronized void nAllocationResize2D(long id, int dimX, int dimY) {
validate();
rsnAllocationResize2D(mContext, id, dimX, dimY);
}
- native void rsnScriptBindAllocation(int con, int script, int alloc, int slot);
- synchronized void nScriptBindAllocation(int script, int alloc, int slot) {
+ native void rsnScriptBindAllocation(long con, long script, long alloc, int slot, boolean mUseInc);
+ synchronized void nScriptBindAllocation(long script, long alloc, int slot, boolean mUseInc) {
validate();
- rsnScriptBindAllocation(mContext, script, alloc, slot);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ rsnScriptBindAllocation(curCon, script, alloc, slot, mUseInc);
}
- native void rsnScriptSetTimeZone(int con, int script, byte[] timeZone);
- synchronized void nScriptSetTimeZone(int script, byte[] timeZone) {
+ native void rsnScriptSetTimeZone(long con, long script, byte[] timeZone, boolean mUseInc);
+ synchronized void nScriptSetTimeZone(long script, byte[] timeZone, boolean mUseInc) {
validate();
- rsnScriptSetTimeZone(mContext, script, timeZone);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ rsnScriptSetTimeZone(curCon, script, timeZone, mUseInc);
}
- native void rsnScriptInvoke(int con, int id, int slot);
- synchronized void nScriptInvoke(int id, int slot) {
+ native void rsnScriptInvoke(long con, long id, int slot, boolean mUseInc);
+ synchronized void nScriptInvoke(long id, int slot, boolean mUseInc) {
validate();
- rsnScriptInvoke(mContext, id, slot);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ rsnScriptInvoke(curCon, id, slot, mUseInc);
}
- native void rsnScriptForEach(int con, int id, int slot, int ain, int aout, byte[] params);
- native void rsnScriptForEach(int con, int id, int slot, int ain, int aout);
- native void rsnScriptForEachClipped(int con, int id, int slot, int ain, int aout, byte[] params,
- int xstart, int xend, int ystart, int yend, int zstart, int zend);
- native void rsnScriptForEachClipped(int con, int id, int slot, int ain, int aout,
- int xstart, int xend, int ystart, int yend, int zstart, int zend);
- synchronized void nScriptForEach(int id, int slot, int ain, int aout, byte[] params) {
+ native void rsnScriptForEach(long con, long incCon, long id, int slot, long ain, long aout, byte[] params, boolean mUseInc);
+ native void rsnScriptForEach(long con, long incCon, long id, int slot, long ain, long aout, boolean mUseInc);
+ native void rsnScriptForEachClipped(long con, long incCon, long id, int slot, long ain, long aout, byte[] params,
+ int xstart, int xend, int ystart, int yend, int zstart, int zend, boolean mUseInc);
+ native void rsnScriptForEachClipped(long con, long incCon, long id, int slot, long ain, long aout,
+ int xstart, int xend, int ystart, int yend, int zstart, int zend, boolean mUseInc);
+ synchronized void nScriptForEach(long id, int slot, long ain, long aout, byte[] params, boolean mUseInc) {
validate();
if (params == null) {
- rsnScriptForEach(mContext, id, slot, ain, aout);
+ rsnScriptForEach(mContext, mIncCon, id, slot, ain, aout, mUseInc);
} else {
- rsnScriptForEach(mContext, id, slot, ain, aout, params);
+ rsnScriptForEach(mContext, mIncCon, id, slot, ain, aout, params, mUseInc);
}
}
- synchronized void nScriptForEachClipped(int id, int slot, int ain, int aout, byte[] params,
- int xstart, int xend, int ystart, int yend, int zstart, int zend) {
+ synchronized void nScriptForEachClipped(long id, int slot, long ain, long aout, byte[] params,
+ int xstart, int xend, int ystart, int yend, int zstart, int zend, boolean mUseInc) {
validate();
if (params == null) {
- rsnScriptForEachClipped(mContext, id, slot, ain, aout, xstart, xend, ystart, yend, zstart, zend);
+ rsnScriptForEachClipped(mContext, mIncCon, id, slot, ain, aout, xstart, xend, ystart, yend, zstart, zend, mUseInc);
} else {
- rsnScriptForEachClipped(mContext, id, slot, ain, aout, params, xstart, xend, ystart, yend, zstart, zend);
+ rsnScriptForEachClipped(mContext, mIncCon, id, slot, ain, aout, params, xstart, xend, ystart, yend, zstart, zend, mUseInc);
}
}
- native void rsnScriptInvokeV(int con, int id, int slot, byte[] params);
- synchronized void nScriptInvokeV(int id, int slot, byte[] params) {
+ native void rsnScriptInvokeV(long con, long id, int slot, byte[] params, boolean mUseInc);
+ synchronized void nScriptInvokeV(long id, int slot, byte[] params, boolean mUseInc) {
validate();
- rsnScriptInvokeV(mContext, id, slot, params);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ rsnScriptInvokeV(curCon, id, slot, params, mUseInc);
}
- native void rsnScriptSetVarI(int con, int id, int slot, int val);
- synchronized void nScriptSetVarI(int id, int slot, int val) {
+ native void rsnScriptSetVarI(long con, long id, int slot, int val, boolean mUseInc);
+ synchronized void nScriptSetVarI(long id, int slot, int val, boolean mUseInc) {
validate();
- rsnScriptSetVarI(mContext, id, slot, val);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ rsnScriptSetVarI(curCon, id, slot, val, mUseInc);
}
- native void rsnScriptSetVarJ(int con, int id, int slot, long val);
- synchronized void nScriptSetVarJ(int id, int slot, long val) {
+ native void rsnScriptSetVarJ(long con, long id, int slot, long val, boolean mUseInc);
+ synchronized void nScriptSetVarJ(long id, int slot, long val, boolean mUseInc) {
validate();
- rsnScriptSetVarJ(mContext, id, slot, val);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ rsnScriptSetVarJ(curCon, id, slot, val, mUseInc);
}
- native void rsnScriptSetVarF(int con, int id, int slot, float val);
- synchronized void nScriptSetVarF(int id, int slot, float val) {
+ native void rsnScriptSetVarF(long con, long id, int slot, float val, boolean mUseInc);
+ synchronized void nScriptSetVarF(long id, int slot, float val, boolean mUseInc) {
validate();
- rsnScriptSetVarF(mContext, id, slot, val);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ rsnScriptSetVarF(curCon, id, slot, val, mUseInc);
}
- native void rsnScriptSetVarD(int con, int id, int slot, double val);
- synchronized void nScriptSetVarD(int id, int slot, double val) {
+ native void rsnScriptSetVarD(long con, long id, int slot, double val, boolean mUseInc);
+ synchronized void nScriptSetVarD(long id, int slot, double val, boolean mUseInc) {
validate();
- rsnScriptSetVarD(mContext, id, slot, val);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ rsnScriptSetVarD(curCon, id, slot, val, mUseInc);
}
- native void rsnScriptSetVarV(int con, int id, int slot, byte[] val);
- synchronized void nScriptSetVarV(int id, int slot, byte[] val) {
+ native void rsnScriptSetVarV(long con, long id, int slot, byte[] val, boolean mUseInc);
+ synchronized void nScriptSetVarV(long id, int slot, byte[] val, boolean mUseInc) {
validate();
- rsnScriptSetVarV(mContext, id, slot, val);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ rsnScriptSetVarV(curCon, id, slot, val, mUseInc);
}
- native void rsnScriptSetVarVE(int con, int id, int slot, byte[] val,
- int e, int[] dims);
- synchronized void nScriptSetVarVE(int id, int slot, byte[] val,
- int e, int[] dims) {
+ native void rsnScriptSetVarVE(long con, long id, int slot, byte[] val,
+ long e, int[] dims, boolean mUseInc);
+ synchronized void nScriptSetVarVE(long id, int slot, byte[] val,
+ long e, int[] dims, boolean mUseInc) {
validate();
- rsnScriptSetVarVE(mContext, id, slot, val, e, dims);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ rsnScriptSetVarVE(curCon, id, slot, val, e, dims, mUseInc);
}
- native void rsnScriptSetVarObj(int con, int id, int slot, int val);
- synchronized void nScriptSetVarObj(int id, int slot, int val) {
+ native void rsnScriptSetVarObj(long con, long id, int slot, long val, boolean mUseInc);
+ synchronized void nScriptSetVarObj(long id, int slot, long val, boolean mUseInc) {
validate();
- rsnScriptSetVarObj(mContext, id, slot, val);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ rsnScriptSetVarObj(curCon, id, slot, val, mUseInc);
}
- native int rsnScriptCCreate(int con, String resName, String cacheDir,
+ native long rsnScriptCCreate(long con, String resName, String cacheDir,
byte[] script, int length);
- synchronized int nScriptCCreate(String resName, String cacheDir, byte[] script, int length) {
+ synchronized long nScriptCCreate(String resName, String cacheDir, byte[] script, int length) {
validate();
return rsnScriptCCreate(mContext, resName, cacheDir, script, length);
}
- native int rsnScriptIntrinsicCreate(int con, int id, int eid);
- synchronized int nScriptIntrinsicCreate(int id, int eid) {
+ native long rsnScriptIntrinsicCreate(long con, int id, long eid, boolean mUseInc);
+ synchronized long nScriptIntrinsicCreate(int id, long eid, boolean mUseInc) {
validate();
- return rsnScriptIntrinsicCreate(mContext, id, eid);
+ if (mUseInc) {
+ if (!mIncLoaded) {
+ try {
+ System.loadLibrary("RSSupport");
+ } catch (UnsatisfiedLinkError e) {
+ Log.e(LOG_TAG, "Error loading RS Compat library for Incremental Intrinsic Support: " + e);
+ throw new RSRuntimeException("Error loading RS Compat library for Incremental Intrinsic Support: " + e);
+ }
+ if (!nIncLoadSO()) {
+ throw new RSRuntimeException("Error loading libRSSupport library for Incremental Intrinsic Support");
+ }
+ mIncLoaded = true;
+ }
+ if (mIncDev == 0) {
+ mIncDev = nIncDeviceCreate();
+ }
+ if (mIncCon == 0) {
+ //Create a dummy compat context (synchronous).
+ mIncCon = nIncContextCreate(mIncDev, 0, 0, 0);
+ }
+ return rsnScriptIntrinsicCreate(mIncCon, id, eid, mUseInc);
+ } else {
+ return rsnScriptIntrinsicCreate(mContext, id, eid, mUseInc);
+ }
}
- native int rsnScriptKernelIDCreate(int con, int sid, int slot, int sig);
- synchronized int nScriptKernelIDCreate(int sid, int slot, int sig) {
+ native long rsnScriptKernelIDCreate(long con, long sid, int slot, int sig, boolean mUseInc);
+ synchronized long nScriptKernelIDCreate(long sid, int slot, int sig, boolean mUseInc) {
validate();
- return rsnScriptKernelIDCreate(mContext, sid, slot, sig);
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ return rsnScriptKernelIDCreate(curCon, sid, slot, sig, mUseInc);
}
- native int rsnScriptFieldIDCreate(int con, int sid, int slot);
- synchronized int nScriptFieldIDCreate(int sid, int slot) {
+ native long rsnScriptInvokeIDCreate(long con, long sid, int slot);
+ synchronized long nScriptInvokeIDCreate(long sid, int slot) {
validate();
- return rsnScriptFieldIDCreate(mContext, sid, slot);
+ return rsnScriptInvokeIDCreate(mContext, sid, slot);
}
- native int rsnScriptGroupCreate(int con, int[] kernels, int[] src, int[] dstk, int[] dstf, int[] types);
- synchronized int nScriptGroupCreate(int[] kernels, int[] src, int[] dstk, int[] dstf, int[] types) {
+ native long rsnScriptFieldIDCreate(long con, long sid, int slot, boolean mUseInc);
+ synchronized long nScriptFieldIDCreate(long sid, int slot, boolean mUseInc) {
+ validate();
+ long curCon = mContext;
+ if (mUseInc) {
+ curCon = mIncCon;
+ }
+ return rsnScriptFieldIDCreate(curCon, sid, slot, mUseInc);
+ }
+
+ native long rsnScriptGroupCreate(long con, long[] kernels, long[] src, long[] dstk, long[] dstf, long[] types);
+ synchronized long nScriptGroupCreate(long[] kernels, long[] src, long[] dstk, long[] dstf, long[] types) {
validate();
return rsnScriptGroupCreate(mContext, kernels, src, dstk, dstf, types);
}
- native void rsnScriptGroupSetInput(int con, int group, int kernel, int alloc);
- synchronized void nScriptGroupSetInput(int group, int kernel, int alloc) {
+ native void rsnScriptGroupSetInput(long con, long group, long kernel, long alloc);
+ synchronized void nScriptGroupSetInput(long group, long kernel, long alloc) {
validate();
rsnScriptGroupSetInput(mContext, group, kernel, alloc);
}
- native void rsnScriptGroupSetOutput(int con, int group, int kernel, int alloc);
- synchronized void nScriptGroupSetOutput(int group, int kernel, int alloc) {
+ native void rsnScriptGroupSetOutput(long con, long group, long kernel, long alloc);
+ synchronized void nScriptGroupSetOutput(long group, long kernel, long alloc) {
validate();
rsnScriptGroupSetOutput(mContext, group, kernel, alloc);
}
- native void rsnScriptGroupExecute(int con, int group);
- synchronized void nScriptGroupExecute(int group) {
+ native void rsnScriptGroupExecute(long con, long group);
+ synchronized void nScriptGroupExecute(long group) {
validate();
rsnScriptGroupExecute(mContext, group);
}
- native int rsnSamplerCreate(int con, int magFilter, int minFilter,
+ native long rsnSamplerCreate(long con, int magFilter, int minFilter,
int wrapS, int wrapT, int wrapR, float aniso);
- synchronized int nSamplerCreate(int magFilter, int minFilter,
+ synchronized long nSamplerCreate(int magFilter, int minFilter,
int wrapS, int wrapT, int wrapR, float aniso) {
validate();
return rsnSamplerCreate(mContext, magFilter, minFilter, wrapS, wrapT, wrapR, aniso);
}
+// Additional Entry points For inc libRSSupport
+ native boolean nIncLoadSO();
+ native long nIncDeviceCreate();
+ native void nIncDeviceDestroy(long dev);
+ // Methods below are wrapped to protect the non-threadsafe
+ // lockless fifo.
+ native long rsnIncContextCreate(long dev, int ver, int sdkVer, int contextType);
+ synchronized long nIncContextCreate(long dev, int ver, int sdkVer, int contextType) {
+ return rsnIncContextCreate(dev, ver, sdkVer, contextType);
+ }
+ native void rsnIncContextDestroy(long con);
+ synchronized void nIncContextDestroy() {
+ validate();
+ // take teardown lock
+ // teardown lock can only be taken when no objects are being destroyed
+ ReentrantReadWriteLock.WriteLock wlock = mRWLock.writeLock();
+ wlock.lock();
- int mDev;
- int mContext;
+ long curCon = mIncCon;
+ // context is considered dead as of this point
+ mIncCon = 0;
+
+ wlock.unlock();
+ rsnIncContextDestroy(curCon);
+ }
+
+ native void rsnIncContextFinish(long con);
+ synchronized void nIncContextFinish() {
+ validate();
+ rsnIncContextFinish(mIncCon);
+ }
+
+ native void rsnIncObjDestroy(long con, long id);
+ void nIncObjDestroy(long id) {
+ // There is a race condition here. The calling code may be run
+ // by the gc while teardown is occuring. This protects againts
+ // deleting dead objects.
+ if (mIncCon != 0) {
+ rsnIncObjDestroy(mIncCon, id);
+ }
+ }
+ native long rsnIncElementCreate(long con, long type, int kind, boolean norm, int vecSize);
+ synchronized long nIncElementCreate(long type, int kind, boolean norm, int vecSize) {
+ validate();
+ return rsnIncElementCreate(mIncCon, type, kind, norm, vecSize);
+ }
+ native long rsnIncTypeCreate(long con, long eid, int x, int y, int z, boolean mips, boolean faces, int yuv);
+ synchronized long nIncTypeCreate(long eid, int x, int y, int z, boolean mips, boolean faces, int yuv) {
+ validate();
+ return rsnIncTypeCreate(mIncCon, eid, x, y, z, mips, faces, yuv);
+ }
+ native long rsnIncAllocationCreateTyped(long con, long incCon, long alloc, long type);
+ synchronized long nIncAllocationCreateTyped(long alloc, long type) {
+ validate();
+ return rsnIncAllocationCreateTyped(mContext, mIncCon, alloc, type);
+ }
+
+ long mDev;
+ long mContext;
+ //Dummy device & context for Inc Support Lib
+ long mIncDev;
+ long mIncCon;
+ //indicator of whether inc support lib has been loaded or not.
+ boolean mIncLoaded;
ReentrantReadWriteLock mRWLock;
@SuppressWarnings({"FieldCanBeLocal"})
MessageThread mMessageThread;
@@ -784,10 +934,6 @@
public void setMessageHandler(RSMessageHandler msg) {
mMessageCallback = msg;
- if (isNative) {
- RenderScriptThunker rst = (RenderScriptThunker) this;
- rst.setMessageHandler(msg);
- }
}
public RSMessageHandler getMessageHandler() {
return mMessageCallback;
@@ -830,10 +976,6 @@
public void setErrorHandler(RSErrorHandler msg) {
mErrorCallback = msg;
- if (isNative) {
- RenderScriptThunker rst = (RenderScriptThunker) this;
- rst.setErrorHandler(msg);
- }
}
public RSErrorHandler getErrorHandler() {
return mErrorCallback;
@@ -860,7 +1002,12 @@
}
}
-
+ /**
+ * check if IO support lib is available.
+ */
+ boolean usingIO() {
+ return useIOlib;
+ }
/**
* Change the priority of the worker threads for this context.
*
@@ -880,8 +1027,8 @@
static final int RS_MESSAGE_TO_CLIENT_EXCEPTION = 1;
static final int RS_MESSAGE_TO_CLIENT_RESIZE = 2;
static final int RS_MESSAGE_TO_CLIENT_ERROR = 3;
- static final int RS_MESSAGE_TO_CLIENT_USER = 4;
+ static final int RS_MESSAGE_TO_CLIENT_USER = 4;
static final int RS_ERROR_FATAL_UNKNOWN = 0x1000;
MessageThread(RenderScript rs) {
@@ -956,7 +1103,11 @@
RenderScript(Context ctx) {
if (ctx != null) {
mApplicationContext = ctx.getApplicationContext();
+ mNativeLibDir = mApplicationContext.getApplicationInfo().nativeLibraryDir;
}
+ mIncDev = 0;
+ mIncCon = 0;
+ mIncLoaded = false;
mRWLock = new ReentrantReadWriteLock();
}
@@ -991,11 +1142,7 @@
} else if (sSdkVersion != sdkVersion) {
throw new RSRuntimeException("Can't have two contexts with different SDK versions in support lib");
}
-
- if (setupThunk(sSdkVersion, ctx)) {
- android.util.Log.v(LOG_TAG, "RS native mode");
- return RenderScriptThunker.create(ctx, sSdkVersion);
- }
+ useNative = setupNative(sSdkVersion, ctx);
synchronized(lock) {
if (sInitialized == false) {
try {
@@ -1010,9 +1157,9 @@
sUseGCHooks = false;
}
try {
- System.loadLibrary("RSSupport");
System.loadLibrary("rsjni");
sInitialized = true;
+ sPointerSize = rsnSystemGetPointerSize();
} catch (UnsatisfiedLinkError e) {
Log.e(LOG_TAG, "Error loading RS jni library: " + e);
throw new RSRuntimeException("Error loading RS jni library: " + e);
@@ -1020,9 +1167,45 @@
}
}
- android.util.Log.v(LOG_TAG, "RS compat mode");
+ if (useNative) {
+ android.util.Log.v(LOG_TAG, "RS native mode");
+ } else {
+ android.util.Log.v(LOG_TAG, "RS compat mode");
+ }
+
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
+ useIOlib = true;
+ }
+ if (!rs.nLoadSO(useNative)) {
+ if (useNative) {
+ android.util.Log.v(LOG_TAG, "Unable to load libRS.so, falling back to compat mode");
+ useNative = false;
+ }
+ try {
+ System.loadLibrary("RSSupport");
+ } catch (UnsatisfiedLinkError e) {
+ Log.e(LOG_TAG, "Error loading RS Compat library: " + e);
+ throw new RSRuntimeException("Error loading RS Compat library: " + e);
+ }
+ if (!rs.nLoadSO(false)) {
+ throw new RSRuntimeException("Error loading libRSSupport library");
+ }
+ }
+
+ if (useIOlib) {
+ try {
+ System.loadLibrary("RSSupportIO");
+ } catch (UnsatisfiedLinkError e) {
+ useIOlib = false;
+ }
+ if (!useIOlib || !rs.nLoadIOSO()) {
+ android.util.Log.v(LOG_TAG, "Unable to load libRSSupportIO.so, USAGE_IO not supported");
+ useIOlib = false;
+ }
+ }
+
rs.mDev = rs.nDeviceCreate();
- rs.mContext = rs.nContextCreate(rs.mDev, 0, sdkVersion, ct.mID);
+ rs.mContext = rs.nContextCreate(rs.mDev, 0, sdkVersion, ct.mID, rs.mNativeLibDir);
if (rs.mContext == 0) {
throw new RSDriverException("Failed to create RS context.");
}
@@ -1083,6 +1266,11 @@
public void destroy() {
validate();
nContextFinish();
+ if (mIncCon != 0) {
+ nIncContextFinish();
+ nIncContextDestroy();
+ mIncCon = 0;
+ }
nContextDeinitToClient(mContext);
mMessageThread.mRun = false;
try {
@@ -1092,6 +1280,10 @@
nContextDestroy();
nDeviceDestroy(mDev);
+ if (mIncDev != 0) {
+ nIncDeviceDestroy(mIncDev);
+ mIncDev = 0;
+ }
mDev = 0;
}
@@ -1099,7 +1291,7 @@
return mContext != 0;
}
- int safeID(BaseObj o) {
+ long safeID(BaseObj o) {
if(o != null) {
return o.getID(this);
}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScriptThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/RenderScriptThunker.java
deleted file mode 100644
index bb6bf73..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/RenderScriptThunker.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.res.AssetManager;
-import android.os.Process;
-import android.util.Log;
-import android.view.Surface;
-
-
-
-class RenderScriptThunker extends RenderScript {
- android.renderscript.RenderScript mN;
-
- void validate() {
- if (mN == null) {
- throw new RSInvalidStateException("Calling RS with no Context active.");
- }
- }
-
- public void setPriority(Priority p) {
- try {
- if (p == Priority.LOW) mN.setPriority(android.renderscript.RenderScript.Priority.LOW);
- if (p == Priority.NORMAL) mN.setPriority(android.renderscript.RenderScript.Priority.NORMAL);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- RenderScriptThunker(Context ctx) {
- super(ctx);
- isNative = true;
- }
-
- public static RenderScript create(Context ctx, int sdkVersion) {
- try {
- RenderScriptThunker rs = new RenderScriptThunker(ctx);
- Class<?> javaRS = Class.forName("android.renderscript.RenderScript");
- Class[] signature = {Context.class, Integer.TYPE};
- Object[] args = {ctx, new Integer(sdkVersion)};
- Method create = javaRS.getDeclaredMethod("create", signature);
- rs.mN = (android.renderscript.RenderScript)create.invoke(null, args);
- return rs;
- }
- catch(android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- } catch (Exception e) {
- throw new RSRuntimeException("Failure to create platform RenderScript context");
- }
- }
-
- public void contextDump() {
- try {
- mN.contextDump();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void finish() {
- try {
- mN.finish();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void destroy() {
- try {
- mN.destroy();
- mN = null;
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
-
- }
-
- public void setMessageHandler(RSMessageHandler msg) {
- mMessageCallback = msg;
- try {
- android.renderscript.RenderScript.RSMessageHandler handler =
- new android.renderscript.RenderScript.RSMessageHandler() {
- public void run() {
- mMessageCallback.mData = mData;
- mMessageCallback.mID = mID;
- mMessageCallback.mLength = mLength;
- mMessageCallback.run();
- }
- };
- mN.setMessageHandler(handler);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setErrorHandler(RSErrorHandler msg) {
- mErrorCallback = msg;
- try {
- android.renderscript.RenderScript.RSErrorHandler handler =
- new android.renderscript.RenderScript.RSErrorHandler() {
- public void run() {
- mErrorCallback.mErrorMessage = mErrorMessage;
- mErrorCallback.mErrorNum = mErrorNum;
- mErrorCallback.run();
- }
- };
- mN.setErrorHandler(handler);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
-
- boolean equals(Object obj1, Object obj2) {
- if (obj2 instanceof android.support.v8.renderscript.BaseObj) {
- return ((android.renderscript.BaseObj)obj1).equals(((android.support.v8.renderscript.BaseObj)obj2).getNObj());
- }
- return false;
- }
-}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/Sampler.java b/v8/renderscript/java/src/android/support/v8/renderscript/Sampler.java
index 7234c12..7119e8c 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/Sampler.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/Sampler.java
@@ -62,7 +62,7 @@
Value mWrapR;
float mAniso;
- Sampler(int id, RenderScript rs) {
+ Sampler(long id, RenderScript rs) {
super(id, rs);
}
@@ -328,18 +328,8 @@
}
public Sampler create() {
- if (mRS.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker)mRS;
- SamplerThunker.Builder b = new SamplerThunker.Builder(rst);
- b.setMinification(mMin);
- b.setMagnification(mMag);
- b.setWrapS(mWrapS);
- b.setWrapT(mWrapT);
- b.setAnisotropy(mAniso);
- return b.create();
- }
mRS.validate();
- int id = mRS.nSamplerCreate(mMag.mID, mMin.mID,
+ long id = mRS.nSamplerCreate(mMag.mID, mMin.mID,
mWrapS.mID, mWrapT.mID, mWrapR.mID, mAniso);
Sampler sampler = new Sampler(id, mRS);
sampler.mMin = mMin;
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/SamplerThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/SamplerThunker.java
deleted file mode 100644
index eb14c7f..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/SamplerThunker.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.util.Log;
-import android.os.Bundle;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-
-/**
- *
- **/
-class SamplerThunker extends Sampler {
- android.renderscript.Sampler mN;
-
- protected SamplerThunker(int id, RenderScript rs) {
- super(id, rs);
- }
-
- android.renderscript.BaseObj getNObj() {
- return mN;
- }
-
- static android.renderscript.Sampler.Value convertValue (Value v) {
- switch (v) {
- case NEAREST:
- return android.renderscript.Sampler.Value.NEAREST;
- case LINEAR:
- return android.renderscript.Sampler.Value.LINEAR;
- case LINEAR_MIP_LINEAR:
- return android.renderscript.Sampler.Value.LINEAR_MIP_LINEAR;
- case LINEAR_MIP_NEAREST:
- return android.renderscript.Sampler.Value.LINEAR_MIP_NEAREST;
- case WRAP:
- return android.renderscript.Sampler.Value.WRAP;
- case CLAMP:
- return android.renderscript.Sampler.Value.CLAMP;
- case MIRRORED_REPEAT:
- return android.renderscript.Sampler.Value.MIRRORED_REPEAT;
- }
- return null;
- }
-
- /**
- * Builder for creating non-standard samplers. Useful if mix and match of
- * wrap modes is necesary or if anisotropic filtering is desired.
- *
- */
- public static class Builder {
- RenderScriptThunker mRS;
- Value mMin;
- Value mMag;
- Value mWrapS;
- Value mWrapT;
- Value mWrapR;
- float mAniso;
-
- public Builder(RenderScriptThunker rs) {
- mRS = rs;
- mMin = Value.NEAREST;
- mMag = Value.NEAREST;
- mWrapS = Value.WRAP;
- mWrapT = Value.WRAP;
- mWrapR = Value.WRAP;
- }
-
- public void setMinification(Value v) {
- if (v == Value.NEAREST ||
- v == Value.LINEAR ||
- v == Value.LINEAR_MIP_LINEAR ||
- v == Value.LINEAR_MIP_NEAREST) {
- mMin = v;
- } else {
- throw new IllegalArgumentException("Invalid value");
- }
- }
-
- public void setMagnification(Value v) {
- if (v == Value.NEAREST || v == Value.LINEAR) {
- mMag = v;
- } else {
- throw new IllegalArgumentException("Invalid value");
- }
- }
-
- public void setWrapS(Value v) {
- if (v == Value.WRAP || v == Value.CLAMP || v == Value.MIRRORED_REPEAT) {
- mWrapS = v;
- } else {
- throw new IllegalArgumentException("Invalid value");
- }
- }
-
- public void setWrapT(Value v) {
- if (v == Value.WRAP || v == Value.CLAMP || v == Value.MIRRORED_REPEAT) {
- mWrapT = v;
- } else {
- throw new IllegalArgumentException("Invalid value");
- }
- }
-
- public void setAnisotropy(float v) {
- if(v >= 0.0f) {
- mAniso = v;
- } else {
- throw new IllegalArgumentException("Invalid value");
- }
- }
-
- public Sampler create() {
- mRS.validate();
- try {
- android.renderscript.Sampler.Builder b = new android.renderscript.Sampler.Builder(mRS.mN);
- b.setMinification(convertValue(mMin));
- b.setMagnification(convertValue(mMag));
- b.setWrapS(convertValue(mWrapS));
- b.setWrapT(convertValue(mWrapT));
- b.setAnisotropy(mAniso);
- android.renderscript.Sampler s = b.create();
-
- SamplerThunker sampler = new SamplerThunker(0, mRS);
- sampler.mMin = mMin;
- sampler.mMag = mMag;
- sampler.mWrapS = mWrapS;
- sampler.mWrapT = mWrapT;
- sampler.mWrapR = mWrapR;
- sampler.mAniso = mAniso;
- sampler.mN = s;
-
- return sampler;
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- }
-
-
-}
\ No newline at end of file
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/Script.java b/v8/renderscript/java/src/android/support/v8/renderscript/Script.java
index 8ac9171..fcb4fd9 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/Script.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/Script.java
@@ -23,13 +23,35 @@
* applications.
**/
public class Script extends BaseObj {
- ScriptCThunker mT;
-
- android.renderscript.Script getNObj() {
- return mT;
+ /**
+ * Determine if Incremental Intrinsic Support is needed
+ *
+ */
+ private boolean mUseIncSupp;
+ protected void setIncSupp(boolean useInc) {
+ mUseIncSupp = useInc;
}
+ protected boolean isIncSupp() {
+ return mUseIncSupp;
+ }
+ /**
+ * An allocation for the compat context will be created when needed
+ * e.g. foreach(ain, aout), setVar(ain);
+ *
+ */
+ private long getDummyAlloc(Allocation ain) {
+ long dInElement = 0;
+ long dInType = 0;
+ long dummyAlloc = 0;
+ if (ain != null) {
+ dInElement = ain.getType().getElement().getDummyElement(mRS);
+ dInType = ain.getType().getDummyType(mRS, dInElement);
+ dummyAlloc = mRS.nIncAllocationCreateTyped(ain.getID(mRS), dInType);
+ ain.setIncAllocID(dummyAlloc);
+ }
-
+ return dummyAlloc;
+ }
/**
* KernelID is an identifier for a Script + root function pair. It is used
* as an identifier for ScriptGroup creation.
@@ -43,7 +65,7 @@
Script mScript;
int mSlot;
int mSig;
- KernelID(int id, RenderScript rs, Script s, int slot, int sig) {
+ KernelID(long id, RenderScript rs, Script s, int slot, int sig) {
super(id, rs);
mScript = s;
mSlot = slot;
@@ -69,19 +91,7 @@
return k;
}
- // Any native callers to createKernelID must initialize their own native IDs
- // excpet ScriptCThunker
- if (mRS.isNative == true) {
- k = new KernelID(0, mRS, this, slot, sig);
- if (mT != null) {
- k.mN = mT.thunkCreateKernelID(slot, sig, ein, eout);
- }
- mKIDs.put(slot, k);
- return k;
- }
-
-
- int id = mRS.nScriptKernelIDCreate(getID(mRS), slot, sig);
+ long id = mRS.nScriptKernelIDCreate(getID(mRS), slot, sig, mUseIncSupp);
if (id == 0) {
throw new RSDriverException("Failed to create KernelID");
}
@@ -93,6 +103,45 @@
}
/**
+ * InvokeID is an identifier for a invoke function. It is used
+ * as an identifier for ScriptGroup creation.
+ *
+ * This class should not be directly created. Instead use the method in the
+ * reflected or intrinsic code "getInvokeID_funcname()".
+ *
+ * @hide
+ */
+ public static final class InvokeID extends BaseObj {
+ Script mScript;
+ int mSlot;
+ InvokeID(long id, RenderScript rs, Script s, int slot) {
+ super(id, rs);
+ mScript = s;
+ mSlot = slot;
+ }
+ }
+
+ private final SparseArray<InvokeID> mIIDs = new SparseArray<InvokeID>();
+ /**
+ * Only to be used by generated reflected classes.
+ */
+ protected InvokeID createInvokeID(int slot) {
+ InvokeID i = mIIDs.get(slot);
+ if (i != null) {
+ return i;
+ }
+
+ long id = mRS.nScriptInvokeIDCreate(getID(mRS), slot);
+ if (id == 0) {
+ throw new RSDriverException("Failed to create KernelID");
+ }
+
+ i = new InvokeID(id, mRS, this, slot);
+ mIIDs.put(slot, i);
+ return i;
+ }
+
+ /**
* FieldID is an identifier for a Script + exported field pair. It is used
* as an identifier for ScriptGroup creation.
*
@@ -104,7 +153,7 @@
android.renderscript.Script.FieldID mN;
Script mScript;
int mSlot;
- FieldID(int id, RenderScript rs, Script s, int slot) {
+ FieldID(long id, RenderScript rs, Script s, int slot) {
super(id, rs);
mScript = s;
mSlot = slot;
@@ -121,23 +170,12 @@
* @return FieldID
*/
protected FieldID createFieldID(int slot, Element e) {
-
- // Any thunking caller to createFieldID must create its own native IDs
- // except ScriptC
- if (mRS.isNative == true) {
- FieldID f = new FieldID(0, mRS, this, slot);
- if (mT != null) {
- f.mN = mT.thunkCreateFieldID(slot, e);
- }
- mFIDs.put(slot, f);
- return f;
- }
FieldID f = mFIDs.get(slot);
if (f != null) {
return f;
}
- int id = mRS.nScriptFieldIDCreate(getID(mRS), slot);
+ long id = mRS.nScriptFieldIDCreate(getID(mRS), slot, mUseIncSupp);
if (id == 0) {
throw new RSDriverException("Failed to create FieldID");
}
@@ -147,19 +185,13 @@
return f;
}
-
/**
* Only intended for use by generated reflected code.
*
* @param slot
*/
protected void invoke(int slot) {
- if (mT != null) {
- mT.thunkInvoke(slot);
- return;
- }
-
- mRS.nScriptInvoke(getID(mRS), slot);
+ mRS.nScriptInvoke(getID(mRS), slot, mUseIncSupp);
}
/**
@@ -169,15 +201,10 @@
* @param v
*/
protected void invoke(int slot, FieldPacker v) {
- if (mT != null) {
- mT.thunkInvoke(slot, v);
- return;
- }
-
if (v != null) {
- mRS.nScriptInvokeV(getID(mRS), slot, v.getData());
+ mRS.nScriptInvokeV(getID(mRS), slot, v.getData(), mUseIncSupp);
} else {
- mRS.nScriptInvoke(getID(mRS), slot);
+ mRS.nScriptInvoke(getID(mRS), slot, mUseIncSupp);
}
}
@@ -188,28 +215,18 @@
* @param slot
*/
public void bindAllocation(Allocation va, int slot) {
- if (mT != null) {
- mT.thunkBindAllocation(va, slot);
- return;
- }
-
mRS.validate();
if (va != null) {
- mRS.nScriptBindAllocation(getID(mRS), va.getID(mRS), slot);
+ mRS.nScriptBindAllocation(getID(mRS), va.getID(mRS), slot, mUseIncSupp);
} else {
- mRS.nScriptBindAllocation(getID(mRS), 0, slot);
+ mRS.nScriptBindAllocation(getID(mRS), 0, slot, mUseIncSupp);
}
}
public void setTimeZone(String timeZone) {
- if (mT != null) {
- mT.thunkSetTimeZone(timeZone);
- return;
- }
-
mRS.validate();
try {
- mRS.nScriptSetTimeZone(getID(mRS), timeZone.getBytes("UTF-8"));
+ mRS.nScriptSetTimeZone(getID(mRS), timeZone.getBytes("UTF-8"), mUseIncSupp);
} catch (java.io.UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
@@ -225,28 +242,31 @@
* @param v
*/
protected void forEach(int slot, Allocation ain, Allocation aout, FieldPacker v) {
- if (mT != null) {
- mT.thunkForEach(slot, ain, aout, v);
- return;
- }
-
if (ain == null && aout == null) {
throw new RSIllegalArgumentException(
"At least one of ain or aout is required to be non-null.");
}
- int in_id = 0;
+ long in_id = 0;
+ long out_id = 0;
if (ain != null) {
in_id = ain.getID(mRS);
}
- int out_id = 0;
if (aout != null) {
out_id = aout.getID(mRS);
}
+
byte[] params = null;
if (v != null) {
params = v.getData();
}
- mRS.nScriptForEach(getID(mRS), slot, in_id, out_id, params);
+
+ if (mUseIncSupp) {
+ long ainInc = getDummyAlloc(ain);
+ long aoutInc = getDummyAlloc(aout);
+ mRS.nScriptForEach(getID(mRS), slot, ainInc, aoutInc, params, mUseIncSupp);
+ } else {
+ mRS.nScriptForEach(getID(mRS), slot, in_id, out_id, params, mUseIncSupp);
+ }
}
/**
@@ -259,11 +279,6 @@
* @param sc
*/
protected void forEach(int slot, Allocation ain, Allocation aout, FieldPacker v, LaunchOptions sc) {
- if (mT != null) {
- mT.thunkForEach(slot, ain, aout, v, sc);
- return;
- }
-
if (ain == null && aout == null) {
throw new RSIllegalArgumentException(
"At least one of ain or aout is required to be non-null.");
@@ -273,23 +288,31 @@
forEach(slot, ain, aout, v);
return;
}
- int in_id = 0;
+ long in_id = 0;
+ long out_id = 0;
if (ain != null) {
in_id = ain.getID(mRS);
}
- int out_id = 0;
if (aout != null) {
out_id = aout.getID(mRS);
}
+
byte[] params = null;
if (v != null) {
params = v.getData();
}
- mRS.nScriptForEachClipped(getID(mRS), slot, in_id, out_id, params, sc.xstart, sc.xend, sc.ystart, sc.yend, sc.zstart, sc.zend);
+ if (mUseIncSupp) {
+ long ainInc = getDummyAlloc(ain);
+ long aoutInc = getDummyAlloc(aout);
+ mRS.nScriptForEachClipped(getID(mRS), slot, ainInc, aoutInc, params, sc.xstart, sc.xend, sc.ystart, sc.yend, sc.zstart, sc.zend, mUseIncSupp);
+ } else {
+ mRS.nScriptForEachClipped(getID(mRS), slot, in_id, out_id, params, sc.xstart, sc.xend, sc.ystart, sc.yend, sc.zstart, sc.zend, mUseIncSupp);
+ }
}
- Script(int id, RenderScript rs) {
+ Script(long id, RenderScript rs) {
super(id, rs);
+ mUseIncSupp = false;
}
/**
@@ -299,12 +322,7 @@
* @param v
*/
public void setVar(int index, float v) {
- if (mT != null) {
- mT.thunkSetVar(index, v);
- return;
- }
-
- mRS.nScriptSetVarF(getID(mRS), index, v);
+ mRS.nScriptSetVarF(getID(mRS), index, v, mUseIncSupp);
}
/**
@@ -314,12 +332,7 @@
* @param v
*/
public void setVar(int index, double v) {
- if (mT != null) {
- mT.thunkSetVar(index, v);
- return;
- }
-
- mRS.nScriptSetVarD(getID(mRS), index, v);
+ mRS.nScriptSetVarD(getID(mRS), index, v, mUseIncSupp);
}
/**
@@ -329,12 +342,7 @@
* @param v
*/
public void setVar(int index, int v) {
- if (mT != null) {
- mT.thunkSetVar(index, v);
- return;
- }
-
- mRS.nScriptSetVarI(getID(mRS), index, v);
+ mRS.nScriptSetVarI(getID(mRS), index, v, mUseIncSupp);
}
/**
@@ -344,12 +352,7 @@
* @param v
*/
public void setVar(int index, long v) {
- if (mT != null) {
- mT.thunkSetVar(index, v);
- return;
- }
-
- mRS.nScriptSetVarJ(getID(mRS), index, v);
+ mRS.nScriptSetVarD(getID(mRS), index, v, mUseIncSupp);
}
/**
@@ -359,12 +362,7 @@
* @param v
*/
public void setVar(int index, boolean v) {
- if (mT != null) {
- mT.thunkSetVar(index, v);
- return;
- }
-
- mRS.nScriptSetVarI(getID(mRS), index, v ? 1 : 0);
+ mRS.nScriptSetVarI(getID(mRS), index, v ? 1 : 0, mUseIncSupp);
}
/**
@@ -374,12 +372,12 @@
* @param o
*/
public void setVar(int index, BaseObj o) {
- if (mT != null) {
- mT.thunkSetVar(index, o);
- return;
+ if (mUseIncSupp) {
+ long oInc = getDummyAlloc((Allocation)o);
+ mRS.nScriptSetVarObj(getID(mRS), index, (o == null) ? 0 : oInc, mUseIncSupp);
+ } else {
+ mRS.nScriptSetVarObj(getID(mRS), index, (o == null) ? 0 : o.getID(mRS), mUseIncSupp);
}
-
- mRS.nScriptSetVarObj(getID(mRS), index, (o == null) ? 0 : o.getID(mRS));
}
/**
@@ -389,12 +387,7 @@
* @param v
*/
public void setVar(int index, FieldPacker v) {
- if (mT != null) {
- mT.thunkSetVar(index, v);
- return;
- }
-
- mRS.nScriptSetVarV(getID(mRS), index, v.getData());
+ mRS.nScriptSetVarV(getID(mRS), index, v.getData(), mUseIncSupp);
}
/**
@@ -406,12 +399,12 @@
* @param dims
*/
public void setVar(int index, FieldPacker v, Element e, int[] dims) {
- if (mT != null) {
- mT.thunkSetVar(index, v, e, dims);
- return;
+ if (mUseIncSupp) {
+ long dElement = e.getDummyElement(mRS);
+ mRS.nScriptSetVarVE(getID(mRS), index, v.getData(), dElement, dims, mUseIncSupp);
+ } else {
+ mRS.nScriptSetVarVE(getID(mRS), index, v.getData(), e.getID(mRS), dims, mUseIncSupp);
}
-
- mRS.nScriptSetVarVE(getID(mRS), index, v.getData(), e.getID(mRS), dims);
}
/**
@@ -583,4 +576,3 @@
}
}
-
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptC.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptC.java
index 7b01154..28e9613 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptC.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptC.java
@@ -42,7 +42,7 @@
* @param id
* @param rs
*/
- protected ScriptC(int id, RenderScript rs) {
+ protected ScriptC(long id, RenderScript rs) {
super(id, rs);
}
@@ -56,23 +56,36 @@
*/
protected ScriptC(RenderScript rs, Resources resources, int resourceID) {
super(0, rs);
-
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- ScriptCThunker s = new ScriptCThunker(rst, resources, resourceID);
- mT = s;
- return;
- }
-
- int id = internalCreate(rs, resources, resourceID);
+ long id = internalCreate(rs, resources, resourceID);
if (id == 0) {
throw new RSRuntimeException("Loading of ScriptC script failed.");
}
setID(id);
}
+ /**
+ * Only intended for use by the generated derived classes.
+ *
+ * @param rs
+ * @param resName
+ * @param bitcode32
+ * @param bitcode64
+ */
+ protected ScriptC(RenderScript rs, String resName, byte[] bitcode32, byte[] bitcode64) {
+ super(0, rs);
+ long id = 0;
+ if (RenderScript.sPointerSize == 4) {
+ id = internalStringCreate(rs, resName, bitcode32);
+ } else {
+ id = internalStringCreate(rs, resName, bitcode64);
+ }
+ if (id == 0) {
+ throw new RSRuntimeException("Loading of ScriptC script failed.");
+ }
+ setID(id);
+ }
- private static synchronized int internalCreate(RenderScript rs, Resources resources, int resourceID) {
+ private static synchronized long internalCreate(RenderScript rs, Resources resources, int resourceID) {
byte[] pgm;
int pgmLength;
InputStream is = resources.openRawResource(resourceID);
@@ -108,4 +121,11 @@
//Log.v(TAG, " path = " + cachePath);
return rs.nScriptCCreate(resName, cachePath, pgm, pgmLength);
}
+
+ private static synchronized long internalStringCreate(RenderScript rs, String resName, byte[] bitcode) {
+ // Log.v(TAG, "Create script for resource = " + resName);
+ String cachePath = rs.getApplicationContext().getCacheDir().toString();
+ return rs.nScriptCCreate(resName, cachePath, bitcode, bitcode.length);
+ }
+
}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptCThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptCThunker.java
deleted file mode 100644
index 2dd9ae9..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptCThunker.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.util.Log;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map.Entry;
-import java.util.HashMap;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-
-/**
- *
- **/
-class ScriptCThunker extends android.renderscript.ScriptC {
- private static final String TAG = "ScriptC";
-
- protected ScriptCThunker(RenderScriptThunker rs, Resources resources, int resourceID) {
- super(rs.mN, resources, resourceID);
- }
-
- android.renderscript.Script.KernelID thunkCreateKernelID(
- int slot, int sig, Element ein, Element eout) {
-
- android.renderscript.Element nein = null;
- android.renderscript.Element neout = null;
- if (ein != null) {
- nein = ((ElementThunker)ein).mN;
- }
- if (eout != null) {
- neout = ((ElementThunker)eout).mN;
- }
- try {
- android.renderscript.Script.KernelID kid = createKernelID(slot, sig, nein, neout);
- return kid;
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
-
- void thunkInvoke(int slot) {
- try {
- invoke(slot);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- void thunkBindAllocation(Allocation va, int slot) {
- android.renderscript.Allocation nva = null;
- if (va != null) {
- nva = ((AllocationThunker)va).mN;
- }
- try {
- bindAllocation(nva, slot);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- void thunkSetTimeZone(String timeZone) {
- try {
- setTimeZone(timeZone);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- void thunkInvoke(int slot, FieldPacker v) {
- try {
- android.renderscript.FieldPacker nfp =
- new android.renderscript.FieldPacker(v.getData());
- invoke(slot, nfp);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- void thunkForEach(int slot, Allocation ain, Allocation aout, FieldPacker v) {
- android.renderscript.Allocation nin = null;
- android.renderscript.Allocation nout = null;
- android.renderscript.FieldPacker nfp = null;
- if (ain != null) {
- nin = ((AllocationThunker)ain).mN;
- }
- if (aout != null) {
- nout = ((AllocationThunker)aout).mN;
- }
- try {
- if (v != null) {
- nfp = new android.renderscript.FieldPacker(v.getData());
- }
- forEach(slot, nin, nout, nfp);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- void thunkForEach(int slot, Allocation ain, Allocation aout, FieldPacker v,
- android.support.v8.renderscript.Script.LaunchOptions sc) {
- try {
- android.renderscript.Script.LaunchOptions lo = null;
- if (sc != null) {
- lo = new android.renderscript.Script.LaunchOptions();
- if (sc.getXEnd() > 0) lo.setX(sc.getXStart(), sc.getXEnd());
- if (sc.getYEnd() > 0) lo.setY(sc.getYStart(), sc.getYEnd());
- if (sc.getZEnd() > 0) lo.setZ(sc.getZStart(), sc.getZEnd());
- }
-
- android.renderscript.Allocation nin = null;
- android.renderscript.Allocation nout = null;
- android.renderscript.FieldPacker nfp = null;
- if (ain != null) {
- nin = ((AllocationThunker)ain).mN;
- }
- if (aout != null) {
- nout = ((AllocationThunker)aout).mN;
- }
- if (v != null) {
- nfp = new android.renderscript.FieldPacker(v.getData());
- }
- forEach(slot, nin, nout, nfp, lo);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- void thunkSetVar(int index, float v) {
- try {
- setVar(index, v);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- void thunkSetVar(int index, double v) {
- try {
- setVar(index, v);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- void thunkSetVar(int index, int v) {
- try {
- setVar(index, v);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- void thunkSetVar(int index, long v) {
- try {
- setVar(index, v);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- void thunkSetVar(int index, boolean v) {
- try {
- setVar(index, v);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- void thunkSetVar(int index, BaseObj o) {
- if (o == null) {
- try {
- setVar(index, 0);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return;
- }
- try {
- setVar(index, o.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- void thunkSetVar(int index, FieldPacker v) {
- try {
- android.renderscript.FieldPacker nfp =
- new android.renderscript.FieldPacker(v.getData());
- setVar(index, nfp);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- void thunkSetVar(int index, FieldPacker v, Element e, int[] dims) {
- try {
- android.renderscript.FieldPacker nfp =
- new android.renderscript.FieldPacker(v.getData());
- ElementThunker et = (ElementThunker)e;
- setVar(index, nfp, et.mN, dims);
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- }
-
- android.renderscript.Script.FieldID thunkCreateFieldID(int slot, Element e) {
- try {
- ElementThunker et = (ElementThunker) e;
- return createFieldID(slot, et.getNObj());
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- }
-
-}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptGroup.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptGroup.java
index 473d67d..a6e6d00 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptGroup.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptGroup.java
@@ -18,6 +18,8 @@
import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
/**
* ScriptGroup creates a group of kernels that are executed
@@ -46,6 +48,8 @@
public class ScriptGroup extends BaseObj {
IO mOutputs[];
IO mInputs[];
+ private boolean mUseIncSupp = false;
+ private ArrayList<Node> mNodes = new ArrayList<Node>();
static class IO {
Script.KernelID mKID;
@@ -73,6 +77,7 @@
Script.KernelID mToK;
Script.KernelID mFrom;
Type mAllocationType;
+ Allocation mAllocation;
}
static class Node {
@@ -81,6 +86,8 @@
ArrayList<ConnectLine> mInputs = new ArrayList<ConnectLine>();
ArrayList<ConnectLine> mOutputs = new ArrayList<ConnectLine>();
int dagNumber;
+ boolean mSeen;
+ int mOrder;
Node mNext;
@@ -90,7 +97,7 @@
}
- ScriptGroup(int id, RenderScript rs) {
+ ScriptGroup(long id, RenderScript rs) {
super(id, rs);
}
@@ -107,7 +114,9 @@
for (int ct=0; ct < mInputs.length; ct++) {
if (mInputs[ct].mKID == s) {
mInputs[ct].mAllocation = a;
- mRS.nScriptGroupSetInput(getID(mRS), s.getID(mRS), mRS.safeID(a));
+ if (!mUseIncSupp) {
+ mRS.nScriptGroupSetInput(getID(mRS), s.getID(mRS), mRS.safeID(a));
+ }
return;
}
}
@@ -127,7 +136,9 @@
for (int ct=0; ct < mOutputs.length; ct++) {
if (mOutputs[ct].mKID == s) {
mOutputs[ct].mAllocation = a;
- mRS.nScriptGroupSetOutput(getID(mRS), s.getID(mRS), mRS.safeID(a));
+ if (!mUseIncSupp) {
+ mRS.nScriptGroupSetOutput(getID(mRS), s.getID(mRS), mRS.safeID(a));
+ }
return;
}
}
@@ -138,9 +149,70 @@
* Execute the ScriptGroup. This will run all the kernels in
* the ScriptGroup. No internal connection results will be visible
* after execution of the ScriptGroup.
+ *
+ * If Incremental Support for intrinsics is needed, the execution
+ * will take the naive path: execute kernels one by one in the
+ * correct order.
*/
public void execute() {
- mRS.nScriptGroupExecute(getID(mRS));
+ if (!mUseIncSupp) {
+ mRS.nScriptGroupExecute(getID(mRS));
+ } else {
+ // setup the allocations.
+ for (int ct=0; ct < mNodes.size(); ct++) {
+ Node n = mNodes.get(ct);
+ for (int ct2=0; ct2 < n.mOutputs.size(); ct2++) {
+ ConnectLine l = n.mOutputs.get(ct2);
+ if (l.mAllocation !=null) {
+ continue;
+ }
+
+ //create allocation here
+ Allocation alloc = Allocation.createTyped(mRS, l.mAllocationType,
+ Allocation.MipmapControl.MIPMAP_NONE,
+ Allocation.USAGE_SCRIPT);
+
+ l.mAllocation = alloc;
+ for (int ct3=ct2+1; ct3 < n.mOutputs.size(); ct3++) {
+ if (n.mOutputs.get(ct3).mFrom == l.mFrom) {
+ n.mOutputs.get(ct3).mAllocation = alloc;
+ }
+ }
+ }
+ }
+ for (Node node : mNodes) {
+ for (Script.KernelID kernel : node.mKernels) {
+ Allocation ain = null;
+ Allocation aout = null;
+
+ for (ConnectLine nodeInput : node.mInputs) {
+ if (nodeInput.mToK == kernel) {
+ ain = nodeInput.mAllocation;
+ }
+ }
+
+ for (IO sgInput : mInputs) {
+ if (sgInput.mKID == kernel) {
+ ain = sgInput.mAllocation;
+ }
+ }
+
+ for (ConnectLine nodeOutput : node.mOutputs) {
+ if (nodeOutput.mFrom == kernel) {
+ aout = nodeOutput.mAllocation;
+ }
+ }
+
+ for (IO sgOutput : mOutputs) {
+ if (sgOutput.mKID == kernel) {
+ aout = sgOutput.mAllocation;
+ }
+ }
+
+ kernel.mScript.forEach(kernel.mSlot, ain, aout, null);
+ }
+ }
+ }
}
@@ -172,8 +244,7 @@
private ArrayList<Node> mNodes = new ArrayList<Node>();
private ArrayList<ConnectLine> mLines = new ArrayList<ConnectLine>();
private int mKernelCount;
-
- private ScriptGroupThunker.Builder mT;
+ private boolean mUseIncSupp = false;
/**
* Create a Builder for generating a ScriptGroup.
@@ -182,9 +253,6 @@
* @param rs The RenderScript context.
*/
public Builder(RenderScript rs) {
- if (rs.isNative) {
- mT = new ScriptGroupThunker.Builder(rs);
- }
mRS = rs;
}
@@ -286,16 +354,13 @@
* @return Builder Returns this.
*/
public Builder addKernel(Script.KernelID k) {
- if (mT != null) {
- mT.addKernel(k);
- return this;
- }
-
if (mLines.size() != 0) {
throw new RSInvalidStateException(
"Kernels may not be added once connections exist.");
}
-
+ if (k.mScript.isIncSupp()) {
+ mUseIncSupp = true;
+ }
//android.util.Log.v("RSR", "addKernel 1 k=" + k);
if (findNode(k) != null) {
return this;
@@ -326,12 +391,6 @@
*/
public Builder addConnection(Type t, Script.KernelID from, Script.FieldID to) {
//android.util.Log.v("RSR", "addConnection " + t +", " + from + ", " + to);
-
- if (mT != null) {
- mT.addConnection(t, from, to);
- return this;
- }
-
Node nf = findNode(from);
if (nf == null) {
throw new RSInvalidStateException("From script not found.");
@@ -366,12 +425,6 @@
*/
public Builder addConnection(Type t, Script.KernelID from, Script.KernelID to) {
//android.util.Log.v("RSR", "addConnection " + t +", " + from + ", " + to);
-
- if (mT != null) {
- mT.addConnection(t, from, to);
- return this;
- }
-
Node nf = findNode(from);
if (nf == null) {
throw new RSInvalidStateException("From script not found.");
@@ -392,7 +445,54 @@
return this;
}
+ /**
+ * Calculate the order of each node.
+ *
+ *
+ * @return Success or Fail
+ */
+ private boolean calcOrderRecurse(Node node0, int depth) {
+ node0.mSeen = true;
+ if (node0.mOrder < depth) {
+ node0.mOrder = depth;
+ }
+ boolean ret = true;
+ for (ConnectLine link : node0.mOutputs) {
+ Node node1 = null;
+ if (link.mToF != null) {
+ node1 = findNode(link.mToF.mScript);
+ } else {
+ node1 = findNode(link.mToK.mScript);
+ }
+ if (node1.mSeen) {
+ return false;
+ }
+ ret &= calcOrderRecurse(node1, node0.mOrder + 1);
+ }
+
+ return ret;
+ }
+
+ private boolean calcOrder() {
+ boolean ret = true;
+ for (Node n0 : mNodes) {
+ if (n0.mInputs.size() == 0) {
+ for (Node n1 : mNodes) {
+ n1.mSeen = false;
+ }
+ ret &= calcOrderRecurse(n0, 1);
+ }
+ }
+
+ Collections.sort(mNodes, new Comparator<Node>() {
+ public int compare(Node n1, Node n2) {
+ return n1.mOrder - n2.mOrder;
+ }
+ });
+
+ return ret;
+ }
/**
* Creates the Script group.
@@ -402,10 +502,6 @@
*/
public ScriptGroup create() {
- if (mT != null) {
- return mT.create();
- }
-
if (mNodes.size() == 0) {
throw new RSInvalidStateException("Empty script groups are not allowed");
}
@@ -419,7 +515,7 @@
ArrayList<IO> inputs = new ArrayList<IO>();
ArrayList<IO> outputs = new ArrayList<IO>();
- int[] kernels = new int[mKernelCount];
+ long[] kernels = new long[mKernelCount];
int idx = 0;
for (int ct=0; ct < mNodes.size(); ct++) {
Node n = mNodes.get(ct);
@@ -445,33 +541,37 @@
if (!hasOutput) {
outputs.add(new IO(kid));
}
-
}
}
if (idx != mKernelCount) {
throw new RSRuntimeException("Count mismatch, should not happen.");
}
- int[] src = new int[mLines.size()];
- int[] dstk = new int[mLines.size()];
- int[] dstf = new int[mLines.size()];
- int[] types = new int[mLines.size()];
+ long id = 0;
+ if (!mUseIncSupp) {
+ long[] src = new long[mLines.size()];
+ long[] dstk = new long[mLines.size()];
+ long[] dstf = new long[mLines.size()];
+ long[] types = new long[mLines.size()];
- for (int ct=0; ct < mLines.size(); ct++) {
- ConnectLine cl = mLines.get(ct);
- src[ct] = cl.mFrom.getID(mRS);
- if (cl.mToK != null) {
- dstk[ct] = cl.mToK.getID(mRS);
+ for (int ct=0; ct < mLines.size(); ct++) {
+ ConnectLine cl = mLines.get(ct);
+ src[ct] = cl.mFrom.getID(mRS);
+ if (cl.mToK != null) {
+ dstk[ct] = cl.mToK.getID(mRS);
+ }
+ if (cl.mToF != null) {
+ dstf[ct] = cl.mToF.getID(mRS);
+ }
+ types[ct] = cl.mAllocationType.getID(mRS);
}
- if (cl.mToF != null) {
- dstf[ct] = cl.mToF.getID(mRS);
+ id = mRS.nScriptGroupCreate(kernels, src, dstk, dstf, types);
+ if (id == 0) {
+ throw new RSRuntimeException("Object creation error, should not happen.");
}
- types[ct] = cl.mAllocationType.getID(mRS);
- }
-
- int id = mRS.nScriptGroupCreate(kernels, src, dstk, dstf, types);
- if (id == 0) {
- throw new RSRuntimeException("Object creation error, should not happen.");
+ } else {
+ //Calculate the order of the DAG so that script can run one after another.
+ calcOrder();
}
ScriptGroup sg = new ScriptGroup(id, mRS);
@@ -484,7 +584,8 @@
for (int ct=0; ct < inputs.size(); ct++) {
sg.mInputs[ct] = inputs.get(ct);
}
-
+ sg.mNodes = mNodes;
+ sg.mUseIncSupp = mUseIncSupp;
return sg;
}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptGroupThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptGroupThunker.java
deleted file mode 100644
index 588d674..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptGroupThunker.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-
-class ScriptGroupThunker extends ScriptGroup {
- android.renderscript.ScriptGroup mN;
-
- android.renderscript.ScriptGroup getNObj() {
- return mN;
- }
-
- ScriptGroupThunker(int id, RenderScript rs) {
- super(id, rs);
- }
-
- public void setInput(Script.KernelID s, Allocation a) {
- AllocationThunker at = (AllocationThunker) a;
- try {
- mN.setInput(s.mN, at.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setOutput(Script.KernelID s, Allocation a) {
- AllocationThunker at = (AllocationThunker) a;
- try {
- mN.setOutput(s.mN, at.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void execute() {
- try {
- mN.execute();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
-
- public static final class Builder {
-
- android.renderscript.ScriptGroup.Builder bN;
- RenderScript mRS;
-
- Builder(RenderScript rs) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- mRS = rs;
- try {
- bN = new android.renderscript.ScriptGroup.Builder(rst.mN);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Builder addKernel(Script.KernelID k) {
- try {
- bN.addKernel(k.mN);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return this;
- }
-
- public Builder addConnection(Type t, Script.KernelID from, Script.FieldID to) {
- TypeThunker tt = (TypeThunker) t;
- try {
- bN.addConnection(tt.getNObj(), from.mN, to.mN);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return this;
- }
-
- public Builder addConnection(Type t, Script.KernelID from, Script.KernelID to) {
- TypeThunker tt = (TypeThunker) t;
- try {
- bN.addConnection(tt.getNObj(), from.mN, to.mN);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return this;
- }
-
-
-
- public ScriptGroupThunker create() {
- ScriptGroupThunker sg = new ScriptGroupThunker(0, mRS);
- try {
- sg.mN = bN.create();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return sg;
- }
- }
-
-
-}
-
-
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsic.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsic.java
index c370017..e59cf6d 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsic.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsic.java
@@ -25,7 +25,10 @@
* Not intended for direct use.
**/
public abstract class ScriptIntrinsic extends Script {
- ScriptIntrinsic(int id, RenderScript rs) {
+ ScriptIntrinsic(long id, RenderScript rs) {
super(id, rs);
+ if (id == 0) {
+ throw new RSRuntimeException("Loading of ScriptIntrinsic failed.");
+ }
}
}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsic3DLUT.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsic3DLUT.java
index 94727de..dcd1bc1 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsic3DLUT.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsic3DLUT.java
@@ -30,8 +30,10 @@
public class ScriptIntrinsic3DLUT extends ScriptIntrinsic {
private Allocation mLUT;
private Element mElement;
+ // API level for the intrinsic
+ private static final int INTRINSIC_API_LEVEL = 19;
- protected ScriptIntrinsic3DLUT(int id, RenderScript rs, Element e) {
+ protected ScriptIntrinsic3DLUT(long id, RenderScript rs, Element e) {
super(id, rs);
mElement = e;
}
@@ -47,17 +49,18 @@
* @return ScriptIntrinsic3DLUT
*/
public static ScriptIntrinsic3DLUT create(RenderScript rs, Element e) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- return ScriptIntrinsic3DLUTThunker.create(rs, e);
- }
- int id = rs.nScriptIntrinsicCreate(8, e.getID(rs));
-
if (!e.isCompatible(Element.U8_4(rs))) {
throw new RSIllegalArgumentException("Element must be compatible with uchar4.");
}
+ long id;
+ boolean mUseIncSupp = rs.isUseNative() &&
+ android.os.Build.VERSION.SDK_INT < INTRINSIC_API_LEVEL;
- return new ScriptIntrinsic3DLUT(id, rs, e);
+ id = rs.nScriptIntrinsicCreate(8, e.getID(rs), mUseIncSupp);
+
+ ScriptIntrinsic3DLUT si = new ScriptIntrinsic3DLUT(id, rs, e);
+ si.setIncSupp(mUseIncSupp);
+ return si;
}
/**
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsic3DLUTThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsic3DLUTThunker.java
deleted file mode 100644
index a1c6ada..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsic3DLUTThunker.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import android.util.Log;
-
-/**
- *
- * @hide
- **/
-class ScriptIntrinsic3DLUTThunker extends ScriptIntrinsic3DLUT {
- android.renderscript.ScriptIntrinsic3DLUT mN;
-
- android.renderscript.ScriptIntrinsic3DLUT getNObj() {
- return mN;
- }
-
- private ScriptIntrinsic3DLUTThunker(int id, RenderScript rs, Element e) {
- super(id, rs, e);
- }
-
- public static ScriptIntrinsic3DLUTThunker create(RenderScript rs, Element e) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- ElementThunker et = (ElementThunker) e;
-
- ScriptIntrinsic3DLUTThunker lut = new ScriptIntrinsic3DLUTThunker(0, rs, e);
- try {
- lut.mN = android.renderscript.ScriptIntrinsic3DLUT.create(rst.mN, et.getNObj());
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- return lut;
- }
-
- public void setLUT(Allocation lut) {
- AllocationThunker lutt = (AllocationThunker) lut;
- try {
- mN.setLUT(lutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
-
- /**
- * Invoke the kernel and apply the lookup to each cell of ain
- * and copy to aout.
- *
- * @param ain Input allocation
- * @param aout Output allocation
- */
- public void forEach(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
- try {
- mN.forEach(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- /**
- * Get a KernelID for this intrinsic kernel.
- *
- * @return Script.KernelID The KernelID object.
- */
- public Script.KernelID getKernelID() {
- Script.KernelID k = createKernelID(0, 3, null, null);
- try {
- k.mN = mN.getKernelID();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-}
-
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlend.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlend.java
index c48fd45..7b1e59b 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlend.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlend.java
@@ -22,7 +22,10 @@
* {@link android.support.v8.renderscript.Allocation} objects.
**/
public class ScriptIntrinsicBlend extends ScriptIntrinsic {
- ScriptIntrinsicBlend(int id, RenderScript rs) {
+ // API level for the intrinsic
+ private static final int INTRINSIC_API_LEVEL = 19;
+
+ ScriptIntrinsicBlend(long id, RenderScript rs) {
super(id, rs);
}
@@ -35,13 +38,16 @@
* @return ScriptIntrinsicBlend
*/
public static ScriptIntrinsicBlend create(RenderScript rs, Element e) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- return ScriptIntrinsicBlendThunker.create(rs, e);
- }
// 7 comes from RS_SCRIPT_INTRINSIC_ID_BLEND in rsDefines.h
- int id = rs.nScriptIntrinsicCreate(7, e.getID(rs));
- return new ScriptIntrinsicBlend(id, rs);
+ long id;
+ boolean mUseIncSupp = rs.isUseNative() &&
+ android.os.Build.VERSION.SDK_INT < INTRINSIC_API_LEVEL;
+
+ id = rs.nScriptIntrinsicCreate(7, e.getID(rs), mUseIncSupp);
+
+ ScriptIntrinsicBlend si = new ScriptIntrinsicBlend(id, rs);
+ si.setIncSupp(mUseIncSupp);
+ return si;
}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlendThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlendThunker.java
deleted file mode 100644
index 7c70934..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlendThunker.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-class ScriptIntrinsicBlendThunker extends ScriptIntrinsicBlend {
- android.renderscript.ScriptIntrinsicBlend mN;
-
- android.renderscript.ScriptIntrinsicBlend getNObj() {
- return mN;
- }
-
- ScriptIntrinsicBlendThunker(int id, RenderScript rs) {
- super(id, rs);
- }
-
- public static ScriptIntrinsicBlendThunker create(RenderScript rs, Element e) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- ElementThunker et = (ElementThunker)e;
-
- ScriptIntrinsicBlendThunker blend = new ScriptIntrinsicBlendThunker(0, rs);
- try {
- blend.mN = android.renderscript.ScriptIntrinsicBlend.create(rst.mN, et.getNObj());
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- return blend;
- }
-
- public void forEachClear(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachClear(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDClear() {
- Script.KernelID k = createKernelID(0, 3, null, null);
- try {
- k.mN = mN.getKernelIDClear();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachSrc(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachSrc(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDSrc() {
- Script.KernelID k = createKernelID(1, 3, null, null);
- try {
- k.mN = mN.getKernelIDSrc();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachDst(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachDst(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDDst() {
- Script.KernelID k = createKernelID(2, 3, null, null);
- try {
- k.mN = mN.getKernelIDDst();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachSrcOver(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachSrcOver(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDSrcOver() {
- Script.KernelID k = createKernelID(3, 3, null, null);
- try {
- k.mN = mN.getKernelIDSrcOver();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachDstOver(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachDstOver(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDDstOver() {
- Script.KernelID k = createKernelID(4, 3, null, null);
- try {
- k.mN = mN.getKernelIDDstOver();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachSrcIn(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachSrcIn(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDSrcIn() {
- Script.KernelID k = createKernelID(5, 3, null, null);
- try {
- k.mN = mN.getKernelIDSrcIn();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachDstIn(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachDstIn(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDDstIn() {
- Script.KernelID k = createKernelID(6, 3, null, null);
- try {
- k.mN = mN.getKernelIDDstIn();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachSrcOut(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachSrcOut(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDSrcOut() {
- Script.KernelID k = createKernelID(7, 3, null, null);
- try {
- k.mN = mN.getKernelIDSrcOut();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachDstOut(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachDstOut(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDDstOut() {
- Script.KernelID k = createKernelID(8, 3, null, null);
- try {
- k.mN = mN.getKernelIDDstOut();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachSrcAtop(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachSrcAtop(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDSrcAtop() {
- Script.KernelID k = createKernelID(9, 3, null, null);
- try {
- k.mN = mN.getKernelIDSrcAtop();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachDstAtop(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachDstAtop(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDDstAtop() {
- Script.KernelID k = createKernelID(10, 3, null, null);
- try {
- k.mN = mN.getKernelIDDstAtop();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachXor(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachXor(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDXor() {
- Script.KernelID k = createKernelID(11, 3, null, null);
- try {
- k.mN = mN.getKernelIDXor();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachMultiply(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachMultiply(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDMultiply() {
- Script.KernelID k = createKernelID(14, 3, null, null);
- try {
- k.mN = mN.getKernelIDMultiply();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachAdd(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachAdd(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDAdd() {
- Script.KernelID k = createKernelID(34, 3, null, null);
- try {
- k.mN = mN.getKernelIDAdd();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public void forEachSubtract(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
-
- try {
- mN.forEachSubtract(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelIDSubtract() {
- Script.KernelID k = createKernelID(35, 3, null, null);
- try {
- k.mN = mN.getKernelIDSubtract();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
-}
-
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlur.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlur.java
index b2b74cb..a5b046b 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlur.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlur.java
@@ -29,8 +29,10 @@
public class ScriptIntrinsicBlur extends ScriptIntrinsic {
private final float[] mValues = new float[9];
private Allocation mInput;
+ // API level for the intrinsic
+ private static final int INTRINSIC_API_LEVEL = 19;
- protected ScriptIntrinsicBlur(int id, RenderScript rs) {
+ protected ScriptIntrinsicBlur(long id, RenderScript rs) {
super(id, rs);
}
@@ -46,17 +48,20 @@
* @return ScriptIntrinsicBlur
*/
public static ScriptIntrinsicBlur create(RenderScript rs, Element e) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- return ScriptIntrinsicBlurThunker.create(rs, e);
- }
if ((!e.isCompatible(Element.U8_4(rs))) && (!e.isCompatible(Element.U8(rs)))) {
throw new RSIllegalArgumentException("Unsuported element type.");
}
- int id = rs.nScriptIntrinsicCreate(5, e.getID(rs));
- ScriptIntrinsicBlur sib = new ScriptIntrinsicBlur(id, rs);
- sib.setRadius(5.f);
- return sib;
+ long id;
+ boolean mUseIncSupp = rs.isUseNative() &&
+ android.os.Build.VERSION.SDK_INT < INTRINSIC_API_LEVEL;
+
+ id = rs.nScriptIntrinsicCreate(5, e.getID(rs), mUseIncSupp);
+
+ ScriptIntrinsicBlur si = new ScriptIntrinsicBlur(id, rs);
+ si.setIncSupp(mUseIncSupp);
+ si.setRadius(5.f);
+
+ return si;
}
/**
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlurThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlurThunker.java
deleted file mode 100644
index 31e22bb..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicBlurThunker.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.util.Log;
-
-class ScriptIntrinsicBlurThunker extends ScriptIntrinsicBlur {
-
- android.renderscript.ScriptIntrinsicBlur mN;
-
- android.renderscript.ScriptIntrinsicBlur getNObj() {
- return mN;
- }
-
- protected ScriptIntrinsicBlurThunker(int id, RenderScript rs) {
- super(id, rs);
- }
-
- public static ScriptIntrinsicBlurThunker create(RenderScript rs, Element e) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- ElementThunker et = (ElementThunker) e;
-
- ScriptIntrinsicBlurThunker blur = new ScriptIntrinsicBlurThunker(0, rs);
- try {
- blur.mN = android.renderscript.ScriptIntrinsicBlur.create(rst.mN, et.getNObj());
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- return blur;
- }
-
- public void setInput(Allocation ain) {
- AllocationThunker aint = (AllocationThunker) ain;
- try {
- mN.setInput(aint.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setRadius(float radius) {
- try {
- mN.setRadius(radius);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void forEach(Allocation aout) {
- AllocationThunker aoutt = (AllocationThunker) aout;
- if (aoutt != null) {
- try {
- mN.forEach(aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
- }
-
- public Script.KernelID getKernelID() {
- Script.KernelID k = createKernelID(0, 2, null, null);
- try {
- k.mN = mN.getKernelID();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public Script.FieldID getFieldID_Input() {
- Script.FieldID f = createFieldID(1, null);
- try {
- f.mN = mN.getFieldID_Input();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return f;
- }
-}
-
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicColorMatrix.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicColorMatrix.java
index f80d4ac..5aa9572 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicColorMatrix.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicColorMatrix.java
@@ -29,9 +29,12 @@
**/
public class ScriptIntrinsicColorMatrix extends ScriptIntrinsic {
private final Matrix4f mMatrix = new Matrix4f();
+ private final Float4 mAdd = new Float4();
private Allocation mInput;
+ // API level for the intrinsic
+ private static final int INTRINSIC_API_LEVEL = 19;
- protected ScriptIntrinsicColorMatrix(int id, RenderScript rs) {
+ protected ScriptIntrinsicColorMatrix(long id, RenderScript rs) {
super(id, rs);
}
@@ -47,16 +50,18 @@
* @return ScriptIntrinsicColorMatrix
*/
public static ScriptIntrinsicColorMatrix create(RenderScript rs, Element e) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- return ScriptIntrinsicColorMatrixThunker.create(rs, e);
- }
-
if (!e.isCompatible(Element.U8_4(rs))) {
throw new RSIllegalArgumentException("Unsuported element type.");
}
- int id = rs.nScriptIntrinsicCreate(2, e.getID(rs));
- return new ScriptIntrinsicColorMatrix(id, rs);
+ long id;
+ boolean mUseIncSupp = rs.isUseNative() &&
+ android.os.Build.VERSION.SDK_INT < INTRINSIC_API_LEVEL;
+
+ id = rs.nScriptIntrinsicCreate(2, e.getID(rs), mUseIncSupp);
+
+ ScriptIntrinsicColorMatrix si = new ScriptIntrinsicColorMatrix(id, rs);
+ si.setIncSupp(mUseIncSupp);
+ return si;
}
@@ -89,6 +94,49 @@
}
/**
+ * Set the value to be added after the color matrix has been
+ * applied. The default value is {0, 0, 0, 0}
+ *
+ * @param f The float4 value to be added.
+ */
+ public void setAdd(Float4 f) {
+ mAdd.x = f.x;
+ mAdd.y = f.y;
+ mAdd.z = f.z;
+ mAdd.w = f.w;
+
+ FieldPacker fp = new FieldPacker(4*4);
+ fp.addF32(f.x);
+ fp.addF32(f.y);
+ fp.addF32(f.z);
+ fp.addF32(f.w);
+ setVar(1, fp);
+ }
+
+ /**
+ * Set the value to be added after the color matrix has been
+ * applied. The default value is {0, 0, 0, 0}
+ *
+ * @param r The red add value.
+ * @param g The green add value.
+ * @param b The blue add value.
+ * @param a The alpha add value.
+ */
+ public void setAdd(float r, float g, float b, float a) {
+ mAdd.x = r;
+ mAdd.y = g;
+ mAdd.z = b;
+ mAdd.w = a;
+
+ FieldPacker fp = new FieldPacker(4*4);
+ fp.addF32(mAdd.x);
+ fp.addF32(mAdd.y);
+ fp.addF32(mAdd.z);
+ fp.addF32(mAdd.w);
+ setVar(1, fp);
+ }
+
+ /**
* Set a color matrix to convert from RGB to luminance. The alpha channel
* will be a copy.
*
@@ -158,6 +206,50 @@
}
/**
+ * Invoke the kernel and apply the matrix to each cell of input
+ * {@link Allocation} and copy to the output {@link Allocation}.
+ *
+ * If the vector size of the input is less than four, the
+ * remaining components are treated as zero for the matrix
+ * multiply.
+ *
+ * If the output vector size is less than four, the unused
+ * vector components are discarded.
+ *
+ *
+ * @param ain Input allocation
+ * @param aout Output allocation
+ * @param opt LaunchOptions for clipping
+ */
+ public void forEach(Allocation ain, Allocation aout, Script.LaunchOptions opt) {
+ if (!ain.getElement().isCompatible(Element.U8(mRS)) &&
+ !ain.getElement().isCompatible(Element.U8_2(mRS)) &&
+ !ain.getElement().isCompatible(Element.U8_3(mRS)) &&
+ !ain.getElement().isCompatible(Element.U8_4(mRS)) &&
+ !ain.getElement().isCompatible(Element.F32(mRS)) &&
+ !ain.getElement().isCompatible(Element.F32_2(mRS)) &&
+ !ain.getElement().isCompatible(Element.F32_3(mRS)) &&
+ !ain.getElement().isCompatible(Element.F32_4(mRS))) {
+
+ throw new RSIllegalArgumentException("Unsuported element type.");
+ }
+
+ if (!aout.getElement().isCompatible(Element.U8(mRS)) &&
+ !aout.getElement().isCompatible(Element.U8_2(mRS)) &&
+ !aout.getElement().isCompatible(Element.U8_3(mRS)) &&
+ !aout.getElement().isCompatible(Element.U8_4(mRS)) &&
+ !aout.getElement().isCompatible(Element.F32(mRS)) &&
+ !aout.getElement().isCompatible(Element.F32_2(mRS)) &&
+ !aout.getElement().isCompatible(Element.F32_3(mRS)) &&
+ !aout.getElement().isCompatible(Element.F32_4(mRS))) {
+
+ throw new RSIllegalArgumentException("Unsuported element type.");
+ }
+
+ forEach(0, ain, aout, null, opt);
+ }
+
+ /**
* Get a KernelID for this intrinsic kernel.
*
* @return Script.KernelID The KernelID object.
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicColorMatrixThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicColorMatrixThunker.java
deleted file mode 100644
index 797c0e7..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicColorMatrixThunker.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import android.util.Log;
-
-class ScriptIntrinsicColorMatrixThunker extends ScriptIntrinsicColorMatrix {
- android.renderscript.ScriptIntrinsicColorMatrix mN;
-
- android.renderscript.ScriptIntrinsicColorMatrix getNObj() {
- return mN;
- }
-
- private ScriptIntrinsicColorMatrixThunker(int id, RenderScript rs) {
- super(id, rs);
- }
-
- public static ScriptIntrinsicColorMatrixThunker create(RenderScript rs, Element e) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- ElementThunker et = (ElementThunker)e;
-
- ScriptIntrinsicColorMatrixThunker cm = new ScriptIntrinsicColorMatrixThunker(0, rs);
- try {
- cm.mN = android.renderscript.ScriptIntrinsicColorMatrix.create(rst.mN, et.getNObj());
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- return cm;
-
- }
-
- public void setColorMatrix(Matrix4f m) {
- try {
- mN.setColorMatrix(new android.renderscript.Matrix4f(m.getArray()));
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setColorMatrix(Matrix3f m) {
- try {
- mN.setColorMatrix(new android.renderscript.Matrix3f(m.getArray()));
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setGreyscale() {
- try {
- mN.setGreyscale();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setYUVtoRGB() {
- try {
- mN.setYUVtoRGB();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setRGBtoYUV() {
- try {
- mN.setRGBtoYUV();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
-
- public void forEach(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
- try {
- mN.forEach(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelID() {
- Script.KernelID k = createKernelID(0, 3, null, null);
- try {
- k.mN = mN.getKernelID();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
-}
-
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve3x3.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve3x3.java
index c902917..ea45461 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve3x3.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve3x3.java
@@ -25,13 +25,18 @@
public class ScriptIntrinsicConvolve3x3 extends ScriptIntrinsic {
private final float[] mValues = new float[9];
private Allocation mInput;
+ // API level for the intrinsic
+ private static final int INTRINSIC_API_LEVEL = 19;
- ScriptIntrinsicConvolve3x3(int id, RenderScript rs) {
+ ScriptIntrinsicConvolve3x3(long id, RenderScript rs) {
super(id, rs);
}
/**
- * Supported elements types are {@link Element#U8_4}
+ * Supported elements types are {@link Element#U8}, {@link
+ * Element#U8_2}, {@link Element#U8_3}, {@link Element#U8_4},
+ * {@link Element#F32}, {@link Element#F32_2}, {@link
+ * Element#F32_3}, and {@link Element#F32_4}
*
* The default coefficients are.
*
@@ -47,20 +52,27 @@
* @return ScriptIntrinsicConvolve3x3
*/
public static ScriptIntrinsicConvolve3x3 create(RenderScript rs, Element e) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- return ScriptIntrinsicConvolve3x3Thunker.create(rs, e);
- }
-
float f[] = { 0, 0, 0, 0, 1, 0, 0, 0, 0};
- if (!e.isCompatible(Element.U8_4(rs))) {
+ if (!e.isCompatible(Element.U8(rs)) &&
+ !e.isCompatible(Element.U8_2(rs)) &&
+ !e.isCompatible(Element.U8_3(rs)) &&
+ !e.isCompatible(Element.U8_4(rs)) &&
+ !e.isCompatible(Element.F32(rs)) &&
+ !e.isCompatible(Element.F32_2(rs)) &&
+ !e.isCompatible(Element.F32_3(rs)) &&
+ !e.isCompatible(Element.F32_4(rs))) {
throw new RSIllegalArgumentException("Unsuported element type.");
}
- int id = rs.nScriptIntrinsicCreate(1, e.getID(rs));
+ long id;
+ boolean mUseIncSupp = rs.isUseNative() &&
+ android.os.Build.VERSION.SDK_INT < INTRINSIC_API_LEVEL;
+
+ id = rs.nScriptIntrinsicCreate(1, e.getID(rs), mUseIncSupp);
+
ScriptIntrinsicConvolve3x3 si = new ScriptIntrinsicConvolve3x3(id, rs);
+ si.setIncSupp(mUseIncSupp);
si.setCoefficients(f);
return si;
-
}
/**
@@ -107,6 +119,18 @@
}
/**
+ * Apply the filter to the input and save to the specified
+ * allocation.
+ *
+ * @param aout Output allocation. Must match creation element
+ * type.
+ * @param opt LaunchOptions for clipping
+ */
+ public void forEach(Allocation aout, Script.LaunchOptions opt) {
+ forEach(0, (Allocation) null, aout, null, opt);
+ }
+
+ /**
* Get a KernelID for this intrinsic kernel.
*
* @return Script.KernelID The KernelID object.
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve3x3Thunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve3x3Thunker.java
deleted file mode 100644
index fa997c1..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve3x3Thunker.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import android.util.Log;
-
-class ScriptIntrinsicConvolve3x3Thunker extends ScriptIntrinsicConvolve3x3 {
- android.renderscript.ScriptIntrinsicConvolve3x3 mN;
-
- android.renderscript.ScriptIntrinsicConvolve3x3 getNObj() {
- return mN;
- }
-
-
- ScriptIntrinsicConvolve3x3Thunker(int id, RenderScript rs) {
- super(id, rs);
- }
-
- public static ScriptIntrinsicConvolve3x3Thunker create(RenderScript rs, Element e) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- ElementThunker et = (ElementThunker) e;
-
- ScriptIntrinsicConvolve3x3Thunker si = new ScriptIntrinsicConvolve3x3Thunker(0, rs);
- try {
- si.mN = android.renderscript.ScriptIntrinsicConvolve3x3.create(rst.mN, et.getNObj());
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- return si;
- }
-
- public void setInput(Allocation ain) {
- AllocationThunker aint = (AllocationThunker)ain;
- try {
- mN.setInput(aint.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setCoefficients(float v[]) {
- try {
- mN.setCoefficients(v);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void forEach(Allocation aout) {
- AllocationThunker aoutt = (AllocationThunker)aout;
- try {
- mN.forEach(aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
-
- }
-
- public Script.KernelID getKernelID() {
- Script.KernelID k = createKernelID(0, 2, null, null);
- try {
- k.mN = mN.getKernelID();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public Script.FieldID getFieldID_Input() {
- Script.FieldID f = createFieldID(1, null);
- try {
- f.mN = mN.getFieldID_Input();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return f;
- }
-
-}
-
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve5x5.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve5x5.java
index a651c0f..bcd37f1 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve5x5.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve5x5.java
@@ -25,13 +25,18 @@
public class ScriptIntrinsicConvolve5x5 extends ScriptIntrinsic {
private final float[] mValues = new float[25];
private Allocation mInput;
+ // API level for the intrinsic
+ private static final int INTRINSIC_API_LEVEL = 19;
- ScriptIntrinsicConvolve5x5(int id, RenderScript rs) {
+ ScriptIntrinsicConvolve5x5(long id, RenderScript rs) {
super(id, rs);
}
/**
- * Supported elements types are {@link Element#U8_4}
+ * Supported elements types are {@link Element#U8}, {@link
+ * Element#U8_2}, {@link Element#U8_3}, {@link Element#U8_4},
+ * {@link Element#F32}, {@link Element#F32_2}, {@link
+ * Element#F32_3}, and {@link Element#F32_4}
*
* The default coefficients are.
* <code>
@@ -48,12 +53,25 @@
* @return ScriptIntrinsicConvolve5x5
*/
public static ScriptIntrinsicConvolve5x5 create(RenderScript rs, Element e) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- return ScriptIntrinsicConvolve5x5Thunker.create(rs, e);
+ if (!e.isCompatible(Element.U8(rs)) &&
+ !e.isCompatible(Element.U8_2(rs)) &&
+ !e.isCompatible(Element.U8_3(rs)) &&
+ !e.isCompatible(Element.U8_4(rs)) &&
+ !e.isCompatible(Element.F32(rs)) &&
+ !e.isCompatible(Element.F32_2(rs)) &&
+ !e.isCompatible(Element.F32_3(rs)) &&
+ !e.isCompatible(Element.F32_4(rs))) {
+ throw new RSIllegalArgumentException("Unsuported element type.");
}
- int id = rs.nScriptIntrinsicCreate(4, e.getID(rs));
- return new ScriptIntrinsicConvolve5x5(id, rs);
+ long id;
+ boolean mUseIncSupp = rs.isUseNative() &&
+ android.os.Build.VERSION.SDK_INT < INTRINSIC_API_LEVEL;
+
+ id = rs.nScriptIntrinsicCreate(4, e.getID(rs), mUseIncSupp);
+
+ ScriptIntrinsicConvolve5x5 si = new ScriptIntrinsicConvolve5x5(id, rs);
+ si.setIncSupp(mUseIncSupp);
+ return si;
}
@@ -103,6 +121,19 @@
}
/**
+ * Apply the filter to the input and save to the specified
+ * allocation.
+ *
+ * @param aout Output allocation. Must match creation element
+ * type.
+ * @param opt LaunchOptions for clipping
+ */
+ public void forEach(Allocation aout, Script.LaunchOptions opt) {
+ forEach(0, (Allocation) null, aout, null, opt);
+ }
+
+
+ /**
* Get a KernelID for this intrinsic kernel.
*
* @return Script.KernelID The KernelID object.
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve5x5Thunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve5x5Thunker.java
deleted file mode 100644
index 2071ddd..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicConvolve5x5Thunker.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import android.util.Log;
-
-class ScriptIntrinsicConvolve5x5Thunker extends ScriptIntrinsicConvolve5x5 {
- android.renderscript.ScriptIntrinsicConvolve5x5 mN;
-
- android.renderscript.ScriptIntrinsicConvolve5x5 getNObj() {
- return mN;
- }
-
-
- ScriptIntrinsicConvolve5x5Thunker(int id, RenderScript rs) {
- super(id, rs);
- }
-
- public static ScriptIntrinsicConvolve5x5Thunker create(RenderScript rs, Element e) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- ElementThunker et = (ElementThunker) e;
-
- ScriptIntrinsicConvolve5x5Thunker si = new ScriptIntrinsicConvolve5x5Thunker(0, rs);
- try {
- si.mN = android.renderscript.ScriptIntrinsicConvolve5x5.create(rst.mN, et.getNObj());
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- return si;
- }
-
- public void setInput(Allocation ain) {
- AllocationThunker aint = (AllocationThunker)ain;
- try {
- mN.setInput(aint.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setCoefficients(float v[]) {
- try {
- mN.setCoefficients(v);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void forEach(Allocation aout) {
- AllocationThunker aoutt = (AllocationThunker)aout;
- try {
- mN.forEach(aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
-
- }
-
- public Script.KernelID getKernelID() {
- Script.KernelID k = createKernelID(0, 2, null, null);
- try {
- k.mN = mN.getKernelID();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public Script.FieldID getFieldID_Input() {
- Script.FieldID f = createFieldID(1, null);
- try {
- f.mN = mN.getFieldID_Input();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return f;
- }
-
-}
-
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicHistogram.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicHistogram.java
new file mode 100644
index 0000000..43ac015
--- /dev/null
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicHistogram.java
@@ -0,0 +1,232 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.support.v8.renderscript;
+
+import android.util.Log;
+
+/**
+ * Intrinsic Histogram filter.
+ *
+ *
+ **/
+public class ScriptIntrinsicHistogram extends ScriptIntrinsic {
+ private Allocation mOut;
+ // API level for the intrinsic
+ private static final int INTRINSIC_API_LEVEL = 19;
+
+ protected ScriptIntrinsicHistogram(long id, RenderScript rs) {
+ super(id, rs);
+ }
+
+ /**
+ * Create an intrinsic for calculating the histogram of an uchar
+ * or uchar4 image.
+ *
+ * Supported elements types are
+ * {@link Element#U8_4}, {@link Element#U8_3},
+ * {@link Element#U8_2}, {@link Element#U8}
+ *
+ * @param rs The RenderScript context
+ * @param e Element type for inputs
+ *
+ * @return ScriptIntrinsicHistogram
+ */
+ public static ScriptIntrinsicHistogram create(RenderScript rs, Element e) {
+ if ((!e.isCompatible(Element.U8_4(rs))) &&
+ (!e.isCompatible(Element.U8_3(rs))) &&
+ (!e.isCompatible(Element.U8_2(rs))) &&
+ (!e.isCompatible(Element.U8(rs)))) {
+ throw new RSIllegalArgumentException("Unsuported element type.");
+ }
+ long id;
+ boolean mUseIncSupp = rs.isUseNative() &&
+ android.os.Build.VERSION.SDK_INT < INTRINSIC_API_LEVEL;
+
+ id = rs.nScriptIntrinsicCreate(9, e.getID(rs), mUseIncSupp);
+
+ ScriptIntrinsicHistogram si = new ScriptIntrinsicHistogram(id, rs);
+ si.setIncSupp(mUseIncSupp);
+ return si;
+ }
+
+ /**
+ * Process an input buffer and place the histogram into the
+ * output allocation. The output allocation may be a narrower
+ * vector size than the input. In this case the vector size of
+ * the output is used to determine how many of the input
+ * channels are used in the computation. This is useful if you
+ * have an RGBA input buffer but only want the histogram for
+ * RGB.
+ *
+ * 1D and 2D input allocations are supported.
+ *
+ * @param ain The input image
+ */
+ public void forEach(Allocation ain) {
+ forEach(ain, null);
+ }
+
+ /**
+ * Process an input buffer and place the histogram into the
+ * output allocation. The output allocation may be a narrower
+ * vector size than the input. In this case the vector size of
+ * the output is used to determine how many of the input
+ * channels are used in the computation. This is useful if you
+ * have an RGBA input buffer but only want the histogram for
+ * RGB.
+ *
+ * 1D and 2D input allocations are supported.
+ *
+ * @param ain The input image
+ * @param opt LaunchOptions for clipping
+ */
+ public void forEach(Allocation ain, Script.LaunchOptions opt) {
+ if (ain.getType().getElement().getVectorSize() <
+ mOut.getType().getElement().getVectorSize()) {
+
+ throw new RSIllegalArgumentException(
+ "Input vector size must be >= output vector size.");
+ }
+ if (mOut.getType().getElement().getVectorSize() == 3) {
+ throw new RSIllegalArgumentException(
+ "Output vector size should not be 3 for Input vector size 4.");
+ }
+ if (!ain.getType().getElement().isCompatible(Element.U8(mRS)) &&
+ !ain.getType().getElement().isCompatible(Element.U8_4(mRS))) {
+ throw new RSIllegalArgumentException("Output type must be U8 or U8_4.");
+ }
+
+ forEach(0, ain, null, null, opt);
+ }
+
+
+
+ /**
+ * Set the coefficients used for the RGBA to Luminocity
+ * calculation. The default is {0.299f, 0.587f, 0.114f, 0.f}.
+ *
+ * Coefficients must be >= 0 and sum to 1.0 or less.
+ *
+ * @param r Red coefficient
+ * @param g Green coefficient
+ * @param b Blue coefficient
+ * @param a Alpha coefficient
+ */
+ public void setDotCoefficients(float r, float g, float b, float a) {
+ if ((r < 0.f) || (g < 0.f) || (b < 0.f) || (a < 0.f)) {
+ throw new RSIllegalArgumentException("Coefficient may not be negative.");
+ }
+ if ((r + g + b + a) > 1.f) {
+ throw new RSIllegalArgumentException("Sum of coefficients must be 1.0 or less.");
+ }
+
+ FieldPacker fp = new FieldPacker(16);
+ fp.addF32(r);
+ fp.addF32(g);
+ fp.addF32(b);
+ fp.addF32(a);
+ setVar(0, fp);
+ }
+
+ /**
+ * Set the output of the histogram. 32 bit integer types are
+ * supported.
+ *
+ * @param aout The output allocation
+ */
+ public void setOutput(Allocation aout) {
+ mOut = aout;
+ if (mOut.getType().getElement() != Element.U32(mRS) &&
+ mOut.getType().getElement() != Element.U32_2(mRS) &&
+ mOut.getType().getElement() != Element.U32_3(mRS) &&
+ mOut.getType().getElement() != Element.U32_4(mRS) &&
+ mOut.getType().getElement() != Element.I32(mRS) &&
+ mOut.getType().getElement() != Element.I32_2(mRS) &&
+ mOut.getType().getElement() != Element.I32_3(mRS) &&
+ mOut.getType().getElement() != Element.I32_4(mRS)) {
+
+ throw new RSIllegalArgumentException("Output type must be U32 or I32.");
+ }
+ if ((mOut.getType().getX() != 256) ||
+ (mOut.getType().getY() != 0) ||
+ mOut.getType().hasMipmaps() ||
+ (mOut.getType().getYuv() != 0)) {
+
+ throw new RSIllegalArgumentException("Output must be 1D, 256 elements.");
+ }
+ setVar(1, aout);
+ }
+
+
+ /**
+ * Process an input buffer and place the histogram into the
+ * output allocation. The dot product of the input channel and
+ * the coefficients from 'setDotCoefficients' are used to
+ * calculate the output values.
+ *
+ * 1D and 2D input allocations are supported.
+ *
+ * @param ain The input image
+ */
+ public void forEach_Dot(Allocation ain) {
+ forEach_Dot(ain, null);
+ }
+
+ /**
+ * Process an input buffer and place the histogram into the
+ * output allocation. The dot product of the input channel and
+ * the coefficients from 'setDotCoefficients' are used to
+ * calculate the output values.
+ *
+ * 1D and 2D input allocations are supported.
+ *
+ * @param ain The input image
+ * @param opt LaunchOptions for clipping
+ */
+ public void forEach_Dot(Allocation ain, Script.LaunchOptions opt) {
+ if (mOut.getType().getElement().getVectorSize() != 1) {
+ throw new RSIllegalArgumentException("Output vector size must be one.");
+ }
+ if (!ain.getType().getElement().isCompatible(Element.U8(mRS)) &&
+ !ain.getType().getElement().isCompatible(Element.U8_4(mRS))) {
+ throw new RSIllegalArgumentException("Output type must be U8 or U8_4.");
+ }
+
+ forEach(1, ain, null, null, opt);
+ }
+
+
+
+ /**
+ * Get a KernelID for this intrinsic kernel.
+ *
+ * @return Script.KernelID The KernelID object.
+ */
+ public Script.KernelID getKernelID_Separate() {
+ return createKernelID(0, 3, null, null);
+ }
+
+ /**
+ * Get a FieldID for the input field of this intrinsic.
+ *
+ * @return Script.FieldID The FieldID object.
+ */
+ public Script.FieldID getFieldID_Input() {
+ return createFieldID(1, null);
+ }
+}
+
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicLUT.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicLUT.java
index 1c0c819..0b905ba 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicLUT.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicLUT.java
@@ -29,8 +29,10 @@
private Allocation mTables;
private final byte mCache[] = new byte[1024];
private boolean mDirty = true;
+ // API level for the intrinsic
+ private static final int INTRINSIC_API_LEVEL = 19;
- protected ScriptIntrinsicLUT(int id, RenderScript rs) {
+ protected ScriptIntrinsicLUT(long id, RenderScript rs) {
super(id, rs);
}
@@ -45,14 +47,14 @@
* @return ScriptIntrinsicLUT
*/
public static ScriptIntrinsicLUT create(RenderScript rs, Element e) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- return ScriptIntrinsicLUTThunker.create(rs, e);
- }
+ long id;
+ boolean mUseIncSupp = rs.isUseNative() &&
+ android.os.Build.VERSION.SDK_INT < INTRINSIC_API_LEVEL;
- int id = rs.nScriptIntrinsicCreate(3, e.getID(rs));
+ id = rs.nScriptIntrinsicCreate(3, e.getID(rs), mUseIncSupp);
ScriptIntrinsicLUT si = new ScriptIntrinsicLUT(id, rs);
+ si.setIncSupp(mUseIncSupp);
si.mTables = Allocation.createSized(rs, Element.U8(rs), 1024);
for (int ct=0; ct < 256; ct++) {
si.mCache[ct] = (byte)ct;
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicLUTThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicLUTThunker.java
deleted file mode 100644
index ecd17f2..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicLUTThunker.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import android.util.Log;
-
-class ScriptIntrinsicLUTThunker extends ScriptIntrinsicLUT {
- android.renderscript.ScriptIntrinsicLUT mN;
-
- android.renderscript.ScriptIntrinsicLUT getNObj() {
- return mN;
- }
-
- private ScriptIntrinsicLUTThunker(int id, RenderScript rs) {
- super(id, rs);
- }
-
- public static ScriptIntrinsicLUTThunker create(RenderScript rs, Element e) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- ElementThunker et = (ElementThunker) e;
-
- ScriptIntrinsicLUTThunker si = new ScriptIntrinsicLUTThunker(0, rs);
- try {
- si.mN = android.renderscript.ScriptIntrinsicLUT.create(rst.mN, et.getNObj());
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- return si;
- }
-
- public void setRed(int index, int value) {
- try {
- mN.setRed(index, value);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setGreen(int index, int value) {
- try {
- mN.setGreen(index, value);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setBlue(int index, int value) {
- try {
- mN.setBlue(index, value);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void setAlpha(int index, int value) {
- try {
- mN.setAlpha(index, value);
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void forEach(Allocation ain, Allocation aout) {
- AllocationThunker aint = (AllocationThunker)ain;
- AllocationThunker aoutt = (AllocationThunker)aout;
- try {
- mN.forEach(aint.getNObj(), aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelID() {
- Script.KernelID k = createKernelID(0, 3, null, null);
- try {
- k.mN = mN.getKernelID();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-}
-
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicResize.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicResize.java
new file mode 100644
index 0000000..2fdf23e
--- /dev/null
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicResize.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.support.v8.renderscript;
+
+import android.util.Log;
+
+/**
+ * Intrinsic for performing a resize of a 2D allocation.
+ */
+public class ScriptIntrinsicResize extends ScriptIntrinsic {
+ private Allocation mInput;
+ // API level for the intrinsic
+ private static final int INTRINSIC_API_LEVEL = 21;
+
+ protected ScriptIntrinsicResize(long id, RenderScript rs) {
+ super(id, rs);
+ }
+
+ /**
+ * Supported elements types are {@link Element#U8}, {@link
+ * Element#U8_2}, {@link Element#U8_3}, {@link Element#U8_4}
+ * {@link Element#F32}, {@link Element#F32_2}, {@link
+ * Element#F32_3}, {@link Element#F32_4}
+ *
+ * @param rs The RenderScript context
+ *
+ * @return ScriptIntrinsicResize
+ */
+ public static ScriptIntrinsicResize create(RenderScript rs) {
+ long id;
+ boolean mUseIncSupp = rs.isUseNative() &&
+ android.os.Build.VERSION.SDK_INT < INTRINSIC_API_LEVEL;
+
+ id = rs.nScriptIntrinsicCreate(12, 0, mUseIncSupp);
+
+ ScriptIntrinsicResize si = new ScriptIntrinsicResize(id, rs);
+ si.setIncSupp(mUseIncSupp);
+ return si;
+
+ }
+
+ /**
+ * Set the input of the resize.
+ * Must match the element type supplied during create.
+ *
+ * @param ain The input allocation.
+ */
+ public void setInput(Allocation ain) {
+ Element e = ain.getElement();
+ if (!e.isCompatible(Element.U8(mRS)) &&
+ !e.isCompatible(Element.U8_2(mRS)) &&
+ !e.isCompatible(Element.U8_3(mRS)) &&
+ !e.isCompatible(Element.U8_4(mRS)) &&
+ !e.isCompatible(Element.F32(mRS)) &&
+ !e.isCompatible(Element.F32_2(mRS)) &&
+ !e.isCompatible(Element.F32_3(mRS)) &&
+ !e.isCompatible(Element.F32_4(mRS))) {
+ throw new RSIllegalArgumentException("Unsuported element type.");
+ }
+
+ mInput = ain;
+ setVar(0, ain);
+ }
+
+ /**
+ * Get a FieldID for the input field of this intrinsic.
+ *
+ * @return Script.FieldID The FieldID object.
+ */
+ public Script.FieldID getFieldID_Input() {
+ return createFieldID(0, null);
+ }
+
+
+ /**
+ * Resize copy the input allocation to the output specified. The
+ * Allocation is rescaled if necessary using bi-cubic
+ * interpolation.
+ *
+ * @param aout Output allocation. Element type must match
+ * current input. Must not be same as input.
+ */
+ public void forEach_bicubic(Allocation aout) {
+ if (aout == mInput) {
+ throw new RSIllegalArgumentException("Output cannot be same as Input.");
+ }
+ forEach_bicubic(aout, null);
+ }
+
+ /**
+ * Resize copy the input allocation to the output specified. The
+ * Allocation is rescaled if necessary using bi-cubic
+ * interpolation.
+ *
+ * @param aout Output allocation. Element type must match
+ * current input.
+ * @param opt LaunchOptions for clipping
+ */
+ public void forEach_bicubic(Allocation aout, Script.LaunchOptions opt) {
+ forEach(0, (Allocation) null, aout, null, opt);
+ }
+
+ /**
+ * Get a KernelID for this intrinsic kernel.
+ *
+ * @return Script.KernelID The KernelID object.
+ */
+ public Script.KernelID getKernelID_bicubic() {
+ return createKernelID(0, 2, null, null);
+ }
+
+
+}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicYuvToRGB.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicYuvToRGB.java
index 70e43ba..f3d0df7 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicYuvToRGB.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicYuvToRGB.java
@@ -26,8 +26,10 @@
*/
public class ScriptIntrinsicYuvToRGB extends ScriptIntrinsic {
private Allocation mInput;
+ // API level for the intrinsic
+ private static final int INTRINSIC_API_LEVEL = 19;
- ScriptIntrinsicYuvToRGB(int id, RenderScript rs) {
+ ScriptIntrinsicYuvToRGB(long id, RenderScript rs) {
super(id, rs);
}
@@ -42,14 +44,15 @@
* @return ScriptIntrinsicYuvToRGB
*/
public static ScriptIntrinsicYuvToRGB create(RenderScript rs, Element e) {
- if (rs.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- return ScriptIntrinsicYuvToRGBThunker.create(rs, e);
- }
-
// 6 comes from RS_SCRIPT_INTRINSIC_YUV_TO_RGB in rsDefines.h
- int id = rs.nScriptIntrinsicCreate(6, e.getID(rs));
+ long id;
+ boolean mUseIncSupp = rs.isUseNative() &&
+ android.os.Build.VERSION.SDK_INT < INTRINSIC_API_LEVEL;
+
+ id = rs.nScriptIntrinsicCreate(6, e.getID(rs), mUseIncSupp);
+
ScriptIntrinsicYuvToRGB si = new ScriptIntrinsicYuvToRGB(id, rs);
+ si.setIncSupp(mUseIncSupp);
return si;
}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicYuvToRGBThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicYuvToRGBThunker.java
deleted file mode 100644
index 7338469..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/ScriptIntrinsicYuvToRGBThunker.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-
-class ScriptIntrinsicYuvToRGBThunker extends ScriptIntrinsicYuvToRGB {
- android.renderscript.ScriptIntrinsicYuvToRGB mN;
-
- android.renderscript.ScriptIntrinsicYuvToRGB getNObj() {
- return mN;
- }
-
-
- private ScriptIntrinsicYuvToRGBThunker(int id, RenderScript rs) {
- super(id, rs);
- }
-
- public static ScriptIntrinsicYuvToRGBThunker create(RenderScript rs, Element e) {
- RenderScriptThunker rst = (RenderScriptThunker) rs;
- ElementThunker et = (ElementThunker) e;
-
- ScriptIntrinsicYuvToRGBThunker si = new ScriptIntrinsicYuvToRGBThunker(0, rs);
- try {
- si.mN = android.renderscript.ScriptIntrinsicYuvToRGB.create(rst.mN, et.getNObj());
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- return si;
- }
-
-
- public void setInput(Allocation ain) {
- AllocationThunker aint = (AllocationThunker)ain;
- try {
- mN.setInput(aint.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public void forEach(Allocation aout) {
- AllocationThunker aoutt = (AllocationThunker)aout;
- try {
- mN.forEach(aoutt.getNObj());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- }
-
- public Script.KernelID getKernelID() {
- Script.KernelID k = createKernelID(0, 2, null, null);
- try {
- k.mN = mN.getKernelID();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return k;
- }
-
- public Script.FieldID getFieldID_Input() {
- Script.FieldID f = createFieldID(0, null);
- try {
- f.mN = mN.getFieldID_Input();
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
- return f;
- }
-}
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/Type.java b/v8/renderscript/java/src/android/support/v8/renderscript/Type.java
index a6eeb77..94ff06f 100644
--- a/v8/renderscript/java/src/android/support/v8/renderscript/Type.java
+++ b/v8/renderscript/java/src/android/support/v8/renderscript/Type.java
@@ -187,10 +187,18 @@
}
- Type(int id, RenderScript rs) {
+ Type(long id, RenderScript rs) {
super(id, rs);
}
+ /*
+ * Get an identical dummy Type for Compat Context
+ *
+ */
+ public long getDummyType(RenderScript mRS, long eid) {
+ return mRS.nIncTypeCreate(eid, mDimX, mDimY, mDimZ, mDimMipmaps, mDimFaces, mDimYuv);
+ }
+
/**
* Builder class for Type.
*
@@ -312,15 +320,10 @@
}
Type t;
- if (mRS.isNative) {
- RenderScriptThunker rst = (RenderScriptThunker)mRS;
- t = TypeThunker.create(rst, mElement, mDimX, mDimY, mDimZ,
- mDimMipmaps, mDimFaces, mYuv);
- } else {
- int id = mRS.nTypeCreate(mElement.getID(mRS),
- mDimX, mDimY, mDimZ, mDimMipmaps, mDimFaces, mYuv);
- t = new Type(id, mRS);
- }
+ long id = mRS.nTypeCreate(mElement.getID(mRS),
+ mDimX, mDimY, mDimZ, mDimMipmaps, mDimFaces, mYuv);
+ t = new Type(id, mRS);
+
t.mElement = mElement;
t.mDimX = mDimX;
t.mDimY = mDimY;
diff --git a/v8/renderscript/java/src/android/support/v8/renderscript/TypeThunker.java b/v8/renderscript/java/src/android/support/v8/renderscript/TypeThunker.java
deleted file mode 100644
index 557c545..0000000
--- a/v8/renderscript/java/src/android/support/v8/renderscript/TypeThunker.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.support.v8.renderscript;
-
-import android.graphics.ImageFormat;
-import android.util.Log;
-import java.util.HashMap;
-
-class TypeThunker extends Type {
- android.renderscript.Type mN;
-
- android.renderscript.Type getNObj() {
- return mN;
- }
-
- static HashMap<android.renderscript.Type, Type> mMap = new HashMap();
-
- void internalCalc() {
- mDimX = mN.getX();
- mDimY = mN.getY();
- mDimZ = mN.getZ();
- mDimFaces = mN.hasFaces();
- mDimMipmaps = mN.hasMipmaps();
- mDimYuv = mN.getYuv();
- calcElementCount();
- }
-
- TypeThunker(RenderScript rs, android.renderscript.Type t) {
- super(0, rs);
- mN = t;
- try {
- internalCalc();
- mElement = new ElementThunker(rs, t.getElement());
- } catch (android.renderscript.RSRuntimeException e) {
- throw ExceptionThunker.convertException(e);
- }
-
- synchronized(mMap) {
- mMap.put(mN, this);
- }
- }
-
- static Type find(android.renderscript.Type nt) {
- return mMap.get(nt);
- }
-
- static Type create(RenderScript rs, Element e,
- int dx, int dy, int dz, boolean dmip, boolean dfaces, int yuv) {
- ElementThunker et = (ElementThunker)e;
- RenderScriptThunker rst = (RenderScriptThunker)rs;
- try {
- android.renderscript.Type.Builder tb =
- new android.renderscript.Type.Builder(rst.mN, et.mN);
- if (dx > 0) tb.setX(dx);
- if (dy > 0) tb.setY(dy);
- if (dz > 0) tb.setZ(dz);
- if (dmip) tb.setMipmaps(dmip);
- if (dfaces) tb.setFaces(dfaces);
- if (yuv > 0) tb.setYuvFormat(yuv);
- android.renderscript.Type nt = tb.create();
- TypeThunker tt = new TypeThunker(rs, nt);
- tt.internalCalc();
-
- return tt;
- } catch (android.renderscript.RSRuntimeException exc) {
- throw ExceptionThunker.convertException(exc);
- }
- }
-}
diff --git a/v8/renderscript/jni/Android.mk b/v8/renderscript/jni/Android.mk
index 9b36b90..d2af4a9 100644
--- a/v8/renderscript/jni/Android.mk
+++ b/v8/renderscript/jni/Android.mk
@@ -2,32 +2,54 @@
include $(CLEAR_VARS)
LOCAL_CLANG := true
+LOCAL_SDK_VERSION := 14
+
+LOCAL_SRC_FILES:= \
+ android_rscompat_usage_io.cpp \
+ android_rscompat_usage_io_driver.cpp
+
+LOCAL_C_INCLUDES += \
+ $(JNI_H_INCLUDE) \
+ frameworks/rs \
+ frameworks/rs/cpp \
+ frameworks/rs/driver
+
+LOCAL_CFLAGS += -Wno-unused-parameter -U_FORTIFY_SOURCE
+LOCAL_CFLAGS += -DRS_COMPATIBILITY_LIB -std=c++11
+
+LOCAL_MODULE:= libRSSupportIO
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_LDLIBS += -landroid
+LOCAL_NDK_STL_VARIANT := stlport_static
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+
+LOCAL_CLANG := true
LOCAL_SDK_VERSION := 8
LOCAL_SRC_FILES:= \
android_renderscript_RenderScript.cpp
LOCAL_SHARED_LIBRARIES := \
- libRSSupport \
libjnigraphics
LOCAL_STATIC_LIBRARIES := \
- libcutils
-
-rs_generated_include_dir := $(call generated-sources-dir-for,SHARED_LIBRARIES,libRSSupport,,)
+ libcutils \
+ libRSDispatch
LOCAL_C_INCLUDES += \
$(JNI_H_INCLUDE) \
frameworks/rs \
- $(rs_generated_include_dir)
+ frameworks/rs/cpp
-LOCAL_CFLAGS += -Wno-unused-parameter -U_FORTIFY_SOURCE
+LOCAL_CFLAGS += -Wno-unused-parameter -U_FORTIFY_SOURCE -std=c++11
-LOCAL_ADDITIONAL_DEPENDENCIES := $(addprefix $(rs_generated_include_dir)/,rsgApiFuncDecl.h)
LOCAL_MODULE:= librsjni
-LOCAL_ADDITIONAL_DEPENDENCIES += $(rs_generated_source)
LOCAL_MODULE_TAGS := optional
LOCAL_REQUIRED_MODULES := libRSSupport
-LOCAL_32_BIT_ONLY := true
+
+LOCAL_LDFLAGS += -ldl
include $(BUILD_SHARED_LIBRARY)
diff --git a/v8/renderscript/jni/android_renderscript_RenderScript.cpp b/v8/renderscript/jni/android_renderscript_RenderScript.cpp
index 07374b6..76f1876 100644
--- a/v8/renderscript/jni/android_renderscript_RenderScript.cpp
+++ b/v8/renderscript/jni/android_renderscript_RenderScript.cpp
@@ -23,15 +23,191 @@
#include <math.h>
#include <android/bitmap.h>
#include <android/log.h>
-#include "jni.h"
-#include <rs.h>
+
#include <rsEnv.h>
+#include "rsDispatch.h"
+#include <dlfcn.h>
//#define LOG_API ALOG
#define LOG_API(...)
#define NELEM(m) (sizeof(m) / sizeof((m)[0]))
+template <typename... T>
+void UNUSED(T... t) {}
+#define PER_ARRAY_TYPE(flag, fnc, readonly, ...) { \
+ jint len = 0; \
+ void *ptr = nullptr; \
+ void *srcPtr = nullptr; \
+ size_t typeBytes = 0; \
+ jint relFlag = 0; \
+ if (readonly) { \
+ /* The on-release mode should only be JNI_ABORT for read-only accesses. */ \
+ /* readonly = true, also indicates we are copying to the allocation . */ \
+ relFlag = JNI_ABORT; \
+ } \
+ switch(dataType) { \
+ case RS_TYPE_FLOAT_32: \
+ len = _env->GetArrayLength((jfloatArray)data); \
+ ptr = _env->GetFloatArrayElements((jfloatArray)data, flag); \
+ typeBytes = 4; \
+ if (usePadding) { \
+ srcPtr = ptr; \
+ len = len / 3 * 4; \
+ if (count == 0) { \
+ count = len / 4; \
+ } \
+ ptr = malloc (len * typeBytes); \
+ if (readonly) { \
+ copyWithPadding(ptr, srcPtr, mSize, count); \
+ fnc(__VA_ARGS__); \
+ } else { \
+ fnc(__VA_ARGS__); \
+ copyWithUnPadding(srcPtr, ptr, mSize, count); \
+ } \
+ free(ptr); \
+ ptr = srcPtr; \
+ } else { \
+ fnc(__VA_ARGS__); \
+ } \
+ _env->ReleaseFloatArrayElements((jfloatArray)data, (jfloat *)ptr, relFlag); \
+ return; \
+ case RS_TYPE_FLOAT_64: \
+ len = _env->GetArrayLength((jdoubleArray)data); \
+ ptr = _env->GetDoubleArrayElements((jdoubleArray)data, flag); \
+ typeBytes = 8; \
+ if (usePadding) { \
+ srcPtr = ptr; \
+ len = len / 3 * 4; \
+ if (count == 0) { \
+ count = len / 4; \
+ } \
+ ptr = malloc (len * typeBytes); \
+ if (readonly) { \
+ copyWithPadding(ptr, srcPtr, mSize, count); \
+ fnc(__VA_ARGS__); \
+ } else { \
+ fnc(__VA_ARGS__); \
+ copyWithUnPadding(srcPtr, ptr, mSize, count); \
+ } \
+ free(ptr); \
+ ptr = srcPtr; \
+ } else { \
+ fnc(__VA_ARGS__); \
+ } \
+ _env->ReleaseDoubleArrayElements((jdoubleArray)data, (jdouble *)ptr, relFlag); \
+ return; \
+ case RS_TYPE_SIGNED_8: \
+ case RS_TYPE_UNSIGNED_8: \
+ len = _env->GetArrayLength((jbyteArray)data); \
+ ptr = _env->GetByteArrayElements((jbyteArray)data, flag); \
+ typeBytes = 1; \
+ if (usePadding) { \
+ srcPtr = ptr; \
+ len = len / 3 * 4; \
+ if (count == 0) { \
+ count = len / 4; \
+ } \
+ ptr = malloc (len * typeBytes); \
+ if (readonly) { \
+ copyWithPadding(ptr, srcPtr, mSize, count); \
+ fnc(__VA_ARGS__); \
+ } else { \
+ fnc(__VA_ARGS__); \
+ copyWithUnPadding(srcPtr, ptr, mSize, count); \
+ } \
+ free(ptr); \
+ ptr = srcPtr; \
+ } else { \
+ fnc(__VA_ARGS__); \
+ } \
+ _env->ReleaseByteArrayElements((jbyteArray)data, (jbyte*)ptr, relFlag); \
+ return; \
+ case RS_TYPE_SIGNED_16: \
+ case RS_TYPE_UNSIGNED_16: \
+ len = _env->GetArrayLength((jshortArray)data); \
+ ptr = _env->GetShortArrayElements((jshortArray)data, flag); \
+ typeBytes = 2; \
+ if (usePadding) { \
+ srcPtr = ptr; \
+ len = len / 3 * 4; \
+ if (count == 0) { \
+ count = len / 4; \
+ } \
+ ptr = malloc (len * typeBytes); \
+ if (readonly) { \
+ copyWithPadding(ptr, srcPtr, mSize, count); \
+ fnc(__VA_ARGS__); \
+ } else { \
+ fnc(__VA_ARGS__); \
+ copyWithUnPadding(srcPtr, ptr, mSize, count); \
+ } \
+ free(ptr); \
+ ptr = srcPtr; \
+ } else { \
+ fnc(__VA_ARGS__); \
+ } \
+ _env->ReleaseShortArrayElements((jshortArray)data, (jshort *)ptr, relFlag); \
+ return; \
+ case RS_TYPE_SIGNED_32: \
+ case RS_TYPE_UNSIGNED_32: \
+ len = _env->GetArrayLength((jintArray)data); \
+ ptr = _env->GetIntArrayElements((jintArray)data, flag); \
+ typeBytes = 4; \
+ if (usePadding) { \
+ srcPtr = ptr; \
+ len = len / 3 * 4; \
+ if (count == 0) { \
+ count = len / 4; \
+ } \
+ ptr = malloc (len * typeBytes); \
+ if (readonly) { \
+ copyWithPadding(ptr, srcPtr, mSize, count); \
+ fnc(__VA_ARGS__); \
+ } else { \
+ fnc(__VA_ARGS__); \
+ copyWithUnPadding(srcPtr, ptr, mSize, count); \
+ } \
+ free(ptr); \
+ ptr = srcPtr; \
+ } else { \
+ fnc(__VA_ARGS__); \
+ } \
+ _env->ReleaseIntArrayElements((jintArray)data, (jint *)ptr, relFlag); \
+ return; \
+ case RS_TYPE_SIGNED_64: \
+ case RS_TYPE_UNSIGNED_64: \
+ len = _env->GetArrayLength((jlongArray)data); \
+ ptr = _env->GetLongArrayElements((jlongArray)data, flag); \
+ typeBytes = 8; \
+ if (usePadding) { \
+ srcPtr = ptr; \
+ len = len / 3 * 4; \
+ if (count == 0) { \
+ count = len / 4; \
+ } \
+ ptr = malloc (len * typeBytes); \
+ if (readonly) { \
+ copyWithPadding(ptr, srcPtr, mSize, count); \
+ fnc(__VA_ARGS__); \
+ } else { \
+ fnc(__VA_ARGS__); \
+ copyWithUnPadding(srcPtr, ptr, mSize, count); \
+ } \
+ free(ptr); \
+ ptr = srcPtr; \
+ } else { \
+ fnc(__VA_ARGS__); \
+ } \
+ _env->ReleaseLongArrayElements((jlongArray)data, (jlong *)ptr, relFlag); \
+ return; \
+ default: \
+ break; \
+ } \
+ UNUSED(len, ptr, srcPtr, typeBytes, relFlag); \
+}
+
+
class AutoJavaStringToUTF8 {
public:
AutoJavaStringToUTF8(JNIEnv* env, jstring str) : fEnv(env), fJStr(str) {
@@ -87,89 +263,249 @@
jsize mStringsLength;
};
-// ---------------------------------------------------------------------------
-static void
-nContextFinish(JNIEnv *_env, jobject _this, RsContext con)
-{
- LOG_API("nContextFinish, con(%p)", con);
- rsContextFinish(con);
+// ---------------------------------------------------------------------------
+static dispatchTable dispatchTab;
+// Incremental Support lib
+static dispatchTable dispatchTabInc;
+
+static jboolean nLoadSO(JNIEnv *_env, jobject _this, jboolean useNative) {
+ void* handle = NULL;
+ if (useNative) {
+ handle = dlopen("libRS.so", RTLD_LAZY | RTLD_LOCAL);
+ } else {
+ handle = dlopen("libRSSupport.so", RTLD_LAZY | RTLD_LOCAL);
+ }
+ if (handle == NULL) {
+ LOG_API("couldn't dlopen %s, %s", filename, dlerror());
+ return false;
+ }
+
+ if (loadSymbols(handle, dispatchTab) == false) {
+ LOG_API("%s init failed!", filename);
+ return false;
+ }
+ LOG_API("Successfully loaded %s", filename);
+ return true;
}
-static void
-nObjDestroy(JNIEnv *_env, jobject _this, RsContext con, jint obj)
-{
- LOG_API("nObjDestroy, con(%p) obj(%p)", con, (void *)obj);
- rsObjDestroy(con, (void *)obj);
+static ioSuppDT ioDispatch;
+static jboolean nLoadIOSO(JNIEnv *_env, jobject _this) {
+ void* handleIO = NULL;
+ handleIO = dlopen("libRSSupportIO.so", RTLD_LAZY | RTLD_LOCAL);
+ if (handleIO == NULL) {
+ LOG_API("Couldn't load libRSSupportIO.so");
+ return false;
+ }
+ if (loadIOSuppSyms(handleIO, ioDispatch) == false) {
+ LOG_API("libRSSupportIO init failed!");
+ return false;
+ }
+ return true;
}
// ---------------------------------------------------------------------------
-static jint
+static void copyWithPadding(void* ptr, void* srcPtr, int mSize, int count) {
+ int sizeBytesPad = mSize * 4;
+ int sizeBytes = mSize * 3;
+ uint8_t *dst = static_cast<uint8_t *>(ptr);
+ uint8_t *src = static_cast<uint8_t *>(srcPtr);
+ for (int i = 0; i < count; i++) {
+ memcpy(dst, src, sizeBytes);
+ dst += sizeBytesPad;
+ src += sizeBytes;
+ }
+}
+
+static void copyWithUnPadding(void* ptr, void* srcPtr, int mSize, int count) {
+ int sizeBytesPad = mSize * 4;
+ int sizeBytes = mSize * 3;
+ uint8_t *dst = static_cast<uint8_t *>(ptr);
+ uint8_t *src = static_cast<uint8_t *>(srcPtr);
+ for (int i = 0; i < count; i++) {
+ memcpy(dst, src, sizeBytes);
+ dst += sizeBytes;
+ src += sizeBytesPad;
+ }
+}
+
+
+// ---------------------------------------------------------------------------
+
+static void
+nContextFinish(JNIEnv *_env, jobject _this, jlong con)
+{
+ LOG_API("nContextFinish, con(%p)", (RsContext)con);
+ dispatchTab.ContextFinish((RsContext)con);
+}
+
+static jlong
+nClosureCreate(JNIEnv *_env, jobject _this, jlong con, jlong kernelID,
+ jlong returnValue, jlongArray fieldIDArray,
+ jlongArray valueArray, jintArray sizeArray,
+ jlongArray depClosureArray, jlongArray depFieldIDArray) {
+ LOG_API("nClosureCreate: con(%p)", con);
+ jlong* jFieldIDs = _env->GetLongArrayElements(fieldIDArray, nullptr);
+ jsize fieldIDs_length = _env->GetArrayLength(fieldIDArray);
+ RsScriptFieldID* fieldIDs =
+ (RsScriptFieldID*)alloca(sizeof(RsScriptFieldID) * fieldIDs_length);
+ for (int i = 0; i< fieldIDs_length; i++) {
+ fieldIDs[i] = (RsScriptFieldID)jFieldIDs[i];
+ }
+
+ jlong* jValues = _env->GetLongArrayElements(valueArray, nullptr);
+ jsize values_length = _env->GetArrayLength(valueArray);
+ uintptr_t* values = (uintptr_t*)alloca(sizeof(uintptr_t) * values_length);
+ for (int i = 0; i < values_length; i++) {
+ values[i] = (uintptr_t)jValues[i];
+ }
+
+ jint* sizes = _env->GetIntArrayElements(sizeArray, nullptr);
+ jsize sizes_length = _env->GetArrayLength(sizeArray);
+
+ jlong* jDepClosures =
+ _env->GetLongArrayElements(depClosureArray, nullptr);
+ jsize depClosures_length = _env->GetArrayLength(depClosureArray);
+ RsClosure* depClosures =
+ (RsClosure*)alloca(sizeof(RsClosure) * depClosures_length);
+ for (int i = 0; i < depClosures_length; i++) {
+ depClosures[i] = (RsClosure)jDepClosures[i];
+ }
+
+ jlong* jDepFieldIDs =
+ _env->GetLongArrayElements(depFieldIDArray, nullptr);
+ jsize depFieldIDs_length = _env->GetArrayLength(depFieldIDArray);
+ RsScriptFieldID* depFieldIDs =
+ (RsScriptFieldID*)alloca(sizeof(RsScriptFieldID) * depFieldIDs_length);
+ for (int i = 0; i < depClosures_length; i++) {
+ depFieldIDs[i] = (RsClosure)jDepFieldIDs[i];
+ }
+
+ return (jlong)(uintptr_t)dispatchTab.ClosureCreate(
+ (RsContext)con, (RsScriptKernelID)kernelID, (RsAllocation)returnValue,
+ fieldIDs, (size_t)fieldIDs_length, values, (size_t)values_length,
+ (size_t*)sizes, (size_t)sizes_length,
+ depClosures, (size_t)depClosures_length,
+ depFieldIDs, (size_t)depFieldIDs_length);
+}
+
+static void
+nClosureSetArg(JNIEnv *_env, jobject _this, jlong con, jlong closureID,
+ jint index, jlong value, jint size) {
+ dispatchTab.ClosureSetArg((RsContext)con, (RsClosure)closureID,
+ (uint32_t)index, (uintptr_t)value, (size_t)size);
+}
+
+static void
+nClosureSetGlobal(JNIEnv *_env, jobject _this, jlong con, jlong closureID,
+ jlong fieldID, jlong value, jint size) {
+ dispatchTab.ClosureSetGlobal((RsContext)con, (RsClosure)closureID,
+ (RsScriptFieldID)fieldID, (uintptr_t)value,
+ (size_t)size);
+}
+
+static long
+nScriptGroup2Create(JNIEnv *_env, jobject _this, jlong con,
+ jlongArray closureArray) {
+ jlong* jClosures = _env->GetLongArrayElements(closureArray, nullptr);
+ jsize numClosures = _env->GetArrayLength(closureArray);
+ RsClosure* closures = (RsClosure*)alloca(sizeof(RsClosure) * numClosures);
+ for (int i = 0; i < numClosures; i++) {
+ closures[i] = (RsClosure)jClosures[i];
+ }
+
+ return (jlong)(uintptr_t)dispatchTab.ScriptGroup2Create((RsContext)con,
+ closures,
+ numClosures);
+}
+
+static void
+nObjDestroy(JNIEnv *_env, jobject _this, jlong con, jlong obj)
+{
+ LOG_API("nObjDestroy, con(%p) obj(%p)", (RsContext)con, (void *)obj);
+ dispatchTab.ObjDestroy((RsContext)con, (void *)obj);
+}
+
+// ---------------------------------------------------------------------------
+static jlong
nDeviceCreate(JNIEnv *_env, jobject _this)
{
LOG_API("nDeviceCreate");
- return (jint)rsDeviceCreate();
+ return (jlong)(uintptr_t)dispatchTab.DeviceCreate();
}
static void
-nDeviceDestroy(JNIEnv *_env, jobject _this, jint dev)
+nDeviceDestroy(JNIEnv *_env, jobject _this, jlong dev)
{
LOG_API("nDeviceDestroy");
- return rsDeviceDestroy((RsDevice)dev);
+ return dispatchTab.DeviceDestroy((RsDevice)dev);
}
static void
-nDeviceSetConfig(JNIEnv *_env, jobject _this, jint dev, jint p, jint value)
+nDeviceSetConfig(JNIEnv *_env, jobject _this, jlong dev, jint p, jint value)
{
LOG_API("nDeviceSetConfig dev(%p), param(%i), value(%i)", (void *)dev, p, value);
- return rsDeviceSetConfig((RsDevice)dev, (RsDeviceParam)p, value);
+ return dispatchTab.DeviceSetConfig((RsDevice)dev, (RsDeviceParam)p, value);
}
-static jint
-nContextCreate(JNIEnv *_env, jobject _this, jint dev, jint ver, jint sdkVer, jint ct)
+static jlong
+nContextCreate(JNIEnv *_env, jobject _this, jlong dev, jint ver, jint sdkVer,
+ jint ct, jstring nativeLibDirJava)
{
LOG_API("nContextCreate");
- return (jint)rsContextCreate((RsDevice)dev, ver, sdkVer, (RsContextType)ct, 0);
+ // Access the NativeLibDir in the Java Context.
+ const char * nativeLibDir = _env->GetStringUTFChars(nativeLibDirJava, JNI_FALSE);
+ size_t length = (size_t)_env->GetStringUTFLength(nativeLibDirJava);
+
+ jlong id = (jlong)(uintptr_t)dispatchTab.ContextCreate((RsDevice)dev, ver,
+ sdkVer,
+ (RsContextType)ct, 0);
+ if (dispatchTab.SetNativeLibDir) {
+ dispatchTab.SetNativeLibDir((RsContext)id, nativeLibDir, length);
+ }
+
+ _env->ReleaseStringUTFChars(nativeLibDirJava, nativeLibDir);
+ return id;
}
static void
-nContextSetPriority(JNIEnv *_env, jobject _this, RsContext con, jint p)
+nContextSetPriority(JNIEnv *_env, jobject _this, jlong con, jint p)
{
- LOG_API("ContextSetPriority, con(%p), priority(%i)", con, p);
- rsContextSetPriority(con, p);
+ LOG_API("ContextSetPriority, con(%p), priority(%i)", (RsContext)con, p);
+ dispatchTab.ContextSetPriority((RsContext)con, p);
}
static void
-nContextDestroy(JNIEnv *_env, jobject _this, RsContext con)
+nContextDestroy(JNIEnv *_env, jobject _this, jlong con)
{
- LOG_API("nContextDestroy, con(%p)", con);
- rsContextDestroy(con);
+ LOG_API("nContextDestroy, con(%p)", (RsContext)con);
+ dispatchTab.ContextDestroy((RsContext)con);
}
static void
-nContextDump(JNIEnv *_env, jobject _this, RsContext con, jint bits)
+nContextDump(JNIEnv *_env, jobject _this, jlong con, jint bits)
{
LOG_API("nContextDump, con(%p) bits(%i)", (RsContext)con, bits);
- rsContextDump((RsContext)con, bits);
+ dispatchTab.ContextDump((RsContext)con, bits);
}
static jstring
-nContextGetErrorMessage(JNIEnv *_env, jobject _this, RsContext con)
+nContextGetErrorMessage(JNIEnv *_env, jobject _this, jlong con)
{
- LOG_API("nContextGetErrorMessage, con(%p)", con);
+ LOG_API("nContextGetErrorMessage, con(%p)", (RsContext)con);
char buf[1024];
size_t receiveLen;
uint32_t subID;
- int id = rsContextGetMessage(con,
- buf, sizeof(buf),
- &receiveLen, sizeof(receiveLen),
- &subID, sizeof(subID));
+ int id = dispatchTab.ContextGetMessage((RsContext)con,
+ buf, sizeof(buf),
+ &receiveLen, sizeof(receiveLen),
+ &subID, sizeof(subID));
if (!id && receiveLen) {
// __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG,
// "message receive buffer too small. %zu", receiveLen);
@@ -178,54 +514,54 @@
}
static jint
-nContextGetUserMessage(JNIEnv *_env, jobject _this, RsContext con, jintArray data)
+nContextGetUserMessage(JNIEnv *_env, jobject _this, jlong con, jintArray data)
{
jint len = _env->GetArrayLength(data);
- LOG_API("nContextGetMessage, con(%p), len(%i)", con, len);
+ LOG_API("nContextGetMessage, con(%p), len(%i)", (RsContext)con, len);
jint *ptr = _env->GetIntArrayElements(data, NULL);
size_t receiveLen;
uint32_t subID;
- int id = rsContextGetMessage(con,
- ptr, len * 4,
- &receiveLen, sizeof(receiveLen),
- &subID, sizeof(subID));
+ int id = dispatchTab.ContextGetMessage((RsContext)con,
+ ptr, len * 4,
+ &receiveLen, sizeof(receiveLen),
+ &subID, sizeof(subID));
if (!id && receiveLen) {
// __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG,
// "message receive buffer too small. %zu", receiveLen);
}
_env->ReleaseIntArrayElements(data, ptr, 0);
- return id;
+ return (jint)id;
}
static jint
-nContextPeekMessage(JNIEnv *_env, jobject _this, RsContext con, jintArray auxData)
+nContextPeekMessage(JNIEnv *_env, jobject _this, jlong con, jintArray auxData)
{
- LOG_API("nContextPeekMessage, con(%p)", con);
+ LOG_API("nContextPeekMessage, con(%p)", (RsContext)con);
jint *auxDataPtr = _env->GetIntArrayElements(auxData, NULL);
size_t receiveLen;
uint32_t subID;
- int id = rsContextPeekMessage(con, &receiveLen, sizeof(receiveLen),
+ int id = dispatchTab.ContextPeekMessage((RsContext)con, &receiveLen, sizeof(receiveLen),
&subID, sizeof(subID));
auxDataPtr[0] = (jint)subID;
auxDataPtr[1] = (jint)receiveLen;
_env->ReleaseIntArrayElements(auxData, auxDataPtr, 0);
- return id;
+ return (jint)id;
}
-static void nContextInitToClient(JNIEnv *_env, jobject _this, RsContext con)
+static void nContextInitToClient(JNIEnv *_env, jobject _this, jlong con)
{
- LOG_API("nContextInitToClient, con(%p)", con);
- rsContextInitToClient(con);
+ LOG_API("nContextInitToClient, con(%p)", (RsContext)con);
+ dispatchTab.ContextInitToClient((RsContext)con);
}
-static void nContextDeinitToClient(JNIEnv *_env, jobject _this, RsContext con)
+static void nContextDeinitToClient(JNIEnv *_env, jobject _this, jlong con)
{
- LOG_API("nContextDeinitToClient, con(%p)", con);
- rsContextDeinitToClient(con);
+ LOG_API("nContextDeinitToClient, con(%p)", (RsContext)con);
+ dispatchTab.ContextDeinitToClient((RsContext)con);
}
static void
-nContextSendMessage(JNIEnv *_env, jobject _this, RsContext con, jint id, jintArray data)
+nContextSendMessage(JNIEnv *_env, jobject _this, jlong con, jint id, jintArray data)
{
jint *ptr = NULL;
jint len = 0;
@@ -233,8 +569,8 @@
len = _env->GetArrayLength(data);
jint *ptr = _env->GetIntArrayElements(data, NULL);
}
- LOG_API("nContextSendMessage, con(%p), id(%i), len(%i)", con, id, len);
- rsContextSendMessage(con, id, (const uint8_t *)ptr, len * sizeof(int));
+ LOG_API("nContextSendMessage, con(%p), id(%i), len(%i)", (RsContext)con, id, len);
+ dispatchTab.ContextSendMessage((RsContext)con, id, (const uint8_t *)ptr, len * sizeof(int));
if (data) {
_env->ReleaseIntArrayElements(data, ptr, JNI_ABORT);
}
@@ -242,59 +578,78 @@
-static jint
-nElementCreate(JNIEnv *_env, jobject _this, RsContext con, jint type, jint kind, jboolean norm, jint size)
+static jlong
+nElementCreate(JNIEnv *_env, jobject _this, jlong con, jlong type, jint kind,
+ jboolean norm, jint size)
{
- LOG_API("nElementCreate, con(%p), type(%i), kind(%i), norm(%i), size(%i)", con, type, kind, norm, size);
- return (jint)rsElementCreate(con, (RsDataType)type, (RsDataKind)kind, norm, size);
+ LOG_API("nElementCreate, con(%p), type(%i), kind(%i), norm(%i), size(%i)", (RsContext)con,
+ type, kind, norm, size);
+ return (jlong)(uintptr_t)dispatchTab.ElementCreate((RsContext)con,
+ (RsDataType)type,
+ (RsDataKind)kind,
+ norm, size);
}
-static jint
-nElementCreate2(JNIEnv *_env, jobject _this, RsContext con,
- jintArray _ids, jobjectArray _names, jintArray _arraySizes)
+static jlong
+nElementCreate2(JNIEnv *_env, jobject _this, jlong con,
+ jlongArray _ids, jobjectArray _names, jintArray _arraySizes)
{
int fieldCount = _env->GetArrayLength(_ids);
- LOG_API("nElementCreate2, con(%p)", con);
+ LOG_API("nElementCreate2, con(%p)", (RsContext)con);
- jint *ids = _env->GetIntArrayElements(_ids, NULL);
- jint *arraySizes = _env->GetIntArrayElements(_arraySizes, NULL);
+ jlong *jIds = _env->GetLongArrayElements(_ids, NULL);
+ jint *jArraySizes = _env->GetIntArrayElements(_arraySizes, NULL);
+
+ RsElement *ids = (RsElement*)malloc(fieldCount * sizeof(RsElement));
+ uint32_t *arraySizes = (uint32_t *)malloc(fieldCount * sizeof(uint32_t));
+
+ for(int i = 0; i < fieldCount; i ++) {
+ ids[i] = (RsElement)jIds[i];
+ arraySizes[i] = (uint32_t)jArraySizes[i];
+ }
AutoJavaStringArrayToUTF8 names(_env, _names, fieldCount);
const char **nameArray = names.c_str();
size_t *sizeArray = names.c_str_len();
- jint id = (jint)rsElementCreate2(con,
- (RsElement *)ids, fieldCount,
- nameArray, fieldCount * sizeof(size_t), sizeArray,
- (const uint32_t *)arraySizes, fieldCount);
+ jlong id = (jlong)(uintptr_t)dispatchTab.ElementCreate2((RsContext)con, (RsElement *)ids,
+ fieldCount, nameArray,
+ fieldCount * sizeof(size_t), sizeArray,
+ (const uint32_t *)arraySizes, fieldCount);
- _env->ReleaseIntArrayElements(_ids, ids, JNI_ABORT);
- _env->ReleaseIntArrayElements(_arraySizes, arraySizes, JNI_ABORT);
- return (jint)id;
+ free(ids);
+ free(arraySizes);
+ _env->ReleaseLongArrayElements(_ids, jIds, JNI_ABORT);
+ _env->ReleaseIntArrayElements(_arraySizes, jArraySizes, JNI_ABORT);
+ return id;
}
+
static void
-nElementGetSubElements(JNIEnv *_env, jobject _this, RsContext con, jint id,
- jintArray _IDs,
+nElementGetSubElements(JNIEnv *_env, jobject _this, jlong con, jlong id,
+ jlongArray _IDs,
jobjectArray _names,
jintArray _arraySizes)
{
- int dataSize = _env->GetArrayLength(_IDs);
- LOG_API("nElementGetSubElements, con(%p)", con);
+ uint32_t dataSize = _env->GetArrayLength(_IDs);
+ LOG_API("nElementGetSubElements, con(%p)", (RsContext)con);
- uint32_t *ids = (uint32_t *)malloc((uint32_t)dataSize * sizeof(uint32_t));
+ uintptr_t *ids = (uintptr_t *)malloc(dataSize * sizeof(uintptr_t));
const char **names = (const char **)malloc((uint32_t)dataSize * sizeof(const char *));
uint32_t *arraySizes = (uint32_t *)malloc((uint32_t)dataSize * sizeof(uint32_t));
- rsaElementGetSubElements(con, (RsElement)id, ids, names, arraySizes, (uint32_t)dataSize);
+ dispatchTab.ElementGetSubElements((RsContext)con, (RsElement)id, ids, names, arraySizes,
+ (uint32_t)dataSize);
- for(jint i = 0; i < dataSize; i++) {
+ for(uint32_t i = 0; i < dataSize; i++) {
+ const jlong id = (jlong)(uintptr_t)ids[i];
+ const jint arraySize = (jint)arraySizes[i];
_env->SetObjectArrayElement(_names, i, _env->NewStringUTF(names[i]));
- _env->SetIntArrayRegion(_IDs, i, 1, (const jint*)&ids[i]);
- _env->SetIntArrayRegion(_arraySizes, i, 1, (const jint*)&arraySizes[i]);
+ _env->SetLongArrayRegion(_IDs, i, 1, &id);
+ _env->SetIntArrayRegion(_arraySizes, i, 1, &arraySize);
}
free(ids);
@@ -304,38 +659,54 @@
// -----------------------------------
-static int
-nTypeCreate(JNIEnv *_env, jobject _this, RsContext con, RsElement eid,
+static jlong
+nTypeCreate(JNIEnv *_env, jobject _this, jlong con, jlong eid,
jint dimx, jint dimy, jint dimz, jboolean mips, jboolean faces, jint yuv)
{
LOG_API("nTypeCreate, con(%p) eid(%p), x(%i), y(%i), z(%i), mips(%i), faces(%i), yuv(%i)",
- con, eid, dimx, dimy, dimz, mips, faces, yuv);
+ (RsContext)con, eid, dimx, dimy, dimz, mips, faces, yuv);
- jint id = (jint)rsTypeCreate(con, (RsElement)eid, dimx, dimy, dimz, mips, faces, yuv);
- return (jint)id;
+ return (jlong)(uintptr_t)dispatchTab.TypeCreate((RsContext)con, (RsElement)eid, dimx, dimy,
+ dimz, mips, faces, yuv);
}
// -----------------------------------
-static jint
-nAllocationCreateTyped(JNIEnv *_env, jobject _this, RsContext con, jint type, jint mips, jint usage, jint pointer)
+static jlong
+nAllocationCreateTyped(JNIEnv *_env, jobject _this, jlong con, jlong type, jint mips, jint usage,
+ jlong pointer)
{
- LOG_API("nAllocationCreateTyped, con(%p), type(%p), mip(%i), usage(%i), ptr(%p)", con, (RsElement)type, mips, usage, (void *)pointer);
- return (jint) rsAllocationCreateTyped(con, (RsType)type, (RsAllocationMipmapControl)mips, (uint32_t)usage, (uint32_t)pointer);
+ LOG_API("nAllocationCreateTyped, con(%p), type(%p), mip(%i), usage(%i), ptr(%p)",
+ (RsContext)con, (RsElement)type, mips, usage, (void *)pointer);
+ return (jlong)(uintptr_t) dispatchTab.AllocationCreateTyped((RsContext)con, (RsType)type,
+ (RsAllocationMipmapControl)mips,
+ (uint32_t)usage, (uintptr_t)pointer);
}
static void
-nAllocationSyncAll(JNIEnv *_env, jobject _this, RsContext con, jint a, jint bits)
+nAllocationSyncAll(JNIEnv *_env, jobject _this, jlong con, jlong a, jint bits)
{
- LOG_API("nAllocationSyncAll, con(%p), a(%p), bits(0x%08x)", con, (RsAllocation)a, bits);
- rsAllocationSyncAll(con, (RsAllocation)a, (RsAllocationUsageType)bits);
+ LOG_API("nAllocationSyncAll, con(%p), a(%p), bits(0x%08x)", (RsContext)con, (RsAllocation)a, bits);
+ dispatchTab.AllocationSyncAll((RsContext)con, (RsAllocation)a, (RsAllocationUsageType)bits);
}
static void
-nAllocationGenerateMipmaps(JNIEnv *_env, jobject _this, RsContext con, jint alloc)
+nAllocationSetSurface(JNIEnv *_env, jobject _this, jlong con, jlong alloc, jobject sur)
{
- LOG_API("nAllocationGenerateMipmaps, con(%p), a(%p)", con, (RsAllocation)alloc);
- rsAllocationGenerateMipmaps(con, (RsAllocation)alloc);
+ ioDispatch.sAllocationSetSurface(_env, _this, (RsContext)con, (RsAllocation)alloc, sur, dispatchTab);
+}
+
+static void
+nAllocationIoSend(JNIEnv *_env, jobject _this, jlong con, jlong alloc)
+{
+ dispatchTab.AllocationIoSend((RsContext)con, (RsAllocation)alloc);
+}
+
+static void
+nAllocationGenerateMipmaps(JNIEnv *_env, jobject _this, jlong con, jlong alloc)
+{
+ LOG_API("nAllocationGenerateMipmaps, con(%p), a(%p)", (RsContext)con, (RsAllocation)alloc);
+ dispatchTab.AllocationGenerateMipmaps((RsContext)con, (RsAllocation)alloc);
}
static size_t GetBitmapSize(JNIEnv *env, jobject jbitmap) {
@@ -351,56 +722,67 @@
return s;
}
-static int
-nAllocationCreateFromBitmap(JNIEnv *_env, jobject _this, RsContext con, jint type, jint mip, jobject jbitmap, jint usage)
+static jlong
+nAllocationCreateFromBitmap(JNIEnv *_env, jobject _this, jlong con, jlong type, jint mip,
+ jobject jbitmap, jint usage)
{
- jint id = 0;
+ jlong id = 0;
void *pixels = NULL;
AndroidBitmap_lockPixels(_env, jbitmap, &pixels);
if (pixels != NULL) {
- id = (jint)rsAllocationCreateFromBitmap(con,
- (RsType)type, (RsAllocationMipmapControl)mip,
- pixels, GetBitmapSize(_env, jbitmap), usage);
+ id = (jlong)(uintptr_t)dispatchTab.AllocationCreateFromBitmap((RsContext)con,
+ (RsType)type,
+ (RsAllocationMipmapControl)mip,
+ pixels,
+ GetBitmapSize(_env, jbitmap),
+ usage);
AndroidBitmap_unlockPixels(_env, jbitmap);
}
return id;
}
-static int
-nAllocationCreateBitmapBackedAllocation(JNIEnv *_env, jobject _this, RsContext con, jint type, jint mip, jobject jbitmap, jint usage)
+static jlong
+nAllocationCreateBitmapBackedAllocation(JNIEnv *_env, jobject _this, jlong con, jlong type,
+ jint mip, jobject jbitmap, jint usage)
{
- jint id = 0;
+ jlong id = 0;
void *pixels = NULL;
AndroidBitmap_lockPixels(_env, jbitmap, &pixels);
if (pixels != NULL) {
- id = (jint)rsAllocationCreateTyped(con,
- (RsType)type, (RsAllocationMipmapControl)mip,
- (uint32_t)usage, (uintptr_t)pixels);
+ id = (jlong)(uintptr_t)dispatchTab.AllocationCreateTyped((RsContext)con,
+ (RsType)type,
+ (RsAllocationMipmapControl)mip,
+ (uint32_t)usage,
+ (uintptr_t)pixels);
AndroidBitmap_unlockPixels(_env, jbitmap);
}
return id;
}
-static int
-nAllocationCubeCreateFromBitmap(JNIEnv *_env, jobject _this, RsContext con, jint type, jint mip, jobject jbitmap, jint usage)
+static jlong
+nAllocationCubeCreateFromBitmap(JNIEnv *_env, jobject _this, jlong con, jlong type,
+ jint mip, jobject jbitmap, jint usage)
{
void *pixels = NULL;
AndroidBitmap_lockPixels(_env, jbitmap, &pixels);
- jint id = 0;
+ jlong id = 0;
if (pixels != NULL) {
- id = (jint)rsAllocationCubeCreateFromBitmap(con,
- (RsType)type, (RsAllocationMipmapControl)mip,
- pixels, GetBitmapSize(_env, jbitmap), usage);
+ id = (jlong)(uintptr_t)dispatchTab.AllocationCubeCreateFromBitmap((RsContext)con,
+ (RsType)type,
+ (RsAllocationMipmapControl)mip,
+ pixels,
+ GetBitmapSize(_env, jbitmap),
+ usage);
AndroidBitmap_unlockPixels(_env, jbitmap);
}
return id;
}
static void
-nAllocationCopyFromBitmap(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jobject jbitmap)
+nAllocationCopyFromBitmap(JNIEnv *_env, jobject _this, jlong con, jlong alloc, jobject jbitmap)
{
AndroidBitmapInfo info;
memset(&info, 0, sizeof(info));
@@ -410,15 +792,15 @@
AndroidBitmap_lockPixels(_env, jbitmap, &pixels);
if (pixels != NULL) {
- rsAllocation2DData(con, (RsAllocation)alloc, 0, 0,
- 0, RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X,
- info.width, info.height, pixels, GetBitmapSize(_env, jbitmap), 0);
+ dispatchTab.Allocation2DData((RsContext)con, (RsAllocation)alloc, 0, 0, 0,
+ RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X, info.width,
+ info.height, pixels, GetBitmapSize(_env, jbitmap), 0);
AndroidBitmap_unlockPixels(_env, jbitmap);
}
}
static void
-nAllocationCopyToBitmap(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jobject jbitmap)
+nAllocationCopyToBitmap(JNIEnv *_env, jobject _this, jlong con, jlong alloc, jobject jbitmap)
{
AndroidBitmapInfo info;
memset(&info, 0, sizeof(info));
@@ -428,335 +810,350 @@
AndroidBitmap_lockPixels(_env, jbitmap, &pixels);
if (pixels != NULL) {
- rsAllocationCopyToBitmap(con, (RsAllocation)alloc, pixels, GetBitmapSize(_env, jbitmap));
+ dispatchTab.AllocationCopyToBitmap((RsContext)con, (RsAllocation)alloc, pixels,
+ GetBitmapSize(_env, jbitmap));
AndroidBitmap_unlockPixels(_env, jbitmap);
}
//bitmap.notifyPixelsChanged();
}
-
+// Copies from the Java object data into the Allocation pointed to by _alloc.
static void
-nAllocationData1D_i(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint offset, jint lod, jint count, jintArray data, int sizeBytes)
+nAllocationData1D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint offset, jint lod,
+ jint count, jobject data, jint sizeBytes, jint dataType, jint mSize,
+ jboolean usePadding)
{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation1DData_i, con(%p), adapter(%p), offset(%i), count(%i), len(%i), sizeBytes(%i)", con, (RsAllocation)alloc, offset, count, len, sizeBytes);
- jint *ptr = _env->GetIntArrayElements(data, NULL);
- rsAllocation1DData(con, (RsAllocation)alloc, offset, lod, count, ptr, sizeBytes);
- _env->ReleaseIntArrayElements(data, ptr, JNI_ABORT);
+ RsAllocation *alloc = (RsAllocation *)_alloc;
+ LOG_API("nAllocation1DData, con(%p), adapter(%p), offset(%i), count(%i), sizeBytes(%i), "
+ "dataType(%i)", (RsContext)con, (RsAllocation)alloc, offset, count, sizeBytes,
+ dataType);
+ PER_ARRAY_TYPE(nullptr, dispatchTab.Allocation1DData, true,
+ (RsContext)con, alloc, offset, lod, count, ptr, sizeBytes);
}
-static void
-nAllocationData1D_s(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint offset, jint lod, jint count, jshortArray data, int sizeBytes)
-{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation1DData_s, con(%p), adapter(%p), offset(%i), count(%i), len(%i), sizeBytes(%i)", con, (RsAllocation)alloc, offset, count, len, sizeBytes);
- jshort *ptr = _env->GetShortArrayElements(data, NULL);
- rsAllocation1DData(con, (RsAllocation)alloc, offset, lod, count, ptr, sizeBytes);
- _env->ReleaseShortArrayElements(data, ptr, JNI_ABORT);
-}
static void
-nAllocationData1D_b(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint offset, jint lod, jint count, jbyteArray data, int sizeBytes)
+nAllocationElementData1D(JNIEnv *_env, jobject _this, jlong con, jlong alloc, jint xoff,
+ jint lod, jint compIdx, jbyteArray data, jint sizeBytes)
{
jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation1DData_b, con(%p), adapter(%p), offset(%i), count(%i), len(%i), sizeBytes(%i)", con, (RsAllocation)alloc, offset, count, len, sizeBytes);
- jbyte *ptr = _env->GetByteArrayElements(data, NULL);
- rsAllocation1DData(con, (RsAllocation)alloc, offset, lod, count, ptr, sizeBytes);
+ LOG_API("nAllocationElementData1D, con(%p), alloc(%p), xoff(%i), comp(%i), len(%i), "
+ "sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, xoff, compIdx, len,
+ sizeBytes);
+ jbyte *ptr = _env->GetByteArrayElements(data, nullptr);
+ dispatchTab.Allocation1DElementData((RsContext)con, (RsAllocation)alloc, xoff,
+ lod, ptr, sizeBytes, compIdx);
_env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
}
+/*
static void
-nAllocationData1D_f(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint offset, jint lod, jint count, jfloatArray data, int sizeBytes)
+nAllocationElementData(JNIEnv *_env, jobject _this, jlong con, jlong alloc,
+ jint xoff, jint yoff, jint zoff,
+ jint lod, jint compIdx, jbyteArray data, jint sizeBytes)
{
jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation1DData_f, con(%p), adapter(%p), offset(%i), count(%i), len(%i), sizeBytes(%i)", con, (RsAllocation)alloc, offset, count, len, sizeBytes);
- jfloat *ptr = _env->GetFloatArrayElements(data, NULL);
- rsAllocation1DData(con, (RsAllocation)alloc, offset, lod, count, ptr, sizeBytes);
- _env->ReleaseFloatArrayElements(data, ptr, JNI_ABORT);
-}
-
-static void
-// native void rsnAllocationElementData1D(int con, int id, int xoff, int compIdx, byte[] d, int sizeBytes);
-nAllocationElementData1D(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint offset, jint lod, jint compIdx, jbyteArray data, int sizeBytes)
-{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocationElementData1D, con(%p), alloc(%p), offset(%i), comp(%i), len(%i), sizeBytes(%i)", con, (RsAllocation)alloc, offset, compIdx, len, sizeBytes);
- jbyte *ptr = _env->GetByteArrayElements(data, NULL);
- rsAllocation1DElementData(con, (RsAllocation)alloc, offset, lod, ptr, sizeBytes, compIdx);
+ LOG_API("nAllocationElementData, con(%p), alloc(%p), xoff(%i), yoff(%i), zoff(%i), comp(%i), len(%i), "
+ "sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff, compIdx, len,
+ sizeBytes);
+ jbyte *ptr = _env->GetByteArrayElements(data, nullptr);
+ dispatchTab.AllocationElementData((RsContext)con, (RsAllocation)alloc,
+ xoff, yoff, zoff,
+ lod, ptr, sizeBytes, compIdx);
_env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
}
+*/
+// Copies from the Java object data into the Allocation pointed to by _alloc.
static void
-nAllocationData2D_s(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint xoff, jint yoff, jint lod, jint face,
- jint w, jint h, jshortArray data, int sizeBytes)
+nAllocationData2D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint xoff, jint yoff, jint lod, jint _face,
+ jint w, jint h, jobject data, jint sizeBytes, jint dataType, jint mSize,
+ jboolean usePadding)
{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation2DData_s, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAllocation)alloc, xoff, yoff, w, h, len);
- jshort *ptr = _env->GetShortArrayElements(data, NULL);
- rsAllocation2DData(con, (RsAllocation)alloc, xoff, yoff, lod, (RsAllocationCubemapFace)face, w, h, ptr, sizeBytes, 0);
- _env->ReleaseShortArrayElements(data, ptr, JNI_ABORT);
+ RsAllocation *alloc = (RsAllocation *)_alloc;
+ RsAllocationCubemapFace face = (RsAllocationCubemapFace)_face;
+ LOG_API("nAllocation2DData, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i) "
+ "type(%i)", (RsContext)con, alloc, xoff, yoff, w, h, sizeBytes, dataType);
+ int count = w * h;
+ PER_ARRAY_TYPE(nullptr, dispatchTab.Allocation2DData, true,
+ (RsContext)con, alloc, xoff, yoff, lod, face, w, h, ptr, sizeBytes, 0);
}
static void
-nAllocationData2D_b(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint xoff, jint yoff, jint lod, jint face,
- jint w, jint h, jbyteArray data, int sizeBytes)
-{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation2DData_b, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAllocation)alloc, xoff, yoff, w, h, len);
- jbyte *ptr = _env->GetByteArrayElements(data, NULL);
- rsAllocation2DData(con, (RsAllocation)alloc, xoff, yoff, lod, (RsAllocationCubemapFace)face, w, h, ptr, sizeBytes, 0);
- _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
-}
-
-static void
-nAllocationData2D_i(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint xoff, jint yoff, jint lod, jint face,
- jint w, jint h, jintArray data, int sizeBytes)
-{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation2DData_i, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAllocation)alloc, xoff, yoff, w, h, len);
- jint *ptr = _env->GetIntArrayElements(data, NULL);
- rsAllocation2DData(con, (RsAllocation)alloc, xoff, yoff, lod, (RsAllocationCubemapFace)face, w, h, ptr, sizeBytes, 0);
- _env->ReleaseIntArrayElements(data, ptr, JNI_ABORT);
-}
-
-static void
-nAllocationData2D_f(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint xoff, jint yoff, jint lod, jint face,
- jint w, jint h, jfloatArray data, int sizeBytes)
-{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation2DData_i, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAllocation)alloc, xoff, yoff, w, h, len);
- jfloat *ptr = _env->GetFloatArrayElements(data, NULL);
- rsAllocation2DData(con, (RsAllocation)alloc, xoff, yoff, lod, (RsAllocationCubemapFace)face, w, h, ptr, sizeBytes, 0);
- _env->ReleaseFloatArrayElements(data, ptr, JNI_ABORT);
-}
-
-static void
-nAllocationData2D_alloc(JNIEnv *_env, jobject _this, RsContext con,
- jint dstAlloc, jint dstXoff, jint dstYoff,
+nAllocationData2D_alloc(JNIEnv *_env, jobject _this, jlong con,
+ jlong dstAlloc, jint dstXoff, jint dstYoff,
jint dstMip, jint dstFace,
jint width, jint height,
- jint srcAlloc, jint srcXoff, jint srcYoff,
+ jlong srcAlloc, jint srcXoff, jint srcYoff,
jint srcMip, jint srcFace)
{
LOG_API("nAllocation2DData_s, con(%p), dstAlloc(%p), dstXoff(%i), dstYoff(%i),"
" dstMip(%i), dstFace(%i), width(%i), height(%i),"
" srcAlloc(%p), srcXoff(%i), srcYoff(%i), srcMip(%i), srcFace(%i)",
- con, (RsAllocation)dstAlloc, dstXoff, dstYoff, dstMip, dstFace,
+ (RsContext)con, (RsAllocation)dstAlloc, dstXoff, dstYoff, dstMip, dstFace,
width, height, (RsAllocation)srcAlloc, srcXoff, srcYoff, srcMip, srcFace);
- rsAllocationCopy2DRange(con,
- (RsAllocation)dstAlloc,
- dstXoff, dstYoff,
- dstMip, dstFace,
- width, height,
- (RsAllocation)srcAlloc,
- srcXoff, srcYoff,
- srcMip, srcFace);
+ dispatchTab.AllocationCopy2DRange((RsContext)con,
+ (RsAllocation)dstAlloc,
+ dstXoff, dstYoff,
+ dstMip, dstFace,
+ width, height,
+ (RsAllocation)srcAlloc,
+ srcXoff, srcYoff,
+ srcMip, srcFace);
}
+// Copies from the Java object data into the Allocation pointed to by _alloc.
static void
-nAllocationData3D_s(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint xoff, jint yoff, jint zoff, jint lod,
- jint w, jint h, jint d, jshortArray data, int sizeBytes)
+nAllocationData3D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint xoff, jint yoff, jint zoff, jint lod,
+ jint w, jint h, jint d, jobject data, jint sizeBytes, jint dataType,
+ jint mSize, jboolean usePadding)
{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation3DData_s, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAllocation)alloc, xoff, yoff, zoff, w, h, d, len);
- jshort *ptr = _env->GetShortArrayElements(data, NULL);
- rsAllocation3DData(con, (RsAllocation)alloc, xoff, yoff, zoff, lod, w, h, d, ptr, sizeBytes, 0);
- _env->ReleaseShortArrayElements(data, ptr, JNI_ABORT);
+ RsAllocation *alloc = (RsAllocation *)_alloc;
+ LOG_API("nAllocation3DData, con(%p), alloc(%p), xoff(%i), yoff(%i), zoff(%i), lod(%i), w(%i),"
+ " h(%i), d(%i), sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff,
+ lod, w, h, d, sizeBytes);
+ int count = w * h * d;
+ PER_ARRAY_TYPE(nullptr, dispatchTab.Allocation3DData, true,
+ (RsContext)con, alloc, xoff, yoff, zoff, lod, w, h, d, ptr, sizeBytes, 0);
}
static void
-nAllocationData3D_b(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint xoff, jint yoff, jint zoff, jint lod,
- jint w, jint h, jint d, jbyteArray data, int sizeBytes)
-{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation3DData_b, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAllocation)alloc, xoff, yoff, zoff, w, h, d, len);
- jbyte *ptr = _env->GetByteArrayElements(data, NULL);
- rsAllocation3DData(con, (RsAllocation)alloc, xoff, yoff, zoff, lod, w, h, d, ptr, sizeBytes, 0);
- _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
-}
-
-static void
-nAllocationData3D_i(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint xoff, jint yoff, jint zoff, jint lod,
- jint w, jint h, jint d, jintArray data, int sizeBytes)
-{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation3DData_i, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAllocation)alloc, xoff, yoff, zoff, w, h, d, len);
- jint *ptr = _env->GetIntArrayElements(data, NULL);
- rsAllocation3DData(con, (RsAllocation)alloc, xoff, yoff, zoff, lod, w, h, d, ptr, sizeBytes, 0);
- _env->ReleaseIntArrayElements(data, ptr, JNI_ABORT);
-}
-
-static void
-nAllocationData3D_f(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint xoff, jint yoff, jint zoff, jint lod,
- jint w, jint h, jint d, jfloatArray data, int sizeBytes)
-{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocation3DData_f, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAllocation)alloc, xoff, yoff, zoff, w, h, d, len);
- jfloat *ptr = _env->GetFloatArrayElements(data, NULL);
- rsAllocation3DData(con, (RsAllocation)alloc, xoff, yoff, zoff, lod, w, h, d, ptr, sizeBytes, 0);
- _env->ReleaseFloatArrayElements(data, ptr, JNI_ABORT);
-}
-
-static void
-nAllocationData3D_alloc(JNIEnv *_env, jobject _this, RsContext con,
- jint dstAlloc, jint dstXoff, jint dstYoff, jint dstZoff,
+nAllocationData3D_alloc(JNIEnv *_env, jobject _this, jlong con,
+ jlong dstAlloc, jint dstXoff, jint dstYoff, jint dstZoff,
jint dstMip,
jint width, jint height, jint depth,
- jint srcAlloc, jint srcXoff, jint srcYoff, jint srcZoff,
+ jlong srcAlloc, jint srcXoff, jint srcYoff, jint srcZoff,
jint srcMip)
{
LOG_API("nAllocationData3D_alloc, con(%p), dstAlloc(%p), dstXoff(%i), dstYoff(%i),"
" dstMip(%i), width(%i), height(%i),"
" srcAlloc(%p), srcXoff(%i), srcYoff(%i), srcMip(%i)",
- con, (RsAllocation)dstAlloc, dstXoff, dstYoff, dstMip, dstFace,
+ (RsContext)con, (RsAllocation)dstAlloc, dstXoff, dstYoff, dstMip, dstFace,
width, height, (RsAllocation)srcAlloc, srcXoff, srcYoff, srcMip, srcFace);
- rsAllocationCopy3DRange(con,
- (RsAllocation)dstAlloc,
- dstXoff, dstYoff, dstZoff, dstMip,
- width, height, depth,
- (RsAllocation)srcAlloc,
- srcXoff, srcYoff, srcZoff, srcMip);
+ dispatchTab.AllocationCopy3DRange((RsContext)con,
+ (RsAllocation)dstAlloc,
+ dstXoff, dstYoff, dstZoff, dstMip,
+ width, height, depth,
+ (RsAllocation)srcAlloc,
+ srcXoff, srcYoff, srcZoff, srcMip);
}
+// Copies from the Allocation pointed to by _alloc into the Java object data.
static void
-nAllocationRead_i(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jintArray data)
+nAllocationRead(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jobject data, jint dataType,
+ jint mSize, jboolean usePadding)
+{
+ RsAllocation *alloc = (RsAllocation *)_alloc;
+ LOG_API("nAllocationRead, con(%p), alloc(%p)", (RsContext)con, (RsAllocation)alloc);
+ int count = 0;
+ PER_ARRAY_TYPE(0, dispatchTab.AllocationRead, false,
+ (RsContext)con, alloc, ptr, len * typeBytes);
+}
+
+// Copies from the Allocation pointed to by _alloc into the Java object data.
+static void
+nAllocationRead1D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint offset, jint lod,
+ jint count, jobject data, jint sizeBytes, jint dataType,
+ jint mSize, jboolean usePadding)
+{
+ RsAllocation *alloc = (RsAllocation *)_alloc;
+ LOG_API("nAllocation1DRead, con(%p), adapter(%p), offset(%i), count(%i), sizeBytes(%i), "
+ "dataType(%i)", (RsContext)con, alloc, offset, count, sizeBytes, dataType);
+ PER_ARRAY_TYPE(0, dispatchTab.Allocation1DRead, false,
+ (RsContext)con, alloc, offset, lod, count, ptr, sizeBytes);
+}
+
+// Copies from the Element in the Allocation pointed to by _alloc into the Java array data.
+/*
+static void
+nAllocationElementRead(JNIEnv *_env, jobject _this, jlong con, jlong _alloc,
+ jint xoff, jint yoff, jint zoff,
+ jint lod, jint compIdx, jobject data, jint sizeBytes)
{
jint len = _env->GetArrayLength(data);
- LOG_API("nAllocationRead_i, con(%p), alloc(%p), len(%i)", con, (RsAllocation)alloc, len);
- jint *ptr = _env->GetIntArrayElements(data, NULL);
- jsize length = _env->GetArrayLength(data);
- rsAllocationRead(con, (RsAllocation)alloc, ptr, length * sizeof(int));
- _env->ReleaseIntArrayElements(data, ptr, 0);
+ LOG_API("nAllocationElementRead, con(%p), alloc(%p), xoff(%i), yoff(%i), zoff(%i), comp(%i), len(%i), "
+ "sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff, compIdx, len,
+ sizeBytes);
+ jbyte *ptr = _env->GetByteArrayElements(data, nullptr);
+ dispatchTab.AllocationElementRead((RsContext)con, (RsAllocation)alloc,
+ xoff, yoff, zoff,
+ lod, ptr, sizeBytes, compIdx);
+ _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
+}
+*/
+
+// Copies from the Allocation pointed to by _alloc into the Java object data.
+static void
+nAllocationRead2D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint xoff, jint yoff, jint lod, jint _face,
+ jint w, jint h, jobject data, jint sizeBytes, jint dataType,
+ jint mSize, jboolean usePadding)
+{
+ RsAllocation *alloc = (RsAllocation *)_alloc;
+ RsAllocationCubemapFace face = (RsAllocationCubemapFace)_face;
+ LOG_API("nAllocation2DRead, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i) "
+ "type(%i)", (RsContext)con, alloc, xoff, yoff, w, h, sizeBytes, dataType);
+ int count = w * h;
+ PER_ARRAY_TYPE(0, dispatchTab.Allocation2DRead, false,
+ (RsContext)con, alloc, xoff, yoff, lod, face, w, h, ptr, sizeBytes, 0);
+}
+
+// Copies from the Allocation pointed to by _alloc into the Java object data.
+/*
+static void
+nAllocationRead3D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint xoff, jint yoff, jint zoff, jint lod,
+ jint w, jint h, jint d, jobject data, int sizeBytes, int dataType,
+ jint mSize, jboolean usePadding)
+{
+ RsAllocation *alloc = (RsAllocation *)_alloc;
+ LOG_API("nAllocation3DRead, con(%p), alloc(%p), xoff(%i), yoff(%i), zoff(%i), lod(%i), w(%i),"
+ " h(%i), d(%i), sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff,
+ lod, w, h, d, sizeBytes);
+ int count = w * h * d;
+ PER_ARRAY_TYPE(nullptr, dispatchTab.Allocation3DRead, false,
+ (RsContext)con, alloc, xoff, yoff, zoff, lod, w, h, d, ptr, sizeBytes, 0);
+}
+*/
+
+static jlong
+nAllocationGetType(JNIEnv *_env, jobject _this, jlong con, jlong a)
+{
+ LOG_API("nAllocationGetType, con(%p), a(%p)", (RsContext)con, (RsAllocation)a);
+ return (jlong)(uintptr_t) dispatchTab.AllocationGetType((RsContext)con, (RsAllocation)a);
}
static void
-nAllocationRead_s(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jshortArray data)
+nAllocationResize1D(JNIEnv *_env, jobject _this, jlong con, jlong alloc, jint dimX)
{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocationRead_i, con(%p), alloc(%p), len(%i)", con, (RsAllocation)alloc, len);
- jshort *ptr = _env->GetShortArrayElements(data, NULL);
- jsize length = _env->GetArrayLength(data);
- rsAllocationRead(con, (RsAllocation)alloc, ptr, length * sizeof(short));
- _env->ReleaseShortArrayElements(data, ptr, 0);
-}
-
-static void
-nAllocationRead_b(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jbyteArray data)
-{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocationRead_i, con(%p), alloc(%p), len(%i)", con, (RsAllocation)alloc, len);
- jbyte *ptr = _env->GetByteArrayElements(data, NULL);
- jsize length = _env->GetArrayLength(data);
- rsAllocationRead(con, (RsAllocation)alloc, ptr, length * sizeof(char));
- _env->ReleaseByteArrayElements(data, ptr, 0);
-}
-
-static void
-nAllocationRead_f(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jfloatArray data)
-{
- jint len = _env->GetArrayLength(data);
- LOG_API("nAllocationRead_f, con(%p), alloc(%p), len(%i)", con, (RsAllocation)alloc, len);
- jfloat *ptr = _env->GetFloatArrayElements(data, NULL);
- jsize length = _env->GetArrayLength(data);
- rsAllocationRead(con, (RsAllocation)alloc, ptr, length * sizeof(float));
- _env->ReleaseFloatArrayElements(data, ptr, 0);
-}
-
-static jint
-nAllocationGetType(JNIEnv *_env, jobject _this, RsContext con, jint a)
-{
- LOG_API("nAllocationGetType, con(%p), a(%p)", con, (RsAllocation)a);
- return (jint) rsaAllocationGetType(con, (RsAllocation)a);
-}
-
-static void
-nAllocationResize1D(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint dimX)
-{
- LOG_API("nAllocationResize1D, con(%p), alloc(%p), sizeX(%i)", con, (RsAllocation)alloc, dimX);
- rsAllocationResize1D(con, (RsAllocation)alloc, dimX);
+ LOG_API("nAllocationResize1D, con(%p), alloc(%p), sizeX(%i)", (RsContext)con,
+ (RsAllocation)alloc, dimX);
+ dispatchTab.AllocationResize1D((RsContext)con, (RsAllocation)alloc, dimX);
}
// -----------------------------------
static void
-nScriptBindAllocation(JNIEnv *_env, jobject _this, RsContext con, jint script, jint alloc, jint slot)
+nScriptBindAllocation(JNIEnv *_env, jobject _this, jlong con, jlong script, jlong alloc, jint slot, jboolean mUseInc)
{
- LOG_API("nScriptBindAllocation, con(%p), script(%p), alloc(%p), slot(%i)", con, (RsScript)script, (RsAllocation)alloc, slot);
- rsScriptBindAllocation(con, (RsScript)script, (RsAllocation)alloc, slot);
+ LOG_API("nScriptBindAllocation, con(%p), script(%p), alloc(%p), slot(%i)",
+ (RsContext)con, (RsScript)script, (RsAllocation)alloc, slot);
+ if (mUseInc) {
+ dispatchTabInc.ScriptBindAllocation((RsContext)con, (RsScript)script, (RsAllocation)alloc, slot);
+ } else {
+ dispatchTab.ScriptBindAllocation((RsContext)con, (RsScript)script, (RsAllocation)alloc, slot);
+ }
}
static void
-nScriptSetVarI(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jint val)
+nScriptSetVarI(JNIEnv *_env, jobject _this, jlong con, jlong script, jint slot, jint val, jboolean mUseInc)
{
- LOG_API("nScriptSetVarI, con(%p), s(%p), slot(%i), val(%i)", con, (void *)script, slot, val);
- rsScriptSetVarI(con, (RsScript)script, slot, val);
+ LOG_API("nScriptSetVarI, con(%p), s(%p), slot(%i), val(%i)", (RsContext)con,
+ (void *)script, slot, val);
+ if (mUseInc) {
+ dispatchTabInc.ScriptSetVarI((RsContext)con, (RsScript)script, slot, val);
+ } else {
+ dispatchTab.ScriptSetVarI((RsContext)con, (RsScript)script, slot, val);
+ }
}
static void
-nScriptSetVarObj(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jint val)
+nScriptSetVarObj(JNIEnv *_env, jobject _this, jlong con, jlong script, jint slot, jlong val, jboolean mUseInc)
{
- LOG_API("nScriptSetVarObj, con(%p), s(%p), slot(%i), val(%i)", con, (void *)script, slot, val);
- rsScriptSetVarObj(con, (RsScript)script, slot, (RsObjectBase)val);
+ LOG_API("nScriptSetVarObj, con(%p), s(%p), slot(%i), val(%i)", (RsContext)con,
+ (void *)script, slot, val);
+ if (mUseInc) {
+ dispatchTabInc.ScriptSetVarObj((RsContext)con, (RsScript)script, slot, (RsObjectBase)val);
+ } else {
+ dispatchTab.ScriptSetVarObj((RsContext)con, (RsScript)script, slot, (RsObjectBase)val);
+ }
}
static void
-nScriptSetVarJ(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jlong val)
+nScriptSetVarJ(JNIEnv *_env, jobject _this, jlong con, jlong script, jint slot, jlong val, jboolean mUseInc)
{
- LOG_API("nScriptSetVarJ, con(%p), s(%p), slot(%i), val(%lli)", con, (void *)script, slot, val);
- rsScriptSetVarJ(con, (RsScript)script, slot, val);
+ LOG_API("nScriptSetVarJ, con(%p), s(%p), slot(%i), val(%lli)", (RsContext)con,
+ (void *)script, slot, val);
+ if (mUseInc) {
+ dispatchTabInc.ScriptSetVarJ((RsContext)con, (RsScript)script, slot, val);
+ } else {
+ dispatchTab.ScriptSetVarJ((RsContext)con, (RsScript)script, slot, val);
+ }
}
static void
-nScriptSetVarF(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, float val)
+nScriptSetVarF(JNIEnv *_env, jobject _this, jlong con, jlong script, jint slot, float val, jboolean mUseInc)
{
- LOG_API("nScriptSetVarF, con(%p), s(%p), slot(%i), val(%f)", con, (void *)script, slot, val);
- rsScriptSetVarF(con, (RsScript)script, slot, val);
+ LOG_API("nScriptSetVarF, con(%p), s(%p), slot(%i), val(%f)", (RsContext)con,
+ (void *)script, slot, val);
+ if (mUseInc) {
+ dispatchTabInc.ScriptSetVarF((RsContext)con, (RsScript)script, slot, val);
+ } else {
+ dispatchTab.ScriptSetVarF((RsContext)con, (RsScript)script, slot, val);
+ }
}
static void
-nScriptSetVarD(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, double val)
+nScriptSetVarD(JNIEnv *_env, jobject _this, jlong con, jlong script, jint slot, double val, jboolean mUseInc)
{
- LOG_API("nScriptSetVarD, con(%p), s(%p), slot(%i), val(%lf)", con, (void *)script, slot, val);
- rsScriptSetVarD(con, (RsScript)script, slot, val);
+ LOG_API("nScriptSetVarD, con(%p), s(%p), slot(%i), val(%lf)", (RsContext)con,
+ (void *)script, slot, val);
+ if (mUseInc) {
+ dispatchTabInc.ScriptSetVarD((RsContext)con, (RsScript)script, slot, val);
+ } else {
+ dispatchTab.ScriptSetVarD((RsContext)con, (RsScript)script, slot, val);
+ }
}
static void
-nScriptSetVarV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jbyteArray data)
+nScriptSetVarV(JNIEnv *_env, jobject _this, jlong con, jlong script, jint slot, jbyteArray data, jboolean mUseInc)
{
- LOG_API("nScriptSetVarV, con(%p), s(%p), slot(%i)", con, (void *)script, slot);
+ LOG_API("nScriptSetVarV, con(%p), s(%p), slot(%i)", (RsContext)con, (void *)script, slot);
jint len = _env->GetArrayLength(data);
jbyte *ptr = _env->GetByteArrayElements(data, NULL);
- rsScriptSetVarV(con, (RsScript)script, slot, ptr, len);
+ if (mUseInc) {
+ dispatchTabInc.ScriptSetVarV((RsContext)con, (RsScript)script, slot, ptr, len);
+ } else {
+ dispatchTab.ScriptSetVarV((RsContext)con, (RsScript)script, slot, ptr, len);
+ }
_env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
}
static void
-nScriptSetVarVE(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jbyteArray data, jint elem, jintArray dims)
+nScriptSetVarVE(JNIEnv *_env, jobject _this, jlong con, jlong script, jint slot, jbyteArray data,
+ jlong elem, jintArray dims, jboolean mUseInc)
{
- LOG_API("nScriptSetVarVE, con(%p), s(%p), slot(%i)", con, (void *)script, slot);
+ LOG_API("nScriptSetVarVE, con(%p), s(%p), slot(%i)", (RsContext)con, (void *)script, slot);
jint len = _env->GetArrayLength(data);
jbyte *ptr = _env->GetByteArrayElements(data, NULL);
jint dimsLen = _env->GetArrayLength(dims) * sizeof(int);
jint *dimsPtr = _env->GetIntArrayElements(dims, NULL);
- rsScriptSetVarVE(con, (RsScript)script, slot, ptr, len, (RsElement)elem,
- (const uint32_t *)dimsPtr, dimsLen);
+ if (mUseInc) {
+ dispatchTabInc.ScriptSetVarVE((RsContext)con, (RsScript)script, slot, ptr, len, (RsElement)elem,
+ (const uint32_t *)dimsPtr, dimsLen);
+ } else {
+ dispatchTab.ScriptSetVarVE((RsContext)con, (RsScript)script, slot, ptr, len, (RsElement)elem,
+ (const uint32_t *)dimsPtr, dimsLen);
+ }
_env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
_env->ReleaseIntArrayElements(dims, dimsPtr, JNI_ABORT);
}
static void
-nScriptSetTimeZone(JNIEnv *_env, jobject _this, RsContext con, jint script, jbyteArray timeZone)
+nScriptSetTimeZone(JNIEnv *_env, jobject _this, jlong con, jlong script, jbyteArray timeZone, jboolean mUseInc)
{
- LOG_API("nScriptCSetTimeZone, con(%p), s(%p), timeZone(%s)", con, (void *)script, (const char *)timeZone);
+ LOG_API("nScriptCSetTimeZone, con(%p), s(%p), timeZone(%s)", (RsContext)con,
+ (void *)script, (const char *)timeZone);
jint length = _env->GetArrayLength(timeZone);
jbyte* timeZone_ptr;
timeZone_ptr = (jbyte *) _env->GetPrimitiveArrayCritical(timeZone, (jboolean *)0);
-
- rsScriptSetTimeZone(con, (RsScript)script, (const char *)timeZone_ptr, length);
+ if (mUseInc) {
+ dispatchTabInc.ScriptSetTimeZone((RsContext)con, (RsScript)script, (const char *)timeZone_ptr, length);
+ } else {
+ dispatchTab.ScriptSetTimeZone((RsContext)con, (RsScript)script, (const char *)timeZone_ptr, length);
+ }
if (timeZone_ptr) {
_env->ReleasePrimitiveArrayCritical(timeZone, timeZone_ptr, 0);
@@ -764,47 +1161,73 @@
}
static void
-nScriptInvoke(JNIEnv *_env, jobject _this, RsContext con, jint obj, jint slot)
+nScriptInvoke(JNIEnv *_env, jobject _this, jlong con, jlong obj, jint slot, jboolean mUseInc)
{
- LOG_API("nScriptInvoke, con(%p), script(%p)", con, (void *)obj);
- rsScriptInvoke(con, (RsScript)obj, slot);
+ LOG_API("nScriptInvoke, con(%p), script(%p)", (RsContext)con, (void *)obj);
+ if (mUseInc) {
+ dispatchTabInc.ScriptInvoke((RsContext)con, (RsScript)obj, slot);
+ } else {
+ dispatchTab.ScriptInvoke((RsContext)con, (RsScript)obj, slot);
+ }
}
static void
-nScriptInvokeV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jbyteArray data)
+nScriptInvokeV(JNIEnv *_env, jobject _this, jlong con, jlong script, jint slot, jbyteArray data, jboolean mUseInc)
{
- LOG_API("nScriptInvokeV, con(%p), s(%p), slot(%i)", con, (void *)script, slot);
+ LOG_API("nScriptInvokeV, con(%p), s(%p), slot(%i)", (RsContext)con, (void *)script, slot);
jint len = _env->GetArrayLength(data);
jbyte *ptr = _env->GetByteArrayElements(data, NULL);
- rsScriptInvokeV(con, (RsScript)script, slot, ptr, len);
+ if (mUseInc) {
+ dispatchTabInc.ScriptInvokeV((RsContext)con, (RsScript)script, slot, ptr, len);
+ } else {
+ dispatchTab.ScriptInvokeV((RsContext)con, (RsScript)script, slot, ptr, len);
+ }
_env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
}
static void
-nScriptForEach(JNIEnv *_env, jobject _this, RsContext con,
- jint script, jint slot, jint ain, jint aout)
+nScriptForEach(JNIEnv *_env, jobject _this, jlong con, jlong incCon,
+ jlong script, jint slot, jlong ain, jlong aout, jboolean mUseInc)
{
- LOG_API("nScriptForEach, con(%p), s(%p), slot(%i)", con, (void *)script, slot);
- rsScriptForEach(con, (RsScript)script, slot, (RsAllocation)ain, (RsAllocation)aout, NULL, 0, NULL, 0);
+ LOG_API("nScriptForEach, con(%p), s(%p), slot(%i)", (RsContext)con, (void *)script, slot);
+ if (mUseInc) {
+ dispatchTab.ContextFinish((RsContext)con);
+ dispatchTabInc.ScriptForEach((RsContext)incCon, (RsScript)script, slot,
+ (RsAllocation)ain, (RsAllocation)aout,
+ NULL, 0, NULL, 0);
+ } else {
+ dispatchTab.ScriptForEach((RsContext)con, (RsScript)script, slot,
+ (RsAllocation)ain, (RsAllocation)aout,
+ NULL, 0, NULL, 0);
+ }
}
static void
-nScriptForEachV(JNIEnv *_env, jobject _this, RsContext con,
- jint script, jint slot, jint ain, jint aout, jbyteArray params)
+nScriptForEachV(JNIEnv *_env, jobject _this, jlong con, jlong incCon,
+ jlong script, jint slot, jlong ain, jlong aout, jbyteArray params, jboolean mUseInc)
{
- LOG_API("nScriptForEach, con(%p), s(%p), slot(%i)", con, (void *)script, slot);
+ LOG_API("nScriptForEach, con(%p), s(%p), slot(%i)", (RsContext)con, (void *)script, slot);
jint len = _env->GetArrayLength(params);
jbyte *ptr = _env->GetByteArrayElements(params, NULL);
- rsScriptForEach(con, (RsScript)script, slot, (RsAllocation)ain, (RsAllocation)aout, ptr, len, NULL, 0);
+ if (mUseInc) {
+ dispatchTab.ContextFinish((RsContext)con);
+ dispatchTabInc.ScriptForEach((RsContext)incCon, (RsScript)script, slot,
+ (RsAllocation)ain, (RsAllocation)aout,
+ ptr, len, NULL, 0);
+ } else {
+ dispatchTab.ScriptForEach((RsContext)con, (RsScript)script, slot,
+ (RsAllocation)ain, (RsAllocation)aout,
+ ptr, len, NULL, 0);
+ }
_env->ReleaseByteArrayElements(params, ptr, JNI_ABORT);
}
static void
-nScriptForEachClipped(JNIEnv *_env, jobject _this, RsContext con,
- jint script, jint slot, jint ain, jint aout,
+nScriptForEachClipped(JNIEnv *_env, jobject _this, jlong con, jlong incCon,
+ jlong script, jint slot, jlong ain, jlong aout,
jint xstart, jint xend,
- jint ystart, jint yend, jint zstart, jint zend)
+ jint ystart, jint yend, jint zstart, jint zend, jboolean mUseInc)
{
- LOG_API("nScriptForEachClipped, con(%p), s(%p), slot(%i)", con, (void *)script, slot);
+ LOG_API("nScriptForEachClipped, con(%p), s(%p), slot(%i)", (RsContext)con, (void *)script, slot);
RsScriptCall sc;
sc.xStart = xstart;
sc.xEnd = xend;
@@ -815,16 +1238,25 @@
sc.strategy = RS_FOR_EACH_STRATEGY_DONT_CARE;
sc.arrayStart = 0;
sc.arrayEnd = 0;
- rsScriptForEach(con, (RsScript)script, slot, (RsAllocation)ain, (RsAllocation)aout, NULL, 0, &sc, sizeof(sc));
+ if (mUseInc) {
+ dispatchTab.ContextFinish((RsContext)con);
+ dispatchTabInc.ScriptForEach((RsContext)incCon, (RsScript)script, slot,
+ (RsAllocation)ain, (RsAllocation)aout,
+ NULL, 0, &sc, sizeof(sc));
+ } else {
+ dispatchTab.ScriptForEach((RsContext)con, (RsScript)script, slot,
+ (RsAllocation)ain, (RsAllocation)aout,
+ NULL, 0, &sc, sizeof(sc));
+ }
}
static void
-nScriptForEachClippedV(JNIEnv *_env, jobject _this, RsContext con,
- jint script, jint slot, jint ain, jint aout,
+nScriptForEachClippedV(JNIEnv *_env, jobject _this, jlong con, jlong incCon,
+ jlong script, jint slot, jlong ain, jlong aout,
jbyteArray params, jint xstart, jint xend,
- jint ystart, jint yend, jint zstart, jint zend)
+ jint ystart, jint yend, jint zstart, jint zend, jboolean mUseInc)
{
- LOG_API("nScriptForEachClipped, con(%p), s(%p), slot(%i)", con, (void *)script, slot);
+ LOG_API("nScriptForEachClipped, con(%p), s(%p), slot(%i)", (RsContext)con, (void *)script, slot);
jint len = _env->GetArrayLength(params);
jbyte *ptr = _env->GetByteArrayElements(params, NULL);
RsScriptCall sc;
@@ -837,22 +1269,31 @@
sc.strategy = RS_FOR_EACH_STRATEGY_DONT_CARE;
sc.arrayStart = 0;
sc.arrayEnd = 0;
- rsScriptForEach(con, (RsScript)script, slot, (RsAllocation)ain, (RsAllocation)aout, ptr, len, &sc, sizeof(sc));
+ if (mUseInc) {
+ dispatchTab.ContextFinish((RsContext)con);
+ dispatchTabInc.ScriptForEach((RsContext)incCon, (RsScript)script, slot,
+ (RsAllocation)ain, (RsAllocation)aout,
+ ptr, len, &sc, sizeof(sc));
+ } else {
+ dispatchTab.ScriptForEach((RsContext)con, (RsScript)script, slot,
+ (RsAllocation)ain, (RsAllocation)aout,
+ ptr, len, &sc, sizeof(sc));
+ }
_env->ReleaseByteArrayElements(params, ptr, JNI_ABORT);
}
// -----------------------------------
-static jint
-nScriptCCreate(JNIEnv *_env, jobject _this, RsContext con,
+static jlong
+nScriptCCreate(JNIEnv *_env, jobject _this, jlong con,
jstring resName, jstring cacheDir,
jbyteArray scriptRef, jint length)
{
- LOG_API("nScriptCCreate, con(%p)", con);
+ LOG_API("nScriptCCreate, con(%p)", (RsContext)con);
AutoJavaStringToUTF8 resNameUTF(_env, resName);
AutoJavaStringToUTF8 cacheDirUTF(_env, cacheDir);
- jint ret = 0;
+ jlong ret = 0;
jbyte* script_ptr = NULL;
jint _exception = 0;
jint remaining;
@@ -878,10 +1319,10 @@
//rsScriptCSetText(con, (const char *)script_ptr, length);
- ret = (jint)rsScriptCCreate(con,
- resNameUTF.c_str(), resNameUTF.length(),
- cacheDirUTF.c_str(), cacheDirUTF.length(),
- (const char *)script_ptr, length);
+ ret = (jlong)(uintptr_t)dispatchTab.ScriptCCreate((RsContext)con,
+ resNameUTF.c_str(), resNameUTF.length(),
+ cacheDirUTF.c_str(), cacheDirUTF.length(),
+ (const char *)script_ptr, length);
exit:
if (script_ptr) {
@@ -889,99 +1330,269 @@
_exception ? JNI_ABORT: 0);
}
- return ret;
+ return (jlong)(uintptr_t)ret;
}
-static jint
-nScriptIntrinsicCreate(JNIEnv *_env, jobject _this, RsContext con, jint id, jint eid)
+static jlong
+nScriptIntrinsicCreate(JNIEnv *_env, jobject _this, jlong con, jint id, jlong eid, jboolean mUseInc)
{
- LOG_API("nScriptIntrinsicCreate, con(%p) id(%i) element(%p)", con, id, (void *)eid);
- return (jint)rsScriptIntrinsicCreate(con, id, (RsElement)eid);
+ LOG_API("nScriptIntrinsicCreate, con(%p) id(%i) element(%p)", (RsContext)con, id, (void *)eid);
+ if (mUseInc) {
+ return (jlong)(uintptr_t)dispatchTabInc.ScriptIntrinsicCreate((RsContext)con, id, (RsElement)eid);
+ } else {
+ return (jlong)(uintptr_t)dispatchTab.ScriptIntrinsicCreate((RsContext)con, id, (RsElement)eid);
+ }
}
-static jint
-nScriptKernelIDCreate(JNIEnv *_env, jobject _this, RsContext con, jint sid, jint slot, jint sig)
+static jlong
+nScriptKernelIDCreate(JNIEnv *_env, jobject _this, jlong con, jlong sid, jint slot, jint sig, jboolean mUseInc)
{
- LOG_API("nScriptKernelIDCreate, con(%p) script(%p), slot(%i), sig(%i)", con, (void *)sid, slot, sig);
- return (jint)rsScriptKernelIDCreate(con, (RsScript)sid, slot, sig);
+ LOG_API("nScriptKernelIDCreate, con(%p) script(%p), slot(%i), sig(%i)", (RsContext)con,
+ (void *)sid, slot, sig);
+ if (mUseInc) {
+ return (jlong)(uintptr_t)dispatchTabInc.ScriptKernelIDCreate((RsContext)con, (RsScript)sid,
+ slot, sig);
+ } else {
+ return (jlong)(uintptr_t)dispatchTab.ScriptKernelIDCreate((RsContext)con, (RsScript)sid,
+ slot, sig);
+ }
}
-static jint
-nScriptFieldIDCreate(JNIEnv *_env, jobject _this, RsContext con, jint sid, jint slot)
+static jlong
+nScriptInvokeIDCreate(JNIEnv *_env, jobject _this, jlong con, jlong sid, jint slot)
{
- LOG_API("nScriptFieldIDCreate, con(%p) script(%p), slot(%i)", con, (void *)sid, slot);
- return (jint)rsScriptFieldIDCreate(con, (RsScript)sid, slot);
+ LOG_API("nScriptInvokeIDCreate, con(%p) script(%p), slot(%i), sig(%i)", con,
+ (void *)sid, slot);
+ return (jlong)dispatchTab.ScriptInvokeIDCreate((RsContext)con, (RsScript)sid, slot);
}
-static jint
-nScriptGroupCreate(JNIEnv *_env, jobject _this, RsContext con, jintArray _kernels, jintArray _src,
- jintArray _dstk, jintArray _dstf, jintArray _types)
+static jlong
+nScriptFieldIDCreate(JNIEnv *_env, jobject _this, jlong con, jlong sid, jint slot, jboolean mUseInc)
{
- LOG_API("nScriptGroupCreate, con(%p)", con);
+ LOG_API("nScriptFieldIDCreate, con(%p) script(%p), slot(%i)", (RsContext)con, (void *)sid, slot);
+ if (mUseInc) {
+ return (jlong)(uintptr_t)dispatchTabInc.ScriptFieldIDCreate((RsContext)con, (RsScript)sid, slot);
+ } else {
+ return (jlong)(uintptr_t)dispatchTab.ScriptFieldIDCreate((RsContext)con, (RsScript)sid, slot);
+ }
+}
- jint kernelsLen = _env->GetArrayLength(_kernels) * sizeof(int);
- jint *kernelsPtr = _env->GetIntArrayElements(_kernels, NULL);
- jint srcLen = _env->GetArrayLength(_src) * sizeof(int);
- jint *srcPtr = _env->GetIntArrayElements(_src, NULL);
- jint dstkLen = _env->GetArrayLength(_dstk) * sizeof(int);
- jint *dstkPtr = _env->GetIntArrayElements(_dstk, NULL);
- jint dstfLen = _env->GetArrayLength(_dstf) * sizeof(int);
- jint *dstfPtr = _env->GetIntArrayElements(_dstf, NULL);
- jint typesLen = _env->GetArrayLength(_types) * sizeof(int);
- jint *typesPtr = _env->GetIntArrayElements(_types, NULL);
+static jlong
+nScriptGroupCreate(JNIEnv *_env, jobject _this, jlong con, jlongArray _kernels, jlongArray _src,
+ jlongArray _dstk, jlongArray _dstf, jlongArray _types)
+{
+ LOG_API("nScriptGroupCreate, con(%p)", (RsContext)con);
- int id = (int)rsScriptGroupCreate(con,
- (RsScriptKernelID *)kernelsPtr, kernelsLen,
- (RsScriptKernelID *)srcPtr, srcLen,
- (RsScriptKernelID *)dstkPtr, dstkLen,
- (RsScriptFieldID *)dstfPtr, dstfLen,
- (RsType *)typesPtr, typesLen);
+ jint kernelsLen = _env->GetArrayLength(_kernels);
+ jlong *jKernelsPtr = _env->GetLongArrayElements(_kernels, nullptr);
+ RsScriptKernelID* kernelsPtr = (RsScriptKernelID*) malloc(sizeof(RsScriptKernelID) * kernelsLen);
+ for(int i = 0; i < kernelsLen; ++i) {
+ kernelsPtr[i] = (RsScriptKernelID)jKernelsPtr[i];
+ }
- _env->ReleaseIntArrayElements(_kernels, kernelsPtr, 0);
- _env->ReleaseIntArrayElements(_src, srcPtr, 0);
- _env->ReleaseIntArrayElements(_dstk, dstkPtr, 0);
- _env->ReleaseIntArrayElements(_dstf, dstfPtr, 0);
- _env->ReleaseIntArrayElements(_types, typesPtr, 0);
+ jint srcLen = _env->GetArrayLength(_src);
+ jlong *jSrcPtr = _env->GetLongArrayElements(_src, nullptr);
+ RsScriptKernelID* srcPtr = (RsScriptKernelID*) malloc(sizeof(RsScriptKernelID) * srcLen);
+ for(int i = 0; i < srcLen; ++i) {
+ srcPtr[i] = (RsScriptKernelID)jSrcPtr[i];
+ }
+
+ jint dstkLen = _env->GetArrayLength(_dstk);
+ jlong *jDstkPtr = _env->GetLongArrayElements(_dstk, nullptr);
+ RsScriptKernelID* dstkPtr = (RsScriptKernelID*) malloc(sizeof(RsScriptKernelID) * dstkLen);
+ for(int i = 0; i < dstkLen; ++i) {
+ dstkPtr[i] = (RsScriptKernelID)jDstkPtr[i];
+ }
+
+ jint dstfLen = _env->GetArrayLength(_dstf);
+ jlong *jDstfPtr = _env->GetLongArrayElements(_dstf, nullptr);
+ RsScriptKernelID* dstfPtr = (RsScriptKernelID*) malloc(sizeof(RsScriptKernelID) * dstfLen);
+ for(int i = 0; i < dstfLen; ++i) {
+ dstfPtr[i] = (RsScriptKernelID)jDstfPtr[i];
+ }
+
+ jint typesLen = _env->GetArrayLength(_types);
+ jlong *jTypesPtr = _env->GetLongArrayElements(_types, nullptr);
+ RsType* typesPtr = (RsType*) malloc(sizeof(RsType) * typesLen);
+ for(int i = 0; i < typesLen; ++i) {
+ typesPtr[i] = (RsType)jTypesPtr[i];
+ }
+
+ jlong id = (jlong)(uintptr_t) dispatchTab.ScriptGroupCreate((RsContext)con,
+ (RsScriptKernelID *)kernelsPtr, kernelsLen * sizeof(RsScriptKernelID),
+ (RsScriptKernelID *)srcPtr, srcLen * sizeof(RsScriptKernelID),
+ (RsScriptKernelID *)dstkPtr, dstkLen * sizeof(RsScriptKernelID),
+ (RsScriptFieldID *)dstfPtr, dstfLen * sizeof(RsScriptKernelID),
+ (RsType *)typesPtr, typesLen * sizeof(RsType));
+
+ free(kernelsPtr);
+ free(srcPtr);
+ free(dstkPtr);
+ free(dstfPtr);
+ free(typesPtr);
+ _env->ReleaseLongArrayElements(_kernels, jKernelsPtr, 0);
+ _env->ReleaseLongArrayElements(_src, jSrcPtr, 0);
+ _env->ReleaseLongArrayElements(_dstk, jDstkPtr, 0);
+ _env->ReleaseLongArrayElements(_dstf, jDstfPtr, 0);
+ _env->ReleaseLongArrayElements(_types, jTypesPtr, 0);
return id;
}
static void
-nScriptGroupSetInput(JNIEnv *_env, jobject _this, RsContext con, jint gid, jint kid, jint alloc)
+nScriptGroupSetInput(JNIEnv *_env, jobject _this, jlong con, jlong gid, jlong kid, jlong alloc)
{
- LOG_API("nScriptGroupSetInput, con(%p) group(%p), kernelId(%p), alloc(%p)", con,
- (void *)gid, (void *)kid, (void *)alloc);
- rsScriptGroupSetInput(con, (RsScriptGroup)gid, (RsScriptKernelID)kid, (RsAllocation)alloc);
+ LOG_API("nScriptGroupSetInput, con(%p) group(%p), kernelId(%p), alloc(%p)", (RsContext)con,
+ (void *)gid, (void *)kid, (void *)alloc);
+ dispatchTab.ScriptGroupSetInput((RsContext)con, (RsScriptGroup)gid, (RsScriptKernelID)kid,
+ (RsAllocation)alloc);
}
static void
-nScriptGroupSetOutput(JNIEnv *_env, jobject _this, RsContext con, jint gid, jint kid, jint alloc)
+nScriptGroupSetOutput(JNIEnv *_env, jobject _this, jlong con, jlong gid, jlong kid, jlong alloc)
{
- LOG_API("nScriptGroupSetOutput, con(%p) group(%p), kernelId(%p), alloc(%p)", con,
- (void *)gid, (void *)kid, (void *)alloc);
- rsScriptGroupSetOutput(con, (RsScriptGroup)gid, (RsScriptKernelID)kid, (RsAllocation)alloc);
+ LOG_API("nScriptGroupSetOutput, con(%p) group(%p), kernelId(%p), alloc(%p)", (RsContext)con,
+ (void *)gid, (void *)kid, (void *)alloc);
+ dispatchTab.ScriptGroupSetOutput((RsContext)con, (RsScriptGroup)gid, (RsScriptKernelID)kid,
+ (RsAllocation)alloc);
}
static void
-nScriptGroupExecute(JNIEnv *_env, jobject _this, RsContext con, jint gid)
+nScriptGroupExecute(JNIEnv *_env, jobject _this, jlong con, jlong gid)
{
- LOG_API("nScriptGroupSetOutput, con(%p) group(%p)", con, (void *)gid);
- rsScriptGroupExecute(con, (RsScriptGroup)gid);
+ LOG_API("nScriptGroupSetOutput, con(%p) group(%p)", (RsContext)con, (void *)gid);
+ dispatchTab.ScriptGroupExecute((RsContext)con, (RsScriptGroup)gid);
}
// ---------------------------------------------------------------------------
-static jint
-nSamplerCreate(JNIEnv *_env, jobject _this, RsContext con, jint magFilter, jint minFilter,
+static jlong
+nSamplerCreate(JNIEnv *_env, jobject _this, jlong con, jint magFilter, jint minFilter,
jint wrapS, jint wrapT, jint wrapR, jfloat aniso)
{
- LOG_API("nSamplerCreate, con(%p)", con);
- return (jint)rsSamplerCreate(con,
- (RsSamplerValue)magFilter,
- (RsSamplerValue)minFilter,
- (RsSamplerValue)wrapS,
- (RsSamplerValue)wrapT,
- (RsSamplerValue)wrapR,
- aniso);
+ LOG_API("nSamplerCreate, con(%p)", (RsContext)con);
+ return (jlong)(uintptr_t)dispatchTab.SamplerCreate((RsContext)con,
+ (RsSamplerValue)magFilter,
+ (RsSamplerValue)minFilter,
+ (RsSamplerValue)wrapS,
+ (RsSamplerValue)wrapT,
+ (RsSamplerValue)wrapR,
+ aniso);
+}
+
+static jint
+nSystemGetPointerSize(JNIEnv *_env, jobject _this) {
+ return (jint)sizeof(void*);
+}
+
+// ---------------------------------------------------------------------------
+// For Incremental Intrinsic Support
+static bool nIncLoadSO() {
+ void* handle = NULL;
+ handle = dlopen("libRSSupport.so", RTLD_LAZY | RTLD_LOCAL);
+ if (handle == NULL) {
+ LOG_API("couldn't dlopen %s, %s", filename, dlerror());
+ return false;
+ }
+
+ if (loadSymbols(handle, dispatchTabInc) == false) {
+ LOG_API("%s init failed!", filename);
+ return false;
+ }
+ LOG_API("Successfully loaded %s", filename);
+ return true;
+}
+
+// -----------------------------------
+// To create/destroy a dummy context
+static void
+nIncObjDestroy(JNIEnv *_env, jobject _this, jlong con, jlong obj)
+{
+ LOG_API("nObjDestroy, con(%p) obj(%p)", (RsContext)con, (void *)obj);
+ dispatchTabInc.ObjDestroy((RsContext)con, (void *)obj);
+}
+
+
+static jlong
+nIncDeviceCreate(JNIEnv *_env, jobject _this)
+{
+ LOG_API("nDeviceCreate");
+ return (jlong)(uintptr_t)dispatchTabInc.DeviceCreate();
+}
+
+static void
+nIncDeviceDestroy(JNIEnv *_env, jobject _this, jlong dev)
+{
+ LOG_API("nDeviceDestroy");
+ return dispatchTabInc.DeviceDestroy((RsDevice)dev);
+}
+
+static jlong
+nIncContextCreate(JNIEnv *_env, jobject _this, jlong dev, jint ver, jint sdkVer, jint ct)
+{
+ LOG_API("nContextCreate");
+ //The compat context for incremental support will be synchronous.
+ return (jlong)(uintptr_t)dispatchTabInc.ContextCreate((RsDevice)dev, ver, sdkVer,
+ (RsContextType)ct,
+ RS_CONTEXT_SYNCHRONOUS);
+}
+
+static void
+nIncContextFinish(JNIEnv *_env, jobject _this, jlong con)
+{
+ LOG_API("nContextFinish, con(%p)", (RsContext)con);
+ dispatchTabInc.ContextFinish((RsContext)con);
+}
+
+static void
+nIncContextDestroy(JNIEnv *_env, jobject _this, jlong con)
+{
+ LOG_API("nContextDestroy, con(%p)", (RsContext)con);
+ dispatchTabInc.ContextDestroy((RsContext)con);
+}
+
+// -----------------------------------
+// Create dummy Element
+static jlong
+nIncElementCreate(JNIEnv *_env, jobject _this, jlong con, jlong type, jint kind, jboolean norm, jint size)
+{
+ LOG_API("nElementCreate, con(%p), type(%i), kind(%i), norm(%i), size(%i)", (RsContext)con,
+ type, kind, norm, size);
+ return (jlong)(uintptr_t)dispatchTabInc.ElementCreate((RsContext)con, (RsDataType)type,
+ (RsDataKind)kind, norm, size);
+}
+// -----------------------------------
+// Create dummy Type
+static jlong
+nIncTypeCreate(JNIEnv *_env, jobject _this, jlong con, jlong eid,
+ jint dimx, jint dimy, jint dimz, jboolean mips, jboolean faces, jint yuv)
+{
+ LOG_API("nTypeCreate, con(%p) eid(%p), x(%i), y(%i), z(%i), mips(%i), faces(%i), yuv(%i)",
+ incCon, eid, dimx, dimy, dimz, mips, faces, yuv);
+
+ return (jlong)(uintptr_t)dispatchTabInc.TypeCreate((RsContext)con, (RsElement)eid, dimx, dimy,
+ dimz, mips, faces, yuv);
+}
+
+// -----------------------------------
+// Create Allocation from pointer
+static jlong
+nIncAllocationCreateTyped(JNIEnv *_env, jobject _this, jlong con, jlong incCon, jlong alloc, jlong type)
+{
+ LOG_API("nAllocationCreateTyped, con(%p), type(%p), mip(%i), usage(%i), ptr(%p)",
+ incCon, (RsElement)type, mips, usage, (void *)pointer);
+ size_t strideIn;
+ void* pIn = NULL;
+ RsAllocation ainI = NULL;
+ if (alloc != 0) {
+ pIn = dispatchTab.AllocationGetPointer((RsContext)con, (RsAllocation)alloc, 0,
+ RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X, 0, 0,
+ &strideIn, sizeof(size_t));
+ ainI = dispatchTabInc.AllocationCreateTyped((RsContext)incCon, (RsType)type,
+ RS_ALLOCATION_MIPMAP_NONE,
+ RS_ALLOCATION_USAGE_SCRIPT | RS_ALLOCATION_USAGE_SHARED,
+ (uintptr_t)pIn);
+ }
+ return (jlong)(uintptr_t) ainI;
}
// ---------------------------------------------------------------------------
@@ -990,91 +1601,105 @@
static const char *classPathName = "android/support/v8/renderscript/RenderScript";
static JNINativeMethod methods[] = {
-{"nDeviceCreate", "()I", (void*)nDeviceCreate },
-{"nDeviceDestroy", "(I)V", (void*)nDeviceDestroy },
-{"nDeviceSetConfig", "(III)V", (void*)nDeviceSetConfig },
-{"nContextGetUserMessage", "(I[I)I", (void*)nContextGetUserMessage },
-{"nContextGetErrorMessage", "(I)Ljava/lang/String;", (void*)nContextGetErrorMessage },
-{"nContextPeekMessage", "(I[I)I", (void*)nContextPeekMessage },
-
-{"nContextInitToClient", "(I)V", (void*)nContextInitToClient },
-{"nContextDeinitToClient", "(I)V", (void*)nContextDeinitToClient },
+{"nLoadSO", "(Z)Z", (bool*)nLoadSO },
+{"nLoadIOSO", "()Z", (bool*)nLoadIOSO },
+{"nDeviceCreate", "()J", (void*)nDeviceCreate },
+{"nDeviceDestroy", "(J)V", (void*)nDeviceDestroy },
+{"nDeviceSetConfig", "(JII)V", (void*)nDeviceSetConfig },
+{"nContextGetUserMessage", "(J[I)I", (void*)nContextGetUserMessage },
+{"nContextGetErrorMessage", "(J)Ljava/lang/String;", (void*)nContextGetErrorMessage },
+{"nContextPeekMessage", "(J[I)I", (void*)nContextPeekMessage },
+{"nContextInitToClient", "(J)V", (void*)nContextInitToClient },
+{"nContextDeinitToClient", "(J)V", (void*)nContextDeinitToClient },
// All methods below are thread protected in java.
-{"rsnContextCreate", "(IIII)I", (void*)nContextCreate },
-{"rsnContextFinish", "(I)V", (void*)nContextFinish },
-{"rsnContextSetPriority", "(II)V", (void*)nContextSetPriority },
-{"rsnContextDestroy", "(I)V", (void*)nContextDestroy },
-{"rsnContextDump", "(II)V", (void*)nContextDump },
-{"rsnContextSendMessage", "(II[I)V", (void*)nContextSendMessage },
-{"rsnObjDestroy", "(II)V", (void*)nObjDestroy },
+{"rsnContextCreate", "(JIIILjava/lang/String;)J", (void*)nContextCreate },
+{"rsnContextFinish", "(J)V", (void*)nContextFinish },
+{"rsnContextSetPriority", "(JI)V", (void*)nContextSetPriority },
+{"rsnContextDestroy", "(J)V", (void*)nContextDestroy },
+{"rsnContextDump", "(JI)V", (void*)nContextDump },
+{"rsnContextSendMessage", "(JI[I)V", (void*)nContextSendMessage },
+//{"rsnClosureCreate", "(JJJ[J[J[I[J[J)J", (void*)nClosureCreate },
+//{"rsnClosureSetArg", "(JJIJI)V", (void*)nClosureSetArg },
+//{"rsnClosureSetGlobal", "(JJJJI)V", (void*)nClosureSetGlobal },
+{"rsnObjDestroy", "(JJ)V", (void*)nObjDestroy },
-{"rsnElementCreate", "(IIIZI)I", (void*)nElementCreate },
-{"rsnElementCreate2", "(I[I[Ljava/lang/String;[I)I", (void*)nElementCreate2 },
-{"rsnElementGetSubElements", "(II[I[Ljava/lang/String;[I)V", (void*)nElementGetSubElements },
+{"rsnElementCreate", "(JJIZI)J", (void*)nElementCreate },
+{"rsnElementCreate2", "(J[J[Ljava/lang/String;[I)J", (void*)nElementCreate2 },
+{"rsnElementGetSubElements", "(JJ[J[Ljava/lang/String;[I)V", (void*)nElementGetSubElements },
-{"rsnTypeCreate", "(IIIIIZZI)I", (void*)nTypeCreate },
+{"rsnTypeCreate", "(JJIIIZZI)J", (void*)nTypeCreate },
-{"rsnAllocationCreateTyped", "(IIIII)I", (void*)nAllocationCreateTyped },
-{"rsnAllocationCreateFromBitmap", "(IIILandroid/graphics/Bitmap;I)I", (void*)nAllocationCreateFromBitmap },
-{"rsnAllocationCreateBitmapBackedAllocation", "(IIILandroid/graphics/Bitmap;I)I", (void*)nAllocationCreateBitmapBackedAllocation },
-{"rsnAllocationCubeCreateFromBitmap","(IIILandroid/graphics/Bitmap;I)I", (void*)nAllocationCubeCreateFromBitmap },
+{"rsnAllocationCreateTyped", "(JJIIJ)J", (void*)nAllocationCreateTyped },
+{"rsnAllocationCreateFromBitmap", "(JJILandroid/graphics/Bitmap;I)J", (void*)nAllocationCreateFromBitmap },
+{"rsnAllocationCreateBitmapBackedAllocation", "(JJILandroid/graphics/Bitmap;I)J", (void*)nAllocationCreateBitmapBackedAllocation },
+{"rsnAllocationCubeCreateFromBitmap","(JJILandroid/graphics/Bitmap;I)J", (void*)nAllocationCubeCreateFromBitmap },
-{"rsnAllocationCopyFromBitmap", "(IILandroid/graphics/Bitmap;)V", (void*)nAllocationCopyFromBitmap },
-{"rsnAllocationCopyToBitmap", "(IILandroid/graphics/Bitmap;)V", (void*)nAllocationCopyToBitmap },
+{"rsnAllocationCopyFromBitmap", "(JJLandroid/graphics/Bitmap;)V", (void*)nAllocationCopyFromBitmap },
+{"rsnAllocationCopyToBitmap", "(JJLandroid/graphics/Bitmap;)V", (void*)nAllocationCopyToBitmap },
-{"rsnAllocationSyncAll", "(III)V", (void*)nAllocationSyncAll },
-{"rsnAllocationData1D", "(IIIII[II)V", (void*)nAllocationData1D_i },
-{"rsnAllocationData1D", "(IIIII[SI)V", (void*)nAllocationData1D_s },
-{"rsnAllocationData1D", "(IIIII[BI)V", (void*)nAllocationData1D_b },
-{"rsnAllocationData1D", "(IIIII[FI)V", (void*)nAllocationData1D_f },
-{"rsnAllocationElementData1D", "(IIIII[BI)V", (void*)nAllocationElementData1D },
-{"rsnAllocationData2D", "(IIIIIIII[II)V", (void*)nAllocationData2D_i },
-{"rsnAllocationData2D", "(IIIIIIII[SI)V", (void*)nAllocationData2D_s },
-{"rsnAllocationData2D", "(IIIIIIII[BI)V", (void*)nAllocationData2D_b },
-{"rsnAllocationData2D", "(IIIIIIII[FI)V", (void*)nAllocationData2D_f },
-{"rsnAllocationData2D", "(IIIIIIIIIIIII)V", (void*)nAllocationData2D_alloc },
-{"rsnAllocationData3D", "(IIIIIIIII[II)V", (void*)nAllocationData3D_i },
-{"rsnAllocationData3D", "(IIIIIIIII[SI)V", (void*)nAllocationData3D_s },
-{"rsnAllocationData3D", "(IIIIIIIII[BI)V", (void*)nAllocationData3D_b },
-{"rsnAllocationData3D", "(IIIIIIIII[FI)V", (void*)nAllocationData3D_f },
-{"rsnAllocationData3D", "(IIIIIIIIIIIIII)V", (void*)nAllocationData3D_alloc },
-{"rsnAllocationRead", "(II[I)V", (void*)nAllocationRead_i },
-{"rsnAllocationRead", "(II[S)V", (void*)nAllocationRead_s },
-{"rsnAllocationRead", "(II[B)V", (void*)nAllocationRead_b },
-{"rsnAllocationRead", "(II[F)V", (void*)nAllocationRead_f },
-{"rsnAllocationGetType", "(II)I", (void*)nAllocationGetType},
-{"rsnAllocationResize1D", "(III)V", (void*)nAllocationResize1D },
-{"rsnAllocationGenerateMipmaps", "(II)V", (void*)nAllocationGenerateMipmaps },
+{"rsnAllocationSyncAll", "(JJI)V", (void*)nAllocationSyncAll },
+{"rsnAllocationSetSurface", "(JJLandroid/view/Surface;)V", (void*)nAllocationSetSurface },
+{"rsnAllocationIoSend", "(JJ)V", (void*)nAllocationIoSend },
+{"rsnAllocationData1D", "(JJIIILjava/lang/Object;IIIZ)V", (void*)nAllocationData1D },
+{"rsnAllocationElementData1D", "(JJIII[BI)V", (void*)nAllocationElementData1D },
+//{"rsnAllocationElementData", "(JJIIIII[BI)V", (void*)nAllocationElementData },
+{"rsnAllocationData2D", "(JJIIIIIILjava/lang/Object;IIIZ)V", (void*)nAllocationData2D },
+{"rsnAllocationData2D", "(JJIIIIIIJIIII)V", (void*)nAllocationData2D_alloc },
+{"rsnAllocationData3D", "(JJIIIIIIILjava/lang/Object;IIIZ)V", (void*)nAllocationData3D },
+{"rsnAllocationData3D", "(JJIIIIIIIJIIII)V", (void*)nAllocationData3D_alloc },
+{"rsnAllocationRead", "(JJLjava/lang/Object;IIZ)V", (void*)nAllocationRead },
+{"rsnAllocationRead1D", "(JJIIILjava/lang/Object;IIIZ)V", (void*)nAllocationRead1D },
+//{"rsnAllocationElementRead", "(JJIIIII[BI)V", (void*)nAllocationElementRead },
+{"rsnAllocationRead2D", "(JJIIIIIILjava/lang/Object;IIIZ)V", (void*)nAllocationRead2D },
+//{"rsnAllocationRead3D", "(JJIIIIIIILjava/lang/Object;IIIZ)V", (void*)nAllocationRead3D },
+{"rsnAllocationGetType", "(JJ)J", (void*)nAllocationGetType},
+{"rsnAllocationResize1D", "(JJI)V", (void*)nAllocationResize1D },
+{"rsnAllocationGenerateMipmaps", "(JJ)V", (void*)nAllocationGenerateMipmaps },
-{"rsnScriptBindAllocation", "(IIII)V", (void*)nScriptBindAllocation },
-{"rsnScriptSetTimeZone", "(II[B)V", (void*)nScriptSetTimeZone },
-{"rsnScriptInvoke", "(III)V", (void*)nScriptInvoke },
-{"rsnScriptInvokeV", "(III[B)V", (void*)nScriptInvokeV },
-{"rsnScriptForEach", "(IIIII)V", (void*)nScriptForEach },
-{"rsnScriptForEach", "(IIIII[B)V", (void*)nScriptForEachV },
-{"rsnScriptForEachClipped", "(IIIIIIIIIII)V", (void*)nScriptForEachClipped },
-{"rsnScriptForEachClipped", "(IIIII[BIIIIII)V", (void*)nScriptForEachClippedV },
-{"rsnScriptSetVarI", "(IIII)V", (void*)nScriptSetVarI },
-{"rsnScriptSetVarJ", "(IIIJ)V", (void*)nScriptSetVarJ },
-{"rsnScriptSetVarF", "(IIIF)V", (void*)nScriptSetVarF },
-{"rsnScriptSetVarD", "(IIID)V", (void*)nScriptSetVarD },
-{"rsnScriptSetVarV", "(III[B)V", (void*)nScriptSetVarV },
-{"rsnScriptSetVarVE", "(III[BI[I)V", (void*)nScriptSetVarVE },
-{"rsnScriptSetVarObj", "(IIII)V", (void*)nScriptSetVarObj },
+{"rsnScriptBindAllocation", "(JJJIZ)V", (void*)nScriptBindAllocation },
+{"rsnScriptSetTimeZone", "(JJ[BZ)V", (void*)nScriptSetTimeZone },
+{"rsnScriptInvoke", "(JJIZ)V", (void*)nScriptInvoke },
+{"rsnScriptInvokeV", "(JJI[BZ)V", (void*)nScriptInvokeV },
+{"rsnScriptForEach", "(JJJIJJZ)V", (void*)nScriptForEach },
+{"rsnScriptForEach", "(JJJIJJ[BZ)V", (void*)nScriptForEachV },
+{"rsnScriptForEachClipped", "(JJJIJJIIIIIIZ)V", (void*)nScriptForEachClipped },
+{"rsnScriptForEachClipped", "(JJJIJJ[BIIIIIIZ)V", (void*)nScriptForEachClippedV },
+{"rsnScriptSetVarI", "(JJIIZ)V", (void*)nScriptSetVarI },
+{"rsnScriptSetVarJ", "(JJIJZ)V", (void*)nScriptSetVarJ },
+{"rsnScriptSetVarF", "(JJIFZ)V", (void*)nScriptSetVarF },
+{"rsnScriptSetVarD", "(JJIDZ)V", (void*)nScriptSetVarD },
+{"rsnScriptSetVarV", "(JJI[BZ)V", (void*)nScriptSetVarV },
+{"rsnScriptSetVarVE", "(JJI[BJ[IZ)V", (void*)nScriptSetVarVE },
+{"rsnScriptSetVarObj", "(JJIJZ)V", (void*)nScriptSetVarObj },
-{"rsnScriptCCreate", "(ILjava/lang/String;Ljava/lang/String;[BI)I", (void*)nScriptCCreate },
-{"rsnScriptIntrinsicCreate", "(III)I", (void*)nScriptIntrinsicCreate },
-{"rsnScriptKernelIDCreate", "(IIII)I", (void*)nScriptKernelIDCreate },
-{"rsnScriptFieldIDCreate", "(III)I", (void*)nScriptFieldIDCreate },
-{"rsnScriptGroupCreate", "(I[I[I[I[I[I)I", (void*)nScriptGroupCreate },
-{"rsnScriptGroupSetInput", "(IIII)V", (void*)nScriptGroupSetInput },
-{"rsnScriptGroupSetOutput", "(IIII)V", (void*)nScriptGroupSetOutput },
-{"rsnScriptGroupExecute", "(II)V", (void*)nScriptGroupExecute },
+{"rsnScriptCCreate", "(JLjava/lang/String;Ljava/lang/String;[BI)J", (void*)nScriptCCreate },
+{"rsnScriptIntrinsicCreate", "(JIJZ)J", (void*)nScriptIntrinsicCreate },
+{"rsnScriptKernelIDCreate", "(JJIIZ)J", (void*)nScriptKernelIDCreate },
+{"rsnScriptInvokeIDCreate", "(JJI)J", (void*)nScriptInvokeIDCreate },
+{"rsnScriptFieldIDCreate", "(JJIZ)J", (void*)nScriptFieldIDCreate },
+{"rsnScriptGroupCreate", "(J[J[J[J[J[J)J", (void*)nScriptGroupCreate },
+//{"rsnScriptGroup2Create", "(J[J)J", (void*)nScriptGroup2Create },
+{"rsnScriptGroupSetInput", "(JJJJ)V", (void*)nScriptGroupSetInput },
+{"rsnScriptGroupSetOutput", "(JJJJ)V", (void*)nScriptGroupSetOutput },
+{"rsnScriptGroupExecute", "(JJ)V", (void*)nScriptGroupExecute },
-{"rsnSamplerCreate", "(IIIIIIF)I", (void*)nSamplerCreate },
+{"rsnSamplerCreate", "(JIIIIIF)J", (void*)nSamplerCreate },
+{"rsnSystemGetPointerSize", "()I", (void*)nSystemGetPointerSize },
+
+// Entry points for Inc libRSSupport
+{"nIncLoadSO", "()Z", (bool*)nIncLoadSO },
+{"nIncDeviceCreate", "()J", (void*)nIncDeviceCreate },
+{"nIncDeviceDestroy", "(J)V", (void*)nIncDeviceDestroy },
+{"rsnIncContextCreate", "(JIII)J", (void*)nIncContextCreate },
+{"rsnIncContextFinish", "(J)V", (void*)nIncContextFinish },
+{"rsnIncContextDestroy", "(J)V", (void*)nIncContextDestroy },
+{"rsnIncObjDestroy", "(JJ)V", (void*)nIncObjDestroy },
+{"rsnIncElementCreate", "(JJIZI)J", (void*)nIncElementCreate },
+{"rsnIncTypeCreate", "(JJIIIZZI)J", (void*)nIncTypeCreate },
+{"rsnIncAllocationCreateTyped", "(JJJJ)J", (void*)nIncAllocationCreateTyped },
};
// ---------------------------------------------------------------------------
diff --git a/v8/renderscript/jni/android_rscompat_usage_io.cpp b/v8/renderscript/jni/android_rscompat_usage_io.cpp
new file mode 100644
index 0000000..e29be1a
--- /dev/null
+++ b/v8/renderscript/jni/android_rscompat_usage_io.cpp
@@ -0,0 +1,20 @@
+#include <android/log.h>
+#include <android/native_window.h>
+#include <android/native_window_jni.h>
+
+#include <rsEnv.h>
+#include "rsDispatch.h"
+#define LOG_API(...)
+
+extern "C" void AllocationSetSurface(JNIEnv *_env, jobject _this, RsContext con, RsAllocation alloc, jobject sur, dispatchTable dispatchTab)
+{
+ LOG_API("nAllocationSetSurface, con(%p), alloc(%p), surface(%p)",
+ con, alloc, sur);
+
+ ANativeWindow* s = NULL;
+ if (sur != 0) {
+ s = ANativeWindow_fromSurface(_env, sur);
+ }
+ dispatchTab.AllocationSetSurface(con, alloc, s);
+}
+
diff --git a/v8/renderscript/jni/android_rscompat_usage_io_driver.cpp b/v8/renderscript/jni/android_rscompat_usage_io_driver.cpp
new file mode 100644
index 0000000..96eb19a
--- /dev/null
+++ b/v8/renderscript/jni/android_rscompat_usage_io_driver.cpp
@@ -0,0 +1,113 @@
+#include <android/native_window.h>
+#include <android/log.h>
+
+#include "rsCompatibilityLib.h"
+
+#include "rsdCore.h"
+#include "rsdAllocation.h"
+#include "rsAllocation.h"
+
+#define LOG_API(...)
+
+using namespace android;
+using namespace android::renderscript;
+
+static bool IoGetBuffer(const Context *rsc, Allocation *alloc, ANativeWindow *nw) {
+ DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
+ // Must lock the whole surface
+ if(drv->wndBuffer == NULL) {
+ drv->wndBuffer = new ANativeWindow_Buffer;
+ }
+ int32_t r = ANativeWindow_lock(nw, drv->wndBuffer, NULL);
+ if (r) {
+ LOG_API("Error Locking IO output buffer.");
+ return false;
+ }
+
+ void *dst = drv->wndBuffer->bits;
+ alloc->mHal.drvState.lod[0].mallocPtr = dst;
+ alloc->mHal.drvState.lod[0].stride = drv->wndBuffer->stride * alloc->mHal.state.elementSizeBytes;
+ return true;
+}
+
+extern "C" void rscAllocationSetSurface(RsContext rscR, RsAllocation allocR, ANativeWindow *nw) {
+ Context *rsc = (Context *)rscR;
+ Allocation *alloc = (Allocation *)allocR;
+ DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
+
+ // Cleanup old surface if there is one.
+ if (drv->wndSurface) {
+ ANativeWindow *old = drv->wndSurface;
+ ANativeWindow_unlockAndPost(old);
+ drv->wndSurface = NULL;
+ ANativeWindow_release(old);
+ old = NULL;
+ }
+
+ if (nw != NULL) {
+ int32_t r;
+ r = ANativeWindow_setBuffersGeometry(nw, alloc->mHal.drvState.lod[0].dimX,
+ alloc->mHal.drvState.lod[0].dimY,
+ WINDOW_FORMAT_RGBA_8888);
+ if (r) {
+ LOG_API("Error setting IO output buffer geometry.");
+ goto errorcmp;
+ }
+
+ IoGetBuffer(rsc, alloc, nw);
+ drv->wndSurface = nw;
+ }
+
+ return;
+
+ errorcmp:
+
+ if (nw) {
+ nw = NULL;
+ }
+
+}
+
+extern "C" void rscAllocationDestroy(const Context *rsc, Allocation *alloc) {
+ DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
+ if (alloc->mHal.drvState.lod[0].mallocPtr) {
+ // don't free user-allocated ptrs or IO_OUTPUT buffers
+ if (!(drv->useUserProvidedPtr) &&
+ !(alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_INPUT) &&
+ !(alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_OUTPUT)) {
+ free(alloc->mHal.drvState.lod[0].mallocPtr);
+ }
+ alloc->mHal.drvState.lod[0].mallocPtr = NULL;
+ }
+
+ if ((alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_OUTPUT) &&
+ (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_SCRIPT)) {
+ ANativeWindow *nw = drv->wndSurface;
+ if (nw) {
+ //If we have an attached surface, need to release it.
+ ANativeWindow_unlockAndPost(nw);
+ drv->wndSurface = NULL;
+ ANativeWindow_release(nw);
+ nw = NULL;
+ }
+ }
+}
+
+extern "C" void rscAllocationIoSend(const Context *rsc, Allocation *alloc) {
+ DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
+ ANativeWindow *nw = drv->wndSurface;
+ if (nw) {
+ if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_SCRIPT) {
+ int32_t r = ANativeWindow_unlockAndPost(nw);
+ if (r) {
+ LOG_API("Error sending IO output buffer.");
+ return;
+ }
+ IoGetBuffer(rsc, alloc, nw);
+ }
+ } else {
+ LOG_API("Sent IO buffer with no attached surface.");
+ return;
+ }
+}
+
diff --git a/v8/renderscript/rs_support/Android.mk b/v8/renderscript/rs_support/Android.mk
index df236ec..43952d5 100644
--- a/v8/renderscript/rs_support/Android.mk
+++ b/v8/renderscript/rs_support/Android.mk
@@ -1,7 +1,7 @@
LOCAL_PATH:=frameworks/rs
rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable \
- -Wno-overloaded-virtual -DRS_COMPATIBILITY_LIB
+ -Wno-overloaded-virtual -DRS_COMPATIBILITY_LIB -std=c++11
ifeq ($(ARCH_ARM_HAVE_NEON),true)
rs_base_CFLAGS += -DARCH_ARM_HAVE_NEON
@@ -28,6 +28,9 @@
spec.l \
rsg_generator.c
+LOCAL_CXX_STL := none
+LOCAL_ADDRESS_SANITIZER := false
+
include $(BUILD_HOST_EXECUTABLE)
# TODO: This should go into build/core/config.mk
@@ -38,8 +41,6 @@
LOCAL_MODULE := libRSSupport
LOCAL_SDK_VERSION := 8
-# TODO: remove this once we have 64-bit NDK libraries.
-LOCAL_32_BIT_ONLY := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
generated_sources_dir := $(call local-generated-sources-dir)
@@ -82,11 +83,13 @@
LOCAL_SRC_FILES:= \
rsAdapter.cpp \
rsAllocation.cpp \
+ rsClosure.cpp \
rsCompatibilityLib.cpp \
rsComponent.cpp \
rsContext.cpp \
rsCppUtils.cpp \
rsDevice.cpp \
+ rsDriverLoader.cpp \
rsElement.cpp \
rsFifoSocket.cpp \
rsObjectBase.cpp \
@@ -99,6 +102,7 @@
rsScriptC.cpp \
rsScriptC_Lib.cpp \
rsScriptGroup.cpp \
+ rsScriptGroup2.cpp \
rsScriptIntrinsic.cpp \
rsSignal.cpp \
rsStream.cpp \
@@ -113,10 +117,12 @@
driver/rsdScriptGroup.cpp \
driver/rsdType.cpp \
cpu_ref/rsCpuCore.cpp \
+ cpu_ref/rsCpuExecutable.cpp \
cpu_ref/rsCpuScript.cpp \
cpu_ref/rsCpuRuntimeMath.cpp \
cpu_ref/rsCpuRuntimeStubs.cpp \
cpu_ref/rsCpuScriptGroup.cpp \
+ cpu_ref/rsCpuScriptGroup2.cpp \
cpu_ref/rsCpuIntrinsic.cpp \
cpu_ref/rsCpuIntrinsic3DLUT.cpp \
cpu_ref/rsCpuIntrinsicBlend.cpp \
@@ -133,6 +139,8 @@
ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
LOCAL_CFLAGS_arm := -DARCH_ARM_HAVE_VFP -DARCH_ARM_USE_INTRINSICS
LOCAL_ASFLAGS_arm := -mfpu=neon
+# frameworks/rs/cpu_ref/rsCpuIntrinsics_neon_3DLUT.S does not compile.
+LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as
LOCAL_SRC_FILES_arm := \
cpu_ref/rsCpuIntrinsics_neon_3DLUT.S \
cpu_ref/rsCpuIntrinsics_neon_ColorMatrix.S \