Merge "Application restrictions UI" into jb-mr2-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 50afaa1..964650c 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1200,6 +1200,15 @@
             </intent-filter>
         </activity>
 
+        <activity android:name=".wifi.WifiScanModeActivity"
+                  android:excludeFromRecents="true"
+                  android:theme="@style/Transparent">
+            <intent-filter>
+                <action android:name="android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
         <activity android:name=".bluetooth.RequestPermissionHelperActivity"
                   android:label="@string/bluetooth_pairing_request"
                   android:excludeFromRecents="true"
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index 138191a..aaa29c7 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -218,10 +218,12 @@
     <item msgid="3044323519470167625">"eHRPD"</item>
     <item msgid="6848428671997893147">"غير محدد"</item>
   </string-array>
-    <!-- no translation found for mvno_type_entries:0 (4367119357633573465) -->
-    <!-- no translation found for mvno_type_entries:1 (6062567900587138000) -->
-    <!-- no translation found for mvno_type_entries:2 (2454085083342423481) -->
-    <!-- no translation found for mvno_type_entries:3 (2681427309183221543) -->
+  <string-array name="mvno_type_entries">
+    <item msgid="4367119357633573465">"None"</item>
+    <item msgid="6062567900587138000">"SPN"</item>
+    <item msgid="2454085083342423481">"IMSI"</item>
+    <item msgid="2681427309183221543">"GID"</item>
+  </string-array>
   <string-array name="app_install_location_entries">
     <item msgid="8151497958991952759">"سعة تخزين الجهاز الداخلية"</item>
     <item msgid="3738430123799803530">"بطاقة SD قابلة للإزالة"</item>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index bd710bf..5c878c5 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -540,10 +540,8 @@
     <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"تنبيهي عند توفر شبكة مفتوحة"</string>
     <string name="wifi_poor_network_detection" msgid="4925789238170207169">"تجنب الاتصالات الضعيفة"</string>
     <string name="wifi_poor_network_detection_summary" msgid="7843672905900544785">"عدم استخدام شبكات Wi-Fi ما لم يكن لها اتصال إنترنت جيد"</string>
-    <!-- no translation found for wifi_scan_always_available (3470564139944368030) -->
-    <skip />
-    <!-- no translation found for wifi_scan_always_available_summary (7768204638882691453) -->
-    <skip />
+    <string name="wifi_scan_always_available" msgid="3470564139944368030">"إتاحة الفحص دائمًا"</string>
+    <string name="wifi_scan_always_available_summary" msgid="7768204638882691453">"السماح لخدمة المواقع في Google والتطبيقات الأخرى بالفحص للوصول إلى شبكات، حتى عند عدم تشغيل Wi-Fi"</string>
     <string name="wifi_setting_sleep_policy_title" msgid="5149574280392680092">"الاحتفاظ بتشغيل Wi-Fi أثناء وضع السكون"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="8174902072673071961">"حدثت مشكلة أثناء تغيير الإعدادات"</string>
     <string name="wifi_suspend_optimizations" msgid="1220174276403689487">"تحسين Wi-Fi"</string>
@@ -883,10 +881,8 @@
     <string name="carrier_enabled_summaryOn" msgid="6338915271908057531">"تم تمكين APN"</string>
     <string name="carrier_enabled_summaryOff" msgid="4300790190221203756">"تم تعطيل APN"</string>
     <string name="bearer" msgid="594270280031923558">"الحامل"</string>
-    <!-- no translation found for mvno_type (2543253857818336421) -->
-    <skip />
-    <!-- no translation found for mvno_match_data (4560671695220540466) -->
-    <skip />
+    <string name="mvno_type" msgid="2543253857818336421">"نوع MVNO"</string>
+    <string name="mvno_match_data" msgid="4560671695220540466">"قيمة MVNO"</string>
     <string name="menu_delete" msgid="6981294422841124659">"حذف APN"</string>
     <string name="menu_new" msgid="3014205883303921729">"APN جديد"</string>
     <string name="menu_save" msgid="8109345640668285399">"حفظ"</string>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index 390df23..6576fa7 100644
--- a/res/values-en-rGB/arrays.xml
+++ b/res/values-en-rGB/arrays.xml
@@ -218,10 +218,12 @@
     <item msgid="3044323519470167625">"eHRPD"</item>
     <item msgid="6848428671997893147">"Unspecified"</item>
   </string-array>
