diff --git a/api/current.txt b/api/current.txt index 08bf3ed4a5aad..8655d8995808b 100644 --- a/api/current.txt +++ b/api/current.txt @@ -32482,7 +32482,7 @@ package android.provider { 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 b3d0169629845..0fe164a269cdc 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -35238,7 +35238,7 @@ package android.provider { 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 17bd2c7e4d649..d74526b72150f 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -32560,7 +32560,7 @@ package android.provider { 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 17f9bad828de1..8a132dbb8abb7 100755 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -1850,7 +1850,6 @@ public final class Settings { 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 @@ public final class Settings { /** * 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; @@ -8443,7 +8443,11 @@ public final class Settings { /** * 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 08e5164fb2526..43b766803e333 100644 --- a/packages/SettingsLib/res/values/strings.xml +++ b/packages/SettingsLib/res/values/strings.xml @@ -582,11 +582,6 @@ Force screen layout direction to RTL for all locales - - Show CPU usage - - Screen overlay showing current CPU usage - Force GPU rendering diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index 7338a9cb654bd..c1a1f844f6d9b 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 @@ class DatabaseHelper extends SQLiteOpenHelper { 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 de2511574e097..443299e09708d 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -213,9 +213,6 @@ - - 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 8e24eebd10ccc..0000000000000 --- 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 59ffe03b842f6..0000000000000 --- 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 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 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 1d32561d69983..865efae29ff7c 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 @@ public class PhoneWindowManager implements WindowManagerPolicy { 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; @@ -3274,21 +3273,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { 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) {