summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SettingsLib/res/values/strings.xml3
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatteryStatus.java15
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt27
-rw-r--r--packages/SystemUI/src/com/android/systemui/battery/AccessorizedBatteryDrawable.kt20
-rw-r--r--packages/SystemUI/src/com/android/systemui/battery/BatteryMeterView.java13
-rw-r--r--packages/SystemUI/src/com/android/systemui/battery/BatteryMeterViewController.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java26
-rw-r--r--services/core/java/com/android/server/am/UserController.java1
-rw-r--r--services/core/java/com/android/server/am/UserSwitchingDialog.java6
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;
}