diff --git a/InCallUI/res/values-en-rAU/strings.xml b/InCallUI/res/values-en-rAU/strings.xml
index 8423b8a..380a204 100644
--- a/InCallUI/res/values-en-rAU/strings.xml
+++ b/InCallUI/res/values-en-rAU/strings.xml
@@ -49,8 +49,7 @@
     <string name="card_title_video_call" msgid="5898636679563320218">"Video call"</string>
     <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Requesting video"</string>
     <string name="card_title_video_call_error" msgid="9000555878389539225">"Can\'t connect video call"</string>
-    <!-- no translation found for card_title_video_call_paused (3753261320787432731) -->
-    <skip />
+    <string name="card_title_video_call_paused" msgid="3753261320787432731">"Video call (Paused)"</string>
     <string name="card_title_callback_number" msgid="7307938207564217293">"Your callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
     <string name="card_title_callback_number_emergency" msgid="8634765419223426754">"Your emergency callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
     <string name="notification_dialing" msgid="2107666444937350731">"Dialling"</string>
@@ -104,8 +103,7 @@
     <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Add call"</string>
     <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Merge calls"</string>
     <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Swap calls"</string>
-    <!-- no translation found for overflowManageConferenceMenuItemText (1751081566617967119) -->
-    <skip />
+    <string name="overflowManageConferenceMenuItemText" msgid="1751081566617967119">"Manage Conference"</string>
     <string name="onscreenHoldText" msgid="2285258239691145872">"Hold"</string>
     <string name="onscreenEndCallText" msgid="4403855834875398585">"End"</string>
     <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Dial pad"</string>
@@ -121,18 +119,12 @@
     <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Switch camera"</string>
     <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pause video"</string>
     <string name="onscreenOverflowText" msgid="2702376562345723132">"More options"</string>
-    <!-- no translation found for video_call_not_allowed_if_tty_enabled (122020626761012211) -->
-    <skip />
-    <!-- no translation found for player_started (6046262510243983589) -->
-    <skip />
-    <!-- no translation found for player_stopped (8856926759436364963) -->
-    <skip />
-    <!-- no translation found for camera_not_ready (4955261496193316240) -->
-    <skip />
-    <!-- no translation found for camera_ready (1903335385405807324) -->
-    <skip />
-    <!-- no translation found for unknown_call_session_event (2431061946920253582) -->
-    <skip />
+    <string name="video_call_not_allowed_if_tty_enabled" msgid="122020626761012211">"Please disable TTY Mode to upgrade to video calls."</string>
+    <string name="player_started" msgid="6046262510243983589">"Player Started"</string>
+    <string name="player_stopped" msgid="8856926759436364963">"Player Stopped"</string>
+    <string name="camera_not_ready" msgid="4955261496193316240">"Camera not ready"</string>
+    <string name="camera_ready" msgid="1903335385405807324">"Camera ready"</string>
+    <string name="unknown_call_session_event" msgid="2431061946920253582">"Unknown call session event"</string>
     <string name="voicemail_provider" msgid="5135942703327136909">"Service"</string>
     <string name="voicemail_settings" msgid="72448049107749316">"Setup"</string>
     <string name="voicemail_number_not_set" msgid="6724904736891087856">"&lt;Not set&gt;"</string>
@@ -152,14 +144,10 @@
     <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Answer as audio call"</string>
     <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Accept video request"</string>
     <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Decline video request"</string>
-    <!-- no translation found for description_target_accept_upgrade_to_video_transmit_request (5311037889642077468) -->
-    <skip />
-    <!-- no translation found for description_target_decline_upgrade_to_video_transmit_request (3636108065510415975) -->
-    <skip />
-    <!-- no translation found for description_target_accept_upgrade_to_video_receive_request (8668058323593087912) -->
-    <skip />
-    <!-- no translation found for description_target_decline_upgrade_to_video_receive_request (2355776509656298367) -->
-    <skip />
+    <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="5311037889642077468">"Accept video transmit request"</string>
+    <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="3636108065510415975">"Decline video transmit request"</string>
+    <string name="description_target_accept_upgrade_to_video_receive_request" msgid="8668058323593087912">"Accept video receive request"</string>
+    <string name="description_target_decline_upgrade_to_video_receive_request" msgid="2355776509656298367">"Decline video receive request"</string>
     <string name="description_direction_up" msgid="4441409581444516690">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_direction_left" msgid="7129873384376533287">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_direction_right" msgid="2122584234531957308">"Slide right for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
