Merge "Catch exceptions reading calendar events" into pi-dev
diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt
index 81c9b6b..9ac54b9 100644
--- a/config/hiddenapi-light-greylist.txt
+++ b/config/hiddenapi-light-greylist.txt
@@ -994,6 +994,7 @@
Landroid/media/AudioAttributes;->mFormattedTags:Ljava/lang/String;
Landroid/media/AudioAttributes;->mSource:I
Landroid/media/AudioAttributes;->mUsage:I
+Landroid/media/AudioAttributes$Builder;->addTag(Ljava/lang/String;)Landroid/media/AudioAttributes$Builder;
Landroid/media/AudioDevicePortConfig;-><init>(Landroid/media/AudioDevicePort;IIILandroid/media/AudioGainConfig;)V
Landroid/media/AudioDevicePort;-><init>(Landroid/media/AudioHandle;Ljava/lang/String;[I[I[I[I[Landroid/media/AudioGain;ILjava/lang/String;)V
Landroid/media/AudioFormat;-><init>(IIII)V
diff --git a/packages/InputDevices/res/values-af/strings.xml b/packages/InputDevices/res/values-af/strings.xml
index badeb6d..5cc5f9f 100644
--- a/packages/InputDevices/res/values-af/strings.xml
+++ b/packages/InputDevices/res/values-af/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letties"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persies"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Aserbeidjaans"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Pools"</string>
</resources>
diff --git a/packages/InputDevices/res/values-am/strings.xml b/packages/InputDevices/res/values-am/strings.xml
index 2375bd4..2a61d86 100644
--- a/packages/InputDevices/res/values-am/strings.xml
+++ b/packages/InputDevices/res/values-am/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"ላትቪያኛ"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"ፋርስኛ"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"አዘርባይጃንኛ"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"ፖላንድኛ"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ar/strings.xml b/packages/InputDevices/res/values-ar/strings.xml
index 0263a68..bc23b7a 100644
--- a/packages/InputDevices/res/values-ar/strings.xml
+++ b/packages/InputDevices/res/values-ar/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"اللاتفية"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"الفارسية"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"الأذربيجانية"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"البولندية"</string>
</resources>
diff --git a/packages/InputDevices/res/values-as/strings.xml b/packages/InputDevices/res/values-as/strings.xml
index 078eedd..e8d2b1b 100644
--- a/packages/InputDevices/res/values-as/strings.xml
+++ b/packages/InputDevices/res/values-as/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"লাটভিয়ান"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"ফাৰ্চী"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"আজাৰবাইজানী"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"পোলিশ্ব"</string>
</resources>
diff --git a/packages/InputDevices/res/values-az/strings.xml b/packages/InputDevices/res/values-az/strings.xml
index e0286ee..6b3e28a 100644
--- a/packages/InputDevices/res/values-az/strings.xml
+++ b/packages/InputDevices/res/values-az/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latış"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Fars Dili"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azəri"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polyak"</string>
</resources>
diff --git a/packages/InputDevices/res/values-b+sr+Latn/strings.xml b/packages/InputDevices/res/values-b+sr+Latn/strings.xml
index bc9330d..47240ab 100644
--- a/packages/InputDevices/res/values-b+sr+Latn/strings.xml
+++ b/packages/InputDevices/res/values-b+sr+Latn/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"letonski"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"persijska"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"azerbejdžanska"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"poljski"</string>
</resources>
diff --git a/packages/InputDevices/res/values-be/strings.xml b/packages/InputDevices/res/values-be/strings.xml
index cfe078e..29de73d 100644
--- a/packages/InputDevices/res/values-be/strings.xml
+++ b/packages/InputDevices/res/values-be/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Латышская"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Персідская"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Азербайджанская"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Польская"</string>
</resources>
diff --git a/packages/InputDevices/res/values-bg/strings.xml b/packages/InputDevices/res/values-bg/strings.xml
index a520a80..b54b1ad 100644
--- a/packages/InputDevices/res/values-bg/strings.xml
+++ b/packages/InputDevices/res/values-bg/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"латвийски"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"персийски"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"азербайджански"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Полски"</string>
</resources>
diff --git a/packages/InputDevices/res/values-bn/strings.xml b/packages/InputDevices/res/values-bn/strings.xml
index a61e6ce..b59a68c 100644
--- a/packages/InputDevices/res/values-bn/strings.xml
+++ b/packages/InputDevices/res/values-bn/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"লাটভিও"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"ফার্সী"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"আজারবাইজানি"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"পোলিশ"</string>
</resources>
diff --git a/packages/InputDevices/res/values-bs/strings.xml b/packages/InputDevices/res/values-bs/strings.xml
index c16b266..b073138 100644
--- a/packages/InputDevices/res/values-bs/strings.xml
+++ b/packages/InputDevices/res/values-bs/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"latvijski"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"perzijski"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"azerbejdžanski"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"poljski"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ca/strings.xml b/packages/InputDevices/res/values-ca/strings.xml
index fe8e809..f660de8 100644
--- a/packages/InputDevices/res/values-ca/strings.xml
+++ b/packages/InputDevices/res/values-ca/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letó"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persa"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Àzeri"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polonès"</string>
</resources>
diff --git a/packages/InputDevices/res/values-cs/strings.xml b/packages/InputDevices/res/values-cs/strings.xml
index a571f94..e4f2545 100644
--- a/packages/InputDevices/res/values-cs/strings.xml
+++ b/packages/InputDevices/res/values-cs/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Lotyšská klávesnice"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"perština"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"ázerbájdžánština"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"polština"</string>
</resources>
diff --git a/packages/InputDevices/res/values-da/strings.xml b/packages/InputDevices/res/values-da/strings.xml
index 1943d35..bdcc93c 100644
--- a/packages/InputDevices/res/values-da/strings.xml
+++ b/packages/InputDevices/res/values-da/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Lettisk"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persisk"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Aserbajdsjansk"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polsk"</string>
</resources>
diff --git a/packages/InputDevices/res/values-de/strings.xml b/packages/InputDevices/res/values-de/strings.xml
index 418a3f0..7d408a4 100644
--- a/packages/InputDevices/res/values-de/strings.xml
+++ b/packages/InputDevices/res/values-de/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Lettisch"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persisch"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Aserbaidschanisch"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polnisch"</string>
</resources>
diff --git a/packages/InputDevices/res/values-el/strings.xml b/packages/InputDevices/res/values-el/strings.xml
index 460d0f8..05de3b7 100644
--- a/packages/InputDevices/res/values-el/strings.xml
+++ b/packages/InputDevices/res/values-el/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Λετονικά"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Περσικά"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Αζερμπαϊτζανικά"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Πολωνικά"</string>
</resources>
diff --git a/packages/InputDevices/res/values-en-rAU/strings.xml b/packages/InputDevices/res/values-en-rAU/strings.xml
index 8f37882..2166d57 100644
--- a/packages/InputDevices/res/values-en-rAU/strings.xml
+++ b/packages/InputDevices/res/values-en-rAU/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latvian"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persian"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaijani"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polish"</string>
</resources>
diff --git a/packages/InputDevices/res/values-en-rCA/strings.xml b/packages/InputDevices/res/values-en-rCA/strings.xml
index 8f37882..2166d57 100644
--- a/packages/InputDevices/res/values-en-rCA/strings.xml
+++ b/packages/InputDevices/res/values-en-rCA/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latvian"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persian"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaijani"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polish"</string>
</resources>
diff --git a/packages/InputDevices/res/values-en-rGB/strings.xml b/packages/InputDevices/res/values-en-rGB/strings.xml
index 8f37882..2166d57 100644
--- a/packages/InputDevices/res/values-en-rGB/strings.xml
+++ b/packages/InputDevices/res/values-en-rGB/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latvian"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persian"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaijani"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polish"</string>
</resources>
diff --git a/packages/InputDevices/res/values-en-rIN/strings.xml b/packages/InputDevices/res/values-en-rIN/strings.xml
index 8f37882..2166d57 100644
--- a/packages/InputDevices/res/values-en-rIN/strings.xml
+++ b/packages/InputDevices/res/values-en-rIN/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latvian"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persian"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaijani"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polish"</string>
</resources>
diff --git a/packages/InputDevices/res/values-en-rXC/strings.xml b/packages/InputDevices/res/values-en-rXC/strings.xml
index bc1b234..4bbc17e 100644
--- a/packages/InputDevices/res/values-en-rXC/strings.xml
+++ b/packages/InputDevices/res/values-en-rXC/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latvian"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persian"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaijani"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polish"</string>
</resources>
diff --git a/packages/InputDevices/res/values-es-rUS/strings.xml b/packages/InputDevices/res/values-es-rUS/strings.xml
index e6c12a7..504ed17 100644
--- a/packages/InputDevices/res/values-es-rUS/strings.xml
+++ b/packages/InputDevices/res/values-es-rUS/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letón"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persa"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerí"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polaco"</string>
</resources>
diff --git a/packages/InputDevices/res/values-es/strings.xml b/packages/InputDevices/res/values-es/strings.xml
index 7f779c0..a17f058 100644
--- a/packages/InputDevices/res/values-es/strings.xml
+++ b/packages/InputDevices/res/values-es/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letón"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persa"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerí"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polaco"</string>
</resources>
diff --git a/packages/InputDevices/res/values-et/strings.xml b/packages/InputDevices/res/values-et/strings.xml
index a5d8cf9..8f550ff 100644
--- a/packages/InputDevices/res/values-et/strings.xml
+++ b/packages/InputDevices/res/values-et/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"läti keel"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"pärsia"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"aserbaidžaani"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Poola"</string>
</resources>
diff --git a/packages/InputDevices/res/values-eu/strings.xml b/packages/InputDevices/res/values-eu/strings.xml
index 8d62b34..ad9fc74 100644
--- a/packages/InputDevices/res/values-eu/strings.xml
+++ b/packages/InputDevices/res/values-eu/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letoniera"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Pertsiera"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaijanera"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Poloniarra"</string>
</resources>
diff --git a/packages/InputDevices/res/values-fa/strings.xml b/packages/InputDevices/res/values-fa/strings.xml
index 6effa27..683c6dc 100644
--- a/packages/InputDevices/res/values-fa/strings.xml
+++ b/packages/InputDevices/res/values-fa/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"لتونیایی"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"فارسی"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"آذربایجانی"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"لهستانی"</string>
</resources>
diff --git a/packages/InputDevices/res/values-fi/strings.xml b/packages/InputDevices/res/values-fi/strings.xml
index 9530df6..a25ba35 100644
--- a/packages/InputDevices/res/values-fi/strings.xml
+++ b/packages/InputDevices/res/values-fi/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"latvialainen"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"persia"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"azeri"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"puola"</string>
</resources>
diff --git a/packages/InputDevices/res/values-fr-rCA/strings.xml b/packages/InputDevices/res/values-fr-rCA/strings.xml
index afb61fd..f6f16cf 100644
--- a/packages/InputDevices/res/values-fr-rCA/strings.xml
+++ b/packages/InputDevices/res/values-fr-rCA/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letton"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persan"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaïdjanais"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polonais"</string>
</resources>
diff --git a/packages/InputDevices/res/values-fr/strings.xml b/packages/InputDevices/res/values-fr/strings.xml
index fadc6a2..a08084f 100644
--- a/packages/InputDevices/res/values-fr/strings.xml
+++ b/packages/InputDevices/res/values-fr/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letton"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persan"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azéri"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polonais"</string>
</resources>
diff --git a/packages/InputDevices/res/values-gl/strings.xml b/packages/InputDevices/res/values-gl/strings.xml
index de7adf1..6e9184b 100644
--- a/packages/InputDevices/res/values-gl/strings.xml
+++ b/packages/InputDevices/res/values-gl/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letón"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persa"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Acerbaixano"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polaco"</string>
</resources>
diff --git a/packages/InputDevices/res/values-gu/strings.xml b/packages/InputDevices/res/values-gu/strings.xml
index 915f1b6..894d4e4 100644
--- a/packages/InputDevices/res/values-gu/strings.xml
+++ b/packages/InputDevices/res/values-gu/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"લાતવિયન"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"પર્શિયન"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"અઝરબૈજાની"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"પોલિશ"</string>
</resources>
diff --git a/packages/InputDevices/res/values-hi/strings.xml b/packages/InputDevices/res/values-hi/strings.xml
index 0abcf87..713f3f4 100644
--- a/packages/InputDevices/res/values-hi/strings.xml
+++ b/packages/InputDevices/res/values-hi/strings.xml
@@ -19,12 +19,12 @@
<string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"स्विस जर्मन"</string>
<string name="keyboard_layout_belgian" msgid="2011984572838651558">"बेल्जियाई"</string>
<string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"बुल्गारियाई"</string>
- <string name="keyboard_layout_italian" msgid="6497079660449781213">"इतालवी"</string>
+ <string name="keyboard_layout_italian" msgid="6497079660449781213">"इटैलियन"</string>
<string name="keyboard_layout_danish" msgid="8036432066627127851">"डैनिश"</string>
<string name="keyboard_layout_norwegian" msgid="9090097917011040937">"नार्वेजियाई"</string>
<string name="keyboard_layout_swedish" msgid="732959109088479351">"स्वीडिश"</string>
<string name="keyboard_layout_finnish" msgid="5585659438924315466">"फ़िनिश"</string>
- <string name="keyboard_layout_croatian" msgid="4172229471079281138">"क्रोएशियाई"</string>
+ <string name="keyboard_layout_croatian" msgid="4172229471079281138">"क्रोएशियन"</string>
<string name="keyboard_layout_czech" msgid="1349256901452975343">"चेक"</string>
<string name="keyboard_layout_estonian" msgid="8775830985185665274">"एस्टोनियाई"</string>
<string name="keyboard_layout_hungarian" msgid="4154963661406035109">"हंगेरियाई"</string>
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"लातवियाई"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"फ़ारसी"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"अज़रबैजानी"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"पोलिश"</string>
</resources>
diff --git a/packages/InputDevices/res/values-hr/strings.xml b/packages/InputDevices/res/values-hr/strings.xml
index 7b27449b..9889d18 100644
--- a/packages/InputDevices/res/values-hr/strings.xml
+++ b/packages/InputDevices/res/values-hr/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"latvijska"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"perzijski"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"azerbajdžanski"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"poljski"</string>
</resources>
diff --git a/packages/InputDevices/res/values-hu/strings.xml b/packages/InputDevices/res/values-hu/strings.xml
index 20a0a4f..39d00d4 100644
--- a/packages/InputDevices/res/values-hu/strings.xml
+++ b/packages/InputDevices/res/values-hu/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"lett"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"perzsa"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"azeri"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"lengyel"</string>
</resources>
diff --git a/packages/InputDevices/res/values-hy/strings.xml b/packages/InputDevices/res/values-hy/strings.xml
index e2c485c..c7523e3 100644
--- a/packages/InputDevices/res/values-hy/strings.xml
+++ b/packages/InputDevices/res/values-hy/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"լատիշերեն"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"պարսկերեն"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"ադրբեջաներեն"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"լեհերեն"</string>
</resources>
diff --git a/packages/InputDevices/res/values-in/strings.xml b/packages/InputDevices/res/values-in/strings.xml
index 5e45207..59a4f1e 100644
--- a/packages/InputDevices/res/values-in/strings.xml
+++ b/packages/InputDevices/res/values-in/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latvi"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persia"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaijan"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polandia"</string>
</resources>
diff --git a/packages/InputDevices/res/values-is/strings.xml b/packages/InputDevices/res/values-is/strings.xml
index 25eeea3..722d495 100644
--- a/packages/InputDevices/res/values-is/strings.xml
+++ b/packages/InputDevices/res/values-is/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Lettneska"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persneska"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"aserska"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Pólska"</string>
</resources>
diff --git a/packages/InputDevices/res/values-it/strings.xml b/packages/InputDevices/res/values-it/strings.xml
index 4380d48..4f8b8c5 100644
--- a/packages/InputDevices/res/values-it/strings.xml
+++ b/packages/InputDevices/res/values-it/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Lettone"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persiano"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azero"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polacco"</string>
</resources>
diff --git a/packages/InputDevices/res/values-iw/strings.xml b/packages/InputDevices/res/values-iw/strings.xml
index 27f1611..58bf3d7 100644
--- a/packages/InputDevices/res/values-iw/strings.xml
+++ b/packages/InputDevices/res/values-iw/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"לטבית"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"פרסית"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"אזרית"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"פולנית"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ja/strings.xml b/packages/InputDevices/res/values-ja/strings.xml
index c0c6915..45e0ed2 100644
--- a/packages/InputDevices/res/values-ja/strings.xml
+++ b/packages/InputDevices/res/values-ja/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"ラトビア語"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"ペルシャ語"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"アゼルバイジャン語"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"ポーランド語"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ka/strings.xml b/packages/InputDevices/res/values-ka/strings.xml
index 471d808..45f8525 100644
--- a/packages/InputDevices/res/values-ka/strings.xml
+++ b/packages/InputDevices/res/values-ka/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"ლატვიური"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"სპარსული"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"აზერბაიჯანული"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"პოლონური"</string>
</resources>
diff --git a/packages/InputDevices/res/values-kk/strings.xml b/packages/InputDevices/res/values-kk/strings.xml
index 4688ebc..147731a 100644
--- a/packages/InputDevices/res/values-kk/strings.xml
+++ b/packages/InputDevices/res/values-kk/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Латыш"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Парсы"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"әзiрбайжан"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Поляк"</string>
</resources>
diff --git a/packages/InputDevices/res/values-km/strings.xml b/packages/InputDevices/res/values-km/strings.xml
index fca3737..7efe36b 100644
--- a/packages/InputDevices/res/values-km/strings.xml
+++ b/packages/InputDevices/res/values-km/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"ឡាតវីយ៉ា"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"ពីស៊ាន"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"អាហ្សឺបៃហ្សង់"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"ប៉ូឡូញ"</string>
</resources>
diff --git a/packages/InputDevices/res/values-kn/strings.xml b/packages/InputDevices/res/values-kn/strings.xml
index 8f2b51a..28bc2e1 100644
--- a/packages/InputDevices/res/values-kn/strings.xml
+++ b/packages/InputDevices/res/values-kn/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"ಲ್ಯಾಟ್ವಿಯನ್"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"ಪರ್ಶಿಯನ್"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"ಅಜೆರ್ಬೈಜಾನಿ"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"ಪೋಲಿಶ್"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ko/strings.xml b/packages/InputDevices/res/values-ko/strings.xml
index f712332..fd20385 100644
--- a/packages/InputDevices/res/values-ko/strings.xml
+++ b/packages/InputDevices/res/values-ko/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"라트비아어"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"페르시아어"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"아제르바이잔어"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"폴란드어"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ky/strings.xml b/packages/InputDevices/res/values-ky/strings.xml
index 5b3e986..225579f 100644
--- a/packages/InputDevices/res/values-ky/strings.xml
+++ b/packages/InputDevices/res/values-ky/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Латвияча"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Фарсиче"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Азербайжанча"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Полякча"</string>
</resources>
diff --git a/packages/InputDevices/res/values-lo/strings.xml b/packages/InputDevices/res/values-lo/strings.xml
index e64d83d..5c75a6d 100644
--- a/packages/InputDevices/res/values-lo/strings.xml
+++ b/packages/InputDevices/res/values-lo/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"ລັດວຽນ"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"ເປີຊຽນ"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"ອາເຊີໄບຈານີ"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"ໂພລິຊ"</string>
</resources>
diff --git a/packages/InputDevices/res/values-lt/strings.xml b/packages/InputDevices/res/values-lt/strings.xml
index a92ddaf..9c81127 100644
--- a/packages/InputDevices/res/values-lt/strings.xml
+++ b/packages/InputDevices/res/values-lt/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latvių k."</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persų"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaidžaniečių"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Lenkų"</string>
</resources>
diff --git a/packages/InputDevices/res/values-lv/strings.xml b/packages/InputDevices/res/values-lv/strings.xml
index 881adad..0656f66 100644
--- a/packages/InputDevices/res/values-lv/strings.xml
+++ b/packages/InputDevices/res/values-lv/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latviešu"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persiešu"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaidžāņu"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Poļu valoda"</string>
</resources>
diff --git a/packages/InputDevices/res/values-mk/strings.xml b/packages/InputDevices/res/values-mk/strings.xml
index 49d3d42..44069a2 100644
--- a/packages/InputDevices/res/values-mk/strings.xml
+++ b/packages/InputDevices/res/values-mk/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"латвиски"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"персиски"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"азербејџански"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"полски"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ml/strings.xml b/packages/InputDevices/res/values-ml/strings.xml
index d346d9f..dca8389 100644
--- a/packages/InputDevices/res/values-ml/strings.xml
+++ b/packages/InputDevices/res/values-ml/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"ലാറ്റ്വിയന്"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"പേര്ഷ്യന്"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"അസര്ബൈജാനി"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"പോളിഷ്"</string>
</resources>
diff --git a/packages/InputDevices/res/values-mn/strings.xml b/packages/InputDevices/res/values-mn/strings.xml
index e244722..d1fa814 100644
--- a/packages/InputDevices/res/values-mn/strings.xml
+++ b/packages/InputDevices/res/values-mn/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Латви"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Перс"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Азербайжан"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Польш"</string>
</resources>
diff --git a/packages/InputDevices/res/values-mr/strings.xml b/packages/InputDevices/res/values-mr/strings.xml
index 7189197..e8b35f5 100644
--- a/packages/InputDevices/res/values-mr/strings.xml
+++ b/packages/InputDevices/res/values-mr/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"लाट्वियन"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"पर्शियन"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"अझरबैजानी"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"पोलिश"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ms/strings.xml b/packages/InputDevices/res/values-ms/strings.xml
index 4deafa3..63f6797 100644
--- a/packages/InputDevices/res/values-ms/strings.xml
+++ b/packages/InputDevices/res/values-ms/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Bahasa Latvia"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Bahasa Parsi"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Bahasa Azerbaijan"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Bahasa Poland"</string>
</resources>
diff --git a/packages/InputDevices/res/values-my/strings.xml b/packages/InputDevices/res/values-my/strings.xml
index b97b6f1..968cb53 100644
--- a/packages/InputDevices/res/values-my/strings.xml
+++ b/packages/InputDevices/res/values-my/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"လာတ်ဗီယံ"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"ပါရှန်"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"အဇာဘိုင်ဂျန်"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"ပိုလန်"</string>
</resources>
diff --git a/packages/InputDevices/res/values-nb/strings.xml b/packages/InputDevices/res/values-nb/strings.xml
index 328effa..d7fa28d 100644
--- a/packages/InputDevices/res/values-nb/strings.xml
+++ b/packages/InputDevices/res/values-nb/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latvisk"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persisk"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Aserbajdsjansk"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polsk"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ne/strings.xml b/packages/InputDevices/res/values-ne/strings.xml
index d33cd32..e7e58bb 100644
--- a/packages/InputDevices/res/values-ne/strings.xml
+++ b/packages/InputDevices/res/values-ne/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"लातभियन"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"फारसी"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"अजरबैजानी"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"पोलिस"</string>
</resources>
diff --git a/packages/InputDevices/res/values-nl/strings.xml b/packages/InputDevices/res/values-nl/strings.xml
index 45a3e52..ca1e040 100644
--- a/packages/InputDevices/res/values-nl/strings.xml
+++ b/packages/InputDevices/res/values-nl/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Lets"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Perzisch"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbeidzjaans"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Pools"</string>
</resources>
diff --git a/packages/InputDevices/res/values-or/strings.xml b/packages/InputDevices/res/values-or/strings.xml
index cf69acc..8525c88 100644
--- a/packages/InputDevices/res/values-or/strings.xml
+++ b/packages/InputDevices/res/values-or/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"ଲାଟିଭିଆନ୍"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"ପାର୍ସିଆନ୍"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"ଆଜେର୍ବୈଜାନି"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"ପଲିଶ୍"</string>
</resources>
diff --git a/packages/InputDevices/res/values-pa/strings.xml b/packages/InputDevices/res/values-pa/strings.xml
index f707730..1a977f4 100644
--- a/packages/InputDevices/res/values-pa/strings.xml
+++ b/packages/InputDevices/res/values-pa/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"ਲਾਤਵੀਅਨ"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"ਫ਼ਾਰਸੀ"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"ਅਜ਼ੇਰਬੈਜਾਨੀ"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"ਪੋਲਿਸ਼"</string>
</resources>
diff --git a/packages/InputDevices/res/values-pl/strings.xml b/packages/InputDevices/res/values-pl/strings.xml
index 0d4a65b..831e4b4 100644
--- a/packages/InputDevices/res/values-pl/strings.xml
+++ b/packages/InputDevices/res/values-pl/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"łotewski"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Perski"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerski"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"polski"</string>
</resources>
diff --git a/packages/InputDevices/res/values-pt-rBR/strings.xml b/packages/InputDevices/res/values-pt-rBR/strings.xml
index 9c01cf0..235114c 100644
--- a/packages/InputDevices/res/values-pt-rBR/strings.xml
+++ b/packages/InputDevices/res/values-pt-rBR/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letão"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persa"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaijano"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polonês"</string>
</resources>
diff --git a/packages/InputDevices/res/values-pt-rPT/strings.xml b/packages/InputDevices/res/values-pt-rPT/strings.xml
index ddc6262..e47cf15 100644
--- a/packages/InputDevices/res/values-pt-rPT/strings.xml
+++ b/packages/InputDevices/res/values-pt-rPT/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letão"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persa"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azeri"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polaco"</string>
</resources>
diff --git a/packages/InputDevices/res/values-pt/strings.xml b/packages/InputDevices/res/values-pt/strings.xml
index 9c01cf0..235114c 100644
--- a/packages/InputDevices/res/values-pt/strings.xml
+++ b/packages/InputDevices/res/values-pt/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letão"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persa"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaijano"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polonês"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ro/strings.xml b/packages/InputDevices/res/values-ro/strings.xml
index 64edffa..6f1fc49 100644
--- a/packages/InputDevices/res/values-ro/strings.xml
+++ b/packages/InputDevices/res/values-ro/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letonă"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persană"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azeră"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Poloneză"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ru/strings.xml b/packages/InputDevices/res/values-ru/strings.xml
index 6e147eb..207f5f9 100644
--- a/packages/InputDevices/res/values-ru/strings.xml
+++ b/packages/InputDevices/res/values-ru/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"латышский"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Персидский"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Азербайджанский"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Польский"</string>
</resources>
diff --git a/packages/InputDevices/res/values-si/strings.xml b/packages/InputDevices/res/values-si/strings.xml
index eda2d97..168ead6 100644
--- a/packages/InputDevices/res/values-si/strings.xml
+++ b/packages/InputDevices/res/values-si/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"ලැට්වියානු"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"පර්සියානු"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"අසර්බයිජාන"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"පෝලන්ත"</string>
</resources>
diff --git a/packages/InputDevices/res/values-sk/strings.xml b/packages/InputDevices/res/values-sk/strings.xml
index 101ffff..cc169f4 100644
--- a/packages/InputDevices/res/values-sk/strings.xml
+++ b/packages/InputDevices/res/values-sk/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Lotyština"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Perzština"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbajdžančina"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Poľština"</string>
</resources>
diff --git a/packages/InputDevices/res/values-sl/strings.xml b/packages/InputDevices/res/values-sl/strings.xml
index 4242291..9a7241d 100644
--- a/packages/InputDevices/res/values-sl/strings.xml
+++ b/packages/InputDevices/res/values-sl/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"latvijščina"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"perzijščina"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"azerbajdžanščina"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"poljščina"</string>
</resources>
diff --git a/packages/InputDevices/res/values-sq/strings.xml b/packages/InputDevices/res/values-sq/strings.xml
index 5dcfc54..7c0ddc1 100644
--- a/packages/InputDevices/res/values-sq/strings.xml
+++ b/packages/InputDevices/res/values-sq/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"letonisht"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persisht"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbajxhanisht"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polonisht"</string>
</resources>
diff --git a/packages/InputDevices/res/values-sr/strings.xml b/packages/InputDevices/res/values-sr/strings.xml
index abb796f..3d155d1 100644
--- a/packages/InputDevices/res/values-sr/strings.xml
+++ b/packages/InputDevices/res/values-sr/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"летонски"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"персијска"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"азербејџанска"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"пољски"</string>
</resources>
diff --git a/packages/InputDevices/res/values-sv/strings.xml b/packages/InputDevices/res/values-sv/strings.xml
index 2961425..dc17c97 100644
--- a/packages/InputDevices/res/values-sv/strings.xml
+++ b/packages/InputDevices/res/values-sv/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"lettiska"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"persiska"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"azerbajdzjanska"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polska"</string>
</resources>
diff --git a/packages/InputDevices/res/values-sw/strings.xml b/packages/InputDevices/res/values-sw/strings.xml
index 4366204..ba5ef6a 100644
--- a/packages/InputDevices/res/values-sw/strings.xml
+++ b/packages/InputDevices/res/values-sw/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Kilatvia"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Kiajemi"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Kiazabaijani"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Kipolandi"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ta/strings.xml b/packages/InputDevices/res/values-ta/strings.xml
index a4d07ac..b614a50 100644
--- a/packages/InputDevices/res/values-ta/strings.xml
+++ b/packages/InputDevices/res/values-ta/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"லத்வியன்"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"பெர்சியன்"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"அஜர்பைஜானி"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"போலிஷ்"</string>
</resources>
diff --git a/packages/InputDevices/res/values-te/strings.xml b/packages/InputDevices/res/values-te/strings.xml
index f7cce96..02405b9 100644
--- a/packages/InputDevices/res/values-te/strings.xml
+++ b/packages/InputDevices/res/values-te/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"లాత్వియన్"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"పర్షియన్"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"అజర్బైజాన్"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"పోలిష్"</string>
</resources>
diff --git a/packages/InputDevices/res/values-th/strings.xml b/packages/InputDevices/res/values-th/strings.xml
index 65085dc..917d896 100644
--- a/packages/InputDevices/res/values-th/strings.xml
+++ b/packages/InputDevices/res/values-th/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"ลัตเวีย"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"เปอร์เซีย"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"อาเซอร์ไบจาน"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"โปแลนด์"</string>
</resources>
diff --git a/packages/InputDevices/res/values-tl/strings.xml b/packages/InputDevices/res/values-tl/strings.xml
index c9fc26d..4cfe77e 100644
--- a/packages/InputDevices/res/values-tl/strings.xml
+++ b/packages/InputDevices/res/values-tl/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latvian"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Persian"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerbaijani"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polish"</string>
</resources>
diff --git a/packages/InputDevices/res/values-tr/strings.xml b/packages/InputDevices/res/values-tr/strings.xml
index 98e6b51..b1841e2 100644
--- a/packages/InputDevices/res/values-tr/strings.xml
+++ b/packages/InputDevices/res/values-tr/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Letonca"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Farsça"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Azerice"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Lehçe"</string>
</resources>
diff --git a/packages/InputDevices/res/values-uk/strings.xml b/packages/InputDevices/res/values-uk/strings.xml
index c49ee9e..531a2c9 100644
--- a/packages/InputDevices/res/values-uk/strings.xml
+++ b/packages/InputDevices/res/values-uk/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Латвійська"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Перська"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"азербайджанська"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Польська"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ur/strings.xml b/packages/InputDevices/res/values-ur/strings.xml
index ab95bd5..c6f5b03 100644
--- a/packages/InputDevices/res/values-ur/strings.xml
+++ b/packages/InputDevices/res/values-ur/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"لاتویائی"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"فارسی"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"آزربائیجانی"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"پولش"</string>
</resources>
diff --git a/packages/InputDevices/res/values-uz/strings.xml b/packages/InputDevices/res/values-uz/strings.xml
index d6f7b2b..441c2c2 100644
--- a/packages/InputDevices/res/values-uz/strings.xml
+++ b/packages/InputDevices/res/values-uz/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latish"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Fors"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Ozarbayjon"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Polyak"</string>
</resources>
diff --git a/packages/InputDevices/res/values-vi/strings.xml b/packages/InputDevices/res/values-vi/strings.xml
index e92d8fc6..5eb4dc3 100644
--- a/packages/InputDevices/res/values-vi/strings.xml
+++ b/packages/InputDevices/res/values-vi/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Tiếng Latvia"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Tiếng Ba Tư"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Tiếng Azerbaijan"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Tiếng Ba Lan"</string>
</resources>
diff --git a/packages/InputDevices/res/values-zh-rCN/strings.xml b/packages/InputDevices/res/values-zh-rCN/strings.xml
index 61c6bc9..1ff381b 100644
--- a/packages/InputDevices/res/values-zh-rCN/strings.xml
+++ b/packages/InputDevices/res/values-zh-rCN/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"拉脱维亚语"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"波斯语"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"阿塞拜疆语"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"波兰语"</string>
</resources>
diff --git a/packages/InputDevices/res/values-zh-rHK/strings.xml b/packages/InputDevices/res/values-zh-rHK/strings.xml
index bf0e2b7..aeb85f1 100644
--- a/packages/InputDevices/res/values-zh-rHK/strings.xml
+++ b/packages/InputDevices/res/values-zh-rHK/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"拉脫維亞文"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"波斯文"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"亞塞拜疆文"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"波蘭文"</string>
</resources>
diff --git a/packages/InputDevices/res/values-zh-rTW/strings.xml b/packages/InputDevices/res/values-zh-rTW/strings.xml
index 785cc3d..2d97fbc 100644
--- a/packages/InputDevices/res/values-zh-rTW/strings.xml
+++ b/packages/InputDevices/res/values-zh-rTW/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"拉脫維亞文"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"波斯文"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"亞塞拜然文"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"波蘭文"</string>
</resources>
diff --git a/packages/InputDevices/res/values-zu/strings.xml b/packages/InputDevices/res/values-zu/strings.xml
index 1643f01..9e957ac 100644
--- a/packages/InputDevices/res/values-zu/strings.xml
+++ b/packages/InputDevices/res/values-zu/strings.xml
@@ -43,4 +43,5 @@
<string name="keyboard_layout_latvian" msgid="4405417142306250595">"Isi-Latvian"</string>
<string name="keyboard_layout_persian" msgid="3920643161015888527">"Isi-Persian"</string>
<string name="keyboard_layout_azerbaijani" msgid="7315895417176467567">"Isi-Azebhayijani"</string>
+ <string name="keyboard_layout_polish" msgid="1121588624094925325">"Isi-Polish"</string>
</resources>
diff --git a/packages/SystemUI/res/layout/status_bar_mobile_signal_group.xml b/packages/SystemUI/res/layout/status_bar_mobile_signal_group.xml
index d607c8c..c8a5544 100644
--- a/packages/SystemUI/res/layout/status_bar_mobile_signal_group.xml
+++ b/packages/SystemUI/res/layout/status_bar_mobile_signal_group.xml
@@ -23,6 +23,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
+ android:paddingStart="2dp"
android:orientation="horizontal">
<FrameLayout
android:id="@+id/inout_container"
diff --git a/packages/SystemUI/res/layout/status_bar_wifi_group.xml b/packages/SystemUI/res/layout/status_bar_wifi_group.xml
index 08cef55..482f780 100644
--- a/packages/SystemUI/res/layout/status_bar_wifi_group.xml
+++ b/packages/SystemUI/res/layout/status_bar_wifi_group.xml
@@ -22,61 +22,67 @@
android:id="@+id/wifi_combo"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:paddingStart="4dp"
- android:gravity="center_vertical"
- android:orientation="horizontal" >
+ android:gravity="center_vertical" >
- <FrameLayout
- android:id="@+id/inout_container"
- android:layout_height="17dp"
+ <com.android.keyguard.AlphaOptimizedLinearLayout
+ android:id="@+id/wifi_group"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:paddingStart="2dp"
+ android:gravity="center_vertical"
+ >
+ <FrameLayout
+ android:id="@+id/inout_container"
+ android:layout_height="17dp"
+ android:layout_width="wrap_content"
+ android:gravity="center_vertical" >
+ <ImageView
+ android:id="@+id/wifi_in"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:src="@drawable/ic_activity_down"
+ android:visibility="gone"
+ android:paddingEnd="2dp"
+ />
+ <ImageView
+ android:id="@+id/wifi_out"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:src="@drawable/ic_activity_up"
+ android:paddingEnd="2dp"
+ android:visibility="gone"
+ />
+ </FrameLayout>
+ <FrameLayout
+ android:id="@+id/wifi_combo"
+ android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:gravity="center_vertical" >
- <ImageView
- android:id="@+id/wifi_in"
- android:layout_height="wrap_content"
+ <com.android.systemui.statusbar.AlphaOptimizedImageView
+ android:theme="?attr/lightIconTheme"
+ android:id="@+id/wifi_signal"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content" />
+ </FrameLayout>
+
+ <View
+ android:id="@+id/wifi_signal_spacer"
+ android:layout_width="@dimen/status_bar_wifi_signal_spacer_width"
+ android:layout_height="4dp"
+ android:visibility="gone" />
+
+ <!-- Looks like CarStatusBar uses this... -->
+ <ViewStub
+ android:id="@+id/connected_device_signals_stub"
+ android:layout="@layout/connected_device_signal"
android:layout_width="wrap_content"
- android:src="@drawable/ic_activity_down"
- android:visibility="gone"
- android:paddingEnd="2dp"
- />
- <ImageView
- android:id="@+id/wifi_out"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:src="@drawable/ic_activity_up"
- android:paddingEnd="2dp"
+ android:layout_height="wrap_content" />
+
+ <View
+ android:id="@+id/wifi_airplane_spacer"
+ android:layout_width="@dimen/status_bar_airplane_spacer_width"
+ android:layout_height="4dp"
android:visibility="gone"
/>
- </FrameLayout>
- <FrameLayout
- android:id="@+id/wifi_combo"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:gravity="center_vertical" >
- <com.android.systemui.statusbar.AlphaOptimizedImageView
- android:theme="?attr/lightIconTheme"
- android:id="@+id/wifi_signal"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content" />
- </FrameLayout>
-
- <View
- android:id="@+id/wifi_signal_spacer"
- android:layout_width="@dimen/status_bar_wifi_signal_spacer_width"
- android:layout_height="4dp"
- android:visibility="gone" />
-
- <!-- Looks like CarStatusBar uses this... -->
- <ViewStub
- android:id="@+id/connected_device_signals_stub"
- android:layout="@layout/connected_device_signal"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
-
- <View
- android:id="@+id/wifi_airplane_spacer"
- android:layout_width="@dimen/status_bar_airplane_spacer_width"
- android:layout_height="4dp"
- android:visibility="gone"
- />
+ </com.android.keyguard.AlphaOptimizedLinearLayout>
</com.android.systemui.statusbar.StatusBarWifiView>
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
index 216fa78..70880d3 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
@@ -56,6 +56,7 @@
import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconManager;
import com.android.systemui.statusbar.policy.Clock;
+import com.android.systemui.statusbar.phone.StatusIconContainer;
import com.android.systemui.statusbar.policy.DarkIconDispatcher;
import com.android.systemui.statusbar.policy.DarkIconDispatcher.DarkReceiver;
import com.android.systemui.statusbar.policy.DateView;
@@ -147,7 +148,9 @@
mDate.setOnClickListener(this);
mSystemIconsView = findViewById(R.id.quick_status_bar_system_icons);
mQuickQsStatusIcons = findViewById(R.id.quick_qs_status_icons);
- mIconManager = new TintedIconManager(findViewById(R.id.statusIcons));
+ StatusIconContainer iconContainer = findViewById(R.id.statusIcons);
+ iconContainer.setShouldRestrictIcons(false);
+ mIconManager = new TintedIconManager(iconContainer);
// Views corresponding to the header info section (e.g. tooltip and next alarm).
mHeaderTextContainerView = findViewById(R.id.header_text_container);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
index 9883da6..c8c2158 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
@@ -21,6 +21,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
+import android.os.SystemProperties;
import android.os.UserManager;
import android.provider.Settings;
import android.provider.Settings.Global;
@@ -29,7 +30,11 @@
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.internal.telephony.TelephonyIntents;
+import com.android.internal.telephony.TelephonyProperties;
+import com.android.systemui.Dependency;
import com.android.systemui.R;
+import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.qs.QSTile.BooleanState;
import com.android.systemui.qs.GlobalSetting;
import com.android.systemui.qs.QSHost;
@@ -61,8 +66,15 @@
@Override
public void handleClick() {
- MetricsLogger.action(mContext, getMetricsCategory(), !mState.value);
- setEnabled(!mState.value);
+ boolean airplaneModeEnabled = mState.value;
+ MetricsLogger.action(mContext, getMetricsCategory(), !airplaneModeEnabled);
+ if (!airplaneModeEnabled && Boolean.parseBoolean(
+ SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) {
+ Dependency.get(ActivityStarter.class).postStartActivityDismissingKeyguard(
+ new Intent(TelephonyIntents.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS), 0);
+ return;
+ }
+ setEnabled(!airplaneModeEnabled);
}
private void setEnabled(boolean enabled) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
index bd6bd12..4fc18ad 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
@@ -163,7 +163,6 @@
mNumberPain.setColor(context.getColor(R.drawable.notification_number_text_color));
mNumberPain.setAntiAlias(true);
setNotification(sbn);
- maybeUpdateIconScaleDimens();
setScaleType(ScaleType.CENTER);
mDensity = context.getResources().getDisplayMetrics().densityDpi;
if (mNotification != null) {
@@ -171,26 +170,18 @@
com.android.internal.R.color.notification_default_color_light));
}
reloadDimens();
+ maybeUpdateIconScaleDimens();
}
+ /** Should always be preceded by {@link #reloadDimens()} */
private void maybeUpdateIconScaleDimens() {
// We do not resize and scale system icons (on the right), only notification icons (on the
// left).
if (mNotification != null || mAlwaysScaleIcon) {
- updateIconScaleDimens();
+ updateIconScale();
}
}
- private void updateIconScaleDimens() {
- Resources res = mContext.getResources();
- mStatusBarIconSize = res.getDimensionPixelSize(R.dimen.status_bar_icon_size);
- mStatusBarIconDrawingSizeDark =
- res.getDimensionPixelSize(R.dimen.status_bar_icon_drawing_size_dark);
- mStatusBarIconDrawingSize =
- res.getDimensionPixelSize(R.dimen.status_bar_icon_drawing_size);
- updateIconScale();
- }
-
private void updateIconScale() {
final float imageBounds = NotificationUtils.interpolate(
mStatusBarIconDrawingSize,
@@ -214,15 +205,21 @@
int density = newConfig.densityDpi;
if (density != mDensity) {
mDensity = density;
+ reloadDimens();
maybeUpdateIconScaleDimens();
updateDrawable();
- reloadDimens();
}
}
private void reloadDimens() {
boolean applyRadius = mDotRadius == mStaticDotRadius;
- mStaticDotRadius = getResources().getDimensionPixelSize(R.dimen.overflow_dot_radius);
+ Resources res = getResources();
+ mStaticDotRadius = res.getDimensionPixelSize(R.dimen.overflow_dot_radius);
+ mStatusBarIconSize = res.getDimensionPixelSize(R.dimen.status_bar_icon_size);
+ mStatusBarIconDrawingSizeDark =
+ res.getDimensionPixelSize(R.dimen.status_bar_icon_drawing_size_dark);
+ mStatusBarIconDrawingSize =
+ res.getDimensionPixelSize(R.dimen.status_bar_icon_drawing_size);
if (applyRadius) {
mDotRadius = mStaticDotRadius;
}
@@ -240,7 +237,8 @@
mDozer = new NotificationIconDozeHelper(context);
mBlocked = false;
mAlwaysScaleIcon = true;
- updateIconScaleDimens();
+ reloadDimens();
+ updateIconScale();
mDensity = context.getResources().getDisplayMetrics().densityDpi;
}
@@ -425,7 +423,7 @@
radius = NotificationUtils.interpolate(mDotRadius, getWidth() / 4, fadeOutAmount);
}
mDotPaint.setAlpha((int) (alpha * 255));
- canvas.drawCircle(getWidth() / 2, getHeight() / 2, radius, mDotPaint);
+ canvas.drawCircle(mStatusBarIconSize / 2, getHeight() / 2, radius, mDotPaint);
}
}
@@ -657,6 +655,7 @@
mContrastedDrawableColor = contrastedColor;
}
+ @Override
public void setVisibleState(int state) {
setVisibleState(state, true /* animate */, null /* endRunnable */);
}
@@ -872,7 +871,10 @@
@Override
public void onDarkChanged(Rect area, float darkIntensity, int tint) {
- setImageTintList(ColorStateList.valueOf(getTint(area, this, tint)));
+ int areaTint = getTint(area, this, tint);
+ ColorStateList color = ColorStateList.valueOf(areaTint);
+ setImageTintList(color);
+ setDecorColor(areaTint);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java
index 51b4239..f4e45812 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java
@@ -197,10 +197,20 @@
}
@Override
+ public void setDecorColor(int color) {
+ //TODO: May also not be needed
+ }
+
+ @Override
public boolean isIconVisible() {
return mState.visible;
}
+ @Override
+ public void setVisibleState(int state) {
+ //TODO: May not be needed. Mobile is always expected to be visible (not a dot)
+ }
+
@VisibleForTesting
public MobileIconState getState() {
return mState;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarWifiView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarWifiView.java
index 62cd16f..0e2714d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarWifiView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarWifiView.java
@@ -16,6 +16,9 @@
package com.android.systemui.statusbar;
+import static com.android.systemui.statusbar.StatusBarIconView.STATE_DOT;
+import static com.android.systemui.statusbar.StatusBarIconView.STATE_HIDDEN;
+import static com.android.systemui.statusbar.StatusBarIconView.STATE_ICON;
import static com.android.systemui.statusbar.policy.DarkIconDispatcher.getTint;
import static com.android.systemui.statusbar.policy.DarkIconDispatcher.isInArea;
@@ -24,11 +27,17 @@
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.ContextThemeWrapper;
+import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewGroup.LayoutParams;
+import android.widget.FrameLayout;
import android.widget.ImageView;
+import android.widget.LinearLayout;
import com.android.keyguard.AlphaOptimizedLinearLayout;
import com.android.settingslib.Utils;
import com.android.systemui.R;
@@ -38,10 +47,14 @@
/**
* Start small: StatusBarWifiView will be able to layout from a WifiIconState
*/
-public class StatusBarWifiView extends AlphaOptimizedLinearLayout implements DarkReceiver,
+public class StatusBarWifiView extends FrameLayout implements DarkReceiver,
StatusIconDisplayable {
private static final String TAG = "StatusBarWifiView";
+ /// Used to show etc dots
+ private StatusBarIconView mDotView;
+ /// Contains the main icon layout
+ private LinearLayout mWifiGroup;
private ImageView mWifiIcon;
private ImageView mIn;
private ImageView mOut;
@@ -55,9 +68,12 @@
private ContextThemeWrapper mDarkContext;
private ContextThemeWrapper mLightContext;
- public static StatusBarWifiView fromContext(Context context) {
+ public static StatusBarWifiView fromContext(Context context, String slot) {
LayoutInflater inflater = LayoutInflater.from(context);
- return (StatusBarWifiView) inflater.inflate(R.layout.status_bar_wifi_group, null);
+ StatusBarWifiView v = (StatusBarWifiView) inflater.inflate(R.layout.status_bar_wifi_group, null);
+ v.setSlot(slot);
+ v.init();
+ return v;
}
public StatusBarWifiView(Context context) {
@@ -77,12 +93,6 @@
super(context, attrs, defStyleAttr, defStyleRes);
}
- @Override
- protected void onFinishInflate() {
- super.onFinishInflate();
- init();
- }
-
public void setSlot(String slot) {
mSlot = slot;
}
@@ -93,6 +103,12 @@
mWifiIcon.setImageTintList(list);
mIn.setImageTintList(list);
mOut.setImageTintList(list);
+ mDotView.setDecorColor(color);
+ }
+
+ @Override
+ public void setDecorColor(int color) {
+ mDotView.setDecorColor(color);
}
@Override
@@ -105,18 +121,55 @@
return mState != null && mState.visible;
}
+ @Override
+ public void setVisibleState(int state) {
+ switch (state) {
+ case STATE_ICON:
+ mWifiGroup.setVisibility(View.VISIBLE);
+ mDotView.setVisibility(View.GONE);
+ break;
+ case STATE_DOT:
+ mWifiGroup.setVisibility(View.GONE);
+ mDotView.setVisibility(View.VISIBLE);
+ break;
+ case STATE_HIDDEN:
+ default:
+ setVisibility(View.GONE);
+ break;
+ }
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ int width = MeasureSpec.getSize(widthMeasureSpec);
+ }
+
private void init() {
int dualToneLightTheme = Utils.getThemeAttr(mContext, R.attr.lightIconTheme);
int dualToneDarkTheme = Utils.getThemeAttr(mContext, R.attr.darkIconTheme);
mLightContext = new ContextThemeWrapper(mContext, dualToneLightTheme);
mDarkContext = new ContextThemeWrapper(mContext, dualToneDarkTheme);
+ mWifiGroup = findViewById(R.id.wifi_group);
mWifiIcon = findViewById(R.id.wifi_signal);
mIn = findViewById(R.id.wifi_in);
mOut = findViewById(R.id.wifi_out);
mSignalSpacer = findViewById(R.id.wifi_signal_spacer);
mAirplaneSpacer = findViewById(R.id.wifi_airplane_spacer);
mInoutContainer = findViewById(R.id.inout_container);
+
+ initDotView();
+ }
+
+ private void initDotView() {
+ mDotView = new StatusBarIconView(mContext, mSlot, null);
+ mDotView.setVisibleState(STATE_DOT);
+
+ int width = mContext.getResources().getDimensionPixelSize(R.dimen.status_bar_icon_size);
+ LayoutParams lp = new LayoutParams(width, width);
+ lp.gravity = Gravity.CENTER_VERTICAL | Gravity.START;
+ addView(mDotView, lp);
}
public void applyWifiState(WifiIconState state) {
@@ -186,6 +239,8 @@
}
mIn.setImageTintList(ColorStateList.valueOf(getTint(area, this, tint)));
mOut.setImageTintList(ColorStateList.valueOf(getTint(area, this, tint)));
+ mDotView.setDecorColor(tint);
+ mDotView.setIconColor(tint, false);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusIconDisplayable.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusIconDisplayable.java
index ccab0d6..6383816 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusIconDisplayable.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusIconDisplayable.java
@@ -21,6 +21,8 @@
public interface StatusIconDisplayable extends DarkReceiver {
String getSlot();
void setStaticDrawableColor(int color);
+ void setDecorColor(int color);
+ void setVisibleState(int state);
boolean isIconVisible();
default boolean isIconBlocked() {
return false;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java
index 48540b1..824960e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java
@@ -198,8 +198,7 @@
public void addDemoWifiView(WifiIconState state) {
Log.d(TAG, "addDemoWifiView: ");
- StatusBarWifiView view = StatusBarWifiView.fromContext(mContext);
- view.setSlot(state.slot);
+ StatusBarWifiView view = StatusBarWifiView.fromContext(mContext, state.slot);
int viewIndex = getChildCount();
// If we have mobile views, put wifi before them
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index b817809..9787d73 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -205,12 +205,6 @@
}
@Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- updateLayoutConsideringCutout();
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- }
-
- @Override
public WindowInsets onApplyWindowInsets(WindowInsets insets) {
mLayoutState = LAYOUT_NONE;
if (updateLayoutConsideringCutout()) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java
index 94e004b..1ba37a9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java
@@ -163,6 +163,7 @@
StatusBarIconHolder holder) {
StatusIconDisplayable view = addHolder(index, slot, blocked, holder);
view.setStaticDrawableColor(mColor);
+ view.setDecorColor(mColor);
}
public void setTint(int color) {
@@ -172,6 +173,7 @@
if (child instanceof StatusIconDisplayable) {
StatusIconDisplayable icon = (StatusIconDisplayable) child;
icon.setStaticDrawableColor(mColor);
+ icon.setDecorColor(mColor);
}
}
}
@@ -289,8 +291,7 @@
}
private StatusBarWifiView onCreateStatusBarWifiView(String slot) {
- StatusBarWifiView view = StatusBarWifiView.fromContext(mContext);
- view.setSlot(slot);
+ StatusBarWifiView view = StatusBarWifiView.fromContext(mContext, slot);
return view;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusIconContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusIconContainer.java
index 255e10e..c97c8eb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusIconContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusIconContainer.java
@@ -16,30 +16,57 @@
package com.android.systemui.statusbar.phone;
+import static com.android.systemui.statusbar.StatusBarIconView.STATE_ICON;
+import static com.android.systemui.statusbar.StatusBarIconView.STATE_DOT;
+import static com.android.systemui.statusbar.StatusBarIconView.STATE_HIDDEN;
+
import android.annotation.Nullable;
import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Paint.Style;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
+import android.view.ViewGroup;
import com.android.keyguard.AlphaOptimizedLinearLayout;
import com.android.systemui.R;
import com.android.systemui.statusbar.StatusIconDisplayable;
import com.android.systemui.statusbar.stack.ViewState;
+import java.lang.ref.WeakReference;
+import java.util.ArrayList;
/**
* A container for Status bar system icons. Limits the number of system icons and handles overflow
- * similar to NotificationIconController. Can be used to layout nested StatusIconContainers
+ * similar to {@link NotificationIconContainer}.
*
- * Children are expected to be of type StatusBarIconView.
+ * Children are expected to implement {@link StatusIconDisplayable}
*/
public class StatusIconContainer extends AlphaOptimizedLinearLayout {
private static final String TAG = "StatusIconContainer";
private static final boolean DEBUG = false;
- private static final int MAX_ICONS = 5;
+ private static final boolean DEBUG_OVERFLOW = false;
+ // Max 5 status icons including battery
+ private static final int MAX_ICONS = 4;
private static final int MAX_DOTS = 3;
+ private int mDotPadding;
+ private int mStaticDotDiameter;
+ private int mUnderflowWidth;
+ private int mUnderflowStart = 0;
+ // Whether or not we can draw into the underflow space
+ private boolean mNeedsUnderflow;
+ // Individual StatusBarIconViews draw their etc dots centered in this width
+ private int mIconDotFrameWidth;
+ private boolean mShouldRestrictIcons = true;
+ // Used to count which states want to be visible during layout
+ private ArrayList<StatusIconState> mLayoutStates = new ArrayList<>();
+ // So we can count and measure properly
+ private ArrayList<View> mMeasureViews = new ArrayList<>();
+
public StatusIconContainer(Context context) {
this(context, null);
}
@@ -49,6 +76,27 @@
}
@Override
+ protected void onFinishInflate() {
+ super.onFinishInflate();
+ setWillNotDraw(!DEBUG_OVERFLOW);
+ initDimens();
+ }
+
+ public void setShouldRestrictIcons(boolean should) {
+ mShouldRestrictIcons = should;
+ }
+
+ private void initDimens() {
+ // This is the same value that StatusBarIconView uses
+ mIconDotFrameWidth = getResources().getDimensionPixelSize(
+ com.android.internal.R.dimen.status_bar_icon_size);
+ mDotPadding = getResources().getDimensionPixelSize(R.dimen.overflow_icon_dot_padding);
+ int radius = getResources().getDimensionPixelSize(R.dimen.overflow_dot_radius);
+ mStaticDotDiameter = 2 * radius;
+ mUnderflowWidth = mIconDotFrameWidth + 2 * (mStaticDotDiameter + mDotPadding);
+ }
+
+ @Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
float midY = getHeight() / 2.0f;
@@ -67,23 +115,80 @@
}
@Override
+ protected void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+ if (DEBUG_OVERFLOW) {
+ Paint paint = new Paint();
+ paint.setStyle(Style.STROKE);
+ paint.setColor(Color.RED);
+
+ // Show bounding box
+ canvas.drawRect(getPaddingStart(), 0, getWidth() - getPaddingEnd(), getHeight(), paint);
+
+ // Show etc box
+ paint.setColor(Color.GREEN);
+ canvas.drawRect(
+ mUnderflowStart, 0, mUnderflowStart + mUnderflowWidth, getHeight(), paint);
+ }
+ }
+
+ @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-
- int width = MeasureSpec.getSize(widthMeasureSpec);
- int widthSpec = MeasureSpec.makeMeasureSpec(width, MeasureSpec.UNSPECIFIED);
-
+ mMeasureViews.clear();
+ int mode = MeasureSpec.getMode(widthMeasureSpec);
+ final int width = MeasureSpec.getSize(widthMeasureSpec);
final int count = getChildCount();
- // Measure all children so that they report the correct width
+ // Collect all of the views which want to be laid out
for (int i = 0; i < count; i++) {
- measureChild(getChildAt(i), widthSpec, heightMeasureSpec);
+ StatusIconDisplayable icon = (StatusIconDisplayable) getChildAt(i);
+ if (icon.isIconVisible() && !icon.isIconBlocked()) {
+ mMeasureViews.add((View) icon);
+ }
+ }
+
+ int visibleCount = mMeasureViews.size();
+ int maxVisible = visibleCount <= MAX_ICONS ? MAX_ICONS : MAX_ICONS - 1;
+ int totalWidth = getPaddingStart() + getPaddingEnd();
+ boolean trackWidth = true;
+
+ // Measure all children so that they report the correct width
+ int childWidthSpec = MeasureSpec.makeMeasureSpec(width, MeasureSpec.UNSPECIFIED);
+ mNeedsUnderflow = mShouldRestrictIcons && visibleCount > MAX_ICONS;
+ for (int i = 0; i < mMeasureViews.size(); i++) {
+ // Walking backwards
+ View child = mMeasureViews.get(visibleCount - i - 1);
+ measureChild(child, childWidthSpec, heightMeasureSpec);
+ if (mShouldRestrictIcons) {
+ if (i < maxVisible && trackWidth) {
+ totalWidth += getViewTotalMeasuredWidth(child);
+ } else if (trackWidth) {
+ // We've hit the icon limit; add space for dots
+ totalWidth += mUnderflowWidth;
+ trackWidth = false;
+ }
+ } else {
+ totalWidth += getViewTotalMeasuredWidth(child);
+ }
+ }
+
+ if (mode == MeasureSpec.EXACTLY) {
+ if (!mNeedsUnderflow && totalWidth > width) {
+ mNeedsUnderflow = true;
+ }
+ setMeasuredDimension(width, MeasureSpec.getSize(heightMeasureSpec));
+ } else {
+ if (mode == MeasureSpec.AT_MOST && totalWidth > width) {
+ mNeedsUnderflow = true;
+ totalWidth = width;
+ }
+ setMeasuredDimension(totalWidth, MeasureSpec.getSize(heightMeasureSpec));
}
}
@Override
public void onViewAdded(View child) {
super.onViewAdded(child);
- ViewState vs = new ViewState();
+ StatusIconState vs = new StatusIconState();
child.setTag(R.id.status_bar_view_state_tag, vs);
}
@@ -97,6 +202,7 @@
* Layout is happening from end -> start
*/
private void calculateIconTranslations() {
+ mLayoutStates.clear();
float width = getWidth() - getPaddingEnd();
float translationX = width;
float contentStart = getPaddingStart();
@@ -106,45 +212,57 @@
if (DEBUG) android.util.Log.d(TAG, "calculateIconTransitions: start=" + translationX
+ " width=" + width);
- //TODO: Dots
+ // Collect all of the states which want to be visible
for (int i = childCount - 1; i >= 0; i--) {
View child = getChildAt(i);
- if (!(child instanceof StatusIconDisplayable)) {
- if (DEBUG) Log.d(TAG, "skipping child (wrong type)");
- continue;
- }
-
StatusIconDisplayable iconView = (StatusIconDisplayable) child;
-
- ViewState childState = getViewStateFromChild(child);
- if (childState == null ) {
- if (DEBUG) Log.d(TAG, "skipping child (" + iconView.getSlot() + ") no ViewState");
- continue;
- }
+ StatusIconState childState = getViewStateFromChild(child);
if (!iconView.isIconVisible() || iconView.isIconBlocked()) {
- childState.hidden = true;
+ childState.visibleState = STATE_HIDDEN;
if (DEBUG) Log.d(TAG, "skipping child (" + iconView.getSlot() + ") not visible");
continue;
}
- childState.xTranslation = translationX - child.getWidth();
+ childState.visibleState = STATE_ICON;
+ childState.xTranslation = translationX - getViewTotalWidth(child);
+ mLayoutStates.add(0, childState);
- if (childState.xTranslation < contentStart) {
- if (firstUnderflowIndex == -1) {
- firstUnderflowIndex = i;
- }
+ translationX -= getViewTotalWidth(child);
+ }
+
+ // Show either 1-4 dots, or 3 dots + overflow
+ int totalVisible = mLayoutStates.size();
+ int maxVisible = totalVisible <= MAX_ICONS ? MAX_ICONS : MAX_ICONS - 1;
+
+ mUnderflowStart = 0;
+ int visible = 0;
+ firstUnderflowIndex = -1;
+ for (int i = totalVisible - 1; i >= 0; i--) {
+ StatusIconState state = mLayoutStates.get(i);
+ // Allow room for underflow if we found we need it in onMeasure
+ if (mNeedsUnderflow && (state.xTranslation < (contentStart + mUnderflowWidth))||
+ (mShouldRestrictIcons && visible >= maxVisible)) {
+ firstUnderflowIndex = i;
+ break;
}
-
- translationX -= child.getWidth();
+ mUnderflowStart = (int) Math.max(contentStart, state.xTranslation - mUnderflowWidth);
+ visible++;
}
if (firstUnderflowIndex != -1) {
- for (int i = 0; i <= firstUnderflowIndex; i++) {
- View child = getChildAt(i);
- ViewState vs = getViewStateFromChild(child);
- if (vs != null) {
- vs.hidden = true;
+ int totalDots = 0;
+ int dotWidth = mStaticDotDiameter + mDotPadding;
+ int dotOffset = mUnderflowStart + mUnderflowWidth - mIconDotFrameWidth;
+ for (int i = firstUnderflowIndex; i >= 0; i--) {
+ StatusIconState state = mLayoutStates.get(i);
+ if (totalDots < MAX_DOTS) {
+ state.xTranslation = dotOffset;
+ state.visibleState = STATE_DOT;
+ dotOffset -= dotWidth;
+ totalDots++;
+ } else {
+ state.visibleState = STATE_HIDDEN;
}
}
}
@@ -153,7 +271,7 @@
if (isLayoutRtl()) {
for (int i = 0; i < childCount; i++) {
View child = getChildAt(i);
- ViewState state = getViewStateFromChild(child);
+ StatusIconState state = getViewStateFromChild(child);
state.xTranslation = width - state.xTranslation - child.getWidth();
}
}
@@ -162,7 +280,7 @@
private void applyIconStates() {
for (int i = 0; i < getChildCount(); i++) {
View child = getChildAt(i);
- ViewState vs = getViewStateFromChild(child);
+ StatusIconState vs = getViewStateFromChild(child);
if (vs != null) {
vs.applyToView(child);
}
@@ -172,7 +290,7 @@
private void resetViewStates() {
for (int i = 0; i < getChildCount(); i++) {
View child = getChildAt(i);
- ViewState vs = getViewStateFromChild(child);
+ StatusIconState vs = getViewStateFromChild(child);
if (vs == null) {
continue;
}
@@ -187,7 +305,29 @@
}
}
- private static @Nullable ViewState getViewStateFromChild(View child) {
- return (ViewState) child.getTag(R.id.status_bar_view_state_tag);
+ private static @Nullable StatusIconState getViewStateFromChild(View child) {
+ return (StatusIconState) child.getTag(R.id.status_bar_view_state_tag);
+ }
+
+ private static int getViewTotalMeasuredWidth(View child) {
+ return child.getMeasuredWidth() + child.getPaddingStart() + child.getPaddingEnd();
+ }
+
+ private static int getViewTotalWidth(View child) {
+ return child.getWidth() + child.getPaddingStart() + child.getPaddingEnd();
+ }
+
+ public static class StatusIconState extends ViewState {
+ /// StatusBarIconView.STATE_*
+ public int visibleState = STATE_ICON;
+
+ @Override
+ public void applyToView(View view) {
+ if (view instanceof StatusIconDisplayable) {
+ StatusIconDisplayable icon = (StatusIconDisplayable) view;
+ icon.setVisibleState(visibleState);
+ }
+ super.applyToView(view);
+ }
}
}
diff --git a/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java b/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
index 567eaaa..1faa9f7 100644
--- a/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
+++ b/services/core/java/com/android/server/locksettings/recoverablekeystore/KeySyncTask.java
@@ -349,7 +349,6 @@
.setSnapshotVersion(getSnapshotVersion(recoveryAgentUid, recreateCurrentVersion))
.setMaxAttempts(TRUSTED_HARDWARE_MAX_ATTEMPTS)
.setCounterId(counterId)
- .setTrustedHardwarePublicKey(SecureBox.encodePublicKey(publicKey))
.setServerParams(vaultHandle)
.setKeyChainProtectionParams(metadataList)
.setWrappedApplicationKeys(createApplicationKeyEntries(encryptedApplicationKeys))
diff --git a/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer.java b/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer.java
index f789155..b486834 100644
--- a/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer.java
+++ b/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer.java
@@ -132,8 +132,7 @@
break;
case TAG_BACKEND_PUBLIC_KEY:
- builder.setTrustedHardwarePublicKey(
- readBlobTag(parser, TAG_BACKEND_PUBLIC_KEY));
+ // Unused
break;
case TAG_KEY_CHAIN_PROTECTION_PARAMS_LIST:
diff --git a/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSchema.java b/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSchema.java
index ff30ecd..0f2c2fc 100644
--- a/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSchema.java
+++ b/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSchema.java
@@ -35,7 +35,7 @@
static final String TAG_RECOVERY_KEY_MATERIAL = "recoveryKeyMaterial";
static final String TAG_SERVER_PARAMS = "serverParams";
static final String TAG_TRUSTED_HARDWARE_CERT_PATH = "thmCertPath";
- static final String TAG_BACKEND_PUBLIC_KEY = "backendPublicKey";
+ static final String TAG_BACKEND_PUBLIC_KEY = "backendPublicKey"; // Deprecated.
static final String TAG_KEY_CHAIN_PROTECTION_PARAMS_LIST =
"keyChainProtectionParamsList";
diff --git a/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializer.java b/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializer.java
index 17a16bf..235df69 100644
--- a/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializer.java
+++ b/services/core/java/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializer.java
@@ -162,10 +162,6 @@
writePropertyTag(xmlSerializer, TAG_SERVER_PARAMS, keyChainSnapshot.getServerParams());
writePropertyTag(xmlSerializer, TAG_TRUSTED_HARDWARE_CERT_PATH,
keyChainSnapshot.getTrustedHardwareCertPath());
- if (keyChainSnapshot.getTrustedHardwarePublicKey() != null) {
- writePropertyTag(xmlSerializer, TAG_BACKEND_PUBLIC_KEY,
- keyChainSnapshot.getTrustedHardwarePublicKey());
- }
}
private static void writePropertyTag(
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializerTest.java b/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializerTest.java
index 2f4da86..07c6203 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializerTest.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializerTest.java
@@ -45,7 +45,6 @@
private static final int MAX_ATTEMPTS = 21;
private static final byte[] SERVER_PARAMS = new byte[] { 8, 2, 4 };
private static final byte[] KEY_BLOB = new byte[] { 124, 53, 53, 53 };
- private static final byte[] PUBLIC_KEY_BLOB = new byte[] { 6, 6, 6, 6, 6, 6, 7 };
private static final CertPath CERT_PATH = TestData.CERT_PATH_1;
private static final int SECRET_TYPE = KeyChainProtectionParams.TYPE_LOCKSCREEN;
private static final int LOCK_SCREEN_UI = KeyChainProtectionParams.UI_FORMAT_PASSWORD;
@@ -94,11 +93,6 @@
}
@Test
- public void roundTrip_persistsBackendPublicKey() throws Exception {
- assertThat(roundTrip().getTrustedHardwarePublicKey()).isEqualTo(PUBLIC_KEY_BLOB);
- }
-
- @Test
public void roundTrip_persistsParamsList() throws Exception {
assertThat(roundTrip().getKeyChainProtectionParams()).hasSize(1);
}
@@ -201,7 +195,6 @@
.setKeyChainProtectionParams(createKeyChainProtectionParamsList())
.setWrappedApplicationKeys(createKeys())
.setTrustedHardwareCertPath(CERT_PATH)
- .setTrustedHardwarePublicKey(PUBLIC_KEY_BLOB)
.build();
}