Loading core/java/android/os/BatteryManager.java +9 −1 Original line number Diff line number Diff line Loading @@ -85,6 +85,14 @@ public class BatteryManager { */ public static final String EXTRA_TECHNOLOGY = "technology"; /** * Extra for {@link android.content.Intent#ACTION_BATTERY_CHANGED}: * Boolean value set to true if an unsupported charger is attached * to the device. * {@hide} */ public static final String EXTRA_INVALID_CHARGER = "invalid_charger"; // values for "status" field in the ACTION_BATTERY_CHANGED Intent public static final int BATTERY_STATUS_UNKNOWN = 1; public static final int BATTERY_STATUS_CHARGING = 2; Loading services/java/com/android/server/BatteryService.java +25 −4 Original line number Diff line number Diff line Loading @@ -99,6 +99,7 @@ class BatteryService extends Binder { private int mBatteryTemperature; private String mBatteryTechnology; private boolean mBatteryLevelCritical; private boolean mInvalidCharger; private int mLastBatteryStatus; private int mLastBatteryHealth; Loading @@ -107,6 +108,7 @@ class BatteryService extends Binder { private int mLastBatteryVoltage; private int mLastBatteryTemperature; private boolean mLastBatteryLevelCritical; private boolean mLastInvalidCharger; private int mLowBatteryWarningLevel; private int mLowBatteryCloseWarningLevel; Loading @@ -128,7 +130,12 @@ class BatteryService extends Binder { mLowBatteryCloseWarningLevel = mContext.getResources().getInteger( com.android.internal.R.integer.config_lowBatteryCloseWarningLevel); mUEventObserver.startObserving("SUBSYSTEM=power_supply"); mPowerSupplyObserver.startObserving("SUBSYSTEM=power_supply"); // watch for invalid charger messages if the invalid_charger switch exists if (new File("/sys/devices/virtual/switch/invalid_charger/state").exists()) { mInvalidChargerObserver.startObserving("DEVPATH=/devices/virtual/switch/invalid_charger"); } // set initial status update(); Loading Loading @@ -162,11 +169,22 @@ class BatteryService extends Binder { return mPlugType; } private UEventObserver mUEventObserver = new UEventObserver() { private UEventObserver mPowerSupplyObserver = new UEventObserver() { @Override public void onUEvent(UEventObserver.UEvent event) { update(); } }; private UEventObserver mInvalidChargerObserver = new UEventObserver() { @Override public void onUEvent(UEventObserver.UEvent event) { boolean invalidCharger = "1".equals(event.get("SWITCH_STATE")); if (mInvalidCharger != invalidCharger) { mInvalidCharger = invalidCharger; update(); } } }; // returns battery level as a percentage Loading Loading @@ -237,7 +255,8 @@ class BatteryService extends Binder { mBatteryLevel != mLastBatteryLevel || mPlugType != mLastPlugType || mBatteryVoltage != mLastBatteryVoltage || mBatteryTemperature != mLastBatteryTemperature) { mBatteryTemperature != mLastBatteryTemperature || mInvalidCharger != mLastInvalidCharger) { if (mPlugType != mLastPlugType) { if (mLastPlugType == BATTERY_PLUGGED_NONE) { Loading Loading @@ -334,6 +353,7 @@ class BatteryService extends Binder { mLastBatteryVoltage = mBatteryVoltage; mLastBatteryTemperature = mBatteryTemperature; mLastBatteryLevelCritical = mBatteryLevelCritical; mLastInvalidCharger = mInvalidCharger; } } Loading @@ -355,6 +375,7 @@ class BatteryService extends Binder { intent.putExtra(BatteryManager.EXTRA_VOLTAGE, mBatteryVoltage); intent.putExtra(BatteryManager.EXTRA_TEMPERATURE, mBatteryTemperature); intent.putExtra(BatteryManager.EXTRA_TECHNOLOGY, mBatteryTechnology); intent.putExtra(BatteryManager.EXTRA_INVALID_CHARGER, mInvalidCharger); if (false) { Slog.d(TAG, "updateBattery level:" + mBatteryLevel + Loading @@ -364,7 +385,7 @@ class BatteryService extends Binder { " temperature: " + mBatteryTemperature + " technology: " + mBatteryTechnology + " AC powered:" + mAcOnline + " USB powered:" + mUsbOnline + " icon:" + icon ); " icon:" + icon + " invalid charger:" + mInvalidCharger); } ActivityManagerNative.broadcastStickyIntent(intent, null); Loading Loading
core/java/android/os/BatteryManager.java +9 −1 Original line number Diff line number Diff line Loading @@ -85,6 +85,14 @@ public class BatteryManager { */ public static final String EXTRA_TECHNOLOGY = "technology"; /** * Extra for {@link android.content.Intent#ACTION_BATTERY_CHANGED}: * Boolean value set to true if an unsupported charger is attached * to the device. * {@hide} */ public static final String EXTRA_INVALID_CHARGER = "invalid_charger"; // values for "status" field in the ACTION_BATTERY_CHANGED Intent public static final int BATTERY_STATUS_UNKNOWN = 1; public static final int BATTERY_STATUS_CHARGING = 2; Loading
services/java/com/android/server/BatteryService.java +25 −4 Original line number Diff line number Diff line Loading @@ -99,6 +99,7 @@ class BatteryService extends Binder { private int mBatteryTemperature; private String mBatteryTechnology; private boolean mBatteryLevelCritical; private boolean mInvalidCharger; private int mLastBatteryStatus; private int mLastBatteryHealth; Loading @@ -107,6 +108,7 @@ class BatteryService extends Binder { private int mLastBatteryVoltage; private int mLastBatteryTemperature; private boolean mLastBatteryLevelCritical; private boolean mLastInvalidCharger; private int mLowBatteryWarningLevel; private int mLowBatteryCloseWarningLevel; Loading @@ -128,7 +130,12 @@ class BatteryService extends Binder { mLowBatteryCloseWarningLevel = mContext.getResources().getInteger( com.android.internal.R.integer.config_lowBatteryCloseWarningLevel); mUEventObserver.startObserving("SUBSYSTEM=power_supply"); mPowerSupplyObserver.startObserving("SUBSYSTEM=power_supply"); // watch for invalid charger messages if the invalid_charger switch exists if (new File("/sys/devices/virtual/switch/invalid_charger/state").exists()) { mInvalidChargerObserver.startObserving("DEVPATH=/devices/virtual/switch/invalid_charger"); } // set initial status update(); Loading Loading @@ -162,11 +169,22 @@ class BatteryService extends Binder { return mPlugType; } private UEventObserver mUEventObserver = new UEventObserver() { private UEventObserver mPowerSupplyObserver = new UEventObserver() { @Override public void onUEvent(UEventObserver.UEvent event) { update(); } }; private UEventObserver mInvalidChargerObserver = new UEventObserver() { @Override public void onUEvent(UEventObserver.UEvent event) { boolean invalidCharger = "1".equals(event.get("SWITCH_STATE")); if (mInvalidCharger != invalidCharger) { mInvalidCharger = invalidCharger; update(); } } }; // returns battery level as a percentage Loading Loading @@ -237,7 +255,8 @@ class BatteryService extends Binder { mBatteryLevel != mLastBatteryLevel || mPlugType != mLastPlugType || mBatteryVoltage != mLastBatteryVoltage || mBatteryTemperature != mLastBatteryTemperature) { mBatteryTemperature != mLastBatteryTemperature || mInvalidCharger != mLastInvalidCharger) { if (mPlugType != mLastPlugType) { if (mLastPlugType == BATTERY_PLUGGED_NONE) { Loading Loading @@ -334,6 +353,7 @@ class BatteryService extends Binder { mLastBatteryVoltage = mBatteryVoltage; mLastBatteryTemperature = mBatteryTemperature; mLastBatteryLevelCritical = mBatteryLevelCritical; mLastInvalidCharger = mInvalidCharger; } } Loading @@ -355,6 +375,7 @@ class BatteryService extends Binder { intent.putExtra(BatteryManager.EXTRA_VOLTAGE, mBatteryVoltage); intent.putExtra(BatteryManager.EXTRA_TEMPERATURE, mBatteryTemperature); intent.putExtra(BatteryManager.EXTRA_TECHNOLOGY, mBatteryTechnology); intent.putExtra(BatteryManager.EXTRA_INVALID_CHARGER, mInvalidCharger); if (false) { Slog.d(TAG, "updateBattery level:" + mBatteryLevel + Loading @@ -364,7 +385,7 @@ class BatteryService extends Binder { " temperature: " + mBatteryTemperature + " technology: " + mBatteryTechnology + " AC powered:" + mAcOnline + " USB powered:" + mUsbOnline + " icon:" + icon ); " icon:" + icon + " invalid charger:" + mInvalidCharger); } ActivityManagerNative.broadcastStickyIntent(intent, null); Loading