diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 2395cd1..80f2247 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -124,6 +124,7 @@
     <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" />
     <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
     <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
 
 
     <!-- This tells the activity manager to not delay any of our activity
diff --git a/res/layout/network_settings.xml b/res/layout/network_settings.xml
deleted file mode 100644
index d2a4acc..0000000
--- a/res/layout/network_settings.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 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.
--->
-
-<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@android:id/tabhost"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <LinearLayout
-        android:id="@+id/tabs_container"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical">
-
-        <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:scrollbars="none"
-            android:fillViewport="true">
-
-            <TabWidget
-                android:id="@android:id/tabs"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                style="?android:attr/tabWidgetStyle" />
-
-        </HorizontalScrollView>
-
-        <!-- give an empty content area to make tabhost happy -->
-        <FrameLayout
-            android:id="@android:id/tabcontent"
-            android:layout_width="0dip"
-            android:layout_height="0dip" />
-
-        <ListView
-            android:id="@android:id/list"
-            android:layout_width="match_parent"
-            android:layout_height="0dip"
-            android:layout_weight="1"
-            android:clipChildren="false"
-            android:clipToPadding="false"
-            android:smoothScrollbar="false" />
-
-    </LinearLayout>
-
-</TabHost>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index ec588e1..86f2712 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -134,7 +134,7 @@
   <string-array name="clir_display_values">
     <item msgid="5560134294467334594">"નેટવર્ક ડિફોલ્ટ"</item>
     <item msgid="7876195870037833661">"નંબર છુપાવો"</item>
-    <item msgid="1108394741608734023">"નંબર દર્શાવો"</item>
+    <item msgid="1108394741608734023">"નંબર બતાવો"</item>
   </string-array>
     <string name="vm_changed" msgid="380744030726254139">"વૉઇસમેઇલ નંબર બદલ્યો."</string>
     <string name="vm_change_failed" msgid="3352934863246208918">"વૉઇસમેઇલ નંબર બદલી શકાયો નથી.\nજો આ સમસ્યા ચાલુ રહે છે, તો તમારા કેરિઅરનો સંપર્ક કરો."</string>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index a72b176..4931375 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -125,7 +125,7 @@
     <string name="reverting_settings" msgid="4752151682666912828">"Po rikthen cilësimet…"</string>
     <string name="response_error" msgid="6674110501330139405">"Përgjigje e papritur nga rrjeti."</string>
     <string name="exception_error" msgid="7027667130619518211">"Gabim në rrjet ose në kartën SIM."</string>
-    <string name="fdn_check_failure" msgid="18200614306525434">"Cilësimet e numrave fiks të aplikacionit të telefonit tënd janë aktivizuar. Si rezultat, disa funksione që lidhen me telefonatën nuk funksionojnë."</string>
+    <string name="fdn_check_failure" msgid="18200614306525434">"Cilësimi për numrat me telefonim të përzgjedhur të aplikacionit të telefonit tënd u aktivizua. Si rezultat, disa funksione që kanë të bëjnë me telefonimin nuk funksionojnë."</string>
     <string name="radio_off_error" msgid="2304459933248513376">"Aktivizo radion para se të shohësh këto cilësime."</string>
     <string name="close_dialog" msgid="2365884406356986917">"Në rregull"</string>
     <string name="enable" msgid="7248657275000173526">"Aktivizo"</string>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index d8c43b5..5b2a405 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -100,19 +100,19 @@
     <string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"எல்லா அழைப்புகளையும் பகிர்"</string>
     <string name="sum_cfu_enabled" msgid="2450052502198827927">"<xliff:g id="PHONENUMBER">{0}</xliff:g> க்கு எல்லா அழைப்புகளையும் பகிர்"</string>
     <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"எண் கிடைக்கவில்லை"</string>
-    <string name="sum_cfu_disabled" msgid="8384177689501334080">"முடக்கு"</string>
+    <string name="sum_cfu_disabled" msgid="8384177689501334080">"முடக்கத்தில்"</string>
     <string name="labelCFB" msgid="6139853033106283172">"பிஸியாக இருக்கும்போது"</string>
-    <string name="messageCFB" msgid="3711089705936187129">"பிஸியாக இருக்கும்போது இதில்"</string>
+    <string name="messageCFB" msgid="3711089705936187129">"பிஸியாக இருக்கும்போது:"</string>
     <string name="sum_cfb_enabled" msgid="5984198104833116690">"<xliff:g id="PHONENUMBER">{0}</xliff:g> க்குப் பகிர்"</string>
-    <string name="sum_cfb_disabled" msgid="4913145177320506827">"முடக்கு"</string>
+    <string name="sum_cfb_disabled" msgid="4913145177320506827">"முடக்கத்தில்"</string>
     <string name="disable_cfb_forbidden" msgid="3506984333877998061">"மொபைல் பிஸியாக இருக்கும்போது, அழைப்பு பகிர்தலை முடக்குவதை ஆபரேட்டர் ஆதரிக்கவில்லை."</string>
     <string name="labelCFNRy" msgid="1736067178393744351">"பதிலளிக்காமல் இருக்கும்போது"</string>
-    <string name="messageCFNRy" msgid="672317899884380374">"பதிலளிக்காதபோது இதில்"</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"பதிலளிக்காதபோது:"</string>
     <string name="sum_cfnry_enabled" msgid="6955775691317662910">"<xliff:g id="PHONENUMBER">{0}</xliff:g> க்குப் பகிர்"</string>