diff --git a/InCallUI/res/values-en-rGB/strings.xml b/InCallUI/res/values-en-rGB/strings.xml
index 8423b8a..380a204 100644
--- a/InCallUI/res/values-en-rGB/strings.xml
+++ b/InCallUI/res/values-en-rGB/strings.xml
@@ -49,8 +49,7 @@
     <string name="card_title_video_call" msgid="5898636679563320218">"Video call"</string>
     <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Requesting video"</string>
     <string name="card_title_video_call_error" msgid="9000555878389539225">"Can\'t connect video call"</string>
-    <!-- no translation found for card_title_video_call_paused (3753261320787432731) -->
-    <skip />
+    <string name="card_title_video_call_paused" msgid="3753261320787432731">"Video call (Paused)"</string>
     <string name="card_title_callback_number" msgid="7307938207564217293">"Your callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
     <string name="card_title_callback_number_emergency" msgid="8634765419223426754">"Your emergency callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
     <string name="notification_dialing" msgid="2107666444937350731">"Dialling"</string>
@@ -104,8 +103,7 @@
     <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Add call"</string>
     <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Merge calls"</string>
     <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Swap calls"</string>
-    <!-- no translation found for overflowManageConferenceMenuItemText (1751081566617967119) -->
-    <skip />
+    <string name="overflowManageConferenceMenuItemText" msgid="1751081566617967119">"Manage Conference"</string>
     <string name="onscreenHoldText" msgid="2285258239691145872">"Hold"</string>
     <string name="onscreenEndCallText" msgid="4403855834875398585">"End"</string>
     <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Dial pad"</string>
@@ -121,18 +119,12 @@
     <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Switch camera"</string>
     <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pause video"</string>
     <string name="onscreenOverflowText" msgid="2702376562345723132">"More options"</string>
-    <!-- no translation found for video_call_not_allowed_if_tty_enabled (122020626761012211) -->
-    <skip />
-    <!-- no translation found for player_started (6046262510243983589) -->
-    <skip />
-    <!-- no translation found for player_stopped (8856926759436364963) -->
-    <skip />
-    <!-- no translation found for camera_not_ready (4955261496193316240) -->
-    <skip />
-    <!-- no translation found for camera_ready (1903335385405807324) -->
-    <skip />
-    <!-- no translation found for unknown_call_session_event (2431061946920253582) -->
-    <skip />
+    <string name="video_call_not_allowed_if_tty_enabled" msgid="122020626761012211">"Please disable TTY Mode to upgrade to video calls."</string>
+    <string name="player_started" msgid="6046262510243983589">"Player Started"</string>
+    <string name="player_stopped" msgid="8856926759436364963">"Player Stopped"</string>
+    <string name="camera_not_ready" msgid="4955261496193316240">"Camera not ready"</string>
+    <string name="camera_ready" msgid="1903335385405807324">"Camera ready"</string>
+    <string name="unknown_call_session_event" msgid="2431061946920253582">"Unknown call session event"</string>
     <string name="voicemail_provider" msgid="5135942703327136909">"Service"</string>
     <string name="voicemail_settings" msgid="72448049107749316">"Setup"</string>
     <string name="voicemail_number_not_set" msgid="6724904736891087856">"&lt;Not set&gt;"</string>
@@ -152,14 +144,10 @@
     <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Answer as audio call"</string>
     <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Accept video request"</string>
     <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Decline video request"</string>
-    <!-- no translation found for description_target_accept_upgrade_to_video_transmit_request (5311037889642077468) -->
-    <skip />
-    <!-- no translation found for description_target_decline_upgrade_to_video_transmit_request (3636108065510415975) -->
-    <skip />
-    <!-- no translation found for description_target_accept_upgrade_to_video_receive_request (8668058323593087912) -->
-    <skip />
-    <!-- no translation found for description_target_decline_upgrade_to_video_receive_request (2355776509656298367) -->
-    <skip />
+    <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="5311037889642077468">"Accept video transmit request"</string>
+    <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="3636108065510415975">"Decline video transmit request"</string>
+    <string name="description_target_accept_upgrade_to_video_receive_request" msgid="8668058323593087912">"Accept video receive request"</string>
+    <string name="description_target_decline_upgrade_to_video_receive_request" msgid="2355776509656298367">"Decline video receive request"</string>
     <string name="description_direction_up" msgid="4441409581444516690">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_direction_left" msgid="7129873384376533287">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_direction_right" msgid="2122584234531957308">"Slide right for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
