Merge tag 'android-13.0.0_r32' into int/13/fp3
Android 13.0.0 release 32
* tag 'android-13.0.0_r32':
trusty/storage: Add property indicating when fs is ready
Resolve ro.debuggable at build time
init: Support reboot reason with thermal warmreset
Add AID for PRNG seeder daemon.
charger: fix secondary display not turning off after first display was off
init: Add option to listen on sockets before starting service.
Create misc_ce and misc_de mirror storage
Change-Id: Ibcc45dfc319934b83b8c3207e1928693b93db274
diff --git a/healthd/Android.bp b/healthd/Android.bp
index f180006..d046fd4 100644
--- a/healthd/Android.bp
+++ b/healthd/Android.bp
@@ -318,7 +318,706 @@
require_root: true,
}
-// /system/etc/res/images/charger/battery_fail.png
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0001.png",
+ src: "images/battery-charging0001.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0001.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0002.png",
+ src: "images/battery-charging0002.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0002.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0003.png",
+ src: "images/battery-charging0003.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0003.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0004.png",
+ src: "images/battery-charging0004.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0004.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0005.png",
+ src: "images/battery-charging0005.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0005.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0006.png",
+ src: "images/battery-charging0006.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0006.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0007.png",
+ src: "images/battery-charging0007.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0007.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0008.png",
+ src: "images/battery-charging0008.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0008.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0009.png",
+ src: "images/battery-charging0009.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0009.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0010.png",
+ src: "images/battery-charging0010.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0010.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0011.png",
+ src: "images/battery-charging0011.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0011.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0012.png",
+ src: "images/battery-charging0012.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0012.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0013.png",
+ src: "images/battery-charging0013.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0013.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0014.png",
+ src: "images/battery-charging0014.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0014.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0015.png",
+ src: "images/battery-charging0015.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0015.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0016.png",
+ src: "images/battery-charging0016.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0016.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0017.png",
+ src: "images/battery-charging0017.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0017.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0018.png",
+ src: "images/battery-charging0018.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0018.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0019.png",
+ src: "images/battery-charging0019.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0019.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0020.png",
+ src: "images/battery-charging0020.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0020.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0021.png",
+ src: "images/battery-charging0021.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0021.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0022.png",
+ src: "images/battery-charging0022.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0022.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0023.png",
+ src: "images/battery-charging0023.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0023.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0024.png",
+ src: "images/battery-charging0024.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0024.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0025.png",
+ src: "images/battery-charging0025.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0025.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0026.png",
+ src: "images/battery-charging0026.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0026.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0027.png",
+ src: "images/battery-charging0027.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0027.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0028.png",
+ src: "images/battery-charging0028.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0028.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0029.png",
+ src: "images/battery-charging0029.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0029.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0030.png",
+ src: "images/battery-charging0030.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0030.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0031.png",
+ src: "images/battery-charging0031.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0031.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0032.png",
+ src: "images/battery-charging0032.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0032.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0033.png",
+ src: "images/battery-charging0033.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0033.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0034.png",
+ src: "images/battery-charging0034.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0034.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0035.png",
+ src: "images/battery-charging0035.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0035.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0036.png",
+ src: "images/battery-charging0036.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0036.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0037.png",
+ src: "images/battery-charging0037.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0037.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0038.png",
+ src: "images/battery-charging0038.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0038.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0039.png",
+ src: "images/battery-charging0039.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0039.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0040.png",
+ src: "images/battery-charging0040.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0040.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0041.png",
+ src: "images/battery-charging0041.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0041.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0042.png",
+ src: "images/battery-charging0042.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0042.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0043.png",
+ src: "images/battery-charging0043.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0043.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0044.png",
+ src: "images/battery-charging0044.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0044.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0045.png",
+ src: "images/battery-charging0045.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0045.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0046.png",
+ src: "images/battery-charging0046.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0046.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0047.png",
+ src: "images/battery-charging0047.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0047.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0048.png",
+ src: "images/battery-charging0048.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0048.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0049.png",
+ src: "images/battery-charging0049.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0049.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0050.png",
+ src: "images/battery-charging0050.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0050.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0051.png",
+ src: "images/battery-charging0051.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0051.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0052.png",
+ src: "images/battery-charging0052.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0052.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0053.png",
+ src: "images/battery-charging0053.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0053.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0054.png",
+ src: "images/battery-charging0054.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0054.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0055.png",
+ src: "images/battery-charging0055.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0055.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0056.png",
+ src: "images/battery-charging0056.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0056.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0057.png",
+ src: "images/battery-charging0057.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0057.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0058.png",
+ src: "images/battery-charging0058.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0058.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0059.png",
+ src: "images/battery-charging0059.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0059.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0060.png",
+ src: "images/battery-charging0060.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0060.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0061.png",
+ src: "images/battery-charging0061.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0061.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0062.png",
+ src: "images/battery-charging0062.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0062.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0063.png",
+ src: "images/battery-charging0063.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0063.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0064.png",
+ src: "images/battery-charging0064.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0064.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0065.png",
+ src: "images/battery-charging0065.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0065.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0066.png",
+ src: "images/battery-charging0066.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0066.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0067.png",
+ src: "images/battery-charging0067.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0067.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0068.png",
+ src: "images/battery-charging0068.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0068.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0069.png",
+ src: "images/battery-charging0069.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0069.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0070.png",
+ src: "images/battery-charging0070.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0070.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0071.png",
+ src: "images/battery-charging0071.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0071.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0072.png",
+ src: "images/battery-charging0072.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0072.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0073.png",
+ src: "images/battery-charging0073.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0073.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0074.png",
+ src: "images/battery-charging0074.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0074.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0075.png",
+ src: "images/battery-charging0075.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0075.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0076.png",
+ src: "images/battery-charging0076.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0076.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0077.png",
+ src: "images/battery-charging0077.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0077.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0078.png",
+ src: "images/battery-charging0078.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0078.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0079.png",
+ src: "images/battery-charging0079.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0079.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0080.png",
+ src: "images/battery-charging0080.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0080.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0081.png",
+ src: "images/battery-charging0081.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0081.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0082.png",
+ src: "images/battery-charging0082.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0082.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0083.png",
+ src: "images/battery-charging0083.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0083.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0084.png",
+ src: "images/battery-charging0084.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0084.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0085.png",
+ src: "images/battery-charging0085.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0085.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0086.png",
+ src: "images/battery-charging0086.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0086.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0087.png",
+ src: "images/battery-charging0087.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0087.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0088.png",
+ src: "images/battery-charging0088.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0088.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0089.png",
+ src: "images/battery-charging0089.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0089.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0090.png",
+ src: "images/battery-charging0090.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0090.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0091.png",
+ src: "images/battery-charging0091.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0091.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0092.png",
+ src: "images/battery-charging0092.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0092.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0093.png",
+ src: "images/battery-charging0093.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0093.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0094.png",
+ src: "images/battery-charging0094.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0094.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0095.png",
+ src: "images/battery-charging0095.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0095.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0096.png",
+ src: "images/battery-charging0096.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0096.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0097.png",
+ src: "images/battery-charging0097.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0097.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0098.png",
+ src: "images/battery-charging0098.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0098.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0099.png",
+ src: "images/battery-charging0099.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0099.png",
+}
+
+prebuilt_etc {
+ name: "system_core_charger_res_images_battery-charging0100.png",
+ src: "images/battery-charging0100.png",
+ relative_install_path: "res/images/charger",
+ filename: "battery-charging0100.png",
+}
+
prebuilt_etc {
name: "system_core_charger_res_images_battery_fail.png",
src: "images/battery_fail.png",
@@ -326,7 +1025,6 @@
filename: "battery_fail.png",
}
-// /system/etc/res/images/charger/battery_scale.png
prebuilt_etc {
name: "system_core_charger_res_images_battery_scale.png",
src: "images/battery_scale.png",
@@ -337,6 +1035,106 @@
phony {
name: "charger_res_images",
required: [
+ "system_core_charger_res_images_battery-charging0001.png",
+ "system_core_charger_res_images_battery-charging0002.png",
+ "system_core_charger_res_images_battery-charging0003.png",
+ "system_core_charger_res_images_battery-charging0004.png",
+ "system_core_charger_res_images_battery-charging0005.png",
+ "system_core_charger_res_images_battery-charging0006.png",
+ "system_core_charger_res_images_battery-charging0007.png",
+ "system_core_charger_res_images_battery-charging0008.png",
+ "system_core_charger_res_images_battery-charging0009.png",
+ "system_core_charger_res_images_battery-charging0010.png",
+ "system_core_charger_res_images_battery-charging0011.png",
+ "system_core_charger_res_images_battery-charging0012.png",
+ "system_core_charger_res_images_battery-charging0013.png",
+ "system_core_charger_res_images_battery-charging0014.png",
+ "system_core_charger_res_images_battery-charging0015.png",
+ "system_core_charger_res_images_battery-charging0016.png",
+ "system_core_charger_res_images_battery-charging0017.png",
+ "system_core_charger_res_images_battery-charging0018.png",
+ "system_core_charger_res_images_battery-charging0019.png",
+ "system_core_charger_res_images_battery-charging0020.png",
+ "system_core_charger_res_images_battery-charging0021.png",
+ "system_core_charger_res_images_battery-charging0022.png",
+ "system_core_charger_res_images_battery-charging0023.png",
+ "system_core_charger_res_images_battery-charging0024.png",
+ "system_core_charger_res_images_battery-charging0025.png",
+ "system_core_charger_res_images_battery-charging0026.png",
+ "system_core_charger_res_images_battery-charging0027.png",
+ "system_core_charger_res_images_battery-charging0028.png",
+ "system_core_charger_res_images_battery-charging0029.png",
+ "system_core_charger_res_images_battery-charging0030.png",
+ "system_core_charger_res_images_battery-charging0031.png",
+ "system_core_charger_res_images_battery-charging0032.png",
+ "system_core_charger_res_images_battery-charging0033.png",
+ "system_core_charger_res_images_battery-charging0034.png",
+ "system_core_charger_res_images_battery-charging0035.png",
+ "system_core_charger_res_images_battery-charging0036.png",
+ "system_core_charger_res_images_battery-charging0037.png",
+ "system_core_charger_res_images_battery-charging0038.png",
+ "system_core_charger_res_images_battery-charging0039.png",
+ "system_core_charger_res_images_battery-charging0040.png",
+ "system_core_charger_res_images_battery-charging0041.png",
+ "system_core_charger_res_images_battery-charging0042.png",
+ "system_core_charger_res_images_battery-charging0043.png",
+ "system_core_charger_res_images_battery-charging0044.png",
+ "system_core_charger_res_images_battery-charging0045.png",
+ "system_core_charger_res_images_battery-charging0046.png",
+ "system_core_charger_res_images_battery-charging0047.png",
+ "system_core_charger_res_images_battery-charging0048.png",
+ "system_core_charger_res_images_battery-charging0049.png",
+ "system_core_charger_res_images_battery-charging0050.png",
+ "system_core_charger_res_images_battery-charging0051.png",
+ "system_core_charger_res_images_battery-charging0052.png",
+ "system_core_charger_res_images_battery-charging0053.png",
+ "system_core_charger_res_images_battery-charging0054.png",
+ "system_core_charger_res_images_battery-charging0055.png",
+ "system_core_charger_res_images_battery-charging0056.png",
+ "system_core_charger_res_images_battery-charging0057.png",
+ "system_core_charger_res_images_battery-charging0058.png",
+ "system_core_charger_res_images_battery-charging0059.png",
+ "system_core_charger_res_images_battery-charging0060.png",
+ "system_core_charger_res_images_battery-charging0061.png",
+ "system_core_charger_res_images_battery-charging0062.png",
+ "system_core_charger_res_images_battery-charging0063.png",
+ "system_core_charger_res_images_battery-charging0064.png",
+ "system_core_charger_res_images_battery-charging0065.png",
+ "system_core_charger_res_images_battery-charging0066.png",
+ "system_core_charger_res_images_battery-charging0067.png",
+ "system_core_charger_res_images_battery-charging0068.png",
+ "system_core_charger_res_images_battery-charging0069.png",
+ "system_core_charger_res_images_battery-charging0070.png",
+ "system_core_charger_res_images_battery-charging0071.png",
+ "system_core_charger_res_images_battery-charging0072.png",
+ "system_core_charger_res_images_battery-charging0073.png",
+ "system_core_charger_res_images_battery-charging0074.png",
+ "system_core_charger_res_images_battery-charging0075.png",
+ "system_core_charger_res_images_battery-charging0076.png",
+ "system_core_charger_res_images_battery-charging0077.png",
+ "system_core_charger_res_images_battery-charging0078.png",
+ "system_core_charger_res_images_battery-charging0079.png",
+ "system_core_charger_res_images_battery-charging0080.png",
+ "system_core_charger_res_images_battery-charging0081.png",
+ "system_core_charger_res_images_battery-charging0082.png",
+ "system_core_charger_res_images_battery-charging0083.png",
+ "system_core_charger_res_images_battery-charging0084.png",
+ "system_core_charger_res_images_battery-charging0085.png",
+ "system_core_charger_res_images_battery-charging0086.png",
+ "system_core_charger_res_images_battery-charging0087.png",
+ "system_core_charger_res_images_battery-charging0088.png",
+ "system_core_charger_res_images_battery-charging0089.png",
+ "system_core_charger_res_images_battery-charging0090.png",
+ "system_core_charger_res_images_battery-charging0091.png",
+ "system_core_charger_res_images_battery-charging0092.png",
+ "system_core_charger_res_images_battery-charging0093.png",
+ "system_core_charger_res_images_battery-charging0094.png",
+ "system_core_charger_res_images_battery-charging0095.png",
+ "system_core_charger_res_images_battery-charging0096.png",
+ "system_core_charger_res_images_battery-charging0097.png",
+ "system_core_charger_res_images_battery-charging0098.png",
+ "system_core_charger_res_images_battery-charging0099.png",
+ "system_core_charger_res_images_battery-charging0100.png",
"system_core_charger_res_images_battery_fail.png",
"system_core_charger_res_images_battery_scale.png",
],
diff --git a/healthd/animation.h b/healthd/animation.h
index c2d5f1c..795010d 100644
--- a/healthd/animation.h
+++ b/healthd/animation.h
@@ -30,6 +30,7 @@
struct animation {
struct frame {
+ std::string name;
int disp_time;
int min_level;
int max_level;
diff --git a/healthd/healthd_mode_charger.cpp b/healthd/healthd_mode_charger.cpp
index 282ffa2..41d2b63 100644
--- a/healthd/healthd_mode_charger.cpp
+++ b/healthd/healthd_mode_charger.cpp
@@ -16,6 +16,7 @@
#include <charger/healthd_mode_charger.h>
+#include <array>
#include <dirent.h>
#include <errno.h>
#include <fcntl.h>
@@ -162,38 +163,702 @@
void Charger::InitDefaultAnimationFrames() {
owned_frames_ = {
{
- .disp_time = 750,
+ .name = "charger/battery-charging0001.png",
+ .disp_time = 500,
.min_level = 0,
+ .max_level = 1,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0002.png",
+ .disp_time = 500,
+ .min_level = 2,
+ .max_level = 2,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0003.png",
+ .disp_time = 500,
+ .min_level = 3,
+ .max_level = 3,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0004.png",
+ .disp_time = 500,
+ .min_level = 4,
+ .max_level = 4,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0005.png",
+ .disp_time = 500,
+ .min_level = 5,
+ .max_level = 5,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0006.png",
+ .disp_time = 500,
+ .min_level = 6,
+ .max_level = 6,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0007.png",
+ .disp_time = 500,
+ .min_level = 7,
+ .max_level = 7,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0008.png",
+ .disp_time = 500,
+ .min_level = 8,
+ .max_level = 8,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0009.png",
+ .disp_time = 500,
+ .min_level = 9,
+ .max_level = 9,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0010.png",
+ .disp_time = 500,
+ .min_level = 10,
+ .max_level = 10,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0011.png",
+ .disp_time = 500,
+ .min_level = 11,
+ .max_level = 11,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0012.png",
+ .disp_time = 500,
+ .min_level = 12,
+ .max_level = 12,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0013.png",
+ .disp_time = 500,
+ .min_level = 13,
+ .max_level = 13,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0014.png",
+ .disp_time = 500,
+ .min_level = 14,
+ .max_level = 14,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0015.png",
+ .disp_time = 500,
+ .min_level = 15,
+ .max_level = 15,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0016.png",
+ .disp_time = 500,
+ .min_level = 16,
+ .max_level = 16,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0017.png",
+ .disp_time = 500,
+ .min_level = 17,
+ .max_level = 17,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0018.png",
+ .disp_time = 500,
+ .min_level = 18,
+ .max_level = 18,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0019.png",
+ .disp_time = 500,
+ .min_level = 19,
.max_level = 19,
.surface = NULL,
},
{
- .disp_time = 750,
- .min_level = 0,
+ .name = "charger/battery-charging0020.png",
+ .disp_time = 500,
+ .min_level = 20,
+ .max_level = 20,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0021.png",
+ .disp_time = 500,
+ .min_level = 21,
+ .max_level = 21,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0022.png",
+ .disp_time = 500,
+ .min_level = 22,
+ .max_level = 22,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0023.png",
+ .disp_time = 500,
+ .min_level = 23,
+ .max_level = 23,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0024.png",
+ .disp_time = 500,
+ .min_level = 24,
+ .max_level = 24,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0025.png",
+ .disp_time = 500,
+ .min_level = 25,
+ .max_level = 25,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0026.png",
+ .disp_time = 500,
+ .min_level = 26,
+ .max_level = 26,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0027.png",
+ .disp_time = 500,
+ .min_level = 27,
+ .max_level = 27,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0028.png",
+ .disp_time = 500,
+ .min_level = 28,
+ .max_level = 28,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0029.png",
+ .disp_time = 500,
+ .min_level = 29,
+ .max_level = 29,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0030.png",
+ .disp_time = 500,
+ .min_level = 30,
+ .max_level = 30,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0031.png",
+ .disp_time = 500,
+ .min_level = 31,
+ .max_level = 31,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0032.png",
+ .disp_time = 500,
+ .min_level = 32,
+ .max_level = 32,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0033.png",
+ .disp_time = 500,
+ .min_level = 33,
+ .max_level = 33,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0034.png",
+ .disp_time = 500,
+ .min_level = 34,
+ .max_level = 34,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0035.png",
+ .disp_time = 500,
+ .min_level = 35,
+ .max_level = 35,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0036.png",
+ .disp_time = 500,
+ .min_level = 36,
+ .max_level = 36,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0037.png",
+ .disp_time = 500,
+ .min_level = 37,
+ .max_level = 37,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0038.png",
+ .disp_time = 500,
+ .min_level = 38,
+ .max_level = 38,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0039.png",
+ .disp_time = 500,
+ .min_level = 39,
.max_level = 39,
.surface = NULL,
},
{
- .disp_time = 750,
- .min_level = 0,
+ .name = "charger/battery-charging0040.png",
+ .disp_time = 500,
+ .min_level = 40,
+ .max_level = 40,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0041.png",
+ .disp_time = 500,
+ .min_level = 41,
+ .max_level = 41,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0042.png",
+ .disp_time = 500,
+ .min_level = 42,
+ .max_level = 42,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0043.png",
+ .disp_time = 500,
+ .min_level = 43,
+ .max_level = 43,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0044.png",
+ .disp_time = 500,
+ .min_level = 44,
+ .max_level = 44,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0045.png",
+ .disp_time = 500,
+ .min_level = 45,
+ .max_level = 45,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0046.png",
+ .disp_time = 500,
+ .min_level = 46,
+ .max_level = 46,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0047.png",
+ .disp_time = 500,
+ .min_level = 47,
+ .max_level = 47,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0048.png",
+ .disp_time = 500,
+ .min_level = 48,
+ .max_level = 48,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0049.png",
+ .disp_time = 500,
+ .min_level = 49,
+ .max_level = 49,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0050.png",
+ .disp_time = 500,
+ .min_level = 50,
+ .max_level = 50,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0051.png",
+ .disp_time = 500,
+ .min_level = 51,
+ .max_level = 51,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0052.png",
+ .disp_time = 500,
+ .min_level = 52,
+ .max_level = 52,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0053.png",
+ .disp_time = 500,
+ .min_level = 53,
+ .max_level = 53,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0054.png",
+ .disp_time = 500,
+ .min_level = 54,
+ .max_level = 54,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0055.png",
+ .disp_time = 500,
+ .min_level = 55,
+ .max_level = 55,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0056.png",
+ .disp_time = 500,
+ .min_level = 56,
+ .max_level = 56,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0057.png",
+ .disp_time = 500,
+ .min_level = 57,
+ .max_level = 57,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0058.png",
+ .disp_time = 500,
+ .min_level = 58,
+ .max_level = 58,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0059.png",
+ .disp_time = 500,
+ .min_level = 59,
.max_level = 59,
.surface = NULL,
},
{
- .disp_time = 750,
- .min_level = 0,
+ .name = "charger/battery-charging0060.png",
+ .disp_time = 500,
+ .min_level = 60,
+ .max_level = 60,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0061.png",
+ .disp_time = 500,
+ .min_level = 61,
+ .max_level = 61,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0062.png",
+ .disp_time = 500,
+ .min_level = 62,
+ .max_level = 62,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0063.png",
+ .disp_time = 500,
+ .min_level = 63,
+ .max_level = 63,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0064.png",
+ .disp_time = 500,
+ .min_level = 64,
+ .max_level = 64,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0065.png",
+ .disp_time = 500,
+ .min_level = 65,
+ .max_level = 65,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0066.png",
+ .disp_time = 500,
+ .min_level = 66,
+ .max_level = 66,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0067.png",
+ .disp_time = 500,
+ .min_level = 67,
+ .max_level = 67,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0068.png",
+ .disp_time = 500,
+ .min_level = 68,
+ .max_level = 68,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0069.png",
+ .disp_time = 500,
+ .min_level = 69,
+ .max_level = 69,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0070.png",
+ .disp_time = 500,
+ .min_level = 70,
+ .max_level = 70,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0071.png",
+ .disp_time = 500,
+ .min_level = 71,
+ .max_level = 71,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0072.png",
+ .disp_time = 500,
+ .min_level = 72,
+ .max_level = 72,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0073.png",
+ .disp_time = 500,
+ .min_level = 73,
+ .max_level = 73,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0074.png",
+ .disp_time = 500,
+ .min_level = 74,
+ .max_level = 74,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0075.png",
+ .disp_time = 500,
+ .min_level = 75,
+ .max_level = 75,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0076.png",
+ .disp_time = 500,
+ .min_level = 76,
+ .max_level = 76,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0077.png",
+ .disp_time = 500,
+ .min_level = 77,
+ .max_level = 77,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0078.png",
+ .disp_time = 500,
+ .min_level = 78,
+ .max_level = 78,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0079.png",
+ .disp_time = 500,
+ .min_level = 79,
.max_level = 79,
.surface = NULL,
},
{
- .disp_time = 750,
+ .name = "charger/battery-charging0080.png",
+ .disp_time = 500,
.min_level = 80,
+ .max_level = 80,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0081.png",
+ .disp_time = 500,
+ .min_level = 81,
+ .max_level = 81,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0082.png",
+ .disp_time = 500,
+ .min_level = 82,
+ .max_level = 82,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0083.png",
+ .disp_time = 500,
+ .min_level = 83,
+ .max_level = 83,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0084.png",
+ .disp_time = 500,
+ .min_level = 84,
+ .max_level = 84,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0085.png",
+ .disp_time = 500,
+ .min_level = 85,
+ .max_level = 85,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0086.png",
+ .disp_time = 500,
+ .min_level = 86,
+ .max_level = 86,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0087.png",
+ .disp_time = 500,
+ .min_level = 87,
+ .max_level = 87,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0088.png",
+ .disp_time = 500,
+ .min_level = 88,
+ .max_level = 88,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0089.png",
+ .disp_time = 500,
+ .min_level = 89,
+ .max_level = 89,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0090.png",
+ .disp_time = 500,
+ .min_level = 90,
+ .max_level = 90,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0091.png",
+ .disp_time = 500,
+ .min_level = 91,
+ .max_level = 91,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0092.png",
+ .disp_time = 500,
+ .min_level = 92,
+ .max_level = 92,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0093.png",
+ .disp_time = 500,
+ .min_level = 93,
+ .max_level = 93,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0094.png",
+ .disp_time = 500,
+ .min_level = 94,
+ .max_level = 94,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0095.png",
+ .disp_time = 500,
+ .min_level = 95,
.max_level = 95,
.surface = NULL,
},
{
- .disp_time = 750,
- .min_level = 0,
+ .name = "charger/battery-charging0096.png",
+ .disp_time = 500,
+ .min_level = 96,
+ .max_level = 96,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0097.png",
+ .disp_time = 500,
+ .min_level = 97,
+ .max_level = 97,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0098.png",
+ .disp_time = 500,
+ .min_level = 98,
+ .max_level = 98,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0099.png",
+ .disp_time = 500,
+ .min_level = 99,
+ .max_level = 99,
+ .surface = NULL,
+ },
+ {
+ .name = "charger/battery-charging0100.png",
+ .disp_time = 500,
+ .min_level = 100,
.max_level = 100,
.surface = NULL,
},
@@ -621,6 +1286,125 @@
}
}
+/* Follow in ../hardware/qcom/display/liblight/lights.c */
+static constexpr const char* rgb_red_blink_file = "/sys/class/leds/red/breath";
+static constexpr const char* rgb_red_led_file = "/sys/class/leds/red/brightness";
+static constexpr const char* rgb_green_led_file = "/sys/class/leds/green/brightness";
+static constexpr const char* rgb_blue_led_file = "/sys/class/leds/blue/brightness";
+using light_buffer_t = std::array<char, 128u>;
+static constexpr unsigned int RGB_ON_LEVEL = 0x7F;
+static constexpr unsigned int RGB_OFF_LEVEL = 0x00;
+static int write_level_to_led(unsigned int level, const char* led_file)
+{
+ const int fd = open(led_file, O_WRONLY);
+ if (fd < 0) {
+ return -errno;
+ }
+ light_buffer_t buffer{};
+ const int bytes = sprintf(buffer.data(), "%u", level);
+ if (bytes <= 0) {
+ LOGE("Charging RGB: Failed on buffer init!\n");
+ close(fd);
+ return -1;
+ }
+ const int vRet = write(fd, buffer.data(), static_cast<size_t>(bytes));
+ LOGV("Charging RGB: Config LED %s(%d)\n", buffer.data(), vRet);
+ const int errno_ = errno;
+ close(fd);
+ if (vRet == -1) {
+ LOGE("Charging RGB: Failed at write(): %d\n", errno_);
+ return -errno_;
+ }
+ return 0;
+}
+static int write_rgb_red_led_cfg(unsigned int level)
+{
+ const int err = write_level_to_led(level, rgb_red_led_file);
+ LOGV("Charging RGB: Config RED LED (%d)\n", err);
+ return err;
+}
+static int write_rgb_red_blink_cfg(unsigned int level, unsigned int onMS, unsigned int offMS)
+{
+ int blink = 0;
+ if (onMS > 0 && offMS > 0) {
+ /* if ON time == OFF time
+ * use blink mode 2
+ * else
+ * use blink mode 1
+ */
+ if (onMS == offMS) {
+ blink = 2;
+ } else {
+ blink = 1;
+ }
+ }
+ if (blink) {
+ const int err = write_level_to_led(blink, rgb_red_blink_file);
+ if (err) {
+ LOGE("Charging RGB: Config RED BLINK failed!\n");
+ return err;
+ }
+ LOGV("Charging RGB: Config RED BLINK (%d)\n", err);
+ return 0;
+ }
+ return write_rgb_red_led_cfg(level);
+}
+static int write_rgb_green_led_cfg(unsigned int level)
+{
+ const int err = write_level_to_led(level, rgb_green_led_file);
+ LOGV("Charging RGB: Config GREEN LED (%d)\n", err);
+ return err;
+}
+static int write_rgb_blue_led_cfg(unsigned int level)
+{
+ const int err = write_level_to_led(level, rgb_blue_led_file);
+ LOGV("Charging RGB: Config BLUE LED (%d)\n", err);
+ return err;
+}
+static void charging_rgbled_off()
+{
+ write_rgb_red_led_cfg(RGB_OFF_LEVEL);
+ write_rgb_green_led_cfg(RGB_OFF_LEVEL);
+ write_rgb_blue_led_cfg(RGB_OFF_LEVEL);
+}
+void Charger::charging_rgbled_update()
+{
+ if (!have_battery_state_) {
+ LOGE("Charging RGB: There is not battery\n");
+ led_last_battery_level_ = -1; /* Reset record when charger plug out */
+ charging_rgbled_off();
+ return;
+ }
+ if (!configuration_->ChargerIsOnline()) {
+ LOGV("Charging RGB: unplug charging\n");
+ led_last_battery_level_ = -1; /* Reset record when charger plug out */
+ charging_rgbled_off();
+ return;
+ }
+ const int battery_level = health_info_.battery_level;
+ if (led_last_battery_level_ == battery_level) {
+ return;
+ }
+ LOGV("Charging RGB: Battery Level: %d / %d\n", battery_level, led_last_battery_level_);
+ led_last_battery_level_ = battery_level;
+ if (battery_level >= 100) {
+ write_rgb_green_led_cfg(RGB_ON_LEVEL);
+ write_rgb_red_led_cfg(RGB_OFF_LEVEL);
+ } else if (battery_level < 100 && battery_level >= 90) {
+ write_rgb_green_led_cfg(RGB_ON_LEVEL);
+ write_rgb_red_led_cfg(RGB_OFF_LEVEL);
+ } else if (battery_level < 90 && battery_level >= 15) {
+ write_rgb_green_led_cfg(RGB_ON_LEVEL);
+ write_rgb_red_led_cfg(RGB_ON_LEVEL);
+ } else if (battery_level < 15 && battery_level >= 5) {
+ write_rgb_green_led_cfg(RGB_OFF_LEVEL);
+ write_rgb_red_blink_cfg(RGB_ON_LEVEL, 0x00, 0x00);
+ } else {
+ write_rgb_green_led_cfg(RGB_OFF_LEVEL);
+ write_rgb_red_blink_cfg(RGB_ON_LEVEL, 0x00, 0x00);
+ }
+}
+
void Charger::OnHeartbeat() {
// charger* charger = &charger_state;
int64_t now = curr_time_ms();
@@ -632,6 +1416,8 @@
* screen transitions (animations, etc)
*/
UpdateScreenState(now);
+
+ charging_rgbled_update();
}
void Charger::OnHealthInfoChanged(const ChargerHealthInfo& health_info) {
@@ -782,24 +1568,15 @@
}
}
- GRSurface** scale_frames;
- int scale_count;
- int scale_fps; // Not in use (charger/battery_scale doesn't have FPS text
- // chunk). We are using hard-coded frame.disp_time instead.
- ret = CreateMultiDisplaySurface(batt_anim_.animation_file, &scale_count, &scale_fps,
- &scale_frames);
- if (ret < 0) {
- LOGE("Cannot load battery_scale image\n");
- batt_anim_.num_frames = 0;
- batt_anim_.num_cycles = 1;
- } else if (scale_count != batt_anim_.num_frames) {
- LOGE("battery_scale image has unexpected frame count (%d, expected %d)\n", scale_count,
- batt_anim_.num_frames);
- batt_anim_.num_frames = 0;
- batt_anim_.num_cycles = 1;
- } else {
- for (i = 0; i < batt_anim_.num_frames; i++) {
- batt_anim_.frames[i].surface = scale_frames[i];
+ for (i = 0; i < batt_anim_.num_frames; i++) {
+ LOGW("[B]%s(%d): frame.name=%s\n", __func__, __LINE__, batt_anim_.frames[i].name.c_str());
+ ret = CreateDisplaySurface((system_animation_root + batt_anim_.frames[i].name).c_str(),
+ &batt_anim_.frames[i].surface);
+ if (ret < 0) {
+ LOGE("Cannot load image %s\n", batt_anim_.frames[i].name.c_str());
+ /* TODO: free the already allocated surfaces... */
+ batt_anim_.num_frames = 0;
+ batt_anim_.num_cycles = 1;
}
}
drm_ = DRM_INNER;
diff --git a/healthd/images/battery-charging0001.png b/healthd/images/battery-charging0001.png
new file mode 100644
index 0000000..9f0a378
--- /dev/null
+++ b/healthd/images/battery-charging0001.png
Binary files differ
diff --git a/healthd/images/battery-charging0002.png b/healthd/images/battery-charging0002.png
new file mode 100644
index 0000000..9592934
--- /dev/null
+++ b/healthd/images/battery-charging0002.png
Binary files differ
diff --git a/healthd/images/battery-charging0003.png b/healthd/images/battery-charging0003.png
new file mode 100644
index 0000000..d312f57
--- /dev/null
+++ b/healthd/images/battery-charging0003.png
Binary files differ
diff --git a/healthd/images/battery-charging0004.png b/healthd/images/battery-charging0004.png
new file mode 100644
index 0000000..b883715
--- /dev/null
+++ b/healthd/images/battery-charging0004.png
Binary files differ
diff --git a/healthd/images/battery-charging0005.png b/healthd/images/battery-charging0005.png
new file mode 100644
index 0000000..3af10ac
--- /dev/null
+++ b/healthd/images/battery-charging0005.png
Binary files differ
diff --git a/healthd/images/battery-charging0006.png b/healthd/images/battery-charging0006.png
new file mode 100644
index 0000000..8e35bf1
--- /dev/null
+++ b/healthd/images/battery-charging0006.png
Binary files differ
diff --git a/healthd/images/battery-charging0007.png b/healthd/images/battery-charging0007.png
new file mode 100644
index 0000000..68b0771
--- /dev/null
+++ b/healthd/images/battery-charging0007.png
Binary files differ
diff --git a/healthd/images/battery-charging0008.png b/healthd/images/battery-charging0008.png
new file mode 100644
index 0000000..14db6b2
--- /dev/null
+++ b/healthd/images/battery-charging0008.png
Binary files differ
diff --git a/healthd/images/battery-charging0009.png b/healthd/images/battery-charging0009.png
new file mode 100644
index 0000000..e57a671
--- /dev/null
+++ b/healthd/images/battery-charging0009.png
Binary files differ
diff --git a/healthd/images/battery-charging0010.png b/healthd/images/battery-charging0010.png
new file mode 100644
index 0000000..b753006
--- /dev/null
+++ b/healthd/images/battery-charging0010.png
Binary files differ
diff --git a/healthd/images/battery-charging0011.png b/healthd/images/battery-charging0011.png
new file mode 100644
index 0000000..ff0e354
--- /dev/null
+++ b/healthd/images/battery-charging0011.png
Binary files differ
diff --git a/healthd/images/battery-charging0012.png b/healthd/images/battery-charging0012.png
new file mode 100644
index 0000000..9789542
--- /dev/null
+++ b/healthd/images/battery-charging0012.png
Binary files differ
diff --git a/healthd/images/battery-charging0013.png b/healthd/images/battery-charging0013.png
new file mode 100644
index 0000000..0bdd8a1
--- /dev/null
+++ b/healthd/images/battery-charging0013.png
Binary files differ
diff --git a/healthd/images/battery-charging0014.png b/healthd/images/battery-charging0014.png
new file mode 100644
index 0000000..76c7a0c
--- /dev/null
+++ b/healthd/images/battery-charging0014.png
Binary files differ
diff --git a/healthd/images/battery-charging0015.png b/healthd/images/battery-charging0015.png
new file mode 100644
index 0000000..aff6bbd
--- /dev/null
+++ b/healthd/images/battery-charging0015.png
Binary files differ
diff --git a/healthd/images/battery-charging0016.png b/healthd/images/battery-charging0016.png
new file mode 100644
index 0000000..a4e691a
--- /dev/null
+++ b/healthd/images/battery-charging0016.png
Binary files differ
diff --git a/healthd/images/battery-charging0017.png b/healthd/images/battery-charging0017.png
new file mode 100644
index 0000000..87b2dc1
--- /dev/null
+++ b/healthd/images/battery-charging0017.png
Binary files differ
diff --git a/healthd/images/battery-charging0018.png b/healthd/images/battery-charging0018.png
new file mode 100644
index 0000000..837861f
--- /dev/null
+++ b/healthd/images/battery-charging0018.png
Binary files differ
diff --git a/healthd/images/battery-charging0019.png b/healthd/images/battery-charging0019.png
new file mode 100644
index 0000000..9e1605d
--- /dev/null
+++ b/healthd/images/battery-charging0019.png
Binary files differ
diff --git a/healthd/images/battery-charging0020.png b/healthd/images/battery-charging0020.png
new file mode 100644
index 0000000..8224eb0
--- /dev/null
+++ b/healthd/images/battery-charging0020.png
Binary files differ
diff --git a/healthd/images/battery-charging0021.png b/healthd/images/battery-charging0021.png
new file mode 100644
index 0000000..8b48fcb
--- /dev/null
+++ b/healthd/images/battery-charging0021.png
Binary files differ
diff --git a/healthd/images/battery-charging0022.png b/healthd/images/battery-charging0022.png
new file mode 100644
index 0000000..d1b8c3c
--- /dev/null
+++ b/healthd/images/battery-charging0022.png
Binary files differ
diff --git a/healthd/images/battery-charging0023.png b/healthd/images/battery-charging0023.png
new file mode 100644
index 0000000..2e26268
--- /dev/null
+++ b/healthd/images/battery-charging0023.png
Binary files differ
diff --git a/healthd/images/battery-charging0024.png b/healthd/images/battery-charging0024.png
new file mode 100644
index 0000000..8ccfbb4
--- /dev/null
+++ b/healthd/images/battery-charging0024.png
Binary files differ
diff --git a/healthd/images/battery-charging0025.png b/healthd/images/battery-charging0025.png
new file mode 100644
index 0000000..41776fa
--- /dev/null
+++ b/healthd/images/battery-charging0025.png
Binary files differ
diff --git a/healthd/images/battery-charging0026.png b/healthd/images/battery-charging0026.png
new file mode 100644
index 0000000..498e915
--- /dev/null
+++ b/healthd/images/battery-charging0026.png
Binary files differ
diff --git a/healthd/images/battery-charging0027.png b/healthd/images/battery-charging0027.png
new file mode 100644
index 0000000..52e40fa
--- /dev/null
+++ b/healthd/images/battery-charging0027.png
Binary files differ
diff --git a/healthd/images/battery-charging0028.png b/healthd/images/battery-charging0028.png
new file mode 100644
index 0000000..146d670
--- /dev/null
+++ b/healthd/images/battery-charging0028.png
Binary files differ
diff --git a/healthd/images/battery-charging0029.png b/healthd/images/battery-charging0029.png
new file mode 100644
index 0000000..87b267b
--- /dev/null
+++ b/healthd/images/battery-charging0029.png
Binary files differ
diff --git a/healthd/images/battery-charging0030.png b/healthd/images/battery-charging0030.png
new file mode 100644
index 0000000..f7f9f36
--- /dev/null
+++ b/healthd/images/battery-charging0030.png
Binary files differ
diff --git a/healthd/images/battery-charging0031.png b/healthd/images/battery-charging0031.png
new file mode 100644
index 0000000..5473037
--- /dev/null
+++ b/healthd/images/battery-charging0031.png
Binary files differ
diff --git a/healthd/images/battery-charging0032.png b/healthd/images/battery-charging0032.png
new file mode 100644
index 0000000..ee50bf7
--- /dev/null
+++ b/healthd/images/battery-charging0032.png
Binary files differ
diff --git a/healthd/images/battery-charging0033.png b/healthd/images/battery-charging0033.png
new file mode 100644
index 0000000..160e0f5
--- /dev/null
+++ b/healthd/images/battery-charging0033.png
Binary files differ
diff --git a/healthd/images/battery-charging0034.png b/healthd/images/battery-charging0034.png
new file mode 100644
index 0000000..e54baf8
--- /dev/null
+++ b/healthd/images/battery-charging0034.png
Binary files differ
diff --git a/healthd/images/battery-charging0035.png b/healthd/images/battery-charging0035.png
new file mode 100644
index 0000000..4fcac18
--- /dev/null
+++ b/healthd/images/battery-charging0035.png
Binary files differ
diff --git a/healthd/images/battery-charging0036.png b/healthd/images/battery-charging0036.png
new file mode 100644
index 0000000..7829485
--- /dev/null
+++ b/healthd/images/battery-charging0036.png
Binary files differ
diff --git a/healthd/images/battery-charging0037.png b/healthd/images/battery-charging0037.png
new file mode 100644
index 0000000..593139f
--- /dev/null
+++ b/healthd/images/battery-charging0037.png
Binary files differ
diff --git a/healthd/images/battery-charging0038.png b/healthd/images/battery-charging0038.png
new file mode 100644
index 0000000..49e7499
--- /dev/null
+++ b/healthd/images/battery-charging0038.png
Binary files differ
diff --git a/healthd/images/battery-charging0039.png b/healthd/images/battery-charging0039.png
new file mode 100644
index 0000000..827a609
--- /dev/null
+++ b/healthd/images/battery-charging0039.png
Binary files differ
diff --git a/healthd/images/battery-charging0040.png b/healthd/images/battery-charging0040.png
new file mode 100644
index 0000000..2127825
--- /dev/null
+++ b/healthd/images/battery-charging0040.png
Binary files differ
diff --git a/healthd/images/battery-charging0041.png b/healthd/images/battery-charging0041.png
new file mode 100644
index 0000000..8c81d47
--- /dev/null
+++ b/healthd/images/battery-charging0041.png
Binary files differ
diff --git a/healthd/images/battery-charging0042.png b/healthd/images/battery-charging0042.png
new file mode 100644
index 0000000..e32d2bf
--- /dev/null
+++ b/healthd/images/battery-charging0042.png
Binary files differ
diff --git a/healthd/images/battery-charging0043.png b/healthd/images/battery-charging0043.png
new file mode 100644
index 0000000..ec28657
--- /dev/null
+++ b/healthd/images/battery-charging0043.png
Binary files differ
diff --git a/healthd/images/battery-charging0044.png b/healthd/images/battery-charging0044.png
new file mode 100644
index 0000000..57e33ff
--- /dev/null
+++ b/healthd/images/battery-charging0044.png
Binary files differ
diff --git a/healthd/images/battery-charging0045.png b/healthd/images/battery-charging0045.png
new file mode 100644
index 0000000..28adfbb
--- /dev/null
+++ b/healthd/images/battery-charging0045.png
Binary files differ
diff --git a/healthd/images/battery-charging0046.png b/healthd/images/battery-charging0046.png
new file mode 100644
index 0000000..3aa7409
--- /dev/null
+++ b/healthd/images/battery-charging0046.png
Binary files differ
diff --git a/healthd/images/battery-charging0047.png b/healthd/images/battery-charging0047.png
new file mode 100644
index 0000000..6bac491
--- /dev/null
+++ b/healthd/images/battery-charging0047.png
Binary files differ
diff --git a/healthd/images/battery-charging0048.png b/healthd/images/battery-charging0048.png
new file mode 100644
index 0000000..1de66b4
--- /dev/null
+++ b/healthd/images/battery-charging0048.png
Binary files differ
diff --git a/healthd/images/battery-charging0049.png b/healthd/images/battery-charging0049.png
new file mode 100644
index 0000000..ab80ba5
--- /dev/null
+++ b/healthd/images/battery-charging0049.png
Binary files differ
diff --git a/healthd/images/battery-charging0050.png b/healthd/images/battery-charging0050.png
new file mode 100644
index 0000000..e393bf9
--- /dev/null
+++ b/healthd/images/battery-charging0050.png
Binary files differ
diff --git a/healthd/images/battery-charging0051.png b/healthd/images/battery-charging0051.png
new file mode 100644
index 0000000..300c987
--- /dev/null
+++ b/healthd/images/battery-charging0051.png
Binary files differ
diff --git a/healthd/images/battery-charging0052.png b/healthd/images/battery-charging0052.png
new file mode 100644
index 0000000..da571ae
--- /dev/null
+++ b/healthd/images/battery-charging0052.png
Binary files differ
diff --git a/healthd/images/battery-charging0053.png b/healthd/images/battery-charging0053.png
new file mode 100644
index 0000000..1f64265
--- /dev/null
+++ b/healthd/images/battery-charging0053.png
Binary files differ
diff --git a/healthd/images/battery-charging0054.png b/healthd/images/battery-charging0054.png
new file mode 100644
index 0000000..d21c96e
--- /dev/null
+++ b/healthd/images/battery-charging0054.png
Binary files differ
diff --git a/healthd/images/battery-charging0055.png b/healthd/images/battery-charging0055.png
new file mode 100644
index 0000000..517ddfd
--- /dev/null
+++ b/healthd/images/battery-charging0055.png
Binary files differ
diff --git a/healthd/images/battery-charging0056.png b/healthd/images/battery-charging0056.png
new file mode 100644
index 0000000..2ea3077
--- /dev/null
+++ b/healthd/images/battery-charging0056.png
Binary files differ
diff --git a/healthd/images/battery-charging0057.png b/healthd/images/battery-charging0057.png
new file mode 100644
index 0000000..ef8ae66
--- /dev/null
+++ b/healthd/images/battery-charging0057.png
Binary files differ
diff --git a/healthd/images/battery-charging0058.png b/healthd/images/battery-charging0058.png
new file mode 100644
index 0000000..93dfce8
--- /dev/null
+++ b/healthd/images/battery-charging0058.png
Binary files differ
diff --git a/healthd/images/battery-charging0059.png b/healthd/images/battery-charging0059.png
new file mode 100644
index 0000000..270a2a9
--- /dev/null
+++ b/healthd/images/battery-charging0059.png
Binary files differ
diff --git a/healthd/images/battery-charging0060.png b/healthd/images/battery-charging0060.png
new file mode 100644
index 0000000..8ff09f7
--- /dev/null
+++ b/healthd/images/battery-charging0060.png
Binary files differ
diff --git a/healthd/images/battery-charging0061.png b/healthd/images/battery-charging0061.png
new file mode 100644
index 0000000..0f889cb
--- /dev/null
+++ b/healthd/images/battery-charging0061.png
Binary files differ
diff --git a/healthd/images/battery-charging0062.png b/healthd/images/battery-charging0062.png
new file mode 100644
index 0000000..f596eb0
--- /dev/null
+++ b/healthd/images/battery-charging0062.png
Binary files differ
diff --git a/healthd/images/battery-charging0063.png b/healthd/images/battery-charging0063.png
new file mode 100644
index 0000000..6919e52
--- /dev/null
+++ b/healthd/images/battery-charging0063.png
Binary files differ
diff --git a/healthd/images/battery-charging0064.png b/healthd/images/battery-charging0064.png
new file mode 100644
index 0000000..bae2261
--- /dev/null
+++ b/healthd/images/battery-charging0064.png
Binary files differ
diff --git a/healthd/images/battery-charging0065.png b/healthd/images/battery-charging0065.png
new file mode 100644
index 0000000..5747f9b
--- /dev/null
+++ b/healthd/images/battery-charging0065.png
Binary files differ
diff --git a/healthd/images/battery-charging0066.png b/healthd/images/battery-charging0066.png
new file mode 100644
index 0000000..f874151
--- /dev/null
+++ b/healthd/images/battery-charging0066.png
Binary files differ
diff --git a/healthd/images/battery-charging0067.png b/healthd/images/battery-charging0067.png
new file mode 100644
index 0000000..c77f7f1
--- /dev/null
+++ b/healthd/images/battery-charging0067.png
Binary files differ
diff --git a/healthd/images/battery-charging0068.png b/healthd/images/battery-charging0068.png
new file mode 100644
index 0000000..154c1c6
--- /dev/null
+++ b/healthd/images/battery-charging0068.png
Binary files differ
diff --git a/healthd/images/battery-charging0069.png b/healthd/images/battery-charging0069.png
new file mode 100644
index 0000000..67fe662
--- /dev/null
+++ b/healthd/images/battery-charging0069.png
Binary files differ
diff --git a/healthd/images/battery-charging0070.png b/healthd/images/battery-charging0070.png
new file mode 100644
index 0000000..f297bd9
--- /dev/null
+++ b/healthd/images/battery-charging0070.png
Binary files differ
diff --git a/healthd/images/battery-charging0071.png b/healthd/images/battery-charging0071.png
new file mode 100644
index 0000000..f017a1d
--- /dev/null
+++ b/healthd/images/battery-charging0071.png
Binary files differ
diff --git a/healthd/images/battery-charging0072.png b/healthd/images/battery-charging0072.png
new file mode 100644
index 0000000..3492161
--- /dev/null
+++ b/healthd/images/battery-charging0072.png
Binary files differ
diff --git a/healthd/images/battery-charging0073.png b/healthd/images/battery-charging0073.png
new file mode 100644
index 0000000..687795f
--- /dev/null
+++ b/healthd/images/battery-charging0073.png
Binary files differ
diff --git a/healthd/images/battery-charging0074.png b/healthd/images/battery-charging0074.png
new file mode 100644
index 0000000..f8d651a
--- /dev/null
+++ b/healthd/images/battery-charging0074.png
Binary files differ
diff --git a/healthd/images/battery-charging0075.png b/healthd/images/battery-charging0075.png
new file mode 100644
index 0000000..dabc874
--- /dev/null
+++ b/healthd/images/battery-charging0075.png
Binary files differ
diff --git a/healthd/images/battery-charging0076.png b/healthd/images/battery-charging0076.png
new file mode 100644
index 0000000..774eff4
--- /dev/null
+++ b/healthd/images/battery-charging0076.png
Binary files differ
diff --git a/healthd/images/battery-charging0077.png b/healthd/images/battery-charging0077.png
new file mode 100644
index 0000000..4f2acba
--- /dev/null
+++ b/healthd/images/battery-charging0077.png
Binary files differ
diff --git a/healthd/images/battery-charging0078.png b/healthd/images/battery-charging0078.png
new file mode 100644
index 0000000..e45507d
--- /dev/null
+++ b/healthd/images/battery-charging0078.png
Binary files differ
diff --git a/healthd/images/battery-charging0079.png b/healthd/images/battery-charging0079.png
new file mode 100644
index 0000000..9780cf9
--- /dev/null
+++ b/healthd/images/battery-charging0079.png
Binary files differ
diff --git a/healthd/images/battery-charging0080.png b/healthd/images/battery-charging0080.png
new file mode 100644
index 0000000..33008e5
--- /dev/null
+++ b/healthd/images/battery-charging0080.png
Binary files differ
diff --git a/healthd/images/battery-charging0081.png b/healthd/images/battery-charging0081.png
new file mode 100644
index 0000000..077bab9
--- /dev/null
+++ b/healthd/images/battery-charging0081.png
Binary files differ
diff --git a/healthd/images/battery-charging0082.png b/healthd/images/battery-charging0082.png
new file mode 100644
index 0000000..a18157f
--- /dev/null
+++ b/healthd/images/battery-charging0082.png
Binary files differ
diff --git a/healthd/images/battery-charging0083.png b/healthd/images/battery-charging0083.png
new file mode 100644
index 0000000..523a7b8
--- /dev/null
+++ b/healthd/images/battery-charging0083.png
Binary files differ
diff --git a/healthd/images/battery-charging0084.png b/healthd/images/battery-charging0084.png
new file mode 100644
index 0000000..a2e1468
--- /dev/null
+++ b/healthd/images/battery-charging0084.png
Binary files differ
diff --git a/healthd/images/battery-charging0085.png b/healthd/images/battery-charging0085.png
new file mode 100644
index 0000000..441352e
--- /dev/null
+++ b/healthd/images/battery-charging0085.png
Binary files differ
diff --git a/healthd/images/battery-charging0086.png b/healthd/images/battery-charging0086.png
new file mode 100644
index 0000000..4188355
--- /dev/null
+++ b/healthd/images/battery-charging0086.png
Binary files differ
diff --git a/healthd/images/battery-charging0087.png b/healthd/images/battery-charging0087.png
new file mode 100644
index 0000000..d29f7e9
--- /dev/null
+++ b/healthd/images/battery-charging0087.png
Binary files differ
diff --git a/healthd/images/battery-charging0088.png b/healthd/images/battery-charging0088.png
new file mode 100644
index 0000000..67111c9
--- /dev/null
+++ b/healthd/images/battery-charging0088.png
Binary files differ
diff --git a/healthd/images/battery-charging0089.png b/healthd/images/battery-charging0089.png
new file mode 100644
index 0000000..236488b
--- /dev/null
+++ b/healthd/images/battery-charging0089.png
Binary files differ
diff --git a/healthd/images/battery-charging0090.png b/healthd/images/battery-charging0090.png
new file mode 100644
index 0000000..9f2afa8
--- /dev/null
+++ b/healthd/images/battery-charging0090.png
Binary files differ
diff --git a/healthd/images/battery-charging0091.png b/healthd/images/battery-charging0091.png
new file mode 100644
index 0000000..d938757
--- /dev/null
+++ b/healthd/images/battery-charging0091.png
Binary files differ
diff --git a/healthd/images/battery-charging0092.png b/healthd/images/battery-charging0092.png
new file mode 100644
index 0000000..0194991
--- /dev/null
+++ b/healthd/images/battery-charging0092.png
Binary files differ
diff --git a/healthd/images/battery-charging0093.png b/healthd/images/battery-charging0093.png
new file mode 100644
index 0000000..dda4fd7
--- /dev/null
+++ b/healthd/images/battery-charging0093.png
Binary files differ
diff --git a/healthd/images/battery-charging0094.png b/healthd/images/battery-charging0094.png
new file mode 100644
index 0000000..e40d35b
--- /dev/null
+++ b/healthd/images/battery-charging0094.png
Binary files differ
diff --git a/healthd/images/battery-charging0095.png b/healthd/images/battery-charging0095.png
new file mode 100644
index 0000000..7f12783
--- /dev/null
+++ b/healthd/images/battery-charging0095.png
Binary files differ
diff --git a/healthd/images/battery-charging0096.png b/healthd/images/battery-charging0096.png
new file mode 100644
index 0000000..5859fc6
--- /dev/null
+++ b/healthd/images/battery-charging0096.png
Binary files differ
diff --git a/healthd/images/battery-charging0097.png b/healthd/images/battery-charging0097.png
new file mode 100644
index 0000000..87ba922
--- /dev/null
+++ b/healthd/images/battery-charging0097.png
Binary files differ
diff --git a/healthd/images/battery-charging0098.png b/healthd/images/battery-charging0098.png
new file mode 100644
index 0000000..5839e24
--- /dev/null
+++ b/healthd/images/battery-charging0098.png
Binary files differ
diff --git a/healthd/images/battery-charging0099.png b/healthd/images/battery-charging0099.png
new file mode 100644
index 0000000..005f389
--- /dev/null
+++ b/healthd/images/battery-charging0099.png
Binary files differ
diff --git a/healthd/images/battery-charging0100.png b/healthd/images/battery-charging0100.png
new file mode 100644
index 0000000..6bf7012
--- /dev/null
+++ b/healthd/images/battery-charging0100.png
Binary files differ
diff --git a/healthd/include_charger/charger/healthd_mode_charger.h b/healthd/include_charger/charger/healthd_mode_charger.h
index 8957a7b..b3816e8 100644
--- a/healthd/include_charger/charger/healthd_mode_charger.h
+++ b/healthd/include_charger/charger/healthd_mode_charger.h
@@ -108,6 +108,7 @@
int RequestEnableSuspend();
int RequestDisableSuspend();
void BlankSecScreen();
+ void charging_rgbled_update();
bool have_battery_state_ = false;
bool screen_blanked_ = false;
@@ -116,6 +117,7 @@
int64_t next_key_check_ = 0;
int64_t next_pwr_check_ = 0;
int64_t wait_batt_level_timestamp_ = 0;
+ int led_last_battery_level_ = -1;
DirectRenderManager drm_;
SrceenSwitch screen_switch_;
diff --git a/libsystem/include/system/camera.h b/libsystem/include/system/camera.h
index 2ca90c3..990edcf 100644
--- a/libsystem/include/system/camera.h
+++ b/libsystem/include/system/camera.h
@@ -88,9 +88,20 @@
// Notify on autofocus start and stop. This is useful in continuous
// autofocus - FOCUS_MODE_CONTINUOUS_VIDEO and FOCUS_MODE_CONTINUOUS_PICTURE.
CAMERA_MSG_FOCUS_MOVE = 0x0800, // notifyCallback
+ CAMERA_MSG_VENDOR_START = 0x1000,
+ CAMERA_MSG_STATS_DATA = CAMERA_MSG_VENDOR_START,
+ CAMERA_MSG_META_DATA = 0x2000,
+ CAMERA_MSG_VENDOR_END = 0x8000,
CAMERA_MSG_ALL_MSGS = 0xFFFF
};
+/** meta data type in CameraMetaDataCallback */
+enum {
+ CAMERA_META_DATA_ASD = 0x001, //ASD data
+ CAMERA_META_DATA_FD = 0x002, //FD/FP data
+ CAMERA_META_DATA_HDR = 0x003, //Auto HDR data
+};
+
/** cmdType in sendCommand functions */
enum {
CAMERA_CMD_START_SMOOTH_ZOOM = 1,
@@ -189,7 +200,25 @@
* IMPLEMENTATION_DEFINED, then HALv3 devices will use gralloc usage flags
* of SW_READ_OFTEN.
*/
- CAMERA_CMD_SET_VIDEO_FORMAT = 11
+ CAMERA_CMD_SET_VIDEO_FORMAT = 11,
+
+ CAMERA_CMD_VENDOR_START = 20,
+ /**
+ * Commands to enable/disable preview histogram
+ *
+ * Based on user's input to enable/disable histogram from the camera
+ * UI, send the appropriate command to the HAL to turn on/off the histogram
+ * stats and start sending the data to the application.
+ */
+ CAMERA_CMD_HISTOGRAM_ON = CAMERA_CMD_VENDOR_START,
+ CAMERA_CMD_HISTOGRAM_OFF = CAMERA_CMD_VENDOR_START + 1,
+ CAMERA_CMD_HISTOGRAM_SEND_DATA = CAMERA_CMD_VENDOR_START + 2,
+ CAMERA_CMD_LONGSHOT_ON = CAMERA_CMD_VENDOR_START + 3,
+ CAMERA_CMD_LONGSHOT_OFF = CAMERA_CMD_VENDOR_START + 4,
+ CAMERA_CMD_STOP_LONGSHOT = CAMERA_CMD_VENDOR_START + 5,
+ CAMERA_CMD_METADATA_ON = CAMERA_CMD_VENDOR_START + 6,
+ CAMERA_CMD_METADATA_OFF = CAMERA_CMD_VENDOR_START + 7,
+ CAMERA_CMD_VENDOR_END = 200,
};
/** camera fatal errors */
@@ -284,10 +313,32 @@
* -2000, -2000 if this is not supported.
*/
int32_t mouth[2];
+ int32_t smile_degree;
+ int32_t smile_score;
+ int32_t blink_detected;
+ int32_t face_recognised;
+ int32_t gaze_angle;
+ int32_t updown_dir;
+ int32_t leftright_dir;
+ int32_t roll_dir;
+ int32_t left_right_gaze;
+ int32_t top_bottom_gaze;
+ int32_t leye_blink;
+ int32_t reye_blink;
} camera_face_t;
/**
+ * The information of a data type received in a camera frame.
+ */
+typedef enum {
+ /** Data buffer */
+ CAMERA_FRAME_DATA_BUF = 0x000,
+ /** File descriptor */
+ CAMERA_FRAME_DATA_FD = 0x100
+} camera_frame_data_type_t;
+
+/**
* The metadata of the frame data.
*/
typedef struct camera_frame_metadata {