-    <string name="sum_cfnry_disabled" msgid="3884684060443538097">"முடக்கு"</string>
+    <string name="sum_cfnry_disabled" msgid="3884684060443538097">"முடக்கத்தில்"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"பதிலளிக்காமல் இருக்கும்போது, அழைப்பு பகிர்தலை முடக்குவதை ஆபரேட்டர் ஆதரிக்கவில்லை."</string>
     <string name="labelCFNRc" msgid="2614827454402079766">"தொடர்புகொள்ள முடியாமல் இருக்கும்போது"</string>
-    <string name="messageCFNRc" msgid="6380695421020295119">"தொடர்பு கிடைக்காதபோது இதில்"</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"தொடர்பு கிடைக்காதபோது:"</string>
     <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"<xliff:g id="PHONENUMBER">{0}</xliff:g> க்குப் பகிர்"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"முடக்கப்பட்டது"</string>
     <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"மொபைல் தொடர்புகொள்ள முடியாத இடத்தில் இருக்கும்போது, அழைப்பு பகிர்தலை முடக்குவதை ஆபரேட்டர் ஆதரிக்கவில்லை."</string>
@@ -132,7 +132,7 @@
     <string name="disable" msgid="4678348128118573672">"முடக்கு"</string>
     <string name="change_num" msgid="239476305819844391">"புதுப்பி"</string>
   <string-array name="clir_display_values">
-    <item msgid="5560134294467334594">"நெட்வொர்க் இயல்பு"</item>
+    <item msgid="5560134294467334594">"நெட்வொர்க் பொருத்து"</item>
     <item msgid="7876195870037833661">"எண்ணை மறை"</item>
     <item msgid="1108394741608734023">"எண்ணைக் காட்டு"</item>
   </string-array>
@@ -370,7 +370,7 @@
     <string name="fdn_failed" msgid="540018079008319747">"FDN செயல்பாடு தோல்வி."</string>
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"சிம் கார்டில் இருப்பதைப் படிக்கிறது…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"சிம் கார்டில் தொடர்புகள் இல்லை."</string>
-    <string name="simContacts_title" msgid="1861472842524839921">"இறக்குமதிக்கு தொடர்புகளைத் தேர்ந்தெடுக்கவும்"</string>
+    <string name="simContacts_title" msgid="1861472842524839921">"ஏற்ற தொடர்புகளைத் தேர்ந்தெடு"</string>
     <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM கார்டிலிருந்து தொடர்புகளை இறக்க, விமானப் பயன்முறையை முடக்கவும்."</string>
     <string name="enable_pin" msgid="5422767284133234860">"சிம்மின் பின்னை இயக்கு/முடக்கு"</string>
     <string name="change_pin" msgid="9174186126330785343">"சிம்மின் பின்னை மாற்று"</string>
@@ -379,7 +379,7 @@
     <string name="newPinLabel" msgid="207488227285336897">"புதிய பின்"</string>
     <string name="confirmPinLabel" msgid="257597715098070206">"புதிய பின்னை உறுதிப்படுத்தவும்"</string>
     <string name="badPin" msgid="8955102849303984935">"உள்ளிட்ட பழைய பின் தவறானது. மீண்டும் முயற்சிக்கவும்."</string>
-    <string name="mismatchPin" msgid="5923253370683071889">"உள்ளிட்ட PINகள் பொருந்தவில்லை. மீண்டும் முயற்சிக்கவும்."</string>
+    <string name="mismatchPin" msgid="5923253370683071889">"உள்ளிட்ட பின்கள் பொருந்தவில்லை. மீண்டும் முயற்சிக்கவும்."</string>
     <string name="invalidPin" msgid="5981171102258684792">"4 இலிருந்து 8 எண்கள் வரையுள்ள பின்னை உள்ளிடவும்."</string>
     <string name="disable_sim_pin" msgid="3419351358300716472">"சிம் பின்னை அழி"</string>
     <string name="enable_sim_pin" msgid="4845145659651484248">"சிம் பின்னை அமை"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1ce9e9c..52e4961 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -24,7 +24,7 @@
 
     <!-- Official label of the phone app, as seen in "Manage Applications"
          and other settings UIs. -->
-    <string name="phoneAppLabel" product="default">Phone</string>
+    <string name="phoneAppLabel" product="default">Phone Services</string>
 
     <!-- Screen title for Emergency Dialer UI -->
     <string name="emergencyDialerIconLabel">Emergency Dialer</string>
diff --git a/res/xml/gsm_umts_options.xml b/res/xml/gsm_umts_options.xml
index 3f85ea8..86fe41d 100644
--- a/res/xml/gsm_umts_options.xml
+++ b/res/xml/gsm_umts_options.xml
@@ -31,11 +31,6 @@
         android:title="@string/networks"
         android:summary="@string/sum_carrier_select"
         android:persistent="false">
-
-        <intent android:action="android.intent.action.MAIN"
-            android:targetPackage="com.android.phone"
-            android:targetClass="com.android.phone.NetworkSetting" />
-
     </PreferenceScreen>
 
     <PreferenceScreen
diff --git a/sip/res/values-bg/strings.xml b/sip/res/values-bg/strings.xml
index b465464..7e5ac23 100644
--- a/sip/res/values-bg/strings.xml
+++ b/sip/res/values-bg/strings.xml
@@ -59,7 +59,7 @@
     <string name="transport_title" msgid="889155457465372527">"Тип транспорт"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Изпращане на съобщение за проверка на връзката"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Незадължителни настройки"</string>