diff --git a/InCallUI/res/values-en-rIN/strings.xml b/InCallUI/res/values-en-rIN/strings.xml
index 8423b8a..380a204 100644
--- a/InCallUI/res/values-en-rIN/strings.xml
+++ b/InCallUI/res/values-en-rIN/strings.xml
@@ -49,8 +49,7 @@
     <string name="card_title_video_call" msgid="5898636679563320218">"Video call"</string>
     <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Requesting video"</string>
     <string name="card_title_video_call_error" msgid="9000555878389539225">"Can\'t connect video call"</string>
-    <!-- no translation found for card_title_video_call_paused (3753261320787432731) -->
-    <skip />
+    <string name="card_title_video_call_paused" msgid="3753261320787432731">"Video call (Paused)"</string>
     <string name="card_title_callback_number" msgid="7307938207564217293">"Your callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
     <string name="card_title_callback_number_emergency" msgid="8634765419223426754">"Your emergency callback number\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
     <string name="notification_dialing" msgid="2107666444937350731">"Dialling"</string>
@@ -104,8 +103,7 @@
     <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Add call"</string>
     <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Merge calls"</string>
     <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Swap calls"</string>
-    <!-- no translation found for overflowManageConferenceMenuItemText (1751081566617967119) -->
-    <skip />
+    <string name="overflowManageConferenceMenuItemText" msgid="1751081566617967119">"Manage Conference"</string>
     <string name="onscreenHoldText" msgid="2285258239691145872">"Hold"</string>
     <string name="onscreenEndCallText" msgid="4403855834875398585">"End"</string>
     <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Dial pad"</string>
@@ -121,18 +119,12 @@
     <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Switch camera"</string>
     <string name="onscreenPauseVideoText" msgid="5663965924921429203">"Pause video"</string>
     <string name="onscreenOverflowText" msgid="2702376562345723132">"More options"</string>
-    <!-- no translation found for video_call_not_allowed_if_tty_enabled (122020626761012211) -->
-    <skip />
-    <!-- no translation found for player_started (6046262510243983589) -->
-    <skip />
-    <!-- no translation found for player_stopped (8856926759436364963) -->
-    <skip />
-    <!-- no translation found for camera_not_ready (4955261496193316240) -->
-    <skip />
-    <!-- no translation found for camera_ready (1903335385405807324) -->
-    <skip />
-    <!-- no translation found for unknown_call_session_event (2431061946920253582) -->
-    <skip />
+    <string name="video_call_not_allowed_if_tty_enabled" msgid="122020626761012211">"Please disable TTY Mode to upgrade to video calls."</string>
+    <string name="player_started" msgid="6046262510243983589">"Player Started"</string>
+    <string name="player_stopped" msgid="8856926759436364963">"Player Stopped"</string>
+    <string name="camera_not_ready" msgid="4955261496193316240">"Camera not ready"</string>
+    <string name="camera_ready" msgid="1903335385405807324">"Camera ready"</string>
+    <string name="unknown_call_session_event" msgid="2431061946920253582">"Unknown call session event"</string>
     <string name="voicemail_provider" msgid="5135942703327136909">"Service"</string>
     <string name="voicemail_settings" msgid="72448049107749316">"Setup"</string>
     <string name="voicemail_number_not_set" msgid="6724904736891087856">"&lt;Not set&gt;"</string>
@@ -152,14 +144,10 @@
     <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Answer as audio call"</string>
     <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Accept video request"</string>
     <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Decline video request"</string>
