Protect all logging statements.

- Rename global logger so it can be a drop in replacement for framework log
class.
- Remove imports of android.util.Log

Bug: 10411948
Change-Id: I377625263b16c4f9408c79d5c533a1810fa6cde7
diff --git a/InCallUI/src/com/android/incallui/AnimationUtils.java b/InCallUI/src/com/android/incallui/AnimationUtils.java
index 2bf730c..aef3cdf 100644
--- a/InCallUI/src/com/android/incallui/AnimationUtils.java
+++ b/InCallUI/src/com/android/incallui/AnimationUtils.java
@@ -23,7 +23,6 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.LayerDrawable;
-import android.util.Log;
 import android.view.View;
 import android.view.ViewPropertyAnimator;
 import android.widget.ImageView;
diff --git a/InCallUI/src/com/android/incallui/AnswerFragment.java b/InCallUI/src/com/android/incallui/AnswerFragment.java
index aea80ec..077eaac 100644
--- a/InCallUI/src/com/android/incallui/AnswerFragment.java
+++ b/InCallUI/src/com/android/incallui/AnswerFragment.java
@@ -159,9 +159,9 @@
                                 View view,  // The TextView that was clicked
                                 int position,
                                 long id) {
-            Logger.d(this, "RespondViaSmsItemClickListener.onItemClick(" + position + ")...");
+            Log.d(this, "RespondViaSmsItemClickListener.onItemClick(" + position + ")...");
             final String message = (String) parent.getItemAtPosition(position);
-            Logger.v(this, "- message: '" + message + "'");
+            Log.v(this, "- message: '" + message + "'");
 
             // The "Custom" choice is a special case.
             // (For now, it's guaranteed to be the last item.)
diff --git a/InCallUI/src/com/android/incallui/AnswerPresenter.java b/InCallUI/src/com/android/incallui/AnswerPresenter.java
index f899a56..f53807a 100644
--- a/InCallUI/src/com/android/incallui/AnswerPresenter.java
+++ b/InCallUI/src/com/android/incallui/AnswerPresenter.java
@@ -48,7 +48,7 @@
             } else {
                 getUi().showTextButton(false);
             }
-            Logger.d(this, "Showing incoming with: " + mCall);
+            Log.d(this, "Showing incoming with: " + mCall);
         } else {
             getUi().showAnswerUi(false);
             mCall = null;
@@ -60,7 +60,7 @@
             return;
         }
 
-        Logger.d(this, "onAnswer " + mCall.getCallId());
+        Log.d(this, "onAnswer " + mCall.getCallId());
 
         CallCommandClient.getInstance().answerCall(mCall.getCallId());
     }
@@ -70,7 +70,7 @@
             return;
         }
 
-        Logger.d(this, "onDecline " + mCall.getCallId());
+        Log.d(this, "onDecline " + mCall.getCallId());
 
         CallCommandClient.getInstance().rejectCall(mCall.getCallId(), false, null);
     }
@@ -80,7 +80,7 @@
     }
 
     public void rejectCallWithMessage(String message) {
-        Logger.d(this, "sendTextToDefaultActivity()...");
+        Log.d(this, "sendTextToDefaultActivity()...");
         CallCommandClient.getInstance().rejectCall(mCall.getCallId(), true, message);
         getUi().dismissPopup();
     }
diff --git a/InCallUI/src/com/android/incallui/CallButtonFragment.java b/InCallUI/src/com/android/incallui/CallButtonFragment.java
index 15d0446..a159292 100644
--- a/InCallUI/src/com/android/incallui/CallButtonFragment.java
+++ b/InCallUI/src/com/android/incallui/CallButtonFragment.java
@@ -139,7 +139,7 @@
     @Override
     public void onClick(View view) {
         int id = view.getId();
-        Logger.d(this, "onClick(View " + view + ", id " + id + ")...");
+        Log.d(this, "onClick(View " + view + ", id " + id + ")...");
 
         switch(id) {
             case R.id.addButton:
@@ -155,7 +155,7 @@
                 getPresenter().showDialpadClicked(mShowDialpadButton.isChecked());
                 break;
             default:
-                Logger.wtf(this, "onClick: unexpected");
+                Log.wtf(this, "onClick: unexpected");
                 break;
         }
     }