-    <!-- no translation found for mvno_type_entries:0 (4367119357633573465) -->
-    <!-- no translation found for mvno_type_entries:1 (6062567900587138000) -->
-    <!-- no translation found for mvno_type_entries:2 (2454085083342423481) -->
-    <!-- no translation found for mvno_type_entries:3 (2681427309183221543) -->
+  <string-array name="mvno_type_entries">
+    <item msgid="4367119357633573465">"None"</item>
+    <item msgid="6062567900587138000">"SPN"</item>
+    <item msgid="2454085083342423481">"IMSI"</item>
+    <item msgid="2681427309183221543">"GID"</item>
+  </string-array>
   <string-array name="app_install_location_entries">
     <item msgid="8151497958991952759">"Internal device storage"</item>
     <item msgid="3738430123799803530">"Removable SD card"</item>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 813ad4d..015b215 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -540,10 +540,8 @@
     <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Notify me when an open network is available"</string>
     <string name="wifi_poor_network_detection" msgid="4925789238170207169">"Avoid poor connections"</string>
     <string name="wifi_poor_network_detection_summary" msgid="7843672905900544785">"Don\'t use a Wi‑Fi network unless it has a good Internet connection"</string>
-    <!-- no translation found for wifi_scan_always_available (3470564139944368030) -->
-    <skip />
-    <!-- no translation found for wifi_scan_always_available_summary (7768204638882691453) -->
-    <skip />
+    <string name="wifi_scan_always_available" msgid="3470564139944368030">"Scanning always available"</string>
+    <string name="wifi_scan_always_available_summary" msgid="7768204638882691453">"Let Google\'s location service and other apps scan for networks, even when Wi-Fi is off"</string>
     <string name="wifi_setting_sleep_policy_title" msgid="5149574280392680092">"Keep Wi‑Fi on during sleep"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="8174902072673071961">"There was a problem while changing the setting"</string>
     <string name="wifi_suspend_optimizations" msgid="1220174276403689487">"Wi‑Fi optimisation"</string>
@@ -883,10 +881,8 @@
     <string name="carrier_enabled_summaryOn" msgid="6338915271908057531">"APN enabled"</string>
     <string name="carrier_enabled_summaryOff" msgid="4300790190221203756">"APN disabled"</string>
     <string name="bearer" msgid="594270280031923558">"Bearer"</string>
-    <!-- no translation found for mvno_type (2543253857818336421) -->
-    <skip />
-    <!-- no translation found for mvno_match_data (4560671695220540466) -->
-    <skip />
+    <string name="mvno_type" msgid="2543253857818336421">"MVNO type"</string>
+    <string name="mvno_match_data" msgid="4560671695220540466">"MVNO value"</string>
     <string name="menu_delete" msgid="6981294422841124659">"Delete APN"</string>
     <string name="menu_new" msgid="3014205883303921729">"New APN"</string>
     <string name="menu_save" msgid="8109345640668285399">"Save"</string>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 3b953ab..8763dc4 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -218,10 +218,12 @@
     <item msgid="3044323519470167625">"eHRPD"</item>
     <item msgid="6848428671997893147">"Non specificato"</item>
   </string-array>
-    <!-- no translation found for mvno_type_entries:0 (4367119357633573465) -->
-    <!-- no translation found for mvno_type_entries:1 (6062567900587138000) -->
-    <!-- no translation found for mvno_type_entries:2 (2454085083342423481) -->
-    <!-- no translation found for mvno_type_entries:3 (2681427309183221543) -->
+  <string-array name="mvno_type_entries">
+    <item msgid="4367119357633573465">"None"</item>
+    <item msgid="6062567900587138000">"SPN"</item>
+    <item msgid="2454085083342423481">"IMSI"</item>
+    <item msgid="2681427309183221543">"GID"</item>
+  </string-array>
   <string-array name="app_install_location_entries">
     <item msgid="8151497958991952759">"Memorizzazione su dispositivo interno"</item>
     <item msgid="3738430123799803530">"Scheda SD rimovibile"</item>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 6052253..b918d99 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -540,10 +540,8 @@
     <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Avvisa quando è disponibile una rete aperta"</string>
     <string name="wifi_poor_network_detection" msgid="4925789238170207169">"Evita connessioni deboli"</string>
     <string name="wifi_poor_network_detection_summary" msgid="7843672905900544785">"Non utilizzare una rete Wi‑Fi a meno che non abbia una buona connessione a Internet"</string>