-    <string name="auth_username_title" msgid="8262491689004708265">"Потребителско име за удостоверяване"</string>
+    <string name="auth_username_title" msgid="8262491689004708265">"Потребит. име за удостоверяване"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Потребителско име, използвано за удостоверяване"</string>
     <string name="default_preference_summary" msgid="1979249643719483249">"&lt;Не е зададено&gt;"</string>
     <string name="display_name_summary" msgid="7155076491675565407">"&lt;Същото като потребителското име&gt;"</string>
diff --git a/sip/res/values-fa/strings.xml b/sip/res/values-fa/strings.xml
index 00c5414..b35a965 100644
--- a/sip/res/values-fa/strings.xml
+++ b/sip/res/values-fa/strings.xml
@@ -20,7 +20,7 @@
     <string name="sip_accounts" msgid="85559497282185405">"‏حساب‌های SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"حساب‌ها"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"دریافت تماس‌های ورودی"</string>
-    <string name="sip_receive_calls_summary" msgid="946161517528227523">"از نیروی باتری بیشتری استفاده می‌کند"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"از باتری بیشتری استفاده می‌کند"</string>
     <string name="sip_call_options_title" msgid="8421210494703869806">"‏استفاده از تماس SIP"</string>
     <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"‏استفاده از تماس SIP (فقط Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"برای همه تماس‌ها وقتی شبکه داده در دسترس است"</string>
@@ -65,7 +65,7 @@
     <string name="display_name_summary" msgid="7155076491675565407">"‏&lt;مانند نام کاربری&gt;"</string>
     <string name="optional_summary" msgid="2363105560396317624">"‏&lt;اختیاری&gt;"</string>
     <string name="advanced_settings_show" msgid="7838761602853998622">"▷ جهت نمایش همه لمس کنید"</string>
-    <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ جهت پنهان کردن همه لمس کنید"</string>
+    <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ برای پنهان کردن همه لمس کنید"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ضروری است و نباید خالی بماند."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"شماره درگاه باید بین ۱۰۰۰ و ۶۵۵۳۴ باشد."</string>
     <string name="no_internet_available" msgid="5523747991760017298">"‏برای برقراری تماس SIP، ابتدا اتصال اینترنتتان را بررسی کنید."</string>
diff --git a/sip/res/values-gu-rIN/strings.xml b/sip/res/values-gu-rIN/strings.xml
index f1a5bca..40619d5 100644
--- a/sip/res/values-gu-rIN/strings.xml
+++ b/sip/res/values-gu-rIN/strings.xml
@@ -57,7 +57,7 @@
     <string name="proxy_address_title" msgid="6890163365640631841">"આઉટબાઉન્ડ પ્રોક્સી સરનામું"</string>
     <string name="port_title" msgid="6693965912656593862">"પોર્ટ નંબર"</string>
     <string name="transport_title" msgid="889155457465372527">"સંક્રમણ પ્રકાર"</string>
-    <string name="send_keepalive_title" msgid="599627072150501159">"જીવંત-રાખો મોકલો"</string>
+    <string name="send_keepalive_title" msgid="599627072150501159">"કીપ-અલાઇવ મોકલો"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"વૈકલ્પિક સેટિંગ્સ"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"પ્રમાણીકરણ વપરાશકર્તાનામ"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"પ્રમાણીકરણ માટે ઉપયોગમાં લેવાયેલ વપરાશકર્તાનામ"</string>
diff --git a/sip/res/values-kn-rIN/strings.xml b/sip/res/values-kn-rIN/strings.xml
index 0e89dd2..8d95917 100644
--- a/sip/res/values-kn-rIN/strings.xml
+++ b/sip/res/values-kn-rIN/strings.xml
@@ -47,7 +47,7 @@
     <string name="registration_status_failed_try_later" msgid="2199970021756384317">"ಖಾತೆ ನೋಂದಣಿಯು ಯಶಸ್ವಿಯಾಗಿಲ್ಲ: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); ನಂತರ ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ"</string>
     <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"ಖಾತೆ ನೋಂದಣಿಯು ಯಶಸ್ವಿಯಾಗಲಿಲ್ಲ: ಬಳಕೆದಾರರ ಹೆಸರು ಅಥವಾ ಪಾಸ್‌ವರ್ಡ್‌ ತಪ್ಪಾಗಿದೆ."</string>
     <string name="registration_status_server_unreachable" msgid="7710275557045148634">"ಖಾತೆ ನೋಂದಣಿಯು ಯಶಸ್ವಿಯಾಗಲಿಲ್ಲ: ಸರ್ವರ್‌ ಹೆಸರನ್ನು ಪರಿಶೀಲಿಸಿ."</string>
-    <string name="third_party_account_summary" msgid="9041060473615403041">"ಈ ಖಾತೆಯನ್ನು ಪ್ರಸ್ತುತವಾಗಿ <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ಅಪ್ಲಿಕೇಶನ್‌ ಬಳಸುತ್ತಿದೆ."</string>
+    <string name="third_party_account_summary" msgid="9041060473615403041">"ಈ ಖಾತೆಯನ್ನು ಪ್ರಸ್ತುತ <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ಅಪ್ಲಿಕೇಶನ್‌ ಬಳಸುತ್ತಿದೆ."</string>
     <string name="sip_edit_title" msgid="1967247832635750410">"SIP ಖಾತೆ ವಿವರಗಳು"</string>
     <string name="sip_edit_new_title" msgid="266414118302574305">"SIP ಖಾತೆ ವಿವರಗಳು"</string>
     <string name="domain_address_title" msgid="1968479941328225423">"ಸರ್ವರ್"</string>