@@ -211,9 +211,9 @@
 
     @Override
     public boolean onMenuItemClick(MenuItem item) {
-        Logger.d(this, "- onMenuItemClick: " + item);
-        Logger.d(this, "  id: " + item.getItemId());
-        Logger.d(this, "  title: '" + item.getTitle() + "'");
+        Log.d(this, "- onMenuItemClick: " + item);
+        Log.d(this, "  id: " + item.getItemId());
+        Log.d(this, "  title: '" + item.getTitle() + "'");
 
         int mode = AudioMode.WIRED_OR_EARPIECE;
 
@@ -231,7 +231,7 @@
                 mode = AudioMode.BLUETOOTH;
                 break;
             default:
-                Logger.e(this, "onMenuItemClick:  unexpected View ID " + item.getItemId()
+                Log.e(this, "onMenuItemClick:  unexpected View ID " + item.getItemId()
                         + " (MenuItem = '" + item + "')");
                 break;
         }
@@ -247,7 +247,7 @@
     // of the menu items.
     @Override
     public void onDismiss(PopupMenu menu) {
-        Logger.d(this, "- onDismiss: " + menu);
+        Log.d(this, "- onDismiss: " + menu);
         mAudioModePopupVisible = false;
     }
 
@@ -256,7 +256,7 @@
      * pop up menu.  Otherwise, it toggles the speakerphone.
      */
     private void onAudioButtonClicked() {
-        Logger.d(this, "onAudioButtonClicked: " +
+        Log.d(this, "onAudioButtonClicked: " +
                 AudioMode.toString(getPresenter().getSupportedAudio()));
 
         if (isSupported(AudioMode.BLUETOOTH)) {
@@ -304,7 +304,7 @@
         boolean showToggleIndicator = false;
 
         if (bluetoothSupported) {
-            Logger.d(this, "updateAudioButtons - popup menu mode");
+            Log.d(this, "updateAudioButtons - popup menu mode");
 
             audioButtonEnabled = true;
             showMoreIndicator = true;
@@ -325,7 +325,7 @@
                 // earpiece" icon.  (Still need an asset for that, though.)
             }
         } else if (speakerSupported) {
-            Logger.d(this, "updateAudioButtons - speaker toggle mode");
+            Log.d(this, "updateAudioButtons - speaker toggle mode");
 
             audioButtonEnabled = true;
 
@@ -339,7 +339,7 @@
             showSpeakerphoneOnIcon = isAudio(AudioMode.SPEAKER);
             showSpeakerphoneOffIcon = !showSpeakerphoneOnIcon;
         } else {
-            Logger.d(this, "updateAudioButtons - disabled...");
+            Log.d(this, "updateAudioButtons - disabled...");
 
             // The audio button is a toggle in this state, but that's mostly
             // irrelevant since it's always disabled and unchecked.
@@ -353,13 +353,13 @@
 
         // Finally, update it all!
 
-        Logger.v(this, "audioButtonEnabled: " + audioButtonEnabled);
-        Logger.v(this, "audioButtonChecked: " + audioButtonChecked);
-        Logger.v(this, "showMoreIndicator: " + showMoreIndicator);
-        Logger.v(this, "showBluetoothIcon: " + showBluetoothIcon);
-        Logger.v(this, "showSpeakerphoneOnIcon: " + showSpeakerphoneOnIcon);
-        Logger.v(this, "showSpeakerphoneOffIcon: " + showSpeakerphoneOffIcon);
-        Logger.v(this, "showHandsetIcon: " + showHandsetIcon);
+        Log.v(this, "audioButtonEnabled: " + audioButtonEnabled);
+        Log.v(this, "audioButtonChecked: " + audioButtonChecked);
+        Log.v(this, "showMoreIndicator: " + showMoreIndicator);
+        Log.v(this, "showBluetoothIcon: " + showBluetoothIcon);
+        Log.v(this, "showSpeakerphoneOnIcon: " + showSpeakerphoneOnIcon);
+        Log.v(this, "showSpeakerphoneOffIcon: " + showSpeakerphoneOffIcon);
+        Log.v(this, "showHandsetIcon: " + showHandsetIcon);
 
         // Constants for Drawable.setAlpha()
         final int HIDDEN = 0;
@@ -369,7 +369,7 @@
         mAudioButton.setChecked(audioButtonChecked);
 
         final LayerDrawable layers = (LayerDrawable) mAudioButton.getBackground();
-        Logger.d(this, "'layers' drawable: " + layers);
+        Log.d(this, "'layers' drawable: " + layers);
 
         layers.findDrawableByLayerId(R.id.compoundBackgroundItem)
                 .setAlpha(showToggleIndicator ? VISIBLE : HIDDEN);
@@ -391,7 +391,7 @@
     }
 
     private void showAudioModePopup() {
-        Logger.d(this, "showAudioPopup()...");
+        Log.d(this, "showAudioPopup()...");
 
         mAudioModePopup = new PopupMenu(getView().getContext(), mAudioButton /* anchorView */);
         mAudioModePopup.getMenuInflater().inflate(R.menu.incall_audio_mode_menu,
diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
index 2332317..3a2d719 100644
--- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
@@ -16,8 +16,6 @@
 
 package com.android.incallui;
 
-import android.media.AudioManager;
-
 import com.android.incallui.AudioModeProvider.AudioModeListener;
 import com.android.incallui.InCallPresenter.InCallState;
 import com.android.incallui.InCallPresenter.InCallStateListener;
@@ -97,7 +95,7 @@
         // an update for onAudioMode().  This will make UI response immediate
         // if it turns out to be slow
 
-        Logger.d(this, "Sending new Audio Mode: " + AudioMode.toString(mode));
+        Log.d(this, "Sending new Audio Mode: " + AudioMode.toString(mode));
         CallCommandClient.getInstance().setAudioMode(mode);
     }
 
@@ -109,7 +107,7 @@
         if (0 != (AudioMode.BLUETOOTH & getSupportedAudio())) {
 
             // It's clear the UI is wrong, so update the supported mode once again.
-            Logger.e(this, "toggling speakerphone not allowed when bluetooth supported.");
+            Log.e(this, "toggling speakerphone not allowed when bluetooth supported.");
             getUi().setSupportedAudio(getSupportedAudio());
             return;
         }
@@ -134,7 +132,7 @@
     }
 
     public void muteClicked(boolean checked) {
-        Logger.d(this, "turning on mute: " + checked);
+        Log.d(this, "turning on mute: " + checked);
 
         CallCommandClient.getInstance().mute(checked);
         getUi().setMute(checked);
@@ -145,7 +143,7 @@
             return;
         }
 
-        Logger.d(this, "holding: " + mCall.getCallId());
+        Log.d(this, "holding: " + mCall.getCallId());
 
         // TODO(klp): use appropriate hold callId.
         CallCommandClient.getInstance().hold(mCall.getCallId(), checked);
@@ -165,7 +163,7 @@
     }
 
     public void showDialpadClicked(boolean checked) {
-        Logger.v(this, "Show dialpad " + String.valueOf(checked));
+        Log.v(this, "Show dialpad " + String.valueOf(checked));
         getUi().displayDialpad(checked);
         mProximitySensor.onDialpadVisible(checked);
     }
@@ -181,13 +179,13 @@
 
         ui.setVisible(isVisible);
 
-        Logger.d(this, "Updating call UI for call: ", call);
+        Log.d(this, "Updating call UI for call: ", call);
 
         if (isVisible && call != null) {
-            Logger.v(this, "Show hold ", call.can(Capabilities.HOLD));
-            Logger.v(this, "Show merge ", call.can(Capabilities.MERGE_CALLS));
-            Logger.v(this, "Show swap ", call.can(Capabilities.SWAP_CALLS));
-            Logger.v(this, "Show add call ", call.can(Capabilities.ADD_CALL));
+            Log.v(this, "Show hold ", call.can(Capabilities.HOLD));
+            Log.v(this, "Show merge ", call.can(Capabilities.MERGE_CALLS));
+            Log.v(this, "Show swap ", call.can(Capabilities.SWAP_CALLS));
+            Log.v(this, "Show add call ", call.can(Capabilities.ADD_CALL));
 
             ui.setHold(call.getState() == Call.State.ONHOLD);
 
diff --git a/InCallUI/src/com/android/incallui/CallCardFragment.java b/InCallUI/src/com/android/incallui/CallCardFragment.java
index 3477438..65a75d7 100644
--- a/InCallUI/src/com/android/incallui/CallCardFragment.java
+++ b/InCallUI/src/com/android/incallui/CallCardFragment.java
@@ -16,7 +16,6 @@
 
 package com.android.incallui;
 
-import android.app.Activity;
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.drawable.BitmapDrawable;
@@ -186,9 +185,9 @@
         // States other than disconnected not yet supported
         callStateLabel = getCallStateLabelFromState(state, cause);
 
-        Logger.v(this, "setCallState ", callStateLabel);
-        Logger.v(this, "DisconnectCause ", cause);
-        Logger.v(this, "bluetooth on ", bluetoothOn);
+        Log.v(this, "setCallState ", callStateLabel);
+        Log.v(this, "DisconnectCause ", cause);
+        Log.v(this, "bluetooth on ", bluetoothOn);
 
         if (!TextUtils.isEmpty(callStateLabel)) {
             mCallStateLabel.setVisibility(View.VISIBLE);
@@ -291,7 +290,7 @@
             callStateLabel = getCallFailedString(cause);
 
         } else {
-            Logger.wtf(this, "updateCallStateWidgets: unexpected call: " + state);
+            Log.wtf(this, "updateCallStateWidgets: unexpected call: " + state);
         }
 
         return callStateLabel;
diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java
index 7eec3fb..5ab2529 100644
--- a/InCallUI/src/com/android/incallui/CallCardPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java
@@ -17,14 +17,9 @@
 package com.android.incallui;
 
 import android.graphics.drawable.Drawable;
-import android.content.ContentUris;
-import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
-import android.graphics.drawable.Drawable;
-import android.net.Uri;
 import android.os.AsyncTask;
-import android.provider.ContactsContract.Contacts;
 import android.text.TextUtils;
 import android.text.format.DateUtils;
 
@@ -35,10 +30,8 @@
 import com.android.incallui.InCallPresenter.InCallStateListener;
 import com.android.incallui.service.PhoneNumberService;
 import com.android.incallui.util.HttpFetcher;
-import com.android.incalluibind.ServiceFactory;
 import com.android.services.telephony.common.AudioMode;
 import com.android.services.telephony.common.Call;
-import com.android.services.telephony.common.Call.DisconnectCause;
 
 import java.io.IOException;
 
@@ -100,7 +93,7 @@
 
     @Override
     public void onStateChange(InCallState state, CallList callList) {
-        Logger.d(TAG, "onStateChange()");
+        Log.d(TAG, "onStateChange()");
         final CallCardUi ui = getUi();
         if (ui == null) {
             return;
@@ -122,8 +115,8 @@
             secondary = getCallToDisplay(callList, primary, true);
         }
 
-        Logger.d(this, "Primary call: " + primary);
-        Logger.d(this, "Secondary call: " + secondary);
+        Log.d(this, "Primary call: " + primary);
+        Log.d(this, "Secondary call: " + secondary);
 
         mPrimary = primary;
         mSecondary = secondary;
@@ -136,10 +129,10 @@
 
         // Start/Stop the call time update timer
         if (mPrimary != null && mPrimary.getState() == Call.State.ACTIVE) {
-            Logger.d(this, "Starting the calltime timer");
+            Log.d(this, "Starting the calltime timer");
             mCallTimer.start(CALL_TIME_UPDATE_INTERVAL);
         } else {
-            Logger.d(this, "Canceling the calltime timer");
+            Log.d(this, "Canceling the calltime timer");
             mCallTimer.cancel();
             ui.setPrimaryCallElapsedTime(false, null);
         }
@@ -318,7 +311,7 @@
                         final byte[] image = HttpFetcher.getRequestAsByteArray(url);
                         return BitmapFactory.decodeByteArray(image, 0, image.length);
                     } catch (IOException e) {
-                        Logger.e(TAG, "Unable to download/decode photo.", e);
+                        Log.e(TAG, "Unable to download/decode photo.", e);
                     }
                     return null;
                 }
diff --git a/InCallUI/src/com/android/incallui/CallCommandClient.java b/InCallUI/src/com/android/incallui/CallCommandClient.java
index 308776c..621bb2a 100644
--- a/InCallUI/src/com/android/incallui/CallCommandClient.java
+++ b/InCallUI/src/com/android/incallui/CallCommandClient.java
@@ -18,7 +18,6 @@
 
 import android.os.RemoteException;
 
-import com.android.internal.util.Preconditions;
 import com.android.services.telephony.common.ICallCommandService;
 
 /**
@@ -46,136 +45,136 @@
 
     public void answerCall(int callId) {
         if (mCommandService == null) {
-            Logger.e(this, "Cannot answer call; CallCommandService == null");
+            Log.e(this, "Cannot answer call; CallCommandService == null");
             return;
         }
         try {
             mCommandService.answerCall(callId);
         } catch (RemoteException e) {
-            Logger.e(this, "Error answering call.", e);
+            Log.e(this, "Error answering call.", e);
         }
     }
 
     public void rejectCall(int callId, boolean rejectWithMessage, String message) {
         if (mCommandService == null) {
-            Logger.e(this, "Cannot reject call; CallCommandService == null");
+            Log.e(this, "Cannot reject call; CallCommandService == null");
             return;
         }
         try {
             mCommandService.rejectCall(callId, rejectWithMessage, message);
         } catch (RemoteException e) {
-            Logger.e(this, "Error rejecting call.", e);
+            Log.e(this, "Error rejecting call.", e);
         }
     }
 
     public void disconnectCall(int callId) {
         if (mCommandService == null) {
-            Logger.e(this, "Cannot disconnect call; CallCommandService == null");
+            Log.e(this, "Cannot disconnect call; CallCommandService == null");
             return;
         }
         try {
             mCommandService.disconnectCall(callId);
         } catch (RemoteException e) {
-            Logger.e(this, "Error answering call.", e);
+            Log.e(this, "Error answering call.", e);
         }
     }
 
     public void mute(boolean onOff) {
         if (mCommandService == null) {
-            Logger.e(this, "Cannot mute call; CallCommandService == null");
+            Log.e(this, "Cannot mute call; CallCommandService == null");
             return;
         }
         try {
             mCommandService.mute(onOff);
         } catch (RemoteException e) {
-            Logger.e(this, "Error muting phone.", e);
+            Log.e(this, "Error muting phone.", e);
         }
     }
 
     public void hold(int callId, boolean onOff) {
         if (mCommandService == null) {
-            Logger.e(this, "Cannot hold call; CallCommandService == null");
+            Log.e(this, "Cannot hold call; CallCommandService == null");
             return;
         }
         try {
             mCommandService.hold(callId, onOff);
         } catch (RemoteException e) {
-            Logger.e(this, "Error holding call.", e);
+            Log.e(this, "Error holding call.", e);
         }
     }
 
     public void merge() {
         if (mCommandService == null) {
-            Logger.e(this, "Cannot merge call; CallCommandService == null");
+            Log.e(this, "Cannot merge call; CallCommandService == null");
             return;
         }
         try {
             mCommandService.merge();
         } catch (RemoteException e) {
-            Logger.e(this, "Error merging calls.", e);
+            Log.e(this, "Error merging calls.", e);
         }
     }
 
     public void swap() {
         if (mCommandService == null) {
-            Logger.e(this, "Cannot swap call; CallCommandService == null");
+            Log.e(this, "Cannot swap call; CallCommandService == null");
             return;
         }
         try {
             mCommandService.swap();
         } catch (RemoteException e) {
-            Logger.e(this, "Error merging calls.", e);
+            Log.e(this, "Error merging calls.", e);
         }
     }
 
     public void addCall() {
         if (mCommandService == null) {
-            Logger.e(this, "Cannot add call; CallCommandService == null");
+            Log.e(this, "Cannot add call; CallCommandService == null");
             return;
         }
         try {
             mCommandService.addCall();
         } catch (RemoteException e) {
-            Logger.e(this, "Error merging calls.", e);
+            Log.e(this, "Error merging calls.", e);
         }
     }
 
     public void setAudioMode(int mode) {
         if (mCommandService == null) {
-            Logger.e(this, "Cannot set audio mode; CallCommandService == null");
+            Log.e(this, "Cannot set audio mode; CallCommandService == null");
             return;
         }
         try {
             mCommandService.setAudioMode(mode);
         } catch (RemoteException e) {
-            Logger.e(this, "Error setting speaker.", e);
+            Log.e(this, "Error setting speaker.", e);
         }
     }
 
     public void playDtmfTone(char digit, boolean timedShortTone) {
         if (mCommandService == null) {
-            Logger.e(this, "Cannot start dtmf tone; CallCommandService == null");
+            Log.e(this, "Cannot start dtmf tone; CallCommandService == null");
             return;
         }
         try {
-            Logger.v(this, "Sending dtmf tone " + digit);
+            Log.v(this, "Sending dtmf tone " + digit);
             mCommandService.playDtmfTone(digit, timedShortTone);
         } catch (RemoteException e) {
-            Logger.e(this, "Error setting speaker.", e);
+            Log.e(this, "Error setting speaker.", e);
         }
 
     }
 
     public void stopDtmfTone() {
         if (mCommandService == null) {
-            Logger.e(this, "Cannot stop dtmf tone; CallCommandService == null");
+            Log.e(this, "Cannot stop dtmf tone; CallCommandService == null");
             return;
         }
         try {
-            Logger.v(this, "Stop dtmf tone ");
+            Log.v(this, "Stop dtmf tone ");
             mCommandService.stopDtmfTone();
         } catch (RemoteException e) {
-            Logger.e(this, "Error setting speaker.", e);
+            Log.e(this, "Error setting speaker.", e);
         }
     }
 }
diff --git a/InCallUI/src/com/android/incallui/CallHandlerService.java b/InCallUI/src/com/android/incallui/CallHandlerService.java
index f0df1cd..1509350 100644
--- a/InCallUI/src/com/android/incallui/CallHandlerService.java
+++ b/InCallUI/src/com/android/incallui/CallHandlerService.java
@@ -28,7 +28,6 @@
 import com.android.services.telephony.common.ICallHandlerService;
 
 import java.util.AbstractMap;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -54,7 +53,7 @@
 
     @Override
     public void onCreate() {
-        Logger.d(this, "onCreate started");
+        Log.d(this, "onCreate started");
         super.onCreate();
 
         mCallList = new CallList();
@@ -62,12 +61,12 @@
         mAudioModeProvider = new AudioModeProvider();
         mInCallPresenter = InCallPresenter.getInstance();
         mInCallPresenter.setUp(getApplicationContext(), mCallList, mAudioModeProvider);
-        Logger.d(this, "onCreate finished");
+        Log.d(this, "onCreate finished");
     }
 
     @Override
     public void onDestroy() {
-        Logger.d(this, "onDestroy started");
+        Log.d(this, "onDestroy started");
 
         // Remove all pending messages before nulling out handler
         for (int i = 1; i <= LARGEST_MSG_ID; i++) {
@@ -87,18 +86,18 @@
         mInCallPresenter = null;
         mAudioModeProvider = null;
 
-        Logger.d(this, "onDestroy finished");
+        Log.d(this, "onDestroy finished");
     }
 
     @Override
     public IBinder onBind(Intent intent) {
-        Logger.d(this, "onBind");
+        Log.d(this, "onBind");
         return mBinder;
     }
 
     @Override
     public boolean onUnbind(Intent intent) {
-        Logger.d(this, "onUnbind");
+        Log.d(this, "onUnbind");
         return true;
     }
 
@@ -106,19 +105,19 @@
 
         @Override
         public void setCallCommandService(ICallCommandService service) {
-            Logger.d(CallHandlerService.this, "onConnected: " + service.toString());
+            Log.d(CallHandlerService.this, "onConnected: " + service.toString());
             CallCommandClient.getInstance().setService(service);
         }
 
         @Override
         public void onDisconnect(Call call) {
-            Logger.d(CallHandlerService.this, "onDisconnected: " + call);
+            Log.d(CallHandlerService.this, "onDisconnected: " + call);
             mMainHandler.sendMessage(mMainHandler.obtainMessage(ON_DISCONNECT_CALL, 0, 0, call));
         }
 
         @Override
         public void onIncoming(Call call, List<String> textResponses) {
-            Logger.d(CallHandlerService.this, "onIncomingCall: " + call);
+            Log.d(CallHandlerService.this, "onIncomingCall: " + call);
 
             // TODO(klp): Add text responses to the call object.
             Map.Entry<Call, List<String> > incomingCall = new AbstractMap.SimpleEntry<Call,
@@ -129,11 +128,11 @@
 
         @Override
         public void onUpdate(List<Call> calls, boolean fullUpdate) {
-            Logger.d(CallHandlerService.this, "onUpdate " + calls.toString());
+            Log.d(CallHandlerService.this, "onUpdate " + calls.toString());
 
-            if (Logger.VERBOSE) {
+            if (Log.VERBOSE) {
                 for (Call c : calls) {
-                    Logger.v(this, "Call: " + c);
+                    Log.v(this, "Call: " + c);
                 }
             }
 
@@ -143,13 +142,13 @@
 
         @Override
         public void onAudioModeChange(int mode) {
-            Logger.d(CallHandlerService.this, "onAudioModeChange : " + AudioMode.toString(mode));
+            Log.d(CallHandlerService.this, "onAudioModeChange : " + AudioMode.toString(mode));
             mMainHandler.sendMessage(mMainHandler.obtainMessage(ON_AUDIO_MODE, mode, 0, null));
         }
 
         @Override
         public void onSupportedAudioModeChange(int modeMask) {
-            Logger.d(CallHandlerService.this, "onSupportedAudioModeChange : " +
+            Log.d(CallHandlerService.this, "onSupportedAudioModeChange : " +
                     AudioMode.toString(modeMask));
 
             mMainHandler.sendMessage(
@@ -176,10 +175,10 @@
         if (msg.what > LARGEST_MSG_ID) {
             // If you got here, you may have added a new message and forgotten to
             // update LARGEST_MSG_ID
-            Logger.wtf(this, "Cannot handle message larger than LARGEST_MSG_ID.");
+            Log.wtf(this, "Cannot handle message larger than LARGEST_MSG_ID.");
         }
 
-        Logger.d(this, "executeMessage " + msg.what);
+        Log.d(this, "executeMessage " + msg.what);
 
         switch (msg.what) {
             case ON_UPDATE_CALL:
diff --git a/InCallUI/src/com/android/incallui/CallList.java b/InCallUI/src/com/android/incallui/CallList.java
index a3cee5f..7890b997 100644
--- a/InCallUI/src/com/android/incallui/CallList.java
+++ b/InCallUI/src/com/android/incallui/CallList.java
@@ -16,12 +16,9 @@
 
 package com.android.incallui;
 
-import com.google.android.collect.Lists;
 import com.google.android.collect.Maps;
 import com.google.android.collect.Sets;
 import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
 
 import android.os.Handler;
 import android.os.Message;
@@ -32,7 +29,6 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 /**
@@ -73,7 +69,7 @@
      * Called when a single call has changed.
      */
     public void onUpdate(Call call) {
-        Logger.d(this, "onUpdate - ", call);
+        Log.d(this, "onUpdate - ", call);
 
         updateCallInMap(call);
         notifyListenersOfChange();
@@ -83,7 +79,7 @@
      * Called when a single call disconnects.
      */
     public void onDisconnect(Call call) {
-        Logger.d(this, "onDisconnect: ", call);
+        Log.d(this, "onDisconnect: ", call);
 
         updateCallInMap(call);
 
@@ -94,7 +90,7 @@
      * Called when a single call has changed.
      */
     public void onUpdate(AbstractMap.SimpleEntry<Call, List<String> > incomingCall) {
-        Logger.d(this, "onUpdate - " + incomingCall.getKey());
+        Log.d(this, "onUpdate - " + incomingCall.getKey());
 
         updateCallInMap(incomingCall.getKey());
         updateCallTextMap(incomingCall.getKey(), incomingCall.getValue());
@@ -106,11 +102,11 @@
      * Called when multiple calls have changed.
      */
     public void onUpdate(List<Call> callsToUpdate) {
-        Logger.d(this, "onUpdate(...)");
+        Log.d(this, "onUpdate(...)");
 
         Preconditions.checkNotNull(callsToUpdate);
         for (Call call : callsToUpdate) {
-            Logger.d(this, "\t" + call);
+            Log.d(this, "\t" + call);
 
             updateCallInMap(call);
             updateCallTextMap(call, null);
@@ -315,11 +311,11 @@
         public void handleMessage(Message msg) {
             switch (msg.what) {
                 case EVENT_DISCONNECTED_TIMEOUT:
-                    Logger.d(this, "EVENT_DISCONNECTED_TIMEOUT ", msg.obj);
+                    Log.d(this, "EVENT_DISCONNECTED_TIMEOUT ", msg.obj);
                     finishDisconnectedCall((Call) msg.obj);
                     break;
                 default:
-                    Logger.wtf(this, "Message not expected: " + msg.what);
+                    Log.wtf(this, "Message not expected: " + msg.what);
                     break;
             }
         }
diff --git a/InCallUI/src/com/android/incallui/CallerInfo.java b/InCallUI/src/com/android/incallui/CallerInfo.java
index 323e276..3bad9f4 100644
--- a/InCallUI/src/com/android/incallui/CallerInfo.java
+++ b/InCallUI/src/com/android/incallui/CallerInfo.java
@@ -29,7 +29,6 @@
 import android.telephony.PhoneNumberUtils;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
-import android.util.Log;
 
 import com.android.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder;
 import com.android.i18n.phonenumbers.NumberParseException;
@@ -159,7 +158,7 @@
         info.isCachedPhotoCurrent = false;
         info.contactExists = false;
 
-        Logger.v(TAG, "getCallerInfo() based on cursor...");
+        Log.v(TAG, "getCallerInfo() based on cursor...");
 
         if (cursor != null) {
             if (cursor.moveToFirst()) {
@@ -204,10 +203,10 @@
                 columnIndex = getColumnIndexForPersonId(contactRef, cursor);
                 if (columnIndex != -1) {
                     info.person_id = cursor.getLong(columnIndex);
-                    Logger.v(TAG, "==> got info.person_id: " + info.person_id);
+                    Log.v(TAG, "==> got info.person_id: " + info.person_id);
                 } else {
                     // No valid columnIndex, so we can't look up person_id.
-                    Logger.v(TAG, "Couldn't find person_id column for " + contactRef);
+                    Log.v(TAG, "Couldn't find person_id column for " + contactRef);
                     // Watch out: this means that anything that depends on
                     // person_id will be broken (like contact photo lookups in
                     // the in-call UI, for example.)
@@ -264,7 +263,7 @@
      * with all relevant fields empty or null.
      */
     public static CallerInfo getCallerInfo(Context context, String number) {
-        Logger.v(TAG, "getCallerInfo() based on number...");
+        Log.v(TAG, "getCallerInfo() based on number...");
 
         if (TextUtils.isEmpty(number)) {
             return null;
@@ -409,7 +408,7 @@
             // permission to retrieve VM number and would not call
             // this method.
             // Leave phoneNumber untouched.
-            Logger.e(TAG, "Cannot access VoiceMail.", se);
+            Log.e(TAG, "Cannot access VoiceMail.", se);
         }
         // TODO: There is no voicemail picture?
         // FIXME: FIND ANOTHER ICON
@@ -468,8 +467,8 @@
         // So instead, figure out the column to use for person_id by just
         // looking at the URI itself.
 
-        Logger.v(TAG, "- getColumnIndexForPersonId: contactRef URI = '"
-                        + contactRef + "'...");
+        Log.v(TAG, "- getColumnIndexForPersonId: contactRef URI = '"
+                + contactRef + "'...");
         // Warning: Do not enable the following logging (due to ANR risk.)
         // if (VDBG) Rlog.v(TAG, "- MIME type: "
         //                 + context.getContentResolver().getType(contactRef));
@@ -479,26 +478,26 @@
         if (url.startsWith("content://com.android.contacts/data/phones")) {
             // Direct lookup in the Phone table.
             // MIME type: Phone.CONTENT_ITEM_TYPE (= "vnd.android.cursor.item/phone_v2")
-            Logger.v(TAG, "'data/phones' URI; using RawContacts.CONTACT_ID");
+            Log.v(TAG, "'data/phones' URI; using RawContacts.CONTACT_ID");
             columnName = RawContacts.CONTACT_ID;
         } else if (url.startsWith("content://com.android.contacts/data")) {
             // Direct lookup in the Data table.
             // MIME type: Data.CONTENT_TYPE (= "vnd.android.cursor.dir/data")
-            Logger.v(TAG, "'data' URI; using Data.CONTACT_ID");
+            Log.v(TAG, "'data' URI; using Data.CONTACT_ID");
             // (Note Data.CONTACT_ID and RawContacts.CONTACT_ID are equivalent.)
             columnName = Data.CONTACT_ID;
         } else if (url.startsWith("content://com.android.contacts/phone_lookup")) {
             // Lookup in the PhoneLookup table, which provides "fuzzy matching"
             // for phone numbers.
             // MIME type: PhoneLookup.CONTENT_TYPE (= "vnd.android.cursor.dir/phone_lookup")
-            Logger.v(TAG, "'phone_lookup' URI; using PhoneLookup._ID");
+            Log.v(TAG, "'phone_lookup' URI; using PhoneLookup._ID");
             columnName = PhoneLookup._ID;
         } else {
-            Logger.v(TAG, "Unexpected prefix for contactRef '" + url + "'");
+            Log.v(TAG, "Unexpected prefix for contactRef '" + url + "'");
         }
         int columnIndex = (columnName != null) ? cursor.getColumnIndex(columnName) : -1;
-        Logger.v(TAG, "==> Using column '" + columnName
-                        + "' (columnIndex = " + columnIndex + ") for person_id lookup...");
+        Log.v(TAG, "==> Using column '" + columnName
+                + "' (columnIndex = " + columnIndex + ") for person_id lookup...");
         return columnIndex;
     }
 
@@ -524,7 +523,7 @@
      * @see com.android.i18n.phonenumbers.PhoneNumberOfflineGeocoder
      */
     private static String getGeoDescription(Context context, String number) {
-        Logger.v(TAG, "getGeoDescription('" + number + "')...");
+        Log.v(TAG, "getGeoDescription('" + number + "')...");
 
         if (TextUtils.isEmpty(number)) {
             return null;
@@ -537,18 +536,18 @@
         String countryIso = getCurrentCountryIso(context, locale);
         PhoneNumber pn = null;
         try {
-            Logger.v(TAG, "parsing '" + number
-                            + "' for countryIso '" + countryIso + "'...");
+            Log.v(TAG, "parsing '" + number
+                    + "' for countryIso '" + countryIso + "'...");
             pn = util.parse(number, countryIso);
-            Logger.v(TAG, "- parsed number: " + pn);
+            Log.v(TAG, "- parsed number: " + pn);
         } catch (NumberParseException e) {
-            Logger.v(TAG, "getGeoDescription: NumberParseException for incoming number '" +
+            Log.v(TAG, "getGeoDescription: NumberParseException for incoming number '" +
                     number + "'");
         }
 
         if (pn != null) {
             String description = geocoder.getDescriptionForNumber(pn, locale);
-            Logger.v(TAG, "- got description: '" + description + "'");
+            Log.v(TAG, "- got description: '" + description + "'");
             return description;
         } else {
             return null;
@@ -567,8 +566,8 @@
         countryIso = detector.detectCountry().getCountryIso();
       } else {
         countryIso = locale.getCountry();
-            Logger.v(TAG, "No CountryDetector; falling back to countryIso based on locale: "
-              + countryIso);
+            Log.v(TAG, "No CountryDetector; falling back to countryIso based on locale: "
+                    + countryIso);
       }
       return countryIso;
     }
diff --git a/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java b/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java
index 3ebad5e..c9d282b 100644
--- a/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java
+++ b/InCallUI/src/com/android/incallui/CallerInfoAsyncQuery.java
@@ -25,7 +25,6 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
-import android.os.SystemProperties;
 import android.provider.ContactsContract.CommonDataKinds.SipAddress;
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.PhoneLookup;
@@ -135,14 +134,15 @@
                     // However, if there is any code that this Handler calls (such as in
                     // super.handleMessage) that DOES place unexpected messages on the
                     // queue, then we need pass these messages on.
-                    Logger.d(this, "Unexpected command (CookieWrapper is null): " + msg.what +
+                    Log.d(this, "Unexpected command (CookieWrapper is null): " + msg.what +
                             " ignored by CallerInfoWorkerHandler, passing onto parent.");
 
                     super.handleMessage(msg);
                 } else {
 
-                    Logger.d(this, "Processing event: " + cw.event + " token (arg1): " + msg.arg1 +
-                        " command: " + msg.what + " query URI: " + sanitizeUriToString(args.uri));
+                    Log.d(this, "Processing event: " + cw.event + " token (arg1): " + msg.arg1 +
+                            " command: " + msg.what + " query URI: " +
+                            sanitizeUriToString(args.uri));
 
                     switch (cw.event) {
                         case EVENT_NEW_QUERY:
@@ -197,7 +197,7 @@
          */
         @Override
         protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
-            Logger.d(this, "##### onQueryComplete() #####   query complete for token: " + token);
+            Log.d(this, "##### onQueryComplete() #####   query complete for token: " + token);
 
             //get the cookie and notify the listener.
             CookieWrapper cw = (CookieWrapper) cookie;
@@ -206,7 +206,7 @@
                 // from within this code.
                 // However, if there is any code that calls this method, we should
                 // check the parameters to make sure they're viable.
-                Logger.d(this, "Cookie is null, ignoring onQueryComplete() request.");
+                Log.d(this, "Cookie is null, ignoring onQueryComplete() request.");
                 return;
             }
 
@@ -235,13 +235,13 @@
                     mCallerInfo = new CallerInfo().markAsVoiceMail();
                 } else {
                     mCallerInfo = CallerInfo.getCallerInfo(mQueryContext, mQueryUri, cursor);
-                    Logger.d(this, "==> Got mCallerInfo: " + mCallerInfo);
+                    Log.d(this, "==> Got mCallerInfo: " + mCallerInfo);
 
                     CallerInfo newCallerInfo = CallerInfo.doSecondaryLookupIfNecessary(
                             mQueryContext, cw.number, mCallerInfo);
                     if (newCallerInfo != mCallerInfo) {
                         mCallerInfo = newCallerInfo;
-                        Logger.d(this, "#####async contact look up with numeric username"
+                        Log.d(this, "#####async contact look up with numeric username"
                                 + mCallerInfo);
                     }
 
@@ -277,7 +277,7 @@
                     }
                 }
 
-                Logger.d(this, "constructing CallerInfo object for token: " + token);
+                Log.d(this, "constructing CallerInfo object for token: " + token);
 
                 //notify that we can clean up the queue after this.
                 CookieWrapper endMarker = new CookieWrapper();
@@ -287,8 +287,8 @@
 
             //notify the listener that the query is complete.
             if (cw.listener != null) {
-                Logger.d(this, "notifying listener: " + cw.listener.getClass().toString() +
-                             " for token: " + token + mCallerInfo);
+                Log.d(this, "notifying listener: " + cw.listener.getClass().toString() +
+                        " for token: " + token + mCallerInfo);
                 cw.listener.onQueryComplete(token, cw.cookie, mCallerInfo);
             }
         }
@@ -310,7 +310,7 @@
         CallerInfoAsyncQuery c = new CallerInfoAsyncQuery();
         c.allocate(context, contactRef);
 
-        Logger.d(LOG_TAG, "starting query for URI: " + contactRef + " handler: " + c.toString());
+        Log.d(LOG_TAG, "starting query for URI: " + contactRef + " handler: " + c.toString());
 
         //create cookieWrapper, start query
         CookieWrapper cw = new CookieWrapper();
@@ -336,9 +336,9 @@
      */
     public static CallerInfoAsyncQuery startQuery(int token, Context context, String number,
             OnQueryCompleteListener listener, Object cookie) {
-        Logger.d(LOG_TAG, "##### CallerInfoAsyncQuery startQuery()... #####");
-        Logger.d(LOG_TAG, "- number: " + /* number */"xxxxxxx");
-        Logger.d(LOG_TAG, "- cookie: " + cookie);
+        Log.d(LOG_TAG, "##### CallerInfoAsyncQuery startQuery()... #####");
+        Log.d(LOG_TAG, "- number: " + /* number */"xxxxxxx");
+        Log.d(LOG_TAG, "- cookie: " + cookie);
 
         // Construct the URI object and query params, and start the query.
 
@@ -348,7 +348,7 @@
 
         if (PhoneNumberUtils.isUriNumber(number)) {
             // "number" is really a SIP address.
-            Logger.d(LOG_TAG, "  - Treating number as a SIP address: " + /* number */"xxxxxxx");
+            Log.d(LOG_TAG, "  - Treating number as a SIP address: " + /* number */"xxxxxxx");
 
             // We look up SIP addresses directly in the Data table:
             contactRef = Data.CONTENT_URI;
@@ -380,11 +380,11 @@
         }
 
         if (DBG) {
-            Logger.d(LOG_TAG, "==> contactRef: " + sanitizeUriToString(contactRef));
-            Logger.d(LOG_TAG, "==> selection: " + selection);
+            Log.d(LOG_TAG, "==> contactRef: " + sanitizeUriToString(contactRef));
+            Log.d(LOG_TAG, "==> selection: " + selection);
             if (selectionArgs != null) {
                 for (int i = 0; i < selectionArgs.length; i++) {
-                    Logger.d(LOG_TAG, "==> selectionArgs[" + i + "]: " + selectionArgs[i]);
+                    Log.d(LOG_TAG, "==> selectionArgs[" + i + "]: " + selectionArgs[i]);
                 }
             }
         }
@@ -422,7 +422,7 @@
      */
     public void addQueryListener(int token, OnQueryCompleteListener listener, Object cookie) {
 
-        Logger.d(this, "adding listener to query: " + sanitizeUriToString(mHandler.mQueryUri) +
+        Log.d(this, "adding listener to query: " + sanitizeUriToString(mHandler.mQueryUri) +
                 " handler: " + mHandler.toString());
 
         //create cookieWrapper, add query request to end of queue.
diff --git a/InCallUI/src/com/android/incallui/CallerInfoUtils.java b/InCallUI/src/com/android/incallui/CallerInfoUtils.java
index 845a6e3..690b9b7 100644
--- a/InCallUI/src/com/android/incallui/CallerInfoUtils.java
+++ b/InCallUI/src/com/android/incallui/CallerInfoUtils.java
@@ -1,7 +1,6 @@
 package com.android.incallui;
 
 import android.content.Context;
-import android.net.Uri;
 import android.text.TextUtils;
 
 import com.android.services.telephony.common.Call;
@@ -54,7 +53,7 @@
                 return info;
             } else {
                 // Start the query with the number provided from the call.
-                Logger.d(TAG, "==> Actually starting CallerInfoAsyncQuery.startQuery()...");
+                Log.d(TAG, "==> Actually starting CallerInfoAsyncQuery.startQuery()...");
                 CallerInfoAsyncQuery.startQuery(QUERY_TOKEN, context, number, listener, call);
             }
         } else {
@@ -81,7 +80,7 @@
         // displayed/logged after this function returns based on the presentation value.
         if (ci == null || number == null) return number;
 
-        Logger.d(TAG, "modifyForSpecialCnapCases: initially, number="
+        Log.d(TAG, "modifyForSpecialCnapCases: initially, number="
                 + toLogSafePhoneNumber(number)
                 + ", presentation=" + presentation + " ci " + ci);
 
@@ -112,12 +111,12 @@
                 } else if (cnapSpecialCase == Call.PRESENTATION_UNKNOWN) {
                     number = context.getString(R.string.unknown);
                 }
-                Logger.d(TAG, "SpecialCnap: number=" + toLogSafePhoneNumber(number)
+                Log.d(TAG, "SpecialCnap: number=" + toLogSafePhoneNumber(number)
                         + "; presentation now=" + cnapSpecialCase);
                 ci.numberPresentation = cnapSpecialCase;
             }
         }
-        Logger.d(TAG, "modifyForSpecialCnapCases: returning number string="
+        Log.d(TAG, "modifyForSpecialCnapCases: returning number string="
                 + toLogSafePhoneNumber(number));
         return number;
     }
@@ -131,16 +130,16 @@
         if (n.equals("PRIVATE") ||
                 n.equals("P") ||
                 n.equals("RES")) {
-            Logger.d(TAG, "checkCnapSpecialCases, PRIVATE string: " + n);
+            Log.d(TAG, "checkCnapSpecialCases, PRIVATE string: " + n);
             return Call.PRESENTATION_RESTRICTED;
         } else if (n.equals("UNAVAILABLE") ||
                 n.equals("UNKNOWN") ||
                 n.equals("UNA") ||
                 n.equals("U")) {
-            Logger.d(TAG, "checkCnapSpecialCases, UNKNOWN string: " + n);
+            Log.d(TAG, "checkCnapSpecialCases, UNKNOWN string: " + n);
             return Call.PRESENTATION_UNKNOWN;
         } else {
-            Logger.d(TAG, "checkCnapSpecialCases, normal str. number: " + n);
+            Log.d(TAG, "checkCnapSpecialCases, normal str. number: " + n);
             return CNAP_SPECIAL_CASE_NO;
         }
     }
diff --git a/InCallUI/src/com/android/incallui/ContactInfoCache.java b/InCallUI/src/com/android/incallui/ContactInfoCache.java
index c5a4cf5..e62900e 100644
--- a/InCallUI/src/com/android/incallui/ContactInfoCache.java
+++ b/InCallUI/src/com/android/incallui/ContactInfoCache.java
@@ -118,7 +118,7 @@
      */
     @Override
     public void onImageLoadComplete(int token, Drawable photo, Bitmap photoIcon, Object cookie) {
-        Logger.d(this, "Image load complete with context: ", mContext);
+        Log.d(this, "Image load complete with context: ", mContext);
         // TODO: may be nice to update the image view again once the newer one
         // is available on contacts database.
         // TODO (klp): What is this, and why does it need the write_contacts permission?
@@ -127,23 +127,23 @@
         final Call call = (Call) cookie;
 
         if (!mInfoMap.containsKey(call.getCallId())) {
-            Logger.e(this, "Image Load received for empty search entry.");
+            Log.e(this, "Image Load received for empty search entry.");
             return;
         }
 
         final SearchEntry entry = mInfoMap.get(call.getCallId());
 
-        Logger.d(this, "setting photo for entry: ", entry);
+        Log.d(this, "setting photo for entry: ", entry);
 
         // TODO (klp): Handle conference calls
         if (photo != null) {
-            Logger.v(this, "direct drawable: ", photo);
+            Log.v(this, "direct drawable: ", photo);
             entry.info.photo = photo;
         } else if (photoIcon != null) {
-            Logger.v(this, "photo icon: ", photoIcon);
+            Log.v(this, "photo icon: ", photoIcon);
             entry.info.photo = new BitmapDrawable(mContext.getResources(), photoIcon);
         } else {
-            Logger.v(this, "unknown photo");
+            Log.v(this, "unknown photo");
             entry.info.photo = null;
         }
 
@@ -220,19 +220,19 @@
                     // No name *or* number! Display a generic "unknown" string
                     // (or potentially some other default based on the presentation.)
                     displayName = getPresentationString(presentation);
-                    Logger.d(this, "  ==> no name *or* number! displayName = " + displayName);
+                    Log.d(this, "  ==> no name *or* number! displayName = " + displayName);
                 } else if (presentation != Call.PRESENTATION_ALLOWED) {
                     // This case should never happen since the network should never send a phone #
                     // AND a restricted presentation. However we leave it here in case of weird
                     // network behavior
                     displayName = getPresentationString(presentation);
-                    Logger.d(this, "  ==> presentation not allowed! displayName = " + displayName);
+                    Log.d(this, "  ==> presentation not allowed! displayName = " + displayName);
                 } else if (!TextUtils.isEmpty(info.cnapName)) {
                     // No name, but we do have a valid CNAP name, so use that.
                     displayName = info.cnapName;
                     info.name = info.cnapName;
                     displayNumber = number;
-                    Logger.d(this, "  ==> cnapName available: displayName '"
+                    Log.d(this, "  ==> cnapName available: displayName '"
                             + displayName + "', displayNumber '" + displayNumber + "'");
                 } else {
                     // No name; all we have is a number. This is the typical
@@ -250,10 +250,10 @@
                         // query to only do the geoDescription lookup in the first
                         // place for incoming calls.
                         displayNumber = info.geoDescription; // may be null
-                        Logger.d(this, "Geodescrption: " + info.geoDescription);
+                        Log.d(this, "Geodescrption: " + info.geoDescription);
                     }
 
-                    Logger.d(this, "  ==>  no name; falling back to number: displayName '"
+                    Log.d(this, "  ==>  no name; falling back to number: displayName '"
                             + displayName + "', displayNumber '" + displayNumber + "'");
                 }
             } else {
@@ -264,18 +264,18 @@
                     // AND a restricted presentation. However we leave it here in case of weird
                     // network behavior
                     displayName = getPresentationString(presentation);
-                    Logger.d(this, "  ==> valid name, but presentation not allowed!"
+                    Log.d(this, "  ==> valid name, but presentation not allowed!"
                             + " displayName = " + displayName);
                 } else {
                     displayName = info.name;
                     displayNumber = number;
                     label = info.phoneLabel;
-                    Logger.d(this, "  ==>  name is present in CallerInfo: displayName '"
+                    Log.d(this, "  ==>  name is present in CallerInfo: displayName '"
                             + displayName + "', displayNumber '" + displayNumber + "'");
                 }
             }
             personUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, info.person_id);
-            Logger.d(this, "- got personUri: '" + personUri
+            Log.d(this, "- got personUri: '" + personUri
                     + "', based on info.person_id: " + info.person_id);
         } else {
             displayName = getPresentationString(presentation);
@@ -292,10 +292,10 @@
             }
         } else {
             if (personUri == null) {
-                Logger.v(this, "personUri is null. Just use unknown picture.");
+                Log.v(this, "personUri is null. Just use unknown picture.");
                 photo = mContext.getResources().getDrawable(R.drawable.picture_unknown);
             } else {
-                Logger.d(this, "startObtainPhotoAsync");
+                Log.d(this, "startObtainPhotoAsync");
                 // Load the image with a callback to update the image state.
                 // When the load is finished, onImageLoadComplete() will be called.
                 ContactsAsyncHelper.startObtainPhotoAsync(TOKEN_UPDATE_PHOTO_FOR_CALL_STATE,
diff --git a/InCallUI/src/com/android/incallui/ContactsAsyncHelper.java b/InCallUI/src/com/android/incallui/ContactsAsyncHelper.java
index 305486f..395fbfd 100644
--- a/InCallUI/src/com/android/incallui/ContactsAsyncHelper.java
+++ b/InCallUI/src/com/android/incallui/ContactsAsyncHelper.java
@@ -28,7 +28,6 @@
 import android.os.Looper;
 import android.os.Message;
 import android.provider.ContactsContract.Contacts;
-import android.util.Log;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -68,7 +67,7 @@
             switch (msg.arg1) {
                 case EVENT_LOAD_IMAGE:
                     if (args.listener != null) {
-                        Logger.d(this, "Notifying listener: " + args.listener.toString() +
+                        Log.d(this, "Notifying listener: " + args.listener.toString() +
                                 " image: " + args.uri + " completed");
                         args.listener.onImageLoadComplete(msg.what, args.photo, args.photoIcon,
                                 args.cookie);
@@ -192,7 +191,7 @@
                             inputStream = Contacts.openContactPhotoInputStream(
                                     args.context.getContentResolver(), args.uri, true);
                         } catch (Exception e) {
-                            Logger.e(this, "Error opening photo input stream", e);
+                            Log.e(this, "Error opening photo input stream", e);
                         }
 
                         if (inputStream != null) {
@@ -203,12 +202,12 @@
                             // BitmapDrawable and thus we can have (down)scaled version of it.
                             args.photoIcon = getPhotoIconWhenAppropriate(args.context, args.photo);
 
-                            Logger.d(ContactsAsyncHelper.this, "Loading image: " + msg.arg1 +
+                            Log.d(ContactsAsyncHelper.this, "Loading image: " + msg.arg1 +
                                     " token: " + msg.what + " image URI: " + args.uri);
                         } else {
                             args.photo = null;
                             args.photoIcon = null;
-                            Logger.d(ContactsAsyncHelper.this, "Problem with image: " + msg.arg1 +
+                            Log.d(ContactsAsyncHelper.this, "Problem with image: " + msg.arg1 +
                                     " token: " + msg.what + " image URI: " + args.uri +
                                     ", using default image.");
                         }
@@ -217,7 +216,7 @@
                             try {
                                 inputStream.close();
                             } catch (IOException e) {
-                                Logger.e(this, "Unable to close input stream.", e);
+                                Log.e(this, "Unable to close input stream.", e);
                             }
                         }
                     }
@@ -255,7 +254,7 @@
                 // If the longer edge is much longer than the shorter edge, the latter may
                 // become 0 which will cause a crash.
                 if (newWidth <= 0 || newHeight <= 0) {
-                    Logger.w(this, "Photo icon's width or height become 0.");
+                    Log.w(this, "Photo icon's width or height become 0.");
                     return null;
                 }
 
@@ -298,7 +297,7 @@
         // in case the source caller info is null, the URI will be null as well.
         // just update using the placeholder image in this case.
         if (personUri == null) {
-            Logger.wtf("startObjectPhotoAsync", "Uri is missing");
+            Log.wtf("startObjectPhotoAsync", "Uri is missing");
             return;
         }
 
@@ -317,7 +316,7 @@
         msg.arg1 = EVENT_LOAD_IMAGE;
         msg.obj = args;
 
-        Logger.d("startObjectPhotoAsync", "Begin loading image: " + args.uri +
+        Log.d("startObjectPhotoAsync", "Begin loading image: " + args.uri +
                 ", displaying default image for now.");
 
         // notify the thread to begin working
diff --git a/InCallUI/src/com/android/incallui/DialpadFragment.java b/InCallUI/src/com/android/incallui/DialpadFragment.java
index b996e4f..428750d 100644
--- a/InCallUI/src/com/android/incallui/DialpadFragment.java
+++ b/InCallUI/src/com/android/incallui/DialpadFragment.java
@@ -60,7 +60,7 @@
 
     @Override
     public void onClick(View v) {
-        Logger.d(this, "onClick");
+        Log.d(this, "onClick");
         final AccessibilityManager accessibilityManager = (AccessibilityManager)
             getActivity().getSystemService(Context.ACCESSIBILITY_SERVICE);
         // When accessibility is on, simulate press and release to preserve the
@@ -109,7 +109,7 @@
 
     @Override
     public boolean onKey(View v, int keyCode, KeyEvent event) {
-        Logger.d(this, "onKey:  keyCode " + keyCode + ", view " + v);
+        Log.d(this, "onKey:  keyCode " + keyCode + ", view " + v);
 
         if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
             int viewId = v.getId();
@@ -133,7 +133,7 @@
 
     @Override
     public boolean onTouch(View v, MotionEvent event) {
-        Logger.d(this, "onTouch");
+        Log.d(this, "onTouch");
         int viewId = v.getId();
 
         // if the button is recognized
diff --git a/InCallUI/src/com/android/incallui/DialpadPresenter.java b/InCallUI/src/com/android/incallui/DialpadPresenter.java
index 727c90d..cee80d2 100644
--- a/InCallUI/src/com/android/incallui/DialpadPresenter.java
+++ b/InCallUI/src/com/android/incallui/DialpadPresenter.java
@@ -52,17 +52,17 @@
      */
     // TODO(klp) Add timedShortTone==true handling for accessibility cases.
     public final void processDtmf(char c, boolean timedShortTone) {
-        Logger.d(this, "Processing dtmf key " + c);
+        Log.d(this, "Processing dtmf key " + c);
         // if it is a valid key, then update the display and send the dtmf tone.
         if (PhoneNumberUtils.is12Key(c)) {
-            Logger.d(this, "updating display and sending dtmf tone for '" + c + "'");
+            Log.d(this, "updating display and sending dtmf tone for '" + c + "'");
 
             // Append this key to the "digits" widget.
             getUi().appendDigitsToField(c);
             // Plays the tone through CallCommandService
             CallCommandClient.getInstance().playDtmfTone(c, timedShortTone);
         } else {
-            Logger.d(this, "ignoring dtmf request for '" + c + "'");
+            Log.d(this, "ignoring dtmf request for '" + c + "'");
         }
     }
 
@@ -70,7 +70,7 @@
      * Stops the local tone based on the phone type.
      */
     public void stopTone() {
-        Logger.d(this, "stopping remote tone");
+        Log.d(this, "stopping remote tone");
         CallCommandClient.getInstance().stopDtmfTone();
     }
 
diff --git a/InCallUI/src/com/android/incallui/GlowPadWrapper.java b/InCallUI/src/com/android/incallui/GlowPadWrapper.java
index fbc85ef..0e1d47d 100644
--- a/InCallUI/src/com/android/incallui/GlowPadWrapper.java
+++ b/InCallUI/src/com/android/incallui/GlowPadWrapper.java
@@ -59,7 +59,7 @@
 
     @Override
     protected void onFinishInflate() {
-        Logger.d(this, "onFinishInflate()");
+        Log.d(this, "onFinishInflate()");
         super.onFinishInflate();
         setOnTriggerListener(this);
         startPing();
@@ -67,7 +67,7 @@
 
     @Override
     protected void onWindowVisibilityChanged(int visibility) {
-        Logger.d(this, "Visibility changed " + visibility);
+        Log.d(this, "Visibility changed " + visibility);
         super.onWindowVisibilityChanged(visibility);
         switch (visibility) {
             case View.VISIBLE:
@@ -82,7 +82,7 @@
 
     @Override
     protected Parcelable onSaveInstanceState() {
-        Logger.d(this, "onSaveInstanceState()");
+        Log.d(this, "onSaveInstanceState()");
         // TODO: evaluate this versus stopping during fragment onPause/onResume
         stopPing();
         return super.onSaveInstanceState();
@@ -109,19 +109,19 @@
 
     @Override
     public void onGrabbed(View v, int handle) {
-        Logger.d(this, "onGrabbed()");
+        Log.d(this, "onGrabbed()");
         stopPing();
     }
 
     @Override
     public void onReleased(View v, int handle) {
-        Logger.d(this, "onReleased()");
+        Log.d(this, "onReleased()");
         startPing();
     }
 
     @Override
     public void onTrigger(View v, int target) {
-        Logger.d(this, "onTrigger()");
+        Log.d(this, "onTrigger()");
         final int resId = getResourceIdForTarget(target);
         switch (resId) {
             case R.drawable.ic_lockscreen_answer:
@@ -135,7 +135,7 @@
                 break;
             default:
                 // Code should never reach here.
-                Logger.e(this, "Trigger detected on unhandled resource. Skipping.");
+                Log.e(this, "Trigger detected on unhandled resource. Skipping.");
         }
     }
 
diff --git a/InCallUI/src/com/android/incallui/InCallActivity.java b/InCallUI/src/com/android/incallui/InCallActivity.java
index 776f7e0..ec5002f 100644
--- a/InCallUI/src/com/android/incallui/InCallActivity.java
+++ b/InCallUI/src/com/android/incallui/InCallActivity.java
@@ -17,7 +17,6 @@
 package com.android.incallui;
 
 import android.app.Activity;
-import android.app.Fragment;
 import android.content.Intent;
 import android.content.res.Configuration;
 import android.os.Bundle;
@@ -39,7 +38,7 @@
 
     @Override
     protected void onCreate(Bundle icicle) {
-        Logger.d(this, "onCreate()...  this = " + this);
+        Log.d(this, "onCreate()...  this = " + this);
 
         super.onCreate(icicle);
 
@@ -60,12 +59,12 @@
 
         initializeInCall();
 
-        Logger.d(this, "onCreate(): exit");
+        Log.d(this, "onCreate(): exit");
     }
 
     @Override
     protected void onResume() {
-        Logger.d(this, "onResume()...");
+        Log.d(this, "onResume()...");
         super.onResume();
 
         mIsForegroundActivity = true;
@@ -76,7 +75,7 @@
     // in the background.
     @Override
     protected void onPause() {
-        Logger.d(this, "onPause()...");
+        Log.d(this, "onPause()...");
         super.onPause();
 
         mIsForegroundActivity = false;
@@ -85,13 +84,13 @@
 
     @Override
     protected void onStop() {
-        Logger.d(this, "onStop()...");
+        Log.d(this, "onStop()...");
         super.onStop();
     }
 
     @Override
     protected void onDestroy() {
-        Logger.d(this, "onDestroy()...  this = " + this);
+        Log.d(this, "onDestroy()...  this = " + this);
 
         tearDownPresenters();
 
@@ -122,13 +121,13 @@
      */
     @Override
     public void finish() {
-        Logger.d(this, "finish()...");
+        Log.d(this, "finish()...");
         super.finish();
     }
 
     @Override
     protected void onNewIntent(Intent intent) {
-        Logger.d(this, "onNewIntent: intent = " + intent);
+        Log.d(this, "onNewIntent: intent = " + intent);
 
         // We're being re-launched with a new Intent.  Since it's possible for a
         // single InCallActivity instance to persist indefinitely (even if we
@@ -150,7 +149,7 @@
     @Override
     public void onBackPressed() {
         // TODO(klp): implement fully
-        Logger.d(this, "onBackPressed()...");
+        Log.d(this, "onBackPressed()...");
 
         // BACK is also used to exit out of any "special modes" of the
         // in-call UI:
@@ -196,8 +195,8 @@
 
             // Various testing/debugging features, enabled ONLY when VERBOSE == true.
             case KeyEvent.KEYCODE_SLASH:
-                if (Logger.VERBOSE) {
-                    Logger.v(this, "----------- InCallActivity View dump --------------");
+                if (Log.VERBOSE) {
+                    Log.v(this, "----------- InCallActivity View dump --------------");
                     // Dump starting from the top-level view of the entire activity:
                     Window w = this.getWindow();
                     View decorView = w.getDecorView();
@@ -307,7 +306,7 @@
     }
 
     private void tearDownPresenters() {
-        Logger.d(this, "Tearing down presenters.");
+        Log.d(this, "Tearing down presenters.");
         InCallPresenter mainPresenter = InCallPresenter.getInstance();
 
         mainPresenter.removeListener(mCallButtonFragment.getPresenter());
diff --git a/InCallUI/src/com/android/incallui/InCallApp.java b/InCallUI/src/com/android/incallui/InCallApp.java
index 299baf3..02f07b8 100644
--- a/InCallUI/src/com/android/incallui/InCallApp.java
+++ b/InCallUI/src/com/android/incallui/InCallApp.java
@@ -58,7 +58,7 @@
         @Override
         public void onReceive(Context context, Intent intent) {
             final String action = intent.getAction();
-            Logger.v(this, "Broadcast from Notification: ", action);
+            Log.v(this, "Broadcast from Notification: ", action);
 
             if (action.equals(ACTION_HANG_UP_ONGOING_CALL)) {
                 // TODO: Commands of this nature should exist in the CallList or a
diff --git a/InCallUI/src/com/android/incallui/InCallPresenter.java b/InCallUI/src/com/android/incallui/InCallPresenter.java
index 1931c1b..8df8c16 100644
--- a/InCallUI/src/com/android/incallui/InCallPresenter.java
+++ b/InCallUI/src/com/android/incallui/InCallPresenter.java
@@ -78,7 +78,7 @@
         mProximitySensor = new ProximitySensor(context, mAudioModeProvider);
         addListener(mProximitySensor);
 
-        Logger.d(this, "Finished InCallPresenter.setUp");
+        Log.d(this, "Finished InCallPresenter.setUp");
     }
 
     /**
@@ -90,7 +90,7 @@
      * that performs the aforementioned logic.
      */
     public void tearDown() {
-        Logger.d(this, "tearDown");
+        Log.d(this, "tearDown");
         mServiceConnected = false;
         attemptCleanup();
     }
@@ -104,13 +104,13 @@
         mInCallActivity = inCallActivity;
 
         if (mInCallActivity != null) {
-            Logger.d(this, "UI Initialized");
+            Log.d(this, "UI Initialized");
 
             // Since the UI just came up, imitate an update from the call list
             // to set the proper UI state.
             onCallListChange(mCallList);
         } else {
-            Logger.d(this, "setActivity(null)");
+            Log.d(this, "setActivity(null)");
             attemptCleanup();
         }
     }
@@ -131,7 +131,7 @@
 
         // notify listeners of new state
         for (InCallStateListener listener : mListeners) {
-            Logger.d(this, "Notify " + listener + " of state " + mInCallState.toString());
+            Log.d(this, "Notify " + listener + " of state " + mInCallState.toString());
             listener.onStateChange(mInCallState, callList);
         }
     }
@@ -219,7 +219,7 @@
      * the UI needs to be started or finished depending on the new state and does it.
      */
     private InCallState startOrFinishUi(InCallState newState) {
-        Logger.d(this, "startOrFinishUi: " + newState.toString());
+        Log.d(this, "startOrFinishUi: " + newState.toString());
 
         // TODO(klp): Consider a proper state machine implementation
 
@@ -264,8 +264,8 @@
         // user with a top-level notification.  Just show the call UI normally.
         final boolean showCallUi = (InCallState.OUTGOING == newState);
 
-        Logger.v(this, "showCallUi: ", showCallUi);
-        Logger.v(this, "startStartupSequence: ", startStartupSequence);
+        Log.v(this, "showCallUi: ", showCallUi);
+        Log.v(this, "startStartupSequence: ", startStartupSequence);
 
 
         if (showCallUi) {
@@ -297,8 +297,9 @@
      */
     private void attemptCleanup() {
         if (mInCallActivity == null && !mServiceConnected) {
-            Logger.d(this, "Start InCallPresenter.CleanUp");
+            Log.d(this, "Start InCallPresenter.CleanUp");
             mProximitySensor = null;
+
             mAudioModeProvider = null;
 
             removeListener(mStatusBarNotifier);
@@ -312,12 +313,12 @@
 
             mListeners.clear();
 
-            Logger.d(this, "Finished InCallPresenter.CleanUp");
+            Log.d(this, "Finished InCallPresenter.CleanUp");
         }
     }
 
     private void showInCall() {
-        Logger.d(this, "Showing in call manually.");
+        Log.d(this, "Showing in call manually.");
         mContext.startActivity(getInCallIntent());
     }
 
diff --git a/InCallUI/src/com/android/incallui/Logger.java b/InCallUI/src/com/android/incallui/Log.java
similarity index 66%
rename from InCallUI/src/com/android/incallui/Logger.java
rename to InCallUI/src/com/android/incallui/Log.java
index 10433be..029bace 100644
--- a/InCallUI/src/com/android/incallui/Logger.java
+++ b/InCallUI/src/com/android/incallui/Log.java
@@ -16,79 +16,78 @@
 
 package com.android.incallui;
 
-import android.util.Log;
-
 /**
  * Manages logging for the entire class.
  */
-/*package*/ class Logger {
+public class Log {
 
     // Generic tag for all In Call logging
     private static final String TAG = "InCall";
 
-    public static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
-    public static final boolean VERBOSE = Log.isLoggable(TAG, Log.VERBOSE);
+    public static final boolean DEBUG = android.util.Log.isLoggable(TAG, android.util.Log.DEBUG);
+    public static final boolean VERBOSE = android.util.Log.isLoggable(TAG,
+            android.util.Log.VERBOSE);
 
     public static void d(String tag, String msg) {
         if (DEBUG) {
-            Log.d(TAG, tag + msg);
+            android.util.Log.d(TAG, tag + msg);
         }
     }
 
     public static void d(Object obj, String msg) {
         if (DEBUG) {
-            Log.d(TAG, getPrefix(obj) + msg);
+            android.util.Log.d(TAG, getPrefix(obj) + msg);
         }
     }
 
     public static void d(Object obj, String str1, Object str2) {
         if (DEBUG) {
-            Log.d(TAG, getPrefix(obj) + str1 + str2);
+            android.util.Log.d(TAG, getPrefix(obj) + str1 + str2);
         }
     }
 
     public static void v(Object obj, String msg) {
         if (VERBOSE) {
-            Log.v(TAG, getPrefix(obj) + msg);
+            android.util.Log.v(TAG, getPrefix(obj) + msg);
         }
     }
 
     public static void v(Object obj, String str1, Object str2) {
         if (VERBOSE) {
-            Log.d(TAG, getPrefix(obj) + str1 + str2);
+            android.util.Log.d(TAG, getPrefix(obj) + str1 + str2);
         }
     }
 
     public static void e(String tag, String msg, Exception e) {
-        Log.e(TAG, tag + msg, e);
+        android.util.Log.e(TAG, tag + msg, e);
     }
 
     public static void e(String tag, String msg) {
-        Log.e(TAG, tag + msg);
+        android.util.Log.e(TAG, tag + msg);
     }
 
     public static void e(Object obj, String msg, Exception e) {
-        Log.e(TAG, getPrefix(obj) + msg, e);
+        android.util.Log.e(TAG, getPrefix(obj) + msg, e);
     }
 
     public static void e(Object obj, String msg) {
-        Log.e(TAG, getPrefix(obj) + msg);
+        android.util.Log.e(TAG, getPrefix(obj) + msg);
     }
 
     public static void i(String tag, String msg) {
-        Log.i(TAG, tag + msg);
+        android.util.Log.i(TAG, tag + msg);
     }
 
     public static void i(Object obj, String msg) {
-        Log.i(TAG, getPrefix(obj) + msg);
+        android.util.Log.i(TAG, getPrefix(obj) + msg);
     }
 
     public static void w(Object obj, String msg) {
-        Log.w(TAG, getPrefix(obj) + msg);
+        android.util.Log.w(TAG, getPrefix(obj) + msg);
     }
 
     public static void wtf(Object obj, String msg) {
-        Log.wtf(TAG, getPrefix(obj) + msg);
+        android.util.Log.wtf(TAG, getPrefix(obj) + msg);
     }
 
     private static String getPrefix(Object obj) {
diff --git a/InCallUI/src/com/android/incallui/StatusBarNotifier.java b/InCallUI/src/com/android/incallui/StatusBarNotifier.java
index 0c39dc8..466c7b2 100644
--- a/InCallUI/src/com/android/incallui/StatusBarNotifier.java
+++ b/InCallUI/src/com/android/incallui/StatusBarNotifier.java
@@ -25,7 +25,6 @@
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
 import android.text.TextUtils;
 
 import com.android.incallui.ContactInfoCache.ContactCacheEntry;
@@ -137,7 +136,7 @@
      * @see updateInCallNotification()
      */
     private void cancelInCall() {
-        Logger.d(this, "cancelInCall()...");
+        Log.d(this, "cancelInCall()...");
         mNotificationManager.cancel(IN_CALL_NOTIFICATION);
 
         mIsShowingNotification = false;
@@ -158,8 +157,8 @@
      */
     private void updateInCallNotification(final boolean allowFullScreenIntent,
             final InCallState state, CallList callList) {
-        Logger.d(this, "updateInCallNotification(allowFullScreenIntent = "
-                     + allowFullScreenIntent + ")...");
+        Log.d(this, "updateInCallNotification(allowFullScreenIntent = "
+                + allowFullScreenIntent + ")...");
 
         if (shouldSuppressNotification(state, callList)) {
             cancelInCall();
@@ -168,7 +167,7 @@
 
         final Call call = getCallToShow(callList);
         if (call == null) {
-            Logger.wtf(this, "No call for the notification!");
+            Log.wtf(this, "No call for the notification!");
         }
 
         // we make a call to the contact info cache to query for supplemental data to what the
@@ -238,7 +237,7 @@
          * Fire off the notification
          */
         Notification notification = builder.build();
-        Logger.d(this, "Notifying IN_CALL_NOTIFICATION: " + notification);
+        Log.d(this, "Notifying IN_CALL_NOTIFICATION: " + notification);
         mNotificationManager.notify(IN_CALL_NOTIFICATION, notification);
         mIsShowingNotification = true;
     }
@@ -266,13 +265,13 @@
         // A full screen intent means that we have been asked to interrupt an activity,
         // so we definitely want to show it.
         if (showFullScreenIntent) {
-            Logger.d(this, "Forcing full screen intent");
+            Log.d(this, "Forcing full screen intent");
             retval = true;
         }
 
         // If we aren't showing a notification right now, definitely start showing one.
         if (!mIsShowingNotification) {
-            Logger.d(this, "Showing notification for first time.");
+            Log.d(this, "Showing notification for first time.");
             retval = true;
         }
 
@@ -283,7 +282,7 @@
         mSavedContentTitle = contentTitle;
 
         if (retval) {
-            Logger.d(this, "Data changed.  Showing notification");
+            Log.d(this, "Data changed.  Showing notification");
         }
 
         return retval;
@@ -363,7 +362,7 @@
     }
 
     private void addHangupAction(Notification.Builder builder) {
-        Logger.i(this, "Will show \"hang-up\" action in the ongoing active call Notification");
+        Log.i(this, "Will show \"hang-up\" action in the ongoing active call Notification");
 
         // TODO: use better asset.
         builder.addAction(R.drawable.stat_sys_phone_call_end,
@@ -380,7 +379,7 @@
         // to the status bar).  Setting fullScreenIntent will cause
         // the InCallScreen to be launched immediately *unless* the
         // current foreground activity is marked as "immersive".
-        Logger.d(this, "- Setting fullScreenIntent: " + intent);
+        Log.d(this, "- Setting fullScreenIntent: " + intent);
         builder.setFullScreenIntent(intent, true);
 
         // Ugly hack alert:
@@ -406,7 +405,7 @@
 
         // TODO(klp): reenable this for klp
         /*if (incomingCall.getState() == Call.State.CALL_WAITING) {
-            Logger.i(this, "updateInCallNotification: call-waiting! force relaunch...");
+            Log.i(this, "updateInCallNotification: call-waiting! force relaunch...");
             // Cancel the IN_CALL_NOTIFICATION immediately before
             // (re)posting it; this seems to force the
             // NotificationManager to launch the fullScreenIntent.
diff --git a/InCallUI/src/com/android/incallui/util/HttpFetcher.java b/InCallUI/src/com/android/incallui/util/HttpFetcher.java
index b54bf71..6548a5a 100644
--- a/InCallUI/src/com/android/incallui/util/HttpFetcher.java
+++ b/InCallUI/src/com/android/incallui/util/HttpFetcher.java
@@ -17,8 +17,8 @@
 package com.android.incallui.util;
 
 import android.os.SystemClock;
-import android.util.Log;
 
+import com.android.incallui.Log;
 import com.google.common.io.Closeables;
 
 import java.io.ByteArrayOutputStream;