-    <!-- no translation found for wifi_scan_always_available (3470564139944368030) -->
-    <skip />
-    <!-- no translation found for wifi_scan_always_available_summary (7768204638882691453) -->
-    <skip />
+    <string name="wifi_scan_always_available" msgid="3470564139944368030">"Scansione sempre disponibile"</string>
+    <string name="wifi_scan_always_available_summary" msgid="7768204638882691453">"Consenti al servizio di localizzazione di Google e ad altre app di eseguire la scansione delle reti, anche quando il Wi-Fi non è attivo"</string>
     <string name="wifi_setting_sleep_policy_title" msgid="5149574280392680092">"Tieni attivo Wi‑Fi durante sospensione"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="8174902072673071961">"Si è verificato un problema durante la modifica dell\'impostazione"</string>
     <string name="wifi_suspend_optimizations" msgid="1220174276403689487">"Ottimizzazione Wi‑Fi"</string>
@@ -883,10 +881,8 @@
     <string name="carrier_enabled_summaryOn" msgid="6338915271908057531">"APN attivo"</string>
     <string name="carrier_enabled_summaryOff" msgid="4300790190221203756">"APN non attivo"</string>
     <string name="bearer" msgid="594270280031923558">"Bearer"</string>
-    <!-- no translation found for mvno_type (2543253857818336421) -->
-    <skip />
-    <!-- no translation found for mvno_match_data (4560671695220540466) -->
-    <skip />
+    <string name="mvno_type" msgid="2543253857818336421">"Tipo MVNO"</string>
+    <string name="mvno_match_data" msgid="4560671695220540466">"Valore MVNO"</string>
     <string name="menu_delete" msgid="6981294422841124659">"Elimina APN"</string>
     <string name="menu_new" msgid="3014205883303921729">"Nuovo APN"</string>
     <string name="menu_save" msgid="8109345640668285399">"Salva"</string>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 1650723..63566bb 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -218,10 +218,12 @@
     <item msgid="3044323519470167625">"eHRPD"</item>
     <item msgid="6848428671997893147">"לא צוין"</item>
   </string-array>
-    <!-- no translation found for mvno_type_entries:0 (4367119357633573465) -->
-    <!-- no translation found for mvno_type_entries:1 (6062567900587138000) -->
-    <!-- no translation found for mvno_type_entries:2 (2454085083342423481) -->
-    <!-- no translation found for mvno_type_entries:3 (2681427309183221543) -->
+  <string-array name="mvno_type_entries">
+    <item msgid="4367119357633573465">"ללא"</item>
+    <item msgid="6062567900587138000">"SPN"</item>
+    <item msgid="2454085083342423481">"IMSI"</item>
+    <item msgid="2681427309183221543">"GID"</item>
+  </string-array>
   <string-array name="app_install_location_entries">
     <item msgid="8151497958991952759">"אחסון פנימי במכשיר"</item>
     <item msgid="3738430123799803530">"כרטיס SD נשלף"</item>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index c18a0b9..743e12d 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -540,10 +540,8 @@
     <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"שלח לי התראה כשיש רשת פתוחה זמינה"</string>
     <string name="wifi_poor_network_detection" msgid="4925789238170207169">"הימנע מחיבורים באיכות ירודה"</string>
     <string name="wifi_poor_network_detection_summary" msgid="7843672905900544785">"אל תשתמש ברשת Wi-Fi, אלא אם יש לה חיבור אינטרנט באיכות טובה"</string>
