diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 2d1f158..67aa7ee 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -794,7 +794,6 @@
                 android:value="com.android.settings.NotificationStation" />
         </activity>
 
-        <!--
         <activity android:name="Settings$AppOpsSummaryActivity"
                 android:label="@string/app_ops_settings"
                 android:taskAffinity=""
@@ -803,15 +802,17 @@
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.APP_OPS_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
+                <!-- Not yet ready to expose.
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="com.android.settings.SHORTCUT" />
+                -->
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.applications.AppOpsSummary" />
+            <!--
             <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/application_settings" />
+                android:resource="@id/application_settings" /> -->
         </activity>
-        -->
         
         <activity android:name="Settings$LocationSettingsActivity"
                 android:label="@string/location_settings_title"
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index d2ad51d..4d91c65 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -598,7 +598,7 @@
     <string name="wifi_signal" msgid="5514120261628065287">"Síla signálu"</string>
     <string name="wifi_status" msgid="4824568012414605414">"Stav"</string>
     <string name="wifi_speed" msgid="3526198708812322037">"Rychlost připojení"</string>
-    <string name="wifi_ip_address" msgid="1440054061044402918">"Adresa IP"</string>
+    <string name="wifi_ip_address" msgid="1440054061044402918">"IP adresa"</string>
     <string name="wifi_eap_method" msgid="8529436133640730382">"Metoda EAP"</string>
     <string name="please_select_phase2" msgid="5231074529772044898">"Ověření Phase 2"</string>
     <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Certifikát CA"</string>
@@ -643,7 +643,7 @@
     <string name="wifi_setting_frequency_band_summary" msgid="3250740757118009784">"Uveďte provozní frekvenční rozsah"</string>
     <string name="wifi_setting_frequency_band_error" msgid="837281974489794378">"Při nastavení frekvenčního pásma došlo k problému."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Adresa MAC"</string>
-    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"Adresa IP"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP adresa"</string>
     <string name="wifi_advanced_settings_label" msgid="3654366894867838338">"Nastavení adresy IP"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Uložit"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Zrušit"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 021ef10..eb94a69 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -1561,7 +1561,7 @@
     <string name="add_device_admin_msg" msgid="6246742476064507965">"Geräteadministrator aktivieren?"</string>
     <string name="add_device_admin" msgid="7133327675884827091">"Aktivieren"</string>
     <string name="device_admin_add_title" msgid="7705551449705676363">"Geräteadministrator"</string>
-    <string name="device_admin_warning" msgid="2026747446313628233">"Die Aktivierung dieses Administrators ermöglicht der App <xliff:g id="APP_NAME">%1$s</xliff:g>, folgende Vorgänge auszuführen:"</string>
+    <string name="device_admin_warning" msgid="2026747446313628233">"Die Aktivierung dieses Administrators ermöglicht der App \"<xliff:g id="APP_NAME">%1$s</xliff:g>\", folgende Vorgänge auszuführen:"</string>
     <string name="device_admin_status" msgid="4252975713178851910">"Dieser Administrator ist aktiv und ermöglicht der App <xliff:g id="APP_NAME">%1$s</xliff:g>, folgende Vorgänge auszuführen:"</string>
     <string name="untitled_apn" msgid="1230060359198685513">"Unbenannt"</string>
     <string name="sound_category_sound_title" msgid="1488759370067953996">"Allgemein"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 4e6c508..24e2991 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1607,7 +1607,7 @@
     <string name="background_data_summary" msgid="8328521479872763452">"Synchronisation, envoi et réception de données à tout moment"</string>
     <string name="background_data_dialog_title" msgid="6059217698124786537">"Dés. données arr.-plan ?"</string>
     <string name="background_data_dialog_message" msgid="6981661606680941633">"La désactivation des données en arrière-plan économise la batterie et réduit l\'utilisation des données. Certaines applications peuvent continuer d\'utiliser la connexion Internet en arrière-plan."</string>
-    <string name="sync_automatically" msgid="1682730255435062059">"Synchro auto des données des applis"</string>
+    <string name="sync_automatically" msgid="1682730255435062059">"Synchro auto"</string>
     <string name="sync_enabled" msgid="4551148952179416813">"Synchronisation activée"</string>
     <string name="sync_disabled" msgid="8511659877596511991">"Synchronisation désactivée"</string>
     <string name="sync_error" msgid="5060969083117872149">"Erreur de synchronisation"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 6a27f25..6014192 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -353,7 +353,7 @@
     <string name="unlock_set_unlock_off_summary" msgid="94361581669110415"></string>
     <string name="unlock_set_unlock_none_title" msgid="2871898266296656162">"הסט"</string>
     <string name="unlock_set_unlock_none_summary" msgid="8914673583104628191">"אין אבטחה"</string>