diff --git a/sip/res/values-ko/strings.xml b/sip/res/values-ko/strings.xml
index af1ed43..0f5b7db 100644
--- a/sip/res/values-ko/strings.xml
+++ b/sip/res/values-ko/strings.xml
@@ -48,8 +48,8 @@
     <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"계정을 등록하지 못했습니다. 사용자 이름 또는 비밀번호가 잘못되었습니다."</string>
     <string name="registration_status_server_unreachable" msgid="7710275557045148634">"계정을 등록하지 못했습니다. 서버 이름을 확인하세요."</string>
     <string name="third_party_account_summary" msgid="9041060473615403041">"<xliff:g id="ACCOUNT_OWNER">%s</xliff:g> 앱에서 현재 이 계정을 사용 중입니다."</string>
-    <string name="sip_edit_title" msgid="1967247832635750410">"SIP 계정 세부정보"</string>
-    <string name="sip_edit_new_title" msgid="266414118302574305">"SIP 계정 세부정보"</string>
+    <string name="sip_edit_title" msgid="1967247832635750410">"SIP 계정 정보"</string>
+    <string name="sip_edit_new_title" msgid="266414118302574305">"SIP 계정 정보"</string>
     <string name="domain_address_title" msgid="1968479941328225423">"서버"</string>
     <string name="username_title" msgid="6770064611005663470">"사용자 이름"</string>
     <string name="password_title" msgid="5289013731515564295">"비밀번호"</string>
diff --git a/sip/res/values-ml-rIN/strings.xml b/sip/res/values-ml-rIN/strings.xml
index 87e2549..85b99aa 100644
--- a/sip/res/values-ml-rIN/strings.xml
+++ b/sip/res/values-ml-rIN/strings.xml
@@ -22,7 +22,7 @@
     <string name="sip_receive_calls" msgid="426678617137462173">"ഇൻകമിംഗ് കോൾ സ്വീകരിക്കൂ"</string>
     <string name="sip_receive_calls_summary" msgid="946161517528227523">"കൂടുതൽ ബാറ്ററി ആയുസ് ഉപയോഗിക്കുന്നു"</string>
     <string name="sip_call_options_title" msgid="8421210494703869806">"SIP കോൾചെയ്യൽ ഉപയോഗിക്കുക"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP കോൾചെയ്യൽ ഉപയോഗിക്കുക (Wi-Fi മാത്രം)"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP കോൾചെയ്യൽ ഉപയോഗിക്കുക (വൈഫൈ മാത്രം)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"ഡാറ്റ നെറ്റ്‌വർക്ക് ലഭ്യമാകുമ്പോൾ എല്ലാ കോളുകൾക്കായും"</string>
     <string name="sip_call_options_entry_2" msgid="1815335903940609729">"SIP കോളുകൾക്ക് മാത്രം"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"എല്ലാ കോളുകൾക്കും"</string>
@@ -41,7 +41,7 @@
     <string name="registration_status_still_trying" msgid="7648151061205513458">"ഇപ്പോഴും ശ്രമിക്കുന്നു…"</string>
     <string name="registration_status_not_receiving" msgid="7620333886153361090">"കോളുകൾ സ്വീകരിക്കുന്നില്ല."</string>
     <string name="registration_status_no_data" msgid="2541999976218192413">"ഇന്റർനെറ്റ് കണക്ഷനില്ലാത്താതിനാൽ അക്കൗണ്ട് രജിസ്ട്രേഷൻ നിർത്തിവച്ചു."</string>
-    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"Wi-Fi കണക്ഷനില്ലാത്താതിനാൽ അക്കൗണ്ട് രജിസ്ട്രേഷൻ നിർത്തിവച്ചു."</string>
+    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"വൈഫൈ കണക്ഷനില്ലാത്താതിനാൽ അക്കൗണ്ട് രജിസ്ട്രേഷൻ നിർത്തിവച്ചു."</string>
     <string name="registration_status_not_running" msgid="514205414303796800">"അക്കൗണ്ട് രജിസ്ട്രേഷൻ പരാജയപ്പെട്ടു."</string>
     <string name="registration_status_done" msgid="3264961069247314253">"കോളുകൾ സ്വീകരിക്കുന്നു."</string>
     <string name="registration_status_failed_try_later" msgid="2199970021756384317">"അക്കൗണ്ട് രജിസ്‌ട്രേഷൻ പരാജയപ്പെട്ടു: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); പിന്നീട് വീണ്ടും ശ്രമിക്കും"</string>
@@ -69,7 +69,7 @@
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ആവശ്യമായതിനാൽ ശൂന്യമായിടാനാകില്ല."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"പോർട്ട് നമ്പർ 1000, 65534 എന്നിവയ്‌ക്കിടയിലായിരിക്കണം."</string>
     <string name="no_internet_available" msgid="5523747991760017298">"SIP കോൾചെയ്യുന്നതിന്, ആദ്യം നിങ്ങളുടെ ഇന്റർനെറ്റ് കണക്ഷൻ പരിശോധിക്കുക."</string>