-    <!-- no translation found for wifi_scan_always_available (3470564139944368030) -->
-    <skip />
-    <!-- no translation found for wifi_scan_always_available_summary (7768204638882691453) -->
-    <skip />
+    <string name="wifi_scan_always_available" msgid="3470564139944368030">"סריקה זמינה תמיד"</string>
+    <string name="wifi_scan_always_available_summary" msgid="7768204638882691453">"תן לשירות המיקום של Google וליישומים אחרים לסרוק על מנת למצוא רשתות, גם כש-Wi-Fi כבוי."</string>
     <string name="wifi_setting_sleep_policy_title" msgid="5149574280392680092">"השאר את ה-Wi-Fi פועל בזמן שינה"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="8174902072673071961">"אירעה בעיה בשינוי ההגדרה"</string>
     <string name="wifi_suspend_optimizations" msgid="1220174276403689487">"אופטימיזציה ל-Wi-Fi"</string>
@@ -883,10 +881,8 @@
     <string name="carrier_enabled_summaryOn" msgid="6338915271908057531">"APN מופעל"</string>
     <string name="carrier_enabled_summaryOff" msgid="4300790190221203756">"APN מושבת"</string>
     <string name="bearer" msgid="594270280031923558">"נושא"</string>
-    <!-- no translation found for mvno_type (2543253857818336421) -->
-    <skip />
-    <!-- no translation found for mvno_match_data (4560671695220540466) -->
-    <skip />
+    <string name="mvno_type" msgid="2543253857818336421">"סוג MVNO"</string>
+    <string name="mvno_match_data" msgid="4560671695220540466">"ערך MVNO"</string>
     <string name="menu_delete" msgid="6981294422841124659">"מחק APN"</string>
     <string name="menu_new" msgid="3014205883303921729">"חדש APN"</string>
     <string name="menu_save" msgid="8109345640668285399">"שמור"</string>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index 95945fb..672ffc5 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -65,11 +65,17 @@
     <item msgid="38373998008112077">"크게"</item>
     <item msgid="7786168277516233536">"아주 크게"</item>
   </string-array>
-    <!-- no translation found for tts_rate_entries:4 (1370673569131070146) -->
-    <!-- no translation found for tts_rate_entries:5 (4648206845228970803) -->
-    <!-- no translation found for tts_rate_entries:6 (4977949754169483251) -->
-    <!-- no translation found for tts_rate_entries:7 (6106302964845503577) -->
-    <!-- no translation found for tts_rate_entries:8 (6800277205640837264) -->
+  <string-array name="tts_rate_entries">
+    <item msgid="6041212618892492920">"매우 느림"</item>
+    <item msgid="2361722960903353554">"느림"</item>
+    <item msgid="1145554631248513562">"보통"</item>
+    <item msgid="7553665153391107454">"빠름"</item>
+    <item msgid="1370673569131070146">"조금 빠름"</item>
+    <item msgid="4648206845228970803">"비교적 빠름"</item>
+    <item msgid="4977949754169483251">"상당히 빠름"</item>
+    <item msgid="6106302964845503577">"매우 빠름"</item>
+    <item msgid="6800277205640837264">"가장 빠름"</item>
+  </string-array>
   <string-array name="tts_pitch_entries">
     <item msgid="7526050907652687351">"매우 낮음"</item>
     <item msgid="2692137425242433765">"낮음"</item>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index da242e8..420d8fb 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -984,10 +984,10 @@
     <string name="contributors_title" msgid="5917703088825286504">"도움을 주신 분들"</string>
     <string name="regulatory_information" msgid="5695464367088752150">"규정 정보"</string>
     <string name="copyright_title" msgid="865906688917260647">"저작권"</string>
-    <string name="license_title" msgid="1990487604356037871">"라이센스"</string>
+    <string name="license_title" msgid="1990487604356037871">"라이선스"</string>
     <string name="terms_title" msgid="7697580845616764642">"약관"</string>
-    <string name="settings_license_activity_title" msgid="7553683406244228650">"오픈소스 라이센스"</string>
-    <string name="settings_license_activity_unavailable" msgid="4210539215951487627">"라이센스를 로드하는 동안 문제가 발생했습니다."</string>
+    <string name="settings_license_activity_title" msgid="7553683406244228650">"오픈소스 라이선스"</string>
+    <string name="settings_license_activity_unavailable" msgid="4210539215951487627">"라이선스를 로드하는 동안 문제가 발생했습니다."</string>
     <string name="settings_license_activity_loading" msgid="3337535809093591740">"로드 중..."</string>
     <string name="settings_safetylegal_title" msgid="1289483965535937431">"안전 정보"</string>
     <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"안전 정보"</string>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index 1b6aa1c..267fe34 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -218,10 +218,12 @@
     <item msgid="3044323519470167625">"eHRPD"</item>
     <item msgid="6848428671997893147">"Não especificado"</item>
   </string-array>
