modified: device/rockchip/rk3399/BoardConfig.mk
modified: frameworks/base/core/res/res/values-zh-rCN/strings.xml
modified: frameworks/base/core/res/res/values/strings.xml
modified: frameworks/base/core/res/res/values/symbols.xml
modified: frameworks/base/packages/SettingsLib/res/values/arrays.xml
modified: frameworks/base/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java
modified: frameworks/base/packages/SettingsProvider/res/values/defaults.xml
modified: frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
modified: frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java
modified: frameworks/base/services/core/java/com/android/server/BatteryService.java
modified: kernel/arch/arm64/boot/dts/rockchip/rk3399-jawest-android.dtsi
modified: kernel/arch/arm64/boot/dts/rockchip/rk3399-jawest.dtsi
modified: kernel/drivers/power/Makefile
diff --git a/frameworks/base/core/res/res/values-zh-rCN/strings.xml b/frameworks/base/core/res/res/values-zh-rCN/strings.xml
index e90f586efe…45fdbe02d2 100755
— a/frameworks/base/core/res/res/values-zh-rCN/strings.xml
+++ b/frameworks/base/core/res/res/values-zh-rCN/strings.xml
@@ -1900,4 +1900,10 @@
现在重启
重启系统后设置才能生效
秒后重启系统.
+
- 低电量提醒.
- 电量低于
- %请充电 :
- 秒后自动关闭对话框
- 秒后自动将自动关机
diff --git a/frameworks/base/core/res/res/values/strings.xml b/frameworks/base/core/res/res/values/strings.xml
index 569d5845f1…1651279d96 100755
— a/frameworks/base/core/res/res/values/strings.xml
+++ b/frameworks/base/core/res/res/values/strings.xml
@@ -5008,4 +5008,10 @@
reboot now
must restart for validtion
seconds system will restart.
+power battery low than.
+power battery low than
+battery low please charging
+dialog close auto after seconds
+will auto shutdown after seconds
diff --git a/frameworks/base/core/res/res/values/symbols.xml b/frameworks/base/core/res/res/values/symbols.xml
index de793fc607…5e293b8492 100755
— a/frameworks/base/core/res/res/values/symbols.xml
+++ b/frameworks/base/core/res/res/values/symbols.xml
@@ -3438,4 +3438,10 @@
+
-
- 15
-
- 10
-
- 15
-
- 20
- 100
-
- ?android:attr/colorError
-
- @android:color/white
-
- #ffff0000
-
- ?android:attr/colorError
-
- #ffffff00
-
73 0- @android:color/white
diff --git a/frameworks/base/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java b/frameworks/base/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java
old mode 100644
new mode 100755
index 2fc6db08c7…79c2b7f555
— a/frameworks/base/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java
+++ b/frameworks/base/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java
@@ -37,6 +37,9 @@ import android.util.TypedValue;
import com.android.settingslib.R;
import com.android.settingslib.Utils;
+import android.util.Log;
+import android.os.SystemProperties;
+import java.util.Arrays;
public class BatteryMeterDrawableBase extends Drawable {
@@ -95,7 +98,7 @@ public class BatteryMeterDrawableBase extends Drawable {private final Path mShapePath = new Path();
private final Path mOutlinePath = new Path();
private final Path mTextPath = new Path();
- int mSaveframeColor =-1;
public BatteryMeterDrawableBase(Context context, int frameColor) {
mContext = context;
final Resources res = context.getResources();
@@ -124,7 +127,7 @@ public class BatteryMeterDrawableBase extends Drawable {
R.fraction.battery_subpixel_smoothing_left, 1, 1);
mSubpixelSmoothingRight = context.getResources().getFraction(
R.fraction.battery_subpixel_smoothing_right, 1, 1);
-
mSaveframeColor = frameColor; mFramePaint = new Paint(Paint.ANTI_ALIAS_FLAG); mFramePaint.setColor(frameColor); mFramePaint.setDither(true);
@@ -270,14 +273,20 @@ public class BatteryMeterDrawableBase extends Drawable {
}
private int getColorForLevel(int percent) {
-
int thresh, color = 0;
-
int thresh, color = 0;
-
Log.i(TAG, "getColorForLevel: "+Arrays.toString(mColors)); for (int i = 0; i < mColors.length; i += 2) { thresh = mColors[i]; color = mColors[i + 1]; if (percent <= thresh) { // Respect tinting for "normal" level
-
if (i == mColors.length - 2) {
-
// getColorForLevel: [10, -65536, 15, -36797, 20, -65536, 100, -1]
-
if (percent <=10){ -
return mColors[1];
-
}else if (percent <=20){ -
return mColors[5];
-
}else if (i == mColors.length - 2) { return mIconTint; } else { return color;
@@ -287,7 +296,7 @@ public class BatteryMeterDrawableBase extends Drawable {
return color;
}
- public void setColors(int fillColor, int backgroundColor) {
-
public void setColors(int fillColor, int backgroundColor){
mIconTint = fillColor;
mFramePaint.setColor(backgroundColor);
mBoltPaint.setColor(fillColor);
@@ -296,6 +305,7 @@ public class BatteryMeterDrawableBase extends Drawable {
}protected int batteryColorForLevel(int level) {
-
Log.v(TAG," mFramePaint.setColor level:"+level); return (mCharging || (mPowerSaveEnabled && mPowerSaveAsColorError)) ? mChargeColor : getColorForLevel(level);
@@ -421,19 +431,22 @@ public class BatteryMeterDrawableBase extends Drawable {
boolean pctOpaque = false;
float pctX = 0, pctY = 0;
String pctText = null;
-
if (!mCharging && !mPowerSaveEnabled && level > mCriticalLevel && mShowPercent) {
-
if (!mCharging && !mPowerSaveEnabled && level <= 20 && mShowPercent) { -
Log.v(TAG," mTextPaint.setColor:"+getColorForLevel(level)); mTextPaint.setColor(getColorForLevel(level)); mTextPaint.setTextSize(height * (SINGLE_DIGIT_PERCENT ? 0.75f : (mLevel == 100 ? 0.38f : 0.5f))); mTextHeight = -mTextPaint.getFontMetrics().ascent; pctText = String.valueOf(SINGLE_DIGIT_PERCENT ? (level / 10) : level); -
Log.v(TAG," mTextPaint.pctText:"+pctText); pctX = mWidth * 0.5f + left; pctY = (mHeight + mTextHeight) * 0.47f + top; pctOpaque = levelTop > pctY; if (!pctOpaque) { mTextPath.reset();
-
mTextPaint.getTextPath(pctText, 0, pctText.length(), pctX, pctY, mTextPath);
-
// mTextPaint.getTextPath(pctText, 0, pctText.length(), pctX, pctY, mTextPath);
-
mTextPaint.getTextPath(pctText, 0, pctText.length(), pctX, pctY, mTextPath); // cut the percentage text out of the overall shape mShapePath.op(mTextPath, Path.Op.DIFFERENCE); }
diff --git a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index eb3d218ddc…c7455de78b 100755
— a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -23,7 +23,7 @@
true
60000
-1
- 0
-
1
0
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
index d669fec880…75e8fd49ca 100755
— a/frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
@@ -59,6 +59,8 @@ import com.android.systemui.R;
import java.text.NumberFormat;
import android.util.Log;
+import com.android.settingslib.graph.BatteryMeterDrawableBase;
+
public class BatteryMeterView extends LinearLayout implements
BatteryStateChangeCallback, Tunable, DarkReceiver, ConfigurationListener {
@@ -123,13 +125,13 @@ public class BatteryMeterView extends LinearLayout implements
mSlotBattery = context.getString(
com.android.internal.R.string.status_bar_battery);
mBatteryIconView = new ImageView(context);
-
// mBatteryIconView.setImageDrawable(mDrawable);
-
mBatteryIconView.setImageDrawable(mDrawable); final MarginLayoutParams mlp = new MarginLayoutParams( getResources().getDimensionPixelSize(R.dimen.status_bar_battery_icon_width), getResources().getDimensionPixelSize(R.dimen.status_bar_battery_icon_height)); mlp.setMargins(0, 0, 0, getResources().getDimensionPixelOffset(R.dimen.battery_margin_bottom));
-
//addView(mBatteryIconView, mlp);
-
addView(mBatteryIconView, mlp); updateShowPercent(); setColorsFromContext(context);
@@ -237,6 +239,7 @@ public class BatteryMeterView extends LinearLayout implements
@Override
public void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging) {
mDrawable.setBatteryLevel(level);
-
mDrawable.setShowPercent(true); mDrawable.setCharging(pluggedIn); mLevel = level; updatePercentText();
@@ -247,7 +250,7 @@ public class BatteryMeterView extends LinearLayout implements
@Override
public void onPowerSaveChanged(boolean isPowerSave) {
-
mDrawable.setPowerSave(isPowerSave);
-
// mDrawable.setPowerSave(isPowerSave);
}
private TextView loadPercentView() {
@@ -270,6 +273,7 @@ public class BatteryMeterView extends LinearLayout implements
if ((mShowPercentAvailable && systemSetting) || mForceShowPercent) {
if (!showing) {
mBatteryPercentView = loadPercentView(); -
Log.v("updateShowPercent","mBatteryPercentView setTextColor:"+mTextColor); if (mTextColor != 0) mBatteryPercentView.setTextColor(mTextColor); updatePercentText(); addView(mBatteryPercentView,
@@ -331,6 +335,7 @@ public class BatteryMeterView extends LinearLayout implements
mDrawable.setColors(foregroundColor, backgroundColor);
mTextColor = foregroundColor;
if (mBatteryPercentView != null) {
-
Log.v("updateShowPercent","setTextColor:"+foregroundColor); mBatteryPercentView.setTextColor(foregroundColor); }}
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java
old mode 100644
new mode 100755
index 7221efab0b…e5555694d6
— a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java
@@ -34,6 +34,9 @@ import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
+import android.util.Log;
+import android.os.SystemProperties;
+
);
-
batteryservice = this;
-
mHandler = new Handler(true )
-
{ -
@Override
-
public void handleMessage(Message msg) { -
super.handleMessage(msg);
-
Log.i(TAG, "handleMessage: " + msg);
-
// mTvBattereyTime.setText("handleMessage"); -
switch (msg.what){ -
case 200:
-
TextView mTv = (TextView) msg.obj;
-
Bundle data = msg.getData();
-
String key_battery = data.getString("key_battery"); -
mTv.setText(key_battery);
-
break;
-
}
-
}
-
}; mLed = new Led(context, getLocalService(LightsManager.class)); mBatteryStats = BatteryStatsService.getService(); mActivityManagerInternal = LocalServices.getService(ActivityManagerInternal.class);
“DEVPATH=/devices/virtual/switch/invalid_charger”);
}
}
-
BeanBattery beanBattery;
-
int battery= -1;
@Override
public void onStart() {
registerHealthCallback();
@@ -240,6 +269,10 @@ public final class BatteryService extends SystemService {
mBatteryPropertiesRegistrar = new BatteryPropertiesRegistrar();
publishBinderService(“batteryproperties”, mBatteryPropertiesRegistrar);
publishLocalService(BatteryManagerInternal.class, new LocalService()); -
Slog.i(TAG, "onStart()");
-
traceBegin("BeanBattery"); -
beanBattery = BeanBattery.getInstance(mContext);
-
traceEnd();
}
@Override
@@ -1096,7 +1129,14 @@ public final class BatteryService extends SystemService {
private final class HealthHalCallback extends IHealthInfoCallback.Stub
implements HealthServiceWrapper.Callback {
@Override public void healthInfoChanged(android.hardware.health.V2_0.HealthInfo props) { -
// Slog.i(TAG, "healthInfoChanged: "+beanBattery);
-
int battery = SystemProperties.getInt("persist.sys.battery",0); -
props.legacy.batteryLevel = battery; BatteryService.this.update(props); -
if(beanBattery !=null){ -
beanBattery.update(mHandler,mContext,props);
-
}
-
} // on new service registered @Override public void onRegistration(IHealth oldService, IHealth newService,
@@ -1217,6 +1257,7 @@ public final class BatteryService extends SystemService {
public void scheduleUpdate() throws RemoteException {
traceBegin(“HealthScheduleUpdate”);
try {
-
Slog.i(TAG, "scheduleUpdate: "); IHealth service = mHealthServiceWrapper.getLastService(); if (service == null) throw new RemoteException("no health service"); service.update();
index b74fa9a89f…0ba2f333da 100755
— a/kernel/arch/arm64/boot/dts/rockchip/rk3399-jawest-android.dtsi
+++ b/kernel/arch/arm64/boot/dts/rockchip/rk3399-jawest-android.dtsi
@@ -103,7 +103,16 @@
reg = <0x0 0x0 0x0 0x0>;
};
};
- rk29_adc {
-
compatible = "rk29-adc";
-
charge-irq-gpio = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>;
-
pinctrl-names = "default";
-
pinctrl-0 = <&charge_detect>;
-
io-channels = <&saradc 1>;
-
io-channel-names = "adc1";
-
status = "okay";
- };
+#if 0
rk_key: rockchip-key {
compatible = “rockchip,key”;
status = “okay”;
@@ -155,7 +164,7 @@
rockchip,adc_value = <450>;
};
};
+#endif
rk_key2: rockchip-key2 {
compatible = “rockchip_jws_adc_key”;
status = “okay”;
@@ -493,6 +502,12 @@
};
};
- rk29_bat {
-
charge_detect: charge_detect { -
rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
-
};
- };
- buttons {
pwrbtn: pwrbtn {
rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
diff --git a/kernel/arch/arm64/boot/dts/rockchip/rk3399-jawest.dtsi b/kernel/arch/arm64/boot/dts/rockchip/rk3399-jawest.dtsi
index f6dda6a219…fffbcc1b4e 100755
— a/kernel/arch/arm64/boot/dts/rockchip/rk3399-jawest.dtsi
+++ b/kernel/arch/arm64/boot/dts/rockchip/rk3399-jawest.dtsi
@@ -337,12 +337,12 @@
};
jwsioc{
compatible = “jawest,jwsioc”;
-
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>, <&gpio3 2 GPIO_ACTIVE_LOW>, <&gpio3 3 GPIO_ACTIVE_LOW>, <&gpio3 4 GPIO_ACTIVE_LOW>, <&gpio3 7 GPIO_ACTIVE_LOW>;
-
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>, <&gpio3 2 GPIO_ACTIVE_LOW>, <&gpio3 4 GPIO_ACTIVE_LOW>, <&gpio3 7 GPIO_ACTIVE_LOW>; jwsioc_inout_gpio0 = <1>;//1=output 0=input IO1-1 LED-EN jwsioc_inout_gpio1 = <1>;//1=output 0=input IO3-1 RS485EN
-
jwsioc_inout_gpio2 = <1>;//1=output 0=input IO4-1 NOT USE
-
jwsioc_inout_gpio3 = <1>;//1=output 0=input IO5-1 NOT USE
-
jwsioc_inout_gpio4 = <1>;//1=output 0=input IO8-1 LOCK RELAY
-
//jwsioc_inout_gpio2 = <1>;//1=output 0=input IO4-1 NOT USE <&gpio3 3 GPIO_ACTIVE_LOW>,
-
jwsioc_inout_gpio2 = <1>;//1=output 0=input IO5-1 NOT USE
-
jwsioc_inout_gpio3 = <1>;//1=output 0=input IO8-1 LOCK RELAY status = "okay";
};
jwsioc_gpio1: jwsioc-gpio1 {
rockchip,pins = ❤️ 2 RK_FUNC_GPIO &pcfg_pull_up>;
}; +
jwsioc_gpio3: jwsioc-gpio3 {
rockchip,pins = ❤️ 4 RK_FUNC_GPIO &pcfg_pull_up>;
};
diff --git a/kernel/drivers/power/Makefile b/kernel/drivers/power/Makefile
index 6f341964d7…24b84c647c 100644
— a/kernel/drivers/power/Makefile
+++ b/kernel/drivers/power/Makefile
@@ -16,6 +16,7 @@ obj- ( C O N F I G W M 831 X P O W E R ) + = w m 831 x p o w e r . o o b j − (CONFIG_WM831X_POWER) += wm831x_power.o obj- (CONFIGWM831XPOWER)+=wm831xpower.oobj−(CONFIG_WM8350_POWER) += wm8350_power.o
obj-$(CONFIG_TEST_POWER) += test_power.o
+obj-y += rk29_adc_battery.o
obj-
(
C
O
N
F
I
G
B
A
T
T
E
R
Y
8
8
P
M
860
X
)
+
=
88
p
m
860
x
b
a
t
t
e
r
y
.
o
o
b
j
−
(CONFIG_BATTERY_88PM860X) += 88pm860x_battery.o obj-
(CONFIGBATTERY88PM860X)+=88pm860xbattery.oobj−(CONFIG_BATTERY_EC) += ec_battery.o
obj-$(CONFIG_BATTERY_CW2015) += cw2015_battery.o