-    <!-- no translation found for description_target_accept_upgrade_to_video_transmit_request (5311037889642077468) -->
-    <skip />
-    <!-- no translation found for description_target_decline_upgrade_to_video_transmit_request (3636108065510415975) -->
-    <skip />
-    <!-- no translation found for description_target_accept_upgrade_to_video_receive_request (8668058323593087912) -->
-    <skip />
-    <!-- no translation found for description_target_decline_upgrade_to_video_receive_request (2355776509656298367) -->
-    <skip />
+    <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="5311037889642077468">"Accept video transmit request"</string>
+    <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="3636108065510415975">"Decline video transmit request"</string>
+    <string name="description_target_accept_upgrade_to_video_receive_request" msgid="8668058323593087912">"Accept video receive request"</string>
+    <string name="description_target_decline_upgrade_to_video_receive_request" msgid="2355776509656298367">"Decline video receive request"</string>
     <string name="description_direction_up" msgid="4441409581444516690">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_direction_left" msgid="7129873384376533287">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_direction_right" msgid="2122584234531957308">"Slide right for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
diff --git a/InCallUI/res/values-tl/strings.xml b/InCallUI/res/values-tl/strings.xml
index 161bce6..02726be 100644
--- a/InCallUI/res/values-tl/strings.xml
+++ b/InCallUI/res/values-tl/strings.xml
@@ -49,8 +49,7 @@
     <string name="card_title_video_call" msgid="5898636679563320218">"Video call"</string>
     <string name="card_title_video_call_requesting" msgid="4587504939739340937">"Humihiling ng video"</string>
     <string name="card_title_video_call_error" msgid="9000555878389539225">"Hindi makakonekta sa video call"</string>
-    <!-- no translation found for card_title_video_call_paused (3753261320787432731) -->
-    <skip />
+    <string name="card_title_video_call_paused" msgid="3753261320787432731">"Video call (Naka-pause)"</string>
     <string name="card_title_callback_number" msgid="7307938207564217293">"Ang iyong numero ng callback\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
     <string name="card_title_callback_number_emergency" msgid="8634765419223426754">"Ang iyong emergency na numero ng callback\n <xliff:g id="DARK_NUMBER">%1$s</xliff:g>"</string>
     <string name="notification_dialing" msgid="2107666444937350731">"Dina-dial"</string>
@@ -104,8 +103,7 @@
     <string name="overflowAddMenuItemText" msgid="5605615101930811453">"Magdagdag ng tawag"</string>
     <string name="overflowMergeMenuItemText" msgid="6305762210377655389">"Pagsamahin ang mga tawag"</string>
     <string name="overflowSwapMenuItemText" msgid="6603717809137071603">"Pagpalitin ang mga tawag"</string>
-    <!-- no translation found for overflowManageConferenceMenuItemText (1751081566617967119) -->
-    <skip />
+    <string name="overflowManageConferenceMenuItemText" msgid="1751081566617967119">"Pamahalaan ang Conference"</string>
     <string name="onscreenHoldText" msgid="2285258239691145872">"I-hold"</string>
     <string name="onscreenEndCallText" msgid="4403855834875398585">"Wakasan"</string>
     <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Dialpad"</string>
@@ -121,18 +119,12 @@
     <string name="onscreenSwitchCameraText" msgid="5324543493442787798">"Magpalit ng camera"</string>
     <string name="onscreenPauseVideoText" msgid="5663965924921429203">"I-pause ang video"</string>
     <string name="onscreenOverflowText" msgid="2702376562345723132">"Higit pang mga opsyon"</string>
-    <!-- no translation found for video_call_not_allowed_if_tty_enabled (122020626761012211) -->
-    <skip />
-    <!-- no translation found for player_started (6046262510243983589) -->
-    <skip />
-    <!-- no translation found for player_stopped (8856926759436364963) -->
-    <skip />
-    <!-- no translation found for camera_not_ready (4955261496193316240) -->
-    <skip />
-    <!-- no translation found for camera_ready (1903335385405807324) -->
-    <skip />
-    <!-- no translation found for unknown_call_session_event (2431061946920253582) -->
-    <skip />
+    <string name="video_call_not_allowed_if_tty_enabled" msgid="122020626761012211">"Paki-disable ang TTY Mode upang mag-upgrade sa mga video call."</string>
+    <string name="player_started" msgid="6046262510243983589">"Nagsimula na ang Player"</string>
+    <string name="player_stopped" msgid="8856926759436364963">"Huminto ang Player"</string>
+    <string name="camera_not_ready" msgid="4955261496193316240">"Hindi pa handa ang camera"</string>
+    <string name="camera_ready" msgid="1903335385405807324">"Handa na ang camera"</string>
+    <string name="unknown_call_session_event" msgid="2431061946920253582">"Hindi alam na kaganapan ng session ng tawag"</string>
     <string name="voicemail_provider" msgid="5135942703327136909">"Serbisyo"</string>
     <string name="voicemail_settings" msgid="72448049107749316">"Setup"</string>
     <string name="voicemail_number_not_set" msgid="6724904736891087856">"&lt;Hindi nakatakda&gt;"</string>
@@ -152,14 +144,10 @@
     <string name="description_target_answer_audio_call" msgid="8396296303320994450">"Sagutin bilang audio call"</string>
     <string name="description_target_accept_upgrade_to_video_request" msgid="2894072808324604062">"Tanggapin ang kahilingan sa video"</string>
     <string name="description_target_decline_upgrade_to_video_request" msgid="4093888612888538776">"Tanggihan ang kahilingan sa video"</string>
-    <!-- no translation found for description_target_accept_upgrade_to_video_transmit_request (5311037889642077468) -->
-    <skip />
-    <!-- no translation found for description_target_decline_upgrade_to_video_transmit_request (3636108065510415975) -->
-    <skip />
-    <!-- no translation found for description_target_accept_upgrade_to_video_receive_request (8668058323593087912) -->
-    <skip />
-    <!-- no translation found for description_target_decline_upgrade_to_video_receive_request (2355776509656298367) -->
-    <skip />
+    <string name="description_target_accept_upgrade_to_video_transmit_request" msgid="5311037889642077468">"Tanggapin ang kahilingan sa pagpapadala ng video"</string>
+    <string name="description_target_decline_upgrade_to_video_transmit_request" msgid="3636108065510415975">"Tanggihan ang kahilingan sa pagpapadala ng video"</string>
+    <string name="description_target_accept_upgrade_to_video_receive_request" msgid="8668058323593087912">"Tanggapin ang kahilingan sa pagtanggap ng video"</string>
+    <string name="description_target_decline_upgrade_to_video_receive_request" msgid="2355776509656298367">"Tanggihan ang kahilingan sa pagtanggap ng video"</string>
     <string name="description_direction_up" msgid="4441409581444516690">"Mag-slide pataas para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_direction_left" msgid="7129873384376533287">"Mag-slide pakaliwa para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
     <string name="description_direction_right" msgid="2122584234531957308">"Mag-slide pakanan para sa <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java
index b919c61..535ba3b 100644
--- a/InCallUI/src/com/android/incallui/CallCardPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java
@@ -598,7 +598,7 @@
         PhoneAccount account = getAccountForCall(call);
         TelecomManager mgr = InCallPresenter.getInstance().getTelecomManager();
         if (account != null && !TextUtils.isEmpty(account.getLabel())
-                && mgr.hasMultipleCallCapableAccounts()) {
+                && mgr.getCallCapablePhoneAccounts().size() > 1) {
             return account.getLabel().toString();
         }
         return null;
diff --git a/InCallUI/src/com/android/incallui/ProximitySensor.java b/InCallUI/src/com/android/incallui/ProximitySensor.java
index 5b9a5ec..7732c63 100644
--- a/InCallUI/src/com/android/incallui/ProximitySensor.java
+++ b/InCallUI/src/com/android/incallui/ProximitySensor.java
@@ -24,6 +24,7 @@
 import com.android.incallui.AudioModeProvider.AudioModeListener;
 import com.android.incallui.InCallPresenter.InCallState;
 import com.android.incallui.InCallPresenter.InCallStateListener;
+
 import com.google.common.base.Objects;
 
 /**
@@ -40,6 +41,7 @@
     private static final String TAG = ProximitySensor.class.getSimpleName();
 
     private final PowerManager mPowerManager;
+    private final PowerManager.WakeLock mProximityWakeLock;
     private final AudioModeProvider mAudioModeProvider;
     private final AccelerometerListener mAccelerometerListener;
     private int mOrientation = AccelerometerListener.ORIENTATION_UNKNOWN;
@@ -53,6 +55,13 @@
 
     public ProximitySensor(Context context, AudioModeProvider audioModeProvider) {
         mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
+        if (mPowerManager.isWakeLockLevelSupported(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK)) {
+            mProximityWakeLock = mPowerManager.newWakeLock(
+                    PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, TAG);
+        } else {
+            Log.w(TAG, "Device does not support proximity wake lock.");
+            mProximityWakeLock = null;
+        }
         mAccelerometerListener = new AccelerometerListener(context, this);
         mAudioModeProvider = audioModeProvider;
         mAudioModeProvider.addListener(this);
@@ -63,7 +72,7 @@
 
         mAccelerometerListener.enable(false);
 
-        TelecomAdapter.getInstance().turnOffProximitySensor(true);
+        turnOffProximitySensor(true);
     }
 
     /**
@@ -151,6 +160,30 @@
         return !mPowerManager.isScreenOn();
     }
 
+    private void turnOnProximitySensor() {
+        if (mProximityWakeLock != null) {
+            if (!mProximityWakeLock.isHeld()) {
+                Log.i(this, "Acquiring proximity wake lock");
+                mProximityWakeLock.acquire();
+            } else {
+                Log.i(this, "Proximity wake lock already acquired");
+            }
+        }
+    }
+
+    private void turnOffProximitySensor(boolean screenOnImmediately) {
+        if (mProximityWakeLock != null) {
+            if (mProximityWakeLock.isHeld()) {
+                Log.i(this, "Releasing proximity wake lock");
+                int flags =
+                    (screenOnImmediately ? 0 : PowerManager.RELEASE_FLAG_WAIT_FOR_NO_PROXIMITY);
+                mProximityWakeLock.release(flags);
+            } else {
+                Log.i(this, "Proximity wake lock already released");
+            }
+        }
+    }
+
     /**
      * Updates the wake lock used to control proximity sensor behavior,
      * based on the current state of the phone.
@@ -210,12 +243,12 @@
                 Log.d(this, "Turning on proximity sensor");
                 // Phone is in use!  Arrange for the screen to turn off
                 // automatically when the sensor detects a close object.
-                TelecomAdapter.getInstance().turnOnProximitySensor();
+                turnOnProximitySensor();
             } else {
                 Log.d(this, "Turning off proximity sensor");
                 // Phone is either idle, or ringing.  We don't want any special proximity sensor
                 // behavior in either case.
-                TelecomAdapter.getInstance().turnOffProximitySensor(screenOnImmediately);
+                turnOffProximitySensor(screenOnImmediately);
             }
         }
 }
diff --git a/InCallUI/src/com/android/incallui/TelecomAdapter.java b/InCallUI/src/com/android/incallui/TelecomAdapter.java
index 25813f2..10c2307 100644
--- a/InCallUI/src/com/android/incallui/TelecomAdapter.java
+++ b/InCallUI/src/com/android/incallui/TelecomAdapter.java
@@ -130,22 +130,6 @@
         }
     }
 
-    void turnOnProximitySensor() {
-        if (mPhone != null) {
-            mPhone.setProximitySensorOn();
-        } else {
-            Log.e(this, "error setProximitySensorOn, mPhone is null");
-        }
-    }
-
-    void turnOffProximitySensor(boolean screenOnImmediately) {
-        if (mPhone != null) {
-            mPhone.setProximitySensorOff(screenOnImmediately);
-        } else {
-            Log.e(this, "error setProximitySensorOff, mPhone is null");
-        }
-    }
-
     void separateCall(String callId) {
         if (mPhone != null) {
             getTelecommCallById(callId).splitFromConference();
diff --git a/InCallUI/src/com/android/incallui/VideoPauseController.java b/InCallUI/src/com/android/incallui/VideoPauseController.java
index 4b8ad75..dd47c7f 100644
--- a/InCallUI/src/com/android/incallui/VideoPauseController.java
+++ b/InCallUI/src/com/android/incallui/VideoPauseController.java
@@ -35,7 +35,7 @@
 import com.android.incallui.InCallPresenter.InCallStateListener;
 import com.android.incallui.InCallPresenter.IncomingCallListener;
 import com.android.incallui.InCallVideoCallListenerNotifier.SessionModificationListener;
-import com.android.internal.util.Preconditions;
+import com.google.common.base.Preconditions;
 
 /**
  * This class is responsible for generating video pause/resume requests when the InCall UI is sent