-    <!-- no translation found for mvno_type_entries:0 (4367119357633573465) -->
-    <!-- no translation found for mvno_type_entries:1 (6062567900587138000) -->
-    <!-- no translation found for mvno_type_entries:2 (2454085083342423481) -->
-    <!-- no translation found for mvno_type_entries:3 (2681427309183221543) -->
+  <string-array name="mvno_type_entries">
+    <item msgid="4367119357633573465">"Nenhum"</item>
+    <item msgid="6062567900587138000">"SPN"</item>
+    <item msgid="2454085083342423481">"IMSI"</item>
+    <item msgid="2681427309183221543">"GID"</item>
+  </string-array>
   <string-array name="app_install_location_entries">
     <item msgid="8151497958991952759">"Armazenamento de dispositivo interno"</item>
     <item msgid="3738430123799803530">"Cartão SD amovível"</item>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index d6fb72d..c0e75ba 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -540,10 +540,8 @@
     <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Notificar-me quando estiver disponível uma rede aberta"</string>
     <string name="wifi_poor_network_detection" msgid="4925789238170207169">"Evitar más ligações"</string>
     <string name="wifi_poor_network_detection_summary" msgid="7843672905900544785">"Não utilizar uma rede Wi-Fi exceto se tiver uma boa ligação à Internet"</string>
-    <!-- no translation found for wifi_scan_always_available (3470564139944368030) -->
-    <skip />
-    <!-- no translation found for wifi_scan_always_available_summary (7768204638882691453) -->
-    <skip />
+    <string name="wifi_scan_always_available" msgid="3470564139944368030">"Procura de redes sempre disponível"</string>
+    <string name="wifi_scan_always_available_summary" msgid="7768204638882691453">"Permitir que o serviço de localização da Google e outras aplicações procurem redes, mesmo quando a ligação Wi-Fi está desativada"</string>
     <string name="wifi_setting_sleep_policy_title" msgid="5149574280392680092">"Manter Wi-Fi ligada durante suspensão"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="8174902072673071961">"Ocorreu um problema ao alterar a definição"</string>
     <string name="wifi_suspend_optimizations" msgid="1220174276403689487">"Otimização de Wi-Fi"</string>
@@ -883,10 +881,8 @@
     <string name="carrier_enabled_summaryOn" msgid="6338915271908057531">"APN ativado"</string>
     <string name="carrier_enabled_summaryOff" msgid="4300790190221203756">"APN desativado"</string>
     <string name="bearer" msgid="594270280031923558">"Portador"</string>
-    <!-- no translation found for mvno_type (2543253857818336421) -->
-    <skip />
-    <!-- no translation found for mvno_match_data (4560671695220540466) -->
-    <skip />
+    <string name="mvno_type" msgid="2543253857818336421">"Tipo de MVNO"</string>
+    <string name="mvno_match_data" msgid="4560671695220540466">"Valor da MVNO (Operadora Móvel com Rede Virtual)"</string>
     <string name="menu_delete" msgid="6981294422841124659">"Eliminar APN"</string>
     <string name="menu_new" msgid="3014205883303921729">"Novo APN"</string>
     <string name="menu_save" msgid="8109345640668285399">"Guardar"</string>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index 45745f0..efa4f21 100644
--- a/res/values-sw/arrays.xml
+++ b/res/values-sw/arrays.xml
@@ -70,8 +70,8 @@
     <item msgid="2361722960903353554">"Polepole"</item>
     <item msgid="1145554631248513562">"Kawaida"</item>
     <item msgid="7553665153391107454">"Haraka"</item>
-    <item msgid="1370673569131070146">"Haraka kiasi"</item>
-    <item msgid="4648206845228970803">"Haraka sana"</item>
+    <item msgid="1370673569131070146">"Kwa kasi"</item>
+    <item msgid="4648206845228970803">"Kasi sana"</item>
     <item msgid="4977949754169483251">"Haraka"</item>
     <item msgid="6106302964845503577">"Haraka sana"</item>
     <item msgid="6800277205640837264">"Haraka mno"</item>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index 39f64e3a..86ed51b 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -218,10 +218,12 @@
     <item msgid="3044323519470167625">"eHRPD"</item>
     <item msgid="6848428671997893147">"Не вказано"</item>
   </string-array>
