diff options
11 files changed, 13 insertions, 116 deletions
diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml index 6f44d9c2326f..6a7e048b577a 100644 --- a/packages/SettingsLib/res/values/strings.xml +++ b/packages/SettingsLib/res/values/strings.xml @@ -1849,7 +1849,4 @@ <!-- The name of the screen for seeing and installing system updates. [CHAR LIMIT=40]--> <string name="system_update_settings_list_item_title">System Updates</string> - - <!-- The exclamation symbol defined for the battery meter. [CHAR LIMIT=NONE]--> - <string name="config_batteryMeterExclamationPath" translatable="false">M7 12.5h.5V12 6 5.5H7 5 4.5V6v6 .5H5 7ZM4.9064 16.0629l.0147.016.016.0147c.2966.2719.6605.4064 1.0629.4064.4024 0 .7673-.1352 1.0536-.4214.294-.294.4464-.6629.4464-1.0786 0-.4092-.1485-.7731-.4462-1.0538C6.7731 13.6485 6.4092 13.5 6 13.5c-.4157 0-.7846.1525-1.0785.4464L5.275 14.3l-.3536-.3536C4.6352 14.2327 4.5 14.5976 4.5 15c0 .4023.1345.7663.4064 1.0629Z</string> </resources> diff --git a/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatteryStatus.java b/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatteryStatus.java index 192bad137b0f..f659e38f633c 100644 --- a/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatteryStatus.java +++ b/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatteryStatus.java @@ -16,14 +16,11 @@ package com.android.settingslib.fuelgauge; -import static android.os.BatteryManager.BATTERY_HEALTH_DEAD; -import static android.os.BatteryManager.BATTERY_HEALTH_UNKNOWN; import static android.os.BatteryManager.BATTERY_STATUS_FULL; import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN; import static android.os.BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE; import static android.os.BatteryManager.CHARGING_POLICY_DEFAULT; import static android.os.BatteryManager.EXTRA_CHARGING_STATUS; -import static android.os.BatteryManager.EXTRA_HEALTH; import static android.os.BatteryManager.EXTRA_MAX_CHARGING_CURRENT; import static android.os.BatteryManager.EXTRA_MAX_CHARGING_VOLTAGE; import static android.os.BatteryManager.EXTRA_PLUGGED; @@ -58,7 +55,6 @@ public class BatteryStatus { public final int status; public final int level; public final int plugged; - public final int health; public final int chargingStatus; public final int maxChargingWattage; public final boolean present; @@ -79,7 +75,6 @@ public class BatteryStatus { this.maxChargingWattage = maxChargingWattage; this.present = present; this.incompatibleCharger = Optional.empty(); - this.health = BATTERY_HEALTH_UNKNOWN; } @@ -95,7 +90,6 @@ public class BatteryStatus { status = batteryChangedIntent.getIntExtra(EXTRA_STATUS, BATTERY_STATUS_UNKNOWN); plugged = batteryChangedIntent.getIntExtra(EXTRA_PLUGGED, 0); level = getBatteryLevel(batteryChangedIntent); - health = batteryChangedIntent.getIntExtra(EXTRA_HEALTH, BATTERY_HEALTH_UNKNOWN); chargingStatus = batteryChangedIntent.getIntExtra(EXTRA_CHARGING_STATUS, CHARGING_POLICY_DEFAULT); present = batteryChangedIntent.getBooleanExtra(EXTRA_PRESENT, true); @@ -146,15 +140,6 @@ public class BatteryStatus { return isBatteryDefender(chargingStatus); } - /** - * Whether battery is dead. - * - * @return true if battery is dead - */ - public boolean isDead() { - return health == BATTERY_HEALTH_DEAD; - } - /** Return current charging speed is fast, slow or normal. */ public final int getChargingSpeed(Context context) { final int slowThreshold = context.getResources().getInteger( diff --git a/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt b/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt index 117a0283ca05..73f6db6d464b 100644 --- a/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt +++ b/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt @@ -68,10 +68,6 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) private val plusPath = Path() private val scaledPlus = Path() - // Exclamation sign (used for battery alert) - private val exclamationPath = Path() - private val scaledExclamation = Path() - private var intrinsicHeight: Int private var intrinsicWidth: Int @@ -110,12 +106,6 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) postInvalidate() } - var alertEnabled = false - set(value) { - field = value - postInvalidate() - } - private val fillColorStrokePaint = Paint(Paint.ANTI_ALIAS_FLAG).also { p -> p.color = frameColor p.alpha = 255 @@ -218,12 +208,6 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) if (!invertFillIcon) { c.drawPath(scaledBolt, fillPaint) } - } else if (alertEnabled) { - // Clip out the exclamation shape - unifiedPath.op(scaledExclamation, Path.Op.DIFFERENCE) - if (!invertFillIcon) { - c.drawPath(scaledExclamation, fillPaint) - } } if (dualTone) { @@ -259,12 +243,6 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) } else { c.drawPath(scaledBolt, fillColorStrokeProtection) } - } else if (alertEnabled) { - c.clipOutPath(scaledExclamation) - c.drawPath( - scaledExclamation, - if (invertFillIcon) fillColorStrokePaint else fillColorStrokeProtection - ) } else if (powerSaveEnabled) { // If power save is enabled draw the level path with colorError c.drawPath(levelPath, errorPaint) @@ -395,7 +373,6 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) scaledFill.computeBounds(fillRect, true) boltPath.transform(scaleMatrix, scaledBolt) plusPath.transform(scaleMatrix, scaledPlus) - exclamationPath.transform(scaleMatrix, scaledExclamation) // It is expected that this view only ever scale by the same factor in each dimension, so // just pick one to scale the strokeWidths @@ -431,10 +408,6 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) com.android.internal.R.string.config_batterymeterPowersavePath) plusPath.set(PathParser.createPathFromPathData(plusPathString)) - val exclamationPathString = context.resources.getString( - R.string.config_batteryMeterExclamationPath) - exclamationPath.set(PathParser.createPathFromPathData(exclamationPathString)) - dualTone = context.resources.getBoolean( com.android.internal.R.bool.config_batterymeterDualTone) } diff --git a/packages/SystemUI/src/com/android/systemui/battery/AccessorizedBatteryDrawable.kt b/packages/SystemUI/src/com/android/systemui/battery/AccessorizedBatteryDrawable.kt index 7990c5264a25..b8de117fcbe9 100644 --- a/packages/SystemUI/src/com/android/systemui/battery/AccessorizedBatteryDrawable.kt +++ b/packages/SystemUI/src/com/android/systemui/battery/AccessorizedBatteryDrawable.kt @@ -28,6 +28,7 @@ import android.graphics.Rect import android.graphics.drawable.DrawableWrapper import android.util.PathParser import com.android.settingslib.graph.ThemedBatteryDrawable +import com.android.systemui.res.R import com.android.systemui.battery.BatterySpecs.BATTERY_HEIGHT import com.android.systemui.battery.BatterySpecs.BATTERY_HEIGHT_WITH_SHIELD import com.android.systemui.battery.BatterySpecs.BATTERY_WIDTH @@ -35,7 +36,6 @@ import com.android.systemui.battery.BatterySpecs.BATTERY_WIDTH_WITH_SHIELD import com.android.systemui.battery.BatterySpecs.SHIELD_LEFT_OFFSET import com.android.systemui.battery.BatterySpecs.SHIELD_STROKE import com.android.systemui.battery.BatterySpecs.SHIELD_TOP_OFFSET -import com.android.systemui.res.R /** * A battery drawable that accessorizes [ThemedBatteryDrawable] with additional information if @@ -43,8 +43,10 @@ import com.android.systemui.res.R * * For now, it adds a shield in the bottom-right corner when [displayShield] is true. */ -class AccessorizedBatteryDrawable(private val context: Context, frameColor: Int) : - DrawableWrapper(ThemedBatteryDrawable(context, frameColor)) { +class AccessorizedBatteryDrawable( + private val context: Context, + frameColor: Int, +) : DrawableWrapper(ThemedBatteryDrawable(context, frameColor)) { private val mainBatteryDrawable: ThemedBatteryDrawable get() = drawable as ThemedBatteryDrawable @@ -103,7 +105,7 @@ class AccessorizedBatteryDrawable(private val context: Context, frameColor: Int) b.left, b.top, /* right= */ b.left + mainWidth.toInt(), - /* bottom= */ b.top + mainHeight.toInt(), + /* bottom= */ b.top + mainHeight.toInt() ) if (displayShield) { @@ -196,16 +198,6 @@ class AccessorizedBatteryDrawable(private val context: Context, frameColor: Int) return mainBatteryDrawable.powerSaveEnabled } - /** Sets whether battery alert is enabled. */ - fun setAlertEnabled(alertEnabled: Boolean) { - mainBatteryDrawable.alertEnabled = alertEnabled - } - - /** Returns whether battery alert is currently enabled. */ - fun getAlertEnabled(): Boolean { - return mainBatteryDrawable.alertEnabled - } - /** Sets the colors to use for the icon. */ fun setColors(fgColor: Int, bgColor: Int, singleToneColor: Int) { shieldPaint.color = if (dualTone) fgColor else singleToneColor diff --git a/packages/SystemUI/src/com/android/systemui/battery/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/battery/BatteryMeterView.java index ddebd21b1800..e63472684585 100644 --- a/packages/SystemUI/src/com/android/systemui/battery/BatteryMeterView.java +++ b/packages/SystemUI/src/com/android/systemui/battery/BatteryMeterView.java @@ -90,7 +90,6 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver { private boolean mIsIncompatibleCharging; // Error state where we know nothing about the current battery state private boolean mBatteryStateUnknown; - private boolean mBatteryStateAlert; // Lazily-loaded since this is expected to be a rare-if-ever state private Drawable mUnknownStateDrawable; @@ -611,17 +610,6 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver { updateShowPercent(); } - void onBatteryAlertStateChanged(boolean isAlert) { - if (mBatteryStateAlert == isAlert) { - return; - } - - mBatteryStateAlert = isAlert; - if (!newStatusBarIcons()) { - mDrawable.setAlertEnabled(isAlert); - } - } - void scaleBatteryMeterViews() { if (!newStatusBarIcons()) { scaleBatteryMeterViewsLegacy(); @@ -787,7 +775,6 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver { pw.println(" mBatteryStateUnknown: " + mBatteryStateUnknown); pw.println(" mIsIncompatibleCharging: " + mIsIncompatibleCharging); pw.println(" mPluggedIn: " + mPluggedIn); - pw.println(" mBatteryStateAlert: " + mBatteryStateAlert); pw.println(" mLevel: " + mLevel); pw.println(" mMode: " + mShowPercentMode); if (newStatusBarIcons()) { diff --git a/packages/SystemUI/src/com/android/systemui/battery/BatteryMeterViewController.java b/packages/SystemUI/src/com/android/systemui/battery/BatteryMeterViewController.java index e79a15bedd3b..fcf51051940c 100644 --- a/packages/SystemUI/src/com/android/systemui/battery/BatteryMeterViewController.java +++ b/packages/SystemUI/src/com/android/systemui/battery/BatteryMeterViewController.java @@ -112,11 +112,6 @@ public class BatteryMeterViewController extends ViewController<BatteryMeterView> } @Override - public void onBatteryAlertStateChanged(boolean isAlert) { - mView.onBatteryAlertStateChanged(isAlert); - } - - @Override public void dump(@NonNull PrintWriter pw, @NonNull String[] args) { pw.print(super.toString()); pw.println(" location=" + mLocation); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java index 87d587c81e4f..e66b21866902 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java @@ -217,7 +217,6 @@ public class KeyguardIndicationController { private boolean mBatteryDefender; /** Whether the battery defender is triggered with the device plugged. */ private boolean mEnableBatteryDefender; - private boolean mBatteryDead; private boolean mIncompatibleCharger; private int mChargingWattage; private int mBatteryLevel = -1; @@ -1134,12 +1133,6 @@ public class KeyguardIndicationController { if (mPowerCharged) { return mContext.getResources().getString(R.string.keyguard_charged); } - - String percentage = NumberFormat.getPercentInstance().format(mBatteryLevel / 100f); - if (mBatteryDead) { - return mContext.getResources().getString(R.string.keyguard_plugged_in, percentage); - } - final boolean hasChargingTime = mChargingTimeRemaining > 0; int chargingId; if (mPowerPluggedInWired) { @@ -1174,6 +1167,7 @@ public class KeyguardIndicationController { : R.string.keyguard_plugged_in; } + String percentage = NumberFormat.getPercentInstance().format(mBatteryLevel / 100f); if (hasChargingTime) { String chargingTimeFormatted = Formatter.formatShortElapsedTimeRoundingUpToMinutes( mContext, mChargingTimeRemaining); @@ -1333,7 +1327,6 @@ public class KeyguardIndicationController { mBatteryLevel = status.level; mBatteryPresent = status.present; mBatteryDefender = isBatteryDefender(status); - mBatteryDead = status.isDead(); // when the battery is overheated, device doesn't charge so only guard on pluggedIn: mEnableBatteryDefender = mBatteryDefender && status.isPluggedIn(); mIncompatibleCharger = status.incompatibleCharger.orElse(false); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java index 7edb73777714..92731037dc64 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java @@ -165,10 +165,6 @@ public interface BatteryController extends DemoMode, default void onIsIncompatibleChargingChanged(boolean isIncompatibleCharging) { } - /** Calls when the battery is in an alert state. */ - default void onBatteryAlertStateChanged(boolean isAlert) { - } - @Override default void dump(@NonNull PrintWriter pw, @NonNull String[] args) { pw.println(this); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java index 62b1c1ad2e70..d281920ab1c4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java @@ -19,9 +19,6 @@ package com.android.systemui.statusbar.policy; import static android.os.BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE; import static android.os.BatteryManager.CHARGING_POLICY_DEFAULT; import static android.os.BatteryManager.EXTRA_CHARGING_STATUS; -import static android.os.BatteryManager.BATTERY_HEALTH_DEAD; -import static android.os.BatteryManager.BATTERY_HEALTH_UNKNOWN; -import static android.os.BatteryManager.EXTRA_HEALTH; import static android.os.BatteryManager.EXTRA_PRESENT; import static com.android.settingslib.fuelgauge.BatterySaverLogging.SAVER_ENABLED_QS; @@ -97,7 +94,6 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC private int mPluggedChargingSource; protected boolean mCharging; private boolean mStateUnknown = false; - private boolean mStateAlert = false; private boolean mCharged; protected boolean mPowerSave; private boolean mAodPowerSave; @@ -196,8 +192,6 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC ipw.println(mPowerSave); ipw.print("mStateUnknown="); ipw.println(mStateUnknown); - ipw.print("mStateAlert="); - ipw.println(mStateAlert); ipw.println("Callbacks:------------------"); // Since the above lines are already indented, we need to indent twice for the callbacks. ipw.increaseIndent(); @@ -242,7 +236,6 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC cb.onWirelessChargingChanged(mWirelessCharging); cb.onIsBatteryDefenderChanged(mIsBatteryDefender); cb.onIsIncompatibleChargingChanged(mIsIncompatibleCharging); - cb.onBatteryAlertStateChanged(mStateAlert); } @Override @@ -296,14 +289,6 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC if (mPluggedChargingSource != previousPluggedChargingSource) { updatePowerSave(); } - - int batteryHealth = intent.getIntExtra(EXTRA_HEALTH, BATTERY_HEALTH_UNKNOWN); - boolean isAlert = batteryHealth == BATTERY_HEALTH_DEAD; - if (isAlert != mStateAlert) { - mStateAlert = isAlert; - fireBatteryAlertStateChanged(); - } - fireBatteryLevelChanged(); } else if (action.equals(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED)) { updatePowerSave(); @@ -525,10 +510,6 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC (callback) -> callback.onIsIncompatibleChargingChanged(mIsIncompatibleCharging)); } - private void fireBatteryAlertStateChanged() { - dispatchSafeChange((callback) -> callback.onBatteryAlertStateChanged(mStateAlert)); - } - @Override public void dispatchDemoCommand(String command, Bundle args) { if (!mDemoModeController.isInDemoMode()) { @@ -541,7 +522,6 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC String present = args.getString("present"); String defender = args.getString("defender"); String incompatible = args.getString("incompatible"); - String alert = args.getString("alert"); if (level != null) { mLevel = Math.min(Math.max(Integer.parseInt(level), 0), 100); } @@ -564,10 +544,6 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC mIsIncompatibleCharging = incompatible.equals("true"); fireIsIncompatibleChargingChanged(); } - if (alert != null) { - mStateAlert = alert.equals("true"); - fireBatteryAlertStateChanged(); - } fireBatteryLevelChanged(); } @@ -593,4 +569,4 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC public boolean isChargingSourceDock() { return mPluggedChargingSource == BatteryManager.BATTERY_PLUGGED_DOCK; } -} +}
\ No newline at end of file diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index 40a9bbec3598..10c81531f02c 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -203,6 +203,7 @@ class UserController implements Handler.Callback { static final int COMPLETE_USER_SWITCH_MSG = 130; static final int USER_COMPLETED_EVENT_MSG = 140; static final int SCHEDULED_STOP_BACKGROUND_USER_MSG = 150; + static final int USER_SWITCHING_DIALOG_ANIMATION_TIMEOUT_MSG = 160; private static final int NO_ARG2 = 0; diff --git a/services/core/java/com/android/server/am/UserSwitchingDialog.java b/services/core/java/com/android/server/am/UserSwitchingDialog.java index f4e733a0c99f..a1cc9dca092d 100644 --- a/services/core/java/com/android/server/am/UserSwitchingDialog.java +++ b/services/core/java/com/android/server/am/UserSwitchingDialog.java @@ -16,6 +16,8 @@ package com.android.server.am; +import static com.android.server.am.UserController.USER_SWITCHING_DIALOG_ANIMATION_TIMEOUT_MSG; + import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.UserIdInt; @@ -302,14 +304,14 @@ class UserSwitchingDialog extends Dialog { final AtomicBoolean isFirst = new AtomicBoolean(true); final Runnable onAnimationEndOrTimeout = () -> { if (isFirst.getAndSet(false)) { - mHandler.removeCallbacksAndMessages(null); + mHandler.removeMessages(USER_SWITCHING_DIALOG_ANIMATION_TIMEOUT_MSG); onAnimationEnd.run(); } }; mHandler.postDelayed(() -> { Slog.w(TAG, name + " animation not completed in " + ANIMATION_TIMEOUT_MS + " ms"); onAnimationEndOrTimeout.run(); - }, ANIMATION_TIMEOUT_MS); + }, USER_SWITCHING_DIALOG_ANIMATION_TIMEOUT_MSG, ANIMATION_TIMEOUT_MS); return onAnimationEndOrTimeout; } |