Delete "Show CPU usage"

This functionality hasn't worked since Lollipop.

Bug: 21388590
Change-Id: Ie4388d88f6e06f3e2d2e84e9c4515b3ebc6a0ea5
diff --git a/api/current.txt b/api/current.txt
index 08bf3ed..8655d89 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -32482,7 +32482,7 @@
     field public static final java.lang.String RADIO_CELL = "cell";
     field public static final java.lang.String RADIO_NFC = "nfc";
     field public static final java.lang.String RADIO_WIFI = "wifi";
-    field public static final java.lang.String SHOW_PROCESSES = "show_processes";
+    field public static final deprecated java.lang.String SHOW_PROCESSES = "show_processes";
     field public static final java.lang.String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in";
     field public static final java.lang.String TRANSITION_ANIMATION_SCALE = "transition_animation_scale";
     field public static final java.lang.String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled";
diff --git a/api/system-current.txt b/api/system-current.txt
index b3d0169..0fe164a 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -35238,7 +35238,7 @@
     field public static final java.lang.String RADIO_CELL = "cell";
     field public static final java.lang.String RADIO_NFC = "nfc";
     field public static final java.lang.String RADIO_WIFI = "wifi";
-    field public static final java.lang.String SHOW_PROCESSES = "show_processes";
+    field public static final deprecated java.lang.String SHOW_PROCESSES = "show_processes";
     field public static final java.lang.String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in";
     field public static final java.lang.String THEATER_MODE_ON = "theater_mode_on";
     field public static final java.lang.String TRANSITION_ANIMATION_SCALE = "transition_animation_scale";
diff --git a/api/test-current.txt b/api/test-current.txt
index 17bd2c7..d74526b 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -32560,7 +32560,7 @@
     field public static final java.lang.String RADIO_CELL = "cell";
     field public static final java.lang.String RADIO_NFC = "nfc";
     field public static final java.lang.String RADIO_WIFI = "wifi";
-    field public static final java.lang.String SHOW_PROCESSES = "show_processes";
+    field public static final deprecated java.lang.String SHOW_PROCESSES = "show_processes";
     field public static final java.lang.String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in";
     field public static final java.lang.String TRANSITION_ANIMATION_SCALE = "transition_animation_scale";
     field public static final java.lang.String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled";
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 9268db7..8bb6942 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -1850,7 +1850,6 @@
             MOVED_TO_GLOBAL.add(Settings.Global.CALL_AUTO_RETRY);
             MOVED_TO_GLOBAL.add(Settings.Global.DEBUG_APP);
             MOVED_TO_GLOBAL.add(Settings.Global.WAIT_FOR_DEBUGGER);
-            MOVED_TO_GLOBAL.add(Settings.Global.SHOW_PROCESSES);
             MOVED_TO_GLOBAL.add(Settings.Global.ALWAYS_FINISH_ACTIVITIES);
             MOVED_TO_GLOBAL.add(Settings.Global.TZINFO_UPDATE_CONTENT_URL);
             MOVED_TO_GLOBAL.add(Settings.Global.TZINFO_UPDATE_METADATA_URL);
@@ -2787,7 +2786,8 @@
         /**
          * Control whether the process CPU usage meter should be shown.
          *
-         * @deprecated Use {@link Global#SHOW_PROCESSES} instead
+         * @deprecated This functionality is no longer available as of
+         * {@link android.os.Build.VERSION_CODES#N_MR1}.
          */
         @Deprecated
         public static final String SHOW_PROCESSES = Global.SHOW_PROCESSES;
@@ -8406,7 +8406,11 @@
 
         /**
          * Control whether the process CPU usage meter should be shown.
+         *
+         * @deprecated This functionality is no longer available as of
+         * {@link android.os.Build.VERSION_CODES#N_MR1}.
          */