-    <!-- no translation found for mvno_type_entries:0 (4367119357633573465) -->
-    <!-- no translation found for mvno_type_entries:1 (6062567900587138000) -->
-    <!-- no translation found for mvno_type_entries:2 (2454085083342423481) -->
-    <!-- no translation found for mvno_type_entries:3 (2681427309183221543) -->
+  <string-array name="mvno_type_entries">
+    <item msgid="4367119357633573465">"Немає"</item>
+    <item msgid="6062567900587138000">"SPN"</item>
+    <item msgid="2454085083342423481">"IMSI"</item>
+    <item msgid="2681427309183221543">"GID"</item>
+  </string-array>
   <string-array name="app_install_location_entries">
     <item msgid="8151497958991952759">"Внутрішня пам\'ять пристрою"</item>
     <item msgid="3738430123799803530">"Знімна карта SD"</item>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 8080510..28b699c 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -540,10 +540,8 @@
     <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Сповіщати мене про доступність відкритої мережі"</string>
     <string name="wifi_poor_network_detection" msgid="4925789238170207169">"Уникати слабких з’єднань"</string>
     <string name="wifi_poor_network_detection_summary" msgid="7843672905900544785">"Не використовувати мережу Wi-Fi, якщо немає стійкого з’єднання з Інтернетом"</string>
-    <!-- no translation found for wifi_scan_always_available (3470564139944368030) -->
-    <skip />
-    <!-- no translation found for wifi_scan_always_available_summary (7768204638882691453) -->
-    <skip />
+    <string name="wifi_scan_always_available" msgid="3470564139944368030">"Сканування завжди доступне"</string>
+    <string name="wifi_scan_always_available_summary" msgid="7768204638882691453">"Дозволити службі локації Google та інших програмам сканувати мережі, навіть якщо Wi-Fi вимкнено."</string>
     <string name="wifi_setting_sleep_policy_title" msgid="5149574280392680092">"Не від’єднуватися від Wi‑Fi у режимі сну"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="8174902072673071961">"Виникла проблема зі зміною налаштувань"</string>
     <string name="wifi_suspend_optimizations" msgid="1220174276403689487">"Оптимізація Wi‑Fi"</string>
@@ -883,10 +881,8 @@
     <string name="carrier_enabled_summaryOn" msgid="6338915271908057531">"APN увімкнено"</string>
     <string name="carrier_enabled_summaryOff" msgid="4300790190221203756">"APN вимкнено"</string>
     <string name="bearer" msgid="594270280031923558">"Власник"</string>
-    <!-- no translation found for mvno_type (2543253857818336421) -->
-    <skip />
-    <!-- no translation found for mvno_match_data (4560671695220540466) -->
-    <skip />
+    <string name="mvno_type" msgid="2543253857818336421">"Тип MVNO"</string>
+    <string name="mvno_match_data" msgid="4560671695220540466">"Значення MVNO"</string>
     <string name="menu_delete" msgid="6981294422841124659">"Видалити APN"</string>
     <string name="menu_new" msgid="3014205883303921729">"Нова APN"</string>
     <string name="menu_save" msgid="8109345640668285399">"Зберег."</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index b696d1c..43259af 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1433,6 +1433,9 @@
     <!-- Do not translate.  Concise terminology for wifi with 802.1x EAP security -->
     <string name="wifi_security_eap">802.1x EAP</string>
 
+    <string name="wifi_scan_always_turnon_message">To improve location accuracy and for other purposes, <xliff:g id="app_name">%1$s</xliff:g> wants to turn on network scanning, even when Wi-Fi is off.\n\nAllow this for all apps that want to scan?</string>
+    <string name="wifi_scan_always_confirm_allow">Allow</string>
+    <string name="wifi_scan_always_confirm_deny">Deny</string>
 
     <!-- Button label to connect to a Wi-Fi network -->
     <string name="wifi_connect">Connect</string>
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index cc3fe31..0c00c68 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -277,13 +277,19 @@
         mPolicyEditor = new NetworkPolicyEditor(mPolicyManager);
         mPolicyEditor.read();
 
