Merge changes from topic 'mwd-merge-041515'

* changes:
  Fix build issues after the merge
  am b04d61a..697f674 from mirror-m-wireless-internal-release
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