-    <string name="no_wifi_available" msgid="1955023904229673488">"SIP കോളുകൾക്കായി Wi-Fi നെറ്റ്‌വർക്കിലേക്ക് കണക്‌റ്റുചെയ്യേണ്ടതുണ്ട് (വയർലെസ്, നെറ്റ്‌വർക്ക് ക്രമീകരണങ്ങൾ ഉപയോഗിക്കുക)."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP കോളുകൾക്കായി വൈഫൈ നെറ്റ്‌വർക്കിലേക്ക് കണക്‌റ്റുചെയ്യേണ്ടതുണ്ട് (വയർലെസ്, നെറ്റ്‌വർക്ക് ക്രമീകരണങ്ങൾ ഉപയോഗിക്കുക)."</string>
     <string name="no_voip" msgid="3038021971231952704">"SIP കോൾചെയ്യൽ പിന്തുണയ്‌ക്കുന്നില്ല"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"യാന്ത്രികമായി"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"എല്ലായ്പ്പോഴും അയയ്‌ക്കുക"</string>
diff --git a/sip/res/values-mr-rIN/strings.xml b/sip/res/values-mr-rIN/strings.xml
index 59da732..66914f2 100644
--- a/sip/res/values-mr-rIN/strings.xml
+++ b/sip/res/values-mr-rIN/strings.xml
@@ -21,8 +21,8 @@
     <string name="sip_accounts_title" msgid="2082527045326874519">"खाती"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"येणारे कॉल प्राप्त करा"</string>
     <string name="sip_receive_calls_summary" msgid="946161517528227523">"अधिक बॅटरी आयुष्‍य वापरते"</string>
-    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP कॉल करणे वापरा"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP कॉल करणे वापरा (वाय-फाय केवळ)"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP कॉलिंग वापरा"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP कॉलिंग वापरा (वाय-फाय केवळ)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"डेटा नेटवर्क उपलब्ध असल्यावर सर्व कॉलसाठी"</string>
     <string name="sip_call_options_entry_2" msgid="1815335903940609729">"केवळ SIP कॉलसाठी"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"सर्व कॉलसाठी"</string>
diff --git a/sip/res/values-ms-rMY/strings.xml b/sip/res/values-ms-rMY/strings.xml
index f41589e..b42068b 100644
--- a/sip/res/values-ms-rMY/strings.xml
+++ b/sip/res/values-ms-rMY/strings.xml
@@ -19,7 +19,7 @@
     <string name="sip_settings" msgid="3768482698061677257">"Tetapan SIP"</string>
     <string name="sip_accounts" msgid="85559497282185405">"Akaun SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Akaun"</string>
-    <string name="sip_receive_calls" msgid="426678617137462173">"Menerima panggilan masuk"</string>
+    <string name="sip_receive_calls" msgid="426678617137462173">"Terima panggilan masuk"</string>
     <string name="sip_receive_calls_summary" msgid="946161517528227523">"Menggunakan lebih hayat bateri"</string>
     <string name="sip_call_options_title" msgid="8421210494703869806">"Gunakan panggilan SIP"</string>
     <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Gunakan panggilan SIP (Wi-Fi sahaja)"</string>
diff --git a/sip/res/values-pl/strings.xml b/sip/res/values-pl/strings.xml
index d00c723..47aa286 100644
--- a/sip/res/values-pl/strings.xml
+++ b/sip/res/values-pl/strings.xml
@@ -20,11 +20,11 @@
     <string name="sip_accounts" msgid="85559497282185405">"Konta SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Konta"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Odbieraj przychodzące"</string>