+        try {
+            mStatsSession = mStatsService.openSession();
+        } catch (RemoteException e) {
+            throw new RuntimeException(e);
+        }
+
         mShowWifi = mPrefs.getBoolean(PREF_SHOW_WIFI, false);
         mShowEthernet = mPrefs.getBoolean(PREF_SHOW_ETHERNET, false);
 
         // override preferences when no mobile radio
         if (!hasReadyMobileRadio(context)) {
-            mShowWifi = hasWifiRadio(context);
-            mShowEthernet = hasEthernet(context);
+            mShowWifi = true;
+            mShowEthernet = true;
         }
 
         setHasOptionsMenu(true);
@@ -298,12 +304,6 @@
 
         mUidDetailProvider = new UidDetailProvider(context);
 
-        try {
-            mStatsSession = mStatsService.openSession();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-
         mTabHost = (TabHost) view.findViewById(android.R.id.tabhost);
         mTabsContainer = (ViewGroup) view.findViewById(R.id.tabs_container);
         mTabWidget = (TabWidget) view.findViewById(android.R.id.tabs);
diff --git a/src/com/android/settings/wifi/WifiScanModeActivity.java b/src/com/android/settings/wifi/WifiScanModeActivity.java
new file mode 100644
index 0000000..b83b22f
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiScanModeActivity.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import com.android.settings.R;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.util.Log;
+
+/**
+ * This activity requests users permission to allow scanning even when Wi-Fi is turned off
+ */
+public class WifiScanModeActivity extends Activity {
+    private DialogFragment mDialog;
+    private String mApp;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Intent intent = getIntent();
+        if (savedInstanceState == null) {
+            if (intent != null && intent.getAction()
+                    .equals(WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE)) {
+                mApp = getCallingPackage();
+            } else {
+                finish();
+                return;
+            }
+        } else {
+            mApp = savedInstanceState.getString("app");
+        }
+        createDialog();
+    }
+
+    private void createDialog() {
+        if (mDialog == null) {
+            mDialog = AlertDialogFragment.newInstance(mApp);
+            mDialog.show(getFragmentManager(), "dialog");
+        }
+    }
+
+    private void dismissDialog() {
+        if (mDialog != null) {
+            mDialog.dismiss();
+            mDialog = null;
+        }
+    }
+
+    private void doPositiveClick() {
+        Settings.Global.putInt(getContentResolver(),
+                Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 1);
+        setResult(RESULT_OK);
+        finish();
+    }
+
+    private void doNegativeClick() {
+        setResult(RESULT_CANCELED);
+        finish();
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putString("app", mApp);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        dismissDialog();
+    }
+
+    public void onResume() {
+        super.onResume();
+        createDialog();
+    }
+
+    public static class AlertDialogFragment extends DialogFragment {
+        static AlertDialogFragment newInstance(String app) {
+            AlertDialogFragment frag = new AlertDialogFragment(app);
+            return frag;
+        }
+
+        private final String mApp;
+        public AlertDialogFragment(String app) {
+            super();
+            mApp = app;
+        }
+
+        public AlertDialogFragment() {
+            super();
+            mApp = null;
+        }
+
+        @Override
+        public Dialog onCreateDialog(Bundle savedInstanceState) {
+            return new AlertDialog.Builder(getActivity())
+                    .setMessage(getString(R.string.wifi_scan_always_turnon_message, mApp))
+                    .setPositiveButton(R.string.wifi_scan_always_confirm_allow,
+                            new DialogInterface.OnClickListener() {
+                                public void onClick(DialogInterface dialog, int whichButton) {
+                                    ((WifiScanModeActivity) getActivity()).doPositiveClick();
+                                }
+                            }
+                    )
+                    .setNegativeButton(R.string.wifi_scan_always_confirm_deny,
+                            new DialogInterface.OnClickListener() {
+                                public void onClick(DialogInterface dialog, int whichButton) {
+                                    ((WifiScanModeActivity) getActivity()).doNegativeClick();
+                                }
+                            }
+                    )
+                    .create();
+        }
+        @Override
+        public void onCancel(DialogInterface dialog) {
+            ((WifiScanModeActivity) getActivity()).doNegativeClick();
+        }
+    }
+}