Switch the services library to using the new Slog
diff --git a/core/java/android/util/Log.java b/core/java/android/util/Log.java
index 354d21f..e111669 100644
--- a/core/java/android/util/Log.java
+++ b/core/java/android/util/Log.java
@@ -289,10 +289,11 @@
         return println_native(LOG_ID_MAIN, priority, tag, msg);
     }
 
-    static final int LOG_ID_MAIN = 0;
-    static final int LOG_ID_RADIO = 1;
-    static final int LOG_ID_EVENTS = 2;
-    static final int LOG_ID_SYSTEM = 3;
+    /** @hide */ public static final int LOG_ID_MAIN = 0;
+    /** @hide */ public static final int LOG_ID_RADIO = 1;
+    /** @hide */ public static final int LOG_ID_EVENTS = 2;
+    /** @hide */ public static final int LOG_ID_SYSTEM = 3;
 
-    static native int println_native(int bufID, int priority, String tag, String msg);
+    /** @hide */ public static native int println_native(int bufID,
+            int priority, String tag, String msg);
 }
diff --git a/core/java/android/util/LogPrinter.java b/core/java/android/util/LogPrinter.java
index 643b8d3..68f64d0 100644
--- a/core/java/android/util/LogPrinter.java
+++ b/core/java/android/util/LogPrinter.java
@@ -23,6 +23,7 @@
 public class LogPrinter implements Printer {
     private final int mPriority;
     private final String mTag;
+    private final int mBuffer;
     
     /**
      * Create a new Printer that sends to the log with the given priority
@@ -39,9 +40,20 @@
     public LogPrinter(int priority, String tag) {
         mPriority = priority;
         mTag = tag;
+        mBuffer = Log.LOG_ID_MAIN;
+    }
+
+    /**
+     * @hide
+     * Same as above, but buffer is one of the LOG_ID_ constants from android.util.Log.
+     */
+    public LogPrinter(int priority, String tag, int buffer) {
+        mPriority = priority;
+        mTag = tag;
+        mBuffer = buffer;
     }
     
     public void println(String x) {
-        Log.println(mPriority, mTag, x);
+        Log.println_native(mBuffer, mPriority, mTag, x);
     }
 }
diff --git a/services/java/com/android/server/AccessibilityManagerService.java b/services/java/com/android/server/AccessibilityManagerService.java
index c55dcb3..87de79a 100644
--- a/services/java/com/android/server/AccessibilityManagerService.java
+++ b/services/java/com/android/server/AccessibilityManagerService.java
@@ -47,7 +47,7 @@
 import android.text.TextUtils;
 import android.text.TextUtils.SimpleStringSplitter;
 import android.util.Config;
-import android.util.Log;
+import android.util.Slog;
 import android.util.SparseArray;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.IAccessibilityManager;
@@ -275,7 +275,7 @@
                 client.setEnabled(mIsEnabled);
                 mClients.add(client);
             } catch (RemoteException re) {
-                Log.w(LOG_TAG, "Dead AccessibilityManagerClient: " + client, re);
+                Slog.w(LOG_TAG, "Dead AccessibilityManagerClient: " + client, re);
             }
         }
     }
@@ -309,13 +309,13 @@
                     service.mServiceInterface.onInterrupt();
                 } catch (RemoteException re) {
                     if (re instanceof DeadObjectException) {
-                        Log.w(LOG_TAG, "Dead " + service.mService + ". Cleaning up.");
+                        Slog.w(LOG_TAG, "Dead " + service.mService + ". Cleaning up.");
                         if (removeDeadServiceLocked(service)) {
                             count--;
                             i--;
                         }
                     } else {
-                        Log.e(LOG_TAG, "Error during sending interrupt request to "
+                        Slog.e(LOG_TAG, "Error during sending interrupt request to "
                                 + service.mService, re);
                     }
                 }
@@ -343,7 +343,7 @@
                 }
                 return;
             default:
-                Log.w(LOG_TAG, "Unknown message type: " + message.what);
+                Slog.w(LOG_TAG, "Unknown message type: " + message.what);
         }
     }
 
@@ -451,16 +451,16 @@
         try {
             listener.onAccessibilityEvent(event);
             if (Config.DEBUG) {
-                Log.i(LOG_TAG, "Event " + event + " sent to " + listener);
+                Slog.i(LOG_TAG, "Event " + event + " sent to " + listener);
             }
         } catch (RemoteException re) {
             if (re instanceof DeadObjectException) {
-                Log.w(LOG_TAG, "Dead " + service.mService + ". Cleaning up.");
+                Slog.w(LOG_TAG, "Dead " + service.mService + ". Cleaning up.");
                 synchronized (mLock) {
                     removeDeadServiceLocked(service);
                 }
             } else {
-                Log.e(LOG_TAG, "Error during sending " + event + " to " + service.mService, re);
+                Slog.e(LOG_TAG, "Error during sending " + event + " to " + service.mService, re);
             }
         }
     }
@@ -476,7 +476,7 @@
         mHandler.removeMessages(service.mId);
 
         if (Config.DEBUG) {
-            Log.i(LOG_TAG, "Dead service " + service.mService + " removed");
+            Slog.i(LOG_TAG, "Dead service " + service.mService + " removed");
         }
 
         if (mServices.isEmpty()) {
@@ -722,7 +722,7 @@
                     }
                 }
             } catch (RemoteException re) {
-                Log.w(LOG_TAG, "Error while setting Controller for service: " + service, re);
+                Slog.w(LOG_TAG, "Error while setting Controller for service: " + service, re);
             }
         }
 
diff --git a/services/java/com/android/server/AlarmManagerService.java b/services/java/com/android/server/AlarmManagerService.java
index f480209..43fe6ab 100644
--- a/services/java/com/android/server/AlarmManagerService.java
+++ b/services/java/com/android/server/AlarmManagerService.java
@@ -37,7 +37,7 @@
 import android.text.TextUtils;
 import android.text.format.Time;
 import android.util.EventLog;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -141,7 +141,7 @@
         if (mDescriptor != -1) {
             mWaitThread.start();
         } else {
-            Log.w(TAG, "Failed to open alarm driver. Falling back to a handler.");
+            Slog.w(TAG, "Failed to open alarm driver. Falling back to a handler.");
         }
     }
     
@@ -160,7 +160,7 @@
     public void setRepeating(int type, long triggerAtTime, long interval, 
             PendingIntent operation) {
         if (operation == null) {
-            Log.w(TAG, "set/setRepeating ignored because there is no intent");
+            Slog.w(TAG, "set/setRepeating ignored because there is no intent");
             return;
         }
         synchronized (mLock) {
@@ -173,7 +173,7 @@
             // Remove this alarm if already scheduled.
             removeLocked(operation);
 
-            if (localLOGV) Log.v(TAG, "set: " + alarm);
+            if (localLOGV) Slog.v(TAG, "set: " + alarm);
 
             int index = addAlarmLocked(alarm);
             if (index == 0) {
@@ -185,7 +185,7 @@
     public void setInexactRepeating(int type, long triggerAtTime, long interval, 
             PendingIntent operation) {
         if (operation == null) {
-            Log.w(TAG, "setInexactRepeating ignored because there is no intent");
+            Slog.w(TAG, "setInexactRepeating ignored because there is no intent");
             return;
         }
 
@@ -237,7 +237,7 @@
 
         // Remember where this bucket started (reducing the amount of later 
         // fixup required) and set the alarm with the new, bucketed start time.
-        if (localLOGV) Log.v(TAG, "setInexactRepeating: interval=" + interval
+        if (localLOGV) Slog.v(TAG, "setInexactRepeating: interval=" + interval
                 + " bucketTime=" + bucketTime);
         mInexactDeliveryTimes[intervalSlot] = bucketTime;
         setRepeating(type, bucketTime, interval, operation);
@@ -264,7 +264,7 @@
         synchronized (this) {
             String current = SystemProperties.get(TIMEZONE_PROPERTY);
             if (current == null || !current.equals(zone.getID())) {
-                if (localLOGV) Log.v(TAG, "timezone changed: " + current + ", new=" + zone.getID());
+                if (localLOGV) Slog.v(TAG, "timezone changed: " + current + ", new=" + zone.getID());
                 timeZoneWasChanged = true; 
                 SystemProperties.set(TIMEZONE_PROPERTY, zone.getID());
             }
@@ -379,18 +379,18 @@
         if (index < 0) {
             index = 0 - index - 1;
         }
-        if (localLOGV) Log.v(TAG, "Adding alarm " + alarm + " at " + index);
+        if (localLOGV) Slog.v(TAG, "Adding alarm " + alarm + " at " + index);
         alarmList.add(index, alarm);
 
         if (localLOGV) {
             // Display the list of alarms for this alarm type
-            Log.v(TAG, "alarms: " + alarmList.size() + " type: " + alarm.type);
+            Slog.v(TAG, "alarms: " + alarmList.size() + " type: " + alarm.type);
             int position = 0;
             for (Alarm a : alarmList) {
                 Time time = new Time();
                 time.set(a.when);
                 String timeStr = time.format("%b %d %I:%M:%S %p");
-                Log.v(TAG, position + ": " + timeStr
+                Slog.v(TAG, position + ": " + timeStr
                         + " " + a.operation.getTargetPackage());
                 position += 1;
             }
@@ -514,7 +514,7 @@
         {
             Alarm alarm = it.next();
 
-            if (localLOGV) Log.v(TAG, "Checking active alarm when=" + alarm.when + " " + alarm);
+            if (localLOGV) Slog.v(TAG, "Checking active alarm when=" + alarm.when + " " + alarm);
 
             if (alarm.when > now) {
                 // don't fire alarms in the future
@@ -526,14 +526,14 @@
             // the Calendar app with a reminder that is in the past. In that
             // case, the reminder alarm will fire immediately.
             if (localLOGV && now - alarm.when > LATE_ALARM_THRESHOLD) {
-                Log.v(TAG, "alarm is late! alarm time: " + alarm.when
+                Slog.v(TAG, "alarm is late! alarm time: " + alarm.when
                         + " now: " + now + " delay (in seconds): "
                         + (now - alarm.when) / 1000);
             }
 
             // Recurring alarms may have passed several alarm intervals while the
             // phone was asleep or off, so pass a trigger count when sending them.
-            if (localLOGV) Log.v(TAG, "Alarm triggering: " + alarm);
+            if (localLOGV) Slog.v(TAG, "Alarm triggering: " + alarm);
             alarm.count = 1;
             if (alarm.repeatInterval > 0) {
                 // this adjustment will be zero if we're late by
@@ -644,7 +644,7 @@
                 synchronized (mLock) {
                     final long nowRTC = System.currentTimeMillis();
                     final long nowELAPSED = SystemClock.elapsedRealtime();
-                    if (localLOGV) Log.v(
+                    if (localLOGV) Slog.v(
                         TAG, "Checking for alarms... rtc=" + nowRTC
                         + ", elapsed=" + nowELAPSED);
 
@@ -665,7 +665,7 @@
                     while (it.hasNext()) {
                         Alarm alarm = it.next();
                         try {
-                            if (localLOGV) Log.v(TAG, "sending alarm " + alarm);
+                            if (localLOGV) Slog.v(TAG, "sending alarm " + alarm);
                             alarm.operation.send(mContext, 0,
                                     mBackgroundIntent.putExtra(
                                             Intent.EXTRA_ALARM_COUNT, alarm.count),
@@ -696,7 +696,7 @@
                                 remove(alarm.operation);
                             }
                         } catch (RuntimeException e) {
-                            Log.w(TAG, "Failure sending alarm.", e);
+                            Slog.w(TAG, "Failure sending alarm.", e);
                         }
                     }
                 }
diff --git a/services/java/com/android/server/AppWidgetService.java b/services/java/com/android/server/AppWidgetService.java
index a5b0db9..e5a5e03 100644
--- a/services/java/com/android/server/AppWidgetService.java
+++ b/services/java/com/android/server/AppWidgetService.java
@@ -38,7 +38,7 @@
 import android.os.RemoteException;
 import android.os.SystemClock;
 import android.util.AttributeSet;
-import android.util.Log;
+import android.util.Slog;
 import android.util.TypedValue;
 import android.util.Xml;
 import android.widget.RemoteViews;
@@ -428,7 +428,7 @@
         synchronized (mAppWidgetIds) {
             Provider p = lookupProviderLocked(provider);
             if (p == null) {
-                Log.w(TAG, "updateAppWidgetProvider: provider doesn't exist: " + provider);
+                Slog.w(TAG, "updateAppWidgetProvider: provider doesn't exist: " + provider);
                 return;
             }
             ArrayList<AppWidgetId> instances = p.instances;
@@ -683,7 +683,7 @@
             parser = activityInfo.loadXmlMetaData(mPackageManager,
                     AppWidgetManager.META_DATA_APPWIDGET_PROVIDER);
             if (parser == null) {
-                Log.w(TAG, "No " + AppWidgetManager.META_DATA_APPWIDGET_PROVIDER + " meta-data for "
+                Slog.w(TAG, "No " + AppWidgetManager.META_DATA_APPWIDGET_PROVIDER + " meta-data for "
                         + "AppWidget provider '" + component + '\'');
                 return null;
             }
@@ -698,7 +698,7 @@
             
             String nodeName = parser.getName();
             if (!"appwidget-provider".equals(nodeName)) {
-                Log.w(TAG, "Meta-data does not start with appwidget-provider tag for"
+                Slog.w(TAG, "Meta-data does not start with appwidget-provider tag for"
                         + " AppWidget provider '" + component + '\'');
                 return null;
             }
@@ -737,7 +737,7 @@
             // Ok to catch Exception here, because anything going wrong because
             // of what a client process passes to us should not be fatal for the
             // system process.
-            Log.w(TAG, "XML parsing failed for AppWidget provider '" + component + '\'', e);
+            Slog.w(TAG, "XML parsing failed for AppWidget provider '" + component + '\'', e);
             return null;
         } finally {
             if (parser != null) parser.close();
@@ -829,7 +829,7 @@
         }
 
         if (!writeStateToFileLocked(temp)) {
-            Log.w(TAG, "Failed to persist new settings");
+            Slog.w(TAG, "Failed to persist new settings");
             return;
         }
 
@@ -980,7 +980,7 @@
                             int pIndex = Integer.parseInt(providerString, 16);
                             id.provider = loadedProviders.get(pIndex);
                             if (false) {
-                                Log.d(TAG, "bound appWidgetId=" + id.appWidgetId + " to provider "
+                                Slog.d(TAG, "bound appWidgetId=" + id.appWidgetId + " to provider "
                                         + pIndex + " which is " + id.provider);
                             }
                             if (id.provider == null) {
@@ -1007,15 +1007,15 @@
             } while (type != XmlPullParser.END_DOCUMENT);
             success = true;
         } catch (NullPointerException e) {
-            Log.w(TAG, "failed parsing " + file, e);
+            Slog.w(TAG, "failed parsing " + file, e);
         } catch (NumberFormatException e) {
-            Log.w(TAG, "failed parsing " + file, e);
+            Slog.w(TAG, "failed parsing " + file, e);
         } catch (XmlPullParserException e) {
-            Log.w(TAG, "failed parsing " + file, e);
+            Slog.w(TAG, "failed parsing " + file, e);
         } catch (IOException e) {
-            Log.w(TAG, "failed parsing " + file, e);
+            Slog.w(TAG, "failed parsing " + file, e);
         } catch (IndexOutOfBoundsException e) {
-            Log.w(TAG, "failed parsing " + file, e);
+            Slog.w(TAG, "failed parsing " + file, e);
         }
         try {
             if (stream != null) {
@@ -1055,7 +1055,7 @@
     BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
         public void onReceive(Context context, Intent intent) {
             String action = intent.getAction();
-            //Log.d(TAG, "received " + action);
+            //Slog.d(TAG, "received " + action);
             if (Intent.ACTION_BOOT_COMPLETED.equals(action)) {
                 sendInitialBroadcasts();
             } else if (Intent.ACTION_CONFIGURATION_CHANGED.equals(action)) {
diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java
index 34e9cb9..8b0c264 100644
--- a/services/java/com/android/server/BackupManagerService.java
+++ b/services/java/com/android/server/BackupManagerService.java
@@ -56,7 +56,7 @@
 import android.os.SystemClock;
 import android.provider.Settings;
 import android.util.EventLog;
-import android.util.Log;
+import android.util.Slog;
 import android.util.SparseArray;
 import android.util.SparseIntArray;
 
@@ -261,7 +261,7 @@
 
                 IBackupTransport transport = getTransport(mCurrentTransport);
                 if (transport == null) {
-                    Log.v(TAG, "Backup requested but no transport available");
+                    Slog.v(TAG, "Backup requested but no transport available");
                     mWakelock.release();
                     break;
                 }
@@ -277,7 +277,7 @@
                         for (BackupRequest b: mPendingBackups.values()) {
                             queue.add(b);
                         }
-                        if (DEBUG) Log.v(TAG, "clearing pending backups");
+                        if (DEBUG) Slog.v(TAG, "clearing pending backups");
                         mPendingBackups.clear();
 
                         // Start a new backup-queue journal file too
@@ -294,7 +294,7 @@
                     // at next boot and the journaled requests fulfilled.
                     (new PerformBackupTask(transport, queue, oldJournal)).run();
                 } else {
-                    Log.v(TAG, "Backup requested but nothing pending");
+                    Slog.v(TAG, "Backup requested but nothing pending");
                     mWakelock.release();
                 }
                 break;
@@ -306,7 +306,7 @@
             case MSG_RUN_RESTORE:
             {
                 RestoreParams params = (RestoreParams)msg.obj;
-                Log.d(TAG, "MSG_RUN_RESTORE observer=" + params.observer);
+                Slog.d(TAG, "MSG_RUN_RESTORE observer=" + params.observer);
                 (new PerformRestoreTask(params.transport, params.observer,
                         params.token, params.pkgInfo, params.pmToken)).run();
                 break;
@@ -339,7 +339,7 @@
                     final int token = msg.arg1;
                     int state = mCurrentOperations.get(token, OP_TIMEOUT);
                     if (state == OP_PENDING) {
-                        if (DEBUG) Log.v(TAG, "TIMEOUT: token=" + token);
+                        if (DEBUG) Slog.v(TAG, "TIMEOUT: token=" + token);
                         mCurrentOperations.put(token, OP_TIMEOUT);
                     }
                     mCurrentOpLock.notifyAll();
@@ -430,7 +430,7 @@
         if ("".equals(mCurrentTransport)) {
             mCurrentTransport = null;
         }
-        if (DEBUG) Log.v(TAG, "Starting with transport " + mCurrentTransport);
+        if (DEBUG) Slog.v(TAG, "Starting with transport " + mCurrentTransport);
 
         // Attach to the Google backup transport.  When this comes up, it will set
         // itself as the current transport because we explicitly reset mCurrentTransport
@@ -458,19 +458,19 @@
                     if (mPendingInits.size() > 0) {
                         // If there are pending init operations, we process those
                         // and then settle into the usual periodic backup schedule.
-                        if (DEBUG) Log.v(TAG, "Init pending at scheduled backup");
+                        if (DEBUG) Slog.v(TAG, "Init pending at scheduled backup");
                         try {
                             mAlarmManager.cancel(mRunInitIntent);
                             mRunInitIntent.send();
                         } catch (PendingIntent.CanceledException ce) {
-                            Log.e(TAG, "Run init intent cancelled");
+                            Slog.e(TAG, "Run init intent cancelled");
                             // can't really do more than bail here
                         }
                     } else {
                         // Don't run backups now if we're disabled or not yet
                         // fully set up.
                         if (mEnabled && mProvisioned) {
-                            if (DEBUG) Log.v(TAG, "Running a backup pass");
+                            if (DEBUG) Slog.v(TAG, "Running a backup pass");
 
                             // Acquire the wakelock and pass it to the backup thread.  it will
                             // be released once backup concludes.
@@ -479,7 +479,7 @@
                             Message msg = mBackupHandler.obtainMessage(MSG_RUN_BACKUP);
                             mBackupHandler.sendMessage(msg);
                         } else {
-                            Log.w(TAG, "Backup pass but e=" + mEnabled + " p=" + mProvisioned);
+                            Slog.w(TAG, "Backup pass but e=" + mEnabled + " p=" + mProvisioned);
                         }
                     }
                 }
@@ -491,7 +491,7 @@
         public void onReceive(Context context, Intent intent) {
             if (RUN_INITIALIZE_ACTION.equals(intent.getAction())) {
                 synchronized (mQueueLock) {
-                    if (DEBUG) Log.v(TAG, "Running a device init");
+                    if (DEBUG) Slog.v(TAG, "Running a device init");
 
                     // Acquire the wakelock and pass it to the init thread.  it will
                     // be released once init concludes.
@@ -505,7 +505,7 @@
     }
 
     private void initPackageTracking() {
-        if (DEBUG) Log.v(TAG, "Initializing package tracking");
+        if (DEBUG) Slog.v(TAG, "Initializing package tracking");
 
         // Remember our ancestral dataset
         mTokenFile = new File(mBaseStateDir, "ancestral");
@@ -527,9 +527,9 @@
             }
         } catch (FileNotFoundException fnf) {
             // Probably innocuous
-            Log.v(TAG, "No ancestral data");
+            Slog.v(TAG, "No ancestral data");
         } catch (IOException e) {
-            Log.w(TAG, "Unable to read token file", e);
+            Slog.w(TAG, "Unable to read token file", e);
         }
 
         // Keep a log of what apps we've ever backed up.  Because we might have
@@ -562,20 +562,20 @@
                         info = mPackageManager.getPackageInfo(pkg, 0);
                         mEverStoredApps.add(pkg);
                         temp.writeUTF(pkg);
-                        if (DEBUG) Log.v(TAG, "   + " + pkg);
+                        if (DEBUG) Slog.v(TAG, "   + " + pkg);
                     } catch (NameNotFoundException e) {
                         // nope, this package was uninstalled; don't include it
-                        if (DEBUG) Log.v(TAG, "   - " + pkg);
+                        if (DEBUG) Slog.v(TAG, "   - " + pkg);
                     }
                 }
             } catch (EOFException e) {
                 // Once we've rewritten the backup history log, atomically replace the
                 // old one with the new one then reopen the file for continuing use.
                 if (!tempProcessedFile.renameTo(mEverStored)) {
-                    Log.e(TAG, "Error renaming " + tempProcessedFile + " to " + mEverStored);
+                    Slog.e(TAG, "Error renaming " + tempProcessedFile + " to " + mEverStored);
                 }
             } catch (IOException e) {
-                Log.e(TAG, "Error in processed file", e);
+                Slog.e(TAG, "Error in processed file", e);
             } finally {
                 try { if (temp != null) temp.close(); } catch (IOException e) {}
                 try { if (in != null) in.close(); } catch (IOException e) {}
@@ -604,17 +604,17 @@
                 // backup.
                 RandomAccessFile in = null;
                 try {
-                    Log.i(TAG, "Found stale backup journal, scheduling:");
+                    Slog.i(TAG, "Found stale backup journal, scheduling:");
                     in = new RandomAccessFile(f, "r");
                     while (true) {
                         String packageName = in.readUTF();
-                        Log.i(TAG, "    + " + packageName);
+                        Slog.i(TAG, "    + " + packageName);
                         dataChanged(packageName);
                     }
                 } catch (EOFException e) {
                     // no more data; we're done
                 } catch (Exception e) {
-                    Log.e(TAG, "Can't read " + f, e);
+                    Slog.e(TAG, "Can't read " + f, e);
                 } finally {
                     // close/delete the file
                     try { if (in != null) in.close(); } catch (IOException e) {}
@@ -627,7 +627,7 @@
     // Maintain persistent state around whether need to do an initialize operation.
     // Must be called with the queue lock held.
     void recordInitPendingLocked(boolean isPending, String transportName) {
-        if (DEBUG) Log.i(TAG, "recordInitPendingLocked: " + isPending
+        if (DEBUG) Slog.i(TAG, "recordInitPendingLocked: " + isPending
                 + " on transport " + transportName);
         try {
             IBackupTransport transport = getTransport(transportName);
@@ -691,7 +691,7 @@
     // is an unregistration, and the transport's entry is removed from our bookkeeping.
     private void registerTransport(String name, IBackupTransport transport) {
         synchronized (mTransports) {
-            if (DEBUG) Log.v(TAG, "Registering transport " + name + " = " + transport);
+            if (DEBUG) Slog.v(TAG, "Registering transport " + name + " = " + transport);
             if (transport != null) {
                 mTransports.put(name, transport);
             } else {
@@ -731,7 +731,7 @@
     // ----- Track installation/removal of packages -----
     BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
         public void onReceive(Context context, Intent intent) {
-            if (DEBUG) Log.d(TAG, "Received broadcast " + intent);
+            if (DEBUG) Slog.d(TAG, "Received broadcast " + intent);
 
             String action = intent.getAction();
             boolean replacing = false;
@@ -789,13 +789,13 @@
     // ----- Track connection to GoogleBackupTransport service -----
     ServiceConnection mGoogleConnection = new ServiceConnection() {
         public void onServiceConnected(ComponentName name, IBinder service) {
-            if (DEBUG) Log.v(TAG, "Connected to Google transport");
+            if (DEBUG) Slog.v(TAG, "Connected to Google transport");
             mGoogleTransport = IBackupTransport.Stub.asInterface(service);
             registerTransport(name.flattenToShortString(), mGoogleTransport);
         }
 
         public void onServiceDisconnected(ComponentName name) {
-            if (DEBUG) Log.v(TAG, "Disconnected from Google transport");
+            if (DEBUG) Slog.v(TAG, "Disconnected from Google transport");
             mGoogleTransport = null;
             registerTransport(name.flattenToShortString(), null);
         }
@@ -805,7 +805,7 @@
     // If 'packageName' is null, adds all backup agents in the whole system.
     void addPackageParticipantsLocked(String packageName) {
         // Look for apps that define the android:backupAgent attribute
-        if (DEBUG) Log.v(TAG, "addPackageParticipantsLocked: " + packageName);
+        if (DEBUG) Slog.v(TAG, "addPackageParticipantsLocked: " + packageName);
         List<PackageInfo> targetApps = allAgentPackages();
         addPackageParticipantsLockedInner(packageName, targetApps);
     }
@@ -813,9 +813,9 @@
     private void addPackageParticipantsLockedInner(String packageName,
             List<PackageInfo> targetPkgs) {
         if (DEBUG) {
-            Log.v(TAG, "Adding " + targetPkgs.size() + " backup participants:");
+            Slog.v(TAG, "Adding " + targetPkgs.size() + " backup participants:");
             for (PackageInfo p : targetPkgs) {
-                Log.v(TAG, "    " + p + " agent=" + p.applicationInfo.backupAgentName
+                Slog.v(TAG, "    " + p + " agent=" + p.applicationInfo.backupAgentName
                         + " uid=" + p.applicationInfo.uid
                         + " killAfterRestore="
                         + (((p.applicationInfo.flags & ApplicationInfo.FLAG_KILL_AFTER_RESTORE) != 0) ? "true" : "false")
@@ -837,7 +837,7 @@
 
                 // If we've never seen this app before, schedule a backup for it
                 if (!mEverStoredApps.contains(pkg.packageName)) {
-                    if (DEBUG) Log.i(TAG, "New app " + pkg.packageName
+                    if (DEBUG) Slog.i(TAG, "New app " + pkg.packageName
                             + " never backed up; scheduling");
                     dataChanged(pkg.packageName);
                 }
@@ -848,7 +848,7 @@
     // Remove the given package's entry from our known active set.  If
     // 'packageName' is null, *all* participating apps will be removed.
     void removePackageParticipantsLocked(String packageName) {
-        if (DEBUG) Log.v(TAG, "removePackageParticipantsLocked: " + packageName);
+        if (DEBUG) Slog.v(TAG, "removePackageParticipantsLocked: " + packageName);
         List<PackageInfo> allApps = null;
         if (packageName != null) {
             allApps = new ArrayList<PackageInfo>();
@@ -868,10 +868,10 @@
     private void removePackageParticipantsLockedInner(String packageName,
             List<PackageInfo> agents) {
         if (DEBUG) {
-            Log.v(TAG, "removePackageParticipantsLockedInner (" + packageName
+            Slog.v(TAG, "removePackageParticipantsLockedInner (" + packageName
                     + ") removing " + agents.size() + " entries");
             for (PackageInfo p : agents) {
-                Log.v(TAG, "    - " + p);
+                Slog.v(TAG, "    - " + p);
             }
         }
         for (PackageInfo pkg : agents) {
@@ -927,10 +927,10 @@
     // action cannot be passed a null package name.
     void updatePackageParticipantsLocked(String packageName) {
         if (packageName == null) {
-            Log.e(TAG, "updatePackageParticipants called with null package name");
+            Slog.e(TAG, "updatePackageParticipants called with null package name");
             return;
         }
-        if (DEBUG) Log.v(TAG, "updatePackageParticipantsLocked: " + packageName);
+        if (DEBUG) Slog.v(TAG, "updatePackageParticipantsLocked: " + packageName);
 
         // brute force but small code size
         List<PackageInfo> allApps = allAgentPackages();
@@ -952,7 +952,7 @@
                 out.seek(out.length());
                 out.writeUTF(packageName);
             } catch (IOException e) {
-                Log.e(TAG, "Can't log backup of " + packageName + " to " + mEverStored);
+                Slog.e(TAG, "Can't log backup of " + packageName + " to " + mEverStored);
             } finally {
                 try { if (out != null) out.close(); } catch (IOException e) {}
             }
@@ -961,7 +961,7 @@
 
     // Remove our awareness of having ever backed up the given package
     void removeEverBackedUp(String packageName) {
-        if (DEBUG) Log.v(TAG, "Removing backed-up knowledge of " + packageName + ", new set:");
+        if (DEBUG) Slog.v(TAG, "Removing backed-up knowledge of " + packageName + ", new set:");
 
         synchronized (mEverStoredApps) {
             // Rewrite the file and rename to overwrite.  If we reboot in the middle,
@@ -974,7 +974,7 @@
                 mEverStoredApps.remove(packageName);
                 for (String s : mEverStoredApps) {
                     known.writeUTF(s);
-                    if (DEBUG) Log.v(TAG, "    " + s);
+                    if (DEBUG) Slog.v(TAG, "    " + s);
                 }
                 known.close();
                 known = null;
@@ -986,7 +986,7 @@
                 // abandon the whole process and remove all what's-backed-up
                 // state entirely, meaning we'll force a backup pass for every
                 // participant on the next boot or [re]install.
-                Log.w(TAG, "Error rewriting " + mEverStored, e);
+                Slog.w(TAG, "Error rewriting " + mEverStored, e);
                 mEverStoredApps.clear();
                 tempKnownFile.delete();
                 mEverStored.delete();
@@ -1015,15 +1015,15 @@
                 af.writeInt(-1);
             } else {
                 af.writeInt(mAncestralPackages.size());
-                if (DEBUG) Log.v(TAG, "Ancestral packages:  " + mAncestralPackages.size());
+                if (DEBUG) Slog.v(TAG, "Ancestral packages:  " + mAncestralPackages.size());
                 for (String pkgName : mAncestralPackages) {
                     af.writeUTF(pkgName);
-                    if (DEBUG) Log.v(TAG, "   " + pkgName);
+                    if (DEBUG) Slog.v(TAG, "   " + pkgName);
                 }
             }
             af.close();
         } catch (IOException e) {
-            Log.w(TAG, "Unable to write token file:", e);
+            Slog.w(TAG, "Unable to write token file:", e);
         }
     }
 
@@ -1032,7 +1032,7 @@
         synchronized (mTransports) {
             IBackupTransport transport = mTransports.get(transportName);
             if (transport == null) {
-                Log.w(TAG, "Requested unavailable transport: " + transportName);
+                Slog.w(TAG, "Requested unavailable transport: " + transportName);
             }
             return transport;
         }
@@ -1046,7 +1046,7 @@
             mConnectedAgent = null;
             try {
                 if (mActivityManager.bindBackupAgent(app, mode)) {
-                    Log.d(TAG, "awaiting agent for " + app);
+                    Slog.d(TAG, "awaiting agent for " + app);
 
                     // success; wait for the agent to arrive
                     // only wait 10 seconds for the clear data to happen
@@ -1063,7 +1063,7 @@
 
                     // if we timed out with no connect, abort and move on
                     if (mConnecting == true) {
-                        Log.w(TAG, "Timeout waiting for agent " + app);
+                        Slog.w(TAG, "Timeout waiting for agent " + app);
                         return null;
                     }
                     agent = mConnectedAgent;
@@ -1081,12 +1081,12 @@
         try {
             PackageInfo info = mPackageManager.getPackageInfo(packageName, 0);
             if ((info.applicationInfo.flags & ApplicationInfo.FLAG_ALLOW_CLEAR_USER_DATA) == 0) {
-                if (DEBUG) Log.i(TAG, "allowClearUserData=false so not wiping "
+                if (DEBUG) Slog.i(TAG, "allowClearUserData=false so not wiping "
                         + packageName);
                 return;
             }
         } catch (NameNotFoundException e) {
-            Log.w(TAG, "Tried to clear data for " + packageName + " but not found");
+            Slog.w(TAG, "Tried to clear data for " + packageName + " but not found");
             return;
         }
 
@@ -1151,13 +1151,13 @@
             }
         }
         mBackupHandler.removeMessages(MSG_TIMEOUT);
-        if (DEBUG) Log.v(TAG, "operation " + Integer.toHexString(token)
+        if (DEBUG) Slog.v(TAG, "operation " + Integer.toHexString(token)
                 + " complete: finalState=" + finalState);
         return finalState == OP_ACKNOWLEDGED;
     }
 
     void prepareOperationTimeout(int token, long interval) {
-        if (DEBUG) Log.v(TAG, "starting timeout: token=" + Integer.toHexString(token)
+        if (DEBUG) Slog.v(TAG, "starting timeout: token=" + Integer.toHexString(token)
                 + " interval=" + interval);
         mCurrentOperations.put(token, OP_PENDING);
         Message msg = mBackupHandler.obtainMessage(MSG_TIMEOUT, token, 0);
@@ -1189,7 +1189,7 @@
         public void run() {
             int status = BackupConstants.TRANSPORT_OK;
             long startRealtime = SystemClock.elapsedRealtime();
-            if (DEBUG) Log.v(TAG, "Beginning backup of " + mQueue.size() + " targets");
+            if (DEBUG) Slog.v(TAG, "Beginning backup of " + mQueue.size() + " targets");
 
             // Backups run at background priority
             Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
@@ -1200,14 +1200,14 @@
                 // If we haven't stored package manager metadata yet, we must init the transport.
                 File pmState = new File(mStateDir, PACKAGE_MANAGER_SENTINEL);
                 if (status == BackupConstants.TRANSPORT_OK && pmState.length() <= 0) {
-                    Log.i(TAG, "Initializing (wiping) backup state and transport storage");
+                    Slog.i(TAG, "Initializing (wiping) backup state and transport storage");
                     resetBackupState(mStateDir);  // Just to make sure.
                     status = mTransport.initializeDevice();
                     if (status == BackupConstants.TRANSPORT_OK) {
                         EventLog.writeEvent(EventLogTags.BACKUP_INITIALIZE);
                     } else {
                         EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, "(initialize)");
-                        Log.e(TAG, "Transport error in initializeDevice()");
+                        Slog.e(TAG, "Transport error in initializeDevice()");
                     }
                 }
 
@@ -1238,7 +1238,7 @@
                         EventLog.writeEvent(EventLogTags.BACKUP_SUCCESS, mQueue.size(), millis);
                     } else {
                         EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, "(finish)");
-                        Log.e(TAG, "Transport error in finishBackup()");
+                        Slog.e(TAG, "Transport error in finishBackup()");
                     }
                 }
 
@@ -1250,7 +1250,7 @@
                     resetBackupState(mStateDir);
                 }
             } catch (Exception e) {
-                Log.e(TAG, "Error in backup thread", e);
+                Slog.e(TAG, "Error in backup thread", e);
                 status = BackupConstants.TRANSPORT_ERROR;
             } finally {
                 // If everything actually went through and this is the first time we've
@@ -1268,7 +1268,7 @@
                 // the current active pending-backup file, not in the we are holding
                 // here in mJournal.
                 if (status != BackupConstants.TRANSPORT_OK) {
-                    Log.w(TAG, "Backup pass unsuccessful, restaging");
+                    Slog.w(TAG, "Backup pass unsuccessful, restaging");
                     for (BackupRequest req : mQueue) {
                         dataChanged(req.appInfo.packageName);
                     }
@@ -1285,7 +1285,7 @@
                 // re-enqueued all of these packages in the current active journal.
                 // Either way, we no longer need this pass's journal.
                 if (mJournal != null && !mJournal.delete()) {
-                    Log.e(TAG, "Unable to remove backup journal file " + mJournal);
+                    Slog.e(TAG, "Unable to remove backup journal file " + mJournal);
                 }
 
                 // Only once we're entirely finished do we release the wakelock
@@ -1299,7 +1299,7 @@
 
         private int doQueuedBackups(IBackupTransport transport) {
             for (BackupRequest request : mQueue) {
-                Log.d(TAG, "starting agent for backup of " + request);
+                Slog.d(TAG, "starting agent for backup of " + request);
 
                 IBackupAgent agent = null;
                 int mode = (request.fullBackup)
@@ -1313,7 +1313,7 @@
                     }
                 } catch (SecurityException ex) {
                     // Try for the next one.
-                    Log.d(TAG, "error in bind/backup", ex);
+                    Slog.d(TAG, "error in bind/backup", ex);
                 } finally {
                     try {  // unbind even on timeout, just in case
                         mActivityManager.unbindBackupAgent(request.appInfo);
@@ -1327,7 +1327,7 @@
         private int processOneBackup(BackupRequest request, IBackupAgent agent,
                 IBackupTransport transport) {
             final String packageName = request.appInfo.packageName;
-            if (DEBUG) Log.d(TAG, "processOneBackup doBackup() on " + packageName);
+            if (DEBUG) Slog.d(TAG, "processOneBackup doBackup() on " + packageName);
 
             File savedStateName = new File(mStateDir, packageName);
             File backupDataName = new File(mDataDir, packageName + ".data");
@@ -1381,9 +1381,9 @@
                 }
 
                 logBackupComplete(packageName);
-                if (DEBUG) Log.v(TAG, "doBackup() success");
+                if (DEBUG) Slog.v(TAG, "doBackup() success");
             } catch (Exception e) {
-                Log.e(TAG, "Error backing up " + packageName, e);
+                Slog.e(TAG, "Error backing up " + packageName, e);
                 EventLog.writeEvent(EventLogTags.BACKUP_AGENT_FAILURE, packageName, e.toString());
                 backupDataName.delete();
                 newStateName.delete();
@@ -1418,7 +1418,7 @@
                         result = transport.finishBackup();
                     }
                 } else {
-                    if (DEBUG) Log.i(TAG, "no backup data written; not calling transport");
+                    if (DEBUG) Slog.i(TAG, "no backup data written; not calling transport");
                 }
 
                 // After successful transport, delete the now-stale data
@@ -1432,7 +1432,7 @@
                     EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, packageName);
                 }
             } catch (Exception e) {
-                Log.e(TAG, "Transport error backing up " + packageName, e);
+                Slog.e(TAG, "Transport error backing up " + packageName, e);
                 EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, packageName);
                 result = BackupConstants.TRANSPORT_ERROR;
             } finally {
@@ -1453,14 +1453,14 @@
         // partition will be signed with the device's platform certificate, so on
         // different phones the same system app will have different signatures.)
         if ((target.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
-            if (DEBUG) Log.v(TAG, "System app " + target.packageName + " - skipping sig check");
+            if (DEBUG) Slog.v(TAG, "System app " + target.packageName + " - skipping sig check");
             return true;
         }
 
         // Allow unsigned apps, but not signed on one device and unsigned on the other
         // !!! TODO: is this the right policy?
         Signature[] deviceSigs = target.signatures;
-        if (DEBUG) Log.v(TAG, "signaturesMatch(): stored=" + storedSigs
+        if (DEBUG) Slog.v(TAG, "signaturesMatch(): stored=" + storedSigs
                 + " device=" + deviceSigs);
         if ((storedSigs == null || storedSigs.length == 0)
                 && (deviceSigs == null || deviceSigs.length == 0)) {
@@ -1526,7 +1526,7 @@
 
         public void run() {
             long startRealtime = SystemClock.elapsedRealtime();
-            if (DEBUG) Log.v(TAG, "Beginning restore process mTransport=" + mTransport
+            if (DEBUG) Slog.v(TAG, "Beginning restore process mTransport=" + mTransport
                     + " mObserver=" + mObserver + " mToken=" + Long.toHexString(mToken)
                     + " mTargetPackage=" + mTargetPackage + " mPmToken=" + mPmToken);
 
@@ -1560,30 +1560,30 @@
                         // its startRestore() runs?
                         mObserver.restoreStarting(restorePackages.size());
                     } catch (RemoteException e) {
-                        Log.d(TAG, "Restore observer died at restoreStarting");
+                        Slog.d(TAG, "Restore observer died at restoreStarting");
                         mObserver = null;
                     }
                 }
 
                 if (mTransport.startRestore(mToken, restorePackages.toArray(new PackageInfo[0])) !=
                         BackupConstants.TRANSPORT_OK) {
-                    Log.e(TAG, "Error starting restore operation");
+                    Slog.e(TAG, "Error starting restore operation");
                     EventLog.writeEvent(EventLogTags.RESTORE_TRANSPORT_FAILURE);
                     return;
                 }
 
                 String packageName = mTransport.nextRestorePackage();
                 if (packageName == null) {
-                    Log.e(TAG, "Error getting first restore package");
+                    Slog.e(TAG, "Error getting first restore package");
                     EventLog.writeEvent(EventLogTags.RESTORE_TRANSPORT_FAILURE);
                     return;
                 } else if (packageName.equals("")) {
-                    Log.i(TAG, "No restore data available");
+                    Slog.i(TAG, "No restore data available");
                     int millis = (int) (SystemClock.elapsedRealtime() - startRealtime);
                     EventLog.writeEvent(EventLogTags.RESTORE_SUCCESS, 0, millis);
                     return;
                 } else if (!packageName.equals(PACKAGE_MANAGER_SENTINEL)) {
-                    Log.e(TAG, "Expected restore data for \"" + PACKAGE_MANAGER_SENTINEL
+                    Slog.e(TAG, "Expected restore data for \"" + PACKAGE_MANAGER_SENTINEL
                           + "\", found only \"" + packageName + "\"");
                     EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, PACKAGE_MANAGER_SENTINEL,
                             "Package manager data missing");
@@ -1599,7 +1599,7 @@
                 // signature/version verification etc, so we simply do not proceed with
                 // the restore operation.
                 if (!pmAgent.hasMetadata()) {
-                    Log.e(TAG, "No restore metadata available, so not restoring settings");
+                    Slog.e(TAG, "No restore metadata available, so not restoring settings");
                     EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, PACKAGE_MANAGER_SENTINEL,
                             "Package manager restore metadata missing");
                     return;
@@ -1610,11 +1610,11 @@
                     packageName = mTransport.nextRestorePackage();
 
                     if (packageName == null) {
-                        Log.e(TAG, "Error getting next restore package");
+                        Slog.e(TAG, "Error getting next restore package");
                         EventLog.writeEvent(EventLogTags.RESTORE_TRANSPORT_FAILURE);
                         return;
                     } else if (packageName.equals("")) {
-                        if (DEBUG) Log.v(TAG, "No next package, finishing restore");
+                        if (DEBUG) Slog.v(TAG, "No next package, finishing restore");
                         break;
                     }
 
@@ -1622,14 +1622,14 @@
                         try {
                             mObserver.onUpdate(count);
                         } catch (RemoteException e) {
-                            Log.d(TAG, "Restore observer died in onUpdate");
+                            Slog.d(TAG, "Restore observer died in onUpdate");
                             mObserver = null;
                         }
                     }
 
                     Metadata metaInfo = pmAgent.getRestoredMetadata(packageName);
                     if (metaInfo == null) {
-                        Log.e(TAG, "Missing metadata for " + packageName);
+                        Slog.e(TAG, "Missing metadata for " + packageName);
                         EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, packageName,
                                 "Package metadata missing");
                         continue;
@@ -1640,7 +1640,7 @@
                         int flags = PackageManager.GET_SIGNATURES;
                         packageInfo = mPackageManager.getPackageInfo(packageName, flags);
                     } catch (NameNotFoundException e) {
-                        Log.e(TAG, "Invalid package restoring data", e);
+                        Slog.e(TAG, "Invalid package restoring data", e);
                         EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, packageName,
                                 "Package missing on device");
                         continue;
@@ -1654,25 +1654,25 @@
                                 & ApplicationInfo.FLAG_RESTORE_ANY_VERSION) == 0) {
                             String message = "Version " + metaInfo.versionCode
                                     + " > installed version " + packageInfo.versionCode;
-                            Log.w(TAG, "Package " + packageName + ": " + message);
+                            Slog.w(TAG, "Package " + packageName + ": " + message);
                             EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE,
                                     packageName, message);
                             continue;
                         } else {
-                            if (DEBUG) Log.v(TAG, "Version " + metaInfo.versionCode
+                            if (DEBUG) Slog.v(TAG, "Version " + metaInfo.versionCode
                                     + " > installed " + packageInfo.versionCode
                                     + " but restoreAnyVersion");
                         }
                     }
 
                     if (!signaturesMatch(metaInfo.signatures, packageInfo)) {
-                        Log.w(TAG, "Signature mismatch restoring " + packageName);
+                        Slog.w(TAG, "Signature mismatch restoring " + packageName);
                         EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, packageName,
                                 "Signature mismatch");
                         continue;
                     }
 
-                    if (DEBUG) Log.v(TAG, "Package " + packageName
+                    if (DEBUG) Slog.v(TAG, "Package " + packageName
                             + " restore version [" + metaInfo.versionCode
                             + "] is compatible with installed version ["
                             + packageInfo.versionCode + "]");
@@ -1682,14 +1682,14 @@
                     boolean useRealApp = (packageInfo.applicationInfo.flags
                             & ApplicationInfo.FLAG_RESTORE_NEEDS_APPLICATION) != 0;
                     if (DEBUG && useRealApp) {
-                        Log.v(TAG, "agent requires real Application subclass for restore");
+                        Slog.v(TAG, "agent requires real Application subclass for restore");
                     }
                     IBackupAgent agent = bindToAgentSynchronous(
                             packageInfo.applicationInfo,
                             (useRealApp ? IApplicationThread.BACKUP_MODE_INCREMENTAL
                                     : IApplicationThread.BACKUP_MODE_RESTORE));
                     if (agent == null) {
-                        Log.w(TAG, "Can't find backup agent for " + packageName);
+                        Slog.w(TAG, "Can't find backup agent for " + packageName);
                         EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, packageName,
                                 "Restore agent missing");
                         continue;
@@ -1711,7 +1711,7 @@
                         // it is explicitly not killed following that operation.
                         if (mTargetPackage == null && (packageInfo.applicationInfo.flags
                                 & ApplicationInfo.FLAG_KILL_AFTER_RESTORE) != 0) {
-                            if (DEBUG) Log.d(TAG, "Restore complete, killing host process of "
+                            if (DEBUG) Slog.d(TAG, "Restore complete, killing host process of "
                                     + packageInfo.applicationInfo.processName);
                             mActivityManager.killApplicationProcess(
                                     packageInfo.applicationInfo.processName,
@@ -1725,21 +1725,21 @@
                 int millis = (int) (SystemClock.elapsedRealtime() - startRealtime);
                 EventLog.writeEvent(EventLogTags.RESTORE_SUCCESS, count, millis);
             } catch (Exception e) {
-                Log.e(TAG, "Error in restore thread", e);
+                Slog.e(TAG, "Error in restore thread", e);
             } finally {
-                if (DEBUG) Log.d(TAG, "finishing restore mObserver=" + mObserver);
+                if (DEBUG) Slog.d(TAG, "finishing restore mObserver=" + mObserver);
 
                 try {
                     mTransport.finishRestore();
                 } catch (RemoteException e) {
-                    Log.e(TAG, "Error finishing restore", e);
+                    Slog.e(TAG, "Error finishing restore", e);
                 }
 
                 if (mObserver != null) {
                     try {
                         mObserver.restoreFinished(error);
                     } catch (RemoteException e) {
-                        Log.d(TAG, "Restore observer died at restoreFinished");
+                        Slog.d(TAG, "Restore observer died at restoreFinished");
                     }
                 }
 
@@ -1755,7 +1755,7 @@
                 // We must under all circumstances tell the Package Manager to
                 // proceed with install notifications if it's waiting for us.
                 if (mPmToken > 0) {
-                    if (DEBUG) Log.v(TAG, "finishing PM token " + mPmToken);
+                    if (DEBUG) Slog.v(TAG, "finishing PM token " + mPmToken);
                     try {
                         mPackageManagerBinder.finishPackageInstall(mPmToken);
                     } catch (RemoteException e) { /* can't happen */ }
@@ -1771,7 +1771,7 @@
             // !!! TODO: actually run the restore through mTransport
             final String packageName = app.packageName;
 
-            if (DEBUG) Log.d(TAG, "processOneRestore packageName=" + packageName);
+            if (DEBUG) Slog.d(TAG, "processOneRestore packageName=" + packageName);
 
             // !!! TODO: get the dirs from the transport
             File backupDataName = new File(mDataDir, packageName + ".restore");
@@ -1790,7 +1790,7 @@
                             ParcelFileDescriptor.MODE_TRUNCATE);
 
                 if (mTransport.getRestoreData(backupData) != BackupConstants.TRANSPORT_OK) {
-                    Log.e(TAG, "Error getting restore data for " + packageName);
+                    Slog.e(TAG, "Error getting restore data for " + packageName);
                     EventLog.writeEvent(EventLogTags.RESTORE_TRANSPORT_FAILURE);
                     return;
                 }
@@ -1833,7 +1833,7 @@
                 int size = (int) backupDataName.length();
                 EventLog.writeEvent(EventLogTags.RESTORE_PACKAGE, packageName, size);
             } catch (Exception e) {
-                Log.e(TAG, "Error restoring data for " + packageName, e);
+                Slog.e(TAG, "Error restoring data for " + packageName, e);
                 EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE, packageName, e.toString());
 
                 // If the agent fails restore, it might have put the app's data
@@ -1897,11 +1897,11 @@
                 for (String transportName : mQueue) {
                     IBackupTransport transport = getTransport(transportName);
                     if (transport == null) {
-                        Log.e(TAG, "Requested init for " + transportName + " but not found");
+                        Slog.e(TAG, "Requested init for " + transportName + " but not found");
                         continue;
                     }
 
-                    Log.i(TAG, "Initializing (wiping) backup transport storage: " + transportName);
+                    Slog.i(TAG, "Initializing (wiping) backup transport storage: " + transportName);
                     EventLog.writeEvent(EventLogTags.BACKUP_START, transport.transportDirName());
                     long startRealtime = SystemClock.elapsedRealtime();
                     int status = transport.initializeDevice();
@@ -1912,7 +1912,7 @@
 
                     // Okay, the wipe really happened.  Clean up our local bookkeeping.
                     if (status == BackupConstants.TRANSPORT_OK) {
-                        Log.i(TAG, "Device init successful");
+                        Slog.i(TAG, "Device init successful");
                         int millis = (int) (SystemClock.elapsedRealtime() - startRealtime);
                         EventLog.writeEvent(EventLogTags.BACKUP_INITIALIZE);
                         resetBackupState(new File(mBaseStateDir, transport.transportDirName()));
@@ -1923,14 +1923,14 @@
                     } else {
                         // If this didn't work, requeue this one and try again
                         // after a suitable interval
-                        Log.e(TAG, "Transport error in initializeDevice()");
+                        Slog.e(TAG, "Transport error in initializeDevice()");
                         EventLog.writeEvent(EventLogTags.BACKUP_TRANSPORT_FAILURE, "(initialize)");
                         synchronized (mQueueLock) {
                             recordInitPendingLocked(true, transportName);
                         }
                         // do this via another alarm to make sure of the wakelock states
                         long delay = transport.requestBackupTime();
-                        if (DEBUG) Log.w(TAG, "init failed on "
+                        if (DEBUG) Slog.w(TAG, "init failed on "
                                 + transportName + " resched in " + delay);
                         mAlarmManager.set(AlarmManager.RTC_WAKEUP,
                                 System.currentTimeMillis() + delay, mRunInitIntent);
@@ -1939,7 +1939,7 @@
             } catch (RemoteException e) {
                 // can't happen; the transports are local
             } catch (Exception e) {
-                Log.e(TAG, "Unexpected error performing init", e);
+                Slog.e(TAG, "Unexpected error performing init", e);
             } finally {
                 // Done; release the wakelock
                 mWakelock.release();
@@ -1992,9 +1992,9 @@
 
                             if (DEBUG) {
                                 int numKeys = mPendingBackups.size();
-                                Log.d(TAG, "Now awaiting backup for " + numKeys + " participants:");
+                                Slog.d(TAG, "Now awaiting backup for " + numKeys + " participants:");
                                 for (BackupRequest b : mPendingBackups.values()) {
-                                    Log.d(TAG, "    + " + b + " agent=" + b.appInfo.backupAgentName);
+                                    Slog.d(TAG, "    + " + b + " agent=" + b.appInfo.backupAgentName);
                                 }
                             }
                         }
@@ -2002,7 +2002,7 @@
                 }
             }
         } else {
-            Log.w(TAG, "dataChanged but no participant pkg='" + packageName + "'"
+            Slog.w(TAG, "dataChanged but no participant pkg='" + packageName + "'"
                     + " uid=" + Binder.getCallingUid());
         }
     }
@@ -2015,7 +2015,7 @@
             out.seek(out.length());
             out.writeUTF(str);
         } catch (IOException e) {
-            Log.e(TAG, "Can't write " + str + " to backup journal", e);
+            Slog.e(TAG, "Can't write " + str + " to backup journal", e);
             mJournal = null;
         } finally {
             try { if (out != null) out.close(); } catch (IOException e) {}
@@ -2024,12 +2024,12 @@
 
     // Clear the given package's backup data from the current transport
     public void clearBackupData(String packageName) {
-        if (DEBUG) Log.v(TAG, "clearBackupData() of " + packageName);
+        if (DEBUG) Slog.v(TAG, "clearBackupData() of " + packageName);
         PackageInfo info;
         try {
             info = mPackageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES);
         } catch (NameNotFoundException e) {
-            Log.d(TAG, "No such package '" + packageName + "' - not clearing backup data");
+            Slog.d(TAG, "No such package '" + packageName + "' - not clearing backup data");
             return;
         }
 
@@ -2042,7 +2042,7 @@
         } else {
             // a caller with full permission can ask to back up any participating app
             // !!! TODO: allow data-clear of ANY app?
-            if (DEBUG) Log.v(TAG, "Privileged caller, allowing clear of other apps");
+            if (DEBUG) Slog.v(TAG, "Privileged caller, allowing clear of other apps");
             apps = new HashSet<ApplicationInfo>();
             int N = mBackupParticipants.size();
             for (int i = 0; i < N; i++) {
@@ -2056,7 +2056,7 @@
         // now find the given package in the set of candidate apps
         for (ApplicationInfo app : apps) {
             if (app.packageName.equals(packageName)) {
-                if (DEBUG) Log.v(TAG, "Found the app - running clear process");
+                if (DEBUG) Slog.v(TAG, "Found the app - running clear process");
                 // found it; fire off the clear request
                 synchronized (mQueueLock) {
                     long oldId = Binder.clearCallingIdentity();
@@ -2076,7 +2076,7 @@
     public void backupNow() {
         mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP, "backupNow");
 
-        if (DEBUG) Log.v(TAG, "Scheduling immediate backup pass");
+        if (DEBUG) Slog.v(TAG, "Scheduling immediate backup pass");
         synchronized (mQueueLock) {
             // Because the alarms we are using can jitter, and we want an *immediate*
             // backup pass to happen, we restart the timer beginning with "next time,"
@@ -2086,7 +2086,7 @@
                 mRunBackupIntent.send();
             } catch (PendingIntent.CanceledException e) {
                 // should never happen
-                Log.e(TAG, "run-backup intent cancelled!");
+                Slog.e(TAG, "run-backup intent cancelled!");
             }
         }
     }
@@ -2096,7 +2096,7 @@
         mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
                 "setBackupEnabled");
 
-        Log.i(TAG, "Backup enabled => " + enable);
+        Slog.i(TAG, "Backup enabled => " + enable);
 
         boolean wasEnabled = mEnabled;
         synchronized (this) {
@@ -2111,7 +2111,7 @@
                 startBackupAlarmsLocked(BACKUP_INTERVAL);
             } else if (!enable) {
                 // No longer enabled, so stop running backups
-                if (DEBUG) Log.i(TAG, "Opting out of backup");
+                if (DEBUG) Slog.i(TAG, "Opting out of backup");
 
                 mAlarmManager.cancel(mRunBackupIntent);
 
@@ -2141,7 +2141,7 @@
         mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
         "setBackupEnabled");
 
-        Log.i(TAG, "Auto restore => " + doAutoRestore);
+        Slog.i(TAG, "Auto restore => " + doAutoRestore);
 
         synchronized (this) {
             Settings.Secure.putInt(mContext.getContentResolver(),
@@ -2168,7 +2168,7 @@
                 startBackupAlarmsLocked(FIRST_BACKUP_INTERVAL);
             } else if (!available) {
                 // No longer enabled, so stop running backups
-                Log.w(TAG, "Backup service no longer provisioned");
+                Slog.w(TAG, "Backup service no longer provisioned");
                 mAlarmManager.cancel(mRunBackupIntent);
             }
         }
@@ -2197,7 +2197,7 @@
     public String getCurrentTransport() {
         mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
                 "getCurrentTransport");
-        if (DEBUG) Log.v(TAG, "... getCurrentTransport() returning " + mCurrentTransport);
+        if (DEBUG) Slog.v(TAG, "... getCurrentTransport() returning " + mCurrentTransport);
         return mCurrentTransport;
     }
 
@@ -2233,10 +2233,10 @@
                 mCurrentTransport = transport;
                 Settings.Secure.putString(mContext.getContentResolver(),
                         Settings.Secure.BACKUP_TRANSPORT, transport);
-                Log.v(TAG, "selectBackupTransport() set " + mCurrentTransport
+                Slog.v(TAG, "selectBackupTransport() set " + mCurrentTransport
                         + " returning " + prevTransport);
             } else {
-                Log.w(TAG, "Attempt to select unavailable transport " + transport);
+                Slog.w(TAG, "Attempt to select unavailable transport " + transport);
             }
             return prevTransport;
         }
@@ -2247,12 +2247,12 @@
     public void agentConnected(String packageName, IBinder agentBinder) {
         synchronized(mAgentConnectLock) {
             if (Binder.getCallingUid() == Process.SYSTEM_UID) {
-                Log.d(TAG, "agentConnected pkg=" + packageName + " agent=" + agentBinder);
+                Slog.d(TAG, "agentConnected pkg=" + packageName + " agent=" + agentBinder);
                 IBackupAgent agent = IBackupAgent.Stub.asInterface(agentBinder);
                 mConnectedAgent = agent;
                 mConnecting = false;
             } else {
-                Log.w(TAG, "Non-system process uid=" + Binder.getCallingUid()
+                Slog.w(TAG, "Non-system process uid=" + Binder.getCallingUid()
                         + " claiming agent connected");
             }
             mAgentConnectLock.notifyAll();
@@ -2269,7 +2269,7 @@
                 mConnectedAgent = null;
                 mConnecting = false;
             } else {
-                Log.w(TAG, "Non-system process uid=" + Binder.getCallingUid()
+                Slog.w(TAG, "Non-system process uid=" + Binder.getCallingUid()
                         + " claiming agent disconnected");
             }
             mAgentConnectLock.notifyAll();
@@ -2280,13 +2280,13 @@
     // will need to be told when the restore is finished.
     public void restoreAtInstall(String packageName, int token) {
         if (Binder.getCallingUid() != Process.SYSTEM_UID) {
-            Log.w(TAG, "Non-system process uid=" + Binder.getCallingUid()
+            Slog.w(TAG, "Non-system process uid=" + Binder.getCallingUid()
                     + " attemping install-time restore");
             return;
         }
 
         long restoreSet = getAvailableRestoreToken(packageName);
-        if (DEBUG) Log.v(TAG, "restoreAtInstall pkg=" + packageName
+        if (DEBUG) Slog.v(TAG, "restoreAtInstall pkg=" + packageName
                 + " token=" + Integer.toHexString(token));
 
         if (mAutoRestore && mProvisioned && restoreSet != 0) {
@@ -2308,7 +2308,7 @@
         } else {
             // Auto-restore disabled or no way to attempt a restore; just tell the Package
             // Manager to proceed with the post-install handling for this package.
-            if (DEBUG) Log.v(TAG, "No restore set -- skipping restore");
+            if (DEBUG) Slog.v(TAG, "No restore set -- skipping restore");
             try {
                 mPackageManagerBinder.finishPackageInstall(token);
             } catch (RemoteException e) { /* can't happen */ }
@@ -2321,7 +2321,7 @@
 
         synchronized(this) {
             if (mActiveRestoreSession != null) {
-                Log.d(TAG, "Restore session requested but one already active");
+                Slog.d(TAG, "Restore session requested but one already active");
                 return null;
             }
             mActiveRestoreSession = new ActiveRestoreSession(transport);
@@ -2333,7 +2333,7 @@
     // completed the given outstanding asynchronous backup/restore operation.
     public void opComplete(int token) {
         synchronized (mCurrentOpLock) {
-            if (DEBUG) Log.v(TAG, "opComplete: " + Integer.toHexString(token));
+            if (DEBUG) Slog.v(TAG, "opComplete: " + Integer.toHexString(token));
             mCurrentOperations.put(token, OP_ACKNOWLEDGED);
             mCurrentOpLock.notifyAll();
         }
@@ -2359,7 +2359,7 @@
             long oldId = Binder.clearCallingIdentity();
             try {
                 if (mRestoreTransport == null) {
-                    Log.w(TAG, "Null transport getting restore sets");
+                    Slog.w(TAG, "Null transport getting restore sets");
                     return null;
                 }
                 if (mRestoreSets == null) { // valid transport; do the one-time fetch
@@ -2368,7 +2368,7 @@
                 }
                 return mRestoreSets;
             } catch (Exception e) {
-                Log.e(TAG, "Error in getAvailableRestoreSets", e);
+                Slog.e(TAG, "Error in getAvailableRestoreSets", e);
                 return null;
             } finally {
                 Binder.restoreCallingIdentity(oldId);
@@ -2379,11 +2379,11 @@
             mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
                     "performRestore");
 
-            if (DEBUG) Log.d(TAG, "performRestore token=" + Long.toHexString(token)
+            if (DEBUG) Slog.d(TAG, "performRestore token=" + Long.toHexString(token)
                     + " observer=" + observer);
 
             if (mRestoreTransport == null || mRestoreSets == null) {
-                Log.e(TAG, "Ignoring performRestore() with no restore set");
+                Slog.e(TAG, "Ignoring performRestore() with no restore set");
                 return -1;
             }
 
@@ -2401,18 +2401,18 @@
                 }
             }
 
-            Log.w(TAG, "Restore token " + Long.toHexString(token) + " not found");
+            Slog.w(TAG, "Restore token " + Long.toHexString(token) + " not found");
             return -1;
         }
 
         public synchronized int restorePackage(String packageName, IRestoreObserver observer) {
-            if (DEBUG) Log.v(TAG, "restorePackage pkg=" + packageName + " obs=" + observer);
+            if (DEBUG) Slog.v(TAG, "restorePackage pkg=" + packageName + " obs=" + observer);
 
             PackageInfo app = null;
             try {
                 app = mPackageManager.getPackageInfo(packageName, 0);
             } catch (NameNotFoundException nnf) {
-                Log.w(TAG, "Asked to restore nonexistent pkg " + packageName);
+                Slog.w(TAG, "Asked to restore nonexistent pkg " + packageName);
                 return -1;
             }
 
@@ -2422,14 +2422,14 @@
                     Binder.getCallingPid(), Binder.getCallingUid());
             if ((perm == PackageManager.PERMISSION_DENIED) &&
                     (app.applicationInfo.uid != Binder.getCallingUid())) {
-                Log.w(TAG, "restorePackage: bad packageName=" + packageName
+                Slog.w(TAG, "restorePackage: bad packageName=" + packageName
                         + " or calling uid=" + Binder.getCallingUid());
                 throw new SecurityException("No permission to restore other packages");
             }
 
             // If the package has no backup agent, we obviously cannot proceed
             if (app.applicationInfo.backupAgentName == null) {
-                Log.w(TAG, "Asked to restore package " + packageName + " with no agent");
+                Slog.w(TAG, "Asked to restore package " + packageName + " with no agent");
                 return -1;
             }
 
@@ -2459,14 +2459,14 @@
             mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
                     "endRestoreSession");
 
-            if (DEBUG) Log.d(TAG, "endRestoreSession");
+            if (DEBUG) Slog.d(TAG, "endRestoreSession");
 
             synchronized (this) {
                 long oldId = Binder.clearCallingIdentity();
                 try {
                     if (mRestoreTransport != null) mRestoreTransport.finishRestore();
                 } catch (Exception e) {
-                    Log.e(TAG, "Error in finishRestore", e);
+                    Slog.e(TAG, "Error in finishRestore", e);
                 } finally {
                     mRestoreTransport = null;
                     Binder.restoreCallingIdentity(oldId);
@@ -2477,7 +2477,7 @@
                 if (BackupManagerService.this.mActiveRestoreSession == this) {
                     BackupManagerService.this.mActiveRestoreSession = null;
                 } else {
-                    Log.e(TAG, "ending non-current restore session");
+                    Slog.e(TAG, "ending non-current restore session");
                 }
             }
         }
@@ -2504,7 +2504,7 @@
                         pw.println("       " + f.getName() + " - " + f.length() + " state bytes");
                     }
                 } catch (RemoteException e) {
-                    Log.e(TAG, "Error in transportDirName()", e);
+                    Slog.e(TAG, "Error in transportDirName()", e);
                     pw.println("        Error: " + e);
                 }
             }
diff --git a/services/java/com/android/server/BatteryService.java b/services/java/com/android/server/BatteryService.java
index dc41ff9..57944fb 100644
--- a/services/java/com/android/server/BatteryService.java
+++ b/services/java/com/android/server/BatteryService.java
@@ -34,7 +34,7 @@
 import android.os.UEventObserver;
 import android.provider.Settings;
 import android.util.EventLog;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.File;
 import java.io.FileDescriptor;
@@ -349,7 +349,7 @@
         intent.putExtra(BatteryManager.EXTRA_TECHNOLOGY, mBatteryTechnology);
 
         if (false) {
-            Log.d(TAG, "updateBattery level:" + mBatteryLevel +
+            Slog.d(TAG, "updateBattery level:" + mBatteryLevel +
                     " scale:" + BATTERY_SCALE + " status:" + mBatteryStatus +
                     " health:" + mBatteryHealth +  " present:" + mBatteryPresent +
                     " voltage: " + mBatteryVoltage +
@@ -381,20 +381,20 @@
             // add dump file to drop box
             db.addFile("BATTERY_DISCHARGE_INFO", dumpFile, DropBoxManager.IS_TEXT);
         } catch (RemoteException e) {
-            Log.e(TAG, "failed to dump battery service", e);
+            Slog.e(TAG, "failed to dump battery service", e);
         } catch (IOException e) {
-            Log.e(TAG, "failed to write dumpsys file", e);
+            Slog.e(TAG, "failed to write dumpsys file", e);
         } finally {
             // make sure we clean up
             if (dumpStream != null) {
                 try {
                     dumpStream.close();
                 } catch (IOException e) {
-                    Log.e(TAG, "failed to close dumpsys output stream");
+                    Slog.e(TAG, "failed to close dumpsys output stream");
                 }
             }
             if (dumpFile != null && !dumpFile.delete()) {
-                Log.e(TAG, "failed to delete temporary dumpsys file: "
+                Slog.e(TAG, "failed to delete temporary dumpsys file: "
                         + dumpFile.getAbsolutePath());
             }
         }
@@ -416,12 +416,12 @@
                     // If the discharge cycle is bad enough we want to know about it.
                     logBatteryStats();
                 }
-                if (LOCAL_LOGV) Log.v(TAG, "duration threshold: " + durationThreshold +
+                if (LOCAL_LOGV) Slog.v(TAG, "duration threshold: " + durationThreshold +
                         " discharge threshold: " + dischargeThreshold);
-                if (LOCAL_LOGV) Log.v(TAG, "duration: " + duration + " discharge: " +
+                if (LOCAL_LOGV) Slog.v(TAG, "duration: " + duration + " discharge: " +
                         (mDischargeStartLevel - mBatteryLevel));
             } catch (NumberFormatException e) {
-                Log.e(TAG, "Invalid DischargeThresholds GService string: " +
+                Slog.e(TAG, "Invalid DischargeThresholds GService string: " +
                         durationThresholdString + " or " + dischargeThresholdString);
                 return;
             }
diff --git a/services/java/com/android/server/BootReceiver.java b/services/java/com/android/server/BootReceiver.java
index 5c1af7e..eeb91fa 100644
--- a/services/java/com/android/server/BootReceiver.java
+++ b/services/java/com/android/server/BootReceiver.java
@@ -28,7 +28,7 @@
 import android.os.RecoverySystem;
 import android.os.SystemProperties;
 import android.provider.Settings;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.File;
 import java.io.IOException;
@@ -53,13 +53,13 @@
         try {
             logBootEvents(context);
         } catch (Exception e) {
-            Log.e(TAG, "Can't log boot events", e);
+            Slog.e(TAG, "Can't log boot events", e);
         }
 
         try {
             RecoverySystem.handleAftermath();
         } catch (Exception e) {
-            Log.e(TAG, "Can't handle recovery aftermath", e);
+            Slog.e(TAG, "Can't handle recovery aftermath", e);
         }
 
         try {
@@ -70,7 +70,7 @@
                 context.startService(loadavg);
             }
         } catch (Exception e) {
-            Log.e(TAG, "Can't start load average service", e);
+            Slog.e(TAG, "Can't start load average service", e);
         }
     }
 
@@ -122,7 +122,7 @@
                     String filename = new File(TOMBSTONE_DIR, path).getPath();
                     addFileToDropBox(db, prefs, props, filename, LOG_SIZE, "SYSTEM_TOMBSTONE");
                 } catch (IOException e) {
-                    Log.e(TAG, "Can't log tombstone", e);
+                    Slog.e(TAG, "Can't log tombstone", e);
                 }
             }
         };
@@ -133,7 +133,7 @@
     private static void addFileToDropBox(
             DropBoxManager db, SharedPreferences prefs,
             String headers, String filename, int maxSize, String tag) throws IOException {
-        if (!db.isTagEnabled(tag)) return;  // Logging disabled
+        if (!db.isTagEnabled(tag)) return;  // Slog.ing disabled
 
         File file = new File(filename);
         long fileTime = file.lastModified();
@@ -146,6 +146,6 @@
         StringBuilder report = new StringBuilder(headers).append("\n");
         report.append(FileUtils.readTextFile(file, maxSize, "[[TRUNCATED]]\n"));
         db.addText(tag, report.toString());
-        Log.i(TAG, "Logging " + filename + " to DropBox (" + tag + ")");
+        Slog.i(TAG, "Slog.ing " + filename + " to DropBox (" + tag + ")");
     }
 }
diff --git a/services/java/com/android/server/BrickReceiver.java b/services/java/com/android/server/BrickReceiver.java
index 6c4db0d..cff3805 100644
--- a/services/java/com/android/server/BrickReceiver.java
+++ b/services/java/com/android/server/BrickReceiver.java
@@ -20,12 +20,12 @@
 import android.content.Intent;
 import android.content.BroadcastReceiver;
 import android.os.SystemService;
-import android.util.Log;
+import android.util.Slog;
 
 public class BrickReceiver extends BroadcastReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
-        Log.w("BrickReceiver", "!!! BRICKING DEVICE !!!");
+        Slog.w("BrickReceiver", "!!! BRICKING DEVICE !!!");
         SystemService.start("brick");
     }
 }
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 71f80d9..67b6200 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -39,7 +39,7 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.EventLog;
-import android.util.Log;
+import android.util.Slog;
 
 import com.android.internal.telephony.Phone;
 
@@ -169,7 +169,7 @@
                         // Wait until sServiceInstance has been initialized.
                         thread.wait();
                     } catch (InterruptedException ignore) {
-                        Log.e(TAG,
+                        Slog.e(TAG,
                             "Unexpected InterruptedException while waiting"+
                             " for ConnectivityService thread");
                     }
@@ -185,7 +185,7 @@
     }
 
     private ConnectivityService(Context context) {
-        if (DBG) Log.v(TAG, "ConnectivityService starting up");
+        if (DBG) Slog.v(TAG, "ConnectivityService starting up");
 
         // setup our unique device name
         String id = Settings.Secure.getString(context.getContentResolver(),
@@ -211,11 +211,11 @@
         for (String raString : raStrings) {
             RadioAttributes r = new RadioAttributes(raString);
             if (r.mType > ConnectivityManager.MAX_RADIO_TYPE) {
-                Log.e(TAG, "Error in radioAttributes - ignoring attempt to define type " + r.mType);
+                Slog.e(TAG, "Error in radioAttributes - ignoring attempt to define type " + r.mType);
                 continue;
             }
             if (mRadioAttributes[r.mType] != null) {
-                Log.e(TAG, "Error in radioAttributes - ignoring attempt to redefine type " +
+                Slog.e(TAG, "Error in radioAttributes - ignoring attempt to redefine type " +
                         r.mType);
                 continue;
             }
@@ -228,17 +228,17 @@
             try {
                 NetworkAttributes n = new NetworkAttributes(naString);
                 if (n.mType > ConnectivityManager.MAX_NETWORK_TYPE) {
-                    Log.e(TAG, "Error in networkAttributes - ignoring attempt to define type " +
+                    Slog.e(TAG, "Error in networkAttributes - ignoring attempt to define type " +
                             n.mType);
                     continue;
                 }
                 if (mNetAttributes[n.mType] != null) {
-                    Log.e(TAG, "Error in networkAttributes - ignoring attempt to redefine type " +
+                    Slog.e(TAG, "Error in networkAttributes - ignoring attempt to redefine type " +
                             n.mType);
                     continue;
                 }
                 if (mRadioAttributes[n.mRadio] == null) {
-                    Log.e(TAG, "Error in networkAttributes - ignoring attempt to use undefined " +
+                    Slog.e(TAG, "Error in networkAttributes - ignoring attempt to use undefined " +
                             "radio " + n.mRadio + " in network type " + n.mType);
                     continue;
                 }
@@ -294,7 +294,7 @@
         for (int netType : mPriorityList) {
             switch (mNetAttributes[netType].mRadio) {
             case ConnectivityManager.TYPE_WIFI:
-                if (DBG) Log.v(TAG, "Starting Wifi Service.");
+                if (DBG) Slog.v(TAG, "Starting Wifi Service.");
                 WifiStateTracker wst = new WifiStateTracker(context, mHandler);
                 WifiService wifiService = new WifiService(context, wst);
                 ServiceManager.addService(Context.WIFI_SERVICE, wifiService);
@@ -309,12 +309,12 @@
                     netType, mNetAttributes[netType].mName);
                 mNetTrackers[netType].startMonitoring();
                 if (noMobileData) {
-                    if (DBG) Log.d(TAG, "tearing down Mobile networks due to setting");
+                    if (DBG) Slog.d(TAG, "tearing down Mobile networks due to setting");
                     mNetTrackers[netType].teardown();
                 }
                 break;
             default:
-                Log.e(TAG, "Trying to create a DataStateTracker for an unknown radio type " +
+                Slog.e(TAG, "Trying to create a DataStateTracker for an unknown radio type " +
                         mNetAttributes[netType].mRadio);
                 continue;
             }
@@ -388,7 +388,7 @@
             if (t != mNetworkPreference && mNetTrackers[t] != null &&
                     mNetTrackers[t].getNetworkInfo().isConnected()) {
                 if (DBG) {
-                    Log.d(TAG, "tearing down " +
+                    Slog.d(TAG, "tearing down " +
                             mNetTrackers[t].getNetworkInfo() +
                             " in enforcePreference");
                 }
@@ -422,7 +422,7 @@
             NetworkStateTracker t = mNetTrackers[type];
             NetworkInfo info = t.getNetworkInfo();
             if (info.isConnected()) {
-                if (DBG && type != mActiveDefaultNetwork) Log.e(TAG,
+                if (DBG && type != mActiveDefaultNetwork) Slog.e(TAG,
                         "connected default network is not " +
                         "mActiveDefaultNetwork!");
                 return info;
@@ -505,14 +505,14 @@
         }
 
         public void binderDied() {
-            Log.d(TAG, "ConnectivityService FeatureUser binderDied(" +
+            Slog.d(TAG, "ConnectivityService FeatureUser binderDied(" +
                     mNetworkType + ", " + mFeature + ", " + mBinder + "), created " +
                     (System.currentTimeMillis() - mCreateTime) + " mSec ago");
             stopUsingNetworkFeature(this, false);
         }
 
         public void expire() {
-            Log.d(TAG, "ConnectivityService FeatureUser expire(" +
+            Slog.d(TAG, "ConnectivityService FeatureUser expire(" +
                     mNetworkType + ", " + mFeature + ", " + mBinder +"), created " +
                     (System.currentTimeMillis() - mCreateTime) + " mSec ago");
             stopUsingNetworkFeature(this, false);
@@ -528,7 +528,7 @@
     public int startUsingNetworkFeature(int networkType, String feature,
             IBinder binder) {
         if (DBG) {
-            Log.d(TAG, "startUsingNetworkFeature for net " + networkType +
+            Slog.d(TAG, "startUsingNetworkFeature for net " + networkType +
                     ": " + feature);
         }
         enforceChangePermission();
@@ -543,7 +543,7 @@
         int usedNetworkType = networkType;
         if(networkType == ConnectivityManager.TYPE_MOBILE) {
             if (!getMobileDataEnabled()) {
-                if (DBG) Log.d(TAG, "requested special network with data disabled - rejected");
+                if (DBG) Slog.d(TAG, "requested special network with data disabled - rejected");
                 return Phone.APN_TYPE_NOT_AVAILABLE;
             }
             if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_MMS)) {
@@ -565,7 +565,7 @@
                 NetworkInfo ni = network.getNetworkInfo();
 
                 if (ni.isAvailable() == false) {
-                    if (DBG) Log.d(TAG, "special network not available");
+                    if (DBG) Slog.d(TAG, "special network not available");
                     return Phone.APN_TYPE_NOT_AVAILABLE;
                 }
 
@@ -586,17 +586,17 @@
                     if (ni.isConnected() == true) {
                         // add the pid-specific dns
                         handleDnsConfigurationChange();
-                        if (DBG) Log.d(TAG, "special network already active");
+                        if (DBG) Slog.d(TAG, "special network already active");
                         return Phone.APN_ALREADY_ACTIVE;
                     }
-                    if (DBG) Log.d(TAG, "special network already connecting");
+                    if (DBG) Slog.d(TAG, "special network already connecting");
                     return Phone.APN_REQUEST_STARTED;
                 }
 
                 // check if the radio in play can make another contact
                 // assume if cannot for now
 
-                if (DBG) Log.d(TAG, "reconnecting to special network");
+                if (DBG) Slog.d(TAG, "reconnecting to special network");
                 network.reconnect();
                 return Phone.APN_REQUEST_STARTED;
             } else {
@@ -640,7 +640,7 @@
             return stopUsingNetworkFeature(u, true);
         } else {
             // none found!
-            if (DBG) Log.d(TAG, "ignoring stopUsingNetworkFeature - not a live request");
+            if (DBG) Slog.d(TAG, "ignoring stopUsingNetworkFeature - not a live request");
             return 1;
         }
     }
@@ -655,7 +655,7 @@
         boolean callTeardown = false;  // used to carry our decision outside of sync block
 
         if (DBG) {
-            Log.d(TAG, "stopUsingNetworkFeature for net " + networkType +
+            Slog.d(TAG, "stopUsingNetworkFeature for net " + networkType +
                     ": " + feature);
         }
 
@@ -685,7 +685,7 @@
                     if (x.mUid == u.mUid && x.mPid == u.mPid &&
                             x.mNetworkType == u.mNetworkType &&
                             TextUtils.equals(x.mFeature, u.mFeature)) {
-                        if (DBG) Log.d(TAG, "ignoring stopUsingNetworkFeature as dup is found");
+                        if (DBG) Slog.d(TAG, "ignoring stopUsingNetworkFeature as dup is found");
                         return 1;
                     }
                 }
@@ -713,7 +713,7 @@
                 mNetRequestersPids[usedNetworkType].remove(currentPid);
                 reassessPidDns(pid, true);
                 if (mNetRequestersPids[usedNetworkType].size() != 0) {
-                    if (DBG) Log.d(TAG, "not tearing down special network - " +
+                    if (DBG) Slog.d(TAG, "not tearing down special network - " +
                            "others still using it");
                     return 1;
                 }
@@ -749,7 +749,7 @@
         if (tracker == null || !tracker.getNetworkInfo().isConnected() ||
                 tracker.isTeardownRequested()) {
             if (DBG) {
-                Log.d(TAG, "requestRouteToHost on down network (" + networkType + ") - dropped");
+                Slog.d(TAG, "requestRouteToHost on down network (" + networkType + ") - dropped");
             }
             return false;
         }
@@ -790,7 +790,7 @@
         enforceAccessPermission();
         boolean retVal = Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.MOBILE_DATA, 1) == 1;
-        if (DBG) Log.d(TAG, "getMobileDataEnabled returning " + retVal);
+        if (DBG) Slog.d(TAG, "getMobileDataEnabled returning " + retVal);
         return retVal;
     }
 
@@ -799,7 +799,7 @@
      */
     public synchronized void setMobileDataEnabled(boolean enabled) {
         enforceChangePermission();
-        if (DBG) Log.d(TAG, "setMobileDataEnabled(" + enabled + ")");
+        if (DBG) Slog.d(TAG, "setMobileDataEnabled(" + enabled + ")");
 
         if (getMobileDataEnabled() == enabled) return;
 
@@ -808,7 +808,7 @@
 
         if (enabled) {
             if (mNetTrackers[ConnectivityManager.TYPE_MOBILE] != null) {
-                if (DBG) Log.d(TAG, "starting up " + mNetTrackers[ConnectivityManager.TYPE_MOBILE]);
+                if (DBG) Slog.d(TAG, "starting up " + mNetTrackers[ConnectivityManager.TYPE_MOBILE]);
                 mNetTrackers[ConnectivityManager.TYPE_MOBILE].reconnect();
             }
         } else {
@@ -816,7 +816,7 @@
                 if (nt == null) continue;
                 int netType = nt.getNetworkInfo().getType();
                 if (mNetAttributes[netType].mRadio == ConnectivityManager.TYPE_MOBILE) {
-                    if (DBG) Log.d(TAG, "tearing down " + nt);
+                    if (DBG) Slog.d(TAG, "tearing down " + nt);
                     nt.teardown();
                 }
             }
@@ -948,7 +948,7 @@
                 if (mNetAttributes[checkType].mRadio == ConnectivityManager.TYPE_MOBILE &&
                         noMobileData) {
                     if (DBG) {
-                        Log.d(TAG, "not failing over to mobile type " + checkType +
+                        Slog.d(TAG, "not failing over to mobile type " + checkType +
                                 " because Mobile Data Disabled");
                     }
                     continue;
@@ -986,10 +986,10 @@
                     }
                     if (DBG) {
                         if (switchTo.isConnected()) {
-                            Log.v(TAG, "Switching to already connected " +
+                            Slog.v(TAG, "Switching to already connected " +
                                     switchTo.getTypeName());
                         } else {
-                            Log.v(TAG, "Attempting to switch to " +
+                            Slog.v(TAG, "Attempting to switch to " +
                                     switchTo.getTypeName());
                         }
                     }
@@ -1037,7 +1037,7 @@
             } else {
                 reasonText = " (" + reason + ").";
             }
-            Log.v(TAG, "Attempt to connect to " + info.getTypeName() +
+            Slog.v(TAG, "Attempt to connect to " + info.getTypeName() +
                     " failed" + reasonText);
         }
 
@@ -1118,7 +1118,7 @@
                         mNetAttributes[type].mPriority) ||
                         mNetworkPreference == mActiveDefaultNetwork) {
                         // don't accept this one
-                        if (DBG) Log.v(TAG, "Not broadcasting CONNECT_ACTION " +
+                        if (DBG) Slog.v(TAG, "Not broadcasting CONNECT_ACTION " +
                                 "to torn down network " + info.getTypeName());
                         teardown(thisNet);
                         return;
@@ -1126,11 +1126,11 @@
                     // tear down the other
                     NetworkStateTracker otherNet =
                             mNetTrackers[mActiveDefaultNetwork];
-                    if (DBG) Log.v(TAG, "Policy requires " +
+                    if (DBG) Slog.v(TAG, "Policy requires " +
                             otherNet.getNetworkInfo().getTypeName() +
                             " teardown");
                     if (!teardown(otherNet)) {
-                        Log.e(TAG, "Network declined teardown request");
+                        Slog.e(TAG, "Network declined teardown request");
                         return;
                     }
                     if (isFailover) {
@@ -1149,7 +1149,7 @@
     private void handleScanResultsAvailable(NetworkInfo info) {
         int networkType = info.getType();
         if (networkType != ConnectivityManager.TYPE_WIFI) {
-            if (DBG) Log.v(TAG, "Got ScanResultsAvailable for " +
+            if (DBG) Slog.v(TAG, "Got ScanResultsAvailable for " +
                     info.getTypeName() + " network. Don't know how to handle.");
         }
 
@@ -1212,7 +1212,7 @@
      */
     private void reassessPidDns(int myPid, boolean doBump)
     {
-        if (DBG) Log.d(TAG, "reassessPidDns for pid " + myPid);
+        if (DBG) Slog.d(TAG, "reassessPidDns for pid " + myPid);
         for(int i : mPriorityList) {
             if (mNetAttributes[i].isDefault()) {
                 continue;
@@ -1284,14 +1284,14 @@
                     for (String dns : dnsList) {
                         if (dns != null && !TextUtils.equals(dns, "0.0.0.0")) {
                             if (DBG) {
-                                Log.d(TAG, "adding dns " + dns + " for " +
+                                Slog.d(TAG, "adding dns " + dns + " for " +
                                         nt.getNetworkInfo().getTypeName());
                             }
                             SystemProperties.set("net.dns" + j++, dns);
                         }
                     }
                     for (int k=j ; k<mNumDnsEntries; k++) {
-                        if (DBG) Log.d(TAG, "erasing net.dns" + k);
+                        if (DBG) Slog.d(TAG, "erasing net.dns" + k);
                         SystemProperties.set("net.dns" + k, "");
                     }
                     mNumDnsEntries = j;
@@ -1384,7 +1384,7 @@
                         if (DBG) {
                             // TODO - remove this after we validate the dropping doesn't break
                             // anything
-                            Log.d(TAG, "Dropping ConnectivityChange for " +
+                            Slog.d(TAG, "Dropping ConnectivityChange for " +
                                     info.getTypeName() + ": " +
                                     state + "/" + info.getDetailedState());
                         }
@@ -1392,7 +1392,7 @@
                     }
                     mNetAttributes[type].mLastState = state;
 
-                    if (DBG) Log.d(TAG, "ConnectivityChange for " +
+                    if (DBG) Slog.d(TAG, "ConnectivityChange for " +
                             info.getTypeName() + ": " +
                             state + "/" + info.getDetailedState());
 
diff --git a/services/java/com/android/server/DemoDataSet.java b/services/java/com/android/server/DemoDataSet.java
index 0de7c1e..277985f 100644
--- a/services/java/com/android/server/DemoDataSet.java
+++ b/services/java/com/android/server/DemoDataSet.java
@@ -27,7 +27,7 @@
 import android.provider.Settings;
 import android.provider.MediaStore.Images;
 import android.util.Config;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -62,7 +62,7 @@
         int count = files.length;
 
         if (count == 0) {
-            Log.i(LOG_TAG, "addDefaultImages: no images found!");
+            Slog.i(LOG_TAG, "addDefaultImages: no images found!");
             return;
         }
 
@@ -74,14 +74,14 @@
             try {
                 Images.Media.insertImage(mContentResolver, path, name, null);
             } catch (FileNotFoundException e) {
-                Log.e(LOG_TAG, "Failed to import image " + path, e);
+                Slog.e(LOG_TAG, "Failed to import image " + path, e);
             }
         }
     }
     
     private final void addDefaultData()
     {
-        Log.i(LOG_TAG, "Adding default data...");
+        Slog.i(LOG_TAG, "Adding default data...");
 
 //       addImage("Violet", "images/violet.png");
 //       addImage("Corky", "images/corky.png");
@@ -124,7 +124,7 @@
         }
         catch (Exception e)
         {
-            Log.e(LOG_TAG, "Failed to insert image '" + file + "'", e);
+            Slog.e(LOG_TAG, "Failed to insert image '" + file + "'", e);
             url = null;
         }
 
@@ -133,7 +133,7 @@
 
     private final Uri addShortcut(String shortcut, Intent intent)
     {
-        if (Config.LOGV) Log.v(LOG_TAG, "addShortcut: shortcut=" + shortcut + ", intent=" + intent);
+        if (Config.LOGV) Slog.v(LOG_TAG, "addShortcut: shortcut=" + shortcut + ", intent=" + intent);
         return Settings.Bookmarks.add(mContentResolver, intent, null, null,
                                       shortcut != null ? shortcut.charAt(0) : 0, 0);
     }
diff --git a/services/java/com/android/server/DeviceStorageMonitorService.java b/services/java/com/android/server/DeviceStorageMonitorService.java
index e58d346..62cf707 100644
--- a/services/java/com/android/server/DeviceStorageMonitorService.java
+++ b/services/java/com/android/server/DeviceStorageMonitorService.java
@@ -37,7 +37,7 @@
 import android.provider.Settings;
 import android.util.Config;
 import android.util.EventLog;
-import android.util.Log;
+import android.util.Slog;
 import android.provider.Settings;
 
 /**
@@ -105,7 +105,7 @@
         public void handleMessage(Message msg) {
             //dont handle an invalid message
             if (msg.what != DEVICE_MEMORY_WHAT) {
-                Log.e(TAG, "Will not process invalid message");
+                Slog.e(TAG, "Will not process invalid message");
                 return;
             }
             checkMemory(msg.arg1 == _TRUE);
@@ -116,7 +116,7 @@
         public void onRemoveCompleted(String packageName, boolean succeeded) {
             mClearSucceeded = succeeded;
             mClearingCache = false;
-            if(localLOGV) Log.i(TAG, " Clear succeeded:"+mClearSucceeded
+            if(localLOGV) Slog.i(TAG, " Clear succeeded:"+mClearSucceeded
                     +", mClearingCache:"+mClearingCache+" Forcing memory check");
             postCheckMemoryMsg(false, 0);
         }
@@ -182,11 +182,11 @@
         }
         mClearingCache = true;
         try {
-            if (localLOGV) Log.i(TAG, "Clearing cache");
+            if (localLOGV) Slog.i(TAG, "Clearing cache");
             IPackageManager.Stub.asInterface(ServiceManager.getService("package")).
                     freeStorageAndNotify(getMemThreshold(), mClearCacheObserver);
         } catch (RemoteException e) {
-            Log.w(TAG, "Failed to get handle for PackageManger Exception: "+e);
+            Slog.w(TAG, "Failed to get handle for PackageManger Exception: "+e);
             mClearingCache = false;
             mClearSucceeded = false;
         }
@@ -198,15 +198,15 @@
         // and should be accessed via a lock but even if it does this test will fail now and
         //hopefully the next time this flag will be set to the correct value.
         if(mClearingCache) {
-            if(localLOGV) Log.i(TAG, "Thread already running just skip");
+            if(localLOGV) Slog.i(TAG, "Thread already running just skip");
             //make sure the thread is not hung for too long
             long diffTime = System.currentTimeMillis() - mThreadStartTime;
             if(diffTime > (10*60*1000)) {
-                Log.w(TAG, "Thread that clears cache file seems to run for ever");
+                Slog.w(TAG, "Thread that clears cache file seems to run for ever");
             }
         } else {
             restatDataDir();
-            if (localLOGV)  Log.v(TAG, "freeMemory="+mFreeMem);
+            if (localLOGV)  Slog.v(TAG, "freeMemory="+mFreeMem);
 
             //post intent to NotificationManager to display icon if necessary
             long memThreshold = getMemThreshold();
@@ -220,23 +220,23 @@
                         mClearSucceeded = false;
                         clearCache();
                     } else {
-                        Log.i(TAG, "Running low on memory. Sending notification");
+                        Slog.i(TAG, "Running low on memory. Sending notification");
                         sendNotification();
                         mLowMemFlag = true;
                     }
                 } else {
-                    if (localLOGV) Log.v(TAG, "Running low on memory " +
+                    if (localLOGV) Slog.v(TAG, "Running low on memory " +
                             "notification already sent. do nothing");
                 }
             } else {
                 if (mLowMemFlag) {
-                    Log.i(TAG, "Memory available. Cancelling notification");
+                    Slog.i(TAG, "Memory available. Cancelling notification");
                     cancelNotification();
                     mLowMemFlag = false;
                 }
             }
         }
-        if(localLOGV) Log.i(TAG, "Posting Message again");
+        if(localLOGV) Slog.i(TAG, "Posting Message again");
         //keep posting messages to itself periodically
         postCheckMemoryMsg(true, DEFAULT_CHECK_INTERVAL);
     }
@@ -259,7 +259,7 @@
                               mContentResolver,
                               Settings.Secure.SYS_STORAGE_THRESHOLD_PERCENTAGE,
                               DEFAULT_THRESHOLD_PERCENTAGE);
-        if(localLOGV) Log.v(TAG, "Threshold Percentage="+value);
+        if(localLOGV) Slog.v(TAG, "Threshold Percentage="+value);
         //evaluate threshold value
         return mTotalMemory*value;
     }
@@ -291,7 +291,7 @@
     * application
     */
     private final void sendNotification() {
-        if(localLOGV) Log.i(TAG, "Sending low memory notification");
+        if(localLOGV) Slog.i(TAG, "Sending low memory notification");
         //log the event to event log with the amount of free storage(in bytes) left on the device
         EventLog.writeEvent(EventLogTags.LOW_STORAGE, mFreeMem);
         //  Pack up the values and broadcast them to everyone
@@ -319,7 +319,7 @@
      * Cancels low storage notification and sends OK intent.
      */
     private final void cancelNotification() {
-        if(localLOGV) Log.i(TAG, "Canceling low memory notification");
+        if(localLOGV) Slog.i(TAG, "Canceling low memory notification");
         NotificationManager mNotificationMgr =
                 (NotificationManager)mContext.getSystemService(
                         Context.NOTIFICATION_SERVICE);
diff --git a/services/java/com/android/server/DockObserver.java b/services/java/com/android/server/DockObserver.java
index a0c850f..25ebee4 100644
--- a/services/java/com/android/server/DockObserver.java
+++ b/services/java/com/android/server/DockObserver.java
@@ -57,6 +57,7 @@
 import android.text.format.DateUtils;
 import android.text.format.Time;
 import android.util.Log;
+import android.util.Slog;
 
 import com.android.internal.R;
 import com.android.internal.app.DisableCarModeActivity;
@@ -147,7 +148,7 @@
                 try {
                     mContext.startActivity(intent);
                 } catch (ActivityNotFoundException e) {
-                    Log.w(TAG, e.getCause());
+                    Slog.w(TAG, e.getCause());
                 }
             }
         }
@@ -249,7 +250,7 @@
     @Override
     public void onUEvent(UEventObserver.UEvent event) {
         if (Log.isLoggable(TAG, Log.VERBOSE)) {
-            Log.v(TAG, "Dock UEVENT: " + event.toString());
+            Slog.v(TAG, "Dock UEVENT: " + event.toString());
         }
 
         synchronized (this) {
@@ -263,7 +264,7 @@
                         try {
                             setCarMode(carModeEnabled);
                         } catch (RemoteException e1) {
-                            Log.w(TAG, "Unable to change car mode.", e1);
+                            Slog.w(TAG, "Unable to change car mode.", e1);
                         }
                     }
                     if (mSystemReady) {
@@ -279,7 +280,7 @@
                     }
                 }
             } catch (NumberFormatException e) {
-                Log.e(TAG, "Could not parse switch state from event " + event);
+                Slog.e(TAG, "Could not parse switch state from event " + event);
             }
         }
     }
@@ -293,9 +294,9 @@
             mPreviousDockState = mDockState = Integer.valueOf((new String(buffer, 0, len)).trim());
 
         } catch (FileNotFoundException e) {
-            Log.w(TAG, "This kernel does not have dock station support");
+            Slog.w(TAG, "This kernel does not have dock station support");
         } catch (Exception e) {
-            Log.e(TAG, "" , e);
+            Slog.e(TAG, "" , e);
         }
     }
 
@@ -310,7 +311,7 @@
                 try {
                     setCarMode(enableCarMode);
                 } catch (RemoteException e) {
-                    Log.w(TAG, "Unable to change car mode.", e);
+                    Slog.w(TAG, "Unable to change car mode.", e);
                 }
             }
             // don't bother broadcasting undocked here
@@ -332,13 +333,13 @@
             switch (msg.what) {
                 case MSG_DOCK_STATE:
                     synchronized (this) {
-                        Log.i(TAG, "Dock state changed: " + mDockState);
+                        Slog.i(TAG, "Dock state changed: " + mDockState);
 
                         final ContentResolver cr = mContext.getContentResolver();
 
                         if (Settings.Secure.getInt(cr,
                                 Settings.Secure.DEVICE_PROVISIONED, 0) == 0) {
-                            Log.i(TAG, "Device not provisioned, skipping dock broadcast");
+                            Slog.i(TAG, "Device not provisioned, skipping dock broadcast");
                             return;
                         }
                         // Pack up the values and broadcast them to everyone
@@ -414,7 +415,7 @@
                             try {
                                 DockObserver.this.updateTwilight();
                             } catch (RemoteException e) {
-                                Log.w(TAG, "Unable to change night mode.", e);
+                                Slog.w(TAG, "Unable to change night mode.", e);
                             }
                         }
                     }
@@ -428,7 +429,7 @@
                             try {
                                 DockObserver.this.updateTwilight();
                             } catch (RemoteException e) {
-                                Log.w(TAG, "Unable to change night mode.", e);
+                                Slog.w(TAG, "Unable to change night mode.", e);
                             }
                         }
                     } else {
diff --git a/services/java/com/android/server/DropBoxManagerService.java b/services/java/com/android/server/DropBoxManagerService.java
index 090e9d3..667953c 100644
--- a/services/java/com/android/server/DropBoxManagerService.java
+++ b/services/java/com/android/server/DropBoxManagerService.java
@@ -32,7 +32,7 @@
 import android.os.SystemClock;
 import android.provider.Settings;
 import android.text.format.Time;
-import android.util.Log;
+import android.util.Slog;
 
 import com.android.internal.os.IDropBoxManagerService;
 
@@ -103,7 +103,7 @@
                 init();
                 trimToFit();
             } catch (IOException e) {
-                Log.e(TAG, "Can't init", e);
+                Slog.e(TAG, "Can't init", e);
             }
         }
     };
@@ -195,7 +195,7 @@
 
                 long len = temp.length();
                 if (len > max) {
-                    Log.w(TAG, "Dropping: " + tag + " (" + temp.length() + " > " + max + " bytes)");
+                    Slog.w(TAG, "Dropping: " + tag + " (" + temp.length() + " > " + max + " bytes)");
                     temp.delete();
                     temp = null;  // Pass temp = null to createEntry() to leave a tombstone
                     break;
@@ -205,7 +205,7 @@
             createEntry(temp, tag, flags);
             temp = null;
         } catch (IOException e) {
-            Log.e(TAG, "Can't write: " + tag, e);
+            Slog.e(TAG, "Can't write: " + tag, e);
         } finally {
             try { if (output != null) output.close(); } catch (IOException e) {}
             entry.close();
@@ -227,7 +227,7 @@
         try {
             init();
         } catch (IOException e) {
-            Log.e(TAG, "Can't init", e);
+            Slog.e(TAG, "Can't init", e);
             return null;
         }
 
@@ -243,7 +243,7 @@
                 return new DropBoxManager.Entry(
                         entry.tag, entry.timestampMillis, entry.file, entry.flags);
             } catch (IOException e) {
-                Log.e(TAG, "Can't read: " + entry.file, e);
+                Slog.e(TAG, "Can't read: " + entry.file, e);
                 // Continue to next file
             }
         }
@@ -262,7 +262,7 @@
             init();
         } catch (IOException e) {
             pw.println("Can't initialize: " + e);
-            Log.e(TAG, "Can't init", e);
+            Slog.e(TAG, "Can't init", e);
             return;
         }
 
@@ -357,7 +357,7 @@
                     }
                 } catch (IOException e) {
                     out.append("*** ").append(e.toString()).append("\n");
-                    Log.e(TAG, "Can't read: " + entry.file, e);
+                    Slog.e(TAG, "Can't read: " + entry.file, e);
                 } finally {
                     if (dbe != null) dbe.close();
                 }
@@ -541,17 +541,17 @@
             // Scan pre-existing files.
             for (File file : files) {
                 if (file.getName().endsWith(".tmp")) {
-                    Log.i(TAG, "Cleaning temp file: " + file);
+                    Slog.i(TAG, "Cleaning temp file: " + file);
                     file.delete();
                     continue;
                 }
 
                 EntryFile entry = new EntryFile(file, mBlockSize);
                 if (entry.tag == null) {
-                    Log.w(TAG, "Unrecognized file: " + file);
+                    Slog.w(TAG, "Unrecognized file: " + file);
                     continue;
                 } else if (entry.timestampMillis == 0) {
-                    Log.w(TAG, "Invalid filename: " + file);
+                    Slog.w(TAG, "Invalid filename: " + file);
                     file.delete();
                     continue;
                 }
@@ -677,7 +677,7 @@
         // was lost.  Tombstones are expunged by age (see above).
 
         if (mAllFiles.blocks > mCachedQuotaBlocks) {
-            Log.i(TAG, "Usage (" + mAllFiles.blocks + ") > Quota (" + mCachedQuotaBlocks + ")");
+            Slog.i(TAG, "Usage (" + mAllFiles.blocks + ") > Quota (" + mCachedQuotaBlocks + ")");
 
             // Find a fair share amount of space to limit each tag
             int unsqueezed = mAllFiles.blocks, squeezed = 0;
@@ -703,7 +703,7 @@
                         if (entry.file != null) entry.file.delete();
                         enrollEntry(new EntryFile(mDropBoxDir, entry.tag, entry.timestampMillis));
                     } catch (IOException e) {
-                        Log.e(TAG, "Can't write tombstone file", e);
+                        Slog.e(TAG, "Can't write tombstone file", e);
                     }
                 }
             }
diff --git a/services/java/com/android/server/EntropyService.java b/services/java/com/android/server/EntropyService.java
index 28f09f5..0a53e9c 100644
--- a/services/java/com/android/server/EntropyService.java
+++ b/services/java/com/android/server/EntropyService.java
@@ -27,7 +27,7 @@
 import android.os.Handler;
 import android.os.Message;
 import android.os.SystemProperties;
-import android.util.Log;
+import android.util.Slog;
 
 /**
  * A service designed to load and periodically save &quot;randomness&quot;
@@ -63,7 +63,7 @@
         @Override
         public void handleMessage(Message msg) {
             if (msg.what != ENTROPY_WHAT) {
-                Log.e(TAG, "Will not process invalid message");
+                Slog.e(TAG, "Will not process invalid message");
                 return;
             }
             writeEntropy();
@@ -87,7 +87,7 @@
         try {
             RandomBlock.fromFile(ENTROPY_FILENAME).toFile(RANDOM_DEV);
         } catch (IOException e) {
-            Log.w(TAG, "unable to load initial entropy (first boot?)", e);
+            Slog.w(TAG, "unable to load initial entropy (first boot?)", e);
         }
     }
 
@@ -95,7 +95,7 @@
         try {
             RandomBlock.fromFile(RANDOM_DEV).toFile(ENTROPY_FILENAME);
         } catch (IOException e) {
-            Log.w(TAG, "unable to write entropy", e);
+            Slog.w(TAG, "unable to write entropy", e);
         }
     }
 
@@ -131,7 +131,7 @@
             out.println(System.currentTimeMillis());
             out.println(System.nanoTime());
         } catch (IOException e) {
-            Log.w(TAG, "Unable to add device specific data to the entropy pool", e);
+            Slog.w(TAG, "Unable to add device specific data to the entropy pool", e);
         } finally {
             if (out != null) {
                 out.close();
diff --git a/services/java/com/android/server/HeadsetObserver.java b/services/java/com/android/server/HeadsetObserver.java
index 9d69564..6f0a91d 100644
--- a/services/java/com/android/server/HeadsetObserver.java
+++ b/services/java/com/android/server/HeadsetObserver.java
@@ -24,7 +24,7 @@
 import android.os.PowerManager;
 import android.os.PowerManager.WakeLock;
 import android.os.UEventObserver;
-import android.util.Log;
+import android.util.Slog;
 import android.media.AudioManager;
 
 import java.io.FileReader;
@@ -66,12 +66,12 @@
 
     @Override
     public void onUEvent(UEventObserver.UEvent event) {
-        if (LOG) Log.v(TAG, "Headset UEVENT: " + event.toString());
+        if (LOG) Slog.v(TAG, "Headset UEVENT: " + event.toString());
 
         try {
             update(event.get("SWITCH_NAME"), Integer.parseInt(event.get("SWITCH_STATE")));
         } catch (NumberFormatException e) {
-            Log.e(TAG, "Could not parse switch state from event " + event);
+            Slog.e(TAG, "Could not parse switch state from event " + event);
         }
     }
 
@@ -91,9 +91,9 @@
             newName = new String(buffer, 0, len).trim();
 
         } catch (FileNotFoundException e) {
-            Log.w(TAG, "This kernel does not have wired headset support");
+            Slog.w(TAG, "This kernel does not have wired headset support");
         } catch (Exception e) {
-            Log.e(TAG, "" , e);
+            Slog.e(TAG, "" , e);
         }
 
         update(newName, newState);
@@ -167,7 +167,7 @@
             intent.putExtra("name", headsetName);
             intent.putExtra("microphone", microphone);
 
-            if (LOG) Log.v(TAG, "Intent.ACTION_HEADSET_PLUG: state: "+state+" name: "+headsetName+" mic: "+microphone);
+            if (LOG) Slog.v(TAG, "Intent.ACTION_HEADSET_PLUG: state: "+state+" name: "+headsetName+" mic: "+microphone);
             // TODO: Should we require a permission?
             ActivityManagerNative.broadcastStickyIntent(intent, null);
         }
diff --git a/services/java/com/android/server/InputDevice.java b/services/java/com/android/server/InputDevice.java
index d3bb6dc..1c18d6f 100644
--- a/services/java/com/android/server/InputDevice.java
+++ b/services/java/com/android/server/InputDevice.java
@@ -16,7 +16,7 @@
 
 package com.android.server;
 
-import android.util.Log;
+import android.util.Slog;
 import android.view.Display;
 import android.view.MotionEvent;
 import android.view.Surface;
@@ -142,7 +142,7 @@
                 final int ioff = i * MotionEvent.NUM_SAMPLE_DATA;
                 //final int x = mNextData[ioff + MotionEvent.SAMPLE_X];
                 final int y = mNextData[ioff + MotionEvent.SAMPLE_Y];
-                if (DEBUG_HACKS) Log.v("InputDevice", "Looking at next point #" + i + ": y=" + y);
+                if (DEBUG_HACKS) Slog.v("InputDevice", "Looking at next point #" + i + ": y=" + y);
                 boolean dropped = false;
                 if (!mDroppedBadPoint[i] && mLastNumPointers > 0) {
                     dropped = true;
@@ -156,7 +156,7 @@
                         int dy = y - mLastData[joff + MotionEvent.SAMPLE_Y];
                         //if (dx < 0) dx = -dx;
                         if (dy < 0) dy = -dy;
-                        if (DEBUG_HACKS) Log.v("InputDevice", "Comparing with last point #" + j
+                        if (DEBUG_HACKS) Slog.v("InputDevice", "Comparing with last point #" + j
                                 + ": y=" + mLastData[joff] + " dy=" + dy);
                         if (dy < maxDy) {
                             dropped = false;
@@ -168,7 +168,7 @@
                     }
                     if (dropped) {
                         dropped = true;
-                        Log.i("InputDevice", "Dropping bad point #" + i
+                        Slog.i("InputDevice", "Dropping bad point #" + i
                                 + ": newY=" + y + " closestDy=" + closestDy
                                 + " maxDy=" + maxDy);
                         mNextData[ioff + MotionEvent.SAMPLE_Y] = closestY;
@@ -188,7 +188,7 @@
                 int nextNumPointers) {
             final int numPointers = mLastNumPointers;
             final int[] rawData = mLastData;
-            if (DEBUG_HACKS) Log.v("InputDevice", "lastNumPointers=" + lastNumPointers
+            if (DEBUG_HACKS) Slog.v("InputDevice", "lastNumPointers=" + lastNumPointers
                     + " nextNumPointers=" + nextNumPointers
                     + " numPointers=" + numPointers);
             for (int i=0; i<numPointers; i++) {
@@ -202,7 +202,7 @@
                     if (lastNumPointers < nextNumPointers) {
                         // This pointer is going down.  Clear its history
                         // and start fresh.
-                        if (DEBUG_HACKS) Log.v("InputDevice", "Pointer down @ index "
+                        if (DEBUG_HACKS) Slog.v("InputDevice", "Pointer down @ index "
                                 + upOrDownPointer + " id " + mPointerIds[i]);
                         mHistoryDataStart[i] = 0;
                         mHistoryDataEnd[i] = 0;
@@ -215,7 +215,7 @@
                         // The pointer is going up.  Just fall through to
                         // recompute the last averaged point (and don't add
                         // it as a new point to include in the average).
-                        if (DEBUG_HACKS) Log.v("InputDevice", "Pointer up @ index "
+                        if (DEBUG_HACKS) Slog.v("InputDevice", "Pointer up @ index "
                                 + upOrDownPointer + " id " + mPointerIds[i]);
                     }
                 } else {
@@ -228,7 +228,7 @@
                     int dx = newX-oldX;
                     int dy = newY-oldY;
                     int delta = dx*dx + dy*dy;
-                    if (DEBUG_HACKS) Log.v("InputDevice", "Delta from last: " + delta);
+                    if (DEBUG_HACKS) Slog.v("InputDevice", "Delta from last: " + delta);
                     if (delta >= (75*75)) {
                         // Magic number, if moving farther than this, turn
                         // off filtering to avoid lag in response.
@@ -284,7 +284,7 @@
                 totalPressure += pressure;
                 x /= totalPressure;
                 y /= totalPressure;
-                if (DEBUG_HACKS) Log.v("InputDevice", "Averaging " + totalPressure
+                if (DEBUG_HACKS) Slog.v("InputDevice", "Averaging " + totalPressure
                         + " weight: (" + x + "," + y + ")");
                 mAveragedData[ioff + MotionEvent.SAMPLE_X] = x;
                 mAveragedData[ioff + MotionEvent.SAMPLE_Y] = y;
@@ -305,7 +305,7 @@
             final int[] nextData = mNextData;
             final int id = nextIndex * MotionEvent.NUM_SAMPLE_DATA;
             
-            if (DEBUG_POINTERS) Log.v("InputDevice", "assignPointer: nextIndex="
+            if (DEBUG_POINTERS) Slog.v("InputDevice", "assignPointer: nextIndex="
                     + nextIndex + " dataOff=" + id);
             final int x1 = nextData[id + MotionEvent.SAMPLE_X];
             final int y1 = nextData[id + MotionEvent.SAMPLE_Y];
@@ -329,7 +329,7 @@
                 }
             }
             
-            if (DEBUG_POINTERS) Log.v("InputDevice", "New index " + nextIndex
+            if (DEBUG_POINTERS) Slog.v("InputDevice", "New index " + nextIndex
                     + " best old index=" + bestIndex + " (distance="
                     + bestDistance + ")");
             next2Last[nextIndex] = bestIndex;
@@ -344,7 +344,7 @@
                 return false;
             }
             
-            if (DEBUG_POINTERS) Log.v("InputDevice", "Old index " + bestIndex
+            if (DEBUG_POINTERS) Slog.v("InputDevice", "Old index " + bestIndex
                     + " has multiple best new pointers!");
             
             last2Next[bestIndex] = -2;
@@ -369,7 +369,7 @@
                 last2Next[i] = -1;
             }
             
-            if (DEBUG_POINTERS) Log.v("InputDevice",
+            if (DEBUG_POINTERS) Slog.v("InputDevice",
                     "Update pointers: lastNumPointers=" + lastNumPointers
                     + " nextNumPointers=" + nextNumPointers);
             
@@ -385,7 +385,7 @@
             // new pointer locations find their best previous location is
             // the same.
             if (conflicts) {
-                if (DEBUG_POINTERS) Log.v("InputDevice", "Resolving conflicts");
+                if (DEBUG_POINTERS) Slog.v("InputDevice", "Resolving conflicts");
                 
                 for (int i=0; i<lastNumPointers; i++) {
                     if (last2Next[i] != -2) {
@@ -396,7 +396,7 @@
                     // we should do something like the one described at
                     // http://portal.acm.org/citation.cfm?id=997856
                     
-                    if (DEBUG_POINTERS) Log.v("InputDevice",
+                    if (DEBUG_POINTERS) Slog.v("InputDevice",
                             "Resolving last index #" + i);
                     
                     int numFound;
@@ -416,7 +416,7 @@
                         }
                         
                         if (worstJ >= 0) {
-                            if (DEBUG_POINTERS) Log.v("InputDevice",
+                            if (DEBUG_POINTERS) Slog.v("InputDevice",
                                     "Worst new pointer: " + worstJ
                                     + " (distance=" + worstDistance + ")");
                             if (assignPointer(worstJ, false)) {
@@ -434,13 +434,13 @@
             if (lastNumPointers < nextNumPointers) {
                 // We have one or more new pointers that are down.  Create a
                 // new pointer identifier for one of them.
-                if (DEBUG_POINTERS) Log.v("InputDevice", "Adding new pointer");
+                if (DEBUG_POINTERS) Slog.v("InputDevice", "Adding new pointer");
                 int nextId = 0;
                 int i=0;
                 while (i < lastNumPointers) {
                     if (mPointerIds[i] > nextId) {
                         // Found a hole, insert the pointer here.
-                        if (DEBUG_POINTERS) Log.v("InputDevice",
+                        if (DEBUG_POINTERS) Slog.v("InputDevice",
                                 "Inserting new pointer at hole " + i);
                         System.arraycopy(mPointerIds, i, mPointerIds,
                                 i+1, lastNumPointers-i);
@@ -453,7 +453,7 @@
                     nextId++;
                 }
                 
-                if (DEBUG_POINTERS) Log.v("InputDevice",
+                if (DEBUG_POINTERS) Slog.v("InputDevice",
                         "New pointer id " + nextId + " at index " + i);
                 
                 mLastNumPointers++;
@@ -463,7 +463,7 @@
                 // And assign this identifier to the first new pointer.
                 for (int j=0; j<nextNumPointers; j++) {
                     if (next2Last[j] < 0) {
-                        if (DEBUG_POINTERS) Log.v("InputDevice",
+                        if (DEBUG_POINTERS) Slog.v("InputDevice",
                                 "Assigning new id to new pointer index " + j);
                         next2Last[j] = i;
                         break;
@@ -477,7 +477,7 @@
             for (int i=0; i<nextNumPointers; i++) {
                 int lastIndex = next2Last[i];
                 if (lastIndex >= 0) {
-                    if (DEBUG_POINTERS) Log.v("InputDevice",
+                    if (DEBUG_POINTERS) Slog.v("InputDevice",
                             "Copying next pointer index " + i
                             + " to last index " + lastIndex);
                     System.arraycopy(nextData, i*MotionEvent.NUM_SAMPLE_DATA,
@@ -489,10 +489,10 @@
             if (lastNumPointers > nextNumPointers) {
                 // One or more pointers has gone up.  Find the first one,
                 // and adjust accordingly.
-                if (DEBUG_POINTERS) Log.v("InputDevice", "Removing old pointer");
+                if (DEBUG_POINTERS) Slog.v("InputDevice", "Removing old pointer");
                 for (int i=0; i<lastNumPointers; i++) {
                     if (last2Next[i] == -1) {
-                        if (DEBUG_POINTERS) Log.v("InputDevice",
+                        if (DEBUG_POINTERS) Slog.v("InputDevice",
                                 "Removing old pointer at index " + i);
                         retIndex = i;
                         break;
@@ -531,7 +531,7 @@
             final int lastNumPointers = mLastNumPointers;
             final int nextNumPointers = mNextNumPointers;
             if (mNextNumPointers > MAX_POINTERS) {
-                Log.w("InputDevice", "Number of pointers " + mNextNumPointers
+                Slog.w("InputDevice", "Number of pointers " + mNextNumPointers
                         + " exceeded maximum of " + MAX_POINTERS);
                 mNextNumPointers = MAX_POINTERS;
             }
@@ -549,7 +549,7 @@
             
             final int numPointers = mLastNumPointers;
             
-            if (DEBUG_POINTERS) Log.v("InputDevice", "Processing "
+            if (DEBUG_POINTERS) Slog.v("InputDevice", "Processing "
                     + numPointers + " pointers (going from " + lastNumPointers
                     + " to " + nextNumPointers + ")");
             
@@ -661,13 +661,13 @@
             }
             
             if (currentMove != null) {
-                if (false) Log.i("InputDevice", "Adding batch x="
+                if (false) Slog.i("InputDevice", "Adding batch x="
                         + reportData[MotionEvent.SAMPLE_X]
                         + " y=" + reportData[MotionEvent.SAMPLE_Y]
                         + " to " + currentMove);
                 currentMove.addBatch(curTime, reportData, metaState);
                 if (WindowManagerPolicy.WATCH_POINTER) {
-                    Log.i("KeyInputQueue", "Updating: " + currentMove);
+                    Slog.i("KeyInputQueue", "Updating: " + currentMove);
                 }
                 return null;
             }
@@ -748,13 +748,13 @@
             }
             
             if (currentMove != null) {
-                if (false) Log.i("InputDevice", "Adding batch x="
+                if (false) Slog.i("InputDevice", "Adding batch x="
                         + scaled[MotionEvent.SAMPLE_X]
                         + " y=" + scaled[MotionEvent.SAMPLE_Y]
                         + " to " + currentMove);
                 currentMove.addBatch(curTime, scaled, metaState);
                 if (WindowManagerPolicy.WATCH_POINTER) {
-                    Log.i("KeyInputQueue", "Updating: " + currentMove);
+                    Slog.i("KeyInputQueue", "Updating: " + currentMove);
                 }
                 return null;
             }
diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java
index 59d4c9b..a6a3e27 100644
--- a/services/java/com/android/server/InputMethodManagerService.java
+++ b/services/java/com/android/server/InputMethodManagerService.java
@@ -62,7 +62,7 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.EventLog;
-import android.util.Log;
+import android.util.Slog;
 import android.util.PrintWriterPrinter;
 import android.util.Printer;
 import android.view.IWindowManager;
@@ -317,7 +317,7 @@
                 hideInputMethodMenu();
                 return;
             } else {
-                Log.w(TAG, "Unexpected intent " + intent);
+                Slog.w(TAG, "Unexpected intent " + intent);
             }
 
             // Inform the current client of the change in active status
@@ -326,7 +326,7 @@
                     mCurClient.client.setActive(mScreenOn);
                 }
             } catch (RemoteException e) {
-                Log.w(TAG, "Got RemoteException sending 'screen on/off' notification to pid "
+                Slog.w(TAG, "Got RemoteException sending 'screen on/off' notification to pid "
                         + mCurClient.pid + " uid " + mCurClient.uid);
             }
         }
@@ -379,7 +379,7 @@
                         int change = isPackageDisappearing(imi.getPackageName());
                         if (change == PACKAGE_TEMPORARY_CHANGE
                                 || change == PACKAGE_PERMANENT_CHANGE) {
-                            Log.i(TAG, "Input method uninstalled, disabling: "
+                            Slog.i(TAG, "Input method uninstalled, disabling: "
                                     + imi.getComponent());
                             setInputMethodEnabledLocked(imi.getId(), false);
                         }
@@ -403,12 +403,12 @@
                         if (si == null) {
                             // Uh oh, current input method is no longer around!
                             // Pick another one...
-                            Log.i(TAG, "Current input method removed: " + curInputMethodId);
+                            Slog.i(TAG, "Current input method removed: " + curInputMethodId);
                             if (!chooseNewDefaultIMELocked()) {
                                 changed = true;
                                 curIm = null;
                                 curInputMethodId = "";
-                                Log.i(TAG, "Unsetting current input method");
+                                Slog.i(TAG, "Unsetting current input method");
                                 Settings.Secure.putString(mContext.getContentResolver(),
                                         Settings.Secure.DEFAULT_INPUT_METHOD,
                                         curInputMethodId);
@@ -469,15 +469,15 @@
         final String enabledStr = Settings.Secure.getString(
                 mContext.getContentResolver(),
                 Settings.Secure.ENABLED_INPUT_METHODS);
-        Log.i(TAG, "Enabled input methods: " + enabledStr);
+        Slog.i(TAG, "Enabled input methods: " + enabledStr);
         if (enabledStr == null) {
-            Log.i(TAG, "Enabled input methods has not been set, enabling all");
+            Slog.i(TAG, "Enabled input methods has not been set, enabling all");
             InputMethodInfo defIm = null;
             StringBuilder sb = new StringBuilder(256);
             final int N = mMethodList.size();
             for (int i=0; i<N; i++) {
                 InputMethodInfo imi = mMethodList.get(i);
-                Log.i(TAG, "Adding: " + imi.getId());
+                Slog.i(TAG, "Adding: " + imi.getId());
                 if (i > 0) sb.append(':');
                 sb.append(imi.getId());
                 if (defIm == null && imi.getIsDefaultResourceId() != 0) {
@@ -486,7 +486,7 @@
                                 imi.getPackageName(), 0).getResources();
                         if (res.getBoolean(imi.getIsDefaultResourceId())) {
                             defIm = imi;
-                            Log.i(TAG, "Selected default: " + imi.getId());
+                            Slog.i(TAG, "Selected default: " + imi.getId());
                         }
                     } catch (PackageManager.NameNotFoundException ex) {
                     } catch (Resources.NotFoundException ex) {
@@ -495,7 +495,7 @@
             }
             if (defIm == null && N > 0) {
                 defIm = mMethodList.get(0);
-                Log.i(TAG, "No default found, using " + defIm.getId());
+                Slog.i(TAG, "No default found, using " + defIm.getId());
             }
             Settings.Secure.putString(mContext.getContentResolver(),
                     Settings.Secure.ENABLED_INPUT_METHODS, sb.toString());
@@ -523,7 +523,7 @@
             // The input method manager only throws security exceptions, so let's
             // log all others.
             if (!(e instanceof SecurityException)) {
-                Log.e(TAG, "Input Method Manager Crash", e);
+                Slog.e(TAG, "Input Method Manager Crash", e);
             }
             throw e;
         }
@@ -536,7 +536,7 @@
                 try {
                     startInputInnerLocked();
                 } catch (RuntimeException e) {
-                    Log.w(TAG, "Unexpected exception", e);
+                    Slog.w(TAG, "Unexpected exception", e);
                 }
             }
         }
@@ -600,7 +600,7 @@
 
     void unbindCurrentClientLocked() {
         if (mCurClient != null) {
-            if (DEBUG) Log.v(TAG, "unbindCurrentInputLocked: client = "
+            if (DEBUG) Slog.v(TAG, "unbindCurrentInputLocked: client = "
                     + mCurClient.client.asBinder());
             if (mBoundToMethod) {
                 mBoundToMethod = false;
@@ -617,7 +617,7 @@
             try {
                 mCurClient.client.setActive(false);
             } catch (RemoteException e) {
-                Log.w(TAG, "Got RemoteException sending setActive(false) notification to pid "
+                Slog.w(TAG, "Got RemoteException sending setActive(false) notification to pid "
                         + mCurClient.pid + " uid " + mCurClient.uid);
             }
             mCurClient = null;
@@ -662,7 +662,7 @@
                     MSG_RESTART_INPUT, session, mCurInputContext, mCurAttribute));
         }
         if (mShowRequested) {
-            if (DEBUG) Log.v(TAG, "Attach new input asks to show input");
+            if (DEBUG) Slog.v(TAG, "Attach new input asks to show input");
             showCurrentInputLocked(getAppShowFlags(), null);
         }
         return needResult
@@ -691,7 +691,7 @@
                 // because if the focus changes some time before or after, the
                 // next client receiving focus that has any interest in input will
                 // be calling through here after that change happens.
-                Log.w(TAG, "Starting input on non-focused client " + cs.client
+                Slog.w(TAG, "Starting input on non-focused client " + cs.client
                         + " (uid=" + cs.uid + " pid=" + cs.pid + ")");
                 return null;
             }
@@ -702,7 +702,7 @@
             // If the client is changing, we need to switch over to the new
             // one.
             unbindCurrentClientLocked();
-            if (DEBUG) Log.v(TAG, "switching to client: client = "
+            if (DEBUG) Slog.v(TAG, "switching to client: client = "
                     + cs.client.asBinder());
 
             // If the screen is on, inform the new client it is active
@@ -710,7 +710,7 @@
                 try {
                     cs.client.setActive(mScreenOn);
                 } catch (RemoteException e) {
-                    Log.w(TAG, "Got RemoteException sending setActive notification to pid "
+                    Slog.w(TAG, "Got RemoteException sending setActive notification to pid "
                             + cs.pid + " uid " + cs.uid);
                 }
             }
@@ -734,7 +734,7 @@
                 if (mCurMethod != null) {
                     if (!cs.sessionRequested) {
                         cs.sessionRequested = true;
-                        if (DEBUG) Log.v(TAG, "Creating new session for client " + cs);
+                        if (DEBUG) Slog.v(TAG, "Creating new session for client " + cs);
                         executeOrSendMessage(mCurMethod, mCaller.obtainMessageOO(
                                 MSG_CREATE_SESSION, mCurMethod,
                                 new MethodCallback(mCurMethod)));
@@ -792,7 +792,7 @@
             mCurId = info.getId();
             mCurToken = new Binder();
             try {
-                if (DEBUG) Log.v(TAG, "Adding window token: " + mCurToken);
+                if (DEBUG) Slog.v(TAG, "Adding window token: " + mCurToken);
                 mIWindowManager.addWindowToken(mCurToken,
                         WindowManager.LayoutParams.TYPE_INPUT_METHOD);
             } catch (RemoteException e) {
@@ -800,7 +800,7 @@
             return new InputBindResult(null, mCurId, mCurSeq);
         } else {
             mCurIntent = null;
-            Log.w(TAG, "Failure connecting to input method service: "
+            Slog.w(TAG, "Failure connecting to input method service: "
                     + mCurIntent);
         }
         return null;
@@ -828,15 +828,15 @@
             if (mCurIntent != null && name.equals(mCurIntent.getComponent())) {
                 mCurMethod = IInputMethod.Stub.asInterface(service);
                 if (mCurToken == null) {
-                    Log.w(TAG, "Service connected without a token!");
+                    Slog.w(TAG, "Service connected without a token!");
                     unbindCurrentMethodLocked(false);
                     return;
                 }
-                if (DEBUG) Log.v(TAG, "Initiating attach with token: " + mCurToken);
+                if (DEBUG) Slog.v(TAG, "Initiating attach with token: " + mCurToken);
                 executeOrSendMessage(mCurMethod, mCaller.obtainMessageOO(
                         MSG_ATTACH_TOKEN, mCurMethod, mCurToken));
                 if (mCurClient != null) {
-                    if (DEBUG) Log.v(TAG, "Creating first session while with client "
+                    if (DEBUG) Slog.v(TAG, "Creating first session while with client "
                             + mCurClient);
                     executeOrSendMessage(mCurMethod, mCaller.obtainMessageOO(
                             MSG_CREATE_SESSION, mCurMethod,
@@ -872,7 +872,7 @@
 
         if (mCurToken != null) {
             try {
-                if (DEBUG) Log.v(TAG, "Removing window token: " + mCurToken);
+                if (DEBUG) Slog.v(TAG, "Removing window token: " + mCurToken);
                 mIWindowManager.removeWindowToken(mCurToken);
             } catch (RemoteException e) {
             }
@@ -901,7 +901,7 @@
 
     public void onServiceDisconnected(ComponentName name) {
         synchronized (mMethodMap) {
-            if (DEBUG) Log.v(TAG, "Service disconnected: " + name
+            if (DEBUG) Slog.v(TAG, "Service disconnected: " + name
                     + " mCurIntent=" + mCurIntent);
             if (mCurMethod != null && mCurIntent != null
                     && name.equals(mCurIntent.getComponent())) {
@@ -923,16 +923,16 @@
         long ident = Binder.clearCallingIdentity();
         try {
             if (token == null || mCurToken != token) {
-                Log.w(TAG, "Ignoring setInputMethod of token: " + token);
+                Slog.w(TAG, "Ignoring setInputMethod of token: " + token);
                 return;
             }
 
             synchronized (mMethodMap) {
                 if (iconId == 0) {
-                    if (DEBUG) Log.d(TAG, "hide the small icon for the input method");
+                    if (DEBUG) Slog.d(TAG, "hide the small icon for the input method");
                     mStatusBar.setIconVisibility(mInputMethodIcon, false);
                 } else if (packageName != null) {
-                    if (DEBUG) Log.d(TAG, "show a small icon for the input method");
+                    if (DEBUG) Slog.d(TAG, "show a small icon for the input method");
                     mInputMethodData.iconId = iconId;
                     mInputMethodData.iconPackage = packageName;
                     mStatusBar.updateIcon(mInputMethodIcon, mInputMethodData, null);
@@ -955,7 +955,7 @@
             try {
                 setInputMethodLocked(id);
             } catch (IllegalArgumentException e) {
-                Log.w(TAG, "Unknown input method from prefs: " + id, e);
+                Slog.w(TAG, "Unknown input method from prefs: " + id, e);
                 mCurMethodId = null;
                 unbindCurrentMethodLocked(true);
             }
@@ -1006,7 +1006,7 @@
                         // focus in the window manager, to allow this call to
                         // be made before input is started in it.
                         if (!mIWindowManager.inputMethodClientHasFocus(client)) {
-                            Log.w(TAG, "Ignoring showSoftInput of: " + client);
+                            Slog.w(TAG, "Ignoring showSoftInput of: " + client);
                             return false;
                         }
                     } catch (RemoteException e) {
@@ -1014,7 +1014,7 @@
                     }
                 }
 
-                if (DEBUG) Log.v(TAG, "Client requesting input be shown");
+                if (DEBUG) Slog.v(TAG, "Client requesting input be shown");
                 return showCurrentInputLocked(flags, resultReceiver);
             }
         } finally {
@@ -1070,7 +1070,7 @@
                         // focus in the window manager, to allow this call to
                         // be made before input is started in it.
                         if (!mIWindowManager.inputMethodClientHasFocus(client)) {
-                            Log.w(TAG, "Ignoring hideSoftInput of: " + client);
+                            Slog.w(TAG, "Ignoring hideSoftInput of: " + client);
                             return false;
                         }
                     } catch (RemoteException e) {
@@ -1078,7 +1078,7 @@
                     }
                 }
 
-                if (DEBUG) Log.v(TAG, "Client requesting input be hidden");
+                if (DEBUG) Slog.v(TAG, "Client requesting input be hidden");
                 return hideCurrentInputLocked(flags, resultReceiver);
             }
         } finally {
@@ -1089,12 +1089,12 @@
     boolean hideCurrentInputLocked(int flags, ResultReceiver resultReceiver) {
         if ((flags&InputMethodManager.HIDE_IMPLICIT_ONLY) != 0
                 && (mShowExplicitlyRequested || mShowForced)) {
-            if (DEBUG) Log.v(TAG,
+            if (DEBUG) Slog.v(TAG,
                     "Not hiding: explicit show not cancelled by non-explicit hide");
             return false;
         }
         if (mShowForced && (flags&InputMethodManager.HIDE_NOT_ALWAYS) != 0) {
-            if (DEBUG) Log.v(TAG,
+            if (DEBUG) Slog.v(TAG,
                     "Not hiding: forced show not cancelled by not-always hide");
             return false;
         }
@@ -1119,7 +1119,7 @@
         long ident = Binder.clearCallingIdentity();
         try {
             synchronized (mMethodMap) {
-                if (DEBUG) Log.v(TAG, "windowGainedFocus: " + client.asBinder()
+                if (DEBUG) Slog.v(TAG, "windowGainedFocus: " + client.asBinder()
                         + " viewHasFocus=" + viewHasFocus
                         + " isTextEditor=" + isTextEditor
                         + " softInputMode=#" + Integer.toHexString(softInputMode)
@@ -1133,7 +1133,7 @@
                         // focus in the window manager, to allow this call to
                         // be made before input is started in it.
                         if (!mIWindowManager.inputMethodClientHasFocus(client)) {
-                            Log.w(TAG, "Client not active, ignoring focus gain of: " + client);
+                            Slog.w(TAG, "Client not active, ignoring focus gain of: " + client);
                             return;
                         }
                     } catch (RemoteException e) {
@@ -1141,7 +1141,7 @@
                 }
 
                 if (mCurFocusedWindow == windowToken) {
-                    Log.w(TAG, "Window already focused, ignoring focus gain of: " + client);
+                    Slog.w(TAG, "Window already focused, ignoring focus gain of: " + client);
                     return;
                 }
                 mCurFocusedWindow = windowToken;
@@ -1155,7 +1155,7 @@
                                 // There is no focus view, and this window will
                                 // be behind any soft input window, so hide the
                                 // soft input window if it is shown.
-                                if (DEBUG) Log.v(TAG, "Unspecified window will hide input");
+                                if (DEBUG) Slog.v(TAG, "Unspecified window will hide input");
                                 hideCurrentInputLocked(InputMethodManager.HIDE_NOT_ALWAYS, null);
                             }
                         } else if (isTextEditor && (softInputMode &
@@ -1165,7 +1165,7 @@
                                         WindowManager.LayoutParams.SOFT_INPUT_IS_FORWARD_NAVIGATION) != 0) {
                             // There is a focus view, and we are navigating forward
                             // into the window, so show the input window for the user.
-                            if (DEBUG) Log.v(TAG, "Unspecified window will show input");
+                            if (DEBUG) Slog.v(TAG, "Unspecified window will show input");
                             showCurrentInputLocked(InputMethodManager.SHOW_IMPLICIT, null);
                         }
                         break;
@@ -1175,23 +1175,23 @@
                     case WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN:
                         if ((softInputMode &
                                 WindowManager.LayoutParams.SOFT_INPUT_IS_FORWARD_NAVIGATION) != 0) {
-                            if (DEBUG) Log.v(TAG, "Window asks to hide input going forward");
+                            if (DEBUG) Slog.v(TAG, "Window asks to hide input going forward");
                             hideCurrentInputLocked(0, null);
                         }
                         break;
                     case WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN:
-                        if (DEBUG) Log.v(TAG, "Window asks to hide input");
+                        if (DEBUG) Slog.v(TAG, "Window asks to hide input");
                         hideCurrentInputLocked(0, null);
                         break;
                     case WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE:
                         if ((softInputMode &
                                 WindowManager.LayoutParams.SOFT_INPUT_IS_FORWARD_NAVIGATION) != 0) {
-                            if (DEBUG) Log.v(TAG, "Window asks to show input going forward");
+                            if (DEBUG) Slog.v(TAG, "Window asks to show input going forward");
                             showCurrentInputLocked(InputMethodManager.SHOW_IMPLICIT, null);
                         }
                         break;
                     case WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE:
-                        if (DEBUG) Log.v(TAG, "Window asks to always show input");
+                        if (DEBUG) Slog.v(TAG, "Window asks to always show input");
                         showCurrentInputLocked(InputMethodManager.SHOW_IMPLICIT, null);
                         break;
                 }
@@ -1205,7 +1205,7 @@
         synchronized (mMethodMap) {
             if (mCurClient == null || client == null
                     || mCurClient.client.asBinder() != client.asBinder()) {
-                Log.w(TAG, "Ignoring showInputMethodDialogFromClient of: " + client);
+                Slog.w(TAG, "Ignoring showInputMethodDialogFromClient of: " + client);
             }
 
             mHandler.sendEmptyMessage(MSG_SHOW_IM_PICKER);
@@ -1223,7 +1223,7 @@
                             + android.Manifest.permission.WRITE_SECURE_SETTINGS);
                 }
             } else if (mCurToken != token) {
-                Log.w(TAG, "Ignoring setInputMethod of token: " + token);
+                Slog.w(TAG, "Ignoring setInputMethod of token: " + token);
                 return;
             }
 
@@ -1239,7 +1239,7 @@
     public void hideMySoftInput(IBinder token, int flags) {
         synchronized (mMethodMap) {
             if (token == null || mCurToken != token) {
-                Log.w(TAG, "Ignoring hideInputMethod of token: " + token);
+                Slog.w(TAG, "Ignoring hideInputMethod of token: " + token);
                 return;
             }
             long ident = Binder.clearCallingIdentity();
@@ -1254,7 +1254,7 @@
     public void showMySoftInput(IBinder token, int flags) {
         synchronized (mMethodMap) {
             if (token == null || mCurToken != token) {
-                Log.w(TAG, "Ignoring hideInputMethod of token: " + token);
+                Slog.w(TAG, "Ignoring hideInputMethod of token: " + token);
                 return;
             }
             long ident = Binder.clearCallingIdentity();
@@ -1270,7 +1270,7 @@
         if (mEnabledSession != session) {
             if (mEnabledSession != null) {
                 try {
-                    if (DEBUG) Log.v(TAG, "Disabling: " + mEnabledSession);
+                    if (DEBUG) Slog.v(TAG, "Disabling: " + mEnabledSession);
                     mEnabledSession.method.setSessionEnabled(
                             mEnabledSession.session, false);
                 } catch (RemoteException e) {
@@ -1278,7 +1278,7 @@
             }
             mEnabledSession = session;
             try {
-                if (DEBUG) Log.v(TAG, "Enabling: " + mEnabledSession);
+                if (DEBUG) Slog.v(TAG, "Enabling: " + mEnabledSession);
                 session.method.setSessionEnabled(
                         session.session, true);
             } catch (RemoteException e) {
@@ -1328,7 +1328,7 @@
             case MSG_ATTACH_TOKEN:
                 args = (HandlerCaller.SomeArgs)msg.obj;
                 try {
-                    if (DEBUG) Log.v(TAG, "Sending attach of token: " + args.arg2);
+                    if (DEBUG) Slog.v(TAG, "Sending attach of token: " + args.arg2);
                     ((IInputMethod)args.arg1).attachToken((IBinder)args.arg2);
                 } catch (RemoteException e) {
                 }
@@ -1379,7 +1379,7 @@
                     ((IInputMethodClient)args.arg1).onBindMethod(
                             (InputBindResult)args.arg2);
                 } catch (RemoteException e) {
-                    Log.w(TAG, "Client died receiving input method " + args.arg2);
+                    Slog.w(TAG, "Client died receiving input method " + args.arg2);
                 }
                 return true;
         }
@@ -1420,13 +1420,13 @@
             ComponentName compName = new ComponentName(si.packageName, si.name);
             if (!android.Manifest.permission.BIND_INPUT_METHOD.equals(
                     si.permission)) {
-                Log.w(TAG, "Skipping input method " + compName
+                Slog.w(TAG, "Skipping input method " + compName
                         + ": it does not require the permission "
                         + android.Manifest.permission.BIND_INPUT_METHOD);
                 continue;
             }
 
-            if (DEBUG) Log.d(TAG, "Checking " + compName);
+            if (DEBUG) Slog.d(TAG, "Checking " + compName);
 
             try {
                 InputMethodInfo p = new InputMethodInfo(mContext, ri);
@@ -1439,13 +1439,13 @@
                 }
 
                 if (DEBUG) {
-                    Log.d(TAG, "Found a third-party input method " + p);
+                    Slog.d(TAG, "Found a third-party input method " + p);
                 }
 
             } catch (XmlPullParserException e) {
-                Log.w(TAG, "Unable to load input method " + compName, e);
+                Slog.w(TAG, "Unable to load input method " + compName, e);
             } catch (IOException e) {
-                Log.w(TAG, "Unable to load input method " + compName, e);
+                Slog.w(TAG, "Unable to load input method " + compName, e);
             }
         }
 
@@ -1461,7 +1461,7 @@
     // ----------------------------------------------------------------------
 
     void showInputMethodMenu() {
-        if (DEBUG) Log.v(TAG, "Show switching menu");
+        if (DEBUG) Slog.v(TAG, "Show switching menu");
 
         hideInputMethodMenu();
 
@@ -1471,7 +1471,7 @@
 
         String lastInputMethodId = Settings.Secure.getString(context
                 .getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
-        if (DEBUG) Log.v(TAG, "Current IME: " + lastInputMethodId);
+        if (DEBUG) Slog.v(TAG, "Current IME: " + lastInputMethodId);
 
         final List<InputMethodInfo> immis = getEnabledInputMethodList();
 
@@ -1540,7 +1540,7 @@
     }
 
     void hideInputMethodMenuLocked() {
-        if (DEBUG) Log.v(TAG, "Hide switching menu");
+        if (DEBUG) Slog.v(TAG, "Hide switching menu");
 
         if (mSwitchingDialog != null) {
             mSwitchingDialog.dismiss();
diff --git a/services/java/com/android/server/Installer.java b/services/java/com/android/server/Installer.java
index 11297d5..1f34eba 100644
--- a/services/java/com/android/server/Installer.java
+++ b/services/java/com/android/server/Installer.java
@@ -20,7 +20,7 @@
 import android.net.LocalSocketAddress;
 import android.net.LocalSocket;
 import android.util.Config;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -41,7 +41,7 @@
         if (mSocket != null) {
             return true;
         }
-        Log.i(TAG, "connecting...");
+        Slog.i(TAG, "connecting...");
         try {
             mSocket = new LocalSocket();
 
@@ -60,7 +60,7 @@
     }
 
 	private void disconnect() {
-        Log.i(TAG,"disconnecting...");
+        Slog.i(TAG,"disconnecting...");
 		try {
 			if (mSocket != null) mSocket.close();
 		} catch (IOException ex) { }
@@ -82,16 +82,16 @@
 			try {
 				count = mIn.read(buffer, off, len - off);
 				if (count <= 0) {
-                    Log.e(TAG, "read error " + count);
+                    Slog.e(TAG, "read error " + count);
                     break;
                 }
 				off += count;
 			} catch (IOException ex) {
-                Log.e(TAG,"read exception");
+                Slog.e(TAG,"read exception");
 				break;
 			}
 		}
-//        Log.i(TAG, "read "+len+" bytes");
+//        Slog.i(TAG, "read "+len+" bytes");
 		if (off == len) return true;
 		disconnect();
 		return false;
@@ -103,7 +103,7 @@
 		if (!readBytes(buf, 2)) return false;
 		len = (((int) buf[0]) & 0xff) | ((((int) buf[1]) & 0xff) << 8);
 		if ((len < 1) || (len > 1024)) {
-            Log.e(TAG,"invalid reply length ("+len+")");
+            Slog.e(TAG,"invalid reply length ("+len+")");
 			disconnect();
 			return false;
 		}
@@ -122,7 +122,7 @@
 			mOut.write(buf, 0, 2);
 			mOut.write(cmd, 0, len);
 		} catch (IOException ex) {
-            Log.e(TAG,"write error");
+            Slog.e(TAG,"write error");
 			disconnect();
 			return false;
 		}
@@ -131,7 +131,7 @@
 		
 	private synchronized String transaction(String cmd) {
 		if (!connect()) {
-            Log.e(TAG, "connection failed");
+            Slog.e(TAG, "connection failed");
             return "-1";
         }
 
@@ -141,18 +141,18 @@
                  * write (this one).  Try to reconnect and write
                  * the command one more time before giving up.
                  */
-            Log.e(TAG, "write command failed? reconnect!");
+            Slog.e(TAG, "write command failed? reconnect!");
             if (!connect() || !writeCommand(cmd)) {
                 return "-1";
             }
         }
-//        Log.i(TAG,"send: '"+cmd+"'");
+//        Slog.i(TAG,"send: '"+cmd+"'");
 		if (readReply()) {
             String s = new String(buf, 0, buflen);
-//            Log.i(TAG,"recv: '"+s+"'");
+//            Slog.i(TAG,"recv: '"+s+"'");
 			return s;
 		} else {
-//            Log.i(TAG,"fail");
+//            Slog.i(TAG,"fail");
 			return "-1";
 		}
 	}
diff --git a/services/java/com/android/server/IntentResolver.java b/services/java/com/android/server/IntentResolver.java
index d8c8c90..19b0a76 100644
--- a/services/java/com/android/server/IntentResolver.java
+++ b/services/java/com/android/server/IntentResolver.java
@@ -28,6 +28,7 @@
 import java.util.Set;
 
 import android.util.Log;
+import android.util.Slog;
 import android.util.LogPrinter;
 import android.util.Printer;
 
@@ -46,9 +47,9 @@
 
     public void addFilter(F f) {
         if (localLOGV) {
-            Log.v(TAG, "Adding filter: " + f);
-            f.dump(new LogPrinter(Log.VERBOSE, TAG), "      ");
-            Log.v(TAG, "    Building Lookup Maps:");
+            Slog.v(TAG, "Adding filter: " + f);
+            f.dump(new LogPrinter(Log.VERBOSE, TAG, Log.LOG_ID_SYSTEM), "      ");
+            Slog.v(TAG, "    Building Lookup Maps:");
         }
 
         mFilters.add(f);
@@ -72,9 +73,9 @@
 
     void removeFilterInternal(F f) {
         if (localLOGV) {
-            Log.v(TAG, "Removing filter: " + f);
-            f.dump(new LogPrinter(Log.VERBOSE, TAG), "      ");
-            Log.v(TAG, "    Cleaning Lookup Maps:");
+            Slog.v(TAG, "Removing filter: " + f);
+            f.dump(new LogPrinter(Log.VERBOSE, TAG, Log.LOG_ID_SYSTEM), "      ");
+            Slog.v(TAG, "    Cleaning Lookup Maps:");
         }
 
         int numS = unregister_intent_filter(f, f.schemesIterator(),
@@ -188,7 +189,7 @@
         final boolean debug = localLOGV ||
                 ((intent.getFlags() & Intent.FLAG_DEBUG_LOG_RESOLUTION) != 0);
 
-        if (debug) Log.v(
+        if (debug) Slog.v(
             TAG, "Resolving type " + resolvedType + " scheme " + scheme
             + " of intent " + intent);
 
@@ -209,26 +210,26 @@
                         // Not a wild card, so we can just look for all filters that
                         // completely match or wildcards whose base type matches.
                         firstTypeCut = mTypeToFilter.get(resolvedType);
-                        if (debug) Log.v(TAG, "First type cut: " + firstTypeCut);
+                        if (debug) Slog.v(TAG, "First type cut: " + firstTypeCut);
                         secondTypeCut = mWildTypeToFilter.get(baseType);
-                        if (debug) Log.v(TAG, "Second type cut: " + secondTypeCut);
+                        if (debug) Slog.v(TAG, "Second type cut: " + secondTypeCut);
                     } else {
                         // We can match anything with our base type.
                         firstTypeCut = mBaseTypeToFilter.get(baseType);
-                        if (debug) Log.v(TAG, "First type cut: " + firstTypeCut);
+                        if (debug) Slog.v(TAG, "First type cut: " + firstTypeCut);
                         secondTypeCut = mWildTypeToFilter.get(baseType);
-                        if (debug) Log.v(TAG, "Second type cut: " + secondTypeCut);
+                        if (debug) Slog.v(TAG, "Second type cut: " + secondTypeCut);
                     }
                     // Any */* types always apply, but we only need to do this
                     // if the intent type was not already */*.
                     thirdTypeCut = mWildTypeToFilter.get("*");
-                    if (debug) Log.v(TAG, "Third type cut: " + thirdTypeCut);
+                    if (debug) Slog.v(TAG, "Third type cut: " + thirdTypeCut);
                 } else if (intent.getAction() != null) {
                     // The intent specified any type ({@literal *}/*).  This
                     // can be a whole heck of a lot of things, so as a first
                     // cut let's use the action instead.
                     firstTypeCut = mTypedActionToFilter.get(intent.getAction());
-                    if (debug) Log.v(TAG, "Typed Action list: " + firstTypeCut);
+                    if (debug) Slog.v(TAG, "Typed Action list: " + firstTypeCut);
                 }
             }
         }
@@ -238,7 +239,7 @@
         // on the authority and path by directly matching each resulting filter).
         if (scheme != null) {
             schemeCut = mSchemeToFilter.get(scheme);
-            if (debug) Log.v(TAG, "Scheme list: " + schemeCut);
+            if (debug) Slog.v(TAG, "Scheme list: " + schemeCut);
         }
 
         // If the intent does not specify any data -- either a MIME type or
@@ -246,7 +247,7 @@
         // data.
         if (resolvedType == null && scheme == null && intent.getAction() != null) {
             firstTypeCut = mActionToFilter.get(intent.getAction());
-            if (debug) Log.v(TAG, "Action list: " + firstTypeCut);
+            if (debug) Slog.v(TAG, "Action list: " + firstTypeCut);
         }
 
         if (firstTypeCut != null) {
@@ -268,9 +269,9 @@
         sortResults(finalList);
 
         if (debug) {
-            Log.v(TAG, "Final result list:");
+            Slog.v(TAG, "Final result list:");
             for (R r : finalList) {
-                Log.v(TAG, "  " + r);
+                Slog.v(TAG, "  " + r);
             }
         }
         return finalList;
@@ -307,7 +308,7 @@
         while (i.hasNext()) {
             String name = (String)i.next();
             num++;
-            if (localLOGV) Log.v(TAG, prefix + name);
+            if (localLOGV) Slog.v(TAG, prefix + name);
             String baseName = name;
             final int slashpos = name.indexOf('/');
             if (slashpos > 0) {
@@ -318,7 +319,7 @@
 
             ArrayList<F> array = mTypeToFilter.get(name);
             if (array == null) {
-                //Log.v(TAG, "Creating new array for " + name);
+                //Slog.v(TAG, "Creating new array for " + name);
                 array = new ArrayList<F>();
                 mTypeToFilter.put(name, array);
             }
@@ -327,7 +328,7 @@
             if (slashpos > 0) {
                 array = mBaseTypeToFilter.get(baseName);
                 if (array == null) {
-                    //Log.v(TAG, "Creating new array for " + name);
+                    //Slog.v(TAG, "Creating new array for " + name);
                     array = new ArrayList<F>();
                     mBaseTypeToFilter.put(baseName, array);
                 }
@@ -335,7 +336,7 @@
             } else {
                 array = mWildTypeToFilter.get(baseName);
                 if (array == null) {
-                    //Log.v(TAG, "Creating new array for " + name);
+                    //Slog.v(TAG, "Creating new array for " + name);
                     array = new ArrayList<F>();
                     mWildTypeToFilter.put(baseName, array);
                 }
@@ -356,7 +357,7 @@
         while (i.hasNext()) {
             String name = (String)i.next();
             num++;
-            if (localLOGV) Log.v(TAG, prefix + name);
+            if (localLOGV) Slog.v(TAG, prefix + name);
             String baseName = name;
             final int slashpos = name.indexOf('/');
             if (slashpos > 0) {
@@ -392,10 +393,10 @@
         while (i.hasNext()) {
             String name = i.next();
             num++;
-            if (localLOGV) Log.v(TAG, prefix + name);
+            if (localLOGV) Slog.v(TAG, prefix + name);
             ArrayList<F> array = dest.get(name);
             if (array == null) {
-                //Log.v(TAG, "Creating new array for " + name);
+                //Slog.v(TAG, "Creating new array for " + name);
                 array = new ArrayList<F>();
                 dest.put(name, array);
             }
@@ -414,7 +415,7 @@
         while (i.hasNext()) {
             String name = i.next();
             num++;
-            if (localLOGV) Log.v(TAG, prefix + name);
+            if (localLOGV) Slog.v(TAG, prefix + name);
             if (!remove_all_objects(dest.get(name), filter)) {
                 dest.remove(name);
             }
@@ -447,12 +448,12 @@
         for (i=0; i<N; i++) {
             F filter = src.get(i);
             int match;
-            if (debug) Log.v(TAG, "Matching against filter " + filter);
+            if (debug) Slog.v(TAG, "Matching against filter " + filter);
 
             // Do we already have this one?
             if (!allowFilterResult(filter, dest)) {
                 if (debug) {
-                    Log.v(TAG, "  Filter's target already added");
+                    Slog.v(TAG, "  Filter's target already added");
                 }
                 continue;
             }
@@ -460,7 +461,7 @@
             match = filter.match(
                     intent.getAction(), resolvedType, scheme, intent.getData(), categories, TAG);
             if (match >= 0) {
-                if (debug) Log.v(TAG, "  Filter matched!  match=0x" +
+                if (debug) Slog.v(TAG, "  Filter matched!  match=0x" +
                         Integer.toHexString(match));
                 if (!defaultOnly || filter.hasCategory(Intent.CATEGORY_DEFAULT)) {
                     final R oneResult = newResult(filter, match);
@@ -480,13 +481,13 @@
                         case IntentFilter.NO_MATCH_TYPE: reason = "type"; break;
                         default: reason = "unknown reason"; break;
                     }
-                    Log.v(TAG, "  Filter did not match: " + reason);
+                    Slog.v(TAG, "  Filter did not match: " + reason);
                 }
             }
         }
 
         if (dest.size() == 0 && hasNonDefaults) {
-            Log.w(TAG, "resolveIntent failed: found match, but none with Intent.CATEGORY_DEFAULT");
+            Slog.w(TAG, "resolveIntent failed: found match, but none with Intent.CATEGORY_DEFAULT");
         }
     }
 
diff --git a/services/java/com/android/server/KeyInputQueue.java b/services/java/com/android/server/KeyInputQueue.java
index 1bb897b..0535d4c 100644
--- a/services/java/com/android/server/KeyInputQueue.java
+++ b/services/java/com/android/server/KeyInputQueue.java
@@ -22,7 +22,7 @@
 import android.os.LatencyTimer;
 import android.os.PowerManager;
 import android.os.SystemClock;
-import android.util.Log;
+import android.util.Slog;
 import android.util.SparseArray;
 import android.util.Xml;
 import android.view.Display;
@@ -177,7 +177,7 @@
                 return;
             }
             
-            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "computeHitRect for " + scancode
+            if (DEBUG_VIRTUAL_KEYS) Slog.v(TAG, "computeHitRect for " + scancode
                     + ": dev=" + dev + " absX=" + dev.absX + " absY=" + dev.absY);
             
             lastDevice = dev;
@@ -211,11 +211,11 @@
             String str = br.readLine();
             if (str != null) {
                 String[] it = str.split(":");
-                if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "***** VIRTUAL KEYS: " + it);
+                if (DEBUG_VIRTUAL_KEYS) Slog.v(TAG, "***** VIRTUAL KEYS: " + it);
                 final int N = it.length-6;
                 for (int i=0; i<=N; i+=6) {
                     if (!"0x01".equals(it[i])) {
-                        Log.w(TAG, "Unknown virtual key type at elem #" + i
+                        Slog.w(TAG, "Unknown virtual key type at elem #" + i
                                 + ": " + it[i]);
                         continue;
                     }
@@ -226,22 +226,22 @@
                         sb.centery = Integer.parseInt(it[i+3]);
                         sb.width = Integer.parseInt(it[i+4]);
                         sb.height = Integer.parseInt(it[i+5]);
-                        if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "Virtual key "
+                        if (DEBUG_VIRTUAL_KEYS) Slog.v(TAG, "Virtual key "
                                 + sb.scancode + ": center=" + sb.centerx + ","
                                 + sb.centery + " size=" + sb.width + "x"
                                 + sb.height);
                         mVirtualKeys.add(sb);
                     } catch (NumberFormatException e) {
-                        Log.w(TAG, "Bad number at region " + i + " in: "
+                        Slog.w(TAG, "Bad number at region " + i + " in: "
                                 + str, e);
                     }
                 }
             }
             br.close();
         } catch (FileNotFoundException e) {
-            Log.i(TAG, "No virtual keys found");
+            Slog.i(TAG, "No virtual keys found");
         } catch (IOException e) {
-            Log.w(TAG, "Error reading virtual keys", e);
+            Slog.w(TAG, "Error reading virtual keys", e);
         }
     }
 
@@ -264,14 +264,14 @@
                 }
                 String name = parser.getAttributeValue(null, "name");
                 if (name != null) {
-                    if (DEBUG) Log.v(TAG, "addExcludedDevice " + name);
+                    if (DEBUG) Slog.v(TAG, "addExcludedDevice " + name);
                     addExcludedDevice(name);
                 }
             }
         } catch (FileNotFoundException e) {
             // It's ok if the file does not exist.
         } catch (Exception e) {
-            Log.e(TAG, "Exception while parsing '" + confFile.getAbsolutePath() + "'", e);
+            Slog.e(TAG, "Exception while parsing '" + confFile.getAbsolutePath() + "'", e);
         } finally {
             try { if (confreader != null) confreader.close(); } catch (IOException e) { }
         }
@@ -326,21 +326,21 @@
                     if ((d.classes&RawInputEvent.CLASS_TOUCHSCREEN) != 0) {
                         config.touchscreen
                                 = Configuration.TOUCHSCREEN_FINGER;
-                        //Log.i("foo", "***** HAVE TOUCHSCREEN!");
+                        //Slog.i("foo", "***** HAVE TOUCHSCREEN!");
                     }
                     if ((d.classes&RawInputEvent.CLASS_ALPHAKEY) != 0) {
                         config.keyboard
                                 = Configuration.KEYBOARD_QWERTY;
-                        //Log.i("foo", "***** HAVE QWERTY!");
+                        //Slog.i("foo", "***** HAVE QWERTY!");
                     }
                     if ((d.classes&RawInputEvent.CLASS_TRACKBALL) != 0) {
                         config.navigation
                                 = Configuration.NAVIGATION_TRACKBALL;
-                        //Log.i("foo", "***** HAVE TRACKBALL!");
+                        //Slog.i("foo", "***** HAVE TRACKBALL!");
                     } else if ((d.classes&RawInputEvent.CLASS_DPAD) != 0) {
                         config.navigation
                                 = Configuration.NAVIGATION_DPAD;
-                        //Log.i("foo", "***** HAVE DPAD!");
+                        //Slog.i("foo", "***** HAVE DPAD!");
                     }
                 }
             }
@@ -491,7 +491,7 @@
     
     Thread mThread = new Thread("InputDeviceReader") {
         public void run() {
-            if (DEBUG) Log.v(TAG, "InputDeviceReader.run()");
+            if (DEBUG) Slog.v(TAG, "InputDeviceReader.run()");
             android.os.Process.setThreadPriority(
                     android.os.Process.THREAD_PRIORITY_URGENT_DISPLAY);
             
@@ -507,7 +507,7 @@
                     boolean configChanged = false;
                     
                     if (false) {
-                        Log.i(TAG, "Input event: dev=0x"
+                        Slog.i(TAG, "Input event: dev=0x"
                                 + Integer.toHexString(ev.deviceId)
                                 + " type=0x" + Integer.toHexString(ev.type)
                                 + " scancode=" + ev.scancode
@@ -531,7 +531,7 @@
                             } else {
                                 // We won't do anything with this device.
                                 mIgnoredDevices.put(ev.deviceId, di);
-                                Log.i(TAG, "Ignoring non-input device: id=0x"
+                                Slog.i(TAG, "Ignoring non-input device: id=0x"
                                         + Integer.toHexString(di.id)
                                         + ", name=" + di.name);
                             }
@@ -539,7 +539,7 @@
                     } else if (ev.type == RawInputEvent.EV_DEVICE_REMOVED) {
                         synchronized (mFirst) {
                             if (false) {
-                                Log.i(TAG, "Device removed: id=0x"
+                                Slog.i(TAG, "Device removed: id=0x"
                                         + Integer.toHexString(ev.deviceId));
                             }
                             di = mDevices.get(ev.deviceId);
@@ -551,7 +551,7 @@
                             } else if ((di=mIgnoredDevices.get(ev.deviceId)) != null) {
                                 mIgnoredDevices.remove(ev.deviceId);
                             } else {
-                                Log.w(TAG, "Removing bad device id: "
+                                Slog.w(TAG, "Removing bad device id: "
                                         + Integer.toHexString(ev.deviceId));
                                 continue;
                             }
@@ -591,7 +591,7 @@
                         //curTime = gotOne ? ev.when : SystemClock.uptimeMillis();
                         final long curTime = SystemClock.uptimeMillis();
                         final long curTimeNano = System.nanoTime();
-                        //Log.i(TAG, "curTime=" + curTime + ", systemClock=" + SystemClock.uptimeMillis());
+                        //Slog.i(TAG, "curTime=" + curTime + ", systemClock=" + SystemClock.uptimeMillis());
                         
                         final int classes = di.classes;
                         final int type = ev.type;
@@ -646,14 +646,14 @@
                                 di.mAbs.changed = true;
                                 di.mAbs.mNextData[di.mAbs.mAddingPointerOffset
                                     + MotionEvent.SAMPLE_X] = ev.value;
-                                if (DEBUG_POINTERS) Log.v(TAG, "MT @"
+                                if (DEBUG_POINTERS) Slog.v(TAG, "MT @"
                                         + di.mAbs.mAddingPointerOffset
                                         + " X:" + ev.value);
                             } else if (ev.scancode == RawInputEvent.ABS_MT_POSITION_Y) {
                                 di.mAbs.changed = true;
                                 di.mAbs.mNextData[di.mAbs.mAddingPointerOffset
                                     + MotionEvent.SAMPLE_Y] = ev.value;
-                                if (DEBUG_POINTERS) Log.v(TAG, "MT @"
+                                if (DEBUG_POINTERS) Slog.v(TAG, "MT @"
                                         + di.mAbs.mAddingPointerOffset
                                         + " Y:" + ev.value);
                             } else if (ev.scancode == RawInputEvent.ABS_MT_WIDTH_MAJOR) {
@@ -711,7 +711,7 @@
                                                       + MotionEvent.SAMPLE_PRESSURE] != 0) {
                                     final int num = di.mAbs.mNextNumPointers+1;
                                     di.mAbs.mNextNumPointers = num;
-                                    if (DEBUG_POINTERS) Log.v(TAG,
+                                    if (DEBUG_POINTERS) Slog.v(TAG,
                                             "MT_REPORT: now have " + num + " pointers");
                                     final int newOffset = (num <= InputDevice.MAX_POINTERS)
                                             ? (num * MotionEvent.NUM_SAMPLE_DATA)
@@ -721,7 +721,7 @@
                                     di.mAbs.mNextData[newOffset
                                             + MotionEvent.SAMPLE_PRESSURE] = 0;
                                 } else {
-                                    if (DEBUG_POINTERS) Log.v(TAG, "MT_REPORT: no pointer");
+                                    if (DEBUG_POINTERS) Slog.v(TAG, "MT_REPORT: no pointer");
                                 }
                             }
                         
@@ -775,14 +775,14 @@
                                             me = ms.generateAbsMotion(di, curTime,
                                                     curTimeNano, mDisplay,
                                                     mOrientation, mGlobalMetaState);
-                                            if (DEBUG_POINTERS) Log.v(TAG, "Absolute: x="
+                                            if (DEBUG_POINTERS) Slog.v(TAG, "Absolute: x="
                                                     + di.mAbs.mNextData[MotionEvent.SAMPLE_X]
                                                     + " y="
                                                     + di.mAbs.mNextData[MotionEvent.SAMPLE_Y]
                                                     + " ev=" + me);
                                             if (me != null) {
                                                 if (WindowManagerPolicy.WATCH_POINTER) {
-                                                    Log.i(TAG, "Enqueueing: " + me);
+                                                    Slog.i(TAG, "Enqueueing: " + me);
                                                 }
                                                 addLocked(di, curTimeNano, ev.flags,
                                                         RawInputEvent.CLASS_TOUCHSCREEN, me);
@@ -814,7 +814,7 @@
                                     me = ms.generateRelMotion(di, curTime,
                                             curTimeNano,
                                             mOrientation, mGlobalMetaState);
-                                    if (false) Log.v(TAG, "Relative: x="
+                                    if (false) Slog.v(TAG, "Relative: x="
                                             + di.mRel.mNextData[MotionEvent.SAMPLE_X]
                                             + " y="
                                             + di.mRel.mNextData[MotionEvent.SAMPLE_Y]
@@ -831,7 +831,7 @@
                     }
                 
                 } catch (RuntimeException exc) {
-                    Log.e(TAG, "InputReaderThread uncaught exception", exc);
+                    Slog.e(TAG, "InputReaderThread uncaught exception", exc);
                 }
             }
         }
@@ -849,7 +849,7 @@
                 && absm.mNextData[MotionEvent.SAMPLE_X] <= absx.maxValue
                 && absm.mNextData[MotionEvent.SAMPLE_Y] >= absy.minValue
                 && absm.mNextData[MotionEvent.SAMPLE_Y] <= absy.maxValue) {
-            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "Input ("
+            if (DEBUG_VIRTUAL_KEYS) Slog.v(TAG, "Input ("
                     + absm.mNextData[MotionEvent.SAMPLE_X]
                     + "," + absm.mNextData[MotionEvent.SAMPLE_Y]
                     + ") inside of display");
@@ -869,7 +869,7 @@
         for (int i=0; i<N; i++) {
             VirtualKey sb = mVirtualKeys.get(i);
             sb.computeHitRect(dev, mDisplayWidth, mDisplayHeight);
-            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "Hit test ("
+            if (DEBUG_VIRTUAL_KEYS) Slog.v(TAG, "Hit test ("
                     + absm.mNextData[MotionEvent.SAMPLE_X] + ","
                     + absm.mNextData[MotionEvent.SAMPLE_Y] + ") in code "
                     + sb.scancode + " - (" + sb.hitLeft
@@ -877,7 +877,7 @@
                     + sb.hitBottom + ")");
             if (sb.checkHit(absm.mNextData[MotionEvent.SAMPLE_X],
                     absm.mNextData[MotionEvent.SAMPLE_Y])) {
-                if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "Hit!");
+                if (DEBUG_VIRTUAL_KEYS) Slog.v(TAG, "Hit!");
                 return sb;
             }
         }
@@ -900,7 +900,7 @@
             vk.lastKeycode = scancodeToKeycode(di.id, vk.scancode);
             ms.mLastNumPointers = ms.mNextNumPointers;
             di.mKeyDownTime = curTime;
-            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG,
+            if (DEBUG_VIRTUAL_KEYS) Slog.v(TAG,
                     "Generate key down for: " + vk.scancode
                     + " (keycode=" + vk.lastKeycode + ")");
             KeyEvent event = newKeyEvent(di, di.mKeyDownTime, curTime, true,
@@ -926,7 +926,7 @@
             final InputDevice.AbsoluteInfo absx = di.absX;
             final InputDevice.AbsoluteInfo absy = di.absY;
             final InputDevice.MotionState absm = di.mAbs;
-            Log.v(TAG, "Rejecting ("
+            Slog.v(TAG, "Rejecting ("
                 + absm.mNextData[MotionEvent.SAMPLE_X] + ","
                 + absm.mNextData[MotionEvent.SAMPLE_Y] + "): outside of ("
                 + absx.minValue + "," + absy.minValue
@@ -947,7 +947,7 @@
         if (ms.mNextNumPointers <= 0) {
             mPressedVirtualKey = null;
             ms.mLastNumPointers = 0;
-            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "Generate key up for: " + vk.scancode);
+            if (DEBUG_VIRTUAL_KEYS) Slog.v(TAG, "Generate key up for: " + vk.scancode);
             KeyEvent event = newKeyEvent(di, di.mKeyDownTime, curTime, false,
                     vk.lastKeycode, 0, vk.scancode,
                     KeyEvent.FLAG_VIRTUAL_HARD_KEY);
@@ -962,7 +962,7 @@
             // virtual key and start a pointer
             // motion.
             mPressedVirtualKey = null;
-            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "Cancel key up for: " + vk.scancode);
+            if (DEBUG_VIRTUAL_KEYS) Slog.v(TAG, "Cancel key up for: " + vk.scancode);
             KeyEvent event = newKeyEvent(di, di.mKeyDownTime, curTime, false,
                     vk.lastKeycode, 0, vk.scancode,
                     KeyEvent.FLAG_CANCELED | KeyEvent.FLAG_VIRTUAL_HARD_KEY);
@@ -1138,12 +1138,12 @@
     
     void recycleEvent(QueuedEvent ev) {
         synchronized (mFirst) {
-            //Log.i(TAG, "Recycle event: " + ev);
+            //Slog.i(TAG, "Recycle event: " + ev);
             if (ev.event == ev.inputDevice.mAbs.currentMove) {
                 ev.inputDevice.mAbs.currentMove = null;
             }
             if (ev.event == ev.inputDevice.mRel.currentMove) {
-                if (false) Log.i(TAG, "Detach rel " + ev.event);
+                if (false) Slog.i(TAG, "Detach rel " + ev.event);
                 ev.inputDevice.mRel.currentMove = null;
                 ev.inputDevice.mRel.mNextData[MotionEvent.SAMPLE_X] = 0;
                 ev.inputDevice.mRel.mNextData[MotionEvent.SAMPLE_Y] = 0;
@@ -1237,7 +1237,7 @@
         InputDevice.AbsoluteInfo absPressure = null;
         InputDevice.AbsoluteInfo absSize = null;
         if (classes != 0) {
-            Log.i(TAG, "Device added: id=0x" + Integer.toHexString(deviceId)
+            Slog.i(TAG, "Device added: id=0x" + Integer.toHexString(deviceId)
                     + ", name=" + name
                     + ", classes=" + Integer.toHexString(classes));
             if ((classes&RawInputEvent.CLASS_TOUCHSCREEN_MT) != 0) {
@@ -1269,14 +1269,14 @@
         InputDevice.AbsoluteInfo info = new InputDevice.AbsoluteInfo();
         if (getAbsoluteInfo(id, channel, info)
                 && info.minValue != info.maxValue) {
-            Log.i(TAG, "  " + name + ": min=" + info.minValue
+            Slog.i(TAG, "  " + name + ": min=" + info.minValue
                     + " max=" + info.maxValue
                     + " flat=" + info.flat
                     + " fuzz=" + info.fuzz);
             info.range = info.maxValue-info.minValue;
             return info;
         }
-        Log.i(TAG, "  " + name + ": unknown values");
+        Slog.i(TAG, "  " + name + ": unknown values");
         return null;
     }
     private static native boolean readEvent(RawInputEvent outEvent);
diff --git a/services/java/com/android/server/LightsService.java b/services/java/com/android/server/LightsService.java
index 9cc74e8..c056eef 100644
--- a/services/java/com/android/server/LightsService.java
+++ b/services/java/com/android/server/LightsService.java
@@ -19,7 +19,7 @@
 import android.content.Context;
 import android.os.Handler;
 import android.os.Message;
-import android.util.Log;
+import android.util.Slog;
 
 public class LightsService {
     private static final String TAG = "LightsService";
diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java
index c0dcdf9..cf2220c 100644
--- a/services/java/com/android/server/LocationManagerService.java
+++ b/services/java/com/android/server/LocationManagerService.java
@@ -65,6 +65,7 @@
 import android.os.RemoteException;
 import android.provider.Settings;
 import android.util.Log;
+import android.util.Slog;
 import android.util.PrintWriterPrinter;
 
 import com.android.internal.location.GeocoderProxy;
@@ -353,7 +354,7 @@
 
         public void binderDied() {
             if (LOCAL_LOGV) {
-                Log.v(TAG, "Location listener died");
+                Slog.v(TAG, "Location listener died");
             }
             synchronized (mLock) {
                 removeUpdatesLocked(this);
@@ -439,7 +440,7 @@
         try {
             _loadProvidersLocked();
         } catch (Exception e) {
-            Log.e(TAG, "Exception loading providers:", e);
+            Slog.e(TAG, "Exception loading providers:", e);
         }
     }
 
@@ -486,7 +487,7 @@
         mContext = context;
 
         if (LOCAL_LOGV) {
-            Log.v(TAG, "Constructed LocationManager Service");
+            Slog.v(TAG, "Constructed LocationManager Service");
         }
     }
 
@@ -591,14 +592,14 @@
         } catch (SecurityException se) {
             throw se;
         } catch (Exception e) {
-            Log.e(TAG, "getAllProviders got exception:", e);
+            Slog.e(TAG, "getAllProviders got exception:", e);
             return null;
         }
     }
 
     private List<String> _getAllProvidersLocked() {
         if (LOCAL_LOGV) {
-            Log.v(TAG, "getAllProviders");
+            Slog.v(TAG, "getAllProviders");
         }
         ArrayList<String> out = new ArrayList<String>(mProviders.size());
         for (int i = mProviders.size() - 1; i >= 0; i--) {
@@ -616,14 +617,14 @@
         } catch (SecurityException se) {
             throw se;
         } catch (Exception e) {
-            Log.e(TAG, "getProviders got exception:", e);
+            Slog.e(TAG, "getProviders got exception:", e);
             return null;
         }
     }
 
     private List<String> _getProvidersLocked(boolean enabledOnly) {
         if (LOCAL_LOGV) {
-            Log.v(TAG, "getProviders");
+            Slog.v(TAG, "getProviders");
         }
         ArrayList<String> out = new ArrayList<String>(mProviders.size());
         for (int i = mProviders.size() - 1; i >= 0; i--) {
@@ -781,7 +782,7 @@
                     receiver.getListener().asBinder().linkToDeath(receiver, 0);
                 }
             } catch (RemoteException e) {
-                Log.e(TAG, "linkToDeath failed:", e);
+                Slog.e(TAG, "linkToDeath failed:", e);
                 return null;
             }
         }
@@ -825,7 +826,7 @@
         } catch (SecurityException se) {
             throw se;
         } catch (Exception e) {
-            Log.e(TAG, "requestUpdates got exception:", e);
+            Slog.e(TAG, "requestUpdates got exception:", e);
         }
     }
 
@@ -838,14 +839,14 @@
         } catch (SecurityException se) {
             throw se;
         } catch (Exception e) {
-            Log.e(TAG, "requestUpdates got exception:", e);
+            Slog.e(TAG, "requestUpdates got exception:", e);
         }
     }
 
     private void requestLocationUpdatesLocked(String provider,
             long minTime, float minDistance, Receiver receiver) {
         if (LOCAL_LOGV) {
-            Log.v(TAG, "_requestLocationUpdates: listener = " + receiver);
+            Slog.v(TAG, "_requestLocationUpdates: listener = " + receiver);
         }
 
         LocationProviderInterface p = mProvidersByName.get(provider);
@@ -892,7 +893,7 @@
         } catch (SecurityException se) {
             throw se;
         } catch (Exception e) {
-            Log.e(TAG, "removeUpdates got exception:", e);
+            Slog.e(TAG, "removeUpdates got exception:", e);
         }
     }
 
@@ -904,13 +905,13 @@
         } catch (SecurityException se) {
             throw se;
         } catch (Exception e) {
-            Log.e(TAG, "removeUpdates got exception:", e);
+            Slog.e(TAG, "removeUpdates got exception:", e);
         }
     }
 
     private void removeUpdatesLocked(Receiver receiver) {
         if (LOCAL_LOGV) {
-            Log.v(TAG, "_removeUpdates: listener = " + receiver);
+            Slog.v(TAG, "_removeUpdates: listener = " + receiver);
         }
 
         // so wakelock calls will succeed
@@ -986,7 +987,7 @@
         try {
             mGpsStatusProvider.addGpsStatusListener(listener);
         } catch (RemoteException e) {
-            Log.e(TAG, "mGpsStatusProvider.addGpsStatusListener failed", e);
+            Slog.e(TAG, "mGpsStatusProvider.addGpsStatusListener failed", e);
             return false;
         }
         return true;
@@ -997,7 +998,7 @@
             try {
                 mGpsStatusProvider.removeGpsStatusListener(listener);
             } catch (Exception e) {
-                Log.e(TAG, "mGpsStatusProvider.removeGpsStatusListener failed", e);
+                Slog.e(TAG, "mGpsStatusProvider.removeGpsStatusListener failed", e);
             }
         }
     }
@@ -1037,7 +1038,7 @@
         }
         catch (RemoteException e)
         {
-            Log.e(TAG, "RemoteException in LocationManagerService.sendNiResponse");
+            Slog.e(TAG, "RemoteException in LocationManagerService.sendNiResponse");
             return false;
         }
     }
@@ -1132,7 +1133,7 @@
                         alert.isInProximity(latitude, longitude, accuracy);
                     if (!entered && inProximity) {
                         if (LOCAL_LOGV) {
-                            Log.v(TAG, "Entered alert");
+                            Slog.v(TAG, "Entered alert");
                         }
                         mProximitiesEntered.add(alert);
                         Intent enteredIntent = new Intent();
@@ -1148,7 +1149,7 @@
                             }
                         } catch (PendingIntent.CanceledException e) {
                             if (LOCAL_LOGV) {
-                                Log.v(TAG, "Canceled proximity alert: " + alert, e);
+                                Slog.v(TAG, "Canceled proximity alert: " + alert, e);
                             }
                             if (intentsToRemove == null) {
                                 intentsToRemove = new ArrayList<PendingIntent>();
@@ -1157,7 +1158,7 @@
                         }
                     } else if (entered && !inProximity) {
                         if (LOCAL_LOGV) {
-                            Log.v(TAG, "Exited alert");
+                            Slog.v(TAG, "Exited alert");
                         }
                         mProximitiesEntered.remove(alert);
                         Intent exitedIntent = new Intent();
@@ -1173,7 +1174,7 @@
                             }
                         } catch (PendingIntent.CanceledException e) {
                             if (LOCAL_LOGV) {
-                                Log.v(TAG, "Canceled proximity alert: " + alert, e);
+                                Slog.v(TAG, "Canceled proximity alert: " + alert, e);
                             }
                             if (intentsToRemove == null) {
                                 intentsToRemove = new ArrayList<PendingIntent>();
@@ -1184,7 +1185,7 @@
                 } else {
                     // Mark alert for expiration
                     if (LOCAL_LOGV) {
-                        Log.v(TAG, "Expiring proximity alert: " + alert);
+                        Slog.v(TAG, "Expiring proximity alert: " + alert);
                     }
                     if (intentsToRemove == null) {
                         intentsToRemove = new ArrayList<PendingIntent>();
@@ -1241,14 +1242,14 @@
         } catch (SecurityException se) {
             throw se;
         } catch (Exception e) {
-            Log.e(TAG, "addProximityAlert got exception:", e);
+            Slog.e(TAG, "addProximityAlert got exception:", e);
         }
     }
 
     private void addProximityAlertLocked(double latitude, double longitude,
         float radius, long expiration, PendingIntent intent) {
         if (LOCAL_LOGV) {
-            Log.v(TAG, "addProximityAlert: latitude = " + latitude +
+            Slog.v(TAG, "addProximityAlert: latitude = " + latitude +
                     ", longitude = " + longitude +
                     ", expiration = " + expiration +
                     ", intent = " + intent);
@@ -1286,13 +1287,13 @@
         } catch (SecurityException se) {
             throw se;
         } catch (Exception e) {
-            Log.e(TAG, "removeProximityAlert got exception:", e);
+            Slog.e(TAG, "removeProximityAlert got exception:", e);
         }
     }
 
     private void removeProximityAlertLocked(PendingIntent intent) {
         if (LOCAL_LOGV) {
-            Log.v(TAG, "removeProximityAlert: intent = " + intent);
+            Slog.v(TAG, "removeProximityAlert: intent = " + intent);
         }
 
         mProximityAlerts.remove(intent);
@@ -1316,7 +1317,7 @@
         } catch (SecurityException se) {
             throw se;
         } catch (Exception e) {
-            Log.e(TAG, "_getProviderInfo got exception:", e);
+            Slog.e(TAG, "_getProviderInfo got exception:", e);
             return null;
         }
     }
@@ -1351,7 +1352,7 @@
         } catch (SecurityException se) {
             throw se;
         } catch (Exception e) {
-            Log.e(TAG, "isProviderEnabled got exception:", e);
+            Slog.e(TAG, "isProviderEnabled got exception:", e);
             return false;
         }
     }
@@ -1386,7 +1387,7 @@
         } catch (SecurityException se) {
             throw se;
         } catch (Exception e) {
-            Log.e(TAG, "getLastKnownLocation got exception:", e);
+            Slog.e(TAG, "getLastKnownLocation got exception:", e);
             return null;
         }
     }
@@ -1473,7 +1474,7 @@
                     lastLoc.set(location);
                 }
                 if (!receiver.callLocationChangedLocked(location)) {
-                    Log.w(TAG, "RemoteException calling onLocationChanged on " + receiver);
+                    Slog.w(TAG, "RemoteException calling onLocationChanged on " + receiver);
                     if (deadReceivers == null) {
                         deadReceivers = new ArrayList<Receiver>();
                     }
@@ -1487,7 +1488,7 @@
 
                 r.mLastStatusBroadcast = newStatusUpdateTime;
                 if (!receiver.callStatusChangedLocked(provider, status, extras)) {
-                    Log.w(TAG, "RemoteException calling onStatusChanged on " + receiver);
+                    Slog.w(TAG, "RemoteException calling onStatusChanged on " + receiver);
                     if (deadReceivers == null) {
                         deadReceivers = new ArrayList<Receiver>();
                     }
@@ -1535,7 +1536,7 @@
                 }
             } catch (Exception e) {
                 // Log, don't crash!
-                Log.e(TAG, "Exception in LocationWorkerHandler.handleMessage:", e);
+                Slog.e(TAG, "Exception in LocationWorkerHandler.handleMessage:", e);
             }
         }
     }
@@ -1642,7 +1643,7 @@
                 } catch (Exception e) {
                     // This is to catch a runtime exception thrown when we try to release an
                     // already released lock.
-                    Log.e(TAG, "exception in acquireWakeLock()", e);
+                    Slog.e(TAG, "exception in acquireWakeLock()", e);
                 }
             }
         }
@@ -1662,7 +1663,7 @@
                 } catch (Exception e) {
                     // This is to catch a runtime exception thrown when we try to release an
                     // already released lock.
-                    Log.e(TAG, "exception in releaseWakeLock()", e);
+                    Slog.e(TAG, "exception in releaseWakeLock()", e);
                 }
             }
         }
@@ -1853,7 +1854,7 @@
 
     private void log(String log) {
         if (Log.isLoggable(TAG, Log.VERBOSE)) {
-            Log.d(TAG, log);
+            Slog.d(TAG, log);
         }
     }
     
diff --git a/services/java/com/android/server/MasterClearReceiver.java b/services/java/com/android/server/MasterClearReceiver.java
index 0417e71..4d04cee 100644
--- a/services/java/com/android/server/MasterClearReceiver.java
+++ b/services/java/com/android/server/MasterClearReceiver.java
@@ -21,6 +21,7 @@
 import android.content.Intent;
 import android.os.RecoverySystem;
 import android.util.Log;
+import android.util.Slog;
 
 import java.io.IOException;
 
@@ -31,13 +32,13 @@
     public void onReceive(Context context, Intent intent) {
         if (intent.getAction().equals(Intent.ACTION_REMOTE_INTENT)) {
             if (!"google.com".equals(intent.getStringExtra("from"))) {
-                Log.w(TAG, "Ignoring master clear request -- not from trusted server.");
+                Slog.w(TAG, "Ignoring master clear request -- not from trusted server.");
                 return;
             }
         }
 
         try {
-            Log.w(TAG, "!!! FACTORY RESET !!!");
+            Slog.w(TAG, "!!! FACTORY RESET !!!");
             if (intent.hasExtra("enableEFS")) {
                 RecoverySystem.rebootToggleEFS(context, intent.getBooleanExtra("enableEFS", false));
             } else {
@@ -45,7 +46,7 @@
             }
             Log.wtf(TAG, "Still running after master clear?!");
         } catch (IOException e) {
-            Log.e(TAG, "Can't perform master clear/factory reset", e);
+            Slog.e(TAG, "Can't perform master clear/factory reset", e);
         }
     }
 }
diff --git a/services/java/com/android/server/NativeDaemonConnector.java b/services/java/com/android/server/NativeDaemonConnector.java
index ceae973..39c847a 100644
--- a/services/java/com/android/server/NativeDaemonConnector.java
+++ b/services/java/com/android/server/NativeDaemonConnector.java
@@ -21,7 +21,7 @@
 import android.os.Environment;
 import android.os.SystemClock;
 import android.os.SystemProperties;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -80,7 +80,7 @@
             try {
                 listenToSocket();
             } catch (Exception e) {
-                Log.e(TAG, "Error in NativeDaemonConnector", e);
+                Slog.e(TAG, "Error in NativeDaemonConnector", e);
                 SystemClock.sleep(5000);
             }
         }
@@ -110,7 +110,7 @@
                 for (int i = 0; i < count; i++) {
                     if (buffer[i] == 0) {
                         String event = new String(buffer, start, i - start);
-                        if (LOCAL_LOGD) Log.d(TAG, String.format("RCV <- {%s}", event));
+                        if (LOCAL_LOGD) Slog.d(TAG, String.format("RCV <- {%s}", event));
 
                         String[] tokens = event.split(" ");
                         try {
@@ -119,29 +119,29 @@
                             if (code >= ResponseCode.UnsolicitedInformational) {
                                 try {
                                     if (!mCallbacks.onEvent(code, event, tokens)) {
-                                        Log.w(TAG, String.format(
+                                        Slog.w(TAG, String.format(
                                                 "Unhandled event (%s)", event));
                                     }
                                 } catch (Exception ex) {
-                                    Log.e(TAG, String.format(
+                                    Slog.e(TAG, String.format(
                                             "Error handling '%s'", event), ex);
                                 }
                             } else {
                                 try {
                                     mResponseQueue.put(event);
                                 } catch (InterruptedException ex) {
-                                    Log.e(TAG, "Failed to put response onto queue", ex);
+                                    Slog.e(TAG, "Failed to put response onto queue", ex);
                                 }
                             }
                         } catch (NumberFormatException nfe) {
-                            Log.w(TAG, String.format("Bad msg (%s)", event));
+                            Slog.w(TAG, String.format("Bad msg (%s)", event));
                         }
                         start = i + 1;
                     }
                 }
             }
         } catch (IOException ex) {
-            Log.e(TAG, "Communications error", ex);
+            Slog.e(TAG, "Communications error", ex);
             throw ex;
         } finally {
             synchronized (this) {
@@ -149,7 +149,7 @@
                     try {
                         mOutputStream.close();
                     } catch (IOException e) {
-                        Log.w(TAG, "Failed closing output stream", e);
+                        Slog.w(TAG, "Failed closing output stream", e);
                     }
                     mOutputStream = null;
                 }
@@ -160,7 +160,7 @@
                     socket.close();
                 }
             } catch (IOException ex) {
-                Log.w(TAG, "Failed closing socket", ex);
+                Slog.w(TAG, "Failed closing socket", ex);
             }
         }
     }
@@ -177,9 +177,9 @@
      */
     private void sendCommand(String command, String argument) {
         synchronized (this) {
-            if (LOCAL_LOGD) Log.d(TAG, String.format("SND -> {%s} {%s}", command, argument));
+            if (LOCAL_LOGD) Slog.d(TAG, String.format("SND -> {%s} {%s}", command, argument));
             if (mOutputStream == null) {
-                Log.e(TAG, "No connection to daemon", new IllegalStateException());
+                Slog.e(TAG, "No connection to daemon", new IllegalStateException());
             } else {
                 StringBuilder builder = new StringBuilder(command);
                 if (argument != null) {
@@ -190,7 +190,7 @@
                 try {
                     mOutputStream.write(builder.toString().getBytes());
                 } catch (IOException ex) {
-                    Log.e(TAG, "IOException in sendCommand", ex);
+                    Slog.e(TAG, "IOException in sendCommand", ex);
                 }
             }
         }
@@ -210,7 +210,7 @@
         while (!complete) {
             try {
                 String line = mResponseQueue.take();
-                if (LOCAL_LOGD) Log.d(TAG, String.format("RSP <- {%s}", line));
+                if (LOCAL_LOGD) Slog.d(TAG, String.format("RSP <- {%s}", line));
                 String[] tokens = line.split(" ");
                 try {
                     code = Integer.parseInt(tokens[0]);
@@ -224,7 +224,7 @@
                 }
                 response.add(line);
             } catch (InterruptedException ex) {
-                Log.e(TAG, "Failed to process response", ex);
+                Slog.e(TAG, "Failed to process response", ex);
             }
         }
 
@@ -258,12 +258,12 @@
                 if (code == expectedResponseCode) {
                     rdata[idx++] = line.substring(tok[0].length() + 1);
                 } else if (code == NativeDaemonConnector.ResponseCode.CommandOkay) {
-                    if (LOCAL_LOGD) Log.d(TAG, String.format("List terminated with {%s}", line));
+                    if (LOCAL_LOGD) Slog.d(TAG, String.format("List terminated with {%s}", line));
                     int last = rsp.size() -1;
                     if (i != last) {
-                        Log.w(TAG, String.format("Recv'd %d lines after end of list {%s}", (last-i), cmd));
+                        Slog.w(TAG, String.format("Recv'd %d lines after end of list {%s}", (last-i), cmd));
                         for (int j = i; j <= last ; j++) {
-                            Log.w(TAG, String.format("ExtraData <%s>", rsp.get(i)));
+                            Slog.w(TAG, String.format("ExtraData <%s>", rsp.get(i)));
                         }
                     }
                     return rdata;
diff --git a/services/java/com/android/server/NetworkManagementService.java b/services/java/com/android/server/NetworkManagementService.java
index 7c555e2..6d121c3 100644
--- a/services/java/com/android/server/NetworkManagementService.java
+++ b/services/java/com/android/server/NetworkManagementService.java
@@ -30,7 +30,7 @@
 import android.os.Handler;
 import android.os.SystemProperties;
 import android.text.TextUtils;
-import android.util.Log;
+import android.util.Slog;
 import java.util.ArrayList;
 import java.util.StringTokenizer;
 import android.provider.Settings;
@@ -99,12 +99,12 @@
     }
 
     public void registerObserver(INetworkManagementEventObserver obs) {
-        Log.d(TAG, "Registering observer");
+        Slog.d(TAG, "Registering observer");
         mObservers.add(obs);
     }
 
     public void unregisterObserver(INetworkManagementEventObserver obs) {
-        Log.d(TAG, "Unregistering observer");
+        Slog.d(TAG, "Unregistering observer");
         mObservers.remove(mObservers.indexOf(obs));
     }
 
@@ -116,7 +116,7 @@
             try {
                 obs.interfaceLinkStatusChanged(iface, link);
             } catch (Exception ex) {
-                Log.w(TAG, "Observer notifier failed", ex);
+                Slog.w(TAG, "Observer notifier failed", ex);
             }
         }
     }
@@ -129,7 +129,7 @@
             try {
                 obs.interfaceAdded(iface);
             } catch (Exception ex) {
-                Log.w(TAG, "Observer notifier failed", ex);
+                Slog.w(TAG, "Observer notifier failed", ex);
             }
         }
     }
@@ -142,7 +142,7 @@
             try {
                 obs.interfaceRemoved(iface);
             } catch (Exception ex) {
-                Log.w(TAG, "Observer notifier failed", ex);
+                Slog.w(TAG, "Observer notifier failed", ex);
             }
         }
     }
@@ -224,7 +224,7 @@
 
     public InterfaceConfiguration getInterfaceConfig(String iface) throws IllegalStateException {
         String rsp = mConnector.doCommand("interface getcfg " + iface).get(0);
-        Log.d(TAG, String.format("rsp <%s>", rsp));
+        Slog.d(TAG, String.format("rsp <%s>", rsp));
 
         // Rsp: 213 xx:xx:xx:xx:xx:xx yyy.yyy.yyy.yyy zzz.zzz.zzz.zzz [flag1 flag2 flag3]
         StringTokenizer st = new StringTokenizer(rsp);
@@ -246,18 +246,18 @@
         try {
             cfg.ipAddr = stringToIpAddr(st.nextToken(" "));
         } catch (UnknownHostException uhe) {
-            Log.e(TAG, "Failed to parse ipaddr", uhe);
+            Slog.e(TAG, "Failed to parse ipaddr", uhe);
             cfg.ipAddr = 0;
         }
 
         try {
             cfg.netmask = stringToIpAddr(st.nextToken(" "));
         } catch (UnknownHostException uhe) {
-            Log.e(TAG, "Failed to parse netmask", uhe);
+            Slog.e(TAG, "Failed to parse netmask", uhe);
             cfg.netmask = 0;
         }
         cfg.interfaceFlags = st.nextToken("]").trim() +"]";
-        Log.d(TAG, String.format("flags <%s>", cfg.interfaceFlags));
+        Slog.d(TAG, String.format("flags <%s>", cfg.interfaceFlags));
         return cfg;
     }
 
@@ -275,7 +275,7 @@
             throw new SecurityException("Requires SHUTDOWN permission");
         }
 
-        Log.d(TAG, "Shutting down");
+        Slog.d(TAG, "Shutting down");
     }
 
     public boolean getIpForwardingEnabled() throws IllegalStateException{
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java
index 3c43352..78d8c49 100755
--- a/services/java/com/android/server/NotificationManagerService.java
+++ b/services/java/com/android/server/NotificationManagerService.java
@@ -55,6 +55,7 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.EventLog;
+import android.util.Slog;
 import android.util.Log;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityManager;
@@ -466,10 +467,10 @@
     // ============================================================================
     public void enqueueToast(String pkg, ITransientNotification callback, int duration)
     {
-        Log.i(TAG, "enqueueToast pkg=" + pkg + " callback=" + callback + " duration=" + duration);
+        Slog.i(TAG, "enqueueToast pkg=" + pkg + " callback=" + callback + " duration=" + duration);
 
         if (pkg == null || callback == null) {
-            Log.e(TAG, "Not doing toast. pkg=" + pkg + " callback=" + callback);
+            Slog.e(TAG, "Not doing toast. pkg=" + pkg + " callback=" + callback);
             return ;
         }
 
@@ -504,10 +505,10 @@
     }
 
     public void cancelToast(String pkg, ITransientNotification callback) {
-        Log.i(TAG, "cancelToast pkg=" + pkg + " callback=" + callback);
+        Slog.i(TAG, "cancelToast pkg=" + pkg + " callback=" + callback);
 
         if (pkg == null || callback == null) {
-            Log.e(TAG, "Not cancelling notification. pkg=" + pkg + " callback=" + callback);
+            Slog.e(TAG, "Not cancelling notification. pkg=" + pkg + " callback=" + callback);
             return ;
         }
 
@@ -518,7 +519,7 @@
                 if (index >= 0) {
                     cancelToastLocked(index);
                 } else {
-                    Log.w(TAG, "Toast already cancelled. pkg=" + pkg + " callback=" + callback);
+                    Slog.w(TAG, "Toast already cancelled. pkg=" + pkg + " callback=" + callback);
                 }
             } finally {
                 Binder.restoreCallingIdentity(callingId);
@@ -529,13 +530,13 @@
     private void showNextToastLocked() {
         ToastRecord record = mToastQueue.get(0);
         while (record != null) {
-            if (DBG) Log.d(TAG, "Show pkg=" + record.pkg + " callback=" + record.callback);
+            if (DBG) Slog.d(TAG, "Show pkg=" + record.pkg + " callback=" + record.callback);
             try {
                 record.callback.show();
                 scheduleTimeoutLocked(record, false);
                 return;
             } catch (RemoteException e) {
-                Log.w(TAG, "Object died trying to show notification " + record.callback
+                Slog.w(TAG, "Object died trying to show notification " + record.callback
                         + " in package " + record.pkg);
                 // remove it from the list and let the process die
                 int index = mToastQueue.indexOf(record);
@@ -557,7 +558,7 @@
         try {
             record.callback.hide();
         } catch (RemoteException e) {
-            Log.w(TAG, "Object died trying to hide notification " + record.callback
+            Slog.w(TAG, "Object died trying to hide notification " + record.callback
                     + " in package " + record.pkg);
             // don't worry about this, we're about to remove it from
             // the list anyway
@@ -582,7 +583,7 @@
 
     private void handleTimeout(ToastRecord record)
     {
-        if (DBG) Log.d(TAG, "Timeout pkg=" + record.pkg + " callback=" + record.callback);
+        if (DBG) Slog.d(TAG, "Timeout pkg=" + record.pkg + " callback=" + record.callback);
         synchronized (mToastQueue) {
             int index = indexOfToastLocked(record.pkg, record.callback);
             if (index >= 0) {
@@ -818,7 +819,7 @@
             if (mLedNotification == old) {
                 mLedNotification = null;
             }
-            //Log.i(TAG, "notification.lights="
+            //Slog.i(TAG, "notification.lights="
             //        + ((old.notification.lights.flags & Notification.FLAG_SHOW_LIGHTS) != 0));
             if ((notification.flags & Notification.FLAG_SHOW_LIGHTS) != 0) {
                 mLights.add(r);
@@ -1013,7 +1014,7 @@
                         } catch (PendingIntent.CanceledException ex) {
                             // do nothing - there's no relevant way to recover, and
                             //     no reason to let this propagate
-                            Log.w(TAG, "canceled PendingIntent for " + r.pkg, ex);
+                            Slog.w(TAG, "canceled PendingIntent for " + r.pkg, ex);
                         }
                     }
                     mNotificationList.remove(i);
diff --git a/services/java/com/android/server/PackageManagerBackupAgent.java b/services/java/com/android/server/PackageManagerBackupAgent.java
index 9551db5..e45edfb 100644
--- a/services/java/com/android/server/PackageManagerBackupAgent.java
+++ b/services/java/com/android/server/PackageManagerBackupAgent.java
@@ -26,7 +26,7 @@
 import android.content.pm.Signature;
 import android.os.Build;
 import android.os.ParcelFileDescriptor;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -95,7 +95,7 @@
 
     public Metadata getRestoredMetadata(String packageName) {
         if (mRestoredSignatures == null) {
-            Log.w(TAG, "getRestoredMetadata() before metadata read!");
+            Slog.w(TAG, "getRestoredMetadata() before metadata read!");
             return null;
         }
 
@@ -104,7 +104,7 @@
 
     public Set<String> getRestoredPackages() {
         if (mRestoredSignatures == null) {
-            Log.w(TAG, "getRestoredPackages() before metadata read!");
+            Slog.w(TAG, "getRestoredPackages() before metadata read!");
             return null;
         }
 
@@ -120,7 +120,7 @@
     // the package name.
     public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
             ParcelFileDescriptor newState) {
-        if (DEBUG) Log.v(TAG, "onBackup()");
+        if (DEBUG) Slog.v(TAG, "onBackup()");
 
         ByteArrayOutputStream bufStream = new ByteArrayOutputStream();  // we'll reuse these
         DataOutputStream outWriter = new DataOutputStream(bufStream);
@@ -131,7 +131,7 @@
         // "already backed up" map built by parseStateFile().
         if (mStoredIncrementalVersion == null
                 || !mStoredIncrementalVersion.equals(Build.VERSION.INCREMENTAL)) {
-            Log.i(TAG, "Previous metadata " + mStoredIncrementalVersion + " mismatch vs "
+            Slog.i(TAG, "Previous metadata " + mStoredIncrementalVersion + " mismatch vs "
                     + Build.VERSION.INCREMENTAL + " - rewriting");
             mExisting.clear();
         }
@@ -147,14 +147,14 @@
              *                       the backup set.
              */
             if (!mExisting.contains(GLOBAL_METADATA_KEY)) {
-                if (DEBUG) Log.v(TAG, "Storing global metadata key");
+                if (DEBUG) Slog.v(TAG, "Storing global metadata key");
                 outWriter.writeInt(Build.VERSION.SDK_INT);
                 outWriter.writeUTF(Build.VERSION.INCREMENTAL);
                 byte[] metadata = bufStream.toByteArray();
                 data.writeEntityHeader(GLOBAL_METADATA_KEY, metadata.length);
                 data.writeEntityData(metadata, metadata.length);
             } else {
-                if (DEBUG) Log.v(TAG, "Global metadata key already stored");
+                if (DEBUG) Slog.v(TAG, "Global metadata key already stored");
                 // don't consider it to have been skipped/deleted
                 mExisting.remove(GLOBAL_METADATA_KEY);
             }
@@ -211,7 +211,7 @@
                         byte[] sigs = flattenSignatureArray(info.signatures);
 
                         if (DEBUG) {
-                            Log.v(TAG, "+ metadata for " + packName
+                            Slog.v(TAG, "+ metadata for " + packName
                                     + " version=" + info.versionCode
                                     + " versionLen=" + versionBuf.length
                                     + " sigsLen=" + sigs.length);
@@ -228,17 +228,17 @@
             // mentioned in the saved state file, but appear to no longer be present
             // on the device.  Write a deletion entity for them.
             for (String app : mExisting) {
-                if (DEBUG) Log.v(TAG, "- removing metadata for deleted pkg " + app);
+                if (DEBUG) Slog.v(TAG, "- removing metadata for deleted pkg " + app);
                 try {
                     data.writeEntityHeader(app, -1);
                 } catch (IOException e) {
-                    Log.e(TAG, "Unable to write package deletions!");
+                    Slog.e(TAG, "Unable to write package deletions!");
                     return;
                 }
             }
         } catch (IOException e) {
             // Real error writing data
-            Log.e(TAG, "Unable to write package backup data file!");
+            Slog.e(TAG, "Unable to write package backup data file!");
             return;
         }
 
@@ -253,14 +253,14 @@
             throws IOException {
         List<ApplicationInfo> restoredApps = new ArrayList<ApplicationInfo>();
         HashMap<String, Metadata> sigMap = new HashMap<String, Metadata>();
-        if (DEBUG) Log.v(TAG, "onRestore()");
+        if (DEBUG) Slog.v(TAG, "onRestore()");
         int storedSystemVersion = -1;
 
         while (data.readNextHeader()) {
             String key = data.getKey();
             int dataSize = data.getDataSize();
 
-            if (DEBUG) Log.v(TAG, "   got key=" + key + " dataSize=" + dataSize);
+            if (DEBUG) Slog.v(TAG, "   got key=" + key + " dataSize=" + dataSize);
 
             // generic setup to parse any entity data
             byte[] dataBuf = new byte[dataSize];
@@ -270,17 +270,17 @@
 
             if (key.equals(GLOBAL_METADATA_KEY)) {
                 int storedSdkVersion = in.readInt();
-                if (DEBUG) Log.v(TAG, "   storedSystemVersion = " + storedSystemVersion);
+                if (DEBUG) Slog.v(TAG, "   storedSystemVersion = " + storedSystemVersion);
                 if (storedSystemVersion > Build.VERSION.SDK_INT) {
                     // returning before setting the sig map means we rejected the restore set
-                    Log.w(TAG, "Restore set was from a later version of Android; not restoring");
+                    Slog.w(TAG, "Restore set was from a later version of Android; not restoring");
                     return;
                 }
                 mStoredSdkVersion = storedSdkVersion;
                 mStoredIncrementalVersion = in.readUTF();
                 mHasMetadata = true;
                 if (DEBUG) {
-                    Log.i(TAG, "Restore set version " + storedSystemVersion
+                    Slog.i(TAG, "Restore set version " + storedSystemVersion
                             + " is compatible with OS version " + Build.VERSION.SDK_INT
                             + " (" + mStoredIncrementalVersion + " vs "
                             + Build.VERSION.INCREMENTAL + ")");
@@ -290,7 +290,7 @@
                 int versionCode = in.readInt();
                 Signature[] sigs = unflattenSignatureArray(in);
                 if (DEBUG) {
-                    Log.i(TAG, "   restored metadata for " + key
+                    Slog.i(TAG, "   restored metadata for " + key
                             + " dataSize=" + dataSize
                             + " versionCode=" + versionCode + " sigs=" + sigs);
                 }
@@ -337,11 +337,11 @@
 
         try {
             int num = in.readInt();
-            if (DEBUG) Log.v(TAG, " ... unflatten read " + num);
+            if (DEBUG) Slog.v(TAG, " ... unflatten read " + num);
 
             // Sensical?
             if (num > 20) {
-                Log.e(TAG, "Suspiciously large sig count in restore data; aborting");
+                Slog.e(TAG, "Suspiciously large sig count in restore data; aborting");
                 throw new IllegalStateException("Bad restore state");
             }
 
@@ -355,10 +355,10 @@
         } catch (EOFException e) {
             // clean termination
             if (sigs == null) {
-                Log.w(TAG, "Empty signature block found");
+                Slog.w(TAG, "Empty signature block found");
             }
         } catch (IOException e) {
-            Log.e(TAG, "Unable to unflatten sigs");
+            Slog.e(TAG, "Unable to unflatten sigs");
             return null;
         }
 
@@ -388,7 +388,7 @@
                 mStoredIncrementalVersion = in.readUTF();
                 mExisting.add(GLOBAL_METADATA_KEY);
             } else {
-                Log.e(TAG, "No global metadata in state file!");
+                Slog.e(TAG, "No global metadata in state file!");
                 return;
             }
 
@@ -403,7 +403,7 @@
             // safe; we're done
         } catch (IOException e) {
             // whoops, bad state file.  abort.
-            Log.e(TAG, "Unable to read Package Manager state file: " + e);
+            Slog.e(TAG, "Unable to read Package Manager state file: " + e);
         }
     }
 
@@ -424,7 +424,7 @@
                 out.writeInt(pkg.versionCode);
             }
         } catch (IOException e) {
-            Log.e(TAG, "Unable to write package manager state file!");
+            Slog.e(TAG, "Unable to write package manager state file!");
             return;
         }
     }
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index 0573ee7..d3efa12 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -54,6 +54,7 @@
 import android.provider.Settings;
 import android.util.EventLog;
 import android.util.Log;
+import android.util.Slog;
 import android.view.WindowManagerPolicy;
 import static android.provider.Settings.System.DIM_SCREEN;
 import static android.provider.Settings.System.SCREEN_BRIGHTNESS;
@@ -254,25 +255,25 @@
             mLog = new PrintStream("/data/power.log");
         }
         catch (FileNotFoundException e) {
-            android.util.Log.e(TAG, "Life is hard", e);
+            android.util.Slog.e(TAG, "Life is hard", e);
         }
     }
     static class Log {
         static void d(String tag, String s) {
             mLog.println(s);
-            android.util.Log.d(tag, s);
+            android.util.Slog.d(tag, s);
         }
         static void i(String tag, String s) {
             mLog.println(s);
-            android.util.Log.i(tag, s);
+            android.util.Slog.i(tag, s);
         }
         static void w(String tag, String s) {
             mLog.println(s);
-            android.util.Log.w(tag, s);
+            android.util.Slog.w(tag, s);
         }
         static void e(String tag, String s) {
             mLog.println(s);
-            android.util.Log.e(tag, s);
+            android.util.Slog.e(tag, s);
         }
     }
     */
@@ -643,7 +644,7 @@
         int acquireType = -1;
 
         if (mSpew) {
-            Log.d(TAG, "acquireWakeLock flags=0x" + Integer.toHexString(flags) + " tag=" + tag);
+            Slog.d(TAG, "acquireWakeLock flags=0x" + Integer.toHexString(flags) + " tag=" + tag);
         }
 
         int index = mLocks.getIndex(lock);
@@ -672,7 +673,7 @@
                 default:
                     // just log and bail.  we're in the server, so don't
                     // throw an exception.
-                    Log.e(TAG, "bad wakelock type for lock '" + tag + "' "
+                    Slog.e(TAG, "bad wakelock type for lock '" + tag + "' "
                             + " flags=" + flags);
                     return;
             }
@@ -691,14 +692,14 @@
                 int oldWakeLockState = mWakeLockState;
                 mWakeLockState = mLocks.reactivateScreenLocksLocked();
                 if (mSpew) {
-                    Log.d(TAG, "wakeup here mUserState=0x" + Integer.toHexString(mUserState)
+                    Slog.d(TAG, "wakeup here mUserState=0x" + Integer.toHexString(mUserState)
                             + " mWakeLockState=0x"
                             + Integer.toHexString(mWakeLockState)
                             + " previous wakeLockState=0x" + Integer.toHexString(oldWakeLockState));
                 }
             } else {
                 if (mSpew) {
-                    Log.d(TAG, "here mUserState=0x" + Integer.toHexString(mUserState)
+                    Slog.d(TAG, "here mUserState=0x" + Integer.toHexString(mUserState)
                             + " mLocks.gatherState()=0x"
                             + Integer.toHexString(mLocks.gatherState())
                             + " mWakeLockState=0x" + Integer.toHexString(mWakeLockState));
@@ -758,7 +759,7 @@
         }
 
         if (mSpew) {
-            Log.d(TAG, "releaseWakeLock flags=0x"
+            Slog.d(TAG, "releaseWakeLock flags=0x"
                     + Integer.toHexString(wl.flags) + " tag=" + wl.tag);
         }
 
@@ -783,7 +784,7 @@
                         ((flags & PowerManager.WAIT_FOR_PROXIMITY_NEGATIVE) != 0)) {
                     // wait for proximity sensor to go negative before disabling sensor
                     if (mDebugProximitySensor) {
-                        Log.d(TAG, "waiting for proximity sensor to go negative");
+                        Slog.d(TAG, "waiting for proximity sensor to go negative");
                     }
                 } else {
                     disableProximityLockLocked();
@@ -833,7 +834,7 @@
     public void setPokeLock(int pokey, IBinder token, String tag) {
         mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER, null);
         if (token == null) {
-            Log.e(TAG, "setPokeLock got null token for tag='" + tag + "'");
+            Slog.e(TAG, "setPokeLock got null token for tag='" + tag + "'");
             return;
         }
 
@@ -1038,7 +1039,7 @@
                         when += mDimDelay;
                         break;
                     } else {
-                        Log.w(TAG, "mDimDelay=" + mDimDelay + " while trying to dim");
+                        Slog.w(TAG, "mDimDelay=" + mDimDelay + " while trying to dim");
                     }
                 case SCREEN_OFF:
                     synchronized (mLocks) {
@@ -1047,7 +1048,7 @@
                     break;
             }
             if (mSpew) {
-                Log.d(TAG, "setTimeoutLocked now=" + now + " nextState=" + nextState
+                Slog.d(TAG, "setTimeoutLocked now=" + now + " nextState=" + nextState
                         + " when=" + when);
             }
             mHandler.postAtTime(mTimeoutTask, when);
@@ -1068,7 +1069,7 @@
         {
             synchronized (mLocks) {
                 if (mSpew) {
-                    Log.d(TAG, "user activity timeout timed out nextState=" + this.nextState);
+                    Slog.d(TAG, "user activity timeout timed out nextState=" + this.nextState);
                 }
 
                 if (nextState == -1) {
@@ -1177,7 +1178,7 @@
                     }
 
                     if (mSpew) {
-                        Log.d(TAG, "mBroadcastWakeLock=" + mBroadcastWakeLock);
+                        Slog.d(TAG, "mBroadcastWakeLock=" + mBroadcastWakeLock);
                     }
                     if (mContext != null && ActivityManagerNative.isSystemReady()) {
                         mContext.sendOrderedBroadcast(mScreenOnIntent, null,
@@ -1321,12 +1322,12 @@
                 // a prior preventScreenOn(true) call.)
                 if (!mProximitySensorActive && (mPowerState & SCREEN_ON_BIT) != 0) {
                     if (mSpew) {
-                        Log.d(TAG,
+                        Slog.d(TAG,
                               "preventScreenOn: turning on after a prior preventScreenOn(true)!");
                     }
                     int err = setScreenStateLocked(true);
                     if (err != 0) {
-                        Log.w(TAG, "preventScreenOn: error from setScreenStateLocked(): " + err);
+                        Slog.w(TAG, "preventScreenOn: error from setScreenStateLocked(): " + err);
                     }
                 }
 
@@ -1369,7 +1370,7 @@
         // we should have already removed any existing
         // mForceReenableScreenTask messages...
         if (!mPreventScreenOn) {
-            Log.w(TAG, "forceReenableScreen: mPreventScreenOn is false, nothing to do");
+            Slog.w(TAG, "forceReenableScreen: mPreventScreenOn is false, nothing to do");
             return;
         }
 
@@ -1381,7 +1382,7 @@
         // crashed before doing so.)
 
         // Log a warning, and forcibly turn the screen back on.
-        Log.w(TAG, "App called preventScreenOn(true) but didn't promptly reenable the screen! "
+        Slog.w(TAG, "App called preventScreenOn(true) but didn't promptly reenable the screen! "
               + "Forcing the screen back on...");
         preventScreenOn(false);
     }
@@ -1424,7 +1425,7 @@
             int err;
 
             if (mSpew) {
-                Log.d(TAG, "setPowerState: mPowerState=0x" + Integer.toHexString(mPowerState)
+                Slog.d(TAG, "setPowerState: mPowerState=0x" + Integer.toHexString(mPowerState)
                         + " newState=0x" + Integer.toHexString(newState)
                         + " noChangeLights=" + noChangeLights
                         + " reason=" + reason);
@@ -1455,17 +1456,17 @@
             boolean newScreenOn = (newState & SCREEN_ON_BIT) != 0;
 
             if (mSpew) {
-                Log.d(TAG, "setPowerState: mPowerState=" + mPowerState
+                Slog.d(TAG, "setPowerState: mPowerState=" + mPowerState
                         + " newState=" + newState + " noChangeLights=" + noChangeLights);
-                Log.d(TAG, "  oldKeyboardBright=" + ((mPowerState & KEYBOARD_BRIGHT_BIT) != 0)
+                Slog.d(TAG, "  oldKeyboardBright=" + ((mPowerState & KEYBOARD_BRIGHT_BIT) != 0)
                          + " newKeyboardBright=" + ((newState & KEYBOARD_BRIGHT_BIT) != 0));
-                Log.d(TAG, "  oldScreenBright=" + ((mPowerState & SCREEN_BRIGHT_BIT) != 0)
+                Slog.d(TAG, "  oldScreenBright=" + ((mPowerState & SCREEN_BRIGHT_BIT) != 0)
                          + " newScreenBright=" + ((newState & SCREEN_BRIGHT_BIT) != 0));
-                Log.d(TAG, "  oldButtonBright=" + ((mPowerState & BUTTON_BRIGHT_BIT) != 0)
+                Slog.d(TAG, "  oldButtonBright=" + ((mPowerState & BUTTON_BRIGHT_BIT) != 0)
                          + " newButtonBright=" + ((newState & BUTTON_BRIGHT_BIT) != 0));
-                Log.d(TAG, "  oldScreenOn=" + oldScreenOn
+                Slog.d(TAG, "  oldScreenOn=" + oldScreenOn
                          + " newScreenOn=" + newScreenOn);
-                Log.d(TAG, "  oldBatteryLow=" + ((mPowerState & BATTERY_LOW_BIT) != 0)
+                Slog.d(TAG, "  oldBatteryLow=" + ((mPowerState & BATTERY_LOW_BIT) != 0)
                          + " newBatteryLow=" + ((newState & BATTERY_LOW_BIT) != 0));
             }
 
@@ -1491,13 +1492,13 @@
                     // screen forever; see forceReenableScreen().)
                     boolean reallyTurnScreenOn = true;
                     if (mSpew) {
-                        Log.d(TAG, "- turning screen on...  mPreventScreenOn = "
+                        Slog.d(TAG, "- turning screen on...  mPreventScreenOn = "
                               + mPreventScreenOn);
                     }
 
                     if (mPreventScreenOn) {
                         if (mSpew) {
-                            Log.d(TAG, "- PREVENTING screen from really turning on!");
+                            Slog.d(TAG, "- PREVENTING screen from really turning on!");
                         }
                         reallyTurnScreenOn = false;
                     }
@@ -1508,7 +1509,7 @@
                             mBatteryStats.noteScreenBrightness(getPreferredBrightness());
                             mBatteryStats.noteScreenOn();
                         } catch (RemoteException e) {
-                            Log.w(TAG, "RemoteException calling noteScreenOn on BatteryStatsService", e);
+                            Slog.w(TAG, "RemoteException calling noteScreenOn on BatteryStatsService", e);
                         } finally {
                             Binder.restoreCallingIdentity(identity);
                         }
@@ -1535,7 +1536,7 @@
                     try {
                         mBatteryStats.noteScreenOff();
                     } catch (RemoteException e) {
-                        Log.w(TAG, "RemoteException calling noteScreenOff on BatteryStatsService", e);
+                        Slog.w(TAG, "RemoteException calling noteScreenOff on BatteryStatsService", e);
                     } finally {
                         Binder.restoreCallingIdentity(identity);
                     }
@@ -1721,14 +1722,14 @@
 
         if (startAnimation) {
             if (mSpew) {
-                Log.i(TAG, "Scheduling light animator!");
+                Slog.i(TAG, "Scheduling light animator!");
             }
             mHandler.removeCallbacks(mLightAnimator);
             mHandler.post(mLightAnimator);
         }
 
         if (offMask != 0) {
-            //Log.i(TAG, "Setting brightess off: " + offMask);
+            //Slog.i(TAG, "Setting brightess off: " + offMask);
             setLightBrightness(offMask, Power.BRIGHTNESS_OFF);
         }
         if (dimMask != 0) {
@@ -1737,7 +1738,7 @@
                     brightness > Power.BRIGHTNESS_LOW_BATTERY) {
                 brightness = Power.BRIGHTNESS_LOW_BATTERY;
             }
-            //Log.i(TAG, "Setting brightess dim " + brightness + ": " + offMask);
+            //Slog.i(TAG, "Setting brightess dim " + brightness + ": " + offMask);
             setLightBrightness(dimMask, brightness);
         }
         if (onMask != 0) {
@@ -1746,7 +1747,7 @@
                     brightness > Power.BRIGHTNESS_LOW_BATTERY) {
                 brightness = Power.BRIGHTNESS_LOW_BATTERY;
             }
-            //Log.i(TAG, "Setting brightess on " + brightness + ": " + onMask);
+            //Slog.i(TAG, "Setting brightess on " + brightness + ": " + onMask);
             setLightBrightness(onMask, brightness);
         }
     }
@@ -1800,7 +1801,7 @@
                     / stepsToTarget;
             if (mSpew) {
                 String noticeMe = nominalCurrentValue == curValue ? "" : "  ******************";
-                Log.i(TAG, "Setting target " + mask + ": cur=" + curValue
+                Slog.i(TAG, "Setting target " + mask + ": cur=" + curValue
                         + " target=" + targetValue + " delta=" + delta
                         + " nominalCurrentValue=" + nominalCurrentValue
                         + noticeMe);
@@ -1812,7 +1813,7 @@
         boolean stepLocked() {
             if (!animating) return false;
             if (false && mSpew) {
-                Log.i(TAG, "Step target " + mask + ": cur=" + curValue
+                Slog.i(TAG, "Step target " + mask + ": cur=" + curValue
                         + " target=" + targetValue + " delta=" + delta);
             }
             curValue += delta;
@@ -1832,7 +1833,7 @@
                     more = false;
                 }
             }
-            //Log.i(TAG, "Animating brightess " + curIntValue + ": " + mask);
+            //Slog.i(TAG, "Animating brightess " + curIntValue + ": " + mask);
             setLightBrightness(mask, curIntValue);
             animating = more;
             if (!more) {
@@ -1959,7 +1960,7 @@
         if (((mPokey & POKE_LOCK_IGNORE_CHEEK_EVENTS) != 0)
                 && (eventType == CHEEK_EVENT || eventType == TOUCH_EVENT)) {
             if (false) {
-                Log.d(TAG, "dropping cheek or short event mPokey=0x" + Integer.toHexString(mPokey));
+                Slog.d(TAG, "dropping cheek or short event mPokey=0x" + Integer.toHexString(mPokey));
             }
             return;
         }
@@ -1968,22 +1969,22 @@
                 && (eventType == TOUCH_EVENT || eventType == TOUCH_UP_EVENT
                     || eventType == LONG_TOUCH_EVENT || eventType == CHEEK_EVENT)) {
             if (false) {
-                Log.d(TAG, "dropping touch mPokey=0x" + Integer.toHexString(mPokey));
+                Slog.d(TAG, "dropping touch mPokey=0x" + Integer.toHexString(mPokey));
             }
             return;
         }
 
         if (false) {
             if (((mPokey & POKE_LOCK_IGNORE_CHEEK_EVENTS) != 0)) {
-                Log.d(TAG, "userActivity !!!");//, new RuntimeException());
+                Slog.d(TAG, "userActivity !!!");//, new RuntimeException());
             } else {
-                Log.d(TAG, "mPokey=0x" + Integer.toHexString(mPokey));
+                Slog.d(TAG, "mPokey=0x" + Integer.toHexString(mPokey));
             }
         }
 
         synchronized (mLocks) {
             if (mSpew) {
-                Log.d(TAG, "userActivity mLastEventTime=" + mLastEventTime + " time=" + time
+                Slog.d(TAG, "userActivity mLastEventTime=" + mLastEventTime + " time=" + time
                         + " mUserActivityAllowed=" + mUserActivityAllowed
                         + " mUserState=0x" + Integer.toHexString(mUserState)
                         + " mWakeLockState=0x" + Integer.toHexString(mWakeLockState)
@@ -1992,7 +1993,7 @@
             }
             // ignore user activity if we are in the process of turning off the screen
             if (isScreenTurningOffLocked()) {
-                Log.d(TAG, "ignoring user activity while turning off screen");
+                Slog.d(TAG, "ignoring user activity while turning off screen");
                 return;
             }
             // Disable proximity sensor if if user presses power key while we are in the
@@ -2046,7 +2047,7 @@
             return values[i];
         } catch (Exception e) {
             // guard against null pointer or index out of bounds errors
-            Log.e(TAG, "getAutoBrightnessValue", e);
+            Slog.e(TAG, "getAutoBrightnessValue", e);
             return 255;
         }
     }
@@ -2094,7 +2095,7 @@
 
     private void lightSensorChangedLocked(int value) {
         if (mDebugLightSensor) {
-            Log.d(TAG, "lightSensorChangedLocked " + value);
+            Slog.d(TAG, "lightSensorChangedLocked " + value);
         }
 
         // do not allow light sensor value to decrease
@@ -2123,9 +2124,9 @@
                 mLightSensorKeyboardBrightness = keyboardValue;
 
                 if (mDebugLightSensor) {
-                    Log.d(TAG, "lcdValue " + lcdValue);
-                    Log.d(TAG, "buttonValue " + buttonValue);
-                    Log.d(TAG, "keyboardValue " + keyboardValue);
+                    Slog.d(TAG, "lcdValue " + lcdValue);
+                    Slog.d(TAG, "buttonValue " + buttonValue);
+                    Slog.d(TAG, "keyboardValue " + keyboardValue);
                 }
 
                 boolean startAnimation = false;
@@ -2167,7 +2168,7 @@
                 }
                 if (startAnimation) {
                     if (mDebugLightSensor) {
-                        Log.i(TAG, "lightSensorChangedLocked scheduling light animator");
+                        Slog.i(TAG, "lightSensorChangedLocked scheduling light animator");
                     }
                     mHandler.removeCallbacks(mLightAnimator);
                     mHandler.post(mLightAnimator);
@@ -2216,16 +2217,16 @@
             try {
                 mSvc.shutdown();
             } catch (Exception e) {
-                Log.e(TAG, "MountService shutdown failed", e);
+                Slog.e(TAG, "MountService shutdown failed", e);
             }
         } else {
-            Log.w(TAG, "MountService unavailable for shutdown");
+            Slog.w(TAG, "MountService unavailable for shutdown");
         }
 
         try {
             Power.reboot(reason);
         } catch (IOException e) {
-            Log.e(TAG, "reboot failed", e);
+            Slog.e(TAG, "reboot failed", e);
         }
     }
 
@@ -2282,7 +2283,7 @@
     public void setKeyboardVisibility(boolean visible) {
         synchronized (mLocks) {
             if (mSpew) {
-                Log.d(TAG, "setKeyboardVisibility: " + visible);
+                Slog.d(TAG, "setKeyboardVisibility: " + visible);
             }
             if (mKeyboardVisible != visible) {
                 mKeyboardVisible = visible;
@@ -2311,7 +2312,7 @@
      */
     public void enableUserActivity(boolean enabled) {
         if (mSpew) {
-            Log.d(TAG, "enableUserActivity " + enabled);
+            Slog.d(TAG, "enableUserActivity " + enabled);
         }
         synchronized (mLocks) {
             mUserActivityAllowed = enabled;
@@ -2375,7 +2376,7 @@
             }
         }
         if (mSpew) {
-            Log.d(TAG, "setScreenOffTimeouts mKeylightDelay=" + mKeylightDelay
+            Slog.d(TAG, "setScreenOffTimeouts mKeylightDelay=" + mKeylightDelay
                     + " mDimDelay=" + mDimDelay + " mScreenOffDelay=" + mScreenOffDelay
                     + " mDimScreen=" + mDimScreen);
         }
@@ -2390,7 +2391,7 @@
                 mContext.getContentResolver(),
                 Settings.Secure.SHORT_KEYLIGHT_DELAY_MS,
                 SHORT_KEYLIGHT_DELAY_DEFAULT);
-        // Log.i(TAG, "updateSettingsValues(): mShortKeylightDelay now " + mShortKeylightDelay);
+        // Slog.i(TAG, "updateSettingsValues(): mShortKeylightDelay now " + mShortKeylightDelay);
     }
 
     private class LockList extends ArrayList<WakeLock>
@@ -2482,7 +2483,7 @@
         }
 
         synchronized (mLocks) {
-            Log.d(TAG, "system ready!");
+            Slog.d(TAG, "system ready!");
             mDoneBooting = true;
             long identity = Binder.clearCallingIdentity();
             try {
@@ -2497,7 +2498,7 @@
     }
 
     void bootCompleted() {
-        Log.d(TAG, "bootCompleted");
+        Slog.d(TAG, "bootCompleted");
         synchronized (mLocks) {
             mBootCompleted = true;
             userActivity(SystemClock.uptimeMillis(), false, BUTTON_EVENT, true);
@@ -2533,7 +2534,7 @@
         try {
             mBatteryStats.noteScreenBrightness(brightness);
         } catch (RemoteException e) {
-            Log.w(TAG, "RemoteException calling noteScreenBrightness on BatteryStatsService", e);
+            Slog.w(TAG, "RemoteException calling noteScreenBrightness on BatteryStatsService", e);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -2563,7 +2564,7 @@
 
     private void enableProximityLockLocked() {
         if (mDebugProximitySensor) {
-            Log.d(TAG, "enableProximityLockLocked");
+            Slog.d(TAG, "enableProximityLockLocked");
         }
         if (!mProximitySensorEnabled) {
             // clear calling identity so sensor manager battery stats are accurate
@@ -2580,7 +2581,7 @@
 
     private void disableProximityLockLocked() {
         if (mDebugProximitySensor) {
-            Log.d(TAG, "disableProximityLockLocked");
+            Slog.d(TAG, "disableProximityLockLocked");
         }
         if (mProximitySensorEnabled) {
             // clear calling identity so sensor manager battery stats are accurate
@@ -2604,10 +2605,10 @@
 
     private void proximityChangedLocked(boolean active) {
         if (mDebugProximitySensor) {
-            Log.d(TAG, "proximityChangedLocked, active: " + active);
+            Slog.d(TAG, "proximityChangedLocked, active: " + active);
         }
         if (!mProximitySensorEnabled) {
-            Log.d(TAG, "Ignoring proximity change after sensor is disabled");
+            Slog.d(TAG, "Ignoring proximity change after sensor is disabled");
             return;
         }
         if (active) {
@@ -2630,7 +2631,7 @@
 
     private void enableLightSensor(boolean enable) {
         if (mDebugLightSensor) {
-            Log.d(TAG, "enableLightSensor " + enable);
+            Slog.d(TAG, "enableLightSensor " + enable);
         }
         if (mSensorManager != null && mLightSensorEnabled != enable) {
             mLightSensorEnabled = enable;
@@ -2665,7 +2666,7 @@
                         distance < mProximitySensor.getMaximumRange());
 
                 if (mDebugProximitySensor) {
-                    Log.d(TAG, "mProximityListener.onSensorChanged active: " + active);
+                    Slog.d(TAG, "mProximityListener.onSensorChanged active: " + active);
                 }
                 if (timeSinceLastEvent < PROXIMITY_SENSOR_DELAY) {
                     // enforce delaying atleast PROXIMITY_SENSOR_DELAY before processing
@@ -2705,7 +2706,7 @@
                 int value = (int)event.values[0];
                 long milliseconds = SystemClock.elapsedRealtime();
                 if (mDebugLightSensor) {
-                    Log.d(TAG, "onSensorChanged: light value: " + value);
+                    Slog.d(TAG, "onSensorChanged: light value: " + value);
                 }
                 mHandler.removeCallbacks(mAutoBrightnessTask);
                 if (mLightSensorValue != value) {
diff --git a/services/java/com/android/server/ProcessStats.java b/services/java/com/android/server/ProcessStats.java
index ac3b723..a02c4e7 100644
--- a/services/java/com/android/server/ProcessStats.java
+++ b/services/java/com/android/server/ProcessStats.java
@@ -21,7 +21,7 @@
 import android.os.Process;
 import android.os.SystemClock;
 import android.util.Config;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -289,11 +289,11 @@
             mRelIdleTime = (int)(idletime - mBaseIdleTime);
 
             if (false) {
-                Log.i("Load", "Total U:" + sysCpu[0] + " N:" + sysCpu[1]
+                Slog.i("Load", "Total U:" + sysCpu[0] + " N:" + sysCpu[1]
                       + " S:" + sysCpu[2] + " I:" + sysCpu[3]
                       + " W:" + sysCpu[4] + " Q:" + sysCpu[5]
                       + " O:" + sysCpu[6]);
-                Log.i("Load", "Rel U:" + mRelUserTime + " S:" + mRelSystemTime
+                Slog.i("Load", "Rel U:" + mRelUserTime + " S:" + mRelSystemTime
                       + " I:" + mRelIdleTime + " Q:" + mRelIrqTime);
             }
 
@@ -331,7 +331,7 @@
                 // Update an existing process...
                 st.added = false;
                 curStatsIndex++;
-                if (localLOGV) Log.v(TAG, "Existing pid " + pid + ": " + st);
+                if (localLOGV) Slog.v(TAG, "Existing pid " + pid + ": " + st);
 
                 final long[] procStats = mProcessStatsData;
                 if (!Process.readProcFile(st.statFile.toString(),
@@ -376,7 +376,7 @@
                 st.rel_majfaults = (int)(majfaults - st.base_majfaults);
                 st.base_minfaults = minfaults;
                 st.base_majfaults = majfaults;
-                //Log.i("Load", "Stats changed " + name + " pid=" + st.pid
+                //Slog.i("Load", "Stats changed " + name + " pid=" + st.pid
                 //      + " name=" + st.name + " utime=" + utime
                 //      + " stime=" + stime);
                 workingProcs.add(st);
@@ -389,7 +389,7 @@
                 allProcs.add(curStatsIndex, st);
                 curStatsIndex++;
                 NS++;
-                if (localLOGV) Log.v(TAG, "New pid " + pid + ": " + st);
+                if (localLOGV) Slog.v(TAG, "New pid " + pid + ": " + st);
 
                 final String[] procStatsString = mProcessFullStatsStringData;
                 final long[] procStats = mProcessFullStatsData;
@@ -419,7 +419,7 @@
                     }
                 }
                 
-                //Log.i("Load", "New process: " + st.pid + " " + st.name);
+                //Slog.i("Load", "New process: " + st.pid + " " + st.name);
                 st.rel_utime = 0;
                 st.rel_stime = 0;
                 st.rel_minfaults = 0;
@@ -440,7 +440,7 @@
             workingProcs.add(st);
             allProcs.remove(curStatsIndex);
             NS--;
-            if (localLOGV) Log.v(TAG, "Removed pid " + st.pid + ": " + st);
+            if (localLOGV) Slog.v(TAG, "Removed pid " + st.pid + ": " + st);
             // Decrement the loop counter so that we process the current pid
             // again the next time through the loop.
             i--;
@@ -458,7 +458,7 @@
             workingProcs.add(st);
             allProcs.remove(curStatsIndex);
             NS--;
-            if (localLOGV) Log.v(TAG, "Removed pid " + st.pid + ": " + st);
+            if (localLOGV) Slog.v(TAG, "Removed pid " + st.pid + ": " + st);
         }
         
         return pids;
@@ -523,11 +523,11 @@
                     speed++;
                     if (speed == MAX_SPEEDS) break; // No more
                     if (localLOGV && out == null) {
-                        Log.v(TAG, "First time : Speed/Time = " + tempSpeeds[speed - 1]
+                        Slog.v(TAG, "First time : Speed/Time = " + tempSpeeds[speed - 1]
                               + "\t" + tempTimes[speed - 1]);
                     }
                 } catch (NumberFormatException nfe) {
-                    Log.i(TAG, "Unable to parse time_in_state");
+                    Slog.i(TAG, "Unable to parse time_in_state");
                 }
             }
         }
diff --git a/services/java/com/android/server/RandomBlock.java b/services/java/com/android/server/RandomBlock.java
index f7847ec..cc22bd9 100644
--- a/services/java/com/android/server/RandomBlock.java
+++ b/services/java/com/android/server/RandomBlock.java
@@ -16,7 +16,7 @@
 
 package com.android.server;
 
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.Closeable;
 import java.io.DataOutput;
@@ -39,7 +39,7 @@
     private RandomBlock() { }
 
     static RandomBlock fromFile(String filename) throws IOException {
-        if (DEBUG) Log.v(TAG, "reading from file " + filename);
+        if (DEBUG) Slog.v(TAG, "reading from file " + filename);
         InputStream stream = null;
         try {
             stream = new FileInputStream(filename);
@@ -63,7 +63,7 @@
     }
 
     void toFile(String filename) throws IOException {
-        if (DEBUG) Log.v(TAG, "writing to file " + filename);
+        if (DEBUG) Slog.v(TAG, "writing to file " + filename);
         RandomAccessFile out = null;
         try {
             out = new RandomAccessFile(filename, "rws");
@@ -95,7 +95,7 @@
             }
             c.close();
         } catch (IOException e) {
-            Log.w(TAG, "IOException thrown while closing Closeable", e);
+            Slog.w(TAG, "IOException thrown while closing Closeable", e);
         }
     }
 }
diff --git a/services/java/com/android/server/RecognitionManagerService.java b/services/java/com/android/server/RecognitionManagerService.java
index 7305b07..8e55512 100644
--- a/services/java/com/android/server/RecognitionManagerService.java
+++ b/services/java/com/android/server/RecognitionManagerService.java
@@ -28,7 +28,7 @@
 import android.provider.Settings;
 import android.speech.RecognitionService;
 import android.text.TextUtils;
-import android.util.Log;
+import android.util.Slog;
 
 import java.util.List;
 
@@ -92,7 +92,7 @@
         int numAvailable = available.size();
     
         if (numAvailable == 0) {
-            Log.w(TAG, "no available voice recognition services found");
+            Slog.w(TAG, "no available voice recognition services found");
             return null;
         } else {
             if (prefPackage != null) {
@@ -104,7 +104,7 @@
                 }
             }
             if (numAvailable > 1) {
-                Log.w(TAG, "more than one voice recognition service found, picking first");
+                Slog.w(TAG, "more than one voice recognition service found, picking first");
             }
     
             ServiceInfo serviceInfo = available.get(0).serviceInfo;
diff --git a/services/java/com/android/server/SensorService.java b/services/java/com/android/server/SensorService.java
index 4dfeb9d..01d64a7 100644
--- a/services/java/com/android/server/SensorService.java
+++ b/services/java/com/android/server/SensorService.java
@@ -23,7 +23,7 @@
 import android.os.RemoteException;
 import android.os.IBinder;
 import android.util.Config;
-import android.util.Log;
+import android.util.Slog;
 
 import java.util.ArrayList;
 
@@ -74,7 +74,7 @@
         }
 
         public void binderDied() {
-            if (localLOGV) Log.d(TAG, "sensor listener died");
+            if (localLOGV) Slog.d(TAG, "sensor listener died");
             synchronized(mListeners) {
                 mListeners.remove(this);
                 mToken.unlinkToDeath(this, 0);
@@ -86,7 +86,7 @@
                         try {
                             deactivateIfUnusedLocked(sensor);
                         } catch (RemoteException e) {
-                            Log.w(TAG, "RemoteException in binderDied");
+                            Slog.w(TAG, "RemoteException in binderDied");
                         }
                     }
                 }
@@ -101,7 +101,7 @@
 
     @SuppressWarnings("unused")
     public SensorService(Context context) {
-        if (localLOGV) Log.d(TAG, "SensorService startup");
+        if (localLOGV) Slog.d(TAG, "SensorService startup");
         _sensors_control_init();
     }
     
@@ -114,7 +114,7 @@
 
     public boolean enableSensor(IBinder binder, String name, int sensor, int enable)
              throws RemoteException {
-        if (localLOGV) Log.d(TAG, "enableSensor " + name + "(#" + sensor + ") " + enable);
+        if (localLOGV) Slog.d(TAG, "enableSensor " + name + "(#" + sensor + ") " + enable);
         
         // Inform battery statistics service of status change
         int uid = Binder.getCallingUid();
@@ -127,13 +127,13 @@
         Binder.restoreCallingIdentity(identity);
 
         if (binder == null) {
-            Log.w(TAG, "listener is null (sensor=" + name + ", id=" + sensor + ")");
+            Slog.w(TAG, "listener is null (sensor=" + name + ", id=" + sensor + ")");
             return false;
         }
 
         synchronized(mListeners) {
             if (enable!=SENSOR_DISABLE && !_sensors_control_activate(sensor, true)) {
-                Log.w(TAG, "could not enable sensor " + sensor);
+                Slog.w(TAG, "could not enable sensor " + sensor);
                 return false;
             }
                     
@@ -157,7 +157,7 @@
             if (l == null) {
                 // by construction, this means we're disabling a listener we
                 // don't know about...
-                Log.w(TAG, "listener with binder " + binder + 
+                Slog.w(TAG, "listener with binder " + binder + 
                         ", doesn't exist (sensor=" + name + ", id=" + sensor + ")");
                 return false;
             }
diff --git a/services/java/com/android/server/ShutdownActivity.java b/services/java/com/android/server/ShutdownActivity.java
index 7f0e90d..64b9c5d 100644
--- a/services/java/com/android/server/ShutdownActivity.java
+++ b/services/java/com/android/server/ShutdownActivity.java
@@ -21,7 +21,7 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
-import android.util.Log;
+import android.util.Slog;
 import com.android.internal.app.ShutdownThread;
 
 public class ShutdownActivity extends Activity {
@@ -34,7 +34,7 @@
         super.onCreate(savedInstanceState);
 
         mConfirm = getIntent().getBooleanExtra(Intent.EXTRA_KEY_CONFIRM, false);
-        Log.i(TAG, "onCreate(): confirm=" + mConfirm);
+        Slog.i(TAG, "onCreate(): confirm=" + mConfirm);
 
         Handler h = new Handler();
         h.post(new Runnable() {
diff --git a/services/java/com/android/server/SystemBackupAgent.java b/services/java/com/android/server/SystemBackupAgent.java
index 67abe55..186aebe 100644
--- a/services/java/com/android/server/SystemBackupAgent.java
+++ b/services/java/com/android/server/SystemBackupAgent.java
@@ -26,7 +26,7 @@
 import android.os.ParcelFileDescriptor;
 import android.os.ServiceManager;
 import android.os.SystemService;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.File;
 import java.io.IOException;
@@ -77,7 +77,7 @@
         } catch (IOException ex) {
             // If there was a failure, delete everything for the wallpaper, this is too aggresive,
             // but this is hopefully a rare failure.
-            Log.d(TAG, "restore failed", ex);
+            Slog.d(TAG, "restore failed", ex);
             (new File(WALLPAPER_IMAGE)).delete();
             (new File(WALLPAPER_INFO)).delete();
         }
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 1f46faf..deee7f3 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -42,7 +42,7 @@
 import android.server.BluetoothService;
 import android.server.search.SearchManagerService;
 import android.util.EventLog;
-import android.util.Log;
+import android.util.Slog;
 import android.accounts.AccountManagerService;
 
 import java.io.File;
@@ -101,22 +101,22 @@
 
         // Critical services...
         try {
-            Log.i(TAG, "Entropy Service");
+            Slog.i(TAG, "Entropy Service");
             ServiceManager.addService("entropy", new EntropyService());
 
-            Log.i(TAG, "Power Manager");
+            Slog.i(TAG, "Power Manager");
             power = new PowerManagerService();
             ServiceManager.addService(Context.POWER_SERVICE, power);
 
-            Log.i(TAG, "Activity Manager");
+            Slog.i(TAG, "Activity Manager");
             context = ActivityManagerService.main(factoryTest);
 
-            Log.i(TAG, "Telephony Registry");
+            Slog.i(TAG, "Telephony Registry");
             ServiceManager.addService("telephony.registry", new TelephonyRegistry(context));
 
             AttributeCache.init(context);
 
-            Log.i(TAG, "Package Manager");
+            Slog.i(TAG, "Package Manager");
             pm = PackageManagerService.main(context,
                     factoryTest != SystemServer.FACTORY_TEST_OFF);
 
@@ -126,47 +126,47 @@
 
             // The AccountManager must come before the ContentService
             try {
-                Log.i(TAG, "Account Manager");
+                Slog.i(TAG, "Account Manager");
                 ServiceManager.addService(Context.ACCOUNT_SERVICE,
                         new AccountManagerService(context));
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Account Manager", e);
+                Slog.e(TAG, "Failure starting Account Manager", e);
             }
 
-            Log.i(TAG, "Content Manager");
+            Slog.i(TAG, "Content Manager");
             ContentService.main(context,
                     factoryTest == SystemServer.FACTORY_TEST_LOW_LEVEL);
 
-            Log.i(TAG, "System Content Providers");
+            Slog.i(TAG, "System Content Providers");
             ActivityManagerService.installSystemProviders();
 
-            Log.i(TAG, "Battery Service");
+            Slog.i(TAG, "Battery Service");
             battery = new BatteryService(context);
             ServiceManager.addService("battery", battery);
 
-            Log.i(TAG, "Lights Service");
+            Slog.i(TAG, "Lights Service");
             lights = new LightsService(context);
 
-            Log.i(TAG, "Vibrator Service");
+            Slog.i(TAG, "Vibrator Service");
             ServiceManager.addService("vibrator", new VibratorService(context));
 
             // only initialize the power service after we have started the
             // lights service, content providers and the battery service.
             power.init(context, lights, ActivityManagerService.getDefault(), battery);
 
-            Log.i(TAG, "Alarm Manager");
+            Slog.i(TAG, "Alarm Manager");
             AlarmManagerService alarm = new AlarmManagerService(context);
             ServiceManager.addService(Context.ALARM_SERVICE, alarm);
 
-            Log.i(TAG, "Init Watchdog");
+            Slog.i(TAG, "Init Watchdog");
             Watchdog.getInstance().init(context, battery, power, alarm,
                     ActivityManagerService.self());
 
             // Sensor Service is needed by Window Manager, so this goes first
-            Log.i(TAG, "Sensor Service");
+            Slog.i(TAG, "Sensor Service");
             ServiceManager.addService(Context.SENSOR_SERVICE, new SensorService(context));
 
-            Log.i(TAG, "Window Manager");
+            Slog.i(TAG, "Window Manager");
             wm = WindowManagerService.main(context, power,
                     factoryTest != SystemServer.FACTORY_TEST_LOW_LEVEL);
             ServiceManager.addService(Context.WINDOW_SERVICE, wm);
@@ -178,13 +178,13 @@
             // TODO: Use a more reliable check to see if this product should
             // support Bluetooth - see bug 988521
             if (SystemProperties.get("ro.kernel.qemu").equals("1")) {
-                Log.i(TAG, "Registering null Bluetooth Service (emulator)");
+                Slog.i(TAG, "Registering null Bluetooth Service (emulator)");
                 ServiceManager.addService(BluetoothAdapter.BLUETOOTH_SERVICE, null);
             } else if (factoryTest == SystemServer.FACTORY_TEST_LOW_LEVEL) {
-                Log.i(TAG, "Registering null Bluetooth Service (factory test)");
+                Slog.i(TAG, "Registering null Bluetooth Service (factory test)");
                 ServiceManager.addService(BluetoothAdapter.BLUETOOTH_SERVICE, null);
             } else {
-                Log.i(TAG, "Bluetooth Service");
+                Slog.i(TAG, "Bluetooth Service");
                 bluetooth = new BluetoothService(context);
                 ServiceManager.addService(BluetoothAdapter.BLUETOOTH_SERVICE, bluetooth);
                 bluetooth.initAfterRegistration();
@@ -200,7 +200,7 @@
             }
 
         } catch (RuntimeException e) {
-            Log.e("System", "Failure starting core service", e);
+            Slog.e("System", "Failure starting core service", e);
         }
 
         DevicePolicyManagerService devicePolicy = null;
@@ -213,66 +213,66 @@
 
         if (factoryTest != SystemServer.FACTORY_TEST_LOW_LEVEL) {
             try {
-                Log.i(TAG, "Device Policy");
+                Slog.i(TAG, "Device Policy");
                 devicePolicy = new DevicePolicyManagerService(context);
                 ServiceManager.addService(Context.DEVICE_POLICY_SERVICE, devicePolicy);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting DevicePolicyService", e);
+                Slog.e(TAG, "Failure starting DevicePolicyService", e);
             }
 
             try {
-                Log.i(TAG, "Status Bar");
+                Slog.i(TAG, "Status Bar");
                 statusBar = new StatusBarService(context);
                 ServiceManager.addService(Context.STATUS_BAR_SERVICE, statusBar);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting StatusBarService", e);
+                Slog.e(TAG, "Failure starting StatusBarService", e);
             }
 
             try {
-                Log.i(TAG, "Clipboard Service");
+                Slog.i(TAG, "Clipboard Service");
                 ServiceManager.addService(Context.CLIPBOARD_SERVICE,
                         new ClipboardService(context));
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Clipboard Service", e);
+                Slog.e(TAG, "Failure starting Clipboard Service", e);
             }
 
             try {
-                Log.i(TAG, "Input Method Service");
+                Slog.i(TAG, "Input Method Service");
                 imm = new InputMethodManagerService(context, statusBar);
                 ServiceManager.addService(Context.INPUT_METHOD_SERVICE, imm);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Input Manager Service", e);
+                Slog.e(TAG, "Failure starting Input Manager Service", e);
             }
 
             try {
-                Log.i(TAG, "NetStat Service");
+                Slog.i(TAG, "NetStat Service");
                 ServiceManager.addService("netstat", new NetStatService(context));
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting NetStat Service", e);
+                Slog.e(TAG, "Failure starting NetStat Service", e);
             }
 
             try {
-                Log.i(TAG, "NetworkManagement Service");
+                Slog.i(TAG, "NetworkManagement Service");
                 ServiceManager.addService(
                         Context.NETWORKMANAGEMENT_SERVICE, new NetworkManagementService(context));
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting NetworkManagement Service", e);
+                Slog.e(TAG, "Failure starting NetworkManagement Service", e);
             }
 
             try {
-                Log.i(TAG, "Connectivity Service");
+                Slog.i(TAG, "Connectivity Service");
                 connectivity = ConnectivityService.getInstance(context);
                 ServiceManager.addService(Context.CONNECTIVITY_SERVICE, connectivity);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Connectivity Service", e);
+                Slog.e(TAG, "Failure starting Connectivity Service", e);
             }
 
             try {
-              Log.i(TAG, "Accessibility Manager");
+              Slog.i(TAG, "Accessibility Manager");
               ServiceManager.addService(Context.ACCESSIBILITY_SERVICE,
                       new AccessibilityManagerService(context));
             } catch (Throwable e) {
-              Log.e(TAG, "Failure starting Accessibility Manager", e);
+              Slog.e(TAG, "Failure starting Accessibility Manager", e);
             }
 
             try {
@@ -280,115 +280,115 @@
                  * NotificationManagerService is dependant on MountService,
                  * (for media / usb notifications) so we must start MountService first.
                  */
-                Log.i(TAG, "Mount Service");
+                Slog.i(TAG, "Mount Service");
                 ServiceManager.addService("mount", new MountService(context));
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Mount Service", e);
+                Slog.e(TAG, "Failure starting Mount Service", e);
             }
 
             try {
-                Log.i(TAG, "Notification Manager");
+                Slog.i(TAG, "Notification Manager");
                 notification = new NotificationManagerService(context, statusBar, lights);
                 ServiceManager.addService(Context.NOTIFICATION_SERVICE, notification);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Notification Manager", e);
+                Slog.e(TAG, "Failure starting Notification Manager", e);
             }
 
             try {
-                Log.i(TAG, "Device Storage Monitor");
+                Slog.i(TAG, "Device Storage Monitor");
                 ServiceManager.addService(DeviceStorageMonitorService.SERVICE,
                         new DeviceStorageMonitorService(context));
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting DeviceStorageMonitor service", e);
+                Slog.e(TAG, "Failure starting DeviceStorageMonitor service", e);
             }
 
             try {
-                Log.i(TAG, "Location Manager");
+                Slog.i(TAG, "Location Manager");
                 location = new LocationManagerService(context);
                 ServiceManager.addService(Context.LOCATION_SERVICE, location);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Location Manager", e);
+                Slog.e(TAG, "Failure starting Location Manager", e);
             }
 
             try {
-                Log.i(TAG, "Search Service");
+                Slog.i(TAG, "Search Service");
                 ServiceManager.addService(Context.SEARCH_SERVICE,
                         new SearchManagerService(context));
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Search Service", e);
+                Slog.e(TAG, "Failure starting Search Service", e);
             }
 
             if (INCLUDE_DEMO) {
-                Log.i(TAG, "Installing demo data...");
+                Slog.i(TAG, "Installing demo data...");
                 (new DemoThread(context)).start();
             }
 
             try {
-                Log.i(TAG, "DropBox Service");
+                Slog.i(TAG, "DropBox Service");
                 ServiceManager.addService(Context.DROPBOX_SERVICE,
                         new DropBoxManagerService(context, new File("/data/system/dropbox")));
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting DropBoxManagerService", e);
+                Slog.e(TAG, "Failure starting DropBoxManagerService", e);
             }
 
             try {
-                Log.i(TAG, "Wallpaper Service");
+                Slog.i(TAG, "Wallpaper Service");
                 wallpaper = new WallpaperManagerService(context);
                 ServiceManager.addService(Context.WALLPAPER_SERVICE, wallpaper);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Wallpaper Service", e);
+                Slog.e(TAG, "Failure starting Wallpaper Service", e);
             }
 
             try {
-                Log.i(TAG, "Audio Service");
+                Slog.i(TAG, "Audio Service");
                 ServiceManager.addService(Context.AUDIO_SERVICE, new AudioService(context));
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Audio Service", e);
+                Slog.e(TAG, "Failure starting Audio Service", e);
             }
 
             try {
-                Log.i(TAG, "Headset Observer");
+                Slog.i(TAG, "Headset Observer");
                 // Listen for wired headset changes
                 headset = new HeadsetObserver(context);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting HeadsetObserver", e);
+                Slog.e(TAG, "Failure starting HeadsetObserver", e);
             }
 
             try {
-                Log.i(TAG, "Dock Observer");
+                Slog.i(TAG, "Dock Observer");
                 // Listen for dock station changes
                 dock = new DockObserver(context, power);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting DockObserver", e);
+                Slog.e(TAG, "Failure starting DockObserver", e);
             }
 
             try {
-                Log.i(TAG, "Backup Service");
+                Slog.i(TAG, "Backup Service");
                 ServiceManager.addService(Context.BACKUP_SERVICE,
                         new BackupManagerService(context));
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Backup Service", e);
+                Slog.e(TAG, "Failure starting Backup Service", e);
             }
 
             try {
-                Log.i(TAG, "AppWidget Service");
+                Slog.i(TAG, "AppWidget Service");
                 appWidget = new AppWidgetService(context);
                 ServiceManager.addService(Context.APPWIDGET_SERVICE, appWidget);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting AppWidget Service", e);
+                Slog.e(TAG, "Failure starting AppWidget Service", e);
             }
 
             try {
-                Log.i(TAG, "Recognition Service");
+                Slog.i(TAG, "Recognition Service");
                 recognition = new RecognitionManagerService(context);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure starting Recognition Service", e);
+                Slog.e(TAG, "Failure starting Recognition Service", e);
             }
 
             try {
                 com.android.server.status.StatusBarPolicy.installIcons(context, statusBar);
             } catch (Throwable e) {
-                Log.e(TAG, "Failure installing status bar icons", e);
+                Slog.e(TAG, "Failure installing status bar icons", e);
             }
         }
 
@@ -455,7 +455,7 @@
         ((ActivityManagerService)ActivityManagerNative.getDefault())
                 .systemReady(new Runnable() {
             public void run() {
-                Log.i(TAG, "Making services ready");
+                Slog.i(TAG, "Making services ready");
 
                 if (batteryF != null) batteryF.systemReady();
                 if (connectivityF != null) connectivityF.systemReady();
@@ -474,7 +474,7 @@
         });
 
         Looper.loop();
-        Log.d(TAG, "System ServerThread is exiting!");
+        Slog.d(TAG, "System ServerThread is exiting!");
     }
 }
 
@@ -499,7 +499,7 @@
                 dataset.add(mContext);
             }
         } catch (Throwable e) {
-            Log.e("SystemServer", "Failure installing demo data", e);
+            Slog.e("SystemServer", "Failure installing demo data", e);
         }
 
     }
@@ -546,7 +546,7 @@
     }
 
     public static final void init2() {
-        Log.i(TAG, "Entered the Android system server!");
+        Slog.i(TAG, "Entered the Android system server!");
         Thread thr = new ServerThread();
         thr.setName("android.server.ServerThread");
         thr.start();
diff --git a/services/java/com/android/server/TelephonyRegistry.java b/services/java/com/android/server/TelephonyRegistry.java
index 3bee40c..664dfa5 100644
--- a/services/java/com/android/server/TelephonyRegistry.java
+++ b/services/java/com/android/server/TelephonyRegistry.java
@@ -29,7 +29,7 @@
 import android.telephony.SignalStrength;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
-import android.util.Log;
+import android.util.Slog;
 
 import java.util.ArrayList;
 import java.io.FileDescriptor;
@@ -124,7 +124,7 @@
 
     public void listen(String pkgForDebug, IPhoneStateListener callback, int events,
             boolean notifyNow) {
-        // Log.d(TAG, "listen pkg=" + pkgForDebug + " events=0x" +
+        // Slog.d(TAG, "listen pkg=" + pkgForDebug + " events=0x" +
         // Integer.toHexString(events));
         if (events != 0) {
             /* Checks permission and throws Security exception */
@@ -575,7 +575,7 @@
         }
         String msg = "Modify Phone State Permission Denial: " + method + " from pid="
                 + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid();
-        Log.w(TAG, msg);
+        Slog.w(TAG, msg);
         return false;
     }
 
diff --git a/services/java/com/android/server/VibratorService.java b/services/java/com/android/server/VibratorService.java
index 5282ba2..2e7e3e1 100755
--- a/services/java/com/android/server/VibratorService.java
+++ b/services/java/com/android/server/VibratorService.java
@@ -29,7 +29,7 @@
 import android.os.IBinder;
 import android.os.Binder;
 import android.os.SystemClock;
-import android.util.Log;
+import android.util.Slog;
 
 import java.util.LinkedList;
 import java.util.ListIterator;
@@ -155,7 +155,7 @@
                 for (int i=0; i<N; i++) {
                     s += " " + pattern[i];
                 }
-                Log.i(TAG, "vibrating with pattern: " + s);
+                Slog.i(TAG, "vibrating with pattern: " + s);
             }
 
             // we're running in the server so we can't fail
diff --git a/services/java/com/android/server/ViewServer.java b/services/java/com/android/server/ViewServer.java
index e9a1951..ae00438 100644
--- a/services/java/com/android/server/ViewServer.java
+++ b/services/java/com/android/server/ViewServer.java
@@ -16,7 +16,7 @@
 
 package com.android.server;
 
-import android.util.Log;
+import android.util.Slog;
 
 import java.net.ServerSocket;
 import java.net.Socket;
@@ -129,7 +129,7 @@
                 mServer = null;
                 return true;
             } catch (IOException e) {
-                Log.w(LOG_TAG, "Could not close the view server");
+                Slog.w(LOG_TAG, "Could not close the view server");
             }
         }
         return false;
@@ -191,7 +191,7 @@
                     }
 
                     if (!result) {
-                        Log.w(LOG_TAG, "An error occured with the command: " + command);
+                        Slog.w(LOG_TAG, "An error occured with the command: " + command);
                     }
                 } finally {
                     if (in != null) {
@@ -199,7 +199,7 @@
                     }
                 }
             } catch (Exception e) {
-                Log.w(LOG_TAG, "Connection error: ", e);
+                Slog.w(LOG_TAG, "Connection error: ", e);
             } finally {
                 if (client != null) {
                     try {
diff --git a/services/java/com/android/server/WallpaperManagerService.java b/services/java/com/android/server/WallpaperManagerService.java
index aebb0ff..7a03ebd 100644
--- a/services/java/com/android/server/WallpaperManagerService.java
+++ b/services/java/com/android/server/WallpaperManagerService.java
@@ -46,7 +46,7 @@
 import android.service.wallpaper.IWallpaperEngine;
 import android.service.wallpaper.IWallpaperService;
 import android.service.wallpaper.WallpaperService;
-import android.util.Log;
+import android.util.Slog;
 import android.util.Xml;
 import android.view.IWindowManager;
 import android.view.WindowManager;
@@ -187,10 +187,10 @@
                 mService = null;
                 mEngine = null;
                 if (mWallpaperConnection == this) {
-                    Log.w(TAG, "Wallpaper service gone: " + mWallpaperComponent);
+                    Slog.w(TAG, "Wallpaper service gone: " + mWallpaperComponent);
                     if (!mWallpaperUpdating && (mLastDiedTime+MIN_WALLPAPER_CRASH_TIME)
                                 > SystemClock.uptimeMillis()) {
-                        Log.w(TAG, "Reverting to built-in wallpaper!");
+                        Slog.w(TAG, "Reverting to built-in wallpaper!");
                         bindWallpaperComponentLocked(null);
                     }
                 }
@@ -254,7 +254,7 @@
                             || change == PACKAGE_TEMPORARY_CHANGE) {
                         changed = true;
                         if (doit) {
-                            Log.w(TAG, "Wallpaper uninstalled, removing: " + mWallpaperComponent);
+                            Slog.w(TAG, "Wallpaper uninstalled, removing: " + mWallpaperComponent);
                             clearWallpaperLocked();
                         }
                     }
@@ -272,7 +272,7 @@
                         mContext.getPackageManager().getServiceInfo(
                                 mWallpaperComponent, 0);
                     } catch (NameNotFoundException e) {
-                        Log.w(TAG, "Wallpaper component gone, removing: " + mWallpaperComponent);
+                        Slog.w(TAG, "Wallpaper component gone, removing: " + mWallpaperComponent);
                         clearWallpaperLocked();
                     }
                 }
@@ -291,7 +291,7 @@
     }
     
     public WallpaperManagerService(Context context) {
-        if (DEBUG) Log.v(TAG, "WallpaperService startup");
+        if (DEBUG) Slog.v(TAG, "WallpaperService startup");
         mContext = context;
         mIWindowManager = IWindowManager.Stub.asInterface(
                 ServiceManager.getService(Context.WINDOW_SERVICE));
@@ -309,16 +309,16 @@
     }
     
     public void systemReady() {
-        if (DEBUG) Log.v(TAG, "systemReady");
+        if (DEBUG) Slog.v(TAG, "systemReady");
         synchronized (mLock) {
             try {
                 bindWallpaperComponentLocked(mNextWallpaperComponent);
             } catch (RuntimeException e) {
-                Log.w(TAG, "Failure starting previous wallpaper", e);
+                Slog.w(TAG, "Failure starting previous wallpaper", e);
                 try {
                     bindWallpaperComponentLocked(null);
                 } catch (RuntimeException e2) {
-                    Log.w(TAG, "Failure starting default wallpaper", e2);
+                    Slog.w(TAG, "Failure starting default wallpaper", e2);
                     clearWallpaperComponentLocked();
                 }
             }
@@ -326,7 +326,7 @@
     }
     
     public void clearWallpaper() {
-        if (DEBUG) Log.v(TAG, "clearWallpaper");
+        if (DEBUG) Slog.v(TAG, "clearWallpaper");
         synchronized (mLock) {
             clearWallpaperLocked();
         }
@@ -399,7 +399,7 @@
                 return ParcelFileDescriptor.open(f, MODE_READ_ONLY);
             } catch (FileNotFoundException e) {
                 /* Shouldn't happen as we check to see if the file exists */
-                Log.w(TAG, "Error getting wallpaper", e);
+                Slog.w(TAG, "Error getting wallpaper", e);
             }
             return null;
         }
@@ -415,7 +415,7 @@
     }
     
     public ParcelFileDescriptor setWallpaper(String name) {
-        if (DEBUG) Log.v(TAG, "setWallpaper");
+        if (DEBUG) Slog.v(TAG, "setWallpaper");
         
         checkPermission(android.Manifest.permission.SET_WALLPAPER);
         synchronized (mLock) {
@@ -442,13 +442,13 @@
             mName = name;
             return fd;
         } catch (FileNotFoundException e) {
-            Log.w(TAG, "Error setting wallpaper", e);
+            Slog.w(TAG, "Error setting wallpaper", e);
         }
         return null;
     }
 
     public void setWallpaperComponent(ComponentName name) {
-        if (DEBUG) Log.v(TAG, "setWallpaperComponent name=" + name);
+        if (DEBUG) Slog.v(TAG, "setWallpaperComponent name=" + name);
         checkPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT);
         synchronized (mLock) {
             final long ident = Binder.clearCallingIdentity();
@@ -461,19 +461,19 @@
     }
     
     void bindWallpaperComponentLocked(ComponentName componentName) {
-        if (DEBUG) Log.v(TAG, "bindWallpaperComponentLocked: componentName=" + componentName);
+        if (DEBUG) Slog.v(TAG, "bindWallpaperComponentLocked: componentName=" + componentName);
         
         // Has the component changed?
         if (mWallpaperConnection != null) {
             if (mWallpaperComponent == null) {
                 if (componentName == null) {
-                    if (DEBUG) Log.v(TAG, "bindWallpaperComponentLocked: still using default");
+                    if (DEBUG) Slog.v(TAG, "bindWallpaperComponentLocked: still using default");
                     // Still using default wallpaper.
                     return;
                 }
             } else if (mWallpaperComponent.equals(componentName)) {
                 // Changing to same wallpaper.
-                if (DEBUG) Log.v(TAG, "same wallpaper");
+                if (DEBUG) Slog.v(TAG, "same wallpaper");
                 return;
             }
         }
@@ -485,14 +485,14 @@
                 if (defaultComponent != null) {
                     // See if there is a default wallpaper component specified
                     componentName = ComponentName.unflattenFromString(defaultComponent);
-                    if (DEBUG) Log.v(TAG, "Use default component wallpaper:" + componentName);
+                    if (DEBUG) Slog.v(TAG, "Use default component wallpaper:" + componentName);
                 }
                 if (componentName == null) {
                     // Fall back to static image wallpaper
                     componentName = mImageWallpaperComponent;
                     //clearWallpaperComponentLocked();
                     //return;
-                    if (DEBUG) Log.v(TAG, "Using image wallpaper");
+                    if (DEBUG) Slog.v(TAG, "Using image wallpaper");
                 }
             }
             ServiceInfo si = mContext.getPackageManager().getServiceInfo(componentName,
@@ -531,7 +531,7 @@
             }
             
             // Bind the service!
-            if (DEBUG) Log.v(TAG, "Binding to:" + componentName);
+            if (DEBUG) Slog.v(TAG, "Binding to:" + componentName);
             WallpaperConnection newConn = new WallpaperConnection(wi);
             intent.setComponent(componentName);
             intent.putExtra(Intent.EXTRA_CLIENT_LABEL,
@@ -552,7 +552,7 @@
             mWallpaperConnection = newConn;
             mLastDiedTime = SystemClock.uptimeMillis();
             try {
-                if (DEBUG) Log.v(TAG, "Adding window token: " + newConn.mToken);
+                if (DEBUG) Slog.v(TAG, "Adding window token: " + newConn.mToken);
                 mIWindowManager.addWindowToken(newConn.mToken,
                         WindowManager.LayoutParams.TYPE_WALLPAPER);
             } catch (RemoteException e) {
@@ -574,7 +574,7 @@
             }
             mContext.unbindService(mWallpaperConnection);
             try {
-                if (DEBUG) Log.v(TAG, "Removing window token: "
+                if (DEBUG) Slog.v(TAG, "Removing window token: "
                         + mWallpaperConnection.mToken);
                 mIWindowManager.removeWindowToken(mWallpaperConnection.mToken);
             } catch (RemoteException e) {
@@ -589,7 +589,7 @@
                     WindowManager.LayoutParams.TYPE_WALLPAPER, false,
                     mWidth, mHeight);
         } catch (RemoteException e) {
-            Log.w(TAG, "Failed attaching wallpaper; clearing", e);
+            Slog.w(TAG, "Failed attaching wallpaper; clearing", e);
             if (!mWallpaperUpdating) {
                 bindWallpaperComponentLocked(null);
             }
@@ -659,7 +659,7 @@
     }
 
     private void loadSettingsLocked() {
-        if (DEBUG) Log.v(TAG, "loadSettingsLocked");
+        if (DEBUG) Slog.v(TAG, "loadSettingsLocked");
         
         JournaledFile journal = makeJournaledFile();
         FileInputStream stream = null;
@@ -685,25 +685,25 @@
                                 : null;
                           
                         if (DEBUG) {
-                            Log.v(TAG, "mWidth:" + mWidth);
-                            Log.v(TAG, "mHeight:" + mHeight);
-                            Log.v(TAG, "mName:" + mName);
-                            Log.v(TAG, "mNextWallpaperComponent:" + mNextWallpaperComponent);
+                            Slog.v(TAG, "mWidth:" + mWidth);
+                            Slog.v(TAG, "mHeight:" + mHeight);
+                            Slog.v(TAG, "mName:" + mName);
+                            Slog.v(TAG, "mNextWallpaperComponent:" + mNextWallpaperComponent);
                         }
                     }
                 }
             } while (type != XmlPullParser.END_DOCUMENT);
             success = true;
         } catch (NullPointerException e) {
-            Log.w(TAG, "failed parsing " + file + " " + e);
+            Slog.w(TAG, "failed parsing " + file + " " + e);
         } catch (NumberFormatException e) {
-            Log.w(TAG, "failed parsing " + file + " " + e);
+            Slog.w(TAG, "failed parsing " + file + " " + e);
         } catch (XmlPullParserException e) {
-            Log.w(TAG, "failed parsing " + file + " " + e);
+            Slog.w(TAG, "failed parsing " + file + " " + e);
         } catch (IOException e) {
-            Log.w(TAG, "failed parsing " + file + " " + e);
+            Slog.w(TAG, "failed parsing " + file + " " + e);
         } catch (IndexOutOfBoundsException e) {
-            Log.w(TAG, "failed parsing " + file + " " + e);
+            Slog.w(TAG, "failed parsing " + file + " " + e);
         }
         try {
             if (stream != null) {
@@ -721,7 +721,7 @@
     }
 
     void settingsRestored() {
-        if (DEBUG) Log.v(TAG, "settingsRestored");
+        if (DEBUG) Slog.v(TAG, "settingsRestored");
         
         boolean success = false;
         synchronized (mLock) {
@@ -741,13 +741,13 @@
                 // If there's a wallpaper name, we use that.  If that can't be loaded, then we
                 // use the default.
                 if ("".equals(mName)) {
-                    if (DEBUG) Log.v(TAG, "settingsRestored: name is empty");
+                    if (DEBUG) Slog.v(TAG, "settingsRestored: name is empty");
                     success = true;
                 } else {
-                    if (DEBUG) Log.v(TAG, "settingsRestored: attempting to restore named resource");
+                    if (DEBUG) Slog.v(TAG, "settingsRestored: attempting to restore named resource");
                     success = restoreNamedResourceLocked();
                 }
-                if (DEBUG) Log.v(TAG, "settingsRestored: success=" + success);
+                if (DEBUG) Slog.v(TAG, "settingsRestored: success=" + success);
                 if (success) {
                     bindWallpaperComponentLocked(mImageWallpaperComponent);
                 }
@@ -755,7 +755,7 @@
         }
 
         if (!success) {
-            Log.e(TAG, "Failed to restore wallpaper: '" + mName + "'");
+            Slog.e(TAG, "Failed to restore wallpaper: '" + mName + "'");
             mName = "";
             WALLPAPER_FILE.delete();
         }
@@ -792,7 +792,7 @@
                     Resources r = c.getResources();
                     resId = r.getIdentifier(resName, null, null);
                     if (resId == 0) {
-                        Log.e(TAG, "couldn't resolve identifier pkg=" + pkg + " type=" + type
+                        Slog.e(TAG, "couldn't resolve identifier pkg=" + pkg + " type=" + type
                                 + " ident=" + ident);
                         return false;
                     }
@@ -807,14 +807,14 @@
                     }
                     // mWallpaperObserver will notice the close and send the change broadcast
 
-                    Log.v(TAG, "Restored wallpaper: " + resName);
+                    Slog.v(TAG, "Restored wallpaper: " + resName);
                     return true;
                 } catch (NameNotFoundException e) {
-                    Log.e(TAG, "Package name " + pkg + " not found");
+                    Slog.e(TAG, "Package name " + pkg + " not found");
                 } catch (Resources.NotFoundException e) {
-                    Log.e(TAG, "Resource not found: " + resId);
+                    Slog.e(TAG, "Resource not found: " + resId);
                 } catch (IOException e) {
-                    Log.e(TAG, "IOException while restoring wallpaper ", e);
+                    Slog.e(TAG, "IOException while restoring wallpaper ", e);
                 } finally {
                     if (res != null) {
                         try {
diff --git a/services/java/com/android/server/Watchdog.java b/services/java/com/android/server/Watchdog.java
index a6bfd99..ee69715 100644
--- a/services/java/com/android/server/Watchdog.java
+++ b/services/java/com/android/server/Watchdog.java
@@ -34,7 +34,7 @@
 import android.provider.Settings;
 import android.util.Config;
 import android.util.EventLog;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -229,7 +229,7 @@
                         // During the last pass we collected pss information, so
                         // now it is time to report it.
                         mHaveGlobalPss = false;
-                        if (localLOGV) Log.v(TAG, "Received global pss, logging.");
+                        if (localLOGV) Slog.v(TAG, "Received global pss, logging.");
                         logGlobalMemory();
                     }
                 } break;
@@ -239,7 +239,7 @@
                         // During the last pass we collected pss information, so
                         // now it is time to report it.
                         mHavePss = false;
-                        if (localLOGV) Log.v(TAG, "Have pss, checking memory.");
+                        if (localLOGV) Slog.v(TAG, "Have pss, checking memory.");
                         checkMemory();
                     }
 
@@ -247,7 +247,7 @@
                         // During the last pass we collected pss information, so
                         // now it is time to report it.
                         mHaveGlobalPss = false;
-                        if (localLOGV) Log.v(TAG, "Have global pss, logging.");
+                        if (localLOGV) Slog.v(TAG, "Have global pss, logging.");
                         logGlobalMemory();
                     }
 
@@ -275,7 +275,7 @@
                         // things simple, we will assume that everyone has
                         // reported back by the next MONITOR message.
                         mLastMemCheckTime = now;
-                        if (localLOGV) Log.v(TAG, "Collecting memory usage.");
+                        if (localLOGV) Slog.v(TAG, "Collecting memory usage.");
                         collectMemory();
                         mHavePss = true;
 
@@ -285,7 +285,7 @@
                         long realtimeNow = SystemClock.elapsedRealtime();
                         if ((mLastMemCheckRealtime+memCheckRealtimeInterval) < realtimeNow) {
                             mLastMemCheckRealtime = realtimeNow;
-                            if (localLOGV) Log.v(TAG, "Collecting global memory usage.");
+                            if (localLOGV) Slog.v(TAG, "Collecting global memory usage.");
                             collectGlobalMemory();
                             mHaveGlobalPss = true;
                         }
@@ -315,7 +315,7 @@
     final class CheckupReceiver extends BroadcastReceiver {
         @Override
         public void onReceive(Context c, Intent intent) {
-            if (localLOGV) Log.v(TAG, "Alarm went off, checking memory.");
+            if (localLOGV) Slog.v(TAG, "Alarm went off, checking memory.");
             checkMemory();
         }
     }
@@ -323,7 +323,7 @@
     final class RebootReceiver extends BroadcastReceiver {
         @Override
         public void onReceive(Context c, Intent intent) {
-            if (localLOGV) Log.v(TAG, "Alarm went off, checking reboot.");
+            if (localLOGV) Slog.v(TAG, "Alarm went off, checking reboot.");
             checkReboot(true);
         }
     }
@@ -494,7 +494,7 @@
                 if (mPhoneMemMonitor.checkLocked(curTime, mPhonePid,
                         mPhonePss)) {
                     // Just kill the phone process and let it restart.
-                    Log.i(TAG, "Watchdog is killing the phone process");
+                    Slog.i(TAG, "Watchdog is killing the phone process");
                     Process.killProcess(mPhonePid);
                 }
             } else {
@@ -511,25 +511,25 @@
                 } else if (nextTime >= mMemcheckExecEndTime){
                     // Need to check during next exec time...  so that needs
                     // to be computed.
-                    if (localLOGV) Log.v(TAG, "Computing next time range");
+                    if (localLOGV) Slog.v(TAG, "Computing next time range");
                     computeMemcheckTimesLocked(nextTime);
                     nextTime = mMemcheckExecStartTime;
                 }
 
                 if (localLOGV) {
                     mCalendar.setTimeInMillis(nextTime);
-                    Log.v(TAG, "Next Alarm Time: " + mCalendar);
+                    Slog.v(TAG, "Next Alarm Time: " + mCalendar);
                 }
             }
         }
 
         if (needScheduledCheck) {
-            if (localLOGV) Log.v(TAG, "Scheduling next memcheck alarm for "
+            if (localLOGV) Slog.v(TAG, "Scheduling next memcheck alarm for "
                     + ((nextTime-curTime)/1000/60) + "m from now");
             mAlarm.remove(mCheckupIntent);
             mAlarm.set(AlarmManager.RTC_WAKEUP, nextTime, mCheckupIntent);
         } else {
-            if (localLOGV) Log.v(TAG, "No need to schedule a memcheck alarm!");
+            if (localLOGV) Slog.v(TAG, "No need to schedule a memcheck alarm!");
             mAlarm.remove(mCheckupIntent);
         }
     }
@@ -592,7 +592,7 @@
         mRebootInterval = rebootInterval;
         if (rebootInterval <= 0) {
             // No reboot interval requested.
-            if (localLOGV) Log.v(TAG, "No need to schedule a reboot alarm!");
+            if (localLOGV) Slog.v(TAG, "No need to schedule a reboot alarm!");
             mAlarm.remove(mRebootIntent);
             return;
         }
@@ -663,7 +663,7 @@
             }
         }
 
-        if (localLOGV) Log.v(TAG, "Scheduling next reboot alarm for "
+        if (localLOGV) Slog.v(TAG, "Scheduling next reboot alarm for "
                 + ((realStartTime-now)/1000/60) + "m from now");
         mAlarm.remove(mRebootIntent);
         mAlarm.set(AlarmManager.RTC_WAKEUP, realStartTime, mRebootIntent);
@@ -673,11 +673,11 @@
      * Perform a full reboot of the system.
      */
     void rebootSystem(String reason) {
-        Log.i(TAG, "Rebooting system because: " + reason);
+        Slog.i(TAG, "Rebooting system because: " + reason);
         try {
             android.os.Power.reboot(reason);
         } catch (IOException e) {
-            Log.e(TAG, "Reboot failed!", e);
+            Slog.e(TAG, "Reboot failed!", e);
         }
     }
 
@@ -757,11 +757,11 @@
 
         if (localLOGV) {
             mCalendar.setTimeInMillis(curTime);
-            Log.v(TAG, "Current Time: " + mCalendar);
+            Slog.v(TAG, "Current Time: " + mCalendar);
             mCalendar.setTimeInMillis(mMemcheckExecStartTime);
-            Log.v(TAG, "Start Check Time: " + mCalendar);
+            Slog.v(TAG, "Start Check Time: " + mCalendar);
             mCalendar.setTimeInMillis(mMemcheckExecEndTime);
-            Log.v(TAG, "End Check Time: " + mCalendar);
+            Slog.v(TAG, "End Check Time: " + mCalendar);
         }
     }
 
@@ -810,7 +810,7 @@
                     } catch (InterruptedException e) {
                         if (SystemProperties.getBoolean("ro.secure", false)) {
                             // If this is a secure build, just log the error.
-                            Log.e("WatchDog", "Woof! Woof! Interrupter!");
+                            Slog.e("WatchDog", "Woof! Woof! Interrupter!");
                         } else {
                             throw new AssertionError("Someone interrupted the watchdog");
                         }
@@ -839,7 +839,7 @@
 
             // Only kill the process if the debugger is not attached.
             if (!Debug.isDebuggerConnected()) {
-                Log.i(TAG, "Watchdog is killing the system process");
+                Slog.i(TAG, "Watchdog is killing the system process");
                 Process.killProcess(Process.myPid());
             }
         }
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java
index 60cf5a2..1455973 100644
--- a/services/java/com/android/server/WifiService.java
+++ b/services/java/com/android/server/WifiService.java
@@ -54,7 +54,7 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.provider.Settings;
-import android.util.Log;
+import android.util.Slog;
 import android.text.TextUtils;
 
 import java.util.ArrayList;
@@ -218,7 +218,7 @@
                 }
         );
 
-        Log.i(TAG, "WifiService starting up with Wi-Fi " +
+        Slog.i(TAG, "WifiService starting up with Wi-Fi " +
                 (wifiEnabled ? "enabled" : "disabled"));
 
         mContext.registerReceiver(
@@ -346,13 +346,13 @@
         if (enable) {
             synchronized (mWifiStateTracker) {
                 if (!WifiNative.loadDriver()) {
-                    Log.e(TAG, "Failed to load Wi-Fi driver.");
+                    Slog.e(TAG, "Failed to load Wi-Fi driver.");
                     setWifiEnabledState(WIFI_STATE_UNKNOWN, uid);
                     return false;
                 }
                 if (!WifiNative.startSupplicant()) {
                     WifiNative.unloadDriver();
-                    Log.e(TAG, "Failed to start supplicant daemon.");
+                    Slog.e(TAG, "Failed to start supplicant daemon.");
                     setWifiEnabledState(WIFI_STATE_UNKNOWN, uid);
                     return false;
                 }
@@ -368,7 +368,7 @@
             boolean failedToStopSupplicantOrUnloadDriver = false;
             synchronized (mWifiStateTracker) {
                 if (!WifiNative.stopSupplicant()) {
-                    Log.e(TAG, "Failed to stop supplicant daemon.");
+                    Slog.e(TAG, "Failed to stop supplicant daemon.");
                     setWifiEnabledState(WIFI_STATE_UNKNOWN, uid);
                     failedToStopSupplicantOrUnloadDriver = true;
                 }
@@ -380,7 +380,7 @@
                 mWifiStateTracker.resetConnections(true);
 
                 if (!WifiNative.unloadDriver()) {
-                    Log.e(TAG, "Failed to unload Wi-Fi driver.");
+                    Slog.e(TAG, "Failed to unload Wi-Fi driver.");
                     if (!failedToStopSupplicantOrUnloadDriver) {
                         setWifiEnabledState(WIFI_STATE_UNKNOWN, uid);
                         failedToStopSupplicantOrUnloadDriver = true;
@@ -732,7 +732,7 @@
                 netId = WifiNative.addNetworkCommand();
                 if (netId < 0) {
                     if (DBG) {
-                        Log.d(TAG, "Failed to add a network!");
+                        Slog.d(TAG, "Failed to add a network!");
                     }
                     return -1;
                 }
@@ -763,7 +763,7 @@
                         WifiConfiguration.ssidVarName,
                         convertToQuotedString(config.SSID))) {
                 if (DBG) {
-                    Log.d(TAG, "failed to set SSID: "+config.SSID);
+                    Slog.d(TAG, "failed to set SSID: "+config.SSID);
                 }
                 break setVariables;
             }
@@ -774,7 +774,7 @@
                         WifiConfiguration.bssidVarName,
                         config.BSSID)) {
                 if (DBG) {
-                    Log.d(TAG, "failed to set BSSID: "+config.BSSID);
+                    Slog.d(TAG, "failed to set BSSID: "+config.BSSID);
                 }
                 break setVariables;
             }
@@ -787,7 +787,7 @@
                         WifiConfiguration.KeyMgmt.varName,
                         allowedKeyManagementString)) {
                 if (DBG) {
-                    Log.d(TAG, "failed to set key_mgmt: "+
+                    Slog.d(TAG, "failed to set key_mgmt: "+
                             allowedKeyManagementString);
                 }
                 break setVariables;
@@ -801,7 +801,7 @@
                         WifiConfiguration.Protocol.varName,
                         allowedProtocolsString)) {
                 if (DBG) {
-                    Log.d(TAG, "failed to set proto: "+
+                    Slog.d(TAG, "failed to set proto: "+
                             allowedProtocolsString);
                 }
                 break setVariables;
@@ -815,7 +815,7 @@
                         WifiConfiguration.AuthAlgorithm.varName,
                         allowedAuthAlgorithmsString)) {
                 if (DBG) {
-                    Log.d(TAG, "failed to set auth_alg: "+
+                    Slog.d(TAG, "failed to set auth_alg: "+
                             allowedAuthAlgorithmsString);
                 }
                 break setVariables;
@@ -829,7 +829,7 @@
                         WifiConfiguration.PairwiseCipher.varName,
                         allowedPairwiseCiphersString)) {
                 if (DBG) {
-                    Log.d(TAG, "failed to set pairwise: "+
+                    Slog.d(TAG, "failed to set pairwise: "+
                             allowedPairwiseCiphersString);
                 }
                 break setVariables;
@@ -843,7 +843,7 @@
                         WifiConfiguration.GroupCipher.varName,
                         allowedGroupCiphersString)) {
                 if (DBG) {
-                    Log.d(TAG, "failed to set group: "+
+                    Slog.d(TAG, "failed to set group: "+
                             allowedGroupCiphersString);
                 }
                 break setVariables;
@@ -857,7 +857,7 @@
                         WifiConfiguration.pskVarName,
                         config.preSharedKey)) {
                 if (DBG) {
-                    Log.d(TAG, "failed to set psk: "+config.preSharedKey);
+                    Slog.d(TAG, "failed to set psk: "+config.preSharedKey);
                 }
                 break setVariables;
             }
@@ -873,7 +873,7 @@
                                     WifiConfiguration.wepKeyVarNames[i],
                                     config.wepKeys[i])) {
                             if (DBG) {
-                                Log.d(TAG,
+                                Slog.d(TAG,
                                         "failed to set wep_key"+i+": " +
                                         config.wepKeys[i]);
                             }
@@ -890,7 +890,7 @@
                             WifiConfiguration.wepTxKeyIdxVarName,
                             Integer.toString(config.wepTxKeyIndex))) {
                     if (DBG) {
-                        Log.d(TAG,
+                        Slog.d(TAG,
                                 "failed to set wep_tx_keyidx: "+
                                 config.wepTxKeyIndex);
                     }
@@ -903,7 +903,7 @@
                         WifiConfiguration.priorityVarName,
                         Integer.toString(config.priority))) {
                 if (DBG) {
-                    Log.d(TAG, config.SSID + ": failed to set priority: "
+                    Slog.d(TAG, config.SSID + ": failed to set priority: "
                             +config.priority);
                 }
                 break setVariables;
@@ -914,7 +914,7 @@
                         WifiConfiguration.hiddenSSIDVarName,
                         Integer.toString(config.hiddenSSID ? 1 : 0))) {
                 if (DBG) {
-                    Log.d(TAG, config.SSID + ": failed to set hiddenSSID: "+
+                    Slog.d(TAG, config.SSID + ": failed to set hiddenSSID: "+
                             config.hiddenSSID);
                 }
                 break setVariables;
@@ -933,7 +933,7 @@
                                 varName,
                                 value)) {
                         if (DBG) {
-                            Log.d(TAG, config.SSID + ": failed to set " + varName +
+                            Slog.d(TAG, config.SSID + ": failed to set " + varName +
                                     ": " + value);
                         }
                         break setVariables;
@@ -952,7 +952,7 @@
             if (newNetwork) {
                 removeNetwork(netId);
                 if (DBG) {
-                    Log.d(TAG,
+                    Slog.d(TAG,
                             "Failed to set a network variable, removed network: "
                             + netId);
                 }
@@ -994,7 +994,7 @@
             // if we ever get here, we should probably add the
             // value to WifiConfiguration to reflect that it's
             // supported by the WPA supplicant
-            Log.w(TAG, "Failed to look-up a string: " + string);
+            Slog.w(TAG, "Failed to look-up a string: " + string);
         }
 
         return -1;
@@ -1098,7 +1098,7 @@
                     if (scanResult != null) {
                         scanList.add(scanResult);
                     } else if (DBG) {
-                        Log.w(TAG, "misformatted scan result for: " + line);
+                        Slog.w(TAG, "misformatted scan result for: " + line);
                     }
                 }
                 lineBeg = lineEnd + 1;
@@ -1185,7 +1185,7 @@
                         }
                     }
                 } else {
-                    Log.w(TAG, "Misformatted scan result text with " +
+                    Slog.w(TAG, "Misformatted scan result text with " +
                           result.length + " fields: " + line);
                 }
             }
@@ -1256,7 +1256,7 @@
      * {@code numChannels} is outside the valid range.
      */
     public boolean setNumAllowedChannels(int numChannels, boolean persist) {
-        Log.i(TAG, "WifiService trying to setNumAllowed to "+numChannels+
+        Slog.i(TAG, "WifiService trying to setNumAllowed to "+numChannels+
                 " with persist set to "+persist);
         enforceChangePermission();
         /*
@@ -1342,13 +1342,13 @@
                 Settings.System.getInt(mContext.getContentResolver(),
                                        Settings.System.STAY_ON_WHILE_PLUGGED_IN, 0);
             if (action.equals(Intent.ACTION_SCREEN_ON)) {
-                Log.d(TAG, "ACTION_SCREEN_ON");
+                Slog.d(TAG, "ACTION_SCREEN_ON");
                 mAlarmManager.cancel(mIdleIntent);
                 mDeviceIdle = false;
                 mScreenOff = false;
                 mWifiStateTracker.enableRssiPolling(true);
             } else if (action.equals(Intent.ACTION_SCREEN_OFF)) {
-                Log.d(TAG, "ACTION_SCREEN_OFF");
+                Slog.d(TAG, "ACTION_SCREEN_OFF");
                 mScreenOff = true;
                 mWifiStateTracker.enableRssiPolling(false);
                 /*
@@ -1365,21 +1365,21 @@
                         // as long as we would if connected (below)
                         // TODO - fix the race conditions and switch back to the immediate turn-off
                         long triggerTime = System.currentTimeMillis() + (2*60*1000); // 2 min
-                        Log.d(TAG, "setting ACTION_DEVICE_IDLE timer for 120,000 ms");
+                        Slog.d(TAG, "setting ACTION_DEVICE_IDLE timer for 120,000 ms");
                         mAlarmManager.set(AlarmManager.RTC_WAKEUP, triggerTime, mIdleIntent);
                         //  // do not keep Wifi awake when screen is off if Wifi is not associated
                         //  mDeviceIdle = true;
                         //  updateWifiState();
                     } else {
                         long triggerTime = System.currentTimeMillis() + idleMillis;
-                        Log.d(TAG, "setting ACTION_DEVICE_IDLE timer for " + idleMillis + "ms");
+                        Slog.d(TAG, "setting ACTION_DEVICE_IDLE timer for " + idleMillis + "ms");
                         mAlarmManager.set(AlarmManager.RTC_WAKEUP, triggerTime, mIdleIntent);
                     }
                 }
                 /* we can return now -- there's nothing to do until we get the idle intent back */
                 return;
             } else if (action.equals(ACTION_DEVICE_IDLE)) {
-                Log.d(TAG, "got ACTION_DEVICE_IDLE");
+                Slog.d(TAG, "got ACTION_DEVICE_IDLE");
                 mDeviceIdle = true;
             } else if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {
                 /*
@@ -1390,11 +1390,11 @@
                  * the already-set timer.
                  */
                 int pluggedType = intent.getIntExtra("plugged", 0);
-                Log.d(TAG, "ACTION_BATTERY_CHANGED pluggedType: " + pluggedType);
+                Slog.d(TAG, "ACTION_BATTERY_CHANGED pluggedType: " + pluggedType);
                 if (mScreenOff && shouldWifiStayAwake(stayAwakeConditions, mPluggedType) &&
                         !shouldWifiStayAwake(stayAwakeConditions, pluggedType)) {
                     long triggerTime = System.currentTimeMillis() + idleMillis;
-                    Log.d(TAG, "setting ACTION_DEVICE_IDLE timer for " + idleMillis + "ms");
+                    Slog.d(TAG, "setting ACTION_DEVICE_IDLE timer for " + idleMillis + "ms");
                     mAlarmManager.set(AlarmManager.RTC_WAKEUP, triggerTime, mIdleIntent);
                     mPluggedType = pluggedType;
                     return;
@@ -1752,7 +1752,7 @@
     }
 
     private boolean acquireWifiLockLocked(WifiLock wifiLock) {
-        Log.d(TAG, "acquireWifiLockLocked: " + wifiLock);
+        Slog.d(TAG, "acquireWifiLockLocked: " + wifiLock);
 
         mLocks.addLock(wifiLock);
 
@@ -1790,7 +1790,7 @@
 
         WifiLock wifiLock = mLocks.removeLock(lock);
 
-        Log.d(TAG, "releaseWifiLockLocked: " + wifiLock);
+        Slog.d(TAG, "releaseWifiLockLocked: " + wifiLock);
 
         hadLock = (wifiLock != null);
 
@@ -1847,7 +1847,7 @@
         }
 
         public void binderDied() {
-            Log.e(TAG, "Multicaster binderDied");
+            Slog.e(TAG, "Multicaster binderDied");
             synchronized (mMulticasters) {
                 int i = mMulticasters.indexOf(this);
                 if (i != -1) {
diff --git a/services/java/com/android/server/WifiWatchdogService.java b/services/java/com/android/server/WifiWatchdogService.java
index f2347ed..e50b317 100644
--- a/services/java/com/android/server/WifiWatchdogService.java
+++ b/services/java/com/android/server/WifiWatchdogService.java
@@ -34,7 +34,7 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.Config;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.IOException;
 import java.net.DatagramPacket;
@@ -281,7 +281,7 @@
                     // Wait for the handler to be set by the other thread
                     wait();
                 } catch (InterruptedException e) {
-                    Log.e(TAG, "Interrupted while waiting on handler.");
+                    Slog.e(TAG, "Interrupted while waiting on handler.");
                 }
             }
         }
@@ -293,11 +293,11 @@
      * Logs with the current thread.
      */
     private static void myLogV(String message) {
-        Log.v(TAG, "(" + Thread.currentThread().getName() + ") " + message);
+        Slog.v(TAG, "(" + Thread.currentThread().getName() + ") " + message);
     }
     
     private static void myLogD(String message) {
-        Log.d(TAG, "(" + Thread.currentThread().getName() + ") " + message);
+        Slog.d(TAG, "(" + Thread.currentThread().getName() + ") " + message);
     }
     
     /**
@@ -364,7 +364,7 @@
             }
             
             if (V) {
-                Log.v(TAG, (dnsAlive ? "  +" : "  Ignored: -"));
+                Slog.v(TAG, (dnsAlive ? "  +" : "  Ignored: -"));
             }
 
             if (shouldCancel()) return false;
@@ -372,7 +372,7 @@
             try {
                 Thread.sleep(pingDelay);
             } catch (InterruptedException e) {
-                Log.w(TAG, "Interrupted while pausing between pings", e);
+                Slog.w(TAG, "Interrupted while pausing between pings", e);
             }
         }
         
@@ -383,11 +383,11 @@
             if (DnsPinger.isDnsReachable(dns, getPingTimeoutMs())) {
                 successCounter++;
                 if (V) {
-                    Log.v(TAG, "  +");
+                    Slog.v(TAG, "  +");
                 }
             } else {
                 if (V) {
-                    Log.v(TAG, "  -");
+                    Slog.v(TAG, "  -");
                 }
             }
 
@@ -396,13 +396,13 @@
             try {
                 Thread.sleep(pingDelay);
             } catch (InterruptedException e) {
-                Log.w(TAG, "Interrupted while pausing between pings", e);
+                Slog.w(TAG, "Interrupted while pausing between pings", e);
             }
         }
         
         int packetLossPercentage = 100 * (numPings - successCounter) / numPings;
         if (D) {
-            Log.d(TAG, packetLossPercentage
+            Slog.d(TAG, packetLossPercentage
                     + "% packet loss (acceptable is " + acceptableLoss + "%)");
         }
         
@@ -544,7 +544,7 @@
             if (ssid == null) {
                 // It's still null, give up
                 if (V) {
-                    Log.v(TAG, "  Invalid SSID, returning false");
+                    Slog.v(TAG, "  Invalid SSID, returning false");
                 }
                 return false;
             }
@@ -559,7 +559,7 @@
             if (TextUtils.isEmpty(bssid)) {
                 // It's still null, give up
                 if (V) {
-                    Log.v(TAG, "  Invalid BSSID, returning false");
+                    Slog.v(TAG, "  Invalid BSSID, returning false");
                 }
                 return false;
             }
@@ -567,7 +567,7 @@
 
         if (!isOnWatchList(ssid)) {
             if (V) {
-                Log.v(TAG, "  SSID not on watch list, returning false");
+                Slog.v(TAG, "  SSID not on watch list, returning false");
             }
             return false;
         }
@@ -667,7 +667,7 @@
         // Make sure we are not sleeping
         if (mState == WatchdogState.SLEEP) {
             if (V) {
-                Log.v(TAG, "  Sleeping (in " + mSsid + "), so returning");
+                Slog.v(TAG, "  Sleeping (in " + mSsid + "), so returning");
             }
             return;
         }
@@ -681,7 +681,7 @@
         mNumApsChecked++;
         if (mNumApsChecked > getMaxApChecks()) {
             if (V) {
-                Log.v(TAG, "  Passed the max attempts (" + getMaxApChecks()
+                Slog.v(TAG, "  Passed the max attempts (" + getMaxApChecks()
                         + "), going to sleep for " + mSsid);
             }
             mHandler.sleep(mSsid);
@@ -692,7 +692,7 @@
         boolean isApAlive = checkDnsConnectivity();
         
         if (V) {
-            Log.v(TAG, "  Is it alive: " + isApAlive);
+            Slog.v(TAG, "  Is it alive: " + isApAlive);
         }
 
         // Take action based on results
@@ -753,7 +753,7 @@
         
         if (!mWifiStateTracker.addToBlacklist(bssid)) {
             // There's a known bug where this method returns failure on success
-            //Log.e(TAG, "Blacklisting " + bssid + " failed");
+            //Slog.e(TAG, "Blacklisting " + bssid + " failed");
         }
 
         if (D) {
@@ -780,7 +780,7 @@
         // Make sure we are not sleeping
         if (mState == WatchdogState.SLEEP) {
             if (V) {
-                Log.v(TAG, "  handleBackgroundCheckAp: Sleeping (in " + mSsid + "), so returning");
+                Slog.v(TAG, "  handleBackgroundCheckAp: Sleeping (in " + mSsid + "), so returning");
             }
             return;
         }
@@ -807,7 +807,7 @@
         boolean isApAlive = backgroundCheckDnsConnectivity();
         
         if (V && !isApAlive) {
-            Log.v(TAG, "  handleBackgroundCheckAp: Is it alive: " + isApAlive);
+            Slog.v(TAG, "  handleBackgroundCheckAp: Is it alive: " + isApAlive);
         }
 
         if (shouldCancel()) {
@@ -851,7 +851,7 @@
              */
             if (!mWifiStateTracker.clearBlacklist()) {
                 // There's a known bug where this method returns failure on success
-                //Log.e(TAG, "Clearing blacklist failed");
+                //Slog.e(TAG, "Clearing blacklist failed");
             }
             
             if (V) {
@@ -895,7 +895,7 @@
         
         // If we're sleeping, don't do anything
         if (mState == WatchdogState.SLEEP) {
-            Log.v(TAG, "  Sleeping (in " + mSsid + "), so returning");
+            Slog.v(TAG, "  Sleeping (in " + mSsid + "), so returning");
             return;
         }
         
@@ -903,7 +903,7 @@
         setIdleState(false);
         
         if (V) {
-            Log.v(TAG, "  Set state to IDLE");
+            Slog.v(TAG, "  Set state to IDLE");
         }
     }
     
@@ -1245,13 +1245,13 @@
                 
             } catch (SocketException e) {
                 if (V) {
-                    Log.v(TAG, "DnsPinger.isReachable received SocketException", e);
+                    Slog.v(TAG, "DnsPinger.isReachable received SocketException", e);
                 }
                 return false;
                 
             } catch (UnknownHostException e) {
                 if (V) {
-                    Log.v(TAG, "DnsPinger.isReachable is unable to resolve the DNS host", e);
+                    Slog.v(TAG, "DnsPinger.isReachable is unable to resolve the DNS host", e);
                 }
                 return false;
 
@@ -1260,13 +1260,13 @@
                 
             } catch (IOException e) {
                 if (V) {
-                    Log.v(TAG, "DnsPinger.isReachable got an IOException", e);
+                    Slog.v(TAG, "DnsPinger.isReachable got an IOException", e);
                 }
                 return false;
                 
             } catch (Exception e) {
                 if (V || Config.LOGD) {
-                    Log.d(TAG, "DnsPinger.isReachable got an unknown exception", e);
+                    Slog.d(TAG, "DnsPinger.isReachable got an unknown exception", e);
                 }
                 return false;
             }
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index a481036..a75e05d 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -84,7 +84,7 @@
 import android.provider.Settings;
 import android.util.DisplayMetrics;
 import android.util.EventLog;
-import android.util.Log;
+import android.util.Slog;
 import android.util.SparseIntArray;
 import android.view.Display;
 import android.view.Gravity;
@@ -555,7 +555,7 @@
         public void run() {
             Looper.prepare();
             //Looper.myLooper().setMessageLogging(new LogPrinter(
-            //        Log.VERBOSE, "WindowManagerPolicy"));
+            //        Log.VERBOSE, "WindowManagerPolicy", Log.LOG_ID_SYSTEM));
             android.os.Process.setThreadPriority(
                     android.os.Process.THREAD_PRIORITY_FOREGROUND);
             mPolicy.init(mContext, mService, mPM);
@@ -638,7 +638,7 @@
             // The window manager only throws security exceptions, so let's
             // log all others.
             if (!(e instanceof SecurityException)) {
-                Log.e(TAG, "Window Manager Crash", e);
+                Slog.e(TAG, "Window Manager Crash", e);
             }
             throw e;
         }
@@ -646,7 +646,7 @@
 
     private void placeWindowAfter(Object pos, WindowState window) {
         final int i = mWindows.indexOf(pos);
-        if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT) Log.v(
+        if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT) Slog.v(
             TAG, "Adding window " + window + " at "
             + (i+1) + " of " + mWindows.size() + " (after " + pos + ")");
         mWindows.add(i+1, window);
@@ -654,7 +654,7 @@
 
     private void placeWindowBefore(Object pos, WindowState window) {
         final int i = mWindows.indexOf(pos);
-        if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT) Log.v(
+        if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT) Slog.v(
             TAG, "Adding window " + window + " at "
             + i + " of " + mWindows.size() + " (before " + pos + ")");
         mWindows.add(i, window);
@@ -711,7 +711,7 @@
                                 //apptoken note that the window could be a floating window
                                 //that was created later or a window at the top of the list of
                                 //windows associated with this token.
-                                if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT) Log.v(
+                                if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT) Slog.v(
                                         TAG, "Adding window " + win + " at "
                                         + (newIdx+1) + " of " + N);
                                 localmWindows.add(newIdx+1, win);
@@ -719,7 +719,7 @@
                         }
                     }
                 } else {
-                    if (localLOGV) Log.v(
+                    if (localLOGV) Slog.v(
                         TAG, "Figuring out where to add app window "
                         + client.asBinder() + " (token=" + token + ")");
                     // Figure out where the window should go, based on the
@@ -793,7 +793,7 @@
                                     break;
                                 }
                             }
-                            if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT) Log.v(
+                            if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT) Slog.v(
                                     TAG, "Adding window " + win + " at "
                                     + i + " of " + N);
                             localmWindows.add(i, win);
@@ -810,7 +810,7 @@
                     }
                 }
                 if (i < 0) i = 0;
-                if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT) Log.v(
+                if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT) Slog.v(
                         TAG, "Adding window " + win + " at "
                         + i + " of " + N);
                 localmWindows.add(i, win);
@@ -894,10 +894,10 @@
             i--;
             w = (WindowState)localmWindows.get(i);
 
-            //Log.i(TAG, "Checking window @" + i + " " + w + " fl=0x"
+            //Slog.i(TAG, "Checking window @" + i + " " + w + " fl=0x"
             //        + Integer.toHexString(w.mAttrs.flags));
             if (canBeImeTarget(w)) {
-                //Log.i(TAG, "Putting input method here!");
+                //Slog.i(TAG, "Putting input method here!");
 
                 // Yet more tricksyness!  If this window is a "starting"
                 // window, we do actually want to be on top of it, but
@@ -919,7 +919,7 @@
 
         mUpcomingInputMethodTarget = w;
 
-        if (DEBUG_INPUT_METHOD) Log.v(TAG, "Desired input method target="
+        if (DEBUG_INPUT_METHOD) Slog.v(TAG, "Desired input method target="
                 + w + " willMove=" + willMove);
 
         if (willMove && w != null) {
@@ -953,7 +953,7 @@
                 }
 
                 if (highestTarget != null) {
-                    if (DEBUG_INPUT_METHOD) Log.v(TAG, "mNextAppTransition="
+                    if (DEBUG_INPUT_METHOD) Slog.v(TAG, "mNextAppTransition="
                             + mNextAppTransition + " " + highestTarget
                             + " animating=" + highestTarget.isAnimating()
                             + " layer=" + highestTarget.mAnimLayer
@@ -978,12 +978,12 @@
             }
         }
 
-        //Log.i(TAG, "Placing input method @" + (i+1));
+        //Slog.i(TAG, "Placing input method @" + (i+1));
         if (w != null) {
             if (willMove) {
                 RuntimeException e = new RuntimeException();
                 if (!HIDE_STACK_CRAWLS) e.fillInStackTrace();
-                if (DEBUG_INPUT_METHOD) Log.w(TAG, "Moving IM target from "
+                if (DEBUG_INPUT_METHOD) Slog.w(TAG, "Moving IM target from "
                         + mInputMethodTarget + " to " + w, e);
                 mInputMethodTarget = w;
                 if (w.mAppToken != null) {
@@ -997,7 +997,7 @@
         if (willMove) {
             RuntimeException e = new RuntimeException();
             if (!HIDE_STACK_CRAWLS) e.fillInStackTrace();
-            if (DEBUG_INPUT_METHOD) Log.w(TAG, "Moving IM target from "
+            if (DEBUG_INPUT_METHOD) Slog.w(TAG, "Moving IM target from "
                     + mInputMethodTarget + " to null", e);
             mInputMethodTarget = null;
             setInputMethodAnimLayerAdjustment(0);
@@ -1009,7 +1009,7 @@
         int pos = findDesiredInputMethodWindowIndexLocked(true);
         if (pos >= 0) {
             win.mTargetAppToken = mInputMethodTarget.mAppToken;
-            if (DEBUG_WINDOW_MOVEMENT) Log.v(
+            if (DEBUG_WINDOW_MOVEMENT) Slog.v(
                     TAG, "Adding input method window " + win + " at " + pos);
             mWindows.add(pos, win);
             moveInputMethodDialogsLocked(pos+1);
@@ -1021,19 +1021,19 @@
     }
 
     void setInputMethodAnimLayerAdjustment(int adj) {
-        if (DEBUG_LAYERS) Log.v(TAG, "Setting im layer adj to " + adj);
+        if (DEBUG_LAYERS) Slog.v(TAG, "Setting im layer adj to " + adj);
         mInputMethodAnimLayerAdjustment = adj;
         WindowState imw = mInputMethodWindow;
         if (imw != null) {
             imw.mAnimLayer = imw.mLayer + adj;
-            if (DEBUG_LAYERS) Log.v(TAG, "IM win " + imw
+            if (DEBUG_LAYERS) Slog.v(TAG, "IM win " + imw
                     + " anim layer: " + imw.mAnimLayer);
             int wi = imw.mChildWindows.size();
             while (wi > 0) {
                 wi--;
                 WindowState cw = (WindowState)imw.mChildWindows.get(wi);
                 cw.mAnimLayer = cw.mLayer + adj;
-                if (DEBUG_LAYERS) Log.v(TAG, "IM win " + cw
+                if (DEBUG_LAYERS) Slog.v(TAG, "IM win " + cw
                         + " anim layer: " + cw.mAnimLayer);
             }
         }
@@ -1042,7 +1042,7 @@
             di --;
             imw = mInputMethodDialogs.get(di);
             imw.mAnimLayer = imw.mLayer + adj;
-            if (DEBUG_LAYERS) Log.v(TAG, "IM win " + imw
+            if (DEBUG_LAYERS) Slog.v(TAG, "IM win " + imw
                     + " anim layer: " + imw.mAnimLayer);
         }
     }
@@ -1051,7 +1051,7 @@
         int wpos = mWindows.indexOf(win);
         if (wpos >= 0) {
             if (wpos < interestingPos) interestingPos--;
-            if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG, "Temp removing at " + wpos + ": " + win);
+            if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG, "Temp removing at " + wpos + ": " + win);
             mWindows.remove(wpos);
             int NC = win.mChildWindows.size();
             while (NC > 0) {
@@ -1060,7 +1060,7 @@
                 int cpos = mWindows.indexOf(cw);
                 if (cpos >= 0) {
                     if (cpos < interestingPos) interestingPos--;
-                    if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG, "Temp removing child at "
+                    if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG, "Temp removing child at "
                             + cpos + ": " + cw);
                     mWindows.remove(cpos);
                 }
@@ -1076,7 +1076,7 @@
         // this case should be rare, so it shouldn't be that big a deal.
         int wpos = mWindows.indexOf(win);
         if (wpos >= 0) {
-            if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG, "ReAdd removing from " + wpos
+            if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG, "ReAdd removing from " + wpos
                     + ": " + win);
             mWindows.remove(wpos);
             reAddWindowLocked(wpos, win);
@@ -1087,7 +1087,7 @@
         int N = mWindows.size();
         while (N > 0) {
             N--;
-            Log.v(TAG, prefix + "#" + N + ": " + mWindows.get(N));
+            Slog.v(TAG, prefix + "#" + N + ": " + mWindows.get(N));
         }
     }
 
@@ -1095,12 +1095,12 @@
         ArrayList<WindowState> dialogs = mInputMethodDialogs;
 
         final int N = dialogs.size();
-        if (DEBUG_INPUT_METHOD) Log.v(TAG, "Removing " + N + " dialogs w/pos=" + pos);
+        if (DEBUG_INPUT_METHOD) Slog.v(TAG, "Removing " + N + " dialogs w/pos=" + pos);
         for (int i=0; i<N; i++) {
             pos = tmpRemoveWindowLocked(pos, dialogs.get(i));
         }
         if (DEBUG_INPUT_METHOD) {
-            Log.v(TAG, "Window list w/pos=" + pos);
+            Slog.v(TAG, "Window list w/pos=" + pos);
             logWindowList("  ");
         }
 
@@ -1112,14 +1112,14 @@
                     pos++;
                 }
             }
-            if (DEBUG_INPUT_METHOD) Log.v(TAG, "Adding " + N + " dialogs at pos=" + pos);
+            if (DEBUG_INPUT_METHOD) Slog.v(TAG, "Adding " + N + " dialogs at pos=" + pos);
             for (int i=0; i<N; i++) {
                 WindowState win = dialogs.get(i);
                 win.mTargetAppToken = targetAppToken;
                 pos = reAddWindowLocked(pos, win);
             }
             if (DEBUG_INPUT_METHOD) {
-                Log.v(TAG, "Final window list:");
+                Slog.v(TAG, "Final window list:");
                 logWindowList("  ");
             }
             return;
@@ -1129,7 +1129,7 @@
             win.mTargetAppToken = null;
             reAddWindowToListInOrderLocked(win);
             if (DEBUG_INPUT_METHOD) {
-                Log.v(TAG, "No IM target, final list:");
+                Slog.v(TAG, "No IM target, final list:");
                 logWindowList("  ");
             }
         }
@@ -1188,18 +1188,18 @@
 
             if (imWin != null) {
                 if (DEBUG_INPUT_METHOD) {
-                    Log.v(TAG, "Moving IM from " + imPos);
+                    Slog.v(TAG, "Moving IM from " + imPos);
                     logWindowList("  ");
                 }
                 imPos = tmpRemoveWindowLocked(imPos, imWin);
                 if (DEBUG_INPUT_METHOD) {
-                    Log.v(TAG, "List after moving with new pos " + imPos + ":");
+                    Slog.v(TAG, "List after moving with new pos " + imPos + ":");
                     logWindowList("  ");
                 }
                 imWin.mTargetAppToken = mInputMethodTarget.mAppToken;
                 reAddWindowLocked(imPos, imWin);
                 if (DEBUG_INPUT_METHOD) {
-                    Log.v(TAG, "List after moving IM to " + imPos + ":");
+                    Slog.v(TAG, "List after moving IM to " + imPos + ":");
                     logWindowList("  ");
                 }
                 if (DN > 0) moveInputMethodDialogsLocked(imPos+1);
@@ -1212,12 +1212,12 @@
             // because they aren't currently associated with a focus window.
 
             if (imWin != null) {
-                if (DEBUG_INPUT_METHOD) Log.v(TAG, "Moving IM from " + imPos);
+                if (DEBUG_INPUT_METHOD) Slog.v(TAG, "Moving IM from " + imPos);
                 tmpRemoveWindowLocked(0, imWin);
                 imWin.mTargetAppToken = null;
                 reAddWindowToListInOrderLocked(imWin);
                 if (DEBUG_INPUT_METHOD) {
-                    Log.v(TAG, "List with no IM target:");
+                    Slog.v(TAG, "List with no IM target:");
                     logWindowList("  ");
                 }
                 if (DN > 0) moveInputMethodDialogsLocked(-1);;
@@ -1239,7 +1239,7 @@
     }
 
     final boolean isWallpaperVisible(WindowState wallpaperTarget) {
-        if (DEBUG_WALLPAPER) Log.v(TAG, "Wallpaper vis: target obscured="
+        if (DEBUG_WALLPAPER) Slog.v(TAG, "Wallpaper vis: target obscured="
                 + (wallpaperTarget != null ? Boolean.toString(wallpaperTarget.mObscured) : "??")
                 + " anim=" + ((wallpaperTarget != null && wallpaperTarget.mAppToken != null)
                         ? wallpaperTarget.mAppToken.animation : null)
@@ -1286,19 +1286,19 @@
                 // If this window's app token is hidden and not animating,
                 // it is of no interest to us.
                 if (w.mAppToken.hidden && w.mAppToken.animation == null) {
-                    if (DEBUG_WALLPAPER) Log.v(TAG,
+                    if (DEBUG_WALLPAPER) Slog.v(TAG,
                             "Skipping hidden or animating token: " + w);
                     topCurW = null;
                     continue;
                 }
             }
-            if (DEBUG_WALLPAPER) Log.v(TAG, "Win " + w + ": readyfordisplay="
+            if (DEBUG_WALLPAPER) Slog.v(TAG, "Win " + w + ": readyfordisplay="
                     + w.isReadyForDisplay() + " drawpending=" + w.mDrawPending
                     + " commitdrawpending=" + w.mCommitDrawPending);
             if ((w.mAttrs.flags&FLAG_SHOW_WALLPAPER) != 0 && w.isReadyForDisplay()
                     && (mWallpaperTarget == w
                             || (!w.mDrawPending && !w.mCommitDrawPending))) {
-                if (DEBUG_WALLPAPER) Log.v(TAG,
+                if (DEBUG_WALLPAPER) Slog.v(TAG,
                         "Found wallpaper activity: #" + i + "=" + w);
                 foundW = w;
                 foundI = i;
@@ -1308,7 +1308,7 @@
                     // The current wallpaper target is animating, so we'll
                     // look behind it for another possible target and figure
                     // out what is going on below.
-                    if (DEBUG_WALLPAPER) Log.v(TAG, "Win " + w
+                    if (DEBUG_WALLPAPER) Slog.v(TAG, "Win " + w
                             + ": token animating, looking behind.");
                     continue;
                 }
@@ -1326,12 +1326,12 @@
             // enough (we'll just wait until whatever transition is pending
             // executes).
             if (mWallpaperTarget != null && mWallpaperTarget.mAppToken != null) {
-                if (DEBUG_WALLPAPER) Log.v(TAG,
+                if (DEBUG_WALLPAPER) Slog.v(TAG,
                         "Wallpaper not changing: waiting for app anim in current target");
                 return 0;
             }
             if (foundW != null && foundW.mAppToken != null) {
-                if (DEBUG_WALLPAPER) Log.v(TAG,
+                if (DEBUG_WALLPAPER) Slog.v(TAG,
                         "Wallpaper not changing: waiting for app anim in found target");
                 return 0;
             }
@@ -1339,7 +1339,7 @@
 
         if (mWallpaperTarget != foundW) {
             if (DEBUG_WALLPAPER) {
-                Log.v(TAG, "New wallpaper target: " + foundW
+                Slog.v(TAG, "New wallpaper target: " + foundW
                         + " oldTarget: " + mWallpaperTarget);
             }
 
@@ -1357,17 +1357,17 @@
                 boolean foundAnim = foundW.mAnimation != null
                         || (foundW.mAppToken != null && foundW.mAppToken.animation != null);
                 if (DEBUG_WALLPAPER) {
-                    Log.v(TAG, "New animation: " + foundAnim
+                    Slog.v(TAG, "New animation: " + foundAnim
                             + " old animation: " + oldAnim);
                 }
                 if (foundAnim && oldAnim) {
                     int oldI = localmWindows.indexOf(oldW);
                     if (DEBUG_WALLPAPER) {
-                        Log.v(TAG, "New i: " + foundI + " old i: " + oldI);
+                        Slog.v(TAG, "New i: " + foundI + " old i: " + oldI);
                     }
                     if (oldI >= 0) {
                         if (DEBUG_WALLPAPER) {
-                            Log.v(TAG, "Animating wallpapers: old#" + oldI
+                            Slog.v(TAG, "Animating wallpapers: old#" + oldI
                                     + "=" + oldW + "; new#" + foundI
                                     + "=" + foundW);
                         }
@@ -1375,7 +1375,7 @@
                         // Set the new target correctly.
                         if (foundW.mAppToken != null && foundW.mAppToken.hiddenRequested) {
                             if (DEBUG_WALLPAPER) {
-                                Log.v(TAG, "Old wallpaper still the target.");
+                                Slog.v(TAG, "Old wallpaper still the target.");
                             }
                             mWallpaperTarget = oldW;
                         }
@@ -1386,7 +1386,7 @@
                         if (foundI > oldI) {
                             // The new target is on top of the old one.
                             if (DEBUG_WALLPAPER) {
-                                Log.v(TAG, "Found target above old target.");
+                                Slog.v(TAG, "Found target above old target.");
                             }
                             mUpperWallpaperTarget = foundW;
                             mLowerWallpaperTarget = oldW;
@@ -1395,7 +1395,7 @@
                         } else {
                             // The new target is below the old one.
                             if (DEBUG_WALLPAPER) {
-                                Log.v(TAG, "Found target below old target.");
+                                Slog.v(TAG, "Found target below old target.");
                             }
                             mUpperWallpaperTarget = oldW;
                             mLowerWallpaperTarget = foundW;
@@ -1414,7 +1414,7 @@
                             && mUpperWallpaperTarget.mAppToken.animation != null);
             if (!lowerAnimating || !upperAnimating) {
                 if (DEBUG_WALLPAPER) {
-                    Log.v(TAG, "No longer animating wallpaper targets!");
+                    Slog.v(TAG, "No longer animating wallpaper targets!");
                 }
                 mLowerWallpaperTarget = null;
                 mUpperWallpaperTarget = null;
@@ -1426,7 +1426,7 @@
             // The window is visible to the compositor...  but is it visible
             // to the user?  That is what the wallpaper cares about.
             visible = isWallpaperVisible(foundW);
-            if (DEBUG_WALLPAPER) Log.v(TAG, "Wallpaper visibility: " + visible);
+            if (DEBUG_WALLPAPER) Slog.v(TAG, "Wallpaper visibility: " + visible);
 
             // If the wallpaper target is animating, we may need to copy
             // its layer adjustment.  Only do this if we are not transfering
@@ -1457,7 +1457,7 @@
                 foundI--;
             }
         } else {
-            if (DEBUG_WALLPAPER) Log.v(TAG, "No wallpaper target");
+            if (DEBUG_WALLPAPER) Slog.v(TAG, "No wallpaper target");
         }
 
         if (foundW == null && topCurW != null) {
@@ -1510,7 +1510,7 @@
                 if (wallpaper.mWallpaperVisible != visible) {
                     wallpaper.mWallpaperVisible = visible;
                     try {
-                        if (DEBUG_VISIBILITY || DEBUG_WALLPAPER) Log.v(TAG,
+                        if (DEBUG_VISIBILITY || DEBUG_WALLPAPER) Slog.v(TAG,
                                 "Setting visibility of wallpaper " + wallpaper
                                 + ": " + visible);
                         wallpaper.mClient.dispatchAppVisibility(visible);
@@ -1519,7 +1519,7 @@
                 }
 
                 wallpaper.mAnimLayer = wallpaper.mLayer + mWallpaperAnimLayerAdjustment;
-                if (DEBUG_LAYERS || DEBUG_WALLPAPER) Log.v(TAG, "Wallpaper win "
+                if (DEBUG_LAYERS || DEBUG_WALLPAPER) Slog.v(TAG, "Wallpaper win "
                         + wallpaper + " anim layer: " + wallpaper.mAnimLayer);
 
                 // First, if this window is at the current index, then all
@@ -1536,7 +1536,7 @@
                 // not in the list.
                 int oldIndex = localmWindows.indexOf(wallpaper);
                 if (oldIndex >= 0) {
-                    if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG, "Wallpaper removing at "
+                    if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG, "Wallpaper removing at "
                             + oldIndex + ": " + wallpaper);
                     localmWindows.remove(oldIndex);
                     if (oldIndex < foundI) {
@@ -1545,7 +1545,7 @@
                 }
 
                 // Now stick it in.
-                if (DEBUG_WALLPAPER || DEBUG_WINDOW_MOVEMENT) Log.v(TAG,
+                if (DEBUG_WALLPAPER || DEBUG_WINDOW_MOVEMENT) Slog.v(TAG,
                         "Moving wallpaper " + wallpaper
                         + " from " + oldIndex + " to " + foundI);
 
@@ -1558,7 +1558,7 @@
     }
 
     void setWallpaperAnimLayerAdjustmentLocked(int adj) {
-        if (DEBUG_LAYERS || DEBUG_WALLPAPER) Log.v(TAG,
+        if (DEBUG_LAYERS || DEBUG_WALLPAPER) Slog.v(TAG,
                 "Setting wallpaper layer adj to " + adj);
         mWallpaperAnimLayerAdjustment = adj;
         int curTokenIndex = mWallpaperTokens.size();
@@ -1570,7 +1570,7 @@
                 curWallpaperIndex--;
                 WindowState wallpaper = token.windows.get(curWallpaperIndex);
                 wallpaper.mAnimLayer = wallpaper.mLayer + adj;
-                if (DEBUG_LAYERS || DEBUG_WALLPAPER) Log.v(TAG, "Wallpaper win "
+                if (DEBUG_LAYERS || DEBUG_WALLPAPER) Slog.v(TAG, "Wallpaper win "
                         + wallpaper + " anim layer: " + wallpaper.mAnimLayer);
             }
         }
@@ -1586,7 +1586,7 @@
         int offset = availw > 0 ? -(int)(availw*wpx+.5f) : 0;
         changed = wallpaperWin.mXOffset != offset;
         if (changed) {
-            if (DEBUG_WALLPAPER) Log.v(TAG, "Update wallpaper "
+            if (DEBUG_WALLPAPER) Slog.v(TAG, "Update wallpaper "
                     + wallpaperWin + " x: " + offset);
             wallpaperWin.mXOffset = offset;
         }
@@ -1601,7 +1601,7 @@
         int availh = wallpaperWin.mFrame.bottom-wallpaperWin.mFrame.top-dh;
         offset = availh > 0 ? -(int)(availh*wpy+.5f) : 0;
         if (wallpaperWin.mYOffset != offset) {
-            if (DEBUG_WALLPAPER) Log.v(TAG, "Update wallpaper "
+            if (DEBUG_WALLPAPER) Slog.v(TAG, "Update wallpaper "
                     + wallpaperWin + " y: " + offset);
             changed = true;
             wallpaperWin.mYOffset = offset;
@@ -1614,7 +1614,7 @@
 
         if (rawChanged) {
             try {
-                if (DEBUG_WALLPAPER) Log.v(TAG, "Report new wp offset "
+                if (DEBUG_WALLPAPER) Slog.v(TAG, "Report new wp offset "
                         + wallpaperWin + " x=" + wallpaperWin.mWallpaperX
                         + " y=" + wallpaperWin.mWallpaperY);
                 if (sync) {
@@ -1629,15 +1629,15 @@
                         if ((mLastWallpaperTimeoutTime+WALLPAPER_TIMEOUT_RECOVERY)
                                 < start) {
                             try {
-                                if (DEBUG_WALLPAPER) Log.v(TAG,
+                                if (DEBUG_WALLPAPER) Slog.v(TAG,
                                         "Waiting for offset complete...");
                                 mWindowMap.wait(WALLPAPER_TIMEOUT);
                             } catch (InterruptedException e) {
                             }
-                            if (DEBUG_WALLPAPER) Log.v(TAG, "Offset complete!");
+                            if (DEBUG_WALLPAPER) Slog.v(TAG, "Offset complete!");
                             if ((start+WALLPAPER_TIMEOUT)
                                     < SystemClock.uptimeMillis()) {
-                                Log.i(TAG, "Timeout waiting for wallpaper to offset: "
+                                Slog.i(TAG, "Timeout waiting for wallpaper to offset: "
                                         + wallpaperWin);
                                 mLastWallpaperTimeoutTime = start;
                             }
@@ -1729,7 +1729,7 @@
                 if (wallpaper.mWallpaperVisible != visible) {
                     wallpaper.mWallpaperVisible = visible;
                     try {
-                        if (DEBUG_VISIBILITY || DEBUG_WALLPAPER) Log.v(TAG,
+                        if (DEBUG_VISIBILITY || DEBUG_WALLPAPER) Slog.v(TAG,
                                 "Updating visibility of wallpaper " + wallpaper
                                 + ": " + visible);
                         wallpaper.mClient.dispatchAppVisibility(visible);
@@ -1772,7 +1772,7 @@
                     }
                     wallpaper.mClient.dispatchPointer(ev, eventTime, false);
                 } catch (RemoteException e) {
-                    Log.w(TAG, "Failure sending pointer to wallpaper", e);
+                    Slog.w(TAG, "Failure sending pointer to wallpaper", e);
                 }
             }
         }
@@ -1790,7 +1790,7 @@
         // sending events until the final up.
         if (mSendingPointersToWallpaper) {
             if (skipped) {
-                Log.i(TAG, "Sending skipped pointer to wallpaper!");
+                Slog.i(TAG, "Sending skipped pointer to wallpaper!");
             }
             sendPointerToWallpaperLocked(relWin, pointer, eventTime);
             
@@ -1828,20 +1828,20 @@
             }
 
             if (mWindowMap.containsKey(client.asBinder())) {
-                Log.w(TAG, "Window " + client + " is already added");
+                Slog.w(TAG, "Window " + client + " is already added");
                 return WindowManagerImpl.ADD_DUPLICATE_ADD;
             }
 
             if (attrs.type >= FIRST_SUB_WINDOW && attrs.type <= LAST_SUB_WINDOW) {
                 attachedWindow = windowForClientLocked(null, attrs.token, false);
                 if (attachedWindow == null) {
-                    Log.w(TAG, "Attempted to add window with token that is not a window: "
+                    Slog.w(TAG, "Attempted to add window with token that is not a window: "
                           + attrs.token + ".  Aborting.");
                     return WindowManagerImpl.ADD_BAD_SUBWINDOW_TOKEN;
                 }
                 if (attachedWindow.mAttrs.type >= FIRST_SUB_WINDOW
                         && attachedWindow.mAttrs.type <= LAST_SUB_WINDOW) {
-                    Log.w(TAG, "Attempted to add window with token that is a sub-window: "
+                    Slog.w(TAG, "Attempted to add window with token that is a sub-window: "
                             + attrs.token + ".  Aborting.");
                     return WindowManagerImpl.ADD_BAD_SUBWINDOW_TOKEN;
                 }
@@ -1852,17 +1852,17 @@
             if (token == null) {
                 if (attrs.type >= FIRST_APPLICATION_WINDOW
                         && attrs.type <= LAST_APPLICATION_WINDOW) {
-                    Log.w(TAG, "Attempted to add application window with unknown token "
+                    Slog.w(TAG, "Attempted to add application window with unknown token "
                           + attrs.token + ".  Aborting.");
                     return WindowManagerImpl.ADD_BAD_APP_TOKEN;
                 }
                 if (attrs.type == TYPE_INPUT_METHOD) {
-                    Log.w(TAG, "Attempted to add input method window with unknown token "
+                    Slog.w(TAG, "Attempted to add input method window with unknown token "
                           + attrs.token + ".  Aborting.");
                     return WindowManagerImpl.ADD_BAD_APP_TOKEN;
                 }
                 if (attrs.type == TYPE_WALLPAPER) {
-                    Log.w(TAG, "Attempted to add wallpaper window with unknown token "
+                    Slog.w(TAG, "Attempted to add wallpaper window with unknown token "
                           + attrs.token + ".  Aborting.");
                     return WindowManagerImpl.ADD_BAD_APP_TOKEN;
                 }
@@ -1872,29 +1872,29 @@
                     && attrs.type <= LAST_APPLICATION_WINDOW) {
                 AppWindowToken atoken = token.appWindowToken;
                 if (atoken == null) {
-                    Log.w(TAG, "Attempted to add window with non-application token "
+                    Slog.w(TAG, "Attempted to add window with non-application token "
                           + token + ".  Aborting.");
                     return WindowManagerImpl.ADD_NOT_APP_TOKEN;
                 } else if (atoken.removed) {
-                    Log.w(TAG, "Attempted to add window with exiting application token "
+                    Slog.w(TAG, "Attempted to add window with exiting application token "
                           + token + ".  Aborting.");
                     return WindowManagerImpl.ADD_APP_EXITING;
                 }
                 if (attrs.type == TYPE_APPLICATION_STARTING && atoken.firstWindowDrawn) {
                     // No need for this guy!
-                    if (localLOGV) Log.v(
+                    if (localLOGV) Slog.v(
                             TAG, "**** NO NEED TO START: " + attrs.getTitle());
                     return WindowManagerImpl.ADD_STARTING_NOT_NEEDED;
                 }
             } else if (attrs.type == TYPE_INPUT_METHOD) {
                 if (token.windowType != TYPE_INPUT_METHOD) {
-                    Log.w(TAG, "Attempted to add input method window with bad token "
+                    Slog.w(TAG, "Attempted to add input method window with bad token "
                             + attrs.token + ".  Aborting.");
                       return WindowManagerImpl.ADD_BAD_APP_TOKEN;
                 }
             } else if (attrs.type == TYPE_WALLPAPER) {
                 if (token.windowType != TYPE_WALLPAPER) {
-                    Log.w(TAG, "Attempted to add wallpaper window with bad token "
+                    Slog.w(TAG, "Attempted to add wallpaper window with bad token "
                             + attrs.token + ".  Aborting.");
                       return WindowManagerImpl.ADD_BAD_APP_TOKEN;
                 }
@@ -1905,7 +1905,7 @@
             if (win.mDeathRecipient == null) {
                 // Client has apparently died, so there is no reason to
                 // continue.
-                Log.w(TAG, "Adding window client " + client.asBinder()
+                Slog.w(TAG, "Adding window client " + client.asBinder()
                         + " that is dead, aborting.");
                 return WindowManagerImpl.ADD_APP_EXITING;
             }
@@ -1990,7 +1990,7 @@
                     mKeyWaiter.handleNewWindowLocked(mCurrentFocus);
                 }
             }
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "New client " + client.asBinder()
                 + ": window=" + win);
             
@@ -2024,7 +2024,7 @@
 
     public void removeWindowLocked(Session session, WindowState win) {
 
-        if (localLOGV || DEBUG_FOCUS) Log.v(
+        if (localLOGV || DEBUG_FOCUS) Slog.v(
             TAG, "Remove " + win + " client="
             + Integer.toHexString(System.identityHashCode(
                 win.mClient.asBinder()))
@@ -2032,7 +2032,7 @@
 
         final long origId = Binder.clearCallingIdentity();
 
-        if (DEBUG_APP_TRANSITIONS) Log.v(
+        if (DEBUG_APP_TRANSITIONS) Slog.v(
                 TAG, "Remove " + win + ": mSurface=" + win.mSurface
                 + " mExiting=" + win.mExiting
                 + " isAnimating=" + win.isAnimating()
@@ -2063,7 +2063,7 @@
             }
             if (win.mExiting || win.isAnimating()) {
                 // The exit animation is running... wait for it!
-                //Log.i(TAG, "*** Running exit animation...");
+                //Slog.i(TAG, "*** Running exit animation...");
                 win.mExiting = true;
                 win.mRemoveOnExit = true;
                 mLayoutNeeded = true;
@@ -2105,7 +2105,7 @@
         if (false) {
             RuntimeException e = new RuntimeException("here");
             e.fillInStackTrace();
-            Log.w(TAG, "Removing window " + win, e);
+            Slog.w(TAG, "Removing window " + win, e);
         }
 
         mPolicy.removeWindowLw(win);
@@ -2113,7 +2113,7 @@
 
         mWindowMap.remove(win.mClient.asBinder());
         mWindows.remove(win);
-        if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG, "Final remove of window: " + win);
+        if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG, "Final remove of window: " + win);
 
         if (mInputMethodWindow == win) {
             mInputMethodWindow = null;
@@ -2127,7 +2127,7 @@
         if (atoken != null) {
             atoken.allAppWindows.remove(win);
         }
-        if (localLOGV) Log.v(
+        if (localLOGV) Slog.v(
                 TAG, "**** Removing window " + win + ": count="
                 + token.windows.size());
         if (token.windows.size() == 0) {
@@ -2150,7 +2150,7 @@
                 // If this is the last window except for a starting transition
                 // window, we need to get rid of the starting transition.
                 if (DEBUG_STARTING_WINDOW) {
-                    Log.v(TAG, "Schedule remove starting " + token
+                    Slog.v(TAG, "Schedule remove starting " + token
                             + ": no more real windows");
                 }
                 Message m = mH.obtainMessage(H.REMOVE_STARTING, atoken);
@@ -2181,15 +2181,15 @@
             synchronized (mWindowMap) {
                 WindowState w = windowForClientLocked(session, client, false);
                 if ((w != null) && (w.mSurface != null)) {
-                    if (SHOW_TRANSACTIONS) Log.i(TAG, ">>> OPEN TRANSACTION");
+                    if (SHOW_TRANSACTIONS) Slog.i(TAG, ">>> OPEN TRANSACTION");
                     Surface.openTransaction();
                     try {
-                        if (SHOW_TRANSACTIONS) Log.i(
+                        if (SHOW_TRANSACTIONS) Slog.i(
                                 TAG, "  SURFACE " + w.mSurface
                                 + ": transparentRegionHint=" + region);
                         w.mSurface.setTransparentRegionHint(region);
                     } finally {
-                        if (SHOW_TRANSACTIONS) Log.i(TAG, "<<< CLOSE TRANSACTION");
+                        if (SHOW_TRANSACTIONS) Slog.i(TAG, "<<< CLOSE TRANSACTION");
                         Surface.closeTransaction();
                     }
                 }
@@ -2315,7 +2315,7 @@
                 attrChanges = win.mAttrs.copyFrom(attrs);
             }
 
-            if (DEBUG_LAYOUT) Log.v(TAG, "Relayout " + win + ": " + win.mAttrs);
+            if (DEBUG_LAYOUT) Slog.v(TAG, "Relayout " + win + ": " + win.mAttrs);
 
             if ((attrChanges & WindowManager.LayoutParams.ALPHA_CHANGED) != 0) {
                 win.mAlpha = attrs.alpha;
@@ -2383,7 +2383,7 @@
                         outSurface.copyFrom(surface);
                         win.mReportDestroySurface = false;
                         win.mSurfacePendingDestroy = false;
-                        if (SHOW_TRANSACTIONS) Log.i(TAG,
+                        if (SHOW_TRANSACTIONS) Slog.i(TAG,
                                 "  OUT SURFACE " + outSurface + ": copied");
                     } else {
                         // For some reason there isn't a surface.  Clear the
@@ -2391,7 +2391,7 @@
                         outSurface.release();
                     }
                 } catch (Exception e) {
-                    Log.w(TAG, "Exception thrown when creating surface for client "
+                    Slog.w(TAG, "Exception thrown when creating surface for client "
                              + client + " (" + win.mAttrs.getTitle() + ")",
                              e);
                     Binder.restoreCallingIdentity(origId);
@@ -2421,7 +2421,7 @@
             } else {
                 win.mEnterAnimationPending = false;
                 if (win.mSurface != null) {
-                    if (DEBUG_VISIBILITY) Log.i(TAG, "Relayout invis " + win
+                    if (DEBUG_VISIBILITY) Slog.i(TAG, "Relayout invis " + win
                             + ": mExiting=" + win.mExiting
                             + " mSurfacePendingDestroy=" + win.mSurfacePendingDestroy);
                     // If we are not currently running the exit animation, we
@@ -2467,9 +2467,9 @@
                     // destroyed at this point.
                     win.mSurfacePendingDestroy = false;
                     outSurface.release();
-                    if (DEBUG_VISIBILITY) Log.i(TAG, "Releasing surface in: " + win);
+                    if (DEBUG_VISIBILITY) Slog.i(TAG, "Releasing surface in: " + win);
                 } else if (win.mSurface != null) {
-                    if (DEBUG_VISIBILITY) Log.i(TAG,
+                    if (DEBUG_VISIBILITY) Slog.i(TAG,
                             "Keeping surface, will report destroy: " + win);
                     win.mReportDestroySurface = true;
                     outSurface.copyFrom(win.mSurface);
@@ -2521,7 +2521,7 @@
             outFrame.set(win.mFrame);
             outContentInsets.set(win.mContentInsets);
             outVisibleInsets.set(win.mVisibleInsets);
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "Relayout given client " + client.asBinder()
                 + ", requestedWidth=" + requestedWidth
                 + ", requestedHeight=" + requestedHeight
@@ -2529,7 +2529,7 @@
                 + "\nRelayout returning frame=" + outFrame
                 + ", surface=" + outSurface);
 
-            if (localLOGV || DEBUG_FOCUS) Log.v(
+            if (localLOGV || DEBUG_FOCUS) Slog.v(
                 TAG, "Relayout of " + win + ": focusMayChange=" + focusMayChange);
 
             inTouchMode = mInTouchMode;
@@ -2561,7 +2561,7 @@
     }
 
     private AttributeCache.Entry getCachedAnimations(WindowManager.LayoutParams lp) {
-        if (DEBUG_ANIM) Log.v(TAG, "Loading animations: params package="
+        if (DEBUG_ANIM) Slog.v(TAG, "Loading animations: params package="
                 + (lp != null ? lp.packageName : null)
                 + " resId=0x" + (lp != null ? Integer.toHexString(lp.windowAnimations) : null));
         if (lp != null && lp.windowAnimations != 0) {
@@ -2573,7 +2573,7 @@
             if ((resId&0xFF000000) == 0x01000000) {
                 packageName = "android";
             }
-            if (DEBUG_ANIM) Log.v(TAG, "Loading animations: picked package="
+            if (DEBUG_ANIM) Slog.v(TAG, "Loading animations: picked package="
                     + packageName);
             return AttributeCache.instance().get(packageName, resId,
                     com.android.internal.R.styleable.WindowAnimation);
@@ -2582,13 +2582,13 @@
     }
 
     private AttributeCache.Entry getCachedAnimations(String packageName, int resId) {
-        if (DEBUG_ANIM) Log.v(TAG, "Loading animations: params package="
+        if (DEBUG_ANIM) Slog.v(TAG, "Loading animations: params package="
                 + packageName + " resId=0x" + Integer.toHexString(resId));
         if (packageName != null) {
             if ((resId&0xFF000000) == 0x01000000) {
                 packageName = "android";
             }
-            if (DEBUG_ANIM) Log.v(TAG, "Loading animations: picked package="
+            if (DEBUG_ANIM) Slog.v(TAG, "Loading animations: picked package="
                     + packageName);
             return AttributeCache.instance().get(packageName, resId,
                     com.android.internal.R.styleable.WindowAnimation);
@@ -2643,7 +2643,7 @@
                     a = loadAnimation(win.mAttrs, attr);
                 }
             }
-            if (DEBUG_ANIM) Log.v(TAG, "applyAnimation: win=" + win
+            if (DEBUG_ANIM) Slog.v(TAG, "applyAnimation: win=" + win
                     + " anim=" + anim + " attr=0x" + Integer.toHexString(attr)
                     + " mAnimation=" + win.mAnimation
                     + " isEntrance=" + isEntrance);
@@ -2651,7 +2651,7 @@
                 if (DEBUG_ANIM) {
                     RuntimeException e = new RuntimeException();
                     if (!HIDE_STACK_CRAWLS) e.fillInStackTrace();
-                    Log.v(TAG, "Loaded animation " + a + " for " + win, e);
+                    Slog.v(TAG, "Loaded animation " + a + " for " + win, e);
                 }
                 win.setAnimation(a);
                 win.mAnimationIsEntrance = isEntrance;
@@ -2705,7 +2705,7 @@
             Animation a;
             if (lp != null && (lp.flags & FLAG_COMPATIBLE_WINDOW) != 0) {
                 a = new FadeInOutAnimation(enter);
-                if (DEBUG_ANIM) Log.v(TAG,
+                if (DEBUG_ANIM) Slog.v(TAG,
                         "applying FadeInOutAnimation for a window in compatibility mode");
             } else if (mNextAppTransitionPackage != null) {
                 a = loadAnimation(mNextAppTransitionPackage, enter ?
@@ -2765,7 +2765,7 @@
                         break;
                 }
                 a = animAttr != 0 ? loadAnimation(lp, animAttr) : null;
-                if (DEBUG_ANIM) Log.v(TAG, "applyAnimation: wtoken=" + wtoken
+                if (DEBUG_ANIM) Slog.v(TAG, "applyAnimation: wtoken=" + wtoken
                         + " anim=" + a
                         + " animAttr=0x" + Integer.toHexString(animAttr)
                         + " transit=" + transit);
@@ -2774,7 +2774,7 @@
                 if (DEBUG_ANIM) {
                     RuntimeException e = new RuntimeException();
                     if (!HIDE_STACK_CRAWLS) e.fillInStackTrace();
-                    Log.v(TAG, "Loaded animation " + a + " for " + wtoken, e);
+                    Slog.v(TAG, "Loaded animation " + a + " for " + wtoken, e);
                 }
                 wtoken.setAnimation(a);
             }
@@ -2799,20 +2799,20 @@
                 continue;
             }
             if (tokens.get(v) != wtoken.token) {
-                Log.w(TAG, "Tokens out of sync: external is " + tokens.get(v)
+                Slog.w(TAG, "Tokens out of sync: external is " + tokens.get(v)
                       + " @ " + v + ", internal is " + wtoken.token + " @ " + m);
             }
             v--;
             m--;
         }
         while (v >= 0) {
-            Log.w(TAG, "External token not found: " + tokens.get(v) + " @ " + v);
+            Slog.w(TAG, "External token not found: " + tokens.get(v) + " @ " + v);
             v--;
         }
         while (m >= 0) {
             AppWindowToken wtoken = mAppTokens.get(m);
             if (!wtoken.removed) {
-                Log.w(TAG, "Invalid internal token: " + wtoken.token + " @ " + m);
+                Slog.w(TAG, "Invalid internal token: " + wtoken.token + " @ " + m);
             }
             m--;
         }
@@ -2832,7 +2832,7 @@
                 + Binder.getCallingPid()
                 + ", uid=" + Binder.getCallingUid()
                 + " requires " + permission;
-        Log.w(TAG, msg);
+        Slog.w(TAG, msg);
         return false;
     }
 
@@ -2853,7 +2853,7 @@
         synchronized(mWindowMap) {
             WindowToken wtoken = mTokenMap.get(token);
             if (wtoken != null) {
-                Log.w(TAG, "Attempted to add existing input method token: " + token);
+                Slog.w(TAG, "Attempted to add existing input method token: " + token);
                 return;
             }
             wtoken = new WindowToken(token, type, true);
@@ -2913,7 +2913,7 @@
                 }
 
             } else {
-                Log.w(TAG, "Attempted to remove non-existing token: " + token);
+                Slog.w(TAG, "Attempted to remove non-existing token: " + token);
             }
         }
         Binder.restoreCallingIdentity(origId);
@@ -2929,7 +2929,7 @@
         synchronized(mWindowMap) {
             AppWindowToken wtoken = findAppWindowToken(token.asBinder());
             if (wtoken != null) {
-                Log.w(TAG, "Attempted to add existing app token: " + token);
+                Slog.w(TAG, "Attempted to add existing app token: " + token);
                 return;
             }
             wtoken = new AppWindowToken(token);
@@ -2937,7 +2937,7 @@
             wtoken.appFullscreen = fullscreen;
             wtoken.requestedOrientation = requestedOrientation;
             mAppTokens.add(addPos, wtoken);
-            if (localLOGV) Log.v(TAG, "Adding new app token: " + wtoken);
+            if (localLOGV) Slog.v(TAG, "Adding new app token: " + wtoken);
             mTokenMap.put(token.asBinder(), wtoken);
             mTokenList.add(wtoken);
 
@@ -2958,7 +2958,7 @@
         synchronized(mWindowMap) {
             AppWindowToken wtoken = findAppWindowToken(token);
             if (wtoken == null) {
-                Log.w(TAG, "Attempted to set group id of non-existing app token: " + token);
+                Slog.w(TAG, "Attempted to set group id of non-existing app token: " + token);
                 return;
             }
             wtoken.groupId = groupId;
@@ -3156,7 +3156,7 @@
         synchronized(mWindowMap) {
             AppWindowToken wtoken = findAppWindowToken(token.asBinder());
             if (wtoken == null) {
-                Log.w(TAG, "Attempted to set orientation of non-existing app token: " + token);
+                Slog.w(TAG, "Attempted to set orientation of non-existing app token: " + token);
                 return;
             }
 
@@ -3184,19 +3184,19 @@
         synchronized(mWindowMap) {
             boolean changed = false;
             if (token == null) {
-                if (DEBUG_FOCUS) Log.v(TAG, "Clearing focused app, was " + mFocusedApp);
+                if (DEBUG_FOCUS) Slog.v(TAG, "Clearing focused app, was " + mFocusedApp);
                 changed = mFocusedApp != null;
                 mFocusedApp = null;
                 mKeyWaiter.tickle();
             } else {
                 AppWindowToken newFocus = findAppWindowToken(token);
                 if (newFocus == null) {
-                    Log.w(TAG, "Attempted to set focus to non-existing app token: " + token);
+                    Slog.w(TAG, "Attempted to set focus to non-existing app token: " + token);
                     return;
                 }
                 changed = mFocusedApp != newFocus;
                 mFocusedApp = newFocus;
-                if (DEBUG_FOCUS) Log.v(TAG, "Set focused app to: " + mFocusedApp);
+                if (DEBUG_FOCUS) Slog.v(TAG, "Set focused app to: " + mFocusedApp);
                 mKeyWaiter.tickle();
             }
 
@@ -3215,7 +3215,7 @@
         }
 
         synchronized(mWindowMap) {
-            if (DEBUG_APP_TRANSITIONS) Log.v(
+            if (DEBUG_APP_TRANSITIONS) Slog.v(
                     TAG, "Prepare app transition: transit=" + transit
                     + " mNextAppTransition=" + mNextAppTransition);
             if (!mDisplayFrozen) {
@@ -3265,7 +3265,7 @@
             if (DEBUG_APP_TRANSITIONS) {
                 RuntimeException e = new RuntimeException("here");
                 e.fillInStackTrace();
-                Log.w(TAG, "Execute app transition: mNextAppTransition="
+                Slog.w(TAG, "Execute app transition: mNextAppTransition="
                         + mNextAppTransition, e);
             }
             if (mNextAppTransition != WindowManagerPolicy.TRANSIT_UNSET) {
@@ -3286,13 +3286,13 @@
         }
 
         synchronized(mWindowMap) {
-            if (DEBUG_STARTING_WINDOW) Log.v(
+            if (DEBUG_STARTING_WINDOW) Slog.v(
                     TAG, "setAppStartingIcon: token=" + token + " pkg=" + pkg
                     + " transferFrom=" + transferFrom);
 
             AppWindowToken wtoken = findAppWindowToken(token);
             if (wtoken == null) {
-                Log.w(TAG, "Attempted to set icon of non-existing app token: " + token);
+                Slog.w(TAG, "Attempted to set icon of non-existing app token: " + token);
                 return;
             }
 
@@ -3318,7 +3318,7 @@
                             // shown immediately without any more transitions.
                             mSkipAppTransitionAnimation = true;
                         }
-                        if (DEBUG_STARTING_WINDOW) Log.v(TAG,
+                        if (DEBUG_STARTING_WINDOW) Slog.v(TAG,
                                 "Moving existing starting from " + ttoken
                                 + " to " + wtoken);
                         final long origId = Binder.clearCallingIdentity();
@@ -3335,7 +3335,7 @@
                         startingWindow.mToken = wtoken;
                         startingWindow.mRootToken = wtoken;
                         startingWindow.mAppToken = wtoken;
-                        if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG,
+                        if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG,
                                 "Removing starting window: " + startingWindow);
                         mWindows.remove(startingWindow);
                         ttoken.windows.remove(startingWindow);
@@ -3380,7 +3380,7 @@
                     } else if (ttoken.startingData != null) {
                         // The previous app was getting ready to show a
                         // starting window, but hasn't yet done so.  Steal it!
-                        if (DEBUG_STARTING_WINDOW) Log.v(TAG,
+                        if (DEBUG_STARTING_WINDOW) Slog.v(TAG,
                                 "Moving pending starting from " + ttoken
                                 + " to " + wtoken);
                         wtoken.startingData = ttoken.startingData;
@@ -3446,7 +3446,7 @@
         synchronized(mWindowMap) {
             wtoken = findAppWindowToken(token);
             if (wtoken == null) {
-                Log.w(TAG, "Attempted to set will be hidden of non-existing app token: " + token);
+                Slog.w(TAG, "Attempted to set will be hidden of non-existing app token: " + token);
                 return;
             }
             wtoken.willBeHidden = true;
@@ -3466,7 +3466,7 @@
         if (wtoken.hidden == visible) {
             final int N = wtoken.allAppWindows.size();
             boolean changed = false;
-            if (DEBUG_APP_TRANSITIONS) Log.v(
+            if (DEBUG_APP_TRANSITIONS) Slog.v(
                 TAG, "Changing app " + wtoken + " hidden=" + wtoken.hidden
                 + " performLayout=" + performLayout);
 
@@ -3493,7 +3493,7 @@
                     delayed = true;
                 }
 
-                //Log.i(TAG, "Window " + win + ": vis=" + win.isVisible());
+                //Slog.i(TAG, "Window " + win + ": vis=" + win.isVisible());
                 //win.dump("  ");
                 if (visible) {
                     if (!win.isVisibleNow()) {
@@ -3528,7 +3528,7 @@
                  }
             }
 
-            if (DEBUG_APP_TRANSITIONS) Log.v(TAG, "setTokenVisibilityLocked: " + wtoken
+            if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "setTokenVisibilityLocked: " + wtoken
                       + ": hidden=" + wtoken.hidden + " hiddenRequested="
                       + wtoken.hiddenRequested);
 
@@ -3559,14 +3559,14 @@
         synchronized(mWindowMap) {
             wtoken = findAppWindowToken(token);
             if (wtoken == null) {
-                Log.w(TAG, "Attempted to set visibility of non-existing app token: " + token);
+                Slog.w(TAG, "Attempted to set visibility of non-existing app token: " + token);
                 return;
             }
 
             if (DEBUG_APP_TRANSITIONS || DEBUG_ORIENTATION) {
                 RuntimeException e = new RuntimeException();
                 if (!HIDE_STACK_CRAWLS) e.fillInStackTrace();
-                Log.v(TAG, "setAppVisibility(" + token + ", " + visible
+                Slog.v(TAG, "setAppVisibility(" + token + ", " + visible
                         + "): mNextAppTransition=" + mNextAppTransition
                         + " hidden=" + wtoken.hidden
                         + " hiddenRequested=" + wtoken.hiddenRequested, e);
@@ -3581,7 +3581,7 @@
                 }
                 wtoken.hiddenRequested = !visible;
 
-                if (DEBUG_APP_TRANSITIONS) Log.v(
+                if (DEBUG_APP_TRANSITIONS) Slog.v(
                         TAG, "Setting dummy animation on: " + wtoken);
                 wtoken.setDummyAnimation();
                 mOpeningApps.remove(wtoken);
@@ -3633,7 +3633,7 @@
     void unsetAppFreezingScreenLocked(AppWindowToken wtoken,
             boolean unfreezeSurfaceNow, boolean force) {
         if (wtoken.freezingScreen) {
-            if (DEBUG_ORIENTATION) Log.v(TAG, "Clear freezing of " + wtoken
+            if (DEBUG_ORIENTATION) Slog.v(TAG, "Clear freezing of " + wtoken
                     + " force=" + force);
             final int N = wtoken.allAppWindows.size();
             boolean unfrozeWindows = false;
@@ -3648,7 +3648,7 @@
                 }
             }
             if (force || unfrozeWindows) {
-                if (DEBUG_ORIENTATION) Log.v(TAG, "No longer freezing: " + wtoken);
+                if (DEBUG_ORIENTATION) Slog.v(TAG, "No longer freezing: " + wtoken);
                 wtoken.freezingScreen = false;
                 mAppsFreezingScreen--;
             }
@@ -3667,7 +3667,7 @@
         if (DEBUG_ORIENTATION) {
             RuntimeException e = new RuntimeException();
             if (!HIDE_STACK_CRAWLS) e.fillInStackTrace();
-            Log.i(TAG, "Set freezing of " + wtoken.appToken
+            Slog.i(TAG, "Set freezing of " + wtoken.appToken
                     + ": hidden=" + wtoken.hidden + " freezing="
                     + wtoken.freezingScreen, e);
         }
@@ -3698,13 +3698,13 @@
 
         synchronized(mWindowMap) {
             if (configChanges == 0 && !mDisplayFrozen) {
-                if (DEBUG_ORIENTATION) Log.v(TAG, "Skipping set freeze of " + token);
+                if (DEBUG_ORIENTATION) Slog.v(TAG, "Skipping set freeze of " + token);
                 return;
             }
 
             AppWindowToken wtoken = findAppWindowToken(token);
             if (wtoken == null || wtoken.appToken == null) {
-                Log.w(TAG, "Attempted to freeze screen with non-existing app token: " + wtoken);
+                Slog.w(TAG, "Attempted to freeze screen with non-existing app token: " + wtoken);
                 return;
             }
             final long origId = Binder.clearCallingIdentity();
@@ -3725,7 +3725,7 @@
                 return;
             }
             final long origId = Binder.clearCallingIdentity();
-            if (DEBUG_ORIENTATION) Log.v(TAG, "Clear freezing of " + token
+            if (DEBUG_ORIENTATION) Slog.v(TAG, "Clear freezing of " + token
                     + ": hidden=" + wtoken.hidden + " freezing=" + wtoken.freezingScreen);
             unsetAppFreezingScreenLocked(wtoken, true, force);
             Binder.restoreCallingIdentity(origId);
@@ -3747,7 +3747,7 @@
             WindowToken basewtoken = mTokenMap.remove(token);
             mTokenList.remove(basewtoken);
             if (basewtoken != null && (wtoken=basewtoken.appWindowToken) != null) {
-                if (DEBUG_APP_TRANSITIONS) Log.v(TAG, "Removing app token: " + wtoken);
+                if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "Removing app token: " + wtoken);
                 delayed = setTokenVisibilityLocked(wtoken, null, false, WindowManagerPolicy.TRANSIT_UNSET, true);
                 wtoken.inPendingTransaction = false;
                 mOpeningApps.remove(wtoken);
@@ -3759,7 +3759,7 @@
                     wtoken.waitingToHide = true;
                     delayed = true;
                 }
-                if (DEBUG_APP_TRANSITIONS) Log.v(
+                if (DEBUG_APP_TRANSITIONS) Slog.v(
                         TAG, "Removing app " + wtoken + " delayed=" + delayed
                         + " animation=" + wtoken.animation
                         + " animating=" + wtoken.animating);
@@ -3784,13 +3784,13 @@
                 }
                 unsetAppFreezingScreenLocked(wtoken, true, true);
                 if (mFocusedApp == wtoken) {
-                    if (DEBUG_FOCUS) Log.v(TAG, "Removing focused app token:" + wtoken);
+                    if (DEBUG_FOCUS) Slog.v(TAG, "Removing focused app token:" + wtoken);
                     mFocusedApp = null;
                     updateFocusedWindowLocked(UPDATE_FOCUS_NORMAL);
                     mKeyWaiter.tickle();
                 }
             } else {
-                Log.w(TAG, "Attempted to remove non-existing app token: " + token);
+                Slog.w(TAG, "Attempted to remove non-existing app token: " + token);
             }
 
             if (!delayed && wtoken != null) {
@@ -3800,7 +3800,7 @@
         Binder.restoreCallingIdentity(origId);
 
         if (startingToken != null) {
-            if (DEBUG_STARTING_WINDOW) Log.v(TAG, "Schedule remove starting "
+            if (DEBUG_STARTING_WINDOW) Slog.v(TAG, "Schedule remove starting "
                     + startingToken + ": app token removed");
             Message m = mH.obtainMessage(H.REMOVE_STARTING, startingToken);
             mH.sendMessage(m);
@@ -3811,13 +3811,13 @@
         final int NW = token.windows.size();
         for (int i=0; i<NW; i++) {
             WindowState win = token.windows.get(i);
-            if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG, "Tmp removing app window " + win);
+            if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG, "Tmp removing app window " + win);
             mWindows.remove(win);
             int j = win.mChildWindows.size();
             while (j > 0) {
                 j--;
                 WindowState cwin = (WindowState)win.mChildWindows.get(j);
-                if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG,
+                if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG,
                         "Tmp removing child window " + cwin);
                 mWindows.remove(cwin);
             }
@@ -3827,13 +3827,13 @@
 
     void dumpAppTokensLocked() {
         for (int i=mAppTokens.size()-1; i>=0; i--) {
-            Log.v(TAG, "  #" + i + ": " + mAppTokens.get(i).token);
+            Slog.v(TAG, "  #" + i + ": " + mAppTokens.get(i).token);
         }
     }
 
     void dumpWindowsLocked() {
         for (int i=mWindows.size()-1; i>=0; i--) {
-            Log.v(TAG, "  #" + i + ": " + mWindows.get(i));
+            Slog.v(TAG, "  #" + i + ": " + mWindows.get(i));
         }
     }
 
@@ -3855,10 +3855,10 @@
             // Find the first app token below the new position that has
             // a window displayed.
             final AppWindowToken wtoken = mAppTokens.get(tokenPos-1);
-            if (DEBUG_REORDER) Log.v(TAG, "Looking for lower windows @ "
+            if (DEBUG_REORDER) Slog.v(TAG, "Looking for lower windows @ "
                     + tokenPos + " -- " + wtoken.token);
             if (wtoken.sendingToBottom) {
-                if (DEBUG_REORDER) Log.v(TAG,
+                if (DEBUG_REORDER) Slog.v(TAG,
                         "Skipping token -- currently sending to bottom");
                 tokenPos--;
                 continue;
@@ -3874,7 +3874,7 @@
                     if (cwin.mSubLayer >= 0) {
                         for (int pos=NW-1; pos>=0; pos--) {
                             if (mWindows.get(pos) == cwin) {
-                                if (DEBUG_REORDER) Log.v(TAG,
+                                if (DEBUG_REORDER) Slog.v(TAG,
                                         "Found child win @" + (pos+1));
                                 return pos+1;
                             }
@@ -3883,7 +3883,7 @@
                 }
                 for (int pos=NW-1; pos>=0; pos--) {
                     if (mWindows.get(pos) == win) {
-                        if (DEBUG_REORDER) Log.v(TAG, "Found win @" + (pos+1));
+                        if (DEBUG_REORDER) Slog.v(TAG, "Found win @" + (pos+1));
                         return pos+1;
                     }
                 }
@@ -3900,19 +3900,19 @@
         for (int j=0; j<NCW; j++) {
             WindowState cwin = (WindowState)win.mChildWindows.get(j);
             if (!added && cwin.mSubLayer >= 0) {
-                if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG, "Re-adding child window at "
+                if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG, "Re-adding child window at "
                         + index + ": " + cwin);
                 mWindows.add(index, win);
                 index++;
                 added = true;
             }
-            if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG, "Re-adding window at "
+            if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG, "Re-adding window at "
                     + index + ": " + cwin);
             mWindows.add(index, cwin);
             index++;
         }
         if (!added) {
-            if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG, "Re-adding window at "
+            if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG, "Re-adding window at "
                     + index + ": " + win);
             mWindows.add(index, win);
             index++;
@@ -3935,26 +3935,26 @@
         }
 
         synchronized(mWindowMap) {
-            if (DEBUG_REORDER) Log.v(TAG, "Initial app tokens:");
+            if (DEBUG_REORDER) Slog.v(TAG, "Initial app tokens:");
             if (DEBUG_REORDER) dumpAppTokensLocked();
             final AppWindowToken wtoken = findAppWindowToken(token);
             if (wtoken == null || !mAppTokens.remove(wtoken)) {
-                Log.w(TAG, "Attempting to reorder token that doesn't exist: "
+                Slog.w(TAG, "Attempting to reorder token that doesn't exist: "
                       + token + " (" + wtoken + ")");
                 return;
             }
             mAppTokens.add(index, wtoken);
-            if (DEBUG_REORDER) Log.v(TAG, "Moved " + token + " to " + index + ":");
+            if (DEBUG_REORDER) Slog.v(TAG, "Moved " + token + " to " + index + ":");
             if (DEBUG_REORDER) dumpAppTokensLocked();
 
             final long origId = Binder.clearCallingIdentity();
-            if (DEBUG_REORDER) Log.v(TAG, "Removing windows in " + token + ":");
+            if (DEBUG_REORDER) Slog.v(TAG, "Removing windows in " + token + ":");
             if (DEBUG_REORDER) dumpWindowsLocked();
             if (tmpRemoveAppWindowsLocked(wtoken)) {
-                if (DEBUG_REORDER) Log.v(TAG, "Adding windows back in:");
+                if (DEBUG_REORDER) Slog.v(TAG, "Adding windows back in:");
                 if (DEBUG_REORDER) dumpWindowsLocked();
                 reAddAppWindowsLocked(findWindowOffsetLocked(index), wtoken);
-                if (DEBUG_REORDER) Log.v(TAG, "Final window list:");
+                if (DEBUG_REORDER) Slog.v(TAG, "Final window list:");
                 if (DEBUG_REORDER) dumpWindowsLocked();
                 updateFocusedWindowLocked(UPDATE_FOCUS_WILL_PLACE_SURFACES);
                 mLayoutNeeded = true;
@@ -3973,7 +3973,7 @@
             IBinder token = tokens.get(i);
             final AppWindowToken wtoken = findAppWindowToken(token);
             if (!mAppTokens.remove(wtoken)) {
-                Log.w(TAG, "Attempting to reorder token that doesn't exist: "
+                Slog.w(TAG, "Attempting to reorder token that doesn't exist: "
                       + token + " (" + wtoken + ")");
                 i--;
                 N--;
@@ -4355,16 +4355,16 @@
 
             mDisplayEnabled = true;
             if (false) {
-                Log.i(TAG, "ENABLING SCREEN!");
+                Slog.i(TAG, "ENABLING SCREEN!");
                 StringWriter sw = new StringWriter();
                 PrintWriter pw = new PrintWriter(sw);
                 this.dump(null, pw, null);
-                Log.i(TAG, sw.toString());
+                Slog.i(TAG, sw.toString());
             }
             try {
                 IBinder surfaceFlinger = ServiceManager.getService("SurfaceFlinger");
                 if (surfaceFlinger != null) {
-                    //Log.i(TAG, "******* TELLING SURFACE FLINGER WE ARE BOOTED!");
+                    //Slog.i(TAG, "******* TELLING SURFACE FLINGER WE ARE BOOTED!");
                     Parcel data = Parcel.obtain();
                     data.writeInterfaceToken("android.ui.ISurfaceComposer");
                     surfaceFlinger.transact(IBinder.FIRST_CALL_TRANSACTION,
@@ -4372,7 +4372,7 @@
                     data.recycle();
                 }
             } catch (RemoteException ex) {
-                Log.e(TAG, "Boot completed: SurfaceFlinger is dead!");
+                Slog.e(TAG, "Boot completed: SurfaceFlinger is dead!");
             }
         }
 
@@ -4401,7 +4401,7 @@
 
     public void setRotationUnchecked(int rotation,
             boolean alwaysSendConfiguration, int animFlags) {
-        if(DEBUG_ORIENTATION) Log.v(TAG,
+        if(DEBUG_ORIENTATION) Slog.v(TAG,
                 "alwaysSendConfiguration set to "+alwaysSendConfiguration);
 
         long origId = Binder.clearCallingIdentity();
@@ -4433,14 +4433,14 @@
             mRequestedRotation = rotation;
             mLastRotationFlags = animFlags;
         }
-        if (DEBUG_ORIENTATION) Log.v(TAG, "Overwriting rotation value from " + rotation);
+        if (DEBUG_ORIENTATION) Slog.v(TAG, "Overwriting rotation value from " + rotation);
         rotation = mPolicy.rotationForOrientationLw(mForcedAppOrientation,
                 mRotation, mDisplayEnabled);
-        if (DEBUG_ORIENTATION) Log.v(TAG, "new rotation is set to " + rotation);
+        if (DEBUG_ORIENTATION) Slog.v(TAG, "new rotation is set to " + rotation);
         changed = mDisplayEnabled && mRotation != rotation;
 
         if (changed) {
-            if (DEBUG_ORIENTATION) Log.v(TAG,
+            if (DEBUG_ORIENTATION) Slog.v(TAG,
                     "Rotation changed to " + rotation
                     + " from " + mRotation
                     + " (forceApp=" + mForcedAppOrientation
@@ -4453,7 +4453,7 @@
             mWaitingForConfig = true;
             mLayoutNeeded = true;
             startFreezingDisplayLocked();
-            Log.i(TAG, "Setting rotation to " + rotation + ", animFlags=" + animFlags);
+            Slog.i(TAG, "Setting rotation to " + rotation + ", animFlags=" + animFlags);
             mQueue.setOrientation(rotation);
             if (mDisplayEnabled) {
                 Surface.setOrientation(0, rotation, animFlags);
@@ -4537,7 +4537,7 @@
                 try {
                     return mViewServer.start();
                 } catch (IOException e) {
-                    Log.w(TAG, "View server did not start");
+                    Slog.w(TAG, "View server did not start");
                 }
             }
             return false;
@@ -4547,7 +4547,7 @@
             mViewServer = new ViewServer(this, port);
             return mViewServer.start();
         } catch (IOException e) {
-            Log.w(TAG, "View server did not start");
+            Slog.w(TAG, "View server did not start");
         }
         return false;
     }
@@ -4722,7 +4722,7 @@
             reply.readException();
 
         } catch (Exception e) {
-            Log.w(TAG, "Could not send command " + command + " with parameters " + parameters, e);
+            Slog.w(TAG, "Could not send command " + command + " with parameters " + parameters, e);
             success = false;
         } finally {
             if (data != null) {
@@ -4920,7 +4920,7 @@
      * @return Returns true if event was dispatched, false if it was dropped for any reason
      */
     private int dispatchPointer(QueuedEvent qev, MotionEvent ev, int pid, int uid) {
-        if (DEBUG_INPUT || WindowManagerPolicy.WATCH_POINTER) Log.v(TAG,
+        if (DEBUG_INPUT || WindowManagerPolicy.WATCH_POINTER) Slog.v(TAG,
                 "dispatchPointer " + ev);
 
         if (MEASURE_LATENCY) {
@@ -4951,7 +4951,7 @@
             // pointer without actually pressing down.  All other cases should
             // be atypical, so let's log them.
             if (action != MotionEvent.ACTION_MOVE) {
-                Log.w(TAG, "No window to dispatch pointer action " + ev.getAction());
+                Slog.w(TAG, "No window to dispatch pointer action " + ev.getAction());
             }
             synchronized (mWindowMap) {
                 dispatchPointerElsewhereLocked(null, null, ev, ev.getEventTime(), true);
@@ -4978,13 +4978,13 @@
         final long eventTime = ev.getEventTime();
         final long eventTimeNano = ev.getEventTimeNano();
 
-        //Log.i(TAG, "Sending " + ev + " to " + target);
+        //Slog.i(TAG, "Sending " + ev + " to " + target);
 
         if (uid != 0 && uid != target.mSession.mUid) {
             if (mContext.checkPermission(
                     android.Manifest.permission.INJECT_EVENTS, pid, uid)
                     != PackageManager.PERMISSION_GRANTED) {
-                Log.w(TAG, "Permission denied: injecting pointer event from pid "
+                Slog.w(TAG, "Permission denied: injecting pointer event from pid "
                         + pid + " uid " + uid + " to window " + target
                         + " owned by uid " + target.mSession.mUid);
                 if (qev != null) {
@@ -5033,7 +5033,7 @@
                         //an invalid move have to cancel earlier action
                         ev.setAction(MotionEvent.ACTION_CANCEL);
                         action = MotionEvent.ACTION_CANCEL;
-                        if (DEBUG_INPUT) Log.v(TAG, "Sending cancel for invalid ACTION_MOVE");
+                        if (DEBUG_INPUT) Slog.v(TAG, "Sending cancel for invalid ACTION_MOVE");
                         //note that the subsequent invalid moves will not get here
                         mFatTouch = true;
                     }
@@ -5113,7 +5113,7 @@
                             try {
                                 out.mClient.dispatchPointer(oev, eventTime, false);
                             } catch (android.os.RemoteException e) {
-                                Log.i(TAG, "WINDOW DIED during outside motion dispatch: " + out);
+                                Slog.i(TAG, "WINDOW DIED during outside motion dispatch: " + out);
                             }
                             oev.offsetLocation((float)frame.left, (float)frame.top);
                             out = out.mNextOutsideTouch;
@@ -5134,7 +5134,7 @@
         // dispatch the event.
         try {
             if (DEBUG_INPUT || DEBUG_FOCUS || WindowManagerPolicy.WATCH_POINTER) {
-                Log.v(TAG, "Delivering pointer " + qev + " to " + target);
+                Slog.v(TAG, "Delivering pointer " + qev + " to " + target);
             }
 
             if (MEASURE_LATENCY) {
@@ -5148,7 +5148,7 @@
             }
             return INJECT_SUCCEEDED;
         } catch (android.os.RemoteException e) {
-            Log.i(TAG, "WINDOW DIED during motion dispatch: " + target);
+            Slog.i(TAG, "WINDOW DIED during motion dispatch: " + target);
             mKeyWaiter.mMotionTarget = null;
             try {
                 removeWindow(target.mSession, target.mClient);
@@ -5164,13 +5164,13 @@
      * @return Returns true if event was dispatched, false if it was dropped for any reason
      */
     private int dispatchTrackball(QueuedEvent qev, MotionEvent ev, int pid, int uid) {
-        if (DEBUG_INPUT) Log.v(
+        if (DEBUG_INPUT) Slog.v(
                 TAG, "dispatchTrackball [" + ev.getAction() +"] <" + ev.getX() + ", " + ev.getY() + ">");
 
         Object focusObj = mKeyWaiter.waitForNextEventTarget(null, qev,
                 ev, false, false, pid, uid);
         if (focusObj == null) {
-            Log.w(TAG, "No focus window, dropping trackball: " + ev);
+            Slog.w(TAG, "No focus window, dropping trackball: " + ev);
             if (qev != null) {
                 mQueue.recycleEvent(qev);
             }
@@ -5191,7 +5191,7 @@
             if (mContext.checkPermission(
                     android.Manifest.permission.INJECT_EVENTS, pid, uid)
                     != PackageManager.PERMISSION_GRANTED) {
-                Log.w(TAG, "Permission denied: injecting key event from pid "
+                Slog.w(TAG, "Permission denied: injecting key event from pid "
                         + pid + " uid " + uid + " to window " + focus
                         + " owned by uid " + focus.mSession.mUid);
                 if (qev != null) {
@@ -5220,7 +5220,7 @@
             focus.mClient.dispatchTrackball(ev, eventTime, true);
             return INJECT_SUCCEEDED;
         } catch (android.os.RemoteException e) {
-            Log.i(TAG, "WINDOW DIED during key dispatch: " + focus);
+            Slog.i(TAG, "WINDOW DIED during key dispatch: " + focus);
             try {
                 removeWindow(focus.mSession, focus.mClient);
             } catch (java.util.NoSuchElementException ex) {
@@ -5236,12 +5236,12 @@
      * @return Returns true if event was dispatched, false if it was dropped for any reason
      */
     private int dispatchKey(KeyEvent event, int pid, int uid) {
-        if (DEBUG_INPUT) Log.v(TAG, "Dispatch key: " + event);
+        if (DEBUG_INPUT) Slog.v(TAG, "Dispatch key: " + event);
 
         Object focusObj = mKeyWaiter.waitForNextEventTarget(event, null,
                 null, false, false, pid, uid);
         if (focusObj == null) {
-            Log.w(TAG, "No focus window, dropping: " + event);
+            Slog.w(TAG, "No focus window, dropping: " + event);
             return INJECT_FAILED;
         }
         if (focusObj == mKeyWaiter.CONSUMED_EVENT_TOKEN) {
@@ -5260,14 +5260,14 @@
 
         WindowState focus = (WindowState)focusObj;
 
-        if (DEBUG_INPUT) Log.v(
+        if (DEBUG_INPUT) Slog.v(
             TAG, "Dispatching to " + focus + ": " + event);
 
         if (uid != 0 && uid != focus.mSession.mUid) {
             if (mContext.checkPermission(
                     android.Manifest.permission.INJECT_EVENTS, pid, uid)
                     != PackageManager.PERMISSION_GRANTED) {
-                Log.w(TAG, "Permission denied: injecting key event from pid "
+                Slog.w(TAG, "Permission denied: injecting key event from pid "
                         + pid + " uid " + uid + " to window " + focus
                         + " owned by uid " + focus.mSession.mUid);
                 return INJECT_NO_PERMISSION;
@@ -5284,13 +5284,13 @@
 
         try {
             if (DEBUG_INPUT || DEBUG_FOCUS) {
-                Log.v(TAG, "Delivering key " + event.getKeyCode()
+                Slog.v(TAG, "Delivering key " + event.getKeyCode()
                         + " to " + focus);
             }
             focus.mClient.dispatchKey(event);
             return INJECT_SUCCEEDED;
         } catch (android.os.RemoteException e) {
-            Log.i(TAG, "WINDOW DIED during key dispatch: " + focus);
+            Slog.i(TAG, "WINDOW DIED during key dispatch: " + focus);
             try {
                 removeWindow(focus.mSession, focus.mClient);
             } catch (java.util.NoSuchElementException ex) {
@@ -5550,7 +5550,7 @@
                 // it may change before we lock.  Thus we must check it again.
                 WindowState targetWin = mLastWin;
                 boolean targetIsNew = targetWin == null;
-                if (DEBUG_INPUT) Log.v(
+                if (DEBUG_INPUT) Slog.v(
                         TAG, "waitForLastKey: mFinished=" + mFinished +
                         ", mLastWin=" + mLastWin);
                 if (targetIsNew) {
@@ -5559,12 +5559,12 @@
                     if (target == SKIP_TARGET_TOKEN) {
                         // The user has pressed a special key, and we are
                         // dropping all pending events before it.
-                        if (DEBUG_INPUT) Log.v(TAG, "Skipping: " + nextKey
+                        if (DEBUG_INPUT) Slog.v(TAG, "Skipping: " + nextKey
                                 + " " + nextMotion);
                         return null;
                     }
                     if (target == CONSUMED_EVENT_TOKEN) {
-                        if (DEBUG_INPUT) Log.v(TAG, "Consumed: " + nextKey
+                        if (DEBUG_INPUT) Slog.v(TAG, "Consumed: " + nextKey
                                 + " " + nextMotion);
                         return target;
                     }
@@ -5588,7 +5588,7 @@
                         // If event dispatching is disabled, then we
                         // just consume the events.
                         if (!mEventDispatching) {
-                            if (DEBUG_INPUT) Log.v(TAG,
+                            if (DEBUG_INPUT) Slog.v(TAG,
                                     "Skipping event; dispatching disabled: "
                                     + nextKey + " " + nextMotion);
                             return null;
@@ -5604,14 +5604,14 @@
                         // If we didn't find a target window, and there is no
                         // focused app window, then just eat the events.
                         } else if (mFocusedApp == null) {
-                            if (DEBUG_INPUT) Log.v(TAG,
+                            if (DEBUG_INPUT) Slog.v(TAG,
                                     "Skipping event; no focused app: "
                                     + nextKey + " " + nextMotion);
                             return null;
                         }
                     }
 
-                    if (DEBUG_INPUT) Log.v(
+                    if (DEBUG_INPUT) Slog.v(
                             TAG, "Waiting for last key in " + mLastBinder
                             + " target=" + targetWin
                             + " mFinished=" + mFinished
@@ -5644,10 +5644,10 @@
                     try {
                         // after that continue
                         // processing keys, so we don't get stuck.
-                        if (DEBUG_INPUT) Log.v(
+                        if (DEBUG_INPUT) Slog.v(
                                 TAG, "Waiting for key dispatch: " + curTimeout);
                         wait(curTimeout);
-                        if (DEBUG_INPUT) Log.v(TAG, "Finished waiting @"
+                        if (DEBUG_INPUT) Slog.v(TAG, "Finished waiting @"
                                 + SystemClock.uptimeMillis() + " startTime="
                                 + startTime + " switchTime=" + mTimeToSwitch
                                 + " target=" + targetWin + " mLW=" + mLastWin
@@ -5670,12 +5670,12 @@
                 if (waitedFor >= keyDispatchingTimeout && mTimeToSwitch == 0) {
                     IApplicationToken at = null;
                     synchronized (this) {
-                        Log.w(TAG, "Key dispatching timed out sending to " +
+                        Slog.w(TAG, "Key dispatching timed out sending to " +
                               (targetWin != null ? targetWin.mAttrs.getTitle()
                               : "<null>: no window ready for key dispatch"));
                         // NOSHIP debugging
-                        Log.w(TAG, "Previous dispatch state: " + mDispatchState);
-                        Log.w(TAG, "Current dispatch state: " +
+                        Slog.w(TAG, "Previous dispatch state: " + mDispatchState);
+                        Slog.w(TAG, "Current dispatch state: " +
                                 new DispatchState(nextKey, targetWin));
                         // END NOSHIP
                         //dump();
@@ -5706,11 +5706,11 @@
                         if (abort && (mLastWin == targetWin || targetWin == null)) {
                             mFinished = true;
                             if (mLastWin != null) {
-                                if (DEBUG_INPUT) Log.v(TAG,
+                                if (DEBUG_INPUT) Slog.v(TAG,
                                         "Window " + mLastWin +
                                         " timed out on key input");
                                 if (mLastWin.mToken.paused) {
-                                    Log.w(TAG, "Un-pausing dispatching to this window");
+                                    Slog.w(TAG, "Un-pausing dispatching to this window");
                                     mLastWin.mToken.paused = false;
                                 }
                             }
@@ -5723,7 +5723,7 @@
                                 return null;
                             }
                         } else {
-                            Log.w(TAG, "Continuing to wait for key to be dispatched");
+                            Slog.w(TAG, "Continuing to wait for key to be dispatched");
                             startTime = SystemClock.uptimeMillis();
                         }
                     }
@@ -5753,7 +5753,7 @@
                                 nextKey.getMetaState(), down, repeatCount,
                                 nextKey.getFlags());
                     }
-                    Log.w(TAG, "Event timeout during app switch: dropping "
+                    Slog.w(TAG, "Event timeout during app switch: dropping "
                             + nextKey);
                     return SKIP_TARGET_TOKEN;
                 }
@@ -5785,7 +5785,7 @@
             } else if (!isPointerEvent) {
                 boolean dispatch = mKeyWaiter.checkShouldDispatchKey(-1);
                 if (!dispatch) {
-                    Log.w(TAG, "Event timeout during app switch: dropping trackball "
+                    Slog.w(TAG, "Event timeout during app switch: dropping trackball "
                             + nextMotion);
                     return SKIP_TARGET_TOKEN;
                 }
@@ -5806,7 +5806,7 @@
             boolean dispatch = mKeyWaiter.checkShouldDispatchKey(
                     KeyEvent.KEYCODE_UNKNOWN);
             if (!dispatch) {
-                Log.w(TAG, "Event timeout during app switch: dropping pointer "
+                Slog.w(TAG, "Event timeout during app switch: dropping pointer "
                         + nextMotion);
                 return SKIP_TARGET_TOKEN;
             }
@@ -5830,7 +5830,7 @@
                             // already down!
                             // XXX: We should probably send an ACTION_UP to the current
                             // target.
-                            Log.w(TAG, "Pointer down received while already down in: "
+                            Slog.w(TAG, "Pointer down received while already down in: "
                                     + mMotionTarget);
                             mMotionTarget = null;
                         }
@@ -5846,7 +5846,7 @@
                         final Rect tmpRect = mTempRect;
                         for (int i=N-1; i>=0; i--) {
                             WindowState child = (WindowState)windows.get(i);
-                            //Log.i(TAG, "Checking dispatch to: " + child);
+                            //Slog.i(TAG, "Checking dispatch to: " + child);
                             final int flags = child.mAttrs.flags;
                             if ((flags & WindowManager.LayoutParams.FLAG_SYSTEM_ERROR) != 0) {
                                 if (topErrWindow == null) {
@@ -5854,11 +5854,11 @@
                                 }
                             }
                             if (!child.isVisibleLw()) {
-                                //Log.i(TAG, "Not visible!");
+                                //Slog.i(TAG, "Not visible!");
                                 continue;
                             }
                             if ((flags & WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE) != 0) {
-                                //Log.i(TAG, "Not touchable!");
+                                //Slog.i(TAG, "Not touchable!");
                                 if ((flags & WindowManager.LayoutParams
                                         .FLAG_WATCH_OUTSIDE_TOUCH) != 0) {
                                     child.mNextOutsideTouch = mOutsideTouchTargets;
@@ -5890,12 +5890,12 @@
                                 (WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                                 |WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
                             if (tmpRect.contains(x, y) || touchFlags == 0) {
-                                //Log.i(TAG, "Using this target!");
+                                //Slog.i(TAG, "Using this target!");
                                 if (!screenWasOff || (flags &
                                         WindowManager.LayoutParams.FLAG_TOUCHABLE_WHEN_WAKING) != 0) {
                                     mMotionTarget = child;
                                 } else {
-                                    //Log.i(TAG, "Waking, skip!");
+                                    //Slog.i(TAG, "Waking, skip!");
                                     mMotionTarget = null;
                                 }
                                 break;
@@ -5905,7 +5905,7 @@
                                     .FLAG_WATCH_OUTSIDE_TOUCH) != 0) {
                                 child.mNextOutsideTouch = mOutsideTouchTargets;
                                 mOutsideTouchTargets = child;
-                                //Log.i(TAG, "Adding to outside target list: " + child);
+                                //Slog.i(TAG, "Adding to outside target list: " + child);
                             }
                         }
 
@@ -5967,7 +5967,7 @@
                     releasePendingPointerLocked(s);
                     s.mPendingPointerMove = pendingMotion;
                     s.mPendingPointerWindow = win;
-                    if (DEBUG_INPUT) Log.v(TAG,
+                    if (DEBUG_INPUT) Slog.v(TAG,
                             "bindTargetToWindow " + s.mPendingPointerMove);
                 } else if (pendingWhat == RETURN_PENDING_TRACKBALL) {
                     releasePendingTrackballLocked(s);
@@ -5978,7 +5978,7 @@
         }
 
         void releasePendingPointerLocked(Session s) {
-            if (DEBUG_INPUT) Log.v(TAG,
+            if (DEBUG_INPUT) Slog.v(TAG,
                     "releasePendingPointer " + s.mPendingPointerMove);
             if (s.mPendingPointerMove != null) {
                 mQueue.recycleEvent(s.mPendingPointerMove);
@@ -5995,7 +5995,7 @@
 
         MotionEvent finishedKey(Session session, IWindow client, boolean force,
                 int returnWhat) {
-            if (DEBUG_INPUT) Log.v(
+            if (DEBUG_INPUT) Slog.v(
                 TAG, "finishedKey: client=" + client + ", force=" + force);
 
             if (client == null) {
@@ -6007,7 +6007,7 @@
             WindowState win = null;
 
             synchronized (this) {
-                if (DEBUG_INPUT) Log.v(
+                if (DEBUG_INPUT) Slog.v(
                     TAG, "finishedKey: client=" + client.asBinder()
                     + ", force=" + force + ", last=" + mLastBinder
                     + " (token=" + (mLastWin != null ? mLastWin.mToken : null) + ")");
@@ -6025,7 +6025,7 @@
                 }
 
                 if (mLastBinder == client.asBinder()) {
-                    if (DEBUG_INPUT) Log.v(
+                    if (DEBUG_INPUT) Slog.v(
                         TAG, "finishedKey: last paused="
                         + ((mLastWin != null) ? mLastWin.mToken.paused : "null"));
                     if (mLastWin != null && (!mLastWin.mToken.paused || force
@@ -6042,7 +6042,7 @@
 
                 if (qev != null) {
                     res = (MotionEvent)qev.event;
-                    if (DEBUG_INPUT) Log.v(TAG,
+                    if (DEBUG_INPUT) Slog.v(TAG,
                             "Returning pending motion: " + res);
                     mQueue.recycleEvent(qev);
                     if (win != null && returnWhat == RETURN_PENDING_POINTER) {
@@ -6071,7 +6071,7 @@
                 return;
             }
             synchronized (this) {
-                if (DEBUG_INPUT) Log.v(
+                if (DEBUG_INPUT) Slog.v(
                     TAG, "New key dispatch window: win="
                     + newWindow.mClient.asBinder()
                     + ", last=" + mLastBinder
@@ -6087,7 +6087,7 @@
                 mGotFirstWindow = true;
 
                 if ((newWindow.mAttrs.flags & FLAG_SYSTEM_ERROR) != 0) {
-                    if (DEBUG_INPUT) Log.v(TAG,
+                    if (DEBUG_INPUT) Slog.v(TAG,
                             "New SYSTEM_ERROR window; resetting state");
                     mLastWin = null;
                     mLastBinder = null;
@@ -6097,7 +6097,7 @@
                     // If the new window is above the window we are
                     // waiting on, then stop waiting and let key dispatching
                     // start on the new guy.
-                    if (DEBUG_INPUT) Log.v(
+                    if (DEBUG_INPUT) Slog.v(
                         TAG, "Last win layer=" + mLastWin.mLayer
                         + ", new win layer=" + newWindow.mLayer);
                     if (newWindow.mLayer >= mLastWin.mLayer) {
@@ -6118,7 +6118,7 @@
         void pauseDispatchingLocked(WindowToken token) {
             synchronized (this)
             {
-                if (DEBUG_INPUT) Log.v(TAG, "Pausing WindowToken " + token);
+                if (DEBUG_INPUT) Slog.v(TAG, "Pausing WindowToken " + token);
                 token.paused = true;
 
                 /*
@@ -6126,11 +6126,11 @@
                     mPaused = true;
                 } else {
                     if (mLastWin == null) {
-                        Log.i(TAG, "Key dispatching not paused: no last window.");
+                        Slog.i(TAG, "Key dispatching not paused: no last window.");
                     } else if (mFinished) {
-                        Log.i(TAG, "Key dispatching not paused: finished last key.");
+                        Slog.i(TAG, "Key dispatching not paused: finished last key.");
                     } else {
-                        Log.i(TAG, "Key dispatching not paused: window in higher layer.");
+                        Slog.i(TAG, "Key dispatching not paused: window in higher layer.");
                     }
                 }
                 */
@@ -6140,7 +6140,7 @@
         void resumeDispatchingLocked(WindowToken token) {
             synchronized (this) {
                 if (token.paused) {
-                    if (DEBUG_INPUT) Log.v(
+                    if (DEBUG_INPUT) Slog.v(
                         TAG, "Resuming WindowToken " + token
                         + ", last=" + mLastBinder
                         + " (token=" + (mLastWin != null ? mLastWin.mToken : null)
@@ -6168,7 +6168,7 @@
                 // Don't wait for more than .5 seconds for app to finish
                 // processing the pending events.
                 long now = SystemClock.uptimeMillis() + 500;
-                if (DEBUG_INPUT) Log.v(TAG, "appSwitchComing: " + now);
+                if (DEBUG_INPUT) Slog.v(TAG, "appSwitchComing: " + now);
                 if (mTimeToSwitch == 0 || now < mTimeToSwitch) {
                     mTimeToSwitch = now;
                 }
@@ -6268,7 +6268,7 @@
                     if (screenIsOff) {
                         if (!mPolicy.isWakeRelMovementTq(event.deviceId,
                                 device.classes, event)) {
-                            //Log.i(TAG, "dropping because screenIsOff and !isWakeKey");
+                            //Slog.i(TAG, "dropping because screenIsOff and !isWakeKey");
                             return false;
                         }
                         event.flags |= WindowManagerPolicy.FLAG_WOKE_HERE;
@@ -6285,7 +6285,7 @@
                     if (screenIsOff) {
                         if (!mPolicy.isWakeAbsMovementTq(event.deviceId,
                                 device.classes, event)) {
-                            //Log.i(TAG, "dropping because screenIsOff and !isWakeKey");
+                            //Slog.i(TAG, "dropping because screenIsOff and !isWakeKey");
                             return false;
                         }
                         event.flags |= WindowManagerPolicy.FLAG_WOKE_HERE;
@@ -6306,7 +6306,7 @@
                 case RawInputEvent.CLASS_KEYBOARD:
                     KeyEvent ke = (KeyEvent)ev.event;
                     if (mPolicy.isMovementKeyTi(ke.getKeyCode())) {
-                        Log.w(TAG, "Dropping movement key during app switch: "
+                        Slog.w(TAG, "Dropping movement key during app switch: "
                                 + ke.getKeyCode() + ", action=" + ke.getAction());
                         return FILTER_REMOVE;
                     }
@@ -6355,7 +6355,7 @@
                 try {
                     process();
                 } catch (Exception e) {
-                    Log.e(TAG, "Exception in input dispatcher", e);
+                    Slog.e(TAG, "Exception in input dispatcher", e);
                 }
             }
         }
@@ -6381,7 +6381,7 @@
             while (true) {
                 long curTime = SystemClock.uptimeMillis();
 
-                if (DEBUG_INPUT) Log.v(
+                if (DEBUG_INPUT) Slog.v(
                     TAG, "Waiting for next key: now=" + curTime
                     + ", repeat @ " + nextKeyTime);
 
@@ -6393,7 +6393,7 @@
                     (int)((!configChanged && curTime < nextKeyTime)
                             ? (nextKeyTime-curTime) : 0));
 
-                if (DEBUG_INPUT && ev != null) Log.v(
+                if (DEBUG_INPUT && ev != null) Slog.v(
                         TAG, "Event: type=" + ev.classType + " data=" + ev.event);
 
                 if (MEASURE_LATENCY) {
@@ -6455,7 +6455,7 @@
                                     lastKeyTime = curTime;
                                     nextKeyTime = lastKeyTime
                                             + ViewConfiguration.getLongPressTimeout();
-                                    if (DEBUG_INPUT) Log.v(
+                                    if (DEBUG_INPUT) Slog.v(
                                         TAG, "Received key down: first repeat @ "
                                         + nextKeyTime);
                                 } else {
@@ -6464,7 +6464,7 @@
                                     // Arbitrary long timeout.
                                     lastKeyTime = curTime;
                                     nextKeyTime = curTime + LONG_WAIT;
-                                    if (DEBUG_INPUT) Log.v(
+                                    if (DEBUG_INPUT) Slog.v(
                                         TAG, "Received key up: ignore repeat @ "
                                         + nextKeyTime);
                                 }
@@ -6472,7 +6472,7 @@
                                 mQueue.recycleEvent(ev);
                                 break;
                             case RawInputEvent.CLASS_TOUCHSCREEN:
-                                //Log.i(TAG, "Read next event " + ev);
+                                //Slog.i(TAG, "Read next event " + ev);
                                 dispatchPointer(ev, (MotionEvent)ev.event, 0, 0);
                                 break;
                             case RawInputEvent.CLASS_TRACKBALL:
@@ -6495,7 +6495,7 @@
 
                         // Timeout occurred while key was down.  If it is at or
                         // past the key repeat time, dispatch the repeat.
-                        if (DEBUG_INPUT) Log.v(
+                        if (DEBUG_INPUT) Slog.v(
                             TAG, "Key timeout: repeat=" + nextKeyTime
                             + ", now=" + curTime);
                         if (curTime < nextKeyTime) {
@@ -6505,7 +6505,7 @@
                         lastKeyTime = nextKeyTime;
                         nextKeyTime = nextKeyTime + KEY_REPEAT_DELAY;
                         keyRepeatCount++;
-                        if (DEBUG_INPUT) Log.v(
+                        if (DEBUG_INPUT) Slog.v(
                             TAG, "Key repeat: count=" + keyRepeatCount
                             + ", next @ " + nextKeyTime);
                         KeyEvent newEvent;
@@ -6530,7 +6530,7 @@
                     }
 
                 } catch (Exception e) {
-                    Log.e(TAG,
+                    Slog.e(TAG,
                         "Input thread received uncaught exception: " + e, e);
                 }
             }
@@ -6618,7 +6618,7 @@
             } catch (RuntimeException e) {
                 // Log all 'real' exceptions thrown to the caller
                 if (!(e instanceof SecurityException)) {
-                    Log.e(TAG, "Window Session Crash", e);
+                    Slog.e(TAG, "Window Session Crash", e);
                 }
                 throw e;
             }
@@ -6673,27 +6673,27 @@
         }
 
         public void finishDrawing(IWindow window) {
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "IWindow finishDrawing called for " + window);
             finishDrawingWindow(this, window);
         }
 
         public void finishKey(IWindow window) {
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "IWindow finishKey called for " + window);
             mKeyWaiter.finishedKey(this, window, false,
                     KeyWaiter.RETURN_NOTHING);
         }
 
         public MotionEvent getPendingPointerMove(IWindow window) {
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                     TAG, "IWindow getPendingMotionEvent called for " + window);
             return mKeyWaiter.finishedKey(this, window, false,
                     KeyWaiter.RETURN_PENDING_POINTER);
         }
 
         public MotionEvent getPendingTrackballMove(IWindow window) {
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                     TAG, "IWindow getPendingMotionEvent called for " + window);
             return mKeyWaiter.finishedKey(this, window, false,
                     KeyWaiter.RETURN_PENDING_TRACKBALL);
@@ -6762,10 +6762,10 @@
 
         void windowAddedLocked() {
             if (mSurfaceSession == null) {
-                if (localLOGV) Log.v(
+                if (localLOGV) Slog.v(
                     TAG, "First window added to " + this + ", creating SurfaceSession");
                 mSurfaceSession = new SurfaceSession();
-                if (SHOW_TRANSACTIONS) Log.i(
+                if (SHOW_TRANSACTIONS) Slog.i(
                         TAG, "  NEW SURFACE SESSION " + mSurfaceSession);
                 mSessions.add(this);
             }
@@ -6781,15 +6781,15 @@
             if (mNumWindow <= 0 && mClientDead) {
                 mSessions.remove(this);
                 if (mSurfaceSession != null) {
-                    if (localLOGV) Log.v(
+                    if (localLOGV) Slog.v(
                         TAG, "Last window removed from " + this
                         + ", destroying " + mSurfaceSession);
-                    if (SHOW_TRANSACTIONS) Log.i(
+                    if (SHOW_TRANSACTIONS) Slog.i(
                             TAG, "  KILL SURFACE SESSION " + mSurfaceSession);
                     try {
                         mSurfaceSession.kill();
                     } catch (Exception e) {
-                        Log.w(TAG, "Exception thrown when killing surface session "
+                        Slog.w(TAG, "Exception thrown when killing surface session "
                             + mSurfaceSession + " in session " + this
                             + ": " + e.toString());
                     }
@@ -7009,7 +7009,7 @@
             mViewVisibility = viewVisibility;
             DeathRecipient deathRecipient = new DeathRecipient();
             mAlpha = a.alpha;
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "Window " + this + " client=" + c.asBinder()
                 + " token=" + token + " (" + mAttrs.token + ")");
             try {
@@ -7086,7 +7086,7 @@
         }
 
         void attach() {
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "Attaching " + this + " token=" + mToken
                 + ", list=" + mToken.windows);
             mSession.windowAddedLocked();
@@ -7173,7 +7173,7 @@
             if (localLOGV) {
                 //if ("com.google.android.youtube".equals(mAttrs.packageName)
                 //        && mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_PANEL) {
-                    Log.v(TAG, "Resolving (mRequestedWidth="
+                    Slog.v(TAG, "Resolving (mRequestedWidth="
                             + mRequestedWidth + ", mRequestedheight="
                             + mRequestedHeight + ") to" + " (pw=" + pw + ", ph=" + ph
                             + "): frame=" + mFrame.toShortString()
@@ -7232,7 +7232,7 @@
         }
 
         public void setAnimation(Animation anim) {
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "Setting animation in " + this + ": " + anim);
             mAnimating = false;
             mLocalAnimating = false;
@@ -7268,7 +7268,7 @@
                 if ((mAttrs.flags&WindowManager.LayoutParams.FLAG_SECURE) != 0) {
                     flags |= Surface.SECURE;
                 }
-                if (DEBUG_VISIBILITY) Log.v(
+                if (DEBUG_VISIBILITY) Slog.v(
                     TAG, "Creating surface in session "
                     + mSession.mSurfaceSession + " window " + this
                     + " w=" + mFrame.width()
@@ -7293,28 +7293,28 @@
                     mSurface = new Surface(
                             mSession.mSurfaceSession, mSession.mPid,
                             0, w, h, mAttrs.format, flags);
-                    if (SHOW_TRANSACTIONS) Log.i(TAG, "  CREATE SURFACE "
+                    if (SHOW_TRANSACTIONS) Slog.i(TAG, "  CREATE SURFACE "
                             + mSurface + " IN SESSION "
                             + mSession.mSurfaceSession
                             + ": pid=" + mSession.mPid + " format="
                             + mAttrs.format + " flags=0x"
                             + Integer.toHexString(flags));
                 } catch (Surface.OutOfResourcesException e) {
-                    Log.w(TAG, "OutOfResourcesException creating surface");
+                    Slog.w(TAG, "OutOfResourcesException creating surface");
                     reclaimSomeSurfaceMemoryLocked(this, "create");
                     return null;
                 } catch (Exception e) {
-                    Log.e(TAG, "Exception creating surface", e);
+                    Slog.e(TAG, "Exception creating surface", e);
                     return null;
                 }
 
-                if (localLOGV) Log.v(
+                if (localLOGV) Slog.v(
                     TAG, "Got surface: " + mSurface
                     + ", set left=" + mFrame.left + " top=" + mFrame.top
                     + ", animLayer=" + mAnimLayer);
                 if (SHOW_TRANSACTIONS) {
-                    Log.i(TAG, ">>> OPEN TRANSACTION");
-                    Log.i(TAG, "  SURFACE " + mSurface + ": CREATE ("
+                    Slog.i(TAG, ">>> OPEN TRANSACTION");
+                    Slog.i(TAG, "  SURFACE " + mSurface + ": CREATE ("
                             + mAttrs.getTitle() + ") pos=(" +
                           mFrame.left + "," + mFrame.top + ") (" +
                           mFrame.width() + "x" + mFrame.height() + "), layer=" +
@@ -7328,21 +7328,21 @@
                         mSurface.setLayer(mAnimLayer);
                         mSurface.hide();
                         if ((mAttrs.flags&WindowManager.LayoutParams.FLAG_DITHER) != 0) {
-                            if (SHOW_TRANSACTIONS) Log.i(TAG, "  SURFACE "
+                            if (SHOW_TRANSACTIONS) Slog.i(TAG, "  SURFACE "
                                     + mSurface + ": DITHER");
                             mSurface.setFlags(Surface.SURFACE_DITHER,
                                     Surface.SURFACE_DITHER);
                         }
                     } catch (RuntimeException e) {
-                        Log.w(TAG, "Error creating surface in " + w, e);
+                        Slog.w(TAG, "Error creating surface in " + w, e);
                         reclaimSomeSurfaceMemoryLocked(this, "create-init");
                     }
                     mLastHidden = true;
                 } finally {
-                    if (SHOW_TRANSACTIONS) Log.i(TAG, "<<< CLOSE TRANSACTION");
+                    if (SHOW_TRANSACTIONS) Slog.i(TAG, "<<< CLOSE TRANSACTION");
                     Surface.closeTransaction();
                 }
-                if (localLOGV) Log.v(
+                if (localLOGV) Slog.v(
                         TAG, "Created surface " + this);
             }
             return mSurface;
@@ -7388,18 +7388,18 @@
                     if (DEBUG_VISIBILITY) {
                         RuntimeException e = new RuntimeException();
                         if (!HIDE_STACK_CRAWLS) e.fillInStackTrace();
-                        Log.w(TAG, "Window " + this + " destroying surface "
+                        Slog.w(TAG, "Window " + this + " destroying surface "
                                 + mSurface + ", session " + mSession, e);
                     }
                     if (SHOW_TRANSACTIONS) {
                         RuntimeException ex = new RuntimeException();
                         if (!HIDE_STACK_CRAWLS) ex.fillInStackTrace();
-                        Log.i(TAG, "  SURFACE " + mSurface + ": DESTROY ("
+                        Slog.i(TAG, "  SURFACE " + mSurface + ": DESTROY ("
                                 + mAttrs.getTitle() + ")", ex);
                     }
                     mSurface.destroy();
                 } catch (RuntimeException e) {
-                    Log.w(TAG, "Exception thrown when destroying Window " + this
+                    Slog.w(TAG, "Exception thrown when destroying Window " + this
                         + " surface " + mSurface + " session " + mSession
                         + ": " + e.toString());
                 }
@@ -7410,7 +7410,7 @@
 
         boolean finishDrawingLocked() {
             if (mDrawPending) {
-                if (SHOW_TRANSACTIONS || DEBUG_ORIENTATION) Log.v(
+                if (SHOW_TRANSACTIONS || DEBUG_ORIENTATION) Slog.v(
                     TAG, "finishDrawingLocked: " + mSurface);
                 mCommitDrawPending = true;
                 mDrawPending = false;
@@ -7421,7 +7421,7 @@
 
         // This must be called while inside a transaction.
         boolean commitFinishDrawingLocked(long currentTime) {
-            //Log.i(TAG, "commitFinishDrawingLocked: " + mSurface);
+            //Slog.i(TAG, "commitFinishDrawingLocked: " + mSurface);
             if (!mCommitDrawPending) {
                 return false;
             }
@@ -7440,14 +7440,14 @@
             if (DEBUG_VISIBILITY) {
                 RuntimeException e = new RuntimeException();
                 if (!HIDE_STACK_CRAWLS) e.fillInStackTrace();
-                Log.v(TAG, "performShow on " + this
+                Slog.v(TAG, "performShow on " + this
                         + ": readyToShow=" + mReadyToShow + " readyForDisplay=" + isReadyForDisplay()
                         + " starting=" + (mAttrs.type == TYPE_APPLICATION_STARTING), e);
             }
             if (mReadyToShow && isReadyForDisplay()) {
-                if (SHOW_TRANSACTIONS || DEBUG_ORIENTATION) Log.i(
+                if (SHOW_TRANSACTIONS || DEBUG_ORIENTATION) Slog.i(
                         TAG, "  SURFACE " + mSurface + ": SHOW (performShowLocked)");
-                if (DEBUG_VISIBILITY) Log.v(TAG, "Showing " + this
+                if (DEBUG_VISIBILITY) Slog.v(TAG, "Showing " + this
                         + " during animation: policyVis=" + mPolicyVisibility
                         + " attHidden=" + mAttachedHidden
                         + " tok.hiddenRequested="
@@ -7489,7 +7489,7 @@
                     mAppToken.firstWindowDrawn = true;
 
                     if (mAppToken.startingData != null) {
-                        if (DEBUG_STARTING_WINDOW || DEBUG_ANIM) Log.v(TAG,
+                        if (DEBUG_STARTING_WINDOW || DEBUG_ANIM) Slog.v(TAG,
                                 "Finish starting " + mToken
                                 + ": first real window is shown, no animation");
                         // If this initial window is animating, stop it -- we
@@ -7520,7 +7520,7 @@
                     mHasTransformation = true;
                     mHasLocalTransformation = true;
                     if (!mLocalAnimating) {
-                        if (DEBUG_ANIM) Log.v(
+                        if (DEBUG_ANIM) Slog.v(
                             TAG, "Starting animation in " + this +
                             " @ " + currentTime + ": ww=" + mFrame.width() + " wh=" + mFrame.height() +
                             " dw=" + dw + " dh=" + dh + " scale=" + mWindowAnimationScale);
@@ -7532,14 +7532,14 @@
                     mTransformation.clear();
                     final boolean more = mAnimation.getTransformation(
                         currentTime, mTransformation);
-                    if (DEBUG_ANIM) Log.v(
+                    if (DEBUG_ANIM) Slog.v(
                         TAG, "Stepped animation in " + this +
                         ": more=" + more + ", xform=" + mTransformation);
                     if (more) {
                         // we're not done!
                         return true;
                     }
-                    if (DEBUG_ANIM) Log.v(
+                    if (DEBUG_ANIM) Slog.v(
                         TAG, "Finished animation in " + this +
                         " @ " + currentTime);
                     mAnimation = null;
@@ -7578,7 +7578,7 @@
                 return false;
             }
 
-            if (DEBUG_ANIM) Log.v(
+            if (DEBUG_ANIM) Slog.v(
                 TAG, "Animation done in " + this + ": exiting=" + mExiting
                 + ", reportedVisible="
                 + (mAppToken != null ? mAppToken.reportedVisible : false));
@@ -7592,7 +7592,7 @@
             } else if (mIsWallpaper) {
                 mAnimLayer += mWallpaperAnimLayerAdjustment;
             }
-            if (DEBUG_LAYERS) Log.v(TAG, "Stepping win " + this
+            if (DEBUG_LAYERS) Slog.v(TAG, "Stepping win " + this
                     + " anim layer: " + mAnimLayer);
             mHasTransformation = false;
             mHasLocalTransformation = false;
@@ -7609,7 +7609,7 @@
                     && mAppToken != null
                     && mAppToken.firstWindowDrawn
                     && mAppToken.startingData != null) {
-                if (DEBUG_STARTING_WINDOW) Log.v(TAG, "Finish starting "
+                if (DEBUG_STARTING_WINDOW) Slog.v(TAG, "Finish starting "
                         + mToken + ": first real window done animating");
                 mFinishedStarting.add(mAppToken);
                 mH.sendEmptyMessage(H.FINISHED_STARTING);
@@ -7625,7 +7625,7 @@
         }
 
         void finishExit() {
-            if (DEBUG_ANIM) Log.v(
+            if (DEBUG_ANIM) Slog.v(
                     TAG, "finishExit in " + this
                     + ": exiting=" + mExiting
                     + " remove=" + mRemoveOnExit
@@ -7644,18 +7644,18 @@
                 return;
             }
 
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                     TAG, "Exit animation finished in " + this
                     + ": remove=" + mRemoveOnExit);
             if (mSurface != null) {
                 mDestroySurface.add(this);
                 mDestroying = true;
-                if (SHOW_TRANSACTIONS) Log.i(
+                if (SHOW_TRANSACTIONS) Slog.i(
                         TAG, "  SURFACE " + mSurface + ": HIDE (finishExit)");
                 try {
                     mSurface.hide();
                 } catch (RuntimeException e) {
-                    Log.w(TAG, "Error hiding surface in " + this, e);
+                    Slog.w(TAG, "Error hiding surface in " + this, e);
                 }
                 mLastHidden = true;
                 mKeyWaiter.releasePendingPointerLocked(mSession);
@@ -7693,7 +7693,7 @@
                         !mWallpaperTarget.mAnimation.getDetachWallpaper()) {
                     attachedTransformation = mWallpaperTarget.mTransformation;
                     if (DEBUG_WALLPAPER && attachedTransformation != null) {
-                        Log.v(TAG, "WP target attached xform: " + attachedTransformation);
+                        Slog.v(TAG, "WP target attached xform: " + attachedTransformation);
                     }
                 }
                 if (mWallpaperTarget.mAppToken != null &&
@@ -7702,7 +7702,7 @@
                         !mWallpaperTarget.mAppToken.animation.getDetachWallpaper()) {
                     appTransformation = mWallpaperTarget.mAppToken.transformation;
                     if (DEBUG_WALLPAPER && appTransformation != null) {
-                        Log.v(TAG, "WP target app xform: " + appTransformation);
+                        Slog.v(TAG, "WP target app xform: " + appTransformation);
                     }
                 }
             }
@@ -7731,7 +7731,7 @@
                 // (a 2x2 matrix + an offset)
                 // Here we must not transform the position of the surface
                 // since it is already included in the transformation.
-                //Log.i(TAG, "Transform: " + matrix);
+                //Slog.i(TAG, "Transform: " + matrix);
 
                 tmpMatrix.getValues(tmpFloats);
                 mDsDx = tmpFloats[Matrix.MSCALE_X];
@@ -7754,7 +7754,7 @@
                         || (!PixelFormat.formatHasAlpha(mAttrs.format)
                         || (isIdentityMatrix(mDsDx, mDtDx, mDsDy, mDtDy)
                                 && x == frame.left && y == frame.top))) {
-                    //Log.i(TAG, "Applying alpha transform");
+                    //Slog.i(TAG, "Applying alpha transform");
                     if (selfTransformation) {
                         mShownAlpha *= mTransformation.getAlpha();
                     }
@@ -7765,10 +7765,10 @@
                         mShownAlpha *= appTransformation.getAlpha();
                     }
                 } else {
-                    //Log.i(TAG, "Not applying alpha transform");
+                    //Slog.i(TAG, "Not applying alpha transform");
                 }
 
-                if (localLOGV) Log.v(
+                if (localLOGV) Slog.v(
                     TAG, "Continuing animation in " + this +
                     ": " + mShownFrame +
                     ", alpha=" + mTransformation.getAlpha());
@@ -7997,7 +7997,7 @@
                 try {
                     synchronized(mWindowMap) {
                         WindowState win = windowForClientLocked(mSession, mClient, false);
-                        Log.i(TAG, "WIN DEATH: " + win);
+                        Slog.i(TAG, "WIN DEATH: " + win);
                         if (win != null) {
                             removeWindowLocked(mSession, win);
                         }
@@ -8362,7 +8362,7 @@
         }
 
         public void setAnimation(Animation anim) {
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "Setting animation in " + this + ": " + anim);
             animation = anim;
             animating = false;
@@ -8384,7 +8384,7 @@
 
         public void setDummyAnimation() {
             if (animation == null) {
-                if (localLOGV) Log.v(
+                if (localLOGV) Slog.v(
                     TAG, "Setting dummy animation in " + this);
                 animation = sDummyAnimation;
             }
@@ -8403,7 +8403,7 @@
             for (int i=0; i<N; i++) {
                 WindowState w = allAppWindows.get(i);
                 w.mAnimLayer = w.mLayer + adj;
-                if (DEBUG_LAYERS) Log.v(TAG, "Updating layer " + w + ": "
+                if (DEBUG_LAYERS) Slog.v(TAG, "Updating layer " + w + ": "
                         + w.mAnimLayer);
                 if (w == mInputMethodTarget) {
                     setInputMethodAnimLayerAdjustment(adj);
@@ -8423,7 +8423,7 @@
                     continue;
                 }
                 try {
-                    if (DEBUG_VISIBILITY) Log.v(TAG,
+                    if (DEBUG_VISIBILITY) Slog.v(TAG,
                             "Setting visibility of " + win + ": " + (!clientHidden));
                     win.mClient.dispatchAppVisibility(!clientHidden);
                 } catch (RemoteException e) {
@@ -8435,7 +8435,7 @@
             final int NW = allAppWindows.size();
             for (int i=0; i<NW; i++) {
                 WindowState w = allAppWindows.get(i);
-                if (DEBUG_VISIBILITY) Log.v(TAG,
+                if (DEBUG_VISIBILITY) Slog.v(TAG,
                         "performing show on: " + w);
                 w.performShowLocked();
             }
@@ -8456,7 +8456,7 @@
 
                 if ((allDrawn || animating || startingDisplayed) && animation != null) {
                     if (!animating) {
-                        if (DEBUG_ANIM) Log.v(
+                        if (DEBUG_ANIM) Slog.v(
                             TAG, "Starting animation in " + this +
                             " @ " + currentTime + ": dw=" + dw + " dh=" + dh
                             + " scale=" + mTransitionAnimationScale
@@ -8468,7 +8468,7 @@
                     transformation.clear();
                     final boolean more = animation.getTransformation(
                         currentTime, transformation);
-                    if (DEBUG_ANIM) Log.v(
+                    if (DEBUG_ANIM) Slog.v(
                         TAG, "Stepped animation in " + this +
                         ": more=" + more + ", xform=" + transformation);
                     if (more) {
@@ -8476,7 +8476,7 @@
                         hasTransformation = true;
                         return true;
                     }
-                    if (DEBUG_ANIM) Log.v(
+                    if (DEBUG_ANIM) Slog.v(
                         TAG, "Finished animation in " + this +
                         " @ " + currentTime);
                     animation = null;
@@ -8500,7 +8500,7 @@
                 moveInputMethodWindowsIfNeededLocked(true);
             }
 
-            if (DEBUG_ANIM) Log.v(
+            if (DEBUG_ANIM) Slog.v(
                     TAG, "Animation done in " + this
                     + ": reportedVisible=" + reportedVisible);
 
@@ -8528,7 +8528,7 @@
             int numVisible = 0;
             boolean nowGone = true;
 
-            if (DEBUG_VISIBILITY) Log.v(TAG, "Update reported visibility: " + this);
+            if (DEBUG_VISIBILITY) Slog.v(TAG, "Update reported visibility: " + this);
             final int N = allAppWindows.size();
             for (int i=0; i<N; i++) {
                 WindowState win = allAppWindows.get(i);
@@ -8537,11 +8537,11 @@
                     continue;
                 }
                 if (DEBUG_VISIBILITY) {
-                    Log.v(TAG, "Win " + win + ": isDrawn="
+                    Slog.v(TAG, "Win " + win + ": isDrawn="
                             + win.isDrawnLw()
                             + ", isAnimating=" + win.isAnimating());
                     if (!win.isDrawnLw()) {
-                        Log.v(TAG, "Not displayed: s=" + win.mSurface
+                        Slog.v(TAG, "Not displayed: s=" + win.mSurface
                                 + " pv=" + win.mPolicyVisibility
                                 + " dp=" + win.mDrawPending
                                 + " cdp=" + win.mCommitDrawPending
@@ -8564,10 +8564,10 @@
             }
 
             boolean nowVisible = numInteresting > 0 && numVisible >= numInteresting;
-            if (DEBUG_VISIBILITY) Log.v(TAG, "VIS " + this + ": interesting="
+            if (DEBUG_VISIBILITY) Slog.v(TAG, "VIS " + this + ": interesting="
                     + numInteresting + " visible=" + numVisible);
             if (nowVisible != reportedVisible) {
-                if (DEBUG_VISIBILITY) Log.v(
+                if (DEBUG_VISIBILITY) Slog.v(
                         TAG, "Visibility changed in " + this
                         + ": vis=" + nowVisible);
                 reportedVisible = nowVisible;
@@ -8731,11 +8731,11 @@
                             return;
                         }
                         mLastFocus = newFocus;
-                        //Log.i(TAG, "Focus moving from " + lastFocus
+                        //Slog.i(TAG, "Focus moving from " + lastFocus
                         //        + " to " + newFocus);
                         if (newFocus != null && lastFocus != null
                                 && !newFocus.isDisplayedLw()) {
-                            //Log.i(TAG, "Delaying loss of focus...");
+                            //Slog.i(TAG, "Delaying loss of focus...");
                             mLosingFocus.add(lastFocus);
                             lastFocus = null;
                         }
@@ -8746,7 +8746,7 @@
                         //                   + " to " + newFocus);
                         if (newFocus != null) {
                             try {
-                                //Log.i(TAG, "Gaining focus: " + newFocus);
+                                //Slog.i(TAG, "Gaining focus: " + newFocus);
                                 newFocus.mClient.windowFocusChanged(true, mInTouchMode);
                             } catch (RemoteException e) {
                                 // Ignore if process has died.
@@ -8755,7 +8755,7 @@
 
                         if (lastFocus != null) {
                             try {
-                                //Log.i(TAG, "Losing focus: " + lastFocus);
+                                //Slog.i(TAG, "Losing focus: " + lastFocus);
                                 lastFocus.mClient.windowFocusChanged(false, mInTouchMode);
                             } catch (RemoteException e) {
                                 // Ignore if process has died.
@@ -8775,7 +8775,7 @@
                     final int N = losers.size();
                     for (int i=0; i<N; i++) {
                         try {
-                            //Log.i(TAG, "Losing delayed focus: " + losers.get(i));
+                            //Slog.i(TAG, "Losing delayed focus: " + losers.get(i));
                             losers.get(i).mClient.windowFocusChanged(false, mInTouchMode);
                         } catch (RemoteException e) {
                              // Ignore if process has died.
@@ -8799,7 +8799,7 @@
                         return;
                     }
 
-                    if (DEBUG_STARTING_WINDOW) Log.v(TAG, "Add starting "
+                    if (DEBUG_STARTING_WINDOW) Slog.v(TAG, "Add starting "
                             + wtoken + ": pkg=" + sd.pkg);
 
                     View view = null;
@@ -8809,7 +8809,7 @@
                             sd.theme, sd.nonLocalizedLabel, sd.labelRes,
                             sd.icon);
                     } catch (Exception e) {
-                        Log.w(TAG, "Exception when adding starting window", e);
+                        Slog.w(TAG, "Exception when adding starting window", e);
                     }
 
                     if (view != null) {
@@ -8820,7 +8820,7 @@
                                 // If the window was successfully added, then
                                 // we need to remove it.
                                 if (wtoken.startingWindow != null) {
-                                    if (DEBUG_STARTING_WINDOW) Log.v(TAG,
+                                    if (DEBUG_STARTING_WINDOW) Slog.v(TAG,
                                             "Aborted starting " + wtoken
                                             + ": removed=" + wtoken.removed
                                             + " startingData=" + wtoken.startingData);
@@ -8831,7 +8831,7 @@
                             } else {
                                 wtoken.startingView = view;
                             }
-                            if (DEBUG_STARTING_WINDOW && !abort) Log.v(TAG,
+                            if (DEBUG_STARTING_WINDOW && !abort) Slog.v(TAG,
                                     "Added starting " + wtoken
                                     + ": startingWindow="
                                     + wtoken.startingWindow + " startingView="
@@ -8842,7 +8842,7 @@
                             try {
                                 mPolicy.removeStartingWindow(wtoken.token, view);
                             } catch (Exception e) {
-                                Log.w(TAG, "Exception when removing starting window", e);
+                                Slog.w(TAG, "Exception when removing starting window", e);
                             }
                         }
                     }
@@ -8853,7 +8853,7 @@
                     IBinder token = null;
                     View view = null;
                     synchronized (mWindowMap) {
-                        if (DEBUG_STARTING_WINDOW) Log.v(TAG, "Remove starting "
+                        if (DEBUG_STARTING_WINDOW) Slog.v(TAG, "Remove starting "
                                 + wtoken + ": startingWindow="
                                 + wtoken.startingWindow + " startingView="
                                 + wtoken.startingView);
@@ -8869,7 +8869,7 @@
                         try {
                             mPolicy.removeStartingWindow(token, view);
                         } catch (Exception e) {
-                            Log.w(TAG, "Exception when removing starting window", e);
+                            Slog.w(TAG, "Exception when removing starting window", e);
                         }
                     }
                 } break;
@@ -8885,7 +8885,7 @@
                             }
                             AppWindowToken wtoken = mFinishedStarting.remove(N-1);
 
-                            if (DEBUG_STARTING_WINDOW) Log.v(TAG,
+                            if (DEBUG_STARTING_WINDOW) Slog.v(TAG,
                                     "Finished starting " + wtoken
                                     + ": startingWindow=" + wtoken.startingWindow
                                     + " startingView=" + wtoken.startingView);
@@ -8904,7 +8904,7 @@
                         try {
                             mPolicy.removeStartingWindow(token, view);
                         } catch (Exception e) {
-                            Log.w(TAG, "Exception when removing starting window", e);
+                            Slog.w(TAG, "Exception when removing starting window", e);
                         }
                     }
                 } break;
@@ -8916,7 +8916,7 @@
                     boolean nowGone = msg.arg2 != 0;
 
                     try {
-                        if (DEBUG_VISIBILITY) Log.v(
+                        if (DEBUG_VISIBILITY) Slog.v(
                                 TAG, "Reporting visible in " + wtoken
                                 + " visible=" + nowVisible
                                 + " gone=" + nowGone);
@@ -8931,14 +8931,14 @@
 
                 case WINDOW_FREEZE_TIMEOUT: {
                     synchronized (mWindowMap) {
-                        Log.w(TAG, "Window freeze timeout expired.");
+                        Slog.w(TAG, "Window freeze timeout expired.");
                         int i = mWindows.size();
                         while (i > 0) {
                             i--;
                             WindowState w = (WindowState)mWindows.get(i);
                             if (w.mOrientationChanging) {
                                 w.mOrientationChanging = false;
-                                Log.w(TAG, "Force clearing orientation change: " + w);
+                                Slog.w(TAG, "Force clearing orientation change: " + w);
                             }
                         }
                         performLayoutAndPlaceSurfacesLocked();
@@ -8976,7 +8976,7 @@
                 case APP_TRANSITION_TIMEOUT: {
                     synchronized (mWindowMap) {
                         if (mNextAppTransition != WindowManagerPolicy.TRANSIT_UNSET) {
-                            if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
+                            if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
                                     "*** APP TRANSITION TIMEOUT");
                             mAppTransitionReady = true;
                             mAppTransitionTimeout = true;
@@ -9021,13 +9021,13 @@
 
                 case APP_FREEZE_TIMEOUT: {
                     synchronized (mWindowMap) {
-                        Log.w(TAG, "App freeze timeout expired.");
+                        Slog.w(TAG, "App freeze timeout expired.");
                         int i = mAppTokens.size();
                         while (i > 0) {
                             i--;
                             AppWindowToken tok = mAppTokens.get(i);
                             if (tok.freezingScreen) {
-                                Log.w(TAG, "Force clearing freeze: " + tok);
+                                Slog.w(TAG, "Force clearing freeze: " + tok);
                                 unsetAppFreezingScreenLocked(tok, true, true);
                             }
                         }
@@ -9087,7 +9087,7 @@
     final WindowState windowForClientLocked(Session session, IBinder client,
             boolean throwOnError) {
         WindowState win = mWindowMap.get(client);
-        if (localLOGV) Log.v(
+        if (localLOGV) Slog.v(
             TAG, "Looking up client " + client + ": " + win);
         if (win == null) {
             RuntimeException ex = new IllegalArgumentException(
@@ -9095,7 +9095,7 @@
             if (throwOnError) {
                 throw ex;
             }
-            Log.w(TAG, "Failed looking up window", ex);
+            Slog.w(TAG, "Failed looking up window", ex);
             return null;
         }
         if (session != null && win.mSession != session) {
@@ -9105,7 +9105,7 @@
             if (throwOnError) {
                 throw ex;
             }
-            Log.w(TAG, "Failed looking up window", ex);
+            Slog.w(TAG, "Failed looking up window", ex);
             return null;
         }
 
@@ -9124,7 +9124,7 @@
             WindowState w = (WindowState)mWindows.get(i);
             if (w.mAppToken != null) {
                 WindowState win = (WindowState)mWindows.remove(i);
-                if (DEBUG_WINDOW_MOVEMENT) Log.v(TAG,
+                if (DEBUG_WINDOW_MOVEMENT) Slog.v(TAG,
                         "Rebuild removing window: " + win);
                 NW--;
                 numRemoved++;
@@ -9158,7 +9158,7 @@
 
         i -= lastWallpaper;
         if (i != numRemoved) {
-            Log.w(TAG, "Rebuild removed " + numRemoved
+            Slog.w(TAG, "Rebuild removed " + numRemoved
                     + " windows but added " + i);
         }
     }
@@ -9191,7 +9191,7 @@
             } else if (w.mIsWallpaper) {
                 w.mAnimLayer += mWallpaperAnimLayerAdjustment;
             }
-            if (DEBUG_LAYERS) Log.v(TAG, "Assign layer " + w + ": "
+            if (DEBUG_LAYERS) Slog.v(TAG, "Assign layer " + w + ": "
                     + w.mAnimLayer);
             //System.out.println(
             //    "Assigned layer " + curLayer + " to " + w.mClient.asBinder());
@@ -9204,7 +9204,7 @@
             if (DEBUG) {
                 throw new RuntimeException("Recursive call!");
             }
-            Log.w(TAG, "performLayoutAndPlaceSurfacesLocked called while in layout");
+            Slog.w(TAG, "performLayoutAndPlaceSurfacesLocked called while in layout");
             return;
         }
 
@@ -9221,11 +9221,11 @@
             // Wait a little it for things to settle down, and off we go.
             for (int i=0; i<mForceRemoves.size(); i++) {
                 WindowState ws = mForceRemoves.get(i);
-                Log.i(TAG, "Force removing: " + ws);
+                Slog.i(TAG, "Force removing: " + ws);
                 removeWindowInnerLocked(ws.mSession, ws);
             }
             mForceRemoves = null;
-            Log.w(TAG, "Due to memory failure, waiting a bit for next layout");
+            Slog.w(TAG, "Due to memory failure, waiting a bit for next layout");
             Object tmp = new Object();
             synchronized (tmp) {
                 try {
@@ -9261,7 +9261,7 @@
             }
         } catch (RuntimeException e) {
             mInLayout = false;
-            Log.e(TAG, "Unhandled exception while layout out windows", e);
+            Slog.e(TAG, "Unhandled exception while layout out windows", e);
         }
     }
 
@@ -9273,7 +9273,7 @@
         int repeats = 0;
         int i;
 
-        if (DEBUG_LAYOUT) Log.v(TAG, "performLayout: needed="
+        if (DEBUG_LAYOUT) Slog.v(TAG, "performLayout: needed="
                 + mLayoutNeeded + " dw=" + dw + " dh=" + dh);
         
         // FIRST LOOP: Perform a layout, if needed.
@@ -9303,10 +9303,10 @@
                         || win.mExiting || win.mDestroying;
 
                 if (!win.mLayoutAttached) {
-                    if (DEBUG_LAYOUT) Log.v(TAG, "First pass " + win
+                    if (DEBUG_LAYOUT) Slog.v(TAG, "First pass " + win
                             + ": gone=" + gone + " mHaveFrame=" + win.mHaveFrame
                             + " mLayoutAttached=" + win.mLayoutAttached);
-                    if (DEBUG_LAYOUT && gone) Log.v(TAG, "  (mViewVisibility="
+                    if (DEBUG_LAYOUT && gone) Slog.v(TAG, "  (mViewVisibility="
                             + win.mViewVisibility + " mRelayoutCalled="
                             + win.mRelayoutCalled + " hidden="
                             + win.mRootToken.hidden + " hiddenRequested="
@@ -9323,7 +9323,7 @@
                     if (!win.mLayoutAttached) {
                         mPolicy.layoutWindowLw(win, win.mAttrs, null);
                         win.mLayoutSeq = seq;
-                        if (DEBUG_LAYOUT) Log.v(TAG, "-> mFrame="
+                        if (DEBUG_LAYOUT) Slog.v(TAG, "-> mFrame="
                                 + win.mFrame + " mContainingFrame="
                                 + win.mContainingFrame + " mDisplayFrame="
                                 + win.mDisplayFrame);
@@ -9346,7 +9346,7 @@
                 // windows, since that means "perform layout as normal,
                 // just don't display").
                 if (win.mLayoutAttached) {
-                    if (DEBUG_LAYOUT) Log.v(TAG, "Second pass " + win
+                    if (DEBUG_LAYOUT) Slog.v(TAG, "Second pass " + win
                             + " mHaveFrame=" + win.mHaveFrame
                             + " mViewVisibility=" + win.mViewVisibility
                             + " mRelayoutCalled=" + win.mRelayoutCalled);
@@ -9354,7 +9354,7 @@
                             || !win.mHaveFrame) {
                         mPolicy.layoutWindowLw(win, win.mAttrs, win.mAttachedWindow);
                         win.mLayoutSeq = seq;
-                        if (DEBUG_LAYOUT) Log.v(TAG, "-> mFrame="
+                        if (DEBUG_LAYOUT) Slog.v(TAG, "-> mFrame="
                                 + win.mFrame + " mContainingFrame="
                                 + win.mContainingFrame + " mDisplayFrame="
                                 + win.mDisplayFrame);
@@ -9371,7 +9371,7 @@
             if (changes == 0) {
                 mLayoutNeeded = false;
             } else if (repeats > 2) {
-                Log.w(TAG, "Layout repeat aborted after too many iterations");
+                Slog.w(TAG, "Layout repeat aborted after too many iterations");
                 mLayoutNeeded = false;
                 if ((changes&WindowManagerPolicy.FINISH_LAYOUT_REDO_CONFIG) != 0) {
                     if (updateOrientationFromAppTokensLocked()) {
@@ -9379,11 +9379,11 @@
                     }
                 }
             } else {
-                if (DEBUG_LAYOUT) Log.v(TAG, "Repeating layout because changes=0x"
+                if (DEBUG_LAYOUT) Slog.v(TAG, "Repeating layout because changes=0x"
                         + Integer.toHexString(changes));
                 repeats++;
                 if ((changes&WindowManagerPolicy.FINISH_LAYOUT_REDO_CONFIG) != 0) {
-                    if (DEBUG_LAYOUT) Log.v(TAG, "Computing new config from layout");
+                    if (DEBUG_LAYOUT) Slog.v(TAG, "Computing new config from layout");
                     if (updateOrientationFromAppTokensLocked()) {
                         mH.sendEmptyMessage(H.SEND_NEW_CONFIGURATION);
                     }
@@ -9407,7 +9407,7 @@
             mFxSession = new SurfaceSession();
         }
 
-        if (SHOW_TRANSACTIONS) Log.i(TAG, ">>> OPEN TRANSACTION");
+        if (SHOW_TRANSACTIONS) Slog.i(TAG, ">>> OPEN TRANSACTION");
 
         // Initialize state of exiting tokens.
         for (i=mExitingTokens.size()-1; i>=0; i--) {
@@ -9452,7 +9452,7 @@
                     }
                 }
 
-                if (DEBUG_APP_TRANSITIONS) Log.v(TAG, "*** ANIM STEP: seq="
+                if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "*** ANIM STEP: seq="
                         + transactionSequence + " tokensAnimating="
                         + tokensAnimating);
                         
@@ -9477,7 +9477,7 @@
                         if (w.commitFinishDrawingLocked(currentTime)) {
                             if ((w.mAttrs.flags
                                     & WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER) != 0) {
-                                if (DEBUG_WALLPAPER) Log.v(TAG,
+                                if (DEBUG_WALLPAPER) Slog.v(TAG,
                                         "First draw done in potential wallpaper target " + w);
                                 wallpaperMayChange = true;
                             }
@@ -9537,11 +9537,11 @@
                                 == WindowManager.LayoutParams.TYPE_BASE_APPLICATION)
                                 && !w.mExiting && !w.mDestroying) {
                             if (DEBUG_VISIBILITY || DEBUG_ORIENTATION) {
-                                Log.v(TAG, "Eval win " + w + ": isDrawn="
+                                Slog.v(TAG, "Eval win " + w + ": isDrawn="
                                         + w.isDrawnLw()
                                         + ", isAnimating=" + w.isAnimating());
                                 if (!w.isDrawnLw()) {
-                                    Log.v(TAG, "Not displayed: s=" + w.mSurface
+                                    Slog.v(TAG, "Not displayed: s=" + w.mSurface
                                             + " pv=" + w.mPolicyVisibility
                                             + " dp=" + w.mDrawPending
                                             + " cdp=" + w.mCommitDrawPending
@@ -9555,7 +9555,7 @@
                                     atoken.numInterestingWindows++;
                                     if (w.isDrawnLw()) {
                                         atoken.numDrawnWindows++;
-                                        if (DEBUG_VISIBILITY || DEBUG_ORIENTATION) Log.v(TAG,
+                                        if (DEBUG_VISIBILITY || DEBUG_ORIENTATION) Slog.v(TAG,
                                                 "tokenMayBeDrawn: " + atoken
                                                 + " freezingScreen=" + atoken.freezingScreen
                                                 + " mAppFreezing=" + w.mAppFreezing);
@@ -9587,7 +9587,7 @@
                         if (wtoken.freezingScreen) {
                             int numInteresting = wtoken.numInterestingWindows;
                             if (numInteresting > 0 && wtoken.numDrawnWindows >= numInteresting) {
-                                if (DEBUG_VISIBILITY) Log.v(TAG,
+                                if (DEBUG_VISIBILITY) Slog.v(TAG,
                                         "allDrawn: " + wtoken
                                         + " interesting=" + numInteresting
                                         + " drawn=" + wtoken.numDrawnWindows);
@@ -9598,7 +9598,7 @@
                         } else if (!wtoken.allDrawn) {
                             int numInteresting = wtoken.numInterestingWindows;
                             if (numInteresting > 0 && wtoken.numDrawnWindows >= numInteresting) {
-                                if (DEBUG_VISIBILITY) Log.v(TAG,
+                                if (DEBUG_VISIBILITY) Slog.v(TAG,
                                         "allDrawn: " + wtoken
                                         + " interesting=" + numInteresting
                                         + " drawn=" + wtoken.numDrawnWindows);
@@ -9620,7 +9620,7 @@
                 if (mAppTransitionReady) {
                     int NN = mOpeningApps.size();
                     boolean goodToGo = true;
-                    if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
+                    if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
                             "Checking " + NN + " opening apps (frozen="
                             + mDisplayFrozen + " timeout="
                             + mAppTransitionTimeout + ")...");
@@ -9630,7 +9630,7 @@
                         // we'll unfreeze the display when everyone is ready.
                         for (i=0; i<NN && goodToGo; i++) {
                             AppWindowToken wtoken = mOpeningApps.get(i);
-                            if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
+                            if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
                                     "Check opening app" + wtoken + ": allDrawn="
                                     + wtoken.allDrawn + " startingDisplayed="
                                     + wtoken.startingDisplayed);
@@ -9641,7 +9641,7 @@
                         }
                     }
                     if (goodToGo) {
-                        if (DEBUG_APP_TRANSITIONS) Log.v(TAG, "**** GOOD TO GO");
+                        if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "**** GOOD TO GO");
                         int transit = mNextAppTransition;
                         if (mSkipAppTransitionAnimation) {
                             transit = WindowManagerPolicy.TRANSIT_UNSET;
@@ -9683,7 +9683,7 @@
                         AppWindowToken animToken = null;
                         int bestAnimLayer = -1;
 
-                        if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
+                        if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
                                 "New wallpaper target=" + mWallpaperTarget
                                 + ", lower target=" + mLowerWallpaperTarget
                                 + ", upper target=" + mUpperWallpaperTarget);
@@ -9735,7 +9735,7 @@
                         }
 
                         if (foundWallpapers == 3) {
-                            if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
+                            if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
                                     "Wallpaper animation!");
                             switch (transit) {
                                 case WindowManagerPolicy.TRANSIT_ACTIVITY_OPEN:
@@ -9749,19 +9749,19 @@
                                     transit = WindowManagerPolicy.TRANSIT_WALLPAPER_INTRA_CLOSE;
                                     break;
                             }
-                            if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
+                            if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
                                     "New transit: " + transit);
                         } else if (oldWallpaper != null) {
                             // We are transitioning from an activity with
                             // a wallpaper to one without.
                             transit = WindowManagerPolicy.TRANSIT_WALLPAPER_CLOSE;
-                            if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
+                            if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
                                     "New transit away from wallpaper: " + transit);
                         } else if (mWallpaperTarget != null) {
                             // We are transitioning from an activity without
                             // a wallpaper to now showing the wallpaper
                             transit = WindowManagerPolicy.TRANSIT_WALLPAPER_OPEN;
-                            if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
+                            if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
                                     "New transit into wallpaper: " + transit);
                         }
 
@@ -9785,7 +9785,7 @@
                         NN = mOpeningApps.size();
                         for (i=0; i<NN; i++) {
                             AppWindowToken wtoken = mOpeningApps.get(i);
-                            if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
+                            if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
                                     "Now opening app" + wtoken);
                             wtoken.reportedVisible = false;
                             wtoken.inPendingTransaction = false;
@@ -9798,7 +9798,7 @@
                         NN = mClosingApps.size();
                         for (i=0; i<NN; i++) {
                             AppWindowToken wtoken = mClosingApps.get(i);
-                            if (DEBUG_APP_TRANSITIONS) Log.v(TAG,
+                            if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
                                     "Now closing app" + wtoken);
                             wtoken.inPendingTransaction = false;
                             wtoken.animation = null;
@@ -9864,10 +9864,10 @@
                     WindowState oldWallpaper = mWallpaperTarget;
                     if (mLowerWallpaperTarget != null
                             && mLowerWallpaperTarget.mAppToken != null) {
-                        if (DEBUG_WALLPAPER) Log.v(TAG,
+                        if (DEBUG_WALLPAPER) Slog.v(TAG,
                                 "wallpaperForceHiding changed with lower="
                                 + mLowerWallpaperTarget);
-                        if (DEBUG_WALLPAPER) Log.v(TAG,
+                        if (DEBUG_WALLPAPER) Slog.v(TAG,
                                 "hidden=" + mLowerWallpaperTarget.mAppToken.hidden +
                                 " hiddenRequested=" + mLowerWallpaperTarget.mAppToken.hiddenRequested);
                         if (mLowerWallpaperTarget.mAppToken.hidden) {
@@ -9881,7 +9881,7 @@
                     adjResult = adjustWallpaperWindowsLocked();
                     wallpaperMayChange = false;
                     wallpaperForceHidingChanged = false;
-                    if (DEBUG_WALLPAPER) Log.v(TAG, "****** OLD: " + oldWallpaper
+                    if (DEBUG_WALLPAPER) Slog.v(TAG, "****** OLD: " + oldWallpaper
                             + " NEW: " + mWallpaperTarget
                             + " LOWER: " + mLowerWallpaperTarget);
                     if (mLowerWallpaperTarget == null) {
@@ -9893,7 +9893,7 @@
                             if (w.mSurface != null) {
                                 final WindowManager.LayoutParams attrs = w.mAttrs;
                                 if (mPolicy.doesForceHide(w, attrs) && w.isVisibleLw()) {
-                                    if (DEBUG_FOCUS) Log.i(TAG, "win=" + w + " force hides other windows");
+                                    if (DEBUG_FOCUS) Slog.i(TAG, "win=" + w + " force hides other windows");
                                     forceHiding = true;
                                 } else if (mPolicy.canBeForceHidden(w, attrs)) {
                                     if (!w.mAnimating) {
@@ -9908,19 +9908,19 @@
                 }
 
                 if (wallpaperMayChange) {
-                    if (DEBUG_WALLPAPER) Log.v(TAG,
+                    if (DEBUG_WALLPAPER) Slog.v(TAG,
                             "Wallpaper may change!  Adjusting");
                     adjResult = adjustWallpaperWindowsLocked();
                 }
 
                 if ((adjResult&ADJUST_WALLPAPER_LAYERS_CHANGED) != 0) {
-                    if (DEBUG_WALLPAPER) Log.v(TAG,
+                    if (DEBUG_WALLPAPER) Slog.v(TAG,
                             "Wallpaper layer changed: assigning layers + relayout");
                     restart = true;
                     mLayoutNeeded = true;
                     assignLayersLocked();
                 } else if ((adjResult&ADJUST_WALLPAPER_VISIBILITY_CHANGED) != 0) {
-                    if (DEBUG_WALLPAPER) Log.v(TAG,
+                    if (DEBUG_WALLPAPER) Slog.v(TAG,
                             "Wallpaper visibility changed: relayout");
                     restart = true;
                     mLayoutNeeded = true;
@@ -9938,7 +9938,7 @@
                     performLayoutLockedInner();
                 }
 
-                if (DEBUG_APP_TRANSITIONS) Log.v(TAG, "*** ANIM STEP: restart="
+                if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "*** ANIM STEP: restart="
                         + restart);
                 
             } while (restart);
@@ -9965,7 +9965,7 @@
 
                 if (w.mSurface != null) {
                     w.computeShownFrameLocked();
-                    if (localLOGV) Log.v(
+                    if (localLOGV) Slog.v(
                             TAG, "Placing surface #" + i + " " + w.mSurface
                             + ": new=" + w.mShownFrame + ", old="
                             + w.mLastShownFrame);
@@ -9983,13 +9983,13 @@
                         w.mLastRequestedHeight = height;
                         w.mLastShownFrame.set(w.mShownFrame);
                         try {
-                            if (SHOW_TRANSACTIONS) Log.i(
+                            if (SHOW_TRANSACTIONS) Slog.i(
                                     TAG, "  SURFACE " + w.mSurface
                                     + ": POS " + w.mShownFrame.left
                                     + ", " + w.mShownFrame.top);
                             w.mSurface.setPosition(w.mShownFrame.left, w.mShownFrame.top);
                         } catch (RuntimeException e) {
-                            Log.w(TAG, "Error positioning surface in " + w, e);
+                            Slog.w(TAG, "Error positioning surface in " + w, e);
                             if (!recoveringMemory) {
                                 reclaimSomeSurfaceMemoryLocked(w, "position");
                             }
@@ -10006,7 +10006,7 @@
                         if (height < 1) height = 1;
                         if (w.mSurface != null) {
                             try {
-                                if (SHOW_TRANSACTIONS) Log.i(
+                                if (SHOW_TRANSACTIONS) Slog.i(
                                         TAG, "  SURFACE " + w.mSurface + ": POS "
                                         + w.mShownFrame.left + ","
                                         + w.mShownFrame.top + " SIZE "
@@ -10019,7 +10019,7 @@
                                 // If something goes wrong with the surface (such
                                 // as running out of memory), don't take down the
                                 // entire system.
-                                Log.e(TAG, "Failure updating surface of " + w
+                                Slog.e(TAG, "Failure updating surface of " + w
                                         + "size=(" + width + "x" + height
                                         + "), pos=(" + w.mShownFrame.left
                                         + "," + w.mShownFrame.top + ")", e);
@@ -10038,7 +10038,7 @@
                             w.mConfiguration != mCurConfiguration
                             && (w.mConfiguration == null
                                     || mCurConfiguration.diff(w.mConfiguration) != 0);
-                        if (localLOGV) Log.v(TAG, "Resizing " + w
+                        if (localLOGV) Slog.v(TAG, "Resizing " + w
                                 + ": configChanged=" + configChanged
                                 + " last=" + w.mLastFrame + " frame=" + w.mFrame);
                         if (!w.mLastFrame.equals(w.mFrame)
@@ -10052,7 +10052,7 @@
                             // it frozen until this window draws at its new
                             // orientation.
                             if (mDisplayFrozen) {
-                                if (DEBUG_ORIENTATION) Log.v(TAG,
+                                if (DEBUG_ORIENTATION) Slog.v(TAG,
                                         "Resizing while display frozen: " + w);
                                 w.mOrientationChanging = true;
                                 if (!mWindowsFreezingScreen) {
@@ -10070,7 +10070,7 @@
                             // to go through the process of getting informed
                             // by the application when it has finished drawing.
                             if (w.mOrientationChanging) {
-                                if (DEBUG_ORIENTATION) Log.v(TAG,
+                                if (DEBUG_ORIENTATION) Slog.v(TAG,
                                         "Orientation start waiting for draw in "
                                         + w + ", surface " + w.mSurface);
                                 w.mDrawPending = true;
@@ -10080,12 +10080,12 @@
                                     w.mAppToken.allDrawn = false;
                                 }
                             }
-                            if (DEBUG_ORIENTATION) Log.v(TAG,
+                            if (DEBUG_ORIENTATION) Slog.v(TAG,
                                     "Resizing window " + w + " to " + w.mFrame);
                             mResizingWindows.add(w);
                         } else if (w.mOrientationChanging) {
                             if (!w.mDrawPending && !w.mCommitDrawPending) {
-                                if (DEBUG_ORIENTATION) Log.v(TAG,
+                                if (DEBUG_ORIENTATION) Slog.v(TAG,
                                         "Orientation not waiting for draw in "
                                         + w + ", surface " + w.mSurface);
                                 w.mOrientationChanging = false;
@@ -10097,13 +10097,13 @@
                         if (!w.mLastHidden) {
                             //dump();
                             w.mLastHidden = true;
-                            if (SHOW_TRANSACTIONS) Log.i(
+                            if (SHOW_TRANSACTIONS) Slog.i(
                                     TAG, "  SURFACE " + w.mSurface + ": HIDE (performLayout)");
                             if (w.mSurface != null) {
                                 try {
                                     w.mSurface.hide();
                                 } catch (RuntimeException e) {
-                                    Log.w(TAG, "Exception hiding surface in " + w);
+                                    Slog.w(TAG, "Exception hiding surface in " + w);
                                 }
                             }
                             mKeyWaiter.releasePendingPointerLocked(w.mSession);
@@ -10116,7 +10116,7 @@
                         // new orientation.
                         if (w.mOrientationChanging) {
                             w.mOrientationChanging = false;
-                            if (DEBUG_ORIENTATION) Log.v(TAG,
+                            if (DEBUG_ORIENTATION) Slog.v(TAG,
                                     "Orientation change skips hidden " + w);
                         }
                     } else if (w.mLastLayer != w.mAnimLayer
@@ -10137,7 +10137,7 @@
                         w.mLastDtDy = w.mDtDy;
                         w.mLastHScale = w.mHScale;
                         w.mLastVScale = w.mVScale;
-                        if (SHOW_TRANSACTIONS) Log.i(
+                        if (SHOW_TRANSACTIONS) Slog.i(
                                 TAG, "  SURFACE " + w.mSurface + ": alpha="
                                 + w.mShownAlpha + " layer=" + w.mAnimLayer
                                 + " matrix=[" + (w.mDsDx*w.mHScale)
@@ -10152,7 +10152,7 @@
                                         w.mDsDx*w.mHScale, w.mDtDx*w.mVScale,
                                         w.mDsDy*w.mHScale, w.mDtDy*w.mVScale);
                             } catch (RuntimeException e) {
-                                Log.w(TAG, "Error updating surface in " + w, e);
+                                Slog.w(TAG, "Error updating surface in " + w, e);
                                 if (!recoveringMemory) {
                                     reclaimSomeSurfaceMemoryLocked(w, "update");
                                 }
@@ -10162,9 +10162,9 @@
                         if (w.mLastHidden && !w.mDrawPending
                                 && !w.mCommitDrawPending
                                 && !w.mReadyToShow) {
-                            if (SHOW_TRANSACTIONS) Log.i(
+                            if (SHOW_TRANSACTIONS) Slog.i(
                                     TAG, "  SURFACE " + w.mSurface + ": SHOW (performLayout)");
-                            if (DEBUG_VISIBILITY) Log.v(TAG, "Showing " + w
+                            if (DEBUG_VISIBILITY) Slog.v(TAG, "Showing " + w
                                     + " during relayout");
                             if (showSurfaceRobustlyLocked(w)) {
                                 w.mHasDrawn = true;
@@ -10190,18 +10190,18 @@
                         if (w.mOrientationChanging) {
                             if (w.mDrawPending || w.mCommitDrawPending) {
                                 orientationChangeComplete = false;
-                                if (DEBUG_ORIENTATION) Log.v(TAG,
+                                if (DEBUG_ORIENTATION) Slog.v(TAG,
                                         "Orientation continue waiting for draw in " + w);
                             } else {
                                 w.mOrientationChanging = false;
-                                if (DEBUG_ORIENTATION) Log.v(TAG,
+                                if (DEBUG_ORIENTATION) Slog.v(TAG,
                                         "Orientation change complete in " + w);
                             }
                         }
                         w.mToken.hasVisible = true;
                     }
                 } else if (w.mOrientationChanging) {
-                    if (DEBUG_ORIENTATION) Log.v(TAG,
+                    if (DEBUG_ORIENTATION) Slog.v(TAG,
                             "Orientation change skips hidden " + w);
                     w.mOrientationChanging = false;
                 }
@@ -10242,7 +10242,7 @@
                         // performance reasons).
                         obscured = true;
                     } else if (opaqueDrawn && w.needsBackgroundFiller(dw, dh)) {
-                        if (SHOW_TRANSACTIONS) Log.d(TAG, "showing background filler");
+                        if (SHOW_TRANSACTIONS) Slog.d(TAG, "showing background filler");
                         // This window is in compatibility mode, and needs background filler.
                         obscured = true;
                         if (mBackgroundFillerSurface == null) {
@@ -10252,7 +10252,7 @@
                                         PixelFormat.OPAQUE,
                                         Surface.FX_SURFACE_NORMAL);
                             } catch (Exception e) {
-                                Log.e(TAG, "Exception creating filler surface", e);
+                                Slog.e(TAG, "Exception creating filler surface", e);
                             }
                         }
                         try {
@@ -10263,19 +10263,19 @@
                             mBackgroundFillerSurface.setLayer(w.mAnimLayer - 1);
                             mBackgroundFillerSurface.show();
                         } catch (RuntimeException e) {
-                            Log.e(TAG, "Exception showing filler surface");
+                            Slog.e(TAG, "Exception showing filler surface");
                         }
                         backgroundFillerShown = true;
                         mBackgroundFillerShown = true;
                     } else if (canBeSeen && !obscured &&
                             (attrFlags&FLAG_BLUR_BEHIND|FLAG_DIM_BEHIND) != 0) {
-                        if (localLOGV) Log.v(TAG, "Win " + w
+                        if (localLOGV) Slog.v(TAG, "Win " + w
                                 + ": blurring=" + blurring
                                 + " obscured=" + obscured
                                 + " displayed=" + displayed);
                         if ((attrFlags&FLAG_DIM_BEHIND) != 0) {
                             if (!dimming) {
-                                //Log.i(TAG, "DIM BEHIND: " + w);
+                                //Slog.i(TAG, "DIM BEHIND: " + w);
                                 dimming = true;
                                 if (mDimAnimator == null) {
                                     mDimAnimator = new DimAnimator(mFxSession);
@@ -10286,11 +10286,11 @@
                         }
                         if ((attrFlags&FLAG_BLUR_BEHIND) != 0) {
                             if (!blurring) {
-                                //Log.i(TAG, "BLUR BEHIND: " + w);
+                                //Slog.i(TAG, "BLUR BEHIND: " + w);
                                 blurring = true;
                                 mBlurShown = true;
                                 if (mBlurSurface == null) {
-                                    if (SHOW_TRANSACTIONS) Log.i(TAG, "  BLUR "
+                                    if (SHOW_TRANSACTIONS) Slog.i(TAG, "  BLUR "
                                             + mBlurSurface + ": CREATE");
                                     try {
                                         mBlurSurface = new Surface(mFxSession, 0,
@@ -10298,10 +10298,10 @@
                                                 PixelFormat.OPAQUE,
                                                 Surface.FX_SURFACE_BLUR);
                                     } catch (Exception e) {
-                                        Log.e(TAG, "Exception creating Blur surface", e);
+                                        Slog.e(TAG, "Exception creating Blur surface", e);
                                     }
                                 }
-                                if (SHOW_TRANSACTIONS) Log.i(TAG, "  BLUR "
+                                if (SHOW_TRANSACTIONS) Slog.i(TAG, "  BLUR "
                                         + mBlurSurface + ": SHOW pos=(0,0) (" +
                                         dw + "x" + dh + "), layer=" + (w.mAnimLayer-1));
                                 if (mBlurSurface != null) {
@@ -10310,7 +10310,7 @@
                                     try {
                                         mBlurSurface.show();
                                     } catch (RuntimeException e) {
-                                        Log.w(TAG, "Failure showing blur surface", e);
+                                        Slog.w(TAG, "Failure showing blur surface", e);
                                     }
                                 }
                             }
@@ -10329,11 +10329,11 @@
 
             if (backgroundFillerShown == false && mBackgroundFillerShown) {
                 mBackgroundFillerShown = false;
-                if (SHOW_TRANSACTIONS) Log.d(TAG, "hiding background filler");
+                if (SHOW_TRANSACTIONS) Slog.d(TAG, "hiding background filler");
                 try {
                     mBackgroundFillerSurface.hide();
                 } catch (RuntimeException e) {
-                    Log.e(TAG, "Exception hiding filler surface", e);
+                    Slog.e(TAG, "Exception hiding filler surface", e);
                 }
             }
 
@@ -10343,24 +10343,24 @@
             }
 
             if (!blurring && mBlurShown) {
-                if (SHOW_TRANSACTIONS) Log.i(TAG, "  BLUR " + mBlurSurface
+                if (SHOW_TRANSACTIONS) Slog.i(TAG, "  BLUR " + mBlurSurface
                         + ": HIDE");
                 try {
                     mBlurSurface.hide();
                 } catch (IllegalArgumentException e) {
-                    Log.w(TAG, "Illegal argument exception hiding blur surface");
+                    Slog.w(TAG, "Illegal argument exception hiding blur surface");
                 }
                 mBlurShown = false;
             }
 
-            if (SHOW_TRANSACTIONS) Log.i(TAG, "<<< CLOSE TRANSACTION");
+            if (SHOW_TRANSACTIONS) Slog.i(TAG, "<<< CLOSE TRANSACTION");
         } catch (RuntimeException e) {
-            Log.e(TAG, "Unhandled exception in Window Manager", e);
+            Slog.e(TAG, "Unhandled exception in Window Manager", e);
         }
 
         Surface.closeTransaction();
 
-        if (DEBUG_ORIENTATION && mDisplayFrozen) Log.v(TAG,
+        if (DEBUG_ORIENTATION && mDisplayFrozen) Slog.v(TAG,
                 "With display frozen, orientationChangeComplete="
                 + orientationChangeComplete);
         if (orientationChangeComplete) {
@@ -10377,7 +10377,7 @@
                 i--;
                 WindowState win = mResizingWindows.get(i);
                 try {
-                    if (DEBUG_ORIENTATION) Log.v(TAG, "Reporting new frame to "
+                    if (DEBUG_ORIENTATION) Slog.v(TAG, "Reporting new frame to "
                             + win + ": " + win.mFrame);
                     boolean configChanged =
                         win.mConfiguration != mCurConfiguration
@@ -10385,7 +10385,7 @@
                                 || mCurConfiguration.diff(win.mConfiguration) != 0);
                     win.mConfiguration = mCurConfiguration;
                     if (DEBUG_ORIENTATION && configChanged) {
-                        Log.i(TAG, "Sending new config to window " + win + ": "
+                        Slog.i(TAG, "Sending new config to window " + win + ": "
                                 + win.mFrame.width() + "x" + win.mFrame.height()
                                 + " / " + win.mConfiguration);
                     }
@@ -10533,7 +10533,7 @@
             }
             return true;
         } catch (RuntimeException e) {
-            Log.w(TAG, "Failure showing surface " + win.mSurface + " in " + win);
+            Slog.w(TAG, "Failure showing surface " + win.mSurface + " in " + win);
         }
 
         reclaimSomeSurfaceMemoryLocked(win, "show");
@@ -10558,12 +10558,12 @@
             // around.
             int N = mWindows.size();
             boolean leakedSurface = false;
-            Log.i(TAG, "Out of memory for surface!  Looking for leaks...");
+            Slog.i(TAG, "Out of memory for surface!  Looking for leaks...");
             for (int i=0; i<N; i++) {
                 WindowState ws = (WindowState)mWindows.get(i);
                 if (ws.mSurface != null) {
                     if (!mSessions.contains(ws.mSession)) {
-                        Log.w(TAG, "LEAKED SURFACE (session doesn't exist): "
+                        Slog.w(TAG, "LEAKED SURFACE (session doesn't exist): "
                                 + ws + " surface=" + ws.mSurface
                                 + " token=" + win.mToken
                                 + " pid=" + ws.mSession.mPid
@@ -10575,7 +10575,7 @@
                         N--;
                         leakedSurface = true;
                     } else if (win.mAppToken != null && win.mAppToken.clientHidden) {
-                        Log.w(TAG, "LEAKED SURFACE (app token hidden): "
+                        Slog.w(TAG, "LEAKED SURFACE (app token hidden): "
                                 + ws + " surface=" + ws.mSurface
                                 + " token=" + win.mAppToken);
                         ws.mSurface.destroy();
@@ -10587,7 +10587,7 @@
 
             boolean killedApps = false;
             if (!leakedSurface) {
-                Log.w(TAG, "No leaked surfaces; killing applicatons!");
+                Slog.w(TAG, "No leaked surfaces; killing applicatons!");
                 SparseIntArray pidCandidates = new SparseIntArray();
                 for (int i=0; i<N; i++) {
                     WindowState ws = (WindowState)mWindows.get(i);
@@ -10612,7 +10612,7 @@
             if (leakedSurface || killedApps) {
                 // We managed to reclaim some memory, so get rid of the trouble
                 // surface and ask the app to request another one.
-                Log.w(TAG, "Looks like we have reclaimed some memory, clearing surface for retry.");
+                Slog.w(TAG, "Looks like we have reclaimed some memory, clearing surface for retry.");
                 if (surface != null) {
                     surface.destroy();
                     win.mSurface = null;
@@ -10635,7 +10635,7 @@
             // change message pending.
             mH.removeMessages(H.REPORT_FOCUS_CHANGE);
             mH.sendEmptyMessage(H.REPORT_FOCUS_CHANGE);
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "Changing focus from " + mCurrentFocus + " to " + newFocus);
             final WindowState oldFocus = mCurrentFocus;
             mCurrentFocus = newFocus;
@@ -10677,7 +10677,7 @@
         while (i >= 0) {
             win = (WindowState)mWindows.get(i);
 
-            if (localLOGV || DEBUG_FOCUS) Log.v(
+            if (localLOGV || DEBUG_FOCUS) Slog.v(
                 TAG, "Looking for focus: " + i
                 + " = " + win
                 + ", flags=" + win.mAttrs.flags
@@ -10701,7 +10701,7 @@
                     if (nextApp == mFocusedApp) {
                         // Whoops, we are below the focused app...  no focus
                         // for you!
-                        if (localLOGV || DEBUG_FOCUS) Log.v(
+                        if (localLOGV || DEBUG_FOCUS) Slog.v(
                             TAG, "Reached focused app: " + mFocusedApp);
                         return null;
                     }
@@ -10722,7 +10722,7 @@
 
             // Dispatch to this window if it is wants key events.
             if (win.canReceiveKeys()) {
-                if (DEBUG_FOCUS) Log.v(
+                if (DEBUG_FOCUS) Slog.v(
                         TAG, "Found focus @ " + i + " = " + win);
                 result = win;
                 break;
@@ -10751,10 +10751,10 @@
         mScreenFrozenLock.acquire();
 
         long now = SystemClock.uptimeMillis();
-        //Log.i(TAG, "Freezing, gc pending: " + mFreezeGcPending + ", now " + now);
+        //Slog.i(TAG, "Freezing, gc pending: " + mFreezeGcPending + ", now " + now);
         if (mFreezeGcPending != 0) {
             if (now > (mFreezeGcPending+1000)) {
-                //Log.i(TAG, "Gc!  " + now + " > " + (mFreezeGcPending+1000));
+                //Slog.i(TAG, "Gc!  " + now + " > " + (mFreezeGcPending+1000));
                 mH.removeMessages(H.FORCE_GC);
                 Runtime.getRuntime().gc();
                 mFreezeGcPending = now;
@@ -11070,13 +11070,13 @@
 
         DimAnimator (SurfaceSession session) {
             if (mDimSurface == null) {
-                if (SHOW_TRANSACTIONS) Log.i(TAG, "  DIM "
+                if (SHOW_TRANSACTIONS) Slog.i(TAG, "  DIM "
                         + mDimSurface + ": CREATE");
                 try {
                     mDimSurface = new Surface(session, 0, -1, 16, 16, PixelFormat.OPAQUE,
                             Surface.FX_SURFACE_DIM);
                 } catch (Exception e) {
-                    Log.e(TAG, "Exception creating Dim surface", e);
+                    Slog.e(TAG, "Exception creating Dim surface", e);
                 }
             }
         }
@@ -11085,7 +11085,7 @@
          * Show the dim surface.
          */
         void show(int dw, int dh) {
-            if (SHOW_TRANSACTIONS) Log.i(TAG, "  DIM " + mDimSurface + ": SHOW pos=(0,0) (" +
+            if (SHOW_TRANSACTIONS) Slog.i(TAG, "  DIM " + mDimSurface + ": SHOW pos=(0,0) (" +
                     dw + "x" + dh + ")");
             mDimShown = true;
             try {
@@ -11093,7 +11093,7 @@
                 mDimSurface.setSize(dw, dh);
                 mDimSurface.show();
             } catch (RuntimeException e) {
-                Log.w(TAG, "Failure showing dim surface", e);
+                Slog.w(TAG, "Failure showing dim surface", e);
             }
         }
 
@@ -11105,7 +11105,7 @@
             mDimSurface.setLayer(w.mAnimLayer-1);
 
             final float target = w.mExiting ? 0 : w.mAttrs.dimAmount;
-            if (SHOW_TRANSACTIONS) Log.i(TAG, "  DIM " + mDimSurface
+            if (SHOW_TRANSACTIONS) Slog.i(TAG, "  DIM " + mDimSurface
                     + ": layer=" + (w.mAnimLayer-1) + " target=" + target);
             if (mDimTargetAlpha != target) {
                 // If the desired dim level has changed, then
@@ -11165,7 +11165,7 @@
 
                 // Do we need to continue animating?
                 if (more) {
-                    if (SHOW_TRANSACTIONS) Log.i(TAG, "  DIM "
+                    if (SHOW_TRANSACTIONS) Slog.i(TAG, "  DIM "
                             + mDimSurface + ": alpha=" + mDimCurrentAlpha);
                     mLastDimAnimTime = currentTime;
                     mDimSurface.setAlpha(mDimCurrentAlpha);
@@ -11173,16 +11173,16 @@
                 } else {
                     mDimCurrentAlpha = mDimTargetAlpha;
                     mLastDimAnimTime = 0;
-                    if (SHOW_TRANSACTIONS) Log.i(TAG, "  DIM "
+                    if (SHOW_TRANSACTIONS) Slog.i(TAG, "  DIM "
                             + mDimSurface + ": final alpha=" + mDimCurrentAlpha);
                     mDimSurface.setAlpha(mDimCurrentAlpha);
                     if (!dimming) {
-                        if (SHOW_TRANSACTIONS) Log.i(TAG, "  DIM " + mDimSurface
+                        if (SHOW_TRANSACTIONS) Slog.i(TAG, "  DIM " + mDimSurface
                                 + ": HIDE");
                         try {
                             mDimSurface.hide();
                         } catch (RuntimeException e) {
-                            Log.w(TAG, "Illegal argument exception hiding dim surface");
+                            Slog.w(TAG, "Illegal argument exception hiding dim surface");
                         }
                         mDimShown = false;
                     }
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 1840ecc..d628a3b 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -97,7 +97,7 @@
 import android.provider.Settings;
 import android.util.Config;
 import android.util.EventLog;
-import android.util.Log;
+import android.util.Slog;
 import android.util.PrintWriterPrinter;
 import android.util.SparseArray;
 import android.view.Gravity;
@@ -942,7 +942,7 @@
 
         AppDeathRecipient(ProcessRecord app, int pid,
                 IApplicationThread thread) {
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "New death recipient " + this
                 + " for thread " + thread.asBinder());
             mApp = app;
@@ -951,7 +951,7 @@
         }
 
         public void binderDied() {
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "Death received in " + this
                 + " for thread " + mAppThread.asBinder());
             removeRequestedPss(mApp);
@@ -988,7 +988,7 @@
 
     final Handler mHandler = new Handler() {
         //public Handler() {
-        //    if (localLOGV) Log.v(TAG, "Handler started!");
+        //    if (localLOGV) Slog.v(TAG, "Handler started!");
         //}
 
         public void handleMessage(Message msg) {
@@ -998,7 +998,7 @@
                 synchronized (ActivityManagerService.this) {
                     ProcessRecord proc = (ProcessRecord)data.get("app");
                     if (proc != null && proc.crashDialog != null) {
-                        Log.e(TAG, "App already has crash dialog: " + proc);
+                        Slog.e(TAG, "App already has crash dialog: " + proc);
                         return;
                     }
                     AppErrorResult res = (AppErrorResult) data.get("result");
@@ -1020,7 +1020,7 @@
                     HashMap data = (HashMap) msg.obj;
                     ProcessRecord proc = (ProcessRecord)data.get("app");
                     if (proc != null && proc.anrDialog != null) {
-                        Log.e(TAG, "App already has anr dialog: " + proc);
+                        Slog.e(TAG, "App already has anr dialog: " + proc);
                         return;
                     }
                     
@@ -1072,7 +1072,7 @@
                 }
             } break;
             case BROADCAST_INTENT_MSG: {
-                if (DEBUG_BROADCAST) Log.v(
+                if (DEBUG_BROADCAST) Slog.v(
                         TAG, "Received BROADCAST_INTENT_MSG");
                 processNextBroadcast(true);
             } break;
@@ -1089,7 +1089,7 @@
                 IBinder token = (IBinder)msg.obj;
                 // We don't at this point know if the activity is fullscreen,
                 // so we need to be conservative and assume it isn't.
-                Log.w(TAG, "Activity pause timeout for " + token);
+                Slog.w(TAG, "Activity pause timeout for " + token);
                 activityPaused(token, null, true);
             } break;
             case IDLE_TIMEOUT_MSG: {
@@ -1103,14 +1103,14 @@
                 // We don't at this point know if the activity is fullscreen,
                 // so we need to be conservative and assume it isn't.
                 IBinder token = (IBinder)msg.obj;
-                Log.w(TAG, "Activity idle timeout for " + token);
+                Slog.w(TAG, "Activity idle timeout for " + token);
                 activityIdleInternal(token, true, null);
             } break;
             case DESTROY_TIMEOUT_MSG: {
                 IBinder token = (IBinder)msg.obj;
                 // We don't at this point know if the activity is fullscreen,
                 // so we need to be conservative and assume it isn't.
-                Log.w(TAG, "Activity destroy timeout for " + token);
+                Slog.w(TAG, "Activity destroy timeout for " + token);
                 activityDestroyed(token);
             } break;
             case IDLE_NOW_MSG: {
@@ -1135,7 +1135,7 @@
                             try {
                                 r.thread.updateTimeZone();
                             } catch (RemoteException ex) {
-                                Log.w(TAG, "Failed to update time zone for: " + r.info.processName);
+                                Slog.w(TAG, "Failed to update time zone for: " + r.info.processName);
                             }
                         }
                     }
@@ -1168,7 +1168,7 @@
                 }
                 synchronized (ActivityManagerService.this) {
                     if (mLaunchingActivity.isHeld()) {
-                        Log.w(TAG, "Launch timeout has expired, giving up wake lock!");
+                        Slog.w(TAG, "Launch timeout has expired, giving up wake lock!");
                         mLaunchingActivity.release();
                     }
                 }
@@ -1391,7 +1391,7 @@
             mSimpleProcessManagement = true;
         }
 
-        Log.i(TAG, "Memory class: " + ActivityManager.staticGetMemoryClass());
+        Slog.i(TAG, "Memory class: " + ActivityManager.staticGetMemoryClass());
         
         File dataDir = Environment.getDataDirectory();
         File systemDir = new File(dataDir, "system");
@@ -1423,7 +1423,7 @@
                                 final long now = SystemClock.uptimeMillis();
                                 long nextCpuDelay = (mLastCpuTime+MONITOR_CPU_MAX_TIME)-now;
                                 long nextWriteDelay = (mLastWriteTime+BATTERY_STATS_TIME)-now;
-                                //Log.i(TAG, "Cpu delay=" + nextCpuDelay
+                                //Slog.i(TAG, "Cpu delay=" + nextCpuDelay
                                 //        + ", write delay=" + nextWriteDelay);
                                 if (nextWriteDelay < nextCpuDelay) {
                                     nextCpuDelay = nextWriteDelay;
@@ -1437,7 +1437,7 @@
                         
                         updateCpuStatsNow();
                     } catch (Exception e) {
-                        Log.e(TAG, "Unexpected exception collecting process stats", e);
+                        Slog.e(TAG, "Unexpected exception collecting process stats", e);
                     }
                 }
             }
@@ -1454,7 +1454,7 @@
             // The activity manager only throws security exceptions, so let's
             // log all others.
             if (!(e instanceof SecurityException)) {
-                Log.e(TAG, "Activity Manager Crash", e);
+                Slog.e(TAG, "Activity Manager Crash", e);
             }
             throw e;
         }
@@ -1479,11 +1479,11 @@
                 mLastCpuTime = now;
                 haveNewCpuStats = true;
                 mProcessStats.update();
-                //Log.i(TAG, mProcessStats.printCurrentState());
-                //Log.i(TAG, "Total CPU usage: "
+                //Slog.i(TAG, mProcessStats.printCurrentState());
+                //Slog.i(TAG, "Total CPU usage: "
                 //        + mProcessStats.getTotalCpuPercent() + "%");
 
-                // Log the cpu usage if the property is set.
+                // Slog the cpu usage if the property is set.
                 if ("true".equals(SystemProperties.get("events.cpu"))) {
                     int user = mProcessStats.getLastUserTime();
                     int system = mProcessStats.getLastSystemTime();
@@ -1614,7 +1614,7 @@
             mLruProcesses.add(0, app);
         }
         
-        //Log.i(TAG, "Putting proc to front: " + app.processName);
+        //Slog.i(TAG, "Putting proc to front: " + app.processName);
         if (oomAdj) {
             updateOomAdjLocked();
         }
@@ -1725,7 +1725,7 @@
 
         r.app = app;
 
-        if (localLOGV) Log.v(TAG, "Launching: " + r);
+        if (localLOGV) Slog.v(TAG, "Launching: " + r);
 
         int idx = app.activities.indexOf(r);
         if (idx < 0) {
@@ -1743,7 +1743,7 @@
                 results = r.results;
                 newIntents = r.newIntents;
             }
-            if (DEBUG_SWITCH) Log.v(TAG, "Launching: " + r
+            if (DEBUG_SWITCH) Slog.v(TAG, "Launching: " + r
                     + " icicle=" + r.icicle
                     + " with results=" + results + " newIntents=" + newIntents
                     + " andResume=" + andResume);
@@ -1764,7 +1764,7 @@
             if (r.launchFailed) {
                 // This is the second time we failed -- finish activity
                 // and give up.
-                Log.e(TAG, "Second failure launching "
+                Slog.e(TAG, "Second failure launching "
                       + r.intent.getComponent().flattenToShortString()
                       + ", giving up", e);
                 appDiedLocked(app, app.pid, app.thread);
@@ -1781,7 +1781,7 @@
 
         r.launchFailed = false;
         if (updateLRUListLocked(r)) {
-            Log.w(TAG, "Activity " + r
+            Slog.w(TAG, "Activity " + r
                   + " being launched, but already in LRU list");
         }
 
@@ -1834,7 +1834,7 @@
                 realStartActivityLocked(r, app, andResume, checkConfig);
                 return;
             } catch (RemoteException e) {
-                Log.w(TAG, "Exception when starting activity "
+                Slog.w(TAG, "Exception when starting activity "
                         + r.intent.getComponent().flattenToShortString(), e);
             }
 
@@ -1856,7 +1856,7 @@
         //     object attached to it so we know it couldn't have crashed; and
         // (3) There is a pid assigned to it, so it is either starting or
         //     already running.
-        if (DEBUG_PROCESSES) Log.v(TAG, "startProcess: name=" + processName
+        if (DEBUG_PROCESSES) Slog.v(TAG, "startProcess: name=" + processName
                 + " app=" + app + " knownToBeDead=" + knownToBeDead
                 + " thread=" + (app != null ? app.thread : null)
                 + " pid=" + (app != null ? app.pid : -1));
@@ -1946,7 +1946,7 @@
                 gids = mContext.getPackageManager().getPackageGids(
                         app.info.packageName);
             } catch (PackageManager.NameNotFoundException e) {
-                Log.w(TAG, "Unable to retrieve gids", e);
+                Slog.w(TAG, "Unable to retrieve gids", e);
             }
             if (mFactoryTest != SystemServer.FACTORY_TEST_OFF) {
                 if (mFactoryTest == SystemServer.FACTORY_TEST_LOW_LEVEL
@@ -2016,7 +2016,7 @@
                 }
             }
             buf.append("}");
-            Log.i(TAG, buf.toString());
+            Slog.i(TAG, buf.toString());
             if (pid == 0 || pid == MY_PID) {
                 // Processes are being emulated with threads.
                 app.pid = MY_PID;
@@ -2036,29 +2036,29 @@
                 RuntimeException e = new RuntimeException(
                         "Failure starting process " + app.processName
                         + ": returned pid=" + pid);
-                Log.e(TAG, e.getMessage(), e);
+                Slog.e(TAG, e.getMessage(), e);
             }
         } catch (RuntimeException e) {
             // XXX do better error recovery.
             app.pid = 0;
-            Log.e(TAG, "Failure starting process " + app.processName, e);
+            Slog.e(TAG, "Failure starting process " + app.processName, e);
         }
     }
 
     private final void startPausingLocked(boolean userLeaving, boolean uiSleeping) {
         if (mPausingActivity != null) {
             RuntimeException e = new RuntimeException();
-            Log.e(TAG, "Trying to pause when pause is already pending for "
+            Slog.e(TAG, "Trying to pause when pause is already pending for "
                   + mPausingActivity, e);
         }
         HistoryRecord prev = mResumedActivity;
         if (prev == null) {
             RuntimeException e = new RuntimeException();
-            Log.e(TAG, "Trying to pause when nothing is resumed", e);
+            Slog.e(TAG, "Trying to pause when nothing is resumed", e);
             resumeTopActivityLocked(null);
             return;
         }
-        if (DEBUG_PAUSE) Log.v(TAG, "Start pausing: " + prev);
+        if (DEBUG_PAUSE) Slog.v(TAG, "Start pausing: " + prev);
         mResumedActivity = null;
         mPausingActivity = prev;
         mLastPausedActivity = prev;
@@ -2068,7 +2068,7 @@
         updateCpuStats();
         
         if (prev.app != null && prev.app.thread != null) {
-            if (DEBUG_PAUSE) Log.v(TAG, "Enqueueing pending pause: " + prev);
+            if (DEBUG_PAUSE) Slog.v(TAG, "Enqueueing pending pause: " + prev);
             try {
                 EventLog.writeEvent(EventLogTags.AM_PAUSE_ACTIVITY,
                         System.identityHashCode(prev),
@@ -2078,7 +2078,7 @@
                 updateUsageStats(prev, false);
             } catch (Exception e) {
                 // Ignore exception, if process died other code will cleanup.
-                Log.w(TAG, "Exception thrown during pause", e);
+                Slog.w(TAG, "Exception thrown during pause", e);
                 mPausingActivity = null;
                 mLastPausedActivity = null;
             }
@@ -2107,7 +2107,7 @@
             if (!uiSleeping) {
                 prev.pauseKeyDispatchingLocked();
             } else {
-                if (DEBUG_PAUSE) Log.v(TAG, "Key dispatch not paused for screen off");
+                if (DEBUG_PAUSE) Slog.v(TAG, "Key dispatch not paused for screen off");
             }
 
             // Schedule a pause timeout in case the app doesn't respond.
@@ -2116,29 +2116,29 @@
             Message msg = mHandler.obtainMessage(PAUSE_TIMEOUT_MSG);
             msg.obj = prev;
             mHandler.sendMessageDelayed(msg, PAUSE_TIMEOUT);
-            if (DEBUG_PAUSE) Log.v(TAG, "Waiting for pause to complete...");
+            if (DEBUG_PAUSE) Slog.v(TAG, "Waiting for pause to complete...");
         } else {
             // This activity failed to schedule the
             // pause, so just treat it as being paused now.
-            if (DEBUG_PAUSE) Log.v(TAG, "Activity not running, resuming next.");
+            if (DEBUG_PAUSE) Slog.v(TAG, "Activity not running, resuming next.");
             resumeTopActivityLocked(null);
         }
     }
 
     private final void completePauseLocked() {
         HistoryRecord prev = mPausingActivity;
-        if (DEBUG_PAUSE) Log.v(TAG, "Complete pause: " + prev);
+        if (DEBUG_PAUSE) Slog.v(TAG, "Complete pause: " + prev);
         
         if (prev != null) {
             if (prev.finishing) {
-                if (DEBUG_PAUSE) Log.v(TAG, "Executing finish of activity: " + prev);
+                if (DEBUG_PAUSE) Slog.v(TAG, "Executing finish of activity: " + prev);
                 prev = finishCurrentActivityLocked(prev, FINISH_AFTER_VISIBLE);
             } else if (prev.app != null) {
-                if (DEBUG_PAUSE) Log.v(TAG, "Enqueueing pending stop: " + prev);
+                if (DEBUG_PAUSE) Slog.v(TAG, "Enqueueing pending stop: " + prev);
                 if (prev.waitingVisible) {
                     prev.waitingVisible = false;
                     mWaitingVisibleActivities.remove(prev);
-                    if (DEBUG_SWITCH || DEBUG_PAUSE) Log.v(
+                    if (DEBUG_SWITCH || DEBUG_PAUSE) Slog.v(
                             TAG, "Complete pause, no longer waiting: " + prev);
                 }
                 if (prev.configDestroy) {
@@ -2147,7 +2147,7 @@
                     // To juggle the fact that we are also starting a new
                     // instance right now, we need to first completely stop
                     // the current instance before starting the new one.
-                    if (DEBUG_PAUSE) Log.v(TAG, "Destroying after pause: " + prev);
+                    if (DEBUG_PAUSE) Slog.v(TAG, "Destroying after pause: " + prev);
                     destroyActivityLocked(prev, true);
                 } else {
                     mStoppingActivities.add(prev);
@@ -2155,14 +2155,14 @@
                         // If we already have a few activities waiting to stop,
                         // then give up on things going idle and start clearing
                         // them out.
-                        if (DEBUG_PAUSE) Log.v(TAG, "To many pending stops, forcing idle");
+                        if (DEBUG_PAUSE) Slog.v(TAG, "To many pending stops, forcing idle");
                         Message msg = Message.obtain();
                         msg.what = ActivityManagerService.IDLE_NOW_MSG;
                         mHandler.sendMessage(msg);
                     }
                 }
             } else {
-                if (DEBUG_PAUSE) Log.v(TAG, "App died during pause, not stopping: " + prev);
+                if (DEBUG_PAUSE) Slog.v(TAG, "App died during pause, not stopping: " + prev);
                 prev = null;
             }
             mPausingActivity = null;
@@ -2255,7 +2255,7 @@
      */
     private final void ensureActivitiesVisibleLocked(HistoryRecord top,
             HistoryRecord starting, String onlyThisProcess, int configChanges) {
-        if (DEBUG_VISBILITY) Log.v(
+        if (DEBUG_VISBILITY) Slog.v(
                 TAG, "ensureActivitiesVisible behind " + top
                 + " configChanges=0x" + Integer.toHexString(configChanges));
 
@@ -2270,7 +2270,7 @@
         boolean behindFullscreen = false;
         for (; i>=0; i--) {
             r = (HistoryRecord)mHistory.get(i);
-            if (DEBUG_VISBILITY) Log.v(
+            if (DEBUG_VISBILITY) Slog.v(
                     TAG, "Make visible? " + r + " finishing=" + r.finishing
                     + " state=" + r.state);
             if (r.finishing) {
@@ -2292,13 +2292,13 @@
                     // This activity needs to be visible, but isn't even
                     // running...  get it started, but don't resume it
                     // at this point.
-                    if (DEBUG_VISBILITY) Log.v(
+                    if (DEBUG_VISBILITY) Slog.v(
                             TAG, "Start and freeze screen for " + r);
                     if (r != starting) {
                         r.startFreezingScreenLocked(r.app, configChanges);
                     }
                     if (!r.visible) {
-                        if (DEBUG_VISBILITY) Log.v(
+                        if (DEBUG_VISBILITY) Slog.v(
                                 TAG, "Starting and making visible: " + r);
                         mWindowManager.setAppVisibility(r, true);
                     }
@@ -2310,7 +2310,7 @@
             } else if (r.visible) {
                 // If this activity is already visible, then there is nothing
                 // else to do here.
-                if (DEBUG_VISBILITY) Log.v(
+                if (DEBUG_VISBILITY) Slog.v(
                         TAG, "Skipping: already visible at " + r);
                 r.stopFreezingScreenLocked(false);
 
@@ -2321,7 +2321,7 @@
                 if (r.state != ActivityState.RESUMED && r != starting) {
                     // If this activity is paused, tell it
                     // to now show its window.
-                    if (DEBUG_VISBILITY) Log.v(
+                    if (DEBUG_VISBILITY) Slog.v(
                             TAG, "Making visible and scheduling visibility: " + r);
                     try {
                         mWindowManager.setAppVisibility(r, true);
@@ -2330,7 +2330,7 @@
                     } catch (Exception e) {
                         // Just skip on any failure; we'll make it
                         // visible when it next restarts.
-                        Log.w(TAG, "Exception thrown making visibile: "
+                        Slog.w(TAG, "Exception thrown making visibile: "
                                 + r.intent.getComponent(), e);
                     }
                 }
@@ -2341,7 +2341,7 @@
 
             if (r.fullscreen) {
                 // At this point, nothing else needs to be shown
-                if (DEBUG_VISBILITY) Log.v(
+                if (DEBUG_VISBILITY) Slog.v(
                         TAG, "Stopping: fullscreen at " + r);
                 behindFullscreen = true;
                 i--;
@@ -2353,14 +2353,14 @@
         // sure they no longer are keeping the screen frozen.
         while (i >= 0) {
             r = (HistoryRecord)mHistory.get(i);
-            if (DEBUG_VISBILITY) Log.v(
+            if (DEBUG_VISBILITY) Slog.v(
                     TAG, "Make invisible? " + r + " finishing=" + r.finishing
                     + " state=" + r.state
                     + " behindFullscreen=" + behindFullscreen);
             if (!r.finishing) {
                 if (behindFullscreen) {
                     if (r.visible) {
-                        if (DEBUG_VISBILITY) Log.v(
+                        if (DEBUG_VISBILITY) Slog.v(
                                 TAG, "Making invisible: " + r);
                         r.visible = false;
                         try {
@@ -2368,22 +2368,22 @@
                             if ((r.state == ActivityState.STOPPING
                                     || r.state == ActivityState.STOPPED)
                                     && r.app != null && r.app.thread != null) {
-                                if (DEBUG_VISBILITY) Log.v(
+                                if (DEBUG_VISBILITY) Slog.v(
                                         TAG, "Scheduling invisibility: " + r);
                                 r.app.thread.scheduleWindowVisibility(r, false);
                             }
                         } catch (Exception e) {
                             // Just skip on any failure; we'll make it
                             // visible when it next restarts.
-                            Log.w(TAG, "Exception thrown making hidden: "
+                            Slog.w(TAG, "Exception thrown making hidden: "
                                     + r.intent.getComponent(), e);
                         }
                     } else {
-                        if (DEBUG_VISBILITY) Log.v(
+                        if (DEBUG_VISBILITY) Slog.v(
                                 TAG, "Already invisible: " + r);
                     }
                 } else if (r.fullscreen) {
-                    if (DEBUG_VISBILITY) Log.v(
+                    if (DEBUG_VISBILITY) Slog.v(
                             TAG, "Now behindFullscreen: " + r);
                     behindFullscreen = true;
                 }
@@ -2502,7 +2502,7 @@
     }
     
     private void reportResumedActivityLocked(HistoryRecord r) {
-        //Log.i(TAG, "**** REPORT RESUME: " + r);
+        //Slog.i(TAG, "**** REPORT RESUME: " + r);
         
         final int identHash = System.identityHashCode(r);
         updateUsageStats(r, true);
@@ -2572,19 +2572,19 @@
         mStoppingActivities.remove(next);
         mWaitingVisibleActivities.remove(next);
 
-        if (DEBUG_SWITCH) Log.v(TAG, "Resuming " + next);
+        if (DEBUG_SWITCH) Slog.v(TAG, "Resuming " + next);
 
         // If we are currently pausing an activity, then don't do anything
         // until that is done.
         if (mPausingActivity != null) {
-            if (DEBUG_SWITCH) Log.v(TAG, "Skip resume: pausing=" + mPausingActivity);
+            if (DEBUG_SWITCH) Slog.v(TAG, "Skip resume: pausing=" + mPausingActivity);
             return false;
         }
 
         // We need to start pausing the current activity so the top one
         // can be resumed...
         if (mResumedActivity != null) {
-            if (DEBUG_SWITCH) Log.v(TAG, "Skip resume: need to start pausing");
+            if (DEBUG_SWITCH) Slog.v(TAG, "Skip resume: need to start pausing");
             startPausingLocked(userLeaving, false);
             return true;
         }
@@ -2593,7 +2593,7 @@
             if (!prev.waitingVisible && next != null && !next.nowVisible) {
                 prev.waitingVisible = true;
                 mWaitingVisibleActivities.add(prev);
-                if (DEBUG_SWITCH) Log.v(
+                if (DEBUG_SWITCH) Slog.v(
                         TAG, "Resuming top, waiting visible to hide: " + prev);
             } else {
                 // The next activity is already visible, so hide the previous
@@ -2606,12 +2606,12 @@
                 // new one is found to be full-screen or not.
                 if (prev.finishing) {
                     mWindowManager.setAppVisibility(prev, false);
-                    if (DEBUG_SWITCH) Log.v(TAG, "Not waiting for visible to hide: "
+                    if (DEBUG_SWITCH) Slog.v(TAG, "Not waiting for visible to hide: "
                             + prev + ", waitingVisible="
                             + (prev != null ? prev.waitingVisible : null)
                             + ", nowVisible=" + next.nowVisible);
                 } else {
-                    if (DEBUG_SWITCH) Log.v(TAG, "Previous already visible but still waiting to hide: "
+                    if (DEBUG_SWITCH) Slog.v(TAG, "Previous already visible but still waiting to hide: "
                         + prev + ", waitingVisible="
                         + (prev != null ? prev.waitingVisible : null)
                         + ", nowVisible=" + next.nowVisible);
@@ -2624,7 +2624,7 @@
         // to ignore it when computing the desired screen orientation.
         if (prev != null) {
             if (prev.finishing) {
-                if (DEBUG_TRANSITION) Log.v(TAG,
+                if (DEBUG_TRANSITION) Slog.v(TAG,
                         "Prepare close transition: prev=" + prev);
                 if (mNoAnimActivities.contains(prev)) {
                     mWindowManager.prepareAppTransition(WindowManagerPolicy.TRANSIT_NONE);
@@ -2636,7 +2636,7 @@
                 mWindowManager.setAppWillBeHidden(prev);
                 mWindowManager.setAppVisibility(prev, false);
             } else {
-                if (DEBUG_TRANSITION) Log.v(TAG,
+                if (DEBUG_TRANSITION) Slog.v(TAG,
                         "Prepare open transition: prev=" + prev);
                 if (mNoAnimActivities.contains(next)) {
                     mWindowManager.prepareAppTransition(WindowManagerPolicy.TRANSIT_NONE);
@@ -2651,7 +2651,7 @@
                 mWindowManager.setAppVisibility(prev, false);
             }
         } else if (mHistory.size() > 1) {
-            if (DEBUG_TRANSITION) Log.v(TAG,
+            if (DEBUG_TRANSITION) Slog.v(TAG,
                     "Prepare open transition: no previous");
             if (mNoAnimActivities.contains(next)) {
                 mWindowManager.prepareAppTransition(WindowManagerPolicy.TRANSIT_NONE);
@@ -2661,7 +2661,7 @@
         }
 
         if (next.app != null && next.app.thread != null) {
-            if (DEBUG_SWITCH) Log.v(TAG, "Resume running: " + next);
+            if (DEBUG_SWITCH) Slog.v(TAG, "Resume running: " + next);
 
             // This activity is now becoming visible.
             mWindowManager.setAppVisibility(next, true);
@@ -2696,7 +2696,7 @@
                 // is still at the top and schedule another run if something
                 // weird happened.
                 HistoryRecord nextNext = topRunningActivityLocked(null);
-                if (DEBUG_SWITCH) Log.i(TAG,
+                if (DEBUG_SWITCH) Slog.i(TAG,
                         "Activity config changed during resume: " + next
                         + ", new next: " + nextNext);
                 if (nextNext != next) {
@@ -2716,7 +2716,7 @@
                 if (a != null) {
                     final int N = a.size();
                     if (!next.finishing && N > 0) {
-                        if (DEBUG_RESULTS) Log.v(
+                        if (DEBUG_RESULTS) Slog.v(
                                 TAG, "Delivering results to " + next
                                 + ": " + a);
                         next.app.thread.scheduleSendResult(next, a);
@@ -2740,7 +2740,7 @@
                 // Whoops, need to restart this activity!
                 next.state = lastState;
                 mResumedActivity = lastResumedActivity;
-                Log.i(TAG, "Restarting because process died: " + next);
+                Slog.i(TAG, "Restarting because process died: " + next);
                 if (!next.hasBeenLaunched) {
                     next.hasBeenLaunched = true;
                 } else {
@@ -2763,7 +2763,7 @@
             } catch (Exception e) {
                 // If any exception gets thrown, toss away this
                 // activity and try the next one.
-                Log.w(TAG, "Exception thrown during resume of " + next, e);
+                Slog.w(TAG, "Exception thrown during resume of " + next, e);
                 requestFinishActivityLocked(next, Activity.RESULT_CANCELED, null,
                         "resume-exception");
                 return true;
@@ -2785,7 +2785,7 @@
                             next.nonLocalizedLabel,
                             next.labelRes, next.icon, null, true);
                 }
-                if (DEBUG_SWITCH) Log.v(TAG, "Restarting: " + next);
+                if (DEBUG_SWITCH) Slog.v(TAG, "Restarting: " + next);
             }
             startSpecificActivityLocked(next, true, true);
         }
@@ -2844,7 +2844,7 @@
         // activity
         if (addPos < NH) {
             mUserLeaving = false;
-            if (DEBUG_USER_LEAVING) Log.v(TAG, "startActivity() behind front, mUserLeaving=false");
+            if (DEBUG_USER_LEAVING) Slog.v(TAG, "startActivity() behind front, mUserLeaving=false");
         }
         
         // Slot the activity into the history stack and proceed
@@ -2864,7 +2864,7 @@
             if (proc == null || proc.thread == null) {
                 showStartingIcon = true;
             }
-            if (DEBUG_TRANSITION) Log.v(TAG,
+            if (DEBUG_TRANSITION) Slog.v(TAG,
                     "Prepare open transition: starting " + r);
             if ((r.intent.getFlags()&Intent.FLAG_ACTIVITY_NO_ANIMATION) != 0) {
                 mWindowManager.prepareAppTransition(WindowManagerPolicy.TRANSIT_NONE);
@@ -3047,7 +3047,7 @@
                 r.app.thread.scheduleNewIntent(ar, r);
                 sent = true;
             } catch (Exception e) {
-                Log.w(TAG, "Exception thrown sending new intent to " + r, e);
+                Slog.w(TAG, "Exception thrown sending new intent to " + r, e);
             }
         }
         if (!sent) {
@@ -3071,13 +3071,13 @@
             String resultWho, int requestCode,
             int callingPid, int callingUid, boolean onlyIfNeeded,
             boolean componentSpecified) {
-        Log.i(TAG, "Starting activity: " + intent);
+        Slog.i(TAG, "Starting activity: " + intent);
 
         HistoryRecord sourceRecord = null;
         HistoryRecord resultRecord = null;
         if (resultTo != null) {
             int index = indexOfTokenLocked(resultTo);
-            if (DEBUG_RESULTS) Log.v(
+            if (DEBUG_RESULTS) Slog.v(
                 TAG, "Sending result to " + resultTo + " (index " + index + ")");
             if (index >= 0) {
                 sourceRecord = (HistoryRecord)mHistory.get(index);
@@ -3127,7 +3127,7 @@
                 callingPid = callerApp.pid;
                 callingUid = callerApp.info.uid;
             } else {
-                Log.w(TAG, "Unable to find app for caller " + caller
+                Slog.w(TAG, "Unable to find app for caller " + caller
                       + " (pid=" + callingPid + ") when starting: "
                       + intent.toString());
                 err = START_PERMISSION_DENIED;
@@ -3155,7 +3155,7 @@
                     + " from " + callerApp + " (pid=" + callingPid
                     + ", uid=" + callingUid + ")"
                     + " requires " + aInfo.permission;
-            Log.w(TAG, msg);
+            Slog.w(TAG, msg);
             throw new SecurityException(msg);
         }
 
@@ -3243,7 +3243,7 @@
         // We'll invoke onUserLeaving before onPause only if the launching
         // activity did not explicitly state that this is an automated launch.
         mUserLeaving = (launchFlags&Intent.FLAG_ACTIVITY_NO_USER_ACTION) == 0;
-        if (DEBUG_USER_LEAVING) Log.v(TAG,
+        if (DEBUG_USER_LEAVING) Slog.v(TAG,
                 "startActivity() => mUserLeaving=" + mUserLeaving);
         
         // If the caller has asked not to resume at this point, we make note
@@ -3285,7 +3285,7 @@
             // This activity is not being started from another...  in this
             // case we -always- start a new task.
             if ((launchFlags&Intent.FLAG_ACTIVITY_NEW_TASK) == 0) {
-                Log.w(TAG, "startActivity called from non-Activity context; forcing Intent.FLAG_ACTIVITY_NEW_TASK for: "
+                Slog.w(TAG, "startActivity called from non-Activity context; forcing Intent.FLAG_ACTIVITY_NEW_TASK for: "
                       + intent);
                 launchFlags |= Intent.FLAG_ACTIVITY_NEW_TASK;
             }
@@ -3307,7 +3307,7 @@
             // is pretty messed up, so instead immediately send back a cancel
             // and let the new task continue launched as normal without a
             // dependency on its originator.
-            Log.w(TAG, "Activity is launching as a new task, so cancelling activity result.");
+            Slog.w(TAG, "Activity is launching as a new task, so cancelling activity result.");
             sendActivityResultLocked(-1,
                     r.resultTo, r.resultWho, r.requestCode,
                 Activity.RESULT_CANCELED, null);
@@ -3454,9 +3454,9 @@
 
         //String uri = r.intent.toURI();
         //Intent intent2 = new Intent(uri);
-        //Log.i(TAG, "Given intent: " + r.intent);
-        //Log.i(TAG, "URI is: " + uri);
-        //Log.i(TAG, "To intent: " + intent2);
+        //Slog.i(TAG, "Given intent: " + r.intent);
+        //Slog.i(TAG, "URI is: " + uri);
+        //Slog.i(TAG, "To intent: " + intent2);
 
         if (r.packageName != null) {
             // If the activity being launched is the same as the one currently
@@ -3509,7 +3509,7 @@
             }
             r.task = new TaskRecord(mCurTask, r.info, intent,
                     (r.info.flags&ActivityInfo.FLAG_CLEAR_TASK_ON_LAUNCH) != 0);
-            if (DEBUG_TASKS) Log.v(TAG, "Starting new activity " + r
+            if (DEBUG_TASKS) Slog.v(TAG, "Starting new activity " + r
                     + " in new task " + r.task);
             newTask = true;
             addRecentTask(r.task);
@@ -3552,7 +3552,7 @@
             // to keep the new one in the same task as the one that is starting
             // it.
             r.task = sourceRecord.task;
-            if (DEBUG_TASKS) Log.v(TAG, "Starting new activity " + r
+            if (DEBUG_TASKS) Slog.v(TAG, "Starting new activity " + r
                     + " in existing task " + r.task);
 
         } else {
@@ -3566,7 +3566,7 @@
                 ? prev.task
                 : new TaskRecord(mCurTask, r.info, intent,
                         (r.info.flags&ActivityInfo.FLAG_CLEAR_TASK_ON_LAUNCH) != 0);
-            if (DEBUG_TASKS) Log.v(TAG, "Starting new activity " + r
+            if (DEBUG_TASKS) Slog.v(TAG, "Starting new activity " + r
                     + " in new guessed " + r.task);
         }
         if (newTask) {
@@ -3945,7 +3945,7 @@
     }
 
     private final void stopActivityLocked(HistoryRecord r) {
-        if (DEBUG_SWITCH) Log.d(TAG, "Stopping: " + r);
+        if (DEBUG_SWITCH) Slog.d(TAG, "Stopping: " + r);
         if ((r.intent.getFlags()&Intent.FLAG_ACTIVITY_NO_HISTORY) != 0
                 || (r.info.flags&ActivityInfo.FLAG_NO_HISTORY) != 0) {
             if (!r.finishing) {
@@ -3960,7 +3960,7 @@
             try {
                 r.stopped = false;
                 r.state = ActivityState.STOPPING;
-                if (DEBUG_VISBILITY) Log.v(
+                if (DEBUG_VISBILITY) Slog.v(
                         TAG, "Stopping visible=" + r.visible + " for " + r);
                 if (!r.visible) {
                     mWindowManager.setAppVisibility(r, false);
@@ -3970,7 +3970,7 @@
                 // Maybe just ignore exceptions here...  if the process
                 // has crashed, our death notification will clean things
                 // up.
-                Log.w(TAG, "Exception thrown during pause", e);
+                Slog.w(TAG, "Exception thrown during pause", e);
                 // Just in case, assume it to be stopped.
                 r.stopped = true;
                 r.state = ActivityState.STOPPED;
@@ -3987,7 +3987,7 @@
      */
     private final boolean requestFinishActivityLocked(IBinder token, int resultCode,
             Intent resultData, String reason) {
-        if (DEBUG_RESULTS) Log.v(
+        if (DEBUG_RESULTS) Slog.v(
             TAG, "Finishing activity: token=" + token
             + ", result=" + resultCode + ", data=" + resultData);
 
@@ -4026,7 +4026,7 @@
     private final boolean finishActivityLocked(HistoryRecord r, int index,
             int resultCode, Intent resultData, String reason) {
         if (r.finishing) {
-            Log.w(TAG, "Duplicate finish request for " + r);
+            Slog.w(TAG, "Duplicate finish request for " + r);
             return false;
         }
 
@@ -4050,7 +4050,7 @@
         // send the result
         HistoryRecord resultTo = r.resultTo;
         if (resultTo != null) {
-            if (DEBUG_RESULTS) Log.v(TAG, "Adding result to " + resultTo
+            if (DEBUG_RESULTS) Slog.v(TAG, "Adding result to " + resultTo
                     + " who=" + r.resultWho + " req=" + r.requestCode
                     + " res=" + resultCode + " data=" + resultData);
             if (r.info.applicationInfo.uid > 0) {
@@ -4061,7 +4061,7 @@
                                      resultData);
             r.resultTo = null;
         }
-        else if (DEBUG_RESULTS) Log.v(TAG, "No result destination from " + r);
+        else if (DEBUG_RESULTS) Slog.v(TAG, "No result destination from " + r);
 
         // Make sure this HistoryRecord is not holding on to other resources,
         // because clients have remote IPC references to this object so we
@@ -4081,7 +4081,7 @@
         if (mResumedActivity == r) {
             boolean endTask = index <= 0
                     || ((HistoryRecord)mHistory.get(index-1)).task != r.task;
-            if (DEBUG_TRANSITION) Log.v(TAG,
+            if (DEBUG_TRANSITION) Slog.v(TAG,
                     "Prepare close transition: finishing " + r);
             mWindowManager.prepareAppTransition(endTask
                     ? WindowManagerPolicy.TRANSIT_TASK_CLOSE
@@ -4091,19 +4091,19 @@
             mWindowManager.setAppVisibility(r, false);
                 
             if (mPausingActivity == null) {
-                if (DEBUG_PAUSE) Log.v(TAG, "Finish needs to pause: " + r);
-                if (DEBUG_USER_LEAVING) Log.v(TAG, "finish() => pause with userLeaving=false");
+                if (DEBUG_PAUSE) Slog.v(TAG, "Finish needs to pause: " + r);
+                if (DEBUG_USER_LEAVING) Slog.v(TAG, "finish() => pause with userLeaving=false");
                 startPausingLocked(false, false);
             }
 
         } else if (r.state != ActivityState.PAUSING) {
             // If the activity is PAUSING, we will complete the finish once
             // it is done pausing; else we can just directly finish it here.
-            if (DEBUG_PAUSE) Log.v(TAG, "Finish not pausing: " + r);
+            if (DEBUG_PAUSE) Slog.v(TAG, "Finish not pausing: " + r);
             return finishCurrentActivityLocked(r, index,
                     FINISH_AFTER_PAUSE) == null;
         } else {
-            if (DEBUG_PAUSE) Log.v(TAG, "Finish waiting for pause of: " + r);
+            if (DEBUG_PAUSE) Slog.v(TAG, "Finish waiting for pause of: " + r);
         }
 
         return false;
@@ -4163,7 +4163,7 @@
         } else {
             // Need to go through the full pause cycle to get this
             // activity into the stopped state and then finish it.
-            if (localLOGV) Log.v(TAG, "Enqueueing pending finish: " + r);
+            if (localLOGV) Slog.v(TAG, "Enqueueing pending finish: " + r);
             mFinishingActivities.add(r);
             resumeTopActivityLocked(null);
         }
@@ -4219,7 +4219,7 @@
                     data, r);
         }
 
-        if (DEBUG_RESULTS) Log.v(TAG, "Send activity result to " + r
+        if (DEBUG_RESULTS) Slog.v(TAG, "Send activity result to " + r
                 + " : who=" + resultWho + " req=" + requestCode
                 + " res=" + resultCode + " data=" + data);
         if (mResumedActivity == r && r.app != null && r.app.thread != null) {
@@ -4230,7 +4230,7 @@
                 r.app.thread.scheduleSendResult(r, list);
                 return;
             } catch (Exception e) {
-                Log.w(TAG, "Exception thrown sending result to " + r, e);
+                Slog.w(TAG, "Exception thrown sending result to " + r, e);
             }
         }
 
@@ -4373,7 +4373,7 @@
      */
     private final boolean destroyActivityLocked(HistoryRecord r,
             boolean removeFromApp) {
-        if (DEBUG_SWITCH) Log.v(
+        if (DEBUG_SWITCH) Slog.v(
             TAG, "Removing activity: token=" + r
               + ", app=" + (r.app != null ? r.app.processName : "(null)"));
         EventLog.writeEvent(EventLogTags.AM_DESTROY_ACTIVITY,
@@ -4405,14 +4405,14 @@
             boolean skipDestroy = false;
             
             try {
-                if (DEBUG_SWITCH) Log.i(TAG, "Destroying: " + r);
+                if (DEBUG_SWITCH) Slog.i(TAG, "Destroying: " + r);
                 r.app.thread.scheduleDestroyActivity(r, r.finishing,
                         r.configChangeFlags);
             } catch (Exception e) {
                 // We can just ignore exceptions here...  if the process
                 // has crashed, our death notification will clean things
                 // up.
-                //Log.w(TAG, "Exception thrown during finish", e);
+                //Slog.w(TAG, "Exception thrown during finish", e);
                 if (r.finishing) {
                     removeActivityFromHistoryLocked(r);
                     removedFromHistory = true;
@@ -4444,7 +4444,7 @@
         r.configChangeFlags = 0;
         
         if (!mLRUActivities.remove(r) && hadApp) {
-            Log.w(TAG, "Activity " + r + " being finished, but not in LRU list");
+            Slog.w(TAG, "Activity " + r + " being finished, but not in LRU list");
         }
         
         return removedFromHistory;
@@ -4452,16 +4452,16 @@
 
     private static void removeHistoryRecordsForAppLocked(ArrayList list, ProcessRecord app) {
         int i = list.size();
-        if (localLOGV) Log.v(
+        if (localLOGV) Slog.v(
             TAG, "Removing app " + app + " from list " + list
             + " with " + i + " entries");
         while (i > 0) {
             i--;
             HistoryRecord r = (HistoryRecord)list.get(i);
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "Record #" + i + " " + r + ": app=" + r.app);
             if (r.app == app) {
-                if (localLOGV) Log.v(TAG, "Removing this entry!");
+                if (localLOGV) Slog.v(TAG, "Removing this entry!");
                 list.remove(i);
             }
         }
@@ -4481,7 +4481,7 @@
 
         // Just in case...
         if (mPausingActivity != null && mPausingActivity.app == app) {
-            if (DEBUG_PAUSE) Log.v(TAG, "App died while pausing: " + mPausingActivity);
+            if (DEBUG_PAUSE) Slog.v(TAG, "App died while pausing: " + mPausingActivity);
             mPausingActivity = null;
         }
         if (mLastPausedActivity != null && mLastPausedActivity.app == app) {
@@ -4499,16 +4499,16 @@
 
         // Clean out the history list.
         int i = mHistory.size();
-        if (localLOGV) Log.v(
+        if (localLOGV) Slog.v(
             TAG, "Removing app " + app + " from history with " + i + " entries");
         while (i > 0) {
             i--;
             HistoryRecord r = (HistoryRecord)mHistory.get(i);
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "Record #" + i + " " + r + ": app=" + r.app);
             if (r.app == app) {
                 if ((!r.haveState && !r.stateNotNeeded) || r.finishing) {
-                    if (localLOGV) Log.v(
+                    if (localLOGV) Slog.v(
                         TAG, "Removing this entry!  frozen=" + r.haveState
                         + " finishing=" + r.finishing);
                     mHistory.remove(i);
@@ -4523,7 +4523,7 @@
                 } else {
                     // We have the current state for this activity, so
                     // it can be restarted later when needed.
-                    if (localLOGV) Log.v(
+                    if (localLOGV) Slog.v(
                         TAG, "Keeping entry, setting app to null");
                     if (r.visible) {
                         hasVisibleActivities = true;
@@ -4544,7 +4544,7 @@
         app.activities.clear();
         
         if (app.instrumentationClass != null) {
-            Log.w(TAG, "Crash of app " + app.processName
+            Slog.w(TAG, "Crash of app " + app.processName
                   + " running instrumentation " + app.instrumentationClass);
             Bundle info = new Bundle();
             info.putString("shortMsg", "Process crashed.");
@@ -4596,10 +4596,10 @@
         // Clean up already done if the process has been re-started.
         if (app.pid == pid && app.thread != null &&
                 app.thread.asBinder() == thread.asBinder()) {
-            Log.i(TAG, "Process " + app.processName + " (pid " + pid
+            Slog.i(TAG, "Process " + app.processName + " (pid " + pid
                     + ") has died.");
             EventLog.writeEvent(EventLogTags.AM_PROC_DIED, app.pid, app.processName);
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "Dying app: " + app + ", pid: " + pid
                 + ", thread: " + thread.asBinder());
             boolean doLowMem = app.instrumentationClass == null;
@@ -4619,7 +4619,7 @@
                 }
                 
                 if (!haveBg) {
-                    Log.i(TAG, "Low Memory: No more background processes.");
+                    Slog.i(TAG, "Low Memory: No more background processes.");
                     EventLog.writeEvent(EventLogTags.AM_LOW_MEMORY, mLruProcesses.size());
                     long now = SystemClock.uptimeMillis();
                     for (int i=mLruProcesses.size()-1; i>=0; i--) {
@@ -4645,11 +4645,11 @@
             }
         } else if (app.pid != pid) {
             // A new process has already been started.
-            Log.i(TAG, "Process " + app.processName + " (pid " + pid
+            Slog.i(TAG, "Process " + app.processName + " (pid " + pid
                     + ") has died and restarted (pid " + app.pid + ").");
             EventLog.writeEvent(EventLogTags.AM_PROC_DIED, app.pid, app.processName);
         } else if (DEBUG_PROCESSES) {
-            Log.d(TAG, "Received spurious death notification for thread "
+            Slog.d(TAG, "Received spurious death notification for thread "
                     + thread.asBinder());
         }
     }
@@ -4675,7 +4675,7 @@
             tracesFile.createNewFile();
             FileUtils.setPermissions(tracesFile.getPath(), 0666, -1, -1); // -rw-rw-rw-
         } catch (IOException e) {
-            Log.w(TAG, "Unable to prepare ANR traces file: " + tracesPath, e);
+            Slog.w(TAG, "Unable to prepare ANR traces file: " + tracesPath, e);
             return null;
         }
 
@@ -4695,7 +4695,7 @@
                 }
             }
         } catch (InterruptedException e) {
-            Log.wtf(TAG, e);
+            Slog.wtf(TAG, e);
         } finally {
             observer.stopWatching();
         }
@@ -4755,7 +4755,7 @@
             info.append(cpuInfo);
         }
 
-        Log.e(TAG, info.toString());
+        Slog.e(TAG, info.toString());
         if (tracesFile == null) {
             // There is no trace file, so dump (only) the alleged culprit's threads to the log
             Process.sendSignal(app.pid, Process.SIGNAL_QUIT);
@@ -4828,7 +4828,7 @@
                     + Binder.getCallingPid()
                     + ", uid=" + Binder.getCallingUid()
                     + " requires " + android.Manifest.permission.PERSISTENT_ACTIVITY;
-            Log.w(TAG, msg);
+            Slog.w(TAG, msg);
             throw new SecurityException(msg);
         }
 
@@ -4840,26 +4840,26 @@
             HistoryRecord r = (HistoryRecord)mHistory.get(index);
             ProcessRecord app = r.app;
 
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "Setting persistence " + isPersistent + ": " + r);
 
             if (isPersistent) {
                 if (r.persistent) {
                     // Okay okay, I heard you already!
-                    if (localLOGV) Log.v(TAG, "Already persistent!");
+                    if (localLOGV) Slog.v(TAG, "Already persistent!");
                     return;
                 }
                 r.persistent = true;
                 app.persistentActivities++;
-                if (localLOGV) Log.v(TAG, "Num persistent now: " + app.persistentActivities);
+                if (localLOGV) Slog.v(TAG, "Num persistent now: " + app.persistentActivities);
                 if (app.persistentActivities > 1) {
                     // We aren't the first...
-                    if (localLOGV) Log.v(TAG, "Not the first!");
+                    if (localLOGV) Slog.v(TAG, "Not the first!");
                     return;
                 }
                 if (app.persistent) {
                     // This would be redundant.
-                    if (localLOGV) Log.v(TAG, "App is persistent!");
+                    if (localLOGV) Slog.v(TAG, "App is persistent!");
                     return;
                 }
 
@@ -4897,7 +4897,7 @@
                 } catch (RemoteException e) {
                 }
                 if (pkgUid == -1) {
-                    Log.w(TAG, "Invalid packageName:" + packageName);
+                    Slog.w(TAG, "Invalid packageName:" + packageName);
                     return false;
                 }
                 if (uid == pkgUid || checkComponentPermission(
@@ -4938,7 +4938,7 @@
                     + Binder.getCallingPid()
                     + ", uid=" + Binder.getCallingUid()
                     + " requires " + android.Manifest.permission.KILL_BACKGROUND_PROCESSES;
-            Log.w(TAG, msg);
+            Slog.w(TAG, msg);
             throw new SecurityException(msg);
         }
         
@@ -4952,7 +4952,7 @@
                 } catch (RemoteException e) {
                 }
                 if (pkgUid == -1) {
-                    Log.w(TAG, "Invalid packageName: " + packageName);
+                    Slog.w(TAG, "Invalid packageName: " + packageName);
                     return;
                 }
                 killPackageProcessesLocked(packageName, pkgUid,
@@ -4970,7 +4970,7 @@
                     + Binder.getCallingPid()
                     + ", uid=" + Binder.getCallingUid()
                     + " requires " + android.Manifest.permission.FORCE_STOP_PACKAGES;
-            Log.w(TAG, msg);
+            Slog.w(TAG, msg);
             throw new SecurityException(msg);
         }
         
@@ -4984,7 +4984,7 @@
                 } catch (RemoteException e) {
                 }
                 if (pkgUid == -1) {
-                    Log.w(TAG, "Invalid packageName: " + packageName);
+                    Slog.w(TAG, "Invalid packageName: " + packageName);
                     return;
                 }
                 forceStopPackageLocked(packageName, pkgUid);
@@ -5004,7 +5004,7 @@
         }
         // Make sure the uid is valid.
         if (uid < 0) {
-            Log.w(TAG, "Invalid uid specified for pkg : " + pkg);
+            Slog.w(TAG, "Invalid uid specified for pkg : " + pkg);
             return;
         }
         int callerUid = Binder.getCallingUid();
@@ -5087,7 +5087,7 @@
                         // If the other end already died, then our work here is done.
                     }
                 } else {
-                    Log.w(TAG, "Process/uid not found attempting kill of "
+                    Slog.w(TAG, "Process/uid not found attempting kill of "
                             + processName + " / " + uid);
                 }
             }
@@ -5156,7 +5156,7 @@
         }
 
         if (doit) {
-            Log.i(TAG, "Force stopping package " + name + " uid=" + uid);
+            Slog.i(TAG, "Force stopping package " + name + " uid=" + uid);
 
             Iterator<SparseArray<Long>> badApps = mProcessCrashTimes.getMap().values().iterator();
             while (badApps.hasNext()) {
@@ -5177,7 +5177,7 @@
                     return true;
                 }
                 didSomething = true;
-                Log.i(TAG, "  Force finishing activity " + r);
+                Slog.i(TAG, "  Force finishing activity " + r);
                 if (r.app != null) {
                     r.app.removed = true;
                 }
@@ -5193,7 +5193,7 @@
                     return true;
                 }
                 didSomething = true;
-                Log.i(TAG, "  Force stopping service " + service);
+                Slog.i(TAG, "  Force stopping service " + service);
                 if (service.app != null) {
                     service.app.removed = true;
                 }
@@ -5223,7 +5223,7 @@
     private final boolean removeProcessLocked(ProcessRecord app, boolean callerWillRestart) {
         final String name = app.processName;
         final int uid = app.info.uid;
-        if (DEBUG_PROCESSES) Log.d(
+        if (DEBUG_PROCESSES) Slog.d(
             TAG, "Force removing process " + app + " (" + name
             + "/" + uid + ")");
 
@@ -5265,7 +5265,7 @@
         }
         
         if (gone) {
-            Log.w(TAG, "Process " + app + " failed to attach");
+            Slog.w(TAG, "Process " + app + " failed to attach");
             EventLog.writeEvent(EventLogTags.AM_PROCESS_START_TIMEOUT, pid, app.info.uid,
                     app.processName);
             mProcessNames.remove(app.processName, app.info.uid);
@@ -5276,7 +5276,7 @@
                 ServiceRecord sr = mPendingServices.get(i);
                 if (app.info.uid == sr.appInfo.uid
                         && app.processName.equals(sr.processName)) {
-                    Log.w(TAG, "Forcing bringing down service: " + sr);
+                    Slog.w(TAG, "Forcing bringing down service: " + sr);
                     mPendingServices.remove(i);
                     i--;
                     bringDownServiceLocked(sr, true);
@@ -5284,7 +5284,7 @@
             }
             Process.killProcess(pid);
             if (mBackupTarget != null && mBackupTarget.app.pid == pid) {
-                Log.w(TAG, "Unattached app died before backup, skipping");
+                Slog.w(TAG, "Unattached app died before backup, skipping");
                 try {
                     IBackupManager bm = IBackupManager.Stub.asInterface(
                             ServiceManager.getService(Context.BACKUP_SERVICE));
@@ -5294,12 +5294,12 @@
                 }
             }
             if (mPendingBroadcast != null && mPendingBroadcast.curApp.pid == pid) {
-                Log.w(TAG, "Unattached app died before broadcast acknowledged, skipping");
+                Slog.w(TAG, "Unattached app died before broadcast acknowledged, skipping");
                 mPendingBroadcast = null;
                 scheduleBroadcastsLocked();
             }
         } else {
-            Log.w(TAG, "Spurious process start timeout - pid not known for " + app);
+            Slog.w(TAG, "Spurious process start timeout - pid not known for " + app);
         }
     }
 
@@ -5322,7 +5322,7 @@
         }
 
         if (app == null) {
-            Log.w(TAG, "No pending application record for pid " + pid
+            Slog.w(TAG, "No pending application record for pid " + pid
                     + " (IApplicationThread " + thread + "); dropping process");
             EventLog.writeEvent(EventLogTags.AM_DROP_PROCESS, pid);
             if (pid > 0 && pid != MY_PID) {
@@ -5345,7 +5345,7 @@
 
         // Tell the process all about itself.
 
-        if (localLOGV) Log.v(
+        if (localLOGV) Slog.v(
                 TAG, "Binding process pid " + pid + " to record " + app);
 
         String processName = app.processName;
@@ -5374,10 +5374,10 @@
         List providers = normalMode ? generateApplicationProvidersLocked(app) : null;
 
         if (!normalMode) {
-            Log.i(TAG, "Launching preboot mode app: " + app);
+            Slog.i(TAG, "Launching preboot mode app: " + app);
         }
         
-        if (localLOGV) Log.v(
+        if (localLOGV) Slog.v(
             TAG, "New app record " + app
             + " thread=" + thread.asBinder() + " pid=" + pid);
         try {
@@ -5406,7 +5406,7 @@
             if (app.instrumentationClass != null) {
                 ensurePackageDexOpt(app.instrumentationClass.getPackageName());
             }
-            if (DEBUG_CONFIGURATION) Log.v(TAG, "Binding proc "
+            if (DEBUG_CONFIGURATION) Slog.v(TAG, "Binding proc "
                     + processName + " with config " + mConfiguration);
             thread.bindApplication(processName, app.instrumentationInfo != null
                     ? app.instrumentationInfo : app.info, providers,
@@ -5420,7 +5420,7 @@
             // todo: Yikes!  What should we do?  For now we will try to
             // start another process, but that could easily get us in
             // an infinite loop of restarting processes...
-            Log.w(TAG, "Exception thrown during bind!", e);
+            Slog.w(TAG, "Exception thrown during bind!", e);
 
             app.resetPackageList();
             startProcessLocked(app, "bind fail", processName);
@@ -5444,7 +5444,7 @@
                         didSomething = true;
                     }
                 } catch (Exception e) {
-                    Log.w(TAG, "Exception in new application when starting activity "
+                    Slog.w(TAG, "Exception in new application when starting activity "
                           + hr.intent.getComponent().flattenToShortString(), e);
                     badApp = true;
                 }
@@ -5470,7 +5470,7 @@
                     didSomething = true;
                 }
             } catch (Exception e) {
-                Log.w(TAG, "Exception in new application when starting service "
+                Slog.w(TAG, "Exception in new application when starting service "
                       + sr.shortName, e);
                 badApp = true;
             }
@@ -5484,7 +5484,7 @@
                 processCurBroadcastLocked(br, app);
                 didSomething = true;
             } catch (Exception e) {
-                Log.w(TAG, "Exception in new application when starting receiver "
+                Slog.w(TAG, "Exception in new application when starting receiver "
                       + br.curComponent.flattenToShortString(), e);
                 badApp = true;
                 logBroadcastReceiverDiscard(br);
@@ -5498,12 +5498,12 @@
 
         // Check whether the next backup agent is in this process...
         if (!badApp && mBackupTarget != null && mBackupTarget.appInfo.uid == app.info.uid) {
-            if (DEBUG_BACKUP) Log.v(TAG, "New app is backup target, launching agent for " + app);
+            if (DEBUG_BACKUP) Slog.v(TAG, "New app is backup target, launching agent for " + app);
             ensurePackageDexOpt(mBackupTarget.appInfo.packageName);
             try {
                 thread.scheduleCreateBackupAgent(mBackupTarget.appInfo, mBackupTarget.backupMode);
             } catch (Exception e) {
-                Log.w(TAG, "Exception scheduling backup agent creation: ");
+                Slog.w(TAG, "Exception scheduling backup agent creation: ");
                 e.printStackTrace();
             }
         }
@@ -5549,7 +5549,7 @@
                 && !mResumedActivity.waitingVisible;
         for (int i=0; i<N; i++) {
             HistoryRecord s = mStoppingActivities.get(i);
-            if (localLOGV) Log.v(TAG, "Stopping " + s + ": nowVisible="
+            if (localLOGV) Slog.v(TAG, "Stopping " + s + ": nowVisible="
                     + nowVisible + " waitingVisible=" + s.waitingVisible
                     + " finishing=" + s.finishing);
             if (s.waitingVisible && nowVisible) {
@@ -5561,12 +5561,12 @@
                     // so get rid of it.  Otherwise, we need to go through the
                     // normal flow and hide it once we determine that it is
                     // hidden by the activities in front of it.
-                    if (localLOGV) Log.v(TAG, "Before stopping, can hide: " + s);
+                    if (localLOGV) Slog.v(TAG, "Before stopping, can hide: " + s);
                     mWindowManager.setAppVisibility(s, false);
                 }
             }
             if (!s.waitingVisible && remove) {
-                if (localLOGV) Log.v(TAG, "Ready to stop: " + s);
+                if (localLOGV) Slog.v(TAG, "Ready to stop: " + s);
                 if (stops == null) {
                     stops = new ArrayList<HistoryRecord>();
                 }
@@ -5588,7 +5588,7 @@
 
     final void activityIdleInternal(IBinder token, boolean fromTimeout,
             Configuration config) {
-        if (localLOGV) Log.v(TAG, "Activity idle: " + token);
+        if (localLOGV) Slog.v(TAG, "Activity idle: " + token);
 
         ArrayList<HistoryRecord> stops = null;
         ArrayList<HistoryRecord> finishes = null;
@@ -5640,10 +5640,10 @@
 
                 // If this activity is fullscreen, set up to hide those under it.
 
-                if (DEBUG_VISBILITY) Log.v(TAG, "Idle activity for " + r);
+                if (DEBUG_VISBILITY) Slog.v(TAG, "Idle activity for " + r);
                 ensureActivitiesVisibleLocked(null, 0);
 
-                //Log.i(TAG, "IDLE: mBooted=" + mBooted + ", fromTimeout=" + fromTimeout);
+                //Slog.i(TAG, "IDLE: mBooted=" + mBooted + ", fromTimeout=" + fromTimeout);
                 if (!mBooted && !fromTimeout) {
                     mBooted = true;
                     enableScreen = true;
@@ -5676,7 +5676,7 @@
             try {
                 sendThumbnail.requestThumbnail(token);
             } catch (Exception e) {
-                Log.w(TAG, "Exception thrown when requesting thumbnail", e);
+                Slog.w(TAG, "Exception thrown when requesting thumbnail", e);
                 sendPendingThumbnail(null, token, null, null, true);
             }
         }
@@ -5795,7 +5795,7 @@
     }
 
     final void activityPaused(IBinder token, Bundle icicle, boolean timeout) {
-        if (DEBUG_PAUSE) Log.v(
+        if (DEBUG_PAUSE) Slog.v(
             TAG, "Activity paused: token=" + token + ", icicle=" + icicle
             + ", timeout=" + timeout);
 
@@ -5825,7 +5825,7 @@
 
     public final void activityStopped(IBinder token, Bitmap thumbnail,
             CharSequence description) {
-        if (localLOGV) Log.v(
+        if (localLOGV) Slog.v(
             TAG, "Activity stopped: token=" + token);
 
         HistoryRecord r = null;
@@ -5859,7 +5859,7 @@
     }
 
     public final void activityDestroyed(IBinder token) {
-        if (DEBUG_SWITCH) Log.v(TAG, "ACTIVITY DESTROYED: " + token);
+        if (DEBUG_SWITCH) Slog.v(TAG, "ACTIVITY DESTROYED: " + token);
         synchronized (this) {
             mHandler.removeMessages(DESTROY_TIMEOUT_MSG, token);
             
@@ -5950,7 +5950,7 @@
                             + ", uid=" + Binder.getCallingUid()
                             + ", (need uid=" + uid + ")"
                             + " is not allowed to send as package " + packageName;
-                        Log.w(TAG, msg);
+                        Slog.w(TAG, msg);
                         throw new SecurityException(msg);
                     }
                 }
@@ -6022,7 +6022,7 @@
                         + ", uid=" + Binder.getCallingUid()
                         + " is not allowed to cancel packges "
                         + rec.key.packageName;
-                    Log.w(TAG, msg);
+                    Slog.w(TAG, msg);
                     throw new SecurityException(msg);
                 }
             } catch (RemoteException e) {
@@ -6093,7 +6093,7 @@
             synchronized (mPidsSelfLocked) {
                 ProcessRecord pr = mPidsSelfLocked.get(pid);
                 if (pr == null) {
-                    Log.w(TAG, "setProcessForeground called on unknown pid: " + pid);
+                    Slog.w(TAG, "setProcessForeground called on unknown pid: " + pid);
                     return;
                 }
                 ForegroundToken oldToken = mForegroundProcesses.get(pid);
@@ -6155,7 +6155,7 @@
         // client identity accordingly before proceeding.
         Identity tlsIdentity = sCallerIdentity.get();
         if (tlsIdentity != null) {
-            Log.d(TAG, "checkComponentPermission() adjusting {pid,uid} to {"
+            Slog.d(TAG, "checkComponentPermission() adjusting {pid,uid} to {"
                     + tlsIdentity.pid + "," + tlsIdentity.uid + "}");
             uid = tlsIdentity.uid;
             pid = tlsIdentity.pid;
@@ -6168,7 +6168,7 @@
         }
         // If the target requires a specific UID, always fail for others.
         if (reqUid >= 0 && uid != reqUid) {
-            Log.w(TAG, "Permission denied: checkComponentPermission() reqUid=" + reqUid);
+            Slog.w(TAG, "Permission denied: checkComponentPermission() reqUid=" + reqUid);
             return PackageManager.PERMISSION_DENIED;
         }
         if (permission == null) {
@@ -6179,7 +6179,7 @@
                     .checkUidPermission(permission, uid);
         } catch (RemoteException e) {
             // Should never happen, but if it does... deny!
-            Log.e(TAG, "PackageManager is dead?!?", e);
+            Slog.e(TAG, "PackageManager is dead?!?", e);
         }
         return PackageManager.PERMISSION_DENIED;
     }
@@ -6223,7 +6223,7 @@
                 + Binder.getCallingPid()
                 + ", uid=" + Binder.getCallingUid()
                 + " requires " + permission;
-        Log.w(TAG, msg);
+        Slog.w(TAG, msg);
         throw new SecurityException(msg);
     }
 
@@ -6291,14 +6291,14 @@
             return;
         }
 
-        if (DEBUG_URI_PERMISSION) Log.v(TAG, 
+        if (DEBUG_URI_PERMISSION) Slog.v(TAG, 
                 "Requested grant " + targetPkg + " permission to " + uri);
         
         final IPackageManager pm = ActivityThread.getPackageManager();
 
         // If this is not a content: uri, we can't do anything with it.
         if (!ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) {
-            if (DEBUG_URI_PERMISSION) Log.v(TAG, 
+            if (DEBUG_URI_PERMISSION) Slog.v(TAG, 
                     "Can't grant URI permission for non-content URI: " + uri);
             return;
         }
@@ -6317,7 +6317,7 @@
             }
         }
         if (pi == null) {
-            Log.w(TAG, "No content provider found for: " + name);
+            Slog.w(TAG, "No content provider found for: " + name);
             return;
         }
 
@@ -6325,7 +6325,7 @@
         try {
             targetUid = pm.getPackageUid(targetPkg);
             if (targetUid < 0) {
-                if (DEBUG_URI_PERMISSION) Log.v(TAG, 
+                if (DEBUG_URI_PERMISSION) Slog.v(TAG, 
                         "Can't grant URI permission no uid for: " + targetPkg);
                 return;
             }
@@ -6336,7 +6336,7 @@
         // First...  does the target actually need this permission?
         if (checkHoldingPermissionsLocked(pm, pi, targetUid, modeFlags)) {
             // No need to grant the target this permission.
-            if (DEBUG_URI_PERMISSION) Log.v(TAG, 
+            if (DEBUG_URI_PERMISSION) Slog.v(TAG, 
                     "Target " + targetPkg + " already has full permission to " + uri);
             return;
         }
@@ -6379,7 +6379,7 @@
         // to the uri, and the target doesn't.  Let's now give this to
         // the target.
 
-        if (DEBUG_URI_PERMISSION) Log.v(TAG, 
+        if (DEBUG_URI_PERMISSION) Slog.v(TAG, 
                 "Granting " + targetPkg + " permission to " + uri);
         
         HashMap<Uri, UriPermission> targetUris
@@ -6436,11 +6436,11 @@
                         + " when granting permission to uri " + uri);
             }
             if (targetPkg == null) {
-                Log.w(TAG, "grantUriPermission: null target");
+                Slog.w(TAG, "grantUriPermission: null target");
                 return;
             }
             if (uri == null) {
-                Log.w(TAG, "grantUriPermission: null uri");
+                Slog.w(TAG, "grantUriPermission: null uri");
                 return;
             }
 
@@ -6455,7 +6455,7 @@
             HashMap<Uri, UriPermission> perms
                     = mGrantedUriPermissions.get(perm.uid);
             if (perms != null) {
-                if (DEBUG_URI_PERMISSION) Log.v(TAG, 
+                if (DEBUG_URI_PERMISSION) Slog.v(TAG, 
                         "Removing " + perm.uid + " permission to " + perm.uri);
                 perms.remove(perm.uri);
                 if (perms.size() == 0) {
@@ -6496,7 +6496,7 @@
             return;
         }
 
-        if (DEBUG_URI_PERMISSION) Log.v(TAG, 
+        if (DEBUG_URI_PERMISSION) Slog.v(TAG, 
                 "Revoking all granted permissions to " + uri);
         
         final IPackageManager pm = ActivityThread.getPackageManager();
@@ -6515,7 +6515,7 @@
             }
         }
         if (pi == null) {
-            Log.w(TAG, "No content provider found for: " + authority);
+            Slog.w(TAG, "No content provider found for: " + authority);
             return;
         }
 
@@ -6557,7 +6557,7 @@
                             continue toploop;
                         }
                     }
-                    if (DEBUG_URI_PERMISSION) Log.v(TAG, 
+                    if (DEBUG_URI_PERMISSION) Slog.v(TAG, 
                             "Revoking " + perm.uid + " permission to " + perm.uri);
                     perm.clearModes(modeFlags);
                     if (perm.modeFlags == 0) {
@@ -6584,7 +6584,7 @@
                         + " when revoking permission to uri " + uri);
             }
             if (uri == null) {
-                Log.w(TAG, "revokeUriPermission: null uri");
+                Slog.w(TAG, "revokeUriPermission: null uri");
                 return;
             }
 
@@ -6610,7 +6610,7 @@
                 }
             }
             if (pi == null) {
-                Log.w(TAG, "No content provider found for: " + authority);
+                Slog.w(TAG, "No content provider found for: " + authority);
                 return;
             }
 
@@ -6652,7 +6652,7 @@
         HistoryRecord topRecord = null;
 
         synchronized(this) {
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "getTasks: max=" + maxNum + ", flags=" + flags
                 + ", receiver=" + receiver);
 
@@ -6670,7 +6670,7 @@
                         + Binder.getCallingPid()
                         + ", uid=" + Binder.getCallingUid()
                         + " requires " + android.Manifest.permission.GET_TASKS;
-                Log.w(TAG, msg);
+                Slog.w(TAG, msg);
                 throw new SecurityException(msg);
             }
 
@@ -6706,7 +6706,7 @@
                     topDescription = r.description;
                 }
 
-                if (localLOGV) Log.v(
+                if (localLOGV) Slog.v(
                     TAG, r.intent.getComponent().flattenToShortString()
                     + ": task=" + r.task);
 
@@ -6725,7 +6725,7 @@
                     //System.out.println(
                     //    "#" + maxNum + ": " + " descr=" + ci.description);
                     if (ci.thumbnail == null && receiver != null) {
-                        if (localLOGV) Log.v(
+                        if (localLOGV) Slog.v(
                             TAG, "State=" + top.state + "Idle=" + top.idle
                             + " app=" + top.app
                             + " thr=" + (top.app != null ? top.app.thread : null));
@@ -6755,14 +6755,14 @@
             }
         }
 
-        if (localLOGV) Log.v(TAG, "We have pending thumbnails: " + pending);
+        if (localLOGV) Slog.v(TAG, "We have pending thumbnails: " + pending);
 
         if (topThumbnail != null) {
-            if (localLOGV) Log.v(TAG, "Requesting top thumbnail");
+            if (localLOGV) Slog.v(TAG, "Requesting top thumbnail");
             try {
                 topThumbnail.requestThumbnail(topRecord);
             } catch (Exception e) {
-                Log.w(TAG, "Exception thrown when requesting thumbnail", e);
+                Slog.w(TAG, "Exception thrown when requesting thumbnail", e);
                 sendPendingThumbnail(null, topRecord, null, null, true);
             }
         }
@@ -6935,7 +6935,7 @@
                             // same task affinity as the one we are moving,
                             // then merge it into the same task.
                             target.task = p.task;
-                            if (DEBUG_TASKS) Log.v(TAG, "Start pushing activity " + target
+                            if (DEBUG_TASKS) Slog.v(TAG, "Start pushing activity " + target
                                     + " out to bottom task " + p.task);
                         } else {
                             mCurTask++;
@@ -6945,7 +6945,7 @@
                             target.task = new TaskRecord(mCurTask, target.info, null,
                                     (target.info.flags&ActivityInfo.FLAG_CLEAR_TASK_ON_LAUNCH) != 0);
                             target.task.affinityIntent = target.intent;
-                            if (DEBUG_TASKS) Log.v(TAG, "Start pushing activity " + target
+                            if (DEBUG_TASKS) Slog.v(TAG, "Start pushing activity " + target
                                     + " out to new task " + target.task);
                         }
                         mWindowManager.setAppGroupId(target, task.taskId);
@@ -6958,7 +6958,7 @@
                             if (p.finishing) {
                                 continue;
                             }
-                            if (DEBUG_TASKS) Log.v(TAG, "Pushing next activity " + p
+                            if (DEBUG_TASKS) Slog.v(TAG, "Pushing next activity " + p
                                     + " out to target's task " + target.task);
                             task.numActivities--;
                             p.task = target.task;
@@ -7095,7 +7095,7 @@
                         p.task.numActivities--;
                         p.task = task;
                         mHistory.add(lastReparentPos, p);
-                        if (DEBUG_TASKS) Log.v(TAG, "Pulling activity " + p
+                        if (DEBUG_TASKS) Slog.v(TAG, "Pulling activity " + p
                                 + " in to resetting task " + task);
                         task.numActivities++;
                         mWindowManager.moveAppToken(lastReparentPos, p);
@@ -7171,7 +7171,7 @@
     }
 
     private final void moveTaskToFrontLocked(TaskRecord tr, HistoryRecord reason) {
-        if (DEBUG_SWITCH) Log.v(TAG, "moveTaskToFront: " + tr);
+        if (DEBUG_SWITCH) Slog.v(TAG, "moveTaskToFront: " + tr);
 
         final int task = tr.taskId;
         int top = mHistory.size()-1;
@@ -7192,11 +7192,11 @@
         // of the stack, keeping them in the same internal order.
         while (pos >= 0) {
             HistoryRecord r = (HistoryRecord)mHistory.get(pos);
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "At " + pos + " ckp " + r.task + ": " + r);
             boolean first = true;
             if (r.task.taskId == task) {
-                if (localLOGV) Log.v(TAG, "Removing and adding at " + top);
+                if (localLOGV) Slog.v(TAG, "Removing and adding at " + top);
                 mHistory.remove(pos);
                 mHistory.add(top, r);
                 moved.add(0, r);
@@ -7209,7 +7209,7 @@
             pos--;
         }
 
-        if (DEBUG_TRANSITION) Log.v(TAG,
+        if (DEBUG_TRANSITION) Slog.v(TAG,
                 "Prepare to front transition: task=" + tr);
         if (reason != null &&
                 (reason.intent.getFlags()&Intent.FLAG_ACTIVITY_NO_ANIMATION) != 0) {
@@ -7285,7 +7285,7 @@
      * @return Returns true if the move completed, false if not.
      */
     private final boolean moveTaskToBackLocked(int task, HistoryRecord reason) {
-        Log.i(TAG, "moveTaskToBack: " + task);
+        Slog.i(TAG, "moveTaskToBack: " + task);
         
         // If we have a watcher, preflight the move before committing to it.  First check
         // for *other* available tasks, but if none are available, then try again allowing the
@@ -7311,7 +7311,7 @@
 
         ArrayList moved = new ArrayList();
 
-        if (DEBUG_TRANSITION) Log.v(TAG,
+        if (DEBUG_TRANSITION) Slog.v(TAG,
                 "Prepare to back transition: task=" + task);
         
         final int N = mHistory.size();
@@ -7322,10 +7322,10 @@
         // of the stack, keeping them in the same internal order.
         while (pos < N) {
             HistoryRecord r = (HistoryRecord)mHistory.get(pos);
-            if (localLOGV) Log.v(
+            if (localLOGV) Slog.v(
                 TAG, "At " + pos + " ckp " + r.task + ": " + r);
             if (r.task.taskId == task) {
-                if (localLOGV) Log.v(TAG, "Removing and adding at " + (N-1));
+                if (localLOGV) Slog.v(TAG, "Removing and adding at " + (N-1));
                 mHistory.remove(pos);
                 mHistory.add(bottom, r);
                 moved.add(r);
@@ -7369,7 +7369,7 @@
     }
 
     private final void moveTaskBackwardsLocked(int task) {
-        Log.e(TAG, "moveTaskBackwards not yet implemented!");
+        Slog.e(TAG, "moveTaskBackwards not yet implemented!");
     }
 
     public int getTaskForActivity(IBinder token, boolean onlyRoot) {
@@ -7413,25 +7413,25 @@
             if (!r.finishing && r.task != cp
                     && r.launchMode != ActivityInfo.LAUNCH_SINGLE_INSTANCE) {
                 cp = r.task;
-                //Log.i(TAG, "Comparing existing cls=" + r.task.intent.getComponent().flattenToShortString()
+                //Slog.i(TAG, "Comparing existing cls=" + r.task.intent.getComponent().flattenToShortString()
                 //        + "/aff=" + r.task.affinity + " to new cls="
                 //        + intent.getComponent().flattenToShortString() + "/aff=" + taskAffinity);
                 if (r.task.affinity != null) {
                     if (r.task.affinity.equals(info.taskAffinity)) {
-                        //Log.i(TAG, "Found matching affinity!");
+                        //Slog.i(TAG, "Found matching affinity!");
                         return r;
                     }
                 } else if (r.task.intent != null
                         && r.task.intent.getComponent().equals(cls)) {
-                    //Log.i(TAG, "Found matching class!");
+                    //Slog.i(TAG, "Found matching class!");
                     //dump();
-                    //Log.i(TAG, "For Intent " + intent + " bringing to top: " + r.intent);
+                    //Slog.i(TAG, "For Intent " + intent + " bringing to top: " + r.intent);
                     return r;
                 } else if (r.task.affinityIntent != null
                         && r.task.affinityIntent.getComponent().equals(cls)) {
-                    //Log.i(TAG, "Found matching class!");
+                    //Slog.i(TAG, "Found matching class!");
                     //dump();
-                    //Log.i(TAG, "For Intent " + intent + " bringing to top: " + r.intent);
+                    //Slog.i(TAG, "For Intent " + intent + " bringing to top: " + r.intent);
                     return r;
                 }
             }
@@ -7456,9 +7456,9 @@
             HistoryRecord r = (HistoryRecord)mHistory.get(i);
             if (!r.finishing) {
                 if (r.intent.getComponent().equals(cls)) {
-                    //Log.i(TAG, "Found matching class!");
+                    //Slog.i(TAG, "Found matching class!");
                     //dump();
-                    //Log.i(TAG, "For Intent " + intent + " bringing to top: " + r.intent);
+                    //Slog.i(TAG, "For Intent " + intent + " bringing to top: " + r.intent);
                     return r;
                 }
             }
@@ -7563,7 +7563,7 @@
                         pr.receiver.finished();
                     }
                 } catch (Exception e) {
-                    Log.w(TAG, "Exception thrown when sending thumbnail", e);
+                    Slog.w(TAG, "Exception thrown when sending thumbnail", e);
                 }
             }
         }
@@ -7640,7 +7640,7 @@
                 + " from " + (r != null ? r : "(null)") + " (pid=" + callingPid
                 + ", uid=" + callingUid + ") requires "
                 + cpi.readPermission + " or " + cpi.writePermission;
-        Log.w(TAG, msg);
+        Slog.w(TAG, msg);
         return msg;
     }
 
@@ -7689,7 +7689,7 @@
                 // In this case the provider instance already exists, so we can
                 // return it right away.
                 if (r != null) {
-                    if (DEBUG_PROVIDER) Log.v(TAG,
+                    if (DEBUG_PROVIDER) Slog.v(TAG,
                             "Adding provider requested by "
                             + r.processName + " from process "
                             + cpr.info.processName);
@@ -7746,7 +7746,7 @@
                                         cpi.applicationInfo.packageName,
                                         STOCK_PM_FLAGS);
                         if (ai == null) {
-                            Log.w(TAG, "No package info for content provider "
+                            Slog.w(TAG, "No package info for content provider "
                                     + cpi.name);
                             return null;
                         }
@@ -7766,7 +7766,7 @@
 
                 if (DEBUG_PROVIDER) {
                     RuntimeException e = new RuntimeException("here");
-                    Log.w(TAG, "LAUNCHING REMOTE PROVIDER (myuid " + r.info.uid
+                    Slog.w(TAG, "LAUNCHING REMOTE PROVIDER (myuid " + r.info.uid
                           + " pruid " + cpr.appInfo.uid + "): " + cpr.info.name, e);
                 }
 
@@ -7790,7 +7790,7 @@
                             new ComponentName(cpi.applicationInfo.packageName,
                                     cpi.name), false);
                     if (proc == null) {
-                        Log.w(TAG, "Unable to launch app "
+                        Slog.w(TAG, "Unable to launch app "
                                 + cpi.applicationInfo.packageName + "/"
                                 + cpi.applicationInfo.uid + " for provider "
                                 + name + ": process is bad");
@@ -7809,7 +7809,7 @@
                 mProvidersByName.put(name, cpr);
 
                 if (r != null) {
-                    if (DEBUG_PROVIDER) Log.v(TAG,
+                    if (DEBUG_PROVIDER) Slog.v(TAG,
                             "Adding provider requested by "
                             + r.processName + " from process "
                             + cpr.info.processName);
@@ -7830,7 +7830,7 @@
         synchronized (cpr) {
             while (cpr.provider == null) {
                 if (cpr.launchingApp == null) {
-                    Log.w(TAG, "Unable to launch app "
+                    Slog.w(TAG, "Unable to launch app "
                             + cpi.applicationInfo.packageName + "/"
                             + cpi.applicationInfo.uid + " for provider "
                             + name + ": launching app became null");
@@ -7853,7 +7853,7 @@
         if (caller == null) {
             String msg = "null IApplicationThread when getting content provider "
                     + name;
-            Log.w(TAG, msg);
+            Slog.w(TAG, msg);
             throw new SecurityException(msg);
         }
 
@@ -7873,7 +7873,7 @@
             ContentProviderRecord cpr = (ContentProviderRecord)mProvidersByName.get(name);
             if(cpr == null) {
                 // remove from mProvidersByClass
-                if (DEBUG_PROVIDER) Log.v(TAG, name +
+                if (DEBUG_PROVIDER) Slog.v(TAG, name +
                         " provider not found in providers list");
                 return;
             }
@@ -7886,12 +7886,12 @@
             //update content provider record entry info
             ContentProviderRecord localCpr = (ContentProviderRecord)
                     mProvidersByClass.get(cpr.info.name);
-            if (DEBUG_PROVIDER) Log.v(TAG, "Removing provider requested by "
+            if (DEBUG_PROVIDER) Slog.v(TAG, "Removing provider requested by "
                     + r.info.processName + " from process "
                     + localCpr.appInfo.processName);
             if (localCpr.app == r) {
                 //should not happen. taken care of as a local provider
-                Log.w(TAG, "removeContentProvider called on local provider: "
+                Slog.w(TAG, "removeContentProvider called on local provider: "
                         + cpr.info.name + " in process " + r.processName);
                 return;
             } else {
@@ -7912,7 +7912,7 @@
             ContentProviderRecord cpr = (ContentProviderRecord)mProvidersByName.get(name);
             if(cpr == null) {
                 //remove from mProvidersByClass
-                if(localLOGV) Log.v(TAG, name+" content provider not found in providers list");
+                if(localLOGV) Slog.v(TAG, name+" content provider not found in providers list");
                 return;
             }
 
@@ -7920,7 +7920,7 @@
             ContentProviderRecord localCpr = (ContentProviderRecord) mProvidersByClass.get(cpr.info.name);
             localCpr.externals--;
             if (localCpr.externals < 0) {
-                Log.e(TAG, "Externals < 0 for content provider " + localCpr);
+                Slog.e(TAG, "Externals < 0 for content provider " + localCpr);
             }
             updateOomAdjLocked();
         }
@@ -7987,7 +7987,7 @@
             for (int i=providers.size()-1; i>=0; i--) {
                 ProviderInfo pi = (ProviderInfo)providers.get(i);
                 if ((pi.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM) == 0) {
-                    Log.w(TAG, "Not installing system proc provider " + pi.name
+                    Slog.w(TAG, "Not installing system proc provider " + pi.name
                             + ": not system .apk");
                     providers.remove(i);
                 }
@@ -8039,7 +8039,7 @@
 
         synchronized(this) {
             int count = mHistory.size();
-            if (DEBUG_SWITCH) Log.d(
+            if (DEBUG_SWITCH) Slog.d(
                 TAG, "Performing unhandledBack(): stack size = " + count);
             if (count > 1) {
                 final long origId = Binder.clearCallingIdentity();
@@ -8076,7 +8076,7 @@
             // We've got the fd now, so we're done with the provider.
             removeContentProviderExternal(name);
         } else {
-            Log.d(TAG, "Failed to get provider for authority '" + name + "'");
+            Slog.d(TAG, "Failed to get provider for authority '" + name + "'");
         }
         return pfd;
     }
@@ -8089,7 +8089,7 @@
             if (mResumedActivity != null) {
                 pauseIfSleepingLocked();
             } else {
-                Log.w(TAG, "goingToSleep with no resumed activity!");
+                Slog.w(TAG, "goingToSleep with no resumed activity!");
             }
         }
     }
@@ -8113,7 +8113,7 @@
                 while (mResumedActivity != null || mPausingActivity != null) {
                     long delay = endTime - System.currentTimeMillis();
                     if (delay <= 0) {
-                        Log.w(TAG, "Activity manager shutdown timed out");
+                        Slog.w(TAG, "Activity manager shutdown timed out");
                         timedout = true;
                         break;
                     }
@@ -8145,8 +8145,8 @@
             // one to pause.  If we are pausing one, we will just let that stuff
             // run and release the wake lock when all done.
             if (mPausingActivity == null) {
-                if (DEBUG_PAUSE) Log.v(TAG, "Sleep needs to pause...");
-                if (DEBUG_USER_LEAVING) Log.v(TAG, "Sleep => pause with userLeaving=false");
+                if (DEBUG_PAUSE) Slog.v(TAG, "Sleep needs to pause...");
+                if (DEBUG_USER_LEAVING) Slog.v(TAG, "Sleep => pause with userLeaving=false");
                 startPausingLocked(false, true);
             }
         }
@@ -8208,7 +8208,7 @@
             return true;
         }
         
-        Log.w(TAG, name + " request from " + callingUid + " stopped");
+        Slog.w(TAG, name + " request from " + callingUid + " stopped");
         return false;
     }
     
@@ -8355,7 +8355,7 @@
             if (worstType < EMPTY_APP_ADJ && worstType > HIDDEN_APP_MIN_ADJ) {
                 worstType = HIDDEN_APP_MIN_ADJ;
             }
-            Log.w(TAG, "Killing processes for memory at adjustment " + worstType);
+            Slog.w(TAG, "Killing processes for memory at adjustment " + worstType);
             for (int i=0; i<pids.length; i++) {
                 ProcessRecord proc = mPidsSelfLocked.get(pids[i]);
                 if (proc == null) {
@@ -8363,7 +8363,7 @@
                 }
                 int adj = proc.setAdj;
                 if (adj >= worstType) {
-                    Log.w(TAG, "Killing for memory: " + proc + " (adj "
+                    Slog.w(TAG, "Killing for memory: " + proc + " (adj "
                             + adj + ")");
                     EventLog.writeEvent(EventLogTags.AM_KILL_FOR_MEMORY, proc.pid,
                             proc.processName, adj);
@@ -8468,7 +8468,7 @@
                 if (proc.persistent) {
                     continue;
                 }
-                //Log.i(TAG, "Proc " + proc + ": pss=" + proc.lastPss);
+                //Slog.i(TAG, "Proc " + proc + ": pss=" + proc.lastPss);
                 if (proc.lastPss == 0) {
                     stats.mNoPssCount++;
                     continue;
@@ -8531,7 +8531,7 @@
             // change mConfiguration in-place.
             mConfiguration.updateFrom(configuration);
             mConfigurationSeq = mConfiguration.seq = 1;
-            if (DEBUG_CONFIGURATION) Log.v(TAG, "Initial config: " + mConfiguration);
+            if (DEBUG_CONFIGURATION) Slog.v(TAG, "Initial config: " + mConfiguration);
         }
     }
 
@@ -8591,7 +8591,7 @@
                                 }
                             };
                         }
-                        Log.i(TAG, "Sending system update to: " + intent.getComponent());
+                        Slog.i(TAG, "Sending system update to: " + intent.getComponent());
                         broadcastIntentLocked(null, null, intent, null, finisher,
                                 0, null, null, null, true, false, MY_PID, Process.SYSTEM_UID);
                         if (finisher != null) {
@@ -8628,13 +8628,13 @@
             synchronized(this) {
                 for (int i=procsToKill.size()-1; i>=0; i--) {
                     ProcessRecord proc = procsToKill.get(i);
-                    Log.i(TAG, "Removing system update proc: " + proc);
+                    Slog.i(TAG, "Removing system update proc: " + proc);
                     removeProcessLocked(proc, true);
                 }
             }
         }
         
-        Log.i(TAG, "System now ready");
+        Slog.i(TAG, "System now ready");
         EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_AMS_READY,
             SystemClock.uptimeMillis());
 
@@ -8779,7 +8779,7 @@
             }
             if (app.pid > 0 && app.pid != MY_PID) {
                 handleAppCrashLocked(app);
-                Log.i(ActivityManagerService.TAG, "Killing process "
+                Slog.i(ActivityManagerService.TAG, "Killing process "
                         + app.processName
                         + " (pid=" + app.pid + ") at user's request");
                 Process.killProcess(app.pid);
@@ -8794,7 +8794,7 @@
                 app.info.uid);
         if (crashTime != null && now < crashTime+MIN_CRASH_INTERVAL) {
             // This process loses!
-            Log.w(TAG, "Process " + app.info.processName
+            Slog.w(TAG, "Process " + app.info.processName
                     + " has crashed too many times: killing!");
             EventLog.writeEvent(EventLogTags.AM_PROCESS_CRASHED_TOO_MUCH,
                     app.info.processName, app.info.uid);
@@ -8802,7 +8802,7 @@
             for (int i=mHistory.size()-1; i>=0; i--) {
                 HistoryRecord r = (HistoryRecord)mHistory.get(i);
                 if (r.app == app) {
-                    Log.w(TAG, "  Force finishing activity "
+                    Slog.w(TAG, "  Force finishing activity "
                         + r.intent.getComponent().flattenToShortString());
                     finishActivityLocked(r, i, Activity.RESULT_CANCELED, null, "crashed");
                 }
@@ -8858,7 +8858,7 @@
         }
         r = mPendingBroadcast;
         if (r != null && r.curApp == app) {
-            if (DEBUG_BROADCAST) Log.v(TAG,
+            if (DEBUG_BROADCAST) Slog.v(TAG,
                     "skip & discard pending app " + r);
             logBroadcastReceiverDiscard(r);
             finishReceiverLocked(r.receiver, r.resultCode, r.resultData,
@@ -8939,7 +8939,7 @@
                 }
             }
 
-            Log.w(TAG, "Can't find mystery application: " + app);
+            Slog.w(TAG, "Can't find mystery application: " + app);
             return null;
         }
     }
@@ -8991,7 +8991,7 @@
                             }
                         }
                     } catch (RemoteException e) {
-                        Log.e(TAG, "Error getting package info: " + pkg, e);
+                        Slog.e(TAG, "Error getting package info: " + pkg, e);
                     }
                     sb.append("\n");
                 }
@@ -9017,7 +9017,7 @@
                 try {
                     sb.append(FileUtils.readTextFile(logFile, 128 * 1024, "\n\n[[TRUNCATED]]"));
                 } catch (IOException e) {
-                    Log.e(TAG, "Error reading " + logFile, e);
+                    Slog.e(TAG, "Error reading " + logFile, e);
                 }
             }
             if (crashInfo != null && crashInfo.stackTrace != null) {
@@ -9053,7 +9053,7 @@
                     int pid = r != null ? r.pid : Binder.getCallingPid();
                     if (!mController.appCrashed(name, pid,
                             shortMsg, longMsg, timeMillis, crashInfo.stackTrace)) {
-                        Log.w(TAG, "Force-killing crashed app " + name
+                        Slog.w(TAG, "Force-killing crashed app " + name
                                 + " at watcher's request");
                         Process.killProcess(pid);
                         return;
@@ -9067,10 +9067,10 @@
 
             // If this process is running instrumentation, finish it.
             if (r != null && r.instrumentationClass != null) {
-                Log.w(TAG, "Error in app " + r.processName
+                Slog.w(TAG, "Error in app " + r.processName
                       + " running instrumentation " + r.instrumentationClass + ":");
-                if (shortMsg != null) Log.w(TAG, "  " + shortMsg);
-                if (longMsg != null) Log.w(TAG, "  " + longMsg);
+                if (shortMsg != null) Slog.w(TAG, "  " + shortMsg);
+                if (longMsg != null) Slog.w(TAG, "  " + longMsg);
                 Bundle info = new Bundle();
                 info.putString("shortMsg", shortMsg);
                 info.putString("longMsg", longMsg);
@@ -9114,7 +9114,7 @@
             try {
                 mContext.startActivity(appErrorIntent);
             } catch (ActivityNotFoundException e) {
-                Log.w(TAG, "bug report receiver dissappeared", e);
+                Slog.w(TAG, "bug report receiver dissappeared", e);
             }
         }
     }
@@ -9189,7 +9189,7 @@
                         }
                         errList.add(report);
                     } else {
-                        Log.w(TAG, "Missing app error report, app = " + app.processName + 
+                        Slog.w(TAG, "Missing app error report, app = " + app.processName + 
                                 " crashing = " + app.crashing +
                                 " notResponding = " + app.notResponding);
                     }
@@ -9239,7 +9239,7 @@
                     if (app.adjTarget instanceof ComponentName) {
                         currApp.importanceReasonComponent = (ComponentName)app.adjTarget;
                     }
-                    //Log.v(TAG, "Proc " + app.processName + ": imp=" + currApp.importance
+                    //Slog.v(TAG, "Proc " + app.processName + ": imp=" + currApp.importance
                     //        + " lru=" + currApp.lru);
                     if (runList == null) {
                         runList = new ArrayList<ActivityManager.RunningAppProcessInfo>();
@@ -10098,7 +10098,7 @@
                                     //c.conn.connected(r.className, null);
                                 } catch (Exception e) {
                                     // todo: this should be asynchronous!
-                                    Log.w(TAG, "Exception thrown disconnected servce "
+                                    Slog.w(TAG, "Exception thrown disconnected servce "
                                           + r.shortName
                                           + " from app " + app.processName, e);
                                 }
@@ -10138,7 +10138,7 @@
                             = sr.bindings.values().iterator();
                     while (bindings.hasNext()) {
                         IntentBindRecord b = bindings.next();
-                        if (DEBUG_SERVICE) Log.v(TAG, "Killing binding " + b
+                        if (DEBUG_SERVICE) Slog.v(TAG, "Killing binding " + b
                                 + ": shouldUnbind=" + b.hasBound);
                         b.binder = null;
                         b.requested = b.received = b.hasBound = false;
@@ -10146,7 +10146,7 @@
                 }
 
                 if (sr.crashCount >= 2) {
-                    Log.w(TAG, "Service crashed " + sr.crashCount
+                    Slog.w(TAG, "Service crashed " + sr.crashCount
                             + " times, stopping: " + sr);
                     EventLog.writeEvent(EventLogTags.AM_SERVICE_CRASHED_TOO_MUCH,
                             sr.crashCount, sr.shortName, app.pid);
@@ -10208,7 +10208,7 @@
             if (!capp.persistent && capp.thread != null
                     && capp.pid != 0
                     && capp.pid != MY_PID) {
-                Log.i(TAG, "Killing app " + capp.processName
+                Slog.i(TAG, "Killing app " + capp.processName
                         + " (pid " + capp.pid
                         + ") because provider " + cpr.info.name
                         + " is in dying process " + proc.processName);
@@ -10336,7 +10336,7 @@
         
         // If the app is undergoing backup, tell the backup manager about it
         if (mBackupTarget != null && app.pid == mBackupTarget.app.pid) {
-            if (DEBUG_BACKUP) Log.d(TAG, "App " + mBackupTarget.appInfo + " died during backup");
+            if (DEBUG_BACKUP) Slog.d(TAG, "App " + mBackupTarget.appInfo + " died during backup");
             try {
                 IBackupManager bm = IBackupManager.Stub.asInterface(
                         ServiceManager.getService(Context.BACKUP_SERVICE));
@@ -10353,7 +10353,7 @@
         }
 
         if (!app.persistent) {
-            if (DEBUG_PROCESSES) Log.v(TAG,
+            if (DEBUG_PROCESSES) Slog.v(TAG,
                     "Removing non-persistent process during cleanup: " + app);
             mProcessNames.remove(app.processName, app.info.uid);
         } else if (!app.removed) {
@@ -10542,7 +10542,7 @@
             if (checkComponentPermission(r.permission,
                     callingPid, callingUid, r.exported ? -1 : r.appInfo.uid)
                     != PackageManager.PERMISSION_GRANTED) {
-                Log.w(TAG, "Permission Denial: Accessing service " + r.name
+                Slog.w(TAG, "Permission Denial: Accessing service " + r.name
                         + " from pid=" + callingPid
                         + ", uid=" + callingUid
                         + " requires " + r.permission);
@@ -10583,7 +10583,7 @@
                 ServiceInfo sInfo =
                     rInfo != null ? rInfo.serviceInfo : null;
                 if (sInfo == null) {
-                    Log.w(TAG, "Unable to start service " + service +
+                    Slog.w(TAG, "Unable to start service " + service +
                           ": not found");
                     return null;
                 }
@@ -10625,7 +10625,7 @@
             if (checkComponentPermission(r.permission,
                     callingPid, callingUid, r.exported ? -1 : r.appInfo.uid)
                     != PackageManager.PERMISSION_GRANTED) {
-                Log.w(TAG, "Permission Denial: Accessing service " + r.name
+                Slog.w(TAG, "Permission Denial: Accessing service " + r.name
                         + " from pid=" + Binder.getCallingPid()
                         + ", uid=" + Binder.getCallingUid()
                         + " requires " + r.permission);
@@ -10661,7 +10661,7 @@
         while (i < N) {
             try {
                 ServiceRecord.StartItem si = r.pendingStarts.get(i);
-                if (DEBUG_SERVICE) Log.v(TAG, "Sending arguments to service: "
+                if (DEBUG_SERVICE) Slog.v(TAG, "Sending arguments to service: "
                         + r.name + " " + r.intent + " args=" + si.intent);
                 if (si.intent == null && N > 1) {
                     // If somehow we got a dummy start at the front, then
@@ -10691,7 +10691,7 @@
                 // care of this.
                 break;
             } catch (Exception e) {
-                Log.w(TAG, "Unexpected exception", e);
+                Slog.w(TAG, "Unexpected exception", e);
                 break;
             }
         }
@@ -10714,7 +10714,7 @@
         if ((!i.requested || rebind) && i.apps.size() > 0) {
             try {
                 bumpServiceExecutingLocked(r);
-                if (DEBUG_SERVICE) Log.v(TAG, "Connecting binding " + i
+                if (DEBUG_SERVICE) Slog.v(TAG, "Connecting binding " + i
                         + ": shouldUnbind=" + i.hasBound);
                 r.app.thread.scheduleBindService(r, i.intent.getIntent(), rebind);
                 if (!rebind) {
@@ -10754,7 +10754,7 @@
 
         boolean created = false;
         try {
-            if (DEBUG_SERVICE) Log.v(TAG, "Scheduling start service: "
+            if (DEBUG_SERVICE) Slog.v(TAG, "Scheduling start service: "
                     + r.name + " " + r.intent);
             mStringBuilder.setLength(0);
             r.intent.getIntent().toShortString(mStringBuilder, false, true);
@@ -10815,7 +10815,7 @@
                     if (minDuration < dur) minDuration = dur;
                     if (resetTime < dur) resetTime = dur;
                 } else {
-                    Log.w(TAG, "Canceling start item " + si.intent + " in service "
+                    Slog.w(TAG, "Canceling start item " + si.intent + " in service "
                             + r.name);
                     canceled = true;
                 }
@@ -10874,7 +10874,7 @@
         mHandler.removeCallbacks(r.restarter);
         mHandler.postAtTime(r.restarter, r.nextRestartTime);
         r.nextRestartTime = SystemClock.uptimeMillis() + r.restartDelay;
-        Log.w(TAG, "Scheduling restart of crashed service "
+        Slog.w(TAG, "Scheduling restart of crashed service "
                 + r.shortName + " in " + r.restartDelay + "ms");
         EventLog.writeEvent(EventLogTags.AM_SCHEDULE_SERVICE_RESTART,
                 r.shortName, r.restartDelay);
@@ -10901,7 +10901,7 @@
 
     private final boolean bringUpServiceLocked(ServiceRecord r,
             int intentFlags, boolean whileRestarting) {
-        //Log.i(TAG, "Bring up service:");
+        //Slog.i(TAG, "Bring up service:");
         //r.dump("  ");
 
         if (r.app != null && r.app.thread != null) {
@@ -10914,7 +10914,7 @@
             return true;
         }
 
-        if (DEBUG_SERVICE) Log.v(TAG, "Bringing up service " + r.name
+        if (DEBUG_SERVICE) Slog.v(TAG, "Bringing up service " + r.name
                 + " " + r.intent);
 
         // We are now bringing the service up, so no longer in the
@@ -10928,7 +10928,7 @@
                 realStartServiceLocked(r, app);
                 return true;
             } catch (RemoteException e) {
-                Log.w(TAG, "Exception when starting service " + r.shortName, e);
+                Slog.w(TAG, "Exception when starting service " + r.shortName, e);
             }
 
             // If a dead object exception was thrown -- fall through to
@@ -10939,7 +10939,7 @@
         // to be executed when the app comes up.
         if (startProcessLocked(appName, r.appInfo, true, intentFlags,
                 "service", r.name, false) == null) {
-            Log.w(TAG, "Unable to launch app "
+            Slog.w(TAG, "Unable to launch app "
                     + r.appInfo.packageName + "/"
                     + r.appInfo.uid + " for service "
                     + r.intent.getIntent() + ": process is bad");
@@ -10955,7 +10955,7 @@
     }
 
     private final void bringDownServiceLocked(ServiceRecord r, boolean force) {
-        //Log.i(TAG, "Bring down service:");
+        //Slog.i(TAG, "Bring down service:");
         //r.dump("  ");
 
         // Does it still need to run?
@@ -10984,7 +10984,7 @@
                     // todo: shouldn't be a synchronous call!
                     c.conn.connected(r.name, null);
                 } catch (Exception e) {
-                    Log.w(TAG, "Failure disconnecting service " + r.name +
+                    Slog.w(TAG, "Failure disconnecting service " + r.name +
                           " to connection " + c.conn.asBinder() +
                           " (in " + c.binding.client.processName + ")", e);
                 }
@@ -10996,7 +10996,7 @@
             Iterator<IntentBindRecord> it = r.bindings.values().iterator();
             while (it.hasNext()) {
                 IntentBindRecord ibr = it.next();
-                if (DEBUG_SERVICE) Log.v(TAG, "Bringing down binding " + ibr
+                if (DEBUG_SERVICE) Slog.v(TAG, "Bringing down binding " + ibr
                         + ": hasBound=" + ibr.hasBound);
                 if (r.app != null && r.app.thread != null && ibr.hasBound) {
                     try {
@@ -11006,7 +11006,7 @@
                         r.app.thread.scheduleUnbindService(r,
                                 ibr.intent.getIntent());
                     } catch (Exception e) {
-                        Log.w(TAG, "Exception when unbinding service "
+                        Slog.w(TAG, "Exception when unbinding service "
                                 + r.shortName, e);
                         serviceDoneExecutingLocked(r, true);
                     }
@@ -11014,7 +11014,7 @@
             }
         }
 
-        if (DEBUG_SERVICE) Log.v(TAG, "Bringing down service " + r.name
+        if (DEBUG_SERVICE) Slog.v(TAG, "Bringing down service " + r.name
                  + " " + r.intent);
         EventLog.writeEvent(EventLogTags.AM_DESTROY_SERVICE,
                 System.identityHashCode(r), r.shortName,
@@ -11022,7 +11022,7 @@
 
         mServices.remove(r.name);
         mServicesByIntent.remove(r.intent);
-        if (localLOGV) Log.v(TAG, "BRING DOWN SERVICE: " + r.shortName);
+        if (localLOGV) Slog.v(TAG, "BRING DOWN SERVICE: " + r.shortName);
         r.totalRestartCount = 0;
         unscheduleServiceRestartLocked(r);
 
@@ -11031,7 +11031,7 @@
         for (int i=0; i<N; i++) {
             if (mPendingServices.get(i) == r) {
                 mPendingServices.remove(i);
-                if (DEBUG_SERVICE) Log.v(
+                if (DEBUG_SERVICE) Slog.v(
                     TAG, "Removed pending service: " + r.shortName);
                 i--;
                 N--;
@@ -11054,24 +11054,24 @@
             r.app.services.remove(r);
             if (r.app.thread != null) {
                 try {
-                    if (DEBUG_SERVICE) Log.v(TAG,
+                    if (DEBUG_SERVICE) Slog.v(TAG,
                             "Stopping service: " + r.shortName);
                     bumpServiceExecutingLocked(r);
                     mStoppingServices.add(r);
                     updateOomAdjLocked(r.app);
                     r.app.thread.scheduleStopService(r);
                 } catch (Exception e) {
-                    Log.w(TAG, "Exception when stopping service "
+                    Slog.w(TAG, "Exception when stopping service "
                             + r.shortName, e);
                     serviceDoneExecutingLocked(r, true);
                 }
                 updateServiceForegroundLocked(r.app, false);
             } else {
-                if (DEBUG_SERVICE) Log.v(
+                if (DEBUG_SERVICE) Slog.v(
                     TAG, "Removed service that has no process: " + r.shortName);
             }
         } else {
-            if (DEBUG_SERVICE) Log.v(
+            if (DEBUG_SERVICE) Slog.v(
                 TAG, "Removed service that is not running: " + r.shortName);
         }
     }
@@ -11080,7 +11080,7 @@
             Intent service, String resolvedType,
             int callingPid, int callingUid) {
         synchronized(this) {
-            if (DEBUG_SERVICE) Log.v(TAG, "startService: " + service
+            if (DEBUG_SERVICE) Slog.v(TAG, "startService: " + service
                     + " type=" + resolvedType + " args=" + service.getExtras());
 
             if (caller != null) {
@@ -11105,7 +11105,7 @@
             }
             ServiceRecord r = res.record;
             if (unscheduleServiceRestartLocked(r)) {
-                if (DEBUG_SERVICE) Log.v(TAG, "START SERVICE WHILE RESTART PENDING: "
+                if (DEBUG_SERVICE) Slog.v(TAG, "START SERVICE WHILE RESTART PENDING: "
                         + r.shortName);
             }
             r.startRequested = true;
@@ -11163,7 +11163,7 @@
         }
 
         synchronized(this) {
-            if (DEBUG_SERVICE) Log.v(TAG, "stopService: " + service
+            if (DEBUG_SERVICE) Slog.v(TAG, "stopService: " + service
                     + " type=" + resolvedType);
 
             final ProcessRecord callerApp = getRecordForAppLocked(caller);
@@ -11228,7 +11228,7 @@
     public boolean stopServiceToken(ComponentName className, IBinder token,
             int startId) {
         synchronized(this) {
-            if (DEBUG_SERVICE) Log.v(TAG, "stopServiceToken: " + className
+            if (DEBUG_SERVICE) Slog.v(TAG, "stopServiceToken: " + className
                     + " " + token + " startId=" + startId);
             ServiceRecord r = findServiceLocked(className, token);
             if (r != null) {
@@ -11250,7 +11250,7 @@
                     }
                     
                     if (r.deliveredStarts.size() > 0) {
-                        Log.w(TAG, "stopServiceToken startId " + startId
+                        Slog.w(TAG, "stopServiceToken startId " + startId
                                 + " is last, but have " + r.deliveredStarts.size()
                                 + " remaining args");
                     }
@@ -11337,7 +11337,7 @@
         }
 
         synchronized(this) {
-            if (DEBUG_SERVICE) Log.v(TAG, "bindService: " + service
+            if (DEBUG_SERVICE) Slog.v(TAG, "bindService: " + service
                     + " type=" + resolvedType + " conn=" + connection.asBinder()
                     + " flags=0x" + Integer.toHexString(flags));
             final ProcessRecord callerApp = getRecordForAppLocked(caller);
@@ -11352,7 +11352,7 @@
             if (token != null) {
                 int aindex = indexOfTokenLocked(token);
                 if (aindex < 0) {
-                    Log.w(TAG, "Binding with unknown activity: " + token);
+                    Slog.w(TAG, "Binding with unknown activity: " + token);
                     return 0;
                 }
                 activity = (HistoryRecord)mHistory.get(aindex);
@@ -11395,7 +11395,7 @@
             final long origId = Binder.clearCallingIdentity();
 
             if (unscheduleServiceRestartLocked(s)) {
-                if (DEBUG_SERVICE) Log.v(TAG, "BIND SERVICE WHILE RESTART PENDING: "
+                if (DEBUG_SERVICE) Slog.v(TAG, "BIND SERVICE WHILE RESTART PENDING: "
                         + s.shortName);
             }
 
@@ -11427,7 +11427,7 @@
                 updateOomAdjLocked(s.app);
             }
 
-            if (DEBUG_SERVICE) Log.v(TAG, "Bind " + s + " with " + b
+            if (DEBUG_SERVICE) Slog.v(TAG, "Bind " + s + " with " + b
                     + ": received=" + b.intent.received
                     + " apps=" + b.intent.apps.size()
                     + " doRebind=" + b.intent.doRebind);
@@ -11438,7 +11438,7 @@
                 try {
                     c.conn.connected(s.name, b.intent.binder);
                 } catch (Exception e) {
-                    Log.w(TAG, "Failure sending service " + s.shortName
+                    Slog.w(TAG, "Failure sending service " + s.shortName
                             + " to connection " + c.conn.asBinder()
                             + " (in " + c.binding.client.processName + ")", e);
                 }
@@ -11480,7 +11480,7 @@
             b.intent.apps.remove(b.client);
         }
 
-        if (DEBUG_SERVICE) Log.v(TAG, "Disconnecting binding " + b.intent
+        if (DEBUG_SERVICE) Slog.v(TAG, "Disconnecting binding " + b.intent
                 + ": shouldUnbind=" + b.intent.hasBound);
         if (s.app != null && s.app.thread != null && b.intent.apps.size() == 0
                 && b.intent.hasBound) {
@@ -11493,7 +11493,7 @@
                 b.intent.doRebind = false;
                 s.app.thread.scheduleUnbindService(s, b.intent.intent.getIntent());
             } catch (Exception e) {
-                Log.w(TAG, "Exception when unbinding service " + s.shortName, e);
+                Slog.w(TAG, "Exception when unbinding service " + s.shortName, e);
                 serviceDoneExecutingLocked(s, true);
             }
         }
@@ -11506,10 +11506,10 @@
     public boolean unbindService(IServiceConnection connection) {
         synchronized (this) {
             IBinder binder = connection.asBinder();
-            if (DEBUG_SERVICE) Log.v(TAG, "unbindService: conn=" + binder);
+            if (DEBUG_SERVICE) Slog.v(TAG, "unbindService: conn=" + binder);
             ConnectionRecord r = mServiceConnections.get(binder);
             if (r == null) {
-                Log.w(TAG, "Unbind failed: could not find connection for "
+                Slog.w(TAG, "Unbind failed: could not find connection for "
                       + connection.asBinder());
                 return false;
             }
@@ -11543,7 +11543,7 @@
 
             final long origId = Binder.clearCallingIdentity();
 
-            if (DEBUG_SERVICE) Log.v(TAG, "PUBLISHING SERVICE " + r.name
+            if (DEBUG_SERVICE) Slog.v(TAG, "PUBLISHING SERVICE " + r.name
                     + " " + intent + ": " + service);
             if (r != null) {
                 Intent.FilterComparison filter
@@ -11559,19 +11559,19 @@
                         while (it.hasNext()) {
                             ConnectionRecord c = it.next();
                             if (!filter.equals(c.binding.intent.intent)) {
-                                if (DEBUG_SERVICE) Log.v(
+                                if (DEBUG_SERVICE) Slog.v(
                                         TAG, "Not publishing to: " + c);
-                                if (DEBUG_SERVICE) Log.v(
+                                if (DEBUG_SERVICE) Slog.v(
                                         TAG, "Bound intent: " + c.binding.intent.intent);
-                                if (DEBUG_SERVICE) Log.v(
+                                if (DEBUG_SERVICE) Slog.v(
                                         TAG, "Published intent: " + intent);
                                 continue;
                             }
-                            if (DEBUG_SERVICE) Log.v(TAG, "Publishing to: " + c);
+                            if (DEBUG_SERVICE) Slog.v(TAG, "Publishing to: " + c);
                             try {
                                 c.conn.connected(r.name, service);
                             } catch (Exception e) {
-                                Log.w(TAG, "Failure sending service " + r.name +
+                                Slog.w(TAG, "Failure sending service " + r.name +
                                       " to connection " + c.conn.asBinder() +
                                       " (in " + c.binding.client.processName + ")", e);
                             }
@@ -11604,7 +11604,7 @@
                 Intent.FilterComparison filter
                         = new Intent.FilterComparison(intent);
                 IntentBindRecord b = r.bindings.get(filter);
-                if (DEBUG_SERVICE) Log.v(TAG, "unbindFinished in " + r
+                if (DEBUG_SERVICE) Slog.v(TAG, "unbindFinished in " + r
                         + " at " + b + ": apps="
                         + (b != null ? b.apps.size() : 0));
                 if (b != null) {
@@ -11634,11 +11634,11 @@
             ServiceRecord r = (ServiceRecord)token;
             boolean inStopping = mStoppingServices.contains(token);
             if (r != null) {
-                if (DEBUG_SERVICE) Log.v(TAG, "DONE EXECUTING SERVICE " + r.name
+                if (DEBUG_SERVICE) Slog.v(TAG, "DONE EXECUTING SERVICE " + r.name
                         + ": nesting=" + r.executeNesting
                         + ", inStopping=" + inStopping);
                 if (r != token) {
-                    Log.w(TAG, "Done executing service " + r.name
+                    Slog.w(TAG, "Done executing service " + r.name
                           + " with incorrect token: given " + token
                           + ", expected " + r);
                     return;
@@ -11693,7 +11693,7 @@
                 serviceDoneExecutingLocked(r, inStopping);
                 Binder.restoreCallingIdentity(origId);
             } else {
-                Log.w(TAG, "Done executing unknown service " + r.name
+                Slog.w(TAG, "Done executing unknown service " + r.name
                         + " with token " + token);
             }
         }
@@ -11733,7 +11733,7 @@
                 }
             }
             if (timeout != null && mLruProcesses.contains(proc)) {
-                Log.w(TAG, "Timeout executing service: " + timeout);
+                Slog.w(TAG, "Timeout executing service: " + timeout);
                 appNotRespondingLocked(proc, null, null, "Executing service " + timeout.shortName);
             } else {
                 Message msg = mHandler.obtainMessage(SERVICE_TIMEOUT_MSG);
@@ -11751,7 +11751,7 @@
     // instantiated.  The backup agent will invoke backupAgentCreated() on the
     // activity manager to announce its creation.
     public boolean bindBackupAgent(ApplicationInfo app, int backupMode) {
-        if (DEBUG_BACKUP) Log.v(TAG, "startBackupAgent: app=" + app + " mode=" + backupMode);
+        if (DEBUG_BACKUP) Slog.v(TAG, "startBackupAgent: app=" + app + " mode=" + backupMode);
         enforceCallingPermission("android.permission.BACKUP", "startBackupAgent");
 
         synchronized(this) {
@@ -11768,7 +11768,7 @@
             ProcessRecord proc = startProcessLocked(app.processName, app,
                     false, 0, "backup", hostingName, false);
             if (proc == null) {
-                Log.e(TAG, "Unable to start backup agent process " + r);
+                Slog.e(TAG, "Unable to start backup agent process " + r);
                 return false;
             }
 
@@ -11782,14 +11782,14 @@
             // If the process is already attached, schedule the creation of the backup agent now.
             // If it is not yet live, this will be done when it attaches to the framework.
             if (proc.thread != null) {
-                if (DEBUG_BACKUP) Log.v(TAG, "Agent proc already running: " + proc);
+                if (DEBUG_BACKUP) Slog.v(TAG, "Agent proc already running: " + proc);
                 try {
                     proc.thread.scheduleCreateBackupAgent(app, backupMode);
                 } catch (RemoteException e) {
                     // Will time out on the backup manager side
                 }
             } else {
-                if (DEBUG_BACKUP) Log.v(TAG, "Agent proc not running, waiting for attach");
+                if (DEBUG_BACKUP) Slog.v(TAG, "Agent proc not running, waiting for attach");
             }
             // Invariants: at this point, the target app process exists and the application
             // is either already running or in the process of coming up.  mBackupTarget and
@@ -11802,12 +11802,12 @@
 
     // A backup agent has just come up                    
     public void backupAgentCreated(String agentPackageName, IBinder agent) {
-        if (DEBUG_BACKUP) Log.v(TAG, "backupAgentCreated: " + agentPackageName
+        if (DEBUG_BACKUP) Slog.v(TAG, "backupAgentCreated: " + agentPackageName
                 + " = " + agent);
 
         synchronized(this) {
             if (!agentPackageName.equals(mBackupAppName)) {
-                Log.e(TAG, "Backup agent created for " + agentPackageName + " but not requested!");
+                Slog.e(TAG, "Backup agent created for " + agentPackageName + " but not requested!");
                 return;
             }
 
@@ -11819,7 +11819,7 @@
             } catch (RemoteException e) {
                 // can't happen; the backup manager service is local
             } catch (Exception e) {
-                Log.w(TAG, "Exception trying to deliver BackupAgent binding: ");
+                Slog.w(TAG, "Exception trying to deliver BackupAgent binding: ");
                 e.printStackTrace();
             } finally {
                 Binder.restoreCallingIdentity(oldIdent);
@@ -11829,20 +11829,20 @@
 
     // done with this agent
     public void unbindBackupAgent(ApplicationInfo appInfo) {
-        if (DEBUG_BACKUP) Log.v(TAG, "unbindBackupAgent: " + appInfo);
+        if (DEBUG_BACKUP) Slog.v(TAG, "unbindBackupAgent: " + appInfo);
         if (appInfo == null) {
-            Log.w(TAG, "unbind backup agent for null app");
+            Slog.w(TAG, "unbind backup agent for null app");
             return;
         }
 
         synchronized(this) {
             if (mBackupAppName == null) {
-                Log.w(TAG, "Unbinding backup agent with no active backup");
+                Slog.w(TAG, "Unbinding backup agent with no active backup");
                 return;
             }
 
             if (!mBackupAppName.equals(appInfo.packageName)) {
-                Log.e(TAG, "Unbind of " + appInfo + " but is not the current backup target");
+                Slog.e(TAG, "Unbind of " + appInfo + " but is not the current backup target");
                 return;
             }
 
@@ -11858,7 +11858,7 @@
                 try {
                     proc.thread.scheduleDestroyBackupAgent(appInfo);
                 } catch (Exception e) {
-                    Log.e(TAG, "Exception when unbinding backup agent:");
+                    Slog.e(TAG, "Exception when unbinding backup agent:");
                     e.printStackTrace();
                 }
             }
@@ -11889,7 +11889,7 @@
     }
 
     private final void scheduleBroadcastsLocked() {
-        if (DEBUG_BROADCAST) Log.v(TAG, "Schedule broadcasts: current="
+        if (DEBUG_BROADCAST) Slog.v(TAG, "Schedule broadcasts: current="
                 + mBroadcastsScheduled);
 
         if (mBroadcastsScheduled) {
@@ -11930,7 +11930,7 @@
             // the client.
             Intent sticky = allSticky != null ? (Intent)allSticky.get(0) : null;
 
-            if (DEBUG_BROADCAST) Log.v(TAG, "Register receiver " + filter
+            if (DEBUG_BROADCAST) Slog.v(TAG, "Register receiver " + filter
                     + ": " + sticky);
 
             if (receiver == null) {
@@ -11958,7 +11958,7 @@
             BroadcastFilter bf = new BroadcastFilter(filter, rl, permission);
             rl.add(bf);
             if (!bf.debugCheck()) {
-                Log.w(TAG, "==> For Dynamic broadast");
+                Slog.w(TAG, "==> For Dynamic broadast");
             }
             mReceiverResolver.addFilter(bf);
 
@@ -11986,7 +11986,7 @@
     }
 
     public void unregisterReceiver(IIntentReceiver receiver) {
-        if (DEBUG_BROADCAST) Log.v(TAG, "Unregister receiver: " + receiver);
+        if (DEBUG_BROADCAST) Slog.v(TAG, "Unregister receiver: " + receiver);
 
         boolean doNext = false;
 
@@ -12037,11 +12037,11 @@
             boolean ordered, boolean sticky, int callingPid, int callingUid) {
         intent = new Intent(intent);
 
-        if (DEBUG_BROADCAST_LIGHT) Log.v(
+        if (DEBUG_BROADCAST_LIGHT) Slog.v(
             TAG, (sticky ? "Broadcast sticky: ": "Broadcast: ") + intent
             + " ordered=" + ordered);
         if ((resultTo != null) && !ordered) {
-            Log.w(TAG, "Broadcast " + intent + " not ordered but result callback requested!");
+            Slog.w(TAG, "Broadcast " + intent + " not ordered but result callback requested!");
         }
         
         // Handle special intents: if this broadcast is from the package
@@ -12094,7 +12094,7 @@
                         + ", uid=" + callingUid + ")"
                         + " requires "
                         + android.Manifest.permission.BROADCAST_PACKAGE_REMOVED;
-                Log.w(TAG, msg);
+                Slog.w(TAG, msg);
                 throw new SecurityException(msg);
             }
         }
@@ -12122,11 +12122,11 @@
                     String msg = "Permission Denial: not allowed to send broadcast "
                             + intent.getAction() + " from pid="
                             + callingPid + ", uid=" + callingUid;
-                    Log.w(TAG, msg);
+                    Slog.w(TAG, msg);
                     throw new SecurityException(msg);
                 }
             } catch (RemoteException e) {
-                Log.w(TAG, "Remote exception", e);
+                Slog.w(TAG, "Remote exception", e);
                 return BROADCAST_SUCCESS;
             }
         }
@@ -12139,11 +12139,11 @@
                 String msg = "Permission Denial: broadcastIntent() requesting a sticky broadcast from pid="
                         + callingPid + ", uid=" + callingUid
                         + " requires " + android.Manifest.permission.BROADCAST_STICKY;
-                Log.w(TAG, msg);
+                Slog.w(TAG, msg);
                 throw new SecurityException(msg);
             }
             if (requiredPermission != null) {
-                Log.w(TAG, "Can't broadcast sticky intent " + intent
+                Slog.w(TAG, "Can't broadcast sticky intent " + intent
                         + " and enforce permission " + requiredPermission);
                 return BROADCAST_STICKY_CANT_HAVE_PERMISSION;
             }
@@ -12201,7 +12201,7 @@
         final boolean replacePending =
                 (intent.getFlags()&Intent.FLAG_RECEIVER_REPLACE_PENDING) != 0;
         
-        if (DEBUG_BROADCAST) Log.v(TAG, "Enqueing broadcast: " + intent.getAction()
+        if (DEBUG_BROADCAST) Slog.v(TAG, "Enqueing broadcast: " + intent.getAction()
                 + " replacePending=" + replacePending);
         
         int NR = registeredReceivers != null ? registeredReceivers.size() : 0;
@@ -12213,14 +12213,14 @@
                     callerPackage, callingPid, callingUid, requiredPermission,
                     registeredReceivers, resultTo, resultCode, resultData, map,
                     ordered, sticky, false);
-            if (DEBUG_BROADCAST) Log.v(
+            if (DEBUG_BROADCAST) Slog.v(
                     TAG, "Enqueueing parallel broadcast " + r
                     + ": prev had " + mParallelBroadcasts.size());
             boolean replaced = false;
             if (replacePending) {
                 for (int i=mParallelBroadcasts.size()-1; i>=0; i--) {
                     if (intent.filterEquals(mParallelBroadcasts.get(i).intent)) {
-                        if (DEBUG_BROADCAST) Log.v(TAG,
+                        if (DEBUG_BROADCAST) Slog.v(TAG,
                                 "***** DROPPING PARALLEL: " + intent);
                         mParallelBroadcasts.set(i, r);
                         replaced = true;
@@ -12314,18 +12314,18 @@
                     callerPackage, callingPid, callingUid, requiredPermission,
                     receivers, resultTo, resultCode, resultData, map, ordered,
                     sticky, false);
-            if (DEBUG_BROADCAST) Log.v(
+            if (DEBUG_BROADCAST) Slog.v(
                     TAG, "Enqueueing ordered broadcast " + r
                     + ": prev had " + mOrderedBroadcasts.size());
             if (DEBUG_BROADCAST) {
                 int seq = r.intent.getIntExtra("seq", -1);
-                Log.i(TAG, "Enqueueing broadcast " + r.intent.getAction() + " seq=" + seq);
+                Slog.i(TAG, "Enqueueing broadcast " + r.intent.getAction() + " seq=" + seq);
             }
             boolean replaced = false;
             if (replacePending) {
                 for (int i=mOrderedBroadcasts.size()-1; i>=0; i--) {
                     if (intent.filterEquals(mOrderedBroadcasts.get(i).intent)) {
-                        if (DEBUG_BROADCAST) Log.v(TAG,
+                        if (DEBUG_BROADCAST) Slog.v(TAG,
                                 "***** DROPPING ORDERED: " + intent);
                         mOrderedBroadcasts.set(i, r);
                         replaced = true;
@@ -12361,7 +12361,7 @@
                     intent = new Intent(intent);
                     intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
                 } else if ((flags&Intent.FLAG_RECEIVER_REGISTERED_ONLY) == 0){
-                    Log.e(TAG, "Attempt to launch receivers of broadcast intent " + intent
+                    Slog.e(TAG, "Attempt to launch receivers of broadcast intent " + intent
                             + " before boot completion");
                     throw new IllegalStateException("Cannot broadcast before boot completed");
                 }
@@ -12414,7 +12414,7 @@
                         + Binder.getCallingPid()
                         + ", uid=" + Binder.getCallingUid()
                         + " requires " + android.Manifest.permission.BROADCAST_STICKY;
-                Log.w(TAG, msg);
+                Slog.w(TAG, msg);
                 throw new SecurityException(msg);
             }
             ArrayList<Intent> list = mStickyBroadcasts.get(intent.getAction());
@@ -12436,26 +12436,26 @@
             boolean explicit) {
         if (mOrderedBroadcasts.size() == 0) {
             if (explicit) {
-                Log.w(TAG, "finishReceiver called but no pending broadcasts");
+                Slog.w(TAG, "finishReceiver called but no pending broadcasts");
             }
             return false;
         }
         BroadcastRecord r = mOrderedBroadcasts.get(0);
         if (r.receiver == null) {
             if (explicit) {
-                Log.w(TAG, "finishReceiver called but none active");
+                Slog.w(TAG, "finishReceiver called but none active");
             }
             return false;
         }
         if (r.receiver != receiver) {
-            Log.w(TAG, "finishReceiver called but active receiver is different");
+            Slog.w(TAG, "finishReceiver called but active receiver is different");
             return false;
         }
         int state = r.state;
         r.state = r.IDLE;
         if (state == r.IDLE) {
             if (explicit) {
-                Log.w(TAG, "finishReceiver called but state is IDLE");
+                Slog.w(TAG, "finishReceiver called but state is IDLE");
             }
         }
         r.receiver = null;
@@ -12486,7 +12486,7 @@
 
     public void finishReceiver(IBinder who, int resultCode, String resultData,
             Bundle resultExtras, boolean resultAbort) {
-        if (DEBUG_BROADCAST) Log.v(TAG, "Finish receiver: " + who);
+        if (DEBUG_BROADCAST) Slog.v(TAG, "Finish receiver: " + who);
 
         // Refuse possible leaked file descriptors
         if (resultExtras != null && resultExtras.hasFileDescriptors()) {
@@ -12528,7 +12528,7 @@
                         ((ResolveInfo)curReceiver).toString());
             }
         } else {
-            Log.w(TAG, "Discarding broadcast before first receiver is invoked: "
+            Slog.w(TAG, "Discarding broadcast before first receiver is invoked: "
                     + r);
             EventLog.writeEvent(EventLogTags.AM_BROADCAST_DISCARD_APP,
                     System.identityHashCode(r),
@@ -12546,7 +12546,7 @@
             long now = SystemClock.uptimeMillis();
             BroadcastRecord r = mOrderedBroadcasts.get(0);
             if ((r.receiverTime+BROADCAST_TIMEOUT) > now) {
-                if (DEBUG_BROADCAST) Log.v(TAG,
+                if (DEBUG_BROADCAST) Slog.v(TAG,
                         "Premature timeout @ " + now + ": resetting BROADCAST_TIMEOUT_MSG for "
                         + (r.receiverTime + BROADCAST_TIMEOUT));
                 Message msg = mHandler.obtainMessage(BROADCAST_TIMEOUT_MSG);
@@ -12554,20 +12554,20 @@
                 return;
             }
 
-            Log.w(TAG, "Timeout of broadcast " + r + " - receiver=" + r.receiver);
+            Slog.w(TAG, "Timeout of broadcast " + r + " - receiver=" + r.receiver);
             r.receiverTime = now;
             r.anrCount++;
 
             // Current receiver has passed its expiration date.
             if (r.nextReceiver <= 0) {
-                Log.w(TAG, "Timeout on receiver with nextReceiver <= 0");
+                Slog.w(TAG, "Timeout on receiver with nextReceiver <= 0");
                 return;
             }
 
             ProcessRecord app = null;
 
             Object curReceiver = r.receivers.get(r.nextReceiver-1);
-            Log.w(TAG, "Receiver during timeout: " + curReceiver);
+            Slog.w(TAG, "Receiver during timeout: " + curReceiver);
             logBroadcastReceiverDiscard(r);
             if (curReceiver instanceof BroadcastFilter) {
                 BroadcastFilter bf = (BroadcastFilter)curReceiver;
@@ -12612,7 +12612,7 @@
 
         boolean started = false;
         try {
-            if (DEBUG_BROADCAST_LIGHT) Log.v(TAG,
+            if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG,
                     "Delivering to component " + r.curComponent
                     + ": " + r);
             ensurePackageDexOpt(r.intent.getComponent().getPackageName());
@@ -12649,7 +12649,7 @@
             int perm = checkComponentPermission(filter.requiredPermission,
                     r.callingPid, r.callingUid, -1);
             if (perm != PackageManager.PERMISSION_GRANTED) {
-                Log.w(TAG, "Permission Denial: broadcasting "
+                Slog.w(TAG, "Permission Denial: broadcasting "
                         + r.intent.toString()
                         + " from " + r.callerPackage + " (pid="
                         + r.callingPid + ", uid=" + r.callingUid + ")"
@@ -12662,7 +12662,7 @@
             int perm = checkComponentPermission(r.requiredPermission,
                     filter.receiverList.pid, filter.receiverList.uid, -1);
             if (perm != PackageManager.PERMISSION_GRANTED) {
-                Log.w(TAG, "Permission Denial: receiving "
+                Slog.w(TAG, "Permission Denial: receiving "
                         + r.intent.toString()
                         + " to " + filter.receiverList.app
                         + " (pid=" + filter.receiverList.pid
@@ -12697,7 +12697,7 @@
             try {
                 if (DEBUG_BROADCAST_LIGHT) {
                     int seq = r.intent.getIntExtra("seq", -1);
-                    Log.i(TAG, "Delivering to " + filter.receiverList.app
+                    Slog.i(TAG, "Delivering to " + filter.receiverList.app
                             + " (seq=" + seq + "): " + r);
                 }
                 performReceive(filter.receiverList.app, filter.receiverList.receiver,
@@ -12707,7 +12707,7 @@
                     r.state = BroadcastRecord.CALL_DONE_RECEIVE;
                 }
             } catch (RemoteException e) {
-                Log.w(TAG, "Failure sending broadcast " + r.intent, e);
+                Slog.w(TAG, "Failure sending broadcast " + r.intent, e);
                 if (ordered) {
                     r.receiver = null;
                     r.curFilter = null;
@@ -12735,7 +12735,7 @@
         synchronized(this) {
             BroadcastRecord r;
 
-            if (DEBUG_BROADCAST) Log.v(TAG, "processNextBroadcast: "
+            if (DEBUG_BROADCAST) Slog.v(TAG, "processNextBroadcast: "
                     + mParallelBroadcasts.size() + " broadcasts, "
                     + mOrderedBroadcasts.size() + " serialized broadcasts");
 
@@ -12750,17 +12750,17 @@
                 r = mParallelBroadcasts.remove(0);
                 r.dispatchTime = SystemClock.uptimeMillis();
                 final int N = r.receivers.size();
-                if (DEBUG_BROADCAST_LIGHT) Log.v(TAG, "Processing parallel broadcast "
+                if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG, "Processing parallel broadcast "
                         + r);
                 for (int i=0; i<N; i++) {
                     Object target = r.receivers.get(i);
-                    if (DEBUG_BROADCAST)  Log.v(TAG,
+                    if (DEBUG_BROADCAST)  Slog.v(TAG,
                             "Delivering non-serialized to registered "
                             + target + ": " + r);
                     deliverToRegisteredReceiver(r, (BroadcastFilter)target, false);
                 }
                 addBroadcastToHistoryLocked(r);
-                if (DEBUG_BROADCAST_LIGHT) Log.v(TAG, "Done with parallel broadcast "
+                if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG, "Done with parallel broadcast "
                         + r);
             }
 
@@ -12771,7 +12771,7 @@
             // check that the process we're waiting for still exists.
             if (mPendingBroadcast != null) {
                 if (DEBUG_BROADCAST_LIGHT) {
-                    Log.v(TAG, "processNextBroadcast: waiting for "
+                    Slog.v(TAG, "processNextBroadcast: waiting for "
                             + mPendingBroadcast.curApp);
                 }
 
@@ -12783,7 +12783,7 @@
                     // It's still alive, so keep waiting
                     return;
                 } else {
-                    Log.w(TAG, "pending app " + mPendingBroadcast.curApp
+                    Slog.w(TAG, "pending app " + mPendingBroadcast.curApp
                             + " died before responding to broadcast");
                     mPendingBroadcast = null;
                 }
@@ -12814,7 +12814,7 @@
                 if (r.dispatchTime > 0) {
                     if ((numReceivers > 0) &&
                             (now > r.dispatchTime + (2*BROADCAST_TIMEOUT*numReceivers))) {
-                        Log.w(TAG, "Hung broadcast discarded after timeout failure:"
+                        Slog.w(TAG, "Hung broadcast discarded after timeout failure:"
                                 + " now=" + now
                                 + " dispatchTime=" + r.dispatchTime
                                 + " startTime=" + r.receiverTime
@@ -12829,7 +12829,7 @@
                 }
 
                 if (r.state != BroadcastRecord.IDLE) {
-                    if (DEBUG_BROADCAST) Log.d(TAG,
+                    if (DEBUG_BROADCAST) Slog.d(TAG,
                             "processNextBroadcast() called when not idle (state="
                             + r.state + ")");
                     return;
@@ -12843,21 +12843,21 @@
                         try {
                             if (DEBUG_BROADCAST) {
                                 int seq = r.intent.getIntExtra("seq", -1);
-                                Log.i(TAG, "Finishing broadcast " + r.intent.getAction()
+                                Slog.i(TAG, "Finishing broadcast " + r.intent.getAction()
                                         + " seq=" + seq + " app=" + r.callerApp);
                             }
                             performReceive(r.callerApp, r.resultTo,
                                 new Intent(r.intent), r.resultCode,
                                 r.resultData, r.resultExtras, false, false);
                         } catch (RemoteException e) {
-                            Log.w(TAG, "Failure sending broadcast result of " + r.intent, e);
+                            Slog.w(TAG, "Failure sending broadcast result of " + r.intent, e);
                         }
                     }
                     
-                    if (DEBUG_BROADCAST) Log.v(TAG, "Cancelling BROADCAST_TIMEOUT_MSG");
+                    if (DEBUG_BROADCAST) Slog.v(TAG, "Cancelling BROADCAST_TIMEOUT_MSG");
                     mHandler.removeMessages(BROADCAST_TIMEOUT_MSG);
 
-                    if (DEBUG_BROADCAST_LIGHT) Log.v(TAG, "Finished with ordered broadcast "
+                    if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG, "Finished with ordered broadcast "
                             + r);
                     
                     // ... and on to the next...
@@ -12878,9 +12878,9 @@
             if (recIdx == 0) {
                 r.dispatchTime = r.receiverTime;
 
-                if (DEBUG_BROADCAST_LIGHT) Log.v(TAG, "Processing ordered broadcast "
+                if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG, "Processing ordered broadcast "
                         + r);
-                if (DEBUG_BROADCAST) Log.v(TAG,
+                if (DEBUG_BROADCAST) Slog.v(TAG,
                         "Submitting BROADCAST_TIMEOUT_MSG for "
                         + (r.receiverTime + BROADCAST_TIMEOUT));
                 Message msg = mHandler.obtainMessage(BROADCAST_TIMEOUT_MSG);
@@ -12892,7 +12892,7 @@
                 // Simple case: this is a registered receiver who gets
                 // a direct call.
                 BroadcastFilter filter = (BroadcastFilter)nextReceiver;
-                if (DEBUG_BROADCAST)  Log.v(TAG,
+                if (DEBUG_BROADCAST)  Slog.v(TAG,
                         "Delivering serialized to registered "
                         + filter + ": " + r);
                 deliverToRegisteredReceiver(r, filter, r.ordered);
@@ -12917,7 +12917,7 @@
                     info.activityInfo.exported
                             ? -1 : info.activityInfo.applicationInfo.uid);
             if (perm != PackageManager.PERMISSION_GRANTED) {
-                Log.w(TAG, "Permission Denial: broadcasting "
+                Slog.w(TAG, "Permission Denial: broadcasting "
                         + r.intent.toString()
                         + " from " + r.callerPackage + " (pid=" + r.callingPid
                         + ", uid=" + r.callingUid + ")"
@@ -12936,7 +12936,7 @@
                     perm = PackageManager.PERMISSION_DENIED;
                 }
                 if (perm != PackageManager.PERMISSION_GRANTED) {
-                    Log.w(TAG, "Permission Denial: receiving "
+                    Slog.w(TAG, "Permission Denial: receiving "
                             + r.intent + " to "
                             + info.activityInfo.applicationInfo.packageName
                             + " requires " + r.requiredPermission
@@ -12973,7 +12973,7 @@
                     processCurBroadcastLocked(r, app);
                     return;
                 } catch (RemoteException e) {
-                    Log.w(TAG, "Exception when sending broadcast to "
+                    Slog.w(TAG, "Exception when sending broadcast to "
                           + r.curComponent, e);
                 }
 
@@ -12990,7 +12990,7 @@
                             == null) {
                 // Ah, this recipient is unavailable.  Finish it if necessary,
                 // and mark the broadcast record as ready for the next.
-                Log.w(TAG, "Unable to launch app "
+                Slog.w(TAG, "Unable to launch app "
                         + info.activityInfo.applicationInfo.packageName + "/"
                         + info.activityInfo.applicationInfo.uid + " for broadcast "
                         + r.intent + ": process is bad");
@@ -13079,7 +13079,7 @@
      */
     private void reportStartInstrumentationFailure(IInstrumentationWatcher watcher, 
             ComponentName cn, String report) {
-        Log.w(TAG, report);
+        Slog.w(TAG, report);
         try {
             if (watcher != null) {
                 Bundle results = new Bundle();
@@ -13088,7 +13088,7 @@
                 watcher.instrumentationStatus(cn, -1, results);
             }
         } catch (RemoteException e) {
-            Log.w(TAG, e);
+            Slog.w(TAG, e);
         }
     }
 
@@ -13122,7 +13122,7 @@
         synchronized(this) {
             ProcessRecord app = getRecordForAppLocked(target);
             if (app == null) {
-                Log.w(TAG, "finishInstrumentation: no app for " + target);
+                Slog.w(TAG, "finishInstrumentation: no app for " + target);
                 return;
             }
             final long origId = Binder.clearCallingIdentity();
@@ -13196,7 +13196,7 @@
             changes = newConfig.updateFrom(values);
             if (changes != 0) {
                 if (DEBUG_SWITCH || DEBUG_CONFIGURATION) {
-                    Log.i(TAG, "Updating configuration to: " + values);
+                    Slog.i(TAG, "Updating configuration to: " + values);
                 }
                 
                 EventLog.writeEvent(EventLogTags.CONFIGURATION_CHANGED, changes);
@@ -13213,7 +13213,7 @@
                 }
                 newConfig.seq = mConfigurationSeq;
                 mConfiguration = newConfig;
-                Log.i(TAG, "Config changed: " + newConfig);
+                Slog.i(TAG, "Config changed: " + newConfig);
                 
                 AttributeCache ac = AttributeCache.instance();
                 if (ac != null) {
@@ -13228,7 +13228,7 @@
                     ProcessRecord app = mLruProcesses.get(i);
                     try {
                         if (app.thread != null) {
-                            if (DEBUG_CONFIGURATION) Log.v(TAG, "Sending to proc "
+                            if (DEBUG_CONFIGURATION) Slog.v(TAG, "Sending to proc "
                                     + app.processName + " new config " + mConfiguration);
                             app.thread.scheduleConfigurationChanged(mConfiguration);
                         }
@@ -13262,7 +13262,7 @@
                 // If this didn't result in the starting activity being
                 // destroyed, then we need to make sure at this point that all
                 // other activities are made visible.
-                if (DEBUG_SWITCH) Log.i(TAG, "Config didn't destroy " + starting
+                if (DEBUG_SWITCH) Slog.i(TAG, "Config didn't destroy " + starting
                         + ", ensuring others are correct.");
                 ensureActivitiesVisibleLocked(starting, changes);
             }
@@ -13283,7 +13283,7 @@
             results = r.results;
             newIntents = r.newIntents;
         }
-        if (DEBUG_SWITCH) Log.v(TAG, "Relaunching: " + r
+        if (DEBUG_SWITCH) Slog.v(TAG, "Relaunching: " + r
                 + " with results=" + results + " newIntents=" + newIntents
                 + " andResume=" + andResume);
         EventLog.writeEvent(andResume ? EventLogTags.AM_RELAUNCH_RESUME_ACTIVITY
@@ -13293,7 +13293,7 @@
         r.startFreezingScreenLocked(r.app, 0);
         
         try {
-            if (DEBUG_SWITCH) Log.i(TAG, "Switch is restarting resumed " + r);
+            if (DEBUG_SWITCH) Slog.i(TAG, "Switch is restarting resumed " + r);
             r.app.thread.scheduleRelaunchActivity(r, results, newIntents,
                     changes, !andResume, mConfiguration);
             // Note: don't need to call pauseIfSleepingLocked() here, because
@@ -13321,21 +13321,21 @@
      */
     private final boolean ensureActivityConfigurationLocked(HistoryRecord r,
             int globalChanges) {
-        if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Log.v(TAG,
+        if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG,
                 "Ensuring correct configuration: " + r);
         
         // Short circuit: if the two configurations are the exact same
         // object (the common case), then there is nothing to do.
         Configuration newConfig = mConfiguration;
         if (r.configuration == newConfig) {
-            if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Log.v(TAG,
+            if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG,
                     "Configuration unchanged in " + r);
             return true;
         }
         
         // We don't worry about activities that are finishing.
         if (r.finishing) {
-            if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Log.v(TAG,
+            if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG,
                     "Configuration doesn't matter in finishing " + r);
             r.stopFreezingScreenLocked(false);
             return true;
@@ -13349,7 +13349,7 @@
         // If the activity isn't currently running, just leave the new
         // configuration and it will pick that up next time it starts.
         if (r.app == null || r.app.thread == null) {
-            if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Log.v(TAG,
+            if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG,
                     "Configuration doesn't matter not running " + r);
             r.stopFreezingScreenLocked(false);
             return true;
@@ -13362,7 +13362,7 @@
             // Figure out what has changed between the two configurations.
             int changes = oldConfig.diff(newConfig);
             if (DEBUG_SWITCH || DEBUG_CONFIGURATION) {
-                Log.v(TAG, "Checking to restart " + r.info.name + ": changed=0x"
+                Slog.v(TAG, "Checking to restart " + r.info.name + ": changed=0x"
                         + Integer.toHexString(changes) + ", handles=0x"
                         + Integer.toHexString(r.info.configChanges)
                         + ", newConfig=" + newConfig);
@@ -13372,14 +13372,14 @@
                 r.configChangeFlags |= changes;
                 r.startFreezingScreenLocked(r.app, globalChanges);
                 if (r.app == null || r.app.thread == null) {
-                    if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Log.v(TAG,
+                    if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG,
                             "Switch is destroying non-running " + r);
                     destroyActivityLocked(r, true);
                 } else if (r.state == ActivityState.PAUSING) {
                     // A little annoying: we are waiting for this activity to
                     // finish pausing.  Let's not do anything now, but just
                     // flag that it needs to be restarted when done pausing.
-                    if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Log.v(TAG,
+                    if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG,
                             "Switch is skipping already pausing " + r);
                     r.configDestroy = true;
                     return true;
@@ -13388,12 +13388,12 @@
                     // and we need to restart the top, resumed activity.
                     // Instead of doing the normal handshaking, just say
                     // "restart!".
-                    if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Log.v(TAG,
+                    if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG,
                             "Switch is restarting resumed " + r);
                     relaunchActivityLocked(r, r.configChangeFlags, true);
                     r.configChangeFlags = 0;
                 } else {
-                    if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Log.v(TAG,
+                    if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG,
                             "Switch is restarting non-resumed " + r);
                     relaunchActivityLocked(r, r.configChangeFlags, false);
                     r.configChangeFlags = 0;
@@ -13412,7 +13412,7 @@
         // it last got.
         if (r.app != null && r.app.thread != null) {
             try {
-                if (DEBUG_CONFIGURATION) Log.v(TAG, "Sending new config to " + r);
+                if (DEBUG_CONFIGURATION) Slog.v(TAG, "Sending new config to " + r);
                 r.app.thread.scheduleActivityConfigurationChanged(r);
             } catch (RemoteException e) {
                 // If process died, whatever.
@@ -13555,7 +13555,7 @@
             app.adjType = "bg-empty";
         }
 
-        //Log.i(TAG, "OOM " + app + ": initial adj=" + adj);
+        //Slog.i(TAG, "OOM " + app + ": initial adj=" + adj);
         
         // By default, we use the computed adjustment.  It may be changed if
         // there are applications dependent on our services or providers, but
@@ -13567,7 +13567,7 @@
         if (mBackupTarget != null && app == mBackupTarget.app) {
             // If possible we want to avoid killing apps while they're being backed up
             if (adj > BACKUP_APP_ADJ) {
-                if (DEBUG_BACKUP) Log.v(TAG, "oom BACKUP_APP_ADJ for " + app);
+                if (DEBUG_BACKUP) Slog.v(TAG, "oom BACKUP_APP_ADJ for " + app);
                 adj = BACKUP_APP_ADJ;
                 app.adjType = "backup";
                 app.hidden = false;
@@ -13644,7 +13644,7 @@
                         }
                         HistoryRecord a = cr.activity;
                         //if (a != null) {
-                        //    Log.i(TAG, "Connection to " + a ": state=" + a.state);
+                        //    Slog.i(TAG, "Connection to " + a ": state=" + a.state);
                         //}
                         if (a != null && adj > FOREGROUND_APP_ADJ &&
                                 (a.state == ActivityState.RESUMED
@@ -13732,7 +13732,7 @@
 
         app.curRawAdj = adj;
         
-        //Log.i(TAG, "OOM ADJ " + app + ": pid=" + app.pid +
+        //Slog.i(TAG, "OOM ADJ " + app + ": pid=" + app.pid +
         //      " adj=" + adj + " curAdj=" + app.curAdj + " maxAdj=" + app.maxAdj);
         if (adj > app.maxAdj) {
             adj = app.maxAdj;
@@ -13904,7 +13904,7 @@
             }
             if (adj != app.setAdj) {
                 if (Process.setOomAdj(app.pid, adj)) {
-                    if (DEBUG_SWITCH || DEBUG_OOM_ADJ) Log.v(
+                    if (DEBUG_SWITCH || DEBUG_OOM_ADJ) Slog.v(
                         TAG, "Set app " + app.processName +
                         " oom adj to " + adj);
                     app.setAdj = adj;
@@ -13914,7 +13914,7 @@
             }
             if (app.setSchedGroup != app.curSchedGroup) {
                 app.setSchedGroup = app.curSchedGroup;
-                if (DEBUG_SWITCH || DEBUG_OOM_ADJ) Log.v(TAG,
+                if (DEBUG_SWITCH || DEBUG_OOM_ADJ) Slog.v(TAG,
                         "Setting process group of " + app.processName
                         + " to " + app.curSchedGroup);
                 if (true) {
@@ -13922,7 +13922,7 @@
                     try {
                         Process.setProcessGroup(app.pid, app.curSchedGroup);
                     } catch (Exception e) {
-                        Log.w(TAG, "Failed setting process group of " + app.pid
+                        Slog.w(TAG, "Failed setting process group of " + app.pid
                                 + " to " + app.curSchedGroup);
                         e.printStackTrace();
                     } finally {
@@ -13984,7 +13984,7 @@
         if (false) {
             RuntimeException e = new RuntimeException();
             e.fillInStackTrace();
-            Log.i(TAG, "updateOomAdj: top=" + TOP_ACT, e);
+            Slog.i(TAG, "updateOomAdj: top=" + TOP_ACT, e);
         }
 
         mAdjSeq++;
@@ -14005,7 +14005,7 @@
         while (i > 0) {
             i--;
             ProcessRecord app = mLruProcesses.get(i);
-            //Log.i(TAG, "OOM " + app + ": cur hidden=" + curHiddenAdj);
+            //Slog.i(TAG, "OOM " + app + ": cur hidden=" + curHiddenAdj);
             if (updateOomAdjLocked(app, curHiddenAdj, TOP_APP)) {
                 if (curHiddenAdj < EMPTY_APP_ADJ
                     && app.curAdj == curHiddenAdj) {
@@ -14036,7 +14036,7 @@
                 final ProcessRecord app = mRemovedProcesses.get(i);
                 if (app.activities.size() == 0
                         && app.curReceiver == null && app.services.size() == 0) {
-                    Log.i(
+                    Slog.i(
                         TAG, "Exiting empty application process "
                         + app.processName + " ("
                         + (app.thread != null ? app.thread.asBinder() : null)
@@ -14077,7 +14077,7 @@
                             || app.persistentActivities > 0) {
                         // Don't count processes holding services against our
                         // maximum process count.
-                        if (localLOGV) Log.v(
+                        if (localLOGV) Slog.v(
                             TAG, "Not trimming app " + app + " with services: "
                             + app.services);
                         numServiceProcs++;
@@ -14103,7 +14103,7 @@
                     // running any activities.
                     if (!app.persistent && app.activities.size() == 0
                             && app.curReceiver == null && app.services.size() == 0) {
-                        Log.i(
+                        Slog.i(
                             TAG, "Exiting empty application process "
                             + app.processName + " ("
                             + (app.thread != null ? app.thread.asBinder() : null)
@@ -14128,7 +14128,7 @@
 
                 // If we still have too many processes, now from the least
                 // recently used process we start finishing activities.
-                if (Config.LOGV) Log.v(
+                if (Config.LOGV) Slog.v(
                     TAG, "*** NOW HAVE " + mLruProcesses.size() +
                     " of " + curMaxProcs + " processes");
                 for (   i=0;
@@ -14143,11 +14143,11 @@
                         && app.persistentActivities == 0;
                     int NUMA = app.activities.size();
                     int j;
-                    if (Config.LOGV) Log.v(
+                    if (Config.LOGV) Slog.v(
                         TAG, "Looking to quit " + app.processName);
                     for (j=0; j<NUMA && canQuit; j++) {
                         HistoryRecord r = (HistoryRecord)app.activities.get(j);
-                        if (Config.LOGV) Log.v(
+                        if (Config.LOGV) Slog.v(
                             TAG, "  " + r.intent.getComponent().flattenToShortString()
                             + ": frozen=" + r.haveState + ", visible=" + r.visible);
                         canQuit = (r.haveState || !r.stateNotNeeded)
@@ -14162,7 +14162,7 @@
                             }
                             r.resultTo = null;
                         }
-                        Log.i(TAG, "Exiting application process "
+                        Slog.i(TAG, "Exiting application process "
                               + app.processName + " ("
                               + (app.thread != null ? app.thread.asBinder() : null)
                               + ")\n");
diff --git a/services/java/com/android/server/am/AppErrorDialog.java b/services/java/com/android/server/am/AppErrorDialog.java
index 328f5e7..3a1aad6 100644
--- a/services/java/com/android/server/am/AppErrorDialog.java
+++ b/services/java/com/android/server/am/AppErrorDialog.java
@@ -23,7 +23,7 @@
 import android.content.res.Resources;
 import android.os.Handler;
 import android.os.Message;
-import android.util.Log;
+import android.util.Slog;
 
 class AppErrorDialog extends BaseErrorDialog {
     private final static String TAG = "AppErrorDialog";
diff --git a/services/java/com/android/server/am/AppNotRespondingDialog.java b/services/java/com/android/server/am/AppNotRespondingDialog.java
index 57c75e0..9702f91 100644
--- a/services/java/com/android/server/am/AppNotRespondingDialog.java
+++ b/services/java/com/android/server/am/AppNotRespondingDialog.java
@@ -26,7 +26,7 @@
 import android.os.Handler;
 import android.os.Message;
 import android.os.Process;
-import android.util.Log;
+import android.util.Slog;
 
 class AppNotRespondingDialog extends BaseErrorDialog {
     private static final String TAG = "AppNotRespondingDialog";
@@ -130,7 +130,7 @@
                 try {
                     getContext().startActivity(appErrorIntent);
                 } catch (ActivityNotFoundException e) {
-                    Log.w(TAG, "bug report receiver dissappeared", e);
+                    Slog.w(TAG, "bug report receiver dissappeared", e);
                 }
             }
         }
diff --git a/services/java/com/android/server/am/BackupRecord.java b/services/java/com/android/server/am/BackupRecord.java
index 5ac8e0d..6590b91 100644
--- a/services/java/com/android/server/am/BackupRecord.java
+++ b/services/java/com/android/server/am/BackupRecord.java
@@ -54,4 +54,4 @@
             .append(' ').append(appInfo.backupAgentName).append('}');
         return stringName = sb.toString();
     }
-}
\ No newline at end of file
+}
diff --git a/services/java/com/android/server/am/BaseErrorDialog.java b/services/java/com/android/server/am/BaseErrorDialog.java
index aa80ae6..03e3272 100644
--- a/services/java/com/android/server/am/BaseErrorDialog.java
+++ b/services/java/com/android/server/am/BaseErrorDialog.java
@@ -45,10 +45,10 @@
 
     public boolean dispatchKeyEvent(KeyEvent event) {
         if (mConsuming) {
-            //Log.i(TAG, "Consuming: " + event);
+            //Slog.i(TAG, "Consuming: " + event);
             return true;
         }
-        //Log.i(TAG, "Dispatching: " + event);
+        //Slog.i(TAG, "Dispatching: " + event);
         return super.dispatchKeyEvent(event);
     }
 
diff --git a/services/java/com/android/server/am/BatteryStatsService.java b/services/java/com/android/server/am/BatteryStatsService.java
index d59aead..cdf4e95 100644
--- a/services/java/com/android/server/am/BatteryStatsService.java
+++ b/services/java/com/android/server/am/BatteryStatsService.java
@@ -24,7 +24,7 @@
 import android.os.Process;
 import android.os.ServiceManager;
 import android.telephony.SignalStrength;
-import android.util.Log;
+import android.util.Slog;
 
 import com.android.internal.app.IBatteryStats;
 import com.android.internal.os.BatteryStatsImpl;
@@ -57,7 +57,7 @@
     }
     
     public void shutdown() {
-        Log.w("BatteryStats", "Writing battery stats before shutdown...");
+        Slog.w("BatteryStats", "Writing battery stats before shutdown...");
         synchronized (mStats) {
             mStats.writeLocked();
         }
@@ -84,8 +84,8 @@
     public byte[] getStatistics() {
         mContext.enforceCallingPermission(
                 android.Manifest.permission.BATTERY_STATS, null);
-        //Log.i("foo", "SENDING BATTERY INFO:");
-        //mStats.dumpLocked(new LogPrinter(Log.INFO, "foo"));
+        //Slog.i("foo", "SENDING BATTERY INFO:");
+        //mStats.dumpLocked(new LogPrinter(Log.INFO, "foo", Log.LOG_ID_SYSTEM));
         Parcel out = Parcel.obtain();
         mStats.writeToParcel(out, 0);
         byte[] data = out.marshall();
diff --git a/services/java/com/android/server/am/DeviceMonitor.java b/services/java/com/android/server/am/DeviceMonitor.java
index ce07430..5f3b0ce 100644
--- a/services/java/com/android/server/am/DeviceMonitor.java
+++ b/services/java/com/android/server/am/DeviceMonitor.java
@@ -16,7 +16,7 @@
 
 package com.android.server.am;
 
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.*;
 import java.util.Arrays;
@@ -65,7 +65,7 @@
                 try {
                     dump();
                 } catch (IOException e) {
-                    Log.w(LOG_TAG, "Dump failed.", e);
+                    Slog.w(LOG_TAG, "Dump failed.", e);
                 }
                 pause();
             }
@@ -100,7 +100,7 @@
             Arrays.sort(files);
             for (int i = 0; i < count; i++) {
                 if (!files[i].delete()) {
-                    Log.w(LOG_TAG, "Couldn't delete " + files[i] + ".");
+                    Slog.w(LOG_TAG, "Couldn't delete " + files[i] + ".");
                 }
             }
         }
@@ -178,7 +178,7 @@
                 closeable.close();
             }
         } catch (IOException e) {
-            Log.w(LOG_TAG, e);
+            Slog.w(LOG_TAG, e);
         }
     }
 
diff --git a/services/java/com/android/server/am/PendingIntentRecord.java b/services/java/com/android/server/am/PendingIntentRecord.java
index fac47d7..847e91b 100644
--- a/services/java/com/android/server/am/PendingIntentRecord.java
+++ b/services/java/com/android/server/am/PendingIntentRecord.java
@@ -24,7 +24,7 @@
 import android.os.Binder;
 import android.os.IBinder;
 import android.os.RemoteException;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.PrintWriter;
 import java.lang.ref.WeakReference;
@@ -81,7 +81,7 @@
             hash = (ODD_PRIME_NUMBER*hash) + _p.hashCode();
             hash = (ODD_PRIME_NUMBER*hash) + _t;
             hashCode = hash;
-            //Log.i(ActivityManagerService.TAG, this + " hashCode=0x"
+            //Slog.i(ActivityManagerService.TAG, this + " hashCode=0x"
             //        + Integer.toHexString(hashCode));
         }
         
@@ -213,7 +213,7 @@
                                     finalIntent, resolvedType,
                                     resultTo, resultWho, requestCode, false);
                         } catch (RuntimeException e) {
-                            Log.w(ActivityManagerService.TAG,
+                            Slog.w(ActivityManagerService.TAG,
                                     "Unable to send startActivity intent", e);
                         }
                         break;
@@ -231,7 +231,7 @@
                                     (finishedReceiver != null), false);
                             sendFinish = false;
                         } catch (RuntimeException e) {
-                            Log.w(ActivityManagerService.TAG,
+                            Slog.w(ActivityManagerService.TAG,
                                     "Unable to send startActivity intent", e);
                         }
                         break;
@@ -240,7 +240,7 @@
                             owner.startServiceInPackage(uid,
                                     finalIntent, resolvedType);
                         } catch (RuntimeException e) {
-                            Log.w(ActivityManagerService.TAG,
+                            Slog.w(ActivityManagerService.TAG,
                                     "Unable to send startService intent", e);
                         }
                         break;
diff --git a/services/java/com/android/server/am/ServiceRecord.java b/services/java/com/android/server/am/ServiceRecord.java
index 5a02c40..0542497 100644
--- a/services/java/com/android/server/am/ServiceRecord.java
+++ b/services/java/com/android/server/am/ServiceRecord.java
@@ -29,7 +29,7 @@
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.SystemClock;
-import android.util.Log;
+import android.util.Slog;
 
 import java.io.PrintWriter;
 import java.util.ArrayList;
@@ -269,7 +269,7 @@
                         inm.enqueueNotification(localPackageName, localForegroundId,
                                 localForegroundNoti, outId);
                     } catch (RuntimeException e) {
-                        Log.w(ActivityManagerService.TAG,
+                        Slog.w(ActivityManagerService.TAG,
                                 "Error showing notification for service", e);
                         // If it gave us a garbage notification, it doesn't
                         // get to be foreground.
@@ -297,7 +297,7 @@
                     try {
                         inm.cancelNotification(localPackageName, localForegroundId);
                     } catch (RuntimeException e) {
-                        Log.w(ActivityManagerService.TAG,
+                        Slog.w(ActivityManagerService.TAG,
                                 "Error canceling notification for service", e);
                     } catch (RemoteException e) {
                     }
diff --git a/services/java/com/android/server/am/UsageStatsService.java b/services/java/com/android/server/am/UsageStatsService.java
index f99ca96..d170b02 100644
--- a/services/java/com/android/server/am/UsageStatsService.java
+++ b/services/java/com/android/server/am/UsageStatsService.java
@@ -27,7 +27,7 @@
 import android.os.Process;
 import android.os.ServiceManager;
 import android.os.SystemClock;
-import android.util.Log;
+import android.util.Slog;
 import java.io.File;
 import java.io.FileDescriptor;
 import java.io.FileInputStream;
@@ -149,14 +149,14 @@
         PkgUsageStatsExtended(Parcel in) {
             mLaunchCount = in.readInt();
             mUsageTime = in.readLong();
-            if (localLOGV) Log.v(TAG, "Launch count: " + mLaunchCount
+            if (localLOGV) Slog.v(TAG, "Launch count: " + mLaunchCount
                     + ", Usage time:" + mUsageTime);
             
             final int N = in.readInt();
-            if (localLOGV) Log.v(TAG, "Reading comps: " + N);
+            if (localLOGV) Slog.v(TAG, "Reading comps: " + N);
             for (int i=0; i<N; i++) {
                 String comp = in.readString();
-                if (localLOGV) Log.v(TAG, "Component: " + comp);
+                if (localLOGV) Slog.v(TAG, "Component: " + comp);
                 TimeStats times = new TimeStats(in);
                 mLaunchTimes.put(comp, times);
             }
@@ -231,7 +231,7 @@
             while (i > 0) {
                 i--;
                 if (fList[i].startsWith(prefix)) {
-                    Log.i(TAG, "Deleting old usage file: " + fList[i]);
+                    Slog.i(TAG, "Deleting old usage file: " + fList[i]);
                     (new File(parentDir, fList[i])).delete();
                 }
             }
@@ -291,7 +291,7 @@
                     newFile.createNewFile();
                 }
             } catch (IOException e) {
-                Log.w(TAG,"Error : " + e + " reading data from file:" + newFile);
+                Slog.w(TAG,"Error : " + e + " reading data from file:" + newFile);
             }
         }
     }
@@ -300,7 +300,7 @@
         Parcel in = getParcelForFile(file);
         int vers = in.readInt();
         if (vers != VERSION) {
-            Log.w(TAG, "Usage stats version changed; dropping");
+            Slog.w(TAG, "Usage stats version changed; dropping");
             return;
         }
         int N = in.readInt();
@@ -310,7 +310,7 @@
             if (pkgName == null) {
                 break;
             }
-            if (localLOGV) Log.v(TAG, "Reading package #" + N + ": " + pkgName);
+            if (localLOGV) Slog.v(TAG, "Reading package #" + N + ": " + pkgName);
             PkgUsageStatsExtended pus = new PkgUsageStatsExtended(in);
             synchronized (mStatsLock) {
                 mStats.put(pkgName, pus);
@@ -356,7 +356,7 @@
         for (int i = 0; i < count; i++) {
             String fileName = fileList.get(i);
             File file = new File(mDir, fileName);
-            Log.i(TAG, "Deleting usage file : " + fileName);
+            Slog.i(TAG, "Deleting usage file : " + fileName);
             file.delete();
         }
     }
@@ -384,7 +384,7 @@
             if (mFile != null && mFile.exists()) {
                 backupFile = new File(mFile.getPath() + ".bak");
                 if (!mFile.renameTo(backupFile)) {
-                    Log.w(TAG, "Failed to persist new stats");
+                    Slog.w(TAG, "Failed to persist new stats");
                     return;
                 }
             }
@@ -407,7 +407,7 @@
                     backupFile.delete();
                 }
             } catch (IOException e) {
-                Log.w(TAG, "Failed writing stats to file:" + mFile);
+                Slog.w(TAG, "Failed writing stats to file:" + mFile);
                 if (backupFile != null) {
                     mFile.delete();
                     backupFile.renameTo(mFile);
@@ -448,7 +448,7 @@
     }
     
     public void shutdown() {
-        Log.w(TAG, "Writing usage stats before shutdown...");
+        Slog.w(TAG, "Writing usage stats before shutdown...");
         writeStatsToFile(true);
     }
     
@@ -475,7 +475,7 @@
                 if (mLastResumedPkg != null) {
                     // We last resumed some other package...  just pause it now
                     // to recover.
-                    Log.i(TAG, "Unexpected resume of " + pkgName
+                    Slog.i(TAG, "Unexpected resume of " + pkgName
                             + " while already resumed in " + mLastResumedPkg);
                     PkgUsageStatsExtended pus = mStats.get(mLastResumedPkg);
                     if (pus != null) {
@@ -491,7 +491,7 @@
             mLastResumedPkg = pkgName;
             mLastResumedComp = componentName.getClassName();
             
-            if (localLOGV) Log.i(TAG, "started component:" + pkgName);
+            if (localLOGV) Slog.i(TAG, "started component:" + pkgName);
             PkgUsageStatsExtended pus = mStats.get(pkgName);
             if (pus == null) {
                 pus = new PkgUsageStatsExtended();
@@ -514,18 +514,18 @@
                 return;
             }
             if (!mIsResumed) {
-                Log.i(TAG, "Something wrong here, didn't expect "
+                Slog.i(TAG, "Something wrong here, didn't expect "
                         + pkgName + " to be paused");
                 return;
             }
             mIsResumed = false;
             
-            if (localLOGV) Log.i(TAG, "paused component:"+pkgName);
+            if (localLOGV) Slog.i(TAG, "paused component:"+pkgName);
         
             PkgUsageStatsExtended pus = mStats.get(pkgName);
             if (pus == null) {
                 // Weird some error here
-                Log.i(TAG, "No package stats for pkg:"+pkgName);
+                Slog.i(TAG, "No package stats for pkg:"+pkgName);
                 return;
             }
             pus.updatePause();
@@ -642,10 +642,10 @@
                     dFile.delete();
                 }
             } catch (FileNotFoundException e) {
-                Log.w(TAG, "Failed with "+e+" when collecting dump info from file : " + file);
+                Slog.w(TAG, "Failed with "+e+" when collecting dump info from file : " + file);
                 return;
             } catch (IOException e) {
-                Log.w(TAG, "Failed with "+e+" when collecting dump info from file : "+file);
+                Slog.w(TAG, "Failed with "+e+" when collecting dump info from file : "+file);
             }      
         }
     }
@@ -829,7 +829,7 @@
         } else if (isCheckinRequest) {
             // If checkin doesn't specify any packages, then we simply won't
             // show anything.
-            Log.w(TAG, "Checkin without packages");
+            Slog.w(TAG, "Checkin without packages");
             return;
         }
         
diff --git a/services/java/com/android/server/status/DateView.java b/services/java/com/android/server/status/DateView.java
index 78bfd5e..3e54a6d 100644
--- a/services/java/com/android/server/status/DateView.java
+++ b/services/java/com/android/server/status/DateView.java
@@ -5,7 +5,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.util.AttributeSet;
-import android.util.Log;
+import android.util.Slog;
 import android.widget.TextView;
 import android.view.MotionEvent;
 
diff --git a/services/java/com/android/server/status/ExpandedView.java b/services/java/com/android/server/status/ExpandedView.java
index 33ac8c1..7e66810 100644
--- a/services/java/com/android/server/status/ExpandedView.java
+++ b/services/java/com/android/server/status/ExpandedView.java
@@ -7,7 +7,7 @@
 import android.view.MotionEvent;
 import android.view.WindowManager;
 import android.widget.LinearLayout;
-import android.util.Log;
+import android.util.Slog;
 
 
 public class ExpandedView extends LinearLayout {
@@ -34,7 +34,7 @@
          super.onLayout(changed, left, top, right, bottom);
          int height = bottom - top;
          if (height != mPrevHeight) {
-             //Log.d(StatusBarService.TAG, "height changed old=" + mPrevHeight + " new=" + height);
+             //Slog.d(StatusBarService.TAG, "height changed old=" + mPrevHeight + " new=" + height);
              mPrevHeight = height;
              mService.updateExpandedViewPos(StatusBarService.EXPANDED_LEAVE_ALONE);
          }
diff --git a/services/java/com/android/server/status/FixedSizeDrawable.java b/services/java/com/android/server/status/FixedSizeDrawable.java
index fe5abca..69a09d7 100644
--- a/services/java/com/android/server/status/FixedSizeDrawable.java
+++ b/services/java/com/android/server/status/FixedSizeDrawable.java
@@ -4,7 +4,7 @@
 import android.graphics.Canvas;
 import android.graphics.ColorFilter;
 import android.graphics.Rect;
-import android.util.Log;
+import android.util.Slog;
 
 class FixedSizeDrawable extends Drawable {
     Drawable mDrawable;
diff --git a/services/java/com/android/server/status/IconData.java b/services/java/com/android/server/status/IconData.java
index 8a61eb5..adca375 100644
--- a/services/java/com/android/server/status/IconData.java
+++ b/services/java/com/android/server/status/IconData.java
@@ -1,6 +1,6 @@
 package com.android.server.status;
 
-import android.util.Log;
+import android.util.Slog;
 
 public class IconData {
     /**
diff --git a/services/java/com/android/server/status/LatestItemView.java b/services/java/com/android/server/status/LatestItemView.java
index a47f6ad..6e7a9ce 100644
--- a/services/java/com/android/server/status/LatestItemView.java
+++ b/services/java/com/android/server/status/LatestItemView.java
@@ -2,7 +2,7 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.util.Log;
+import android.util.Slog;
 import android.view.MotionEvent;
 import android.widget.FrameLayout;
 
diff --git a/services/java/com/android/server/status/NotificationViewList.java b/services/java/com/android/server/status/NotificationViewList.java
index 8f1633f..b9865a4 100644
--- a/services/java/com/android/server/status/NotificationViewList.java
+++ b/services/java/com/android/server/status/NotificationViewList.java
@@ -1,7 +1,7 @@
 package com.android.server.status;
 
 import android.os.IBinder;
-import android.util.Log;
+import android.util.Slog;
 import android.view.View;
 import java.util.ArrayList;
 
@@ -119,8 +119,8 @@
                 index++;
             }
         }
-        Log.e(StatusBarService.TAG, "Couldn't find notification in NotificationViewList.");
-        Log.e(StatusBarService.TAG, "notification=" + notification);
+        Slog.e(StatusBarService.TAG, "Couldn't find notification in NotificationViewList.");
+        Slog.e(StatusBarService.TAG, "notification=" + notification);
         dump(notification);
         return 0;
     }
@@ -171,7 +171,7 @@
         list.add(index, notification);
 
         if (StatusBarService.SPEW) {
-            Log.d(StatusBarService.TAG, "NotificationViewList index=" + index);
+            Slog.d(StatusBarService.TAG, "NotificationViewList index=" + index);
             dump(notification);
         }
     }
@@ -190,7 +190,7 @@
                 }
                 s += " ";
             }
-            Log.d(StatusBarService.TAG, "NotificationViewList ongoing: " + s);
+            Slog.d(StatusBarService.TAG, "NotificationViewList ongoing: " + s);
 
             s = "";
             for (int i=0; i<mLatest.size(); i++) {
@@ -204,7 +204,7 @@
                 }
                 s += " ";
             }
-            Log.d(StatusBarService.TAG, "NotificationViewList latest:  " + s);
+            Slog.d(StatusBarService.TAG, "NotificationViewList latest:  " + s);
         }
     }
 
diff --git a/services/java/com/android/server/status/StatusBarIcon.java b/services/java/com/android/server/status/StatusBarIcon.java
index b20d3f6..c9e3b78 100644
--- a/services/java/com/android/server/status/StatusBarIcon.java
+++ b/services/java/com/android/server/status/StatusBarIcon.java
@@ -6,7 +6,7 @@
 import android.graphics.Typeface;
 import android.graphics.drawable.Drawable;
 import android.text.TextUtils;
-import android.util.Log;
+import android.util.Slog;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -140,7 +140,7 @@
             try {
                 r = context.getPackageManager().getResourcesForApplication(data.iconPackage);
             } catch (PackageManager.NameNotFoundException ex) {
-                Log.e(StatusBarService.TAG, "Icon package not found: " + data.iconPackage, ex);
+                Slog.e(StatusBarService.TAG, "Icon package not found: " + data.iconPackage, ex);
                 return null;
             }
         } else {
@@ -148,14 +148,14 @@
         }
 
         if (data.iconId == 0) {
-            Log.w(StatusBarService.TAG, "No icon ID for slot " + data.slot);
+            Slog.w(StatusBarService.TAG, "No icon ID for slot " + data.slot);
             return null;
         }
         
         try {
             return r.getDrawable(data.iconId);
         } catch (RuntimeException e) {
-            Log.w(StatusBarService.TAG, "Icon not found in "
+            Slog.w(StatusBarService.TAG, "Icon not found in "
                   + (data.iconPackage != null ? data.iconId : "<system>")
                   + ": " + Integer.toHexString(data.iconId));
         }
diff --git a/services/java/com/android/server/status/StatusBarPolicy.java b/services/java/com/android/server/status/StatusBarPolicy.java
index f1ccb9b..44e0dad 100644
--- a/services/java/com/android/server/status/StatusBarPolicy.java
+++ b/services/java/com/android/server/status/StatusBarPolicy.java
@@ -51,7 +51,7 @@
 import android.text.style.RelativeSizeSpan;
 import android.text.Spannable;
 import android.text.SpannableStringBuilder;
-import android.util.Log;
+import android.util.Slog;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.WindowManager;
@@ -650,7 +650,7 @@
         boolean plugged = intent.getIntExtra("plugged", 0) != 0;
         int level = intent.getIntExtra("level", -1);
         if (false) {
-            Log.d(TAG, "updateBattery level=" + level
+            Slog.d(TAG, "updateBattery level=" + level
                     + " plugged=" + plugged
                     + " mBatteryPlugged=" + mBatteryPlugged
                     + " mBatteryLevel=" + mBatteryLevel
@@ -679,14 +679,14 @@
         }
         */
         if (false) {
-            Log.d(TAG, "plugged=" + plugged + " oldPlugged=" + oldPlugged + " level=" + level);
+            Slog.d(TAG, "plugged=" + plugged + " oldPlugged=" + oldPlugged + " level=" + level);
         }
     }
 
     private void onBatteryLow(Intent intent) {
         if (SHOW_LOW_BATTERY_WARNING) {
             if (false) {
-                Log.d(TAG, "mPhoneState=" + mPhoneState
+                Slog.d(TAG, "mPhoneState=" + mPhoneState
                       + " mLowBatteryDialog=" + mLowBatteryDialog
                       + " mBatteryShowLowOnEndCall=" + mBatteryShowLowOnEndCall);
             }
@@ -838,7 +838,7 @@
     private final void updateCallState(int state) {
         mPhoneState = state;
         if (false) {
-            Log.d(TAG, "mPhoneState=" + mPhoneState
+            Slog.d(TAG, "mPhoneState=" + mPhoneState
                     + " mLowBatteryDialog=" + mLowBatteryDialog
                     + " mBatteryShowLowOnEndCall=" + mBatteryShowLowOnEndCall);
         }
@@ -973,7 +973,7 @@
         int[] iconList;
 
         if (!hasService()) {
-            //Log.d(TAG, "updateSignalStrength: no service");
+            //Slog.d(TAG, "updateSignalStrength: no service");
             if (Settings.System.getInt(mContext.getContentResolver(),
                     Settings.System.AIRPLANE_MODE_ON, 0) == 1) {
                 mPhoneData.iconId = com.android.internal.R.drawable.stat_sys_signal_flightmode;
@@ -1012,7 +1012,7 @@
             if ((mPhoneState == TelephonyManager.CALL_STATE_IDLE) && isEvdo()){
                 iconLevel = getEvdoLevel();
                 if (false) {
-                    Log.d(TAG, "use Evdo level=" + iconLevel + " to replace Cdma Level=" + getCdmaLevel());
+                    Slog.d(TAG, "use Evdo level=" + iconLevel + " to replace Cdma Level=" + getCdmaLevel());
                 }
             } else {
                 iconLevel = getCdmaLevel();
@@ -1306,16 +1306,16 @@
         final String action = intent.getAction();
         final boolean enabled = intent.getBooleanExtra(TtyIntent.TTY_ENABLED, false);
 
-        if (false) Log.v(TAG, "updateTTY: enabled: " + enabled);
+        if (false) Slog.v(TAG, "updateTTY: enabled: " + enabled);
 
         if (enabled) {
             // TTY is on
-            if (false) Log.v(TAG, "updateTTY: set TTY on");
+            if (false) Slog.v(TAG, "updateTTY: set TTY on");
             mService.updateIcon(mTTYModeIcon, mTTYModeEnableIconData, null);
             mService.setIconVisibility(mTTYModeIcon, true);
         } else {
             // TTY is off
-            if (false) Log.v(TAG, "updateTTY: set TTY off");
+            if (false) Slog.v(TAG, "updateTTY: set TTY off");
             mService.setIconVisibility(mTTYModeIcon, false);
         }
     }
@@ -1336,17 +1336,17 @@
         int iconMode = state.getCdmaEriIconMode();
 
         if (iconIndex == -1) {
-            Log.e(TAG, "getCdmaEriIconIndex returned null, skipping ERI icon update");
+            Slog.e(TAG, "getCdmaEriIconIndex returned null, skipping ERI icon update");
             return;
         }
 
         if (iconMode == -1) {
-            Log.e(TAG, "getCdmeEriIconMode returned null, skipping ERI icon update");
+            Slog.e(TAG, "getCdmeEriIconMode returned null, skipping ERI icon update");
             return;
         }
 
         if (iconIndex == EriInfo.ROAMING_INDICATOR_OFF) {
-            if (false) Log.v(TAG, "Cdma ROAMING_INDICATOR_OFF, removing ERI icon");
+            if (false) Slog.v(TAG, "Cdma ROAMING_INDICATOR_OFF, removing ERI icon");
             mService.setIconVisibility(mCdmaRoamingIndicatorIcon, false);
             return;
         }
diff --git a/services/java/com/android/server/status/StatusBarService.java b/services/java/com/android/server/status/StatusBarService.java
index 3f77291..d5f2c1d 100644
--- a/services/java/com/android/server/status/StatusBarService.java
+++ b/services/java/com/android/server/status/StatusBarService.java
@@ -41,7 +41,7 @@
 import android.os.Message;
 import android.os.SystemClock;
 import android.provider.Telephony;
-import android.util.Log;
+import android.util.Slog;
 import android.view.Display;
 import android.view.Gravity;
 import android.view.KeyEvent;
@@ -116,7 +116,7 @@
         IBinder token;
 
         public void binderDied() {
-            Log.i(TAG, "binder died for pkg=" + pkg);
+            Slog.i(TAG, "binder died for pkg=" + pkg);
             disable(0, token, pkg);
             token.unlinkToDeath(this, 0);
         }
@@ -482,7 +482,7 @@
     // lock on mDisableRecords
     void manageDisableListLocked(int what, IBinder token, String pkg) {
         if (SPEW) {
-            Log.d(TAG, "manageDisableList what=0x" + Integer.toHexString(what)
+            Slog.d(TAG, "manageDisableList what=0x" + Integer.toHexString(what)
                     + " pkg=" + pkg);
         }
         // update the list
@@ -661,7 +661,7 @@
     /* private */ void performAddUpdateIcon(IBinder key, IconData data, NotificationData n)
                         throws StatusBarException {
         if (SPEW) {
-            Log.d(TAG, "performAddUpdateIcon icon=" + data + " notification=" + n + " key=" + key);
+            Slog.d(TAG, "performAddUpdateIcon icon=" + data + " notification=" + n + " key=" + key);
         }
         // notification
         if (n != null) {
@@ -725,7 +725,7 @@
                         rightIcons[slotIndex] = icon;
                         mStatusIcons.addView(icon.view, pos);
                     } else {
-                        Log.e(TAG, "duplicate icon in slot " + slotIndex + "/" + data.slot);
+                        Slog.e(TAG, "duplicate icon in slot " + slotIndex + "/" + data.slot);
                         mIconMap.remove(key);
                         mIconList.remove(icon);
                         return ;
@@ -754,7 +754,7 @@
     /* private */ void performSetIconVisibility(IBinder key, boolean visible) {
         synchronized (mIconMap) {
             if (SPEW) {
-                Log.d(TAG, "performSetIconVisibility key=" + key + " visible=" + visible);
+                Slog.d(TAG, "performSetIconVisibility key=" + key + " visible=" + visible);
             }
             StatusBarIcon icon = mIconMap.get(key);
             icon.view.setVisibility(visible ? View.VISIBLE : View.GONE);
@@ -764,7 +764,7 @@
     /* private */ void performRemoveIcon(IBinder key) {
         synchronized (this) {
             if (SPEW) {
-                Log.d(TAG, "performRemoveIcon key=" + key);
+                Slog.d(TAG, "performRemoveIcon key=" + key);
             }
             StatusBarIcon icon = mIconMap.remove(key);
             mIconList.remove(icon);
@@ -851,7 +851,7 @@
             exception = e;
         }
         if (child == null) {
-            Log.e(TAG, "couldn't inflate view for package " + n.pkg, exception);
+            Slog.e(TAG, "couldn't inflate view for package " + n.pkg, exception);
             return null;
         }
         content.addView(child);
@@ -908,7 +908,7 @@
             }
             catch (RuntimeException e) {
                 // It failed to add cleanly.  Log, and remove the view from the panel.
-                Log.w(TAG, "couldn't reapply views for package " + n.contentView.getPackage(), e);
+                Slog.w(TAG, "couldn't reapply views for package " + n.contentView.getPackage(), e);
                 removeNotificationView(notification);
             }
         } else {
@@ -949,7 +949,7 @@
     }
 
     private void makeExpandedVisible() {
-        if (SPEW) Log.d(TAG, "Make expanded visible: expanded visible=" + mExpandedVisible);
+        if (SPEW) Slog.d(TAG, "Make expanded visible: expanded visible=" + mExpandedVisible);
         if (mExpandedVisible) {
             return;
         }
@@ -969,7 +969,7 @@
     }
     
     void animateExpand() {
-        if (SPEW) Log.d(TAG, "Animate expand: expanded=" + mExpanded);
+        if (SPEW) Slog.d(TAG, "Animate expand: expanded=" + mExpanded);
         if ((mDisabled & StatusBarManager.DISABLE_EXPAND) != 0) {
             return ;
         }
@@ -983,7 +983,7 @@
     
     void animateCollapse() {
         if (SPEW) {
-            Log.d(TAG, "animateCollapse(): mExpanded=" + mExpanded
+            Slog.d(TAG, "animateCollapse(): mExpanded=" + mExpanded
                     + " mExpandedVisible=" + mExpandedVisible
                     + " mExpanded=" + mExpanded
                     + " mAnimating=" + mAnimating
@@ -1009,7 +1009,7 @@
     }
     
     void performExpand() {
-        if (SPEW) Log.d(TAG, "performExpand: mExpanded=" + mExpanded);
+        if (SPEW) Slog.d(TAG, "performExpand: mExpanded=" + mExpanded);
         if ((mDisabled & StatusBarManager.DISABLE_EXPAND) != 0) {
             return ;
         }
@@ -1034,7 +1034,7 @@
     }
 
     void performCollapse() {
-        if (SPEW) Log.d(TAG, "performCollapse: mExpanded=" + mExpanded
+        if (SPEW) Slog.d(TAG, "performCollapse: mExpanded=" + mExpanded
                 + " mExpandedVisible=" + mExpandedVisible);
         
         if (!mExpandedVisible) {
@@ -1060,18 +1060,18 @@
 
     void doAnimation() {
         if (mAnimating) {
-            if (SPEW) Log.d(TAG, "doAnimation");
-            if (SPEW) Log.d(TAG, "doAnimation before mAnimY=" + mAnimY);
+            if (SPEW) Slog.d(TAG, "doAnimation");
+            if (SPEW) Slog.d(TAG, "doAnimation before mAnimY=" + mAnimY);
             incrementAnim();
-            if (SPEW) Log.d(TAG, "doAnimation after  mAnimY=" + mAnimY);
+            if (SPEW) Slog.d(TAG, "doAnimation after  mAnimY=" + mAnimY);
             if (mAnimY >= mDisplay.getHeight()-1) {
-                if (SPEW) Log.d(TAG, "Animation completed to expanded state.");
+                if (SPEW) Slog.d(TAG, "Animation completed to expanded state.");
                 mAnimating = false;
                 updateExpandedViewPos(EXPANDED_FULL_OPEN);
                 performExpand();
             }
             else if (mAnimY < mStatusBarView.getHeight()) {
-                if (SPEW) Log.d(TAG, "Animation completed to collapsed state.");
+                if (SPEW) Slog.d(TAG, "Animation completed to collapsed state.");
                 mAnimating = false;
                 updateExpandedViewPos(0);
                 performCollapse();
@@ -1099,7 +1099,7 @@
         mAnimY = y + (v*t) + (0.5f*a*t*t);                          // px
         mAnimVel = v + (a*t);                                       // px/s
         mAnimLastTime = now;                                        // ms
-        //Log.d(TAG, "y=" + y + " v=" + v + " a=" + a + " t=" + t + " mAnimY=" + mAnimY
+        //Slog.d(TAG, "y=" + y + " v=" + v + " a=" + a + " t=" + t + " mAnimY=" + mAnimY
         //        + " mAnimAccel=" + mAnimAccel);
     }
 
@@ -1155,7 +1155,7 @@
         mAnimY = y;
         mAnimVel = vel;
 
-        //Log.d(TAG, "starting with mAnimY=" + mAnimY + " mAnimVel=" + mAnimVel);
+        //Slog.d(TAG, "starting with mAnimY=" + mAnimY + " mAnimVel=" + mAnimVel);
 
         if (mExpanded) {
             if (!always && (
@@ -1195,7 +1195,7 @@
                 }
             }
         }
-        //Log.d(TAG, "mAnimY=" + mAnimY + " mAnimVel=" + mAnimVel
+        //Slog.d(TAG, "mAnimY=" + mAnimY + " mAnimVel=" + mAnimVel
         //        + " mAnimAccel=" + mAnimAccel);
 
         long now = SystemClock.uptimeMillis();
@@ -1210,7 +1210,7 @@
     
     boolean interceptTouchEvent(MotionEvent event) {
         if (SPEW) {
-            Log.d(TAG, "Touch: rawY=" + event.getRawY() + " event=" + event + " mDisabled="
+            Slog.d(TAG, "Touch: rawY=" + event.getRawY() + " event=" + event + " mDisabled="
                 + mDisabled);
         }
 
@@ -1311,7 +1311,7 @@
                 mNotificationCallbacks.onNotificationClick(mPkg, mTag, mId);
             } catch (PendingIntent.CanceledException e) {
                 // the stack trace isn't very helpful here.  Just log the exception message.
-                Log.w(TAG, "Sending contentIntent failed: " + e);
+                Slog.w(TAG, "Sending contentIntent failed: " + e);
             }
             deactivate();
         }
@@ -1475,19 +1475,19 @@
             mHandler.post(new Runnable() {
                     public void run() {
                         mStatusBarView.getLocationOnScreen(mAbsPos);
-                        Log.d(TAG, "mStatusBarView: ----- (" + mAbsPos[0] + "," + mAbsPos[1]
+                        Slog.d(TAG, "mStatusBarView: ----- (" + mAbsPos[0] + "," + mAbsPos[1]
                                 + ") " + mStatusBarView.getWidth() + "x"
                                 + mStatusBarView.getHeight());
                         mStatusBarView.debug();
 
                         mExpandedView.getLocationOnScreen(mAbsPos);
-                        Log.d(TAG, "mExpandedView: ----- (" + mAbsPos[0] + "," + mAbsPos[1]
+                        Slog.d(TAG, "mExpandedView: ----- (" + mAbsPos[0] + "," + mAbsPos[1]
                                 + ") " + mExpandedView.getWidth() + "x"
                                 + mExpandedView.getHeight());
                         mExpandedView.debug();
 
                         mTrackingView.getLocationOnScreen(mAbsPos);
-                        Log.d(TAG, "mTrackingView: ----- (" + mAbsPos[0] + "," + mAbsPos[1]
+                        Slog.d(TAG, "mTrackingView: ----- (" + mAbsPos[0] + "," + mAbsPos[1]
                                 + ") " + mTrackingView.getWidth() + "x"
                                 + mTrackingView.getHeight());
                         mTrackingView.debug();
@@ -1578,7 +1578,7 @@
 
     void updateExpandedViewPos(int expandedPosition) {
         if (SPEW) {
-            Log.d(TAG, "updateExpandedViewPos before expandedPosition=" + expandedPosition
+            Slog.d(TAG, "updateExpandedViewPos before expandedPosition=" + expandedPosition
                     + " mTrackingParams.y=" + mTrackingParams.y
                     + " mTrackingPosition=" + mTrackingPosition);
         }
@@ -1652,7 +1652,7 @@
         }
 
         if (SPEW) {
-            Log.d(TAG, "updateExpandedViewPos after  expandedPosition=" + expandedPosition
+            Slog.d(TAG, "updateExpandedViewPos after  expandedPosition=" + expandedPosition
                     + " mTrackingParams.y=" + mTrackingParams.y
                     + " mTrackingPosition=" + mTrackingPosition
                     + " mExpandedParams.y=" + mExpandedParams.y
@@ -1697,13 +1697,13 @@
         // act accordingly
         if ((diff & StatusBarManager.DISABLE_EXPAND) != 0) {
             if ((net & StatusBarManager.DISABLE_EXPAND) != 0) {
-                Log.d(TAG, "DISABLE_EXPAND: yes");
+                Slog.d(TAG, "DISABLE_EXPAND: yes");
                 animateCollapse();
             }
         }
         if ((diff & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) {
             if ((net & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) {
-                Log.d(TAG, "DISABLE_NOTIFICATION_ICONS: yes");
+                Slog.d(TAG, "DISABLE_NOTIFICATION_ICONS: yes");
                 if (mTicking) {
                     mNotificationIcons.setVisibility(View.INVISIBLE);
                     mTicker.halt();
@@ -1711,7 +1711,7 @@
                     setNotificationIconVisibility(false, com.android.internal.R.anim.fade_out);
                 }
             } else {
-                Log.d(TAG, "DISABLE_NOTIFICATION_ICONS: no");
+                Slog.d(TAG, "DISABLE_NOTIFICATION_ICONS: no");
                 if (!mExpandedVisible) {
                     setNotificationIconVisibility(true, com.android.internal.R.anim.fade_in);
                 }
@@ -1751,7 +1751,7 @@
 
     void updateNetworkName(boolean showSpn, String spn, boolean showPlmn, String plmn) {
         if (false) {
-            Log.d(TAG, "updateNetworkName showSpn=" + showSpn + " spn=" + spn
+            Slog.d(TAG, "updateNetworkName showSpn=" + showSpn + " spn=" + spn
                     + " showPlmn=" + showPlmn + " plmn=" + plmn);
         }
         boolean something = false;
@@ -1793,7 +1793,7 @@
 
         mEdgeBorder = res.getDimensionPixelSize(R.dimen.status_bar_edge_ignore);
 
-        if (false) Log.v(TAG, "updateResources");
+        if (false) Slog.v(TAG, "updateResources");
     }
 
     //
@@ -1814,7 +1814,7 @@
         public void run() {
             vibrate();
             SystemClock.sleep(250);
-            Log.d(TAG, "startTracing");
+            Slog.d(TAG, "startTracing");
             android.os.Debug.startMethodTracing("/data/statusbar-traces/trace");
             mHandler.postDelayed(mStopTracing, 10000);
         }
@@ -1823,7 +1823,7 @@
     Runnable mStopTracing = new Runnable() {
         public void run() {
             android.os.Debug.stopMethodTracing();
-            Log.d(TAG, "stopTracing");
+            Slog.d(TAG, "stopTracing");
             vibrate();
         }
     };
diff --git a/services/java/com/android/server/status/StatusBarView.java b/services/java/com/android/server/status/StatusBarView.java
index 35dfb81..d12a3cf 100644
--- a/services/java/com/android/server/status/StatusBarView.java
+++ b/services/java/com/android/server/status/StatusBarView.java
@@ -2,7 +2,7 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.util.Log;
+import android.util.Slog;
 import android.view.KeyEvent;
 import android.view.MotionEvent;
 import android.view.View;
diff --git a/services/java/com/android/server/status/StorageNotification.java b/services/java/com/android/server/status/StorageNotification.java
index e0b288d..8da8cd3 100644
--- a/services/java/com/android/server/status/StorageNotification.java
+++ b/services/java/com/android/server/status/StorageNotification.java
@@ -37,7 +37,7 @@
 import android.os.storage.StorageManager;
 import android.os.storage.StorageResultCode;
 import android.provider.Settings;
-import android.util.Log;
+import android.util.Slog;
 import android.view.View;
 import android.widget.Button;
 import android.widget.ImageView;
@@ -81,7 +81,7 @@
 
         mStorageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);
         mUmsAvailable = mStorageManager.isUsbMassStorageConnected();
-        Log.d(TAG, String.format( "Startup with UMS connection %s (media state %s)", mUmsAvailable,
+        Slog.d(TAG, String.format( "Startup with UMS connection %s (media state %s)", mUmsAvailable,
                 Environment.getExternalStorageState()));
     }
 
@@ -97,7 +97,7 @@
          */
         String st = Environment.getExternalStorageState();
 
-        Log.i(TAG, String.format("UMS connection changed to %s (media state %s)", connected, st));
+        Slog.i(TAG, String.format("UMS connection changed to %s (media state %s)", connected, st));
 
         if (connected && (st.equals(
                 Environment.MEDIA_REMOVED) || st.equals(Environment.MEDIA_CHECKING))) {
@@ -114,7 +114,7 @@
      */
     @Override
     public void onStorageStateChanged(String path, String oldState, String newState) {
-        Log.i(TAG, String.format(
+        Slog.i(TAG, String.format(
                 "Media {%s} state changed from {%s} -> {%s}", path, oldState, newState));
         if (newState.equals(Environment.MEDIA_SHARED)) {
             /*
@@ -229,7 +229,7 @@
                     true, true, null);
             updateUsbMassStorageNotification(false);
         } else {
-            Log.w(TAG, String.format("Ignoring unknown state {%s}", newState));
+            Slog.w(TAG, String.format("Ignoring unknown state {%s}", newState));
         }
     }
 
diff --git a/services/java/com/android/server/status/Ticker.java b/services/java/com/android/server/status/Ticker.java
index c93ee0d..6626c86 100644
--- a/services/java/com/android/server/status/Ticker.java
+++ b/services/java/com/android/server/status/Ticker.java
@@ -9,7 +9,7 @@
 import android.text.Layout.Alignment;
 import android.text.TextPaint;
 import android.text.TextUtils;
-import android.util.Log;
+import android.util.Slog;
 import android.view.View;
 import android.view.animation.Animation;
 import android.view.animation.AnimationUtils;
diff --git a/services/java/com/android/server/status/TrackingPatternView.java b/services/java/com/android/server/status/TrackingPatternView.java
index 4cb8eff..2c91aa4 100644
--- a/services/java/com/android/server/status/TrackingPatternView.java
+++ b/services/java/com/android/server/status/TrackingPatternView.java
@@ -19,7 +19,7 @@
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.util.AttributeSet;
-import android.util.Log;
+import android.util.Slog;
 import android.view.View;
 import android.graphics.BitmapFactory;
 import android.graphics.Bitmap;