-    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Zużywa więcej energii baterii"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Skraca czas pracy baterii"</string>
     <string name="sip_call_options_title" msgid="8421210494703869806">"Użyj połączenia SIP"</string>
     <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Użyj połączenia SIP (tylko przez Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Przy wszystkich połączeniach, gdy sieć transmisji danych jest dostępna"</string>
-    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Tylko do połączeń SIP"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Tylko połączenia SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Wszystkie połączenia"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Dodaj konto"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Usuń konto"</string>
@@ -48,8 +48,8 @@
     <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"Rejestracja konta nie powiodła się: nieprawidłowa nazwa użytkownika lub hasło."</string>
     <string name="registration_status_server_unreachable" msgid="7710275557045148634">"Rejestracja konta nie powiodła się: sprawdź nazwę serwera."</string>
     <string name="third_party_account_summary" msgid="9041060473615403041">"To konto jest obecnie używane przez aplikację <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="1967247832635750410">"Szczegóły konta SIP"</string>
-    <string name="sip_edit_new_title" msgid="266414118302574305">"Szczegóły konta SIP"</string>
+    <string name="sip_edit_title" msgid="1967247832635750410">"Dane konta SIP"</string>
+    <string name="sip_edit_new_title" msgid="266414118302574305">"Dane konta SIP"</string>
     <string name="domain_address_title" msgid="1968479941328225423">"Serwer"</string>
     <string name="username_title" msgid="6770064611005663470">"Nazwa użytkownika"</string>
     <string name="password_title" msgid="5289013731515564295">"Hasło"</string>
diff --git a/sip/res/values-tl/strings.xml b/sip/res/values-tl/strings.xml
index f6b608a..893421a 100644
--- a/sip/res/values-tl/strings.xml
+++ b/sip/res/values-tl/strings.xml
@@ -19,10 +19,10 @@
     <string name="sip_settings" msgid="3768482698061677257">"Mga setting ng SIP"</string>
     <string name="sip_accounts" msgid="85559497282185405">"Mga SIP account"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Mga Account"</string>
-    <string name="sip_receive_calls" msgid="426678617137462173">"Tumanggap ng mga papasok na tawag"</string>
+    <string name="sip_receive_calls" msgid="426678617137462173">"Tumanggap ng papasok na tawag"</string>
     <string name="sip_receive_calls_summary" msgid="946161517528227523">"Gumagamit ng higit na baterya"</string>
-    <string name="sip_call_options_title" msgid="8421210494703869806">"Gamitin ang pagtawag sa pamamagitan ng SIP"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Gamitin ang pagtawag sa pamamagitan ng SIP (Wi-Fi lang)"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Gamitin ang SIP calling"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Gamitin ang SIP calling (Wi-Fi lang)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Para sa lahat ng mga tawag kapag available ang data network"</string>
     <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Para lang sa mga tawag sa pamamagitan ng SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Para sa lahat ng tawag"</string>
@@ -48,8 +48,8 @@
     <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"Hindi matagumpay ang pagpaparehistro ng account: Maling username o password."</string>
     <string name="registration_status_server_unreachable" msgid="7710275557045148634">"Nabigo ang pagpaparehistro ng account: Tingnan ang pangalan ng server."</string>
     <string name="third_party_account_summary" msgid="9041060473615403041">"Kasalukuyang ginagamit ang account na ito ng app ng <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
-    <string name="sip_edit_title" msgid="1967247832635750410">"Mga detalye ng SIP account"</string>
-    <string name="sip_edit_new_title" msgid="266414118302574305">"Mga detalye ng SIP account"</string>
+    <string name="sip_edit_title" msgid="1967247832635750410">"Detalye ng SIP account"</string>
+    <string name="sip_edit_new_title" msgid="266414118302574305">"Detalye ng SIP account"</string>
     <string name="domain_address_title" msgid="1968479941328225423">"Server"</string>
     <string name="username_title" msgid="6770064611005663470">"Username"</string>
     <string name="password_title" msgid="5289013731515564295">"Password"</string>
diff --git a/sip/res/values-zh-rCN/strings.xml b/sip/res/values-zh-rCN/strings.xml
index 2d073c1..db7c44f 100644
--- a/sip/res/values-zh-rCN/strings.xml
+++ b/sip/res/values-zh-rCN/strings.xml
@@ -48,8 +48,8 @@
     <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"帐户注册失败：用户名或密码有误。"</string>
     <string name="registration_status_server_unreachable" msgid="7710275557045148634">"帐户注册失败：请检查服务器名称。"</string>
     <string name="third_party_account_summary" msgid="9041060473615403041">"<xliff:g id="ACCOUNT_OWNER">%s</xliff:g>应用目前正在使用此帐户。"</string>
-    <string name="sip_edit_title" msgid="1967247832635750410">"互联网电话帐户详情"</string>
-    <string name="sip_edit_new_title" msgid="266414118302574305">"互联网电话帐户详情"</string>
+    <string name="sip_edit_title" msgid="1967247832635750410">"SIP 帐户详情"</string>
+    <string name="sip_edit_new_title" msgid="266414118302574305">"SIP 帐户详情"</string>
     <string name="domain_address_title" msgid="1968479941328225423">"服务器"</string>
     <string name="username_title" msgid="6770064611005663470">"用户名"</string>
     <string name="password_title" msgid="5289013731515564295">"密码"</string>
diff --git a/src/com/android/phone/GsmUmtsOptions.java b/src/com/android/phone/GsmUmtsOptions.java
index d12bac9..2e9d88a 100644
--- a/src/com/android/phone/GsmUmtsOptions.java
+++ b/src/com/android/phone/GsmUmtsOptions.java
@@ -25,6 +25,7 @@
 import android.preference.PreferenceScreen;
 import android.provider.Settings;
 import android.telephony.CarrierConfigManager;
+import android.content.ComponentName;
 
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.PhoneFactory;
@@ -41,6 +42,7 @@
     private static final String BUTTON_APN_EXPAND_KEY = "button_apn_key";
     private static final String BUTTON_OPERATOR_SELECTION_EXPAND_KEY = "button_carrier_sel_key";
     private static final String BUTTON_CARRIER_SETTINGS_KEY = "carrier_settings_key";
+    public static final String EXTRA_SUB_ID = "sub_id";
     private PreferenceActivity mPrefActivity;
     private PreferenceScreen mPrefScreen;
     private int mSubId;
@@ -117,7 +119,21 @@
                             final Intent intent = new Intent(Settings.ACTION_APN_SETTINGS);
                             // This will setup the Home and Search affordance
                             intent.putExtra(":settings:show_fragment_as_subsetting", true);
-                            intent.putExtra("sub_id", mSubId);
+                            intent.putExtra(EXTRA_SUB_ID, mSubId);
+                            mPrefActivity.startActivity(intent);
+                            return true;
+                        }
+            });
+        }
+        if (mPrefScreen.findPreference(BUTTON_OPERATOR_SELECTION_EXPAND_KEY) != null) {
+            mButtonOperatorSelectionExpand.setOnPreferenceClickListener(
+                    new Preference.OnPreferenceClickListener() {
+                        @Override
+                        public boolean onPreferenceClick(Preference preference) {
+                            final Intent intent = new Intent(Intent.ACTION_MAIN);
+                            intent.setComponent(new ComponentName("com.android.phone",
+                                    "com.android.phone.NetworkSetting"));
+                            intent.putExtra(EXTRA_SUB_ID, mSubId);
                             mPrefActivity.startActivity(intent);
                             return true;
                         }
diff --git a/src/com/android/phone/INetworkQueryService.aidl b/src/com/android/phone/INetworkQueryService.aidl
index 0733d73..81eb8e6 100644
--- a/src/com/android/phone/INetworkQueryService.aidl
+++ b/src/com/android/phone/INetworkQueryService.aidl
@@ -33,7 +33,7 @@
      * then just add the callback to the list of notifications
      * that will be sent upon query completion.
      */
-    void startNetworkQuery(in INetworkQueryServiceCallback cb);
+    void startNetworkQuery(in INetworkQueryServiceCallback cb, in int phoneId);
 
     /**
      * Tells the service that the requested query is to be ignored.
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
index bcb627e..ad9032f 100644
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -288,7 +288,7 @@
                 if (DBG) log("initializeSubscriptions: UPDATE");
                 currentTab = mTabHost != null ? mTabHost.getCurrentTab() : 0;
 
-                setContentView(R.layout.network_settings);
+                setContentView(com.android.internal.R.layout.common_tab_settings);
 
                 mTabHost = (TabHost) findViewById(android.R.id.tabhost);
                 mTabHost.setup();
@@ -327,7 +327,7 @@
                     mTabHost.clearAllTabs();
                     mTabHost = null;
                 }
-                setContentView(R.layout.network_settings);
+                setContentView(com.android.internal.R.layout.common_tab_settings);
                 break;
             }
             case DO_NOTHING: {
diff --git a/src/com/android/phone/NetworkQueryService.java b/src/com/android/phone/NetworkQueryService.java
index b38b110..1a497b4 100644
--- a/src/com/android/phone/NetworkQueryService.java
+++ b/src/com/android/phone/NetworkQueryService.java
@@ -57,9 +57,6 @@
     /** state of the query service */
     private int mState;
     
-    /** local handle to the phone object */
-    private Phone mPhone;
-    
     /**
      * Class for clients to access.  Because we know this service always
      * runs in the same process as its clients, we don't need to deal with
@@ -109,7 +106,7 @@
          * callback object in the queue to be notified upon request 
          * completion.
          */
-        public void startNetworkQuery(INetworkQueryServiceCallback cb) {
+        public void startNetworkQuery(INetworkQueryServiceCallback cb, int phoneId) {
             if (cb != null) {
                 // register the callback to the list of callbacks.
                 synchronized (mCallbacks) {
@@ -120,10 +117,17 @@
                         case QUERY_READY:
                             // TODO: we may want to install a timeout here in case we
                             // do not get a timely response from the RIL.
-                            mPhone.getAvailableNetworks(
-                                    mHandler.obtainMessage(EVENT_NETWORK_SCAN_COMPLETED));
-                            mState = QUERY_IS_RUNNING;
-                            if (DBG) log("starting new query");
+                            Phone phone = PhoneFactory.getPhone(phoneId);
+                            if (phone != null) {
+                                phone.getAvailableNetworks(
+                                        mHandler.obtainMessage(EVENT_NETWORK_SCAN_COMPLETED));
+                                mState = QUERY_IS_RUNNING;
+                                if (DBG) log("starting new query");
+                            } else {
+                                if (DBG) {
+                                    log("phone is null");
+                                }
+                            }
                             break;
                             
                         // do nothing if we're currently busy.
@@ -166,8 +170,6 @@
     @Override
     public void onCreate() {
         mState = QUERY_READY;        
-        mPhone = PhoneFactory.getPhone(
-                SubscriptionManager.getPhoneId(SubscriptionManager.getDefaultSubId()));
     }
 
     /**
diff --git a/src/com/android/phone/NetworkSetting.java b/src/com/android/phone/NetworkSetting.java
index 5925b0f..392db56 100644
--- a/src/com/android/phone/NetworkSetting.java
+++ b/src/com/android/phone/NetworkSetting.java
@@ -36,9 +36,11 @@
 import android.preference.PreferenceScreen;
 import android.text.TextUtils;
 import android.util.Log;
+import android.telephony.SubscriptionManager;
 
 import com.android.internal.telephony.CommandException;
 import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.OperatorInfo;
 
 import java.util.HashMap;
@@ -70,7 +72,7 @@
     //map of network controls to the network data.
     private HashMap<Preference, OperatorInfo> mNetworkMap;
 
-    Phone mPhone;
+    int mPhoneId = SubscriptionManager.INVALID_PHONE_INDEX;
     protected boolean mIsForeground = false;
 
     private UserManager mUm;
@@ -107,9 +109,6 @@
                         displayNetworkSelectionSucceeded();
                     }
 
-                    // update the phone in case replaced as part of selection
-                    mPhone = PhoneGlobals.getPhone();
-
                     break;
                 case EVENT_AUTO_SELECT_DONE:
                     if (DBG) log("hideProgressPanel");
@@ -135,9 +134,6 @@
                         displayNetworkSelectionSucceeded();
                     }
 
-                    // update the phone in case replaced as part of selection
-                    mPhone = PhoneGlobals.getPhone();
-
                     break;
             }
 
@@ -204,11 +200,16 @@
             if (DBG) log("selected network: " + networkStr);
 
             Message msg = mHandler.obtainMessage(EVENT_NETWORK_SELECTION_DONE);
-            mPhone.selectNetworkManually(mNetworkMap.get(selectedCarrier), msg);
+            Phone phone = PhoneFactory.getPhone(mPhoneId);
+            if (phone != null) {
+                phone.selectNetworkManually(mNetworkMap.get(selectedCarrier), msg);
+                displayNetworkSeletionInProgress(networkStr);
+                handled = true;
+            } else {
+                log("Error selecting network. phone is null.");
+            }
 
-            displayNetworkSeletionInProgress(networkStr);
 
-            handled = true;
         }
 
         return handled;
@@ -246,7 +247,14 @@
 
         addPreferencesFromResource(R.xml.carrier_select);
 
-        mPhone = PhoneGlobals.getPhone();
+        int subId;
+        Intent intent = getIntent();
+        if (intent != null && intent.getExtras() != null) {
+            subId = intent.getExtras().getInt(GsmUmtsOptions.EXTRA_SUB_ID);
+            if (SubscriptionManager.isValidSubscriptionId(subId)) {
+                mPhoneId = SubscriptionManager.getPhoneId(subId);
+            }
+        }
 
         mNetworkList = (PreferenceGroup) getPreferenceScreen().findPreference(LIST_NETWORKS_KEY);
         mNetworkMap = new HashMap<Preference, OperatorInfo>();
@@ -402,7 +410,7 @@
 
         // delegate query request to the service.
         try {
-            mNetworkQueryService.startNetworkQuery(mCallback);
+            mNetworkQueryService.startNetworkQuery(mCallback, mPhoneId);
         } catch (RemoteException e) {
             log("loadNetworksList: exception from startNetworkQuery " + e);
             if (mIsForeground) {
@@ -511,7 +519,10 @@
         }
 
         Message msg = mHandler.obtainMessage(EVENT_AUTO_SELECT_DONE);
-        mPhone.setNetworkSelectionModeAutomatic(msg);
+        Phone phone = PhoneFactory.getPhone(mPhoneId);
+        if (phone != null) {
+            phone.setNetworkSelectionModeAutomatic(msg);
+        }
     }
 
     private void log(String msg) {
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index 885b797..c579fe0 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -573,6 +573,7 @@
         // Use NetworkSetting to handle the selection intent
         intent.setComponent(new ComponentName("com.android.phone",
                 "com.android.phone.NetworkSetting"));
+        intent.putExtra(GsmUmtsOptions.EXTRA_SUB_ID, mPhone.getSubId());
         PendingIntent contentIntent = PendingIntent.getActivity(mContext, 0, intent, 0);
 
         List<UserInfo> users = mUserManager.getUsers(true);
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index 4fca2ea..1faf0ee 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -671,7 +671,7 @@
         synchronized (this) {
             if (mWakeState == WakeState.SLEEP) {
                 if (DBG) Log.d(LOG_TAG, "pulse screen lock");
-                mPowerManager.wakeUp(SystemClock.uptimeMillis());
+                mPowerManager.wakeUp(SystemClock.uptimeMillis(), "android.phone:WAKE");
             }
         }
     }
diff --git a/src/com/android/phone/vvm/omtp/SimChangeReceiver.java b/src/com/android/phone/vvm/omtp/SimChangeReceiver.java
index 5ffc9ea..0b92c59 100644
--- a/src/com/android/phone/vvm/omtp/SimChangeReceiver.java
+++ b/src/com/android/phone/vvm/omtp/SimChangeReceiver.java
@@ -18,6 +18,7 @@
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
+import android.os.UserHandle;
 import android.telecom.PhoneAccountHandle;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
@@ -43,6 +44,11 @@
 
     @Override
     public void onReceive(Context context, Intent intent) {
+        if (UserHandle.myUserId() != UserHandle.USER_OWNER) {
+            Log.v(TAG, "Received broadcast for user that is not owner.");
+            return;
+        }
+
         final String action = intent.getAction();
         if (action == null) {
             Log.w(TAG, "Null action for intent.");
diff --git a/src/com/android/services/telephony/ImsConference.java b/src/com/android/services/telephony/ImsConference.java
index 6c4f48e..3dbf459 100644
--- a/src/com/android/services/telephony/ImsConference.java
+++ b/src/com/android/services/telephony/ImsConference.java
@@ -228,7 +228,10 @@
 
         // Specify the connection time of the conference to be the connection time of the original
         // connection.
-        setConnectTimeMillis(conferenceHost.getOriginalConnection().getConnectTime());
+        long connectTime = conferenceHost.getOriginalConnection().getConnectTime();
+        setConnectTimeMillis(connectTime);
+        // Set the connectTime in the connection as well.
+        conferenceHost.setConnectTimeMillis(connectTime);
 
         mTelephonyConnectionService = telephonyConnectionService;
         setConferenceHost(conferenceHost);
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index d04a2a5..cbe7c0a 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -588,10 +588,14 @@
      */
     void clearOriginalConnection() {
         if (mOriginalConnection != null) {
-            getPhone().unregisterForPreciseCallStateChanged(mHandler);
-            getPhone().unregisterForRingbackTone(mHandler);
-            getPhone().unregisterForHandoverStateChanged(mHandler);
-            getPhone().unregisterForDisconnect(mHandler);
+            if (getPhone() != null) {
+                getPhone().unregisterForPreciseCallStateChanged(mHandler);
+                getPhone().unregisterForRingbackTone(mHandler);
+                getPhone().unregisterForHandoverStateChanged(mHandler);
+                getPhone().unregisterForDisconnect(mHandler);
+            }
+            mOriginalConnection.removePostDialListener(mPostDialListener);
+            mOriginalConnection.removeListener(mOriginalConnectionListener);
             mOriginalConnection = null;
         }
     }
@@ -816,12 +820,7 @@
 
     private void close() {
         Log.v(this, "close");
-        if (getPhone() != null) {
-            getPhone().unregisterForPreciseCallStateChanged(mHandler);
-            getPhone().unregisterForRingbackTone(mHandler);
-            getPhone().unregisterForHandoverStateChanged(mHandler);
-        }
-        mOriginalConnection = null;
+        clearOriginalConnection();
         destroy();
     }
 