-    <string name="unlock_set_unlock_biometric_weak_title" msgid="2227215291604628670">"ביטול נעילת פרצוף"</string>
+    <string name="unlock_set_unlock_biometric_weak_title" msgid="2227215291604628670">"זיהוי פרצוף"</string>
     <string name="unlock_set_unlock_biometric_weak_summary" msgid="180083326982058964">"אבטחה נמוכה, ניסיוני"</string>
     <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"קו"</string>
     <string name="unlock_set_unlock_pattern_summary" msgid="7062696666227725593">"אבטחה בינונית"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index ec102bd..8bb0b0a 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -1709,7 +1709,7 @@
     <string name="show_all_anrs_summary" msgid="641908614413544127">"バックグラウンドアプリが応答しない場合に通知する"</string>
     <string name="experimental_webview" msgid="4492200819033780927">"試験運用版WebViewを使用"</string>
     <string name="experimental_webview_summary" msgid="3431620080869482446">"アプリは最新（ベータ版）のWebViewを使用します"</string>
-    <string name="data_usage_summary_title" msgid="3804110657238092929">"データ使用"</string>
+    <string name="data_usage_summary_title" msgid="3804110657238092929">"データ使用量"</string>
     <string name="data_usage_cycle" msgid="5652529796195787949">"データ使用サイクル"</string>
     <string name="data_usage_menu_roaming" msgid="8042359966835203296">"データローミング"</string>
     <string name="data_usage_menu_restrict_background" msgid="1989394568592253331">"バックグラウンドデータを制限する"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index f16fe7b..728a56b 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -1704,7 +1704,7 @@
     <string name="show_all_anrs_summary" msgid="641908614413544127">"Afiş. dialog. Aplic. nu răsp. pt. aplic. de fundal"</string>
     <string name="experimental_webview" msgid="4492200819033780927">"WebView experimental"</string>
     <string name="experimental_webview_summary" msgid="3431620080869482446">"Aplicațiile vor utiliza cel mai nou WebView (beta)"</string>
-    <string name="data_usage_summary_title" msgid="3804110657238092929">"Rata de utilizare a datelor"</string>
+    <string name="data_usage_summary_title" msgid="3804110657238092929">"Utilizarea datelor"</string>
     <string name="data_usage_cycle" msgid="5652529796195787949">"Ciclul de util. a datelor"</string>
     <string name="data_usage_menu_roaming" msgid="8042359966835203296">"Roaming de date"</string>
     <string name="data_usage_menu_restrict_background" msgid="1989394568592253331">"Restricţionaţi datele de fundal"</string>
@@ -1712,7 +1712,7 @@
     <string name="data_usage_menu_show_wifi" msgid="5056401102877964564">"Afișați utilizarea Wi-Fi"</string>
     <string name="data_usage_menu_show_ethernet" msgid="5181361208532314097">"Afişaţi utiliz. conex. Ethernet"</string>
     <string name="data_usage_menu_metered" msgid="5056695223222541863">"Hotspoturi mobile"</string>
-    <string name="data_usage_menu_auto_sync" msgid="8203999775948778560">"Sincronizaţi datele în mod automat"</string>
+    <string name="data_usage_menu_auto_sync" msgid="8203999775948778560">"Sincronizați automat datele"</string>
     <string name="data_usage_change_cycle" msgid="7776556448920114866">"Schimbaţi data ciclului..."</string>
     <string name="data_usage_pick_cycle_day" msgid="4470796861757050966">"Ziua din lună pentru resetarea ciclului de utilizare a datelor:"</string>
     <string name="data_usage_empty" msgid="8621855507876539282">"Nicio aplic. nu a utilizat date în ac. perioadă."</string>
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
index f4a48ef..8124b3b 100644
--- a/src/com/android/settings/WirelessSettings.java
+++ b/src/com/android/settings/WirelessSettings.java
@@ -45,7 +45,7 @@
 import com.android.settings.NsdEnabler;
 
 public class WirelessSettings extends SettingsPreferenceFragment {
-    private static final String TAG = "WirelessSettiings";
+    private static final String TAG = "WirelessSettings";
 
     private static final String KEY_TOGGLE_AIRPLANE = "toggle_airplane";
     private static final String KEY_TOGGLE_NFC = "toggle_nfc";
@@ -106,7 +106,7 @@
         NetworkInfo ni = mCm.getActiveNetworkInfo();
         if (mTm.hasIccCard() && (ni != null)) {
             // Get provisioning URL
-            String url = getProvisioningUrl();
+            String url = mCm.getMobileProvisioningUrl();
             if (!TextUtils.isEmpty(url)) {
                 // Send user to provisioning webpage
                 Intent intent = new Intent(Intent.ACTION_VIEW);
@@ -145,26 +145,6 @@
         }
     }
 
-    private String getProvisioningUrl() {
-        String url = getActivity().getResources()
-                .getString(com.android.internal.R.string.mobile_provisioning_url);
-        log("getProvisioningUrl: mobile_provisioning_url=" + url);
-
-        // populate the iccid, imei and phone number in the provisioning url.
-        if (!TextUtils.isEmpty(url)) {
-            String phoneNumber = mTm.getLine1Number();
-            if (TextUtils.isEmpty(phoneNumber)) {
-                phoneNumber = "0000000000";
-            }
-            url = String.format(url,
-                    mTm.getSimSerialNumber() /* ICCID */,
-                    mTm.getDeviceId() /* IMEI */,
-                    phoneNumber /* Phone number */);
-        }
-
-        return url;
-    }
-
     @Override
     public Dialog onCreateDialog(int dialogId) {
         log("onCreateDialog: dialogId=" + dialogId);