+        @Deprecated
         public static final String SHOW_PROCESSES = "show_processes";
 
         /**
diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index 08e5164f..43b7668 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -582,11 +582,6 @@
     <!-- UI debug setting: force right to left layout summary [CHAR LIMIT=100] -->
     <string name="force_rtl_layout_all_locales_summary">Force screen layout direction to RTL for all locales</string>
 
-    <!-- UI debug setting: show how CPU is being used? [CHAR LIMIT=25] -->
-    <string name="show_cpu_usage">Show CPU usage</string>
-    <!-- UI debug setting: show cpu usage summary [CHAR LIMIT=50] -->
-    <string name="show_cpu_usage_summary">Screen overlay showing current CPU usage</string>
-
     <!-- UI debug setting: force hardware acceleration to render apps [CHAR LIMIT=25] -->
     <string name="force_hw_ui">Force GPU rendering</string>
     <!-- UI debug setting: force hardware acceleration summary [CHAR LIMIT=50] -->
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 7338a9c..c1a1f84 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -1483,7 +1483,6 @@
                             Settings.Global.CALL_AUTO_RETRY,
                             Settings.Global.DEBUG_APP,
                             Settings.Global.WAIT_FOR_DEBUGGER,
-                            Settings.Global.SHOW_PROCESSES,
                             Settings.Global.ALWAYS_FINISH_ACTIVITIES,
                     };
                     String[] secureToGlobal = {
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index de25115..443299e 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -213,9 +213,6 @@
             </intent-filter>
         </receiver>
 
-        <service android:name=".LoadAverageService"
-                android:exported="true" />
-
         <service android:name=".ImageWallpaper"
                 android:permission="android.permission.BIND_WALLPAPER"
                 android:exported="true" />
diff --git a/packages/SystemUI/src/com/android/systemui/BootReceiver.java b/packages/SystemUI/src/com/android/systemui/BootReceiver.java
deleted file mode 100644
index 8e24eeb..0000000
--- a/packages/SystemUI/src/com/android/systemui/BootReceiver.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui;
-
-import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.provider.Settings;
-import android.util.Log;
-
-/**
- * Performs a number of miscellaneous, non-system-critical actions
- * after the system has finished booting.
- */
-public class BootReceiver extends BroadcastReceiver {
-    private static final String TAG = "SystemUIBootReceiver";
-
-    @Override
-    public void onReceive(final Context context, Intent intent) {
-        try {
-            // Start the load average overlay, if activated
-            ContentResolver res = context.getContentResolver();
-            if (Settings.Global.getInt(res, Settings.Global.SHOW_PROCESSES, 0) != 0) {
-                Intent loadavg = new Intent(context, com.android.systemui.LoadAverageService.class);
-                context.startService(loadavg);
-            }
-        } catch (Exception e) {
-            Log.e(TAG, "Can't start load average service", e);
-        }
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/LoadAverageService.java b/packages/SystemUI/src/com/android/systemui/LoadAverageService.java
deleted file mode 100644
index 59ffe03..0000000
--- a/packages/SystemUI/src/com/android/systemui/LoadAverageService.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui;
-
-import android.app.Service;
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.PixelFormat;
-import android.os.Handler;
-import android.os.IBinder;
-import android.os.Message;
-import android.view.Gravity;
-import android.view.View;
-import android.view.WindowManager;
-
-import com.android.internal.os.ProcessCpuTracker;
-
-public class LoadAverageService extends Service {
-    private View mView;
-
-    private static final class CpuTracker extends ProcessCpuTracker {
-        String mLoadText;
-        int mLoadWidth;
-
-        private final Paint mPaint;
-
-        CpuTracker(Paint paint) {
-            super(false);
-            mPaint = paint;
-        }
-
-        @Override
-        public void onLoadChanged(float load1, float load5, float load15) {
-            mLoadText = load1 + " / " + load5 + " / " + load15;
-            mLoadWidth = (int)mPaint.measureText(mLoadText);
-        }
-
-        @Override
-        public int onMeasureProcessName(String name) {
-            return (int)mPaint.measureText(name);
-        }
-    }
-
-    private class LoadView extends View {
-        private Handler mHandler = new Handler() {
-            @Override
-            public void handleMessage(Message msg) {
-                if (msg.what == 1) {
-                    mStats.update();
-                    updateDisplay();
-                    Message m = obtainMessage(1);
-                    sendMessageDelayed(m, 2000);
-                }
-            }
-        };
-
-        private final CpuTracker mStats;
-
-        private Paint mLoadPaint;
-        private Paint mAddedPaint;
-        private Paint mRemovedPaint;
-        private Paint mShadowPaint;
-        private Paint mShadow2Paint;
-        private Paint mIrqPaint;
-        private Paint mSystemPaint;
-        private Paint mUserPaint;
-        private float mAscent;
-        private int mFH;
-
-        private int mNeededWidth;
-        private int mNeededHeight;
-
-        LoadView(Context c) {
-            super(c);
-
-            setPadding(4, 4, 4, 4);
-            //setBackgroundResource(com.android.internal.R.drawable.load_average_background);
-
-            // Need to scale text size by density...  but we won't do it
-            // linearly, because with higher dps it is nice to squeeze the
-            // text a bit to fit more of it.  And with lower dps, trying to
-            // go much smaller will result in unreadable text.
-            int textSize = 10;
-            float density = c.getResources().getDisplayMetrics().density;
-            if (density < 1) {
-                textSize = 9;
-            } else {
-                textSize = (int)(10*density);
-                if (textSize < 10) {
-                    textSize = 10;
-                }
-            }
-            mLoadPaint = new Paint();
-            mLoadPaint.setAntiAlias(true);
-            mLoadPaint.setTextSize(textSize);
-            mLoadPaint.setARGB(255, 255, 255, 255);
-
-            mAddedPaint = new Paint();
-            mAddedPaint.setAntiAlias(true);
-            mAddedPaint.setTextSize(textSize);
-            mAddedPaint.setARGB(255, 128, 255, 128);
-
-            mRemovedPaint = new Paint();
-            mRemovedPaint.setAntiAlias(true);
-            mRemovedPaint.setStrikeThruText(true);
-            mRemovedPaint.setTextSize(textSize);
-            mRemovedPaint.setARGB(255, 255, 128, 128);
-
-            mShadowPaint = new Paint();
-            mShadowPaint.setAntiAlias(true);
-            mShadowPaint.setTextSize(textSize);
-            //mShadowPaint.setFakeBoldText(true);
-            mShadowPaint.setARGB(192, 0, 0, 0);
-            mLoadPaint.setShadowLayer(4, 0, 0, 0xff000000);
-
-            mShadow2Paint = new Paint();
-            mShadow2Paint.setAntiAlias(true);
-            mShadow2Paint.setTextSize(textSize);
-            //mShadow2Paint.setFakeBoldText(true);
-            mShadow2Paint.setARGB(192, 0, 0, 0);
-            mLoadPaint.setShadowLayer(2, 0, 0, 0xff000000);
-
-            mIrqPaint = new Paint();
-            mIrqPaint.setARGB(0x80, 0, 0, 0xff);
-            mIrqPaint.setShadowLayer(2, 0, 0, 0xff000000);
-            mSystemPaint = new Paint();
-            mSystemPaint.setARGB(0x80, 0xff, 0, 0);
-            mSystemPaint.setShadowLayer(2, 0, 0, 0xff000000);
-            mUserPaint = new Paint();
-            mUserPaint.setARGB(0x80, 0, 0xff, 0);
-            mSystemPaint.setShadowLayer(2, 0, 0, 0xff000000);
-
-            mAscent = mLoadPaint.ascent();
-            float descent = mLoadPaint.descent();
-            mFH = (int)(descent - mAscent + .5f);
-
-            mStats = new CpuTracker(mLoadPaint);
-            mStats.init();
-            updateDisplay();
-        }
-
-        @Override
-        protected void onAttachedToWindow() {
-            super.onAttachedToWindow();
-            mHandler.sendEmptyMessage(1);
-        }
-
-        @Override
-        protected void onDetachedFromWindow() {
-            super.onDetachedFromWindow();
-            mHandler.removeMessages(1);
-        }
-
-        @Override
-        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-            setMeasuredDimension(resolveSize(mNeededWidth, widthMeasureSpec),
-                    resolveSize(mNeededHeight, heightMeasureSpec));
-        }
-
-        @Override
-        public void onDraw(Canvas canvas) {
-            super.onDraw(canvas);
-            final int W = mNeededWidth;
-            final int RIGHT = getWidth()-1;
-
-            final CpuTracker stats = mStats;
-            final int userTime = stats.getLastUserTime();
-            final int systemTime = stats.getLastSystemTime();
-            final int iowaitTime = stats.getLastIoWaitTime();
-            final int irqTime = stats.getLastIrqTime();
-            final int softIrqTime = stats.getLastSoftIrqTime();
-            final int idleTime = stats.getLastIdleTime();
-
-            final int totalTime = userTime+systemTime+iowaitTime+irqTime+softIrqTime+idleTime;
-            if (totalTime == 0) {
-                return;
-            }
-            int userW = (userTime*W)/totalTime;
-            int systemW = (systemTime*W)/totalTime;
-            int irqW = ((iowaitTime+irqTime+softIrqTime)*W)/totalTime;
-
-            int paddingRight = getPaddingRight();
-            int x = RIGHT - paddingRight;
-            int top = getPaddingTop() + 2;
-            int bottom = getPaddingTop() + mFH - 2;
-
-            if (irqW > 0) {
-                canvas.drawRect(x-irqW, top, x, bottom, mIrqPaint);
-                x -= irqW;
-            }
-            if (systemW > 0) {
-                canvas.drawRect(x-systemW, top, x, bottom, mSystemPaint);
-                x -= systemW;
-            }
-            if (userW > 0) {
-                canvas.drawRect(x-userW, top, x, bottom, mUserPaint);
-                x -= userW;
-            }
-
-            int y = getPaddingTop() - (int)mAscent;
-            canvas.drawText(stats.mLoadText, RIGHT-paddingRight-stats.mLoadWidth-1,
-                    y-1, mShadowPaint);
-            canvas.drawText(stats.mLoadText, RIGHT-paddingRight-stats.mLoadWidth-1,
-                    y+1, mShadowPaint);
-            canvas.drawText(stats.mLoadText, RIGHT-paddingRight-stats.mLoadWidth+1,
-                    y-1, mShadow2Paint);
-            canvas.drawText(stats.mLoadText, RIGHT-paddingRight-stats.mLoadWidth+1,
-                    y+1, mShadow2Paint);
-            canvas.drawText(stats.mLoadText, RIGHT-paddingRight-stats.mLoadWidth,
-                    y, mLoadPaint);
-
-            int N = stats.countWorkingStats();
-            for (int i=0; i<N; i++) {
-                CpuTracker.Stats st = stats.getWorkingStats(i);
-                y += mFH;
-                top += mFH;
-                bottom += mFH;
-
-                userW = (st.rel_utime*W)/totalTime;
-                systemW = (st.rel_stime*W)/totalTime;
-                x = RIGHT - paddingRight;
-                if (systemW > 0) {
-                    canvas.drawRect(x-systemW, top, x, bottom, mSystemPaint);
-                    x -= systemW;
-                }
-                if (userW > 0) {
-                    canvas.drawRect(x-userW, top, x, bottom, mUserPaint);
-                    x -= userW;
-                }
-
-                canvas.drawText(st.name, RIGHT-paddingRight-st.nameWidth-1,
-                        y-1, mShadowPaint);
-                canvas.drawText(st.name, RIGHT-paddingRight-st.nameWidth-1,
-                        y+1, mShadowPaint);
-                canvas.drawText(st.name, RIGHT-paddingRight-st.nameWidth+1,
-                        y-1, mShadow2Paint);
-                canvas.drawText(st.name, RIGHT-paddingRight-st.nameWidth+1,
-                        y+1, mShadow2Paint);
-                Paint p = mLoadPaint;
-                if (st.added) p = mAddedPaint;
-                if (st.removed) p = mRemovedPaint;
-                canvas.drawText(st.name, RIGHT-paddingRight-st.nameWidth, y, p);
-            }
-        }
-
-        void updateDisplay() {
-            final CpuTracker stats = mStats;
-            final int NW = stats.countWorkingStats();
-
-            int maxWidth = stats.mLoadWidth;
-            for (int i=0; i<NW; i++) {
-                CpuTracker.Stats st = stats.getWorkingStats(i);
-                if (st.nameWidth > maxWidth) {
-                    maxWidth = st.nameWidth;
-                }
-            }
-
-            int neededWidth = getPaddingLeft() + getPaddingRight() + maxWidth;
-            int neededHeight = getPaddingTop() + getPaddingBottom() + (mFH*(1+NW));
-            if (neededWidth != mNeededWidth || neededHeight != mNeededHeight) {
-                mNeededWidth = neededWidth;
-                mNeededHeight = neededHeight;
-                requestLayout();
-            } else {
-                invalidate();
-            }
-        }
-    }
-
-    @Override
-    public void onCreate() {
-        super.onCreate();
-        mView = new LoadView(this);
-        WindowManager.LayoutParams params = new WindowManager.LayoutParams(
-            WindowManager.LayoutParams.MATCH_PARENT,
-            WindowManager.LayoutParams.WRAP_CONTENT,
-            WindowManager.LayoutParams.TYPE_SECURE_SYSTEM_OVERLAY,
-            WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|
-            WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
-            PixelFormat.TRANSLUCENT);
-        params.gravity = Gravity.END | Gravity.TOP;
-        params.setTitle("Load Average");
-        WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);
-        wm.addView(mView, params);
-    }
-
-    @Override
-    public void onDestroy() {
-        super.onDestroy();
-        ((WindowManager)getSystemService(WINDOW_SERVICE)).removeView(mView);
-        mView = null;
-    }
-
-    @Override
-    public IBinder onBind(Intent intent) {
-        return null;
-    }
-
-}
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index b8f7d1f..f027b94 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -177,7 +177,6 @@
     static final boolean DEBUG_STARTING_WINDOW = false;
     static final boolean DEBUG_WAKEUP = false;
     static final boolean SHOW_STARTING_ANIMATIONS = true;
-    static final boolean SHOW_PROCESSES_ON_ALT_MENU = false;
 
     // Whether to allow dock apps with METADATA_DOCK_HOME to temporarily take over the Home key.
     // No longer recommended for desk docks;
@@ -3157,21 +3156,6 @@
                     mContext.sendOrderedBroadcastAsUser(intent, UserHandle.CURRENT,
                             null, null, null, 0, null, null);
                     return -1;
-                } else if (SHOW_PROCESSES_ON_ALT_MENU &&
-                        (metaState & KeyEvent.META_ALT_ON) == KeyEvent.META_ALT_ON) {
-                    Intent service = new Intent();
-                    service.setClassName(mContext, "com.android.server.LoadAverageService");
-                    ContentResolver res = mContext.getContentResolver();
-                    boolean shown = Settings.Global.getInt(
-                            res, Settings.Global.SHOW_PROCESSES, 0) != 0;
-                    if (!shown) {
-                        mContext.startService(service);
-                    } else {
-                        mContext.stopService(service);
-                    }
-                    Settings.Global.putInt(
-                            res, Settings.Global.SHOW_PROCESSES, shown ? 0 : 1);
-                    return -1;
                 }
             }
         } else if (keyCode == KeyEvent.KEYCODE_SEARCH) {