init.common.rc: map sys.retaildemo to persist.vendor.charge.*.level

Bug: 75302124
Change-Id: I94f51030389f9ba3fef82d48fc83c3f5ec81779a
Signed-off-by: Thierry Strudel <tstrudel@google.com>
diff --git a/init.common.rc b/init.common.rc
index dce7d46..28429ad 100644
--- a/init.common.rc
+++ b/init.common.rc
@@ -836,13 +836,22 @@
 on property:sys.boot_completed=1 && property:ro.build.type=user
     write /proc/sys/kernel/modules_disabled 1
 
-# battery driver settings for the retail demo environment where
-# the device will be perpertually plugged in to a power source
+## charger driver exposes now finer grain control, map demo mode to those properties
+# demo mode can only be exit wipping data which will also reset the persist properties
 on property:sys.retaildemo.enabled=1
-    write /sys/class/power_supply/battery/full_level_dis_batt_chg 35
+    setprop persist.vendor.charge.stop.level 35
+    setprop persist.vendor.charge.start.level 30
 
+# system will not set the sys.retaildemo.enabled to 0 but this is used to set back to default charging
 on property:sys.retaildemo.enabled=0
-    write /sys/class/power_supply/battery/full_level_dis_batt_chg 100
+    setprop persist.vendor.charge.stop.level 100
+    setprop persist.vendor.charge.start.level 0
+
+on property:persist.vendor.charge.stop.level=*
+    write /sys/module/htc_battery/parameters/charge_stop_level ${persist.vendor.charge.stop.level}
+
+on property:persist.vendor.charge.start.level=*
+    write /sys/module/htc_battery/parameters/charge_start_level ${persist.vendor.charge.start.level}
 
 service vendor.devstart_sh /vendor/bin/init.qcom.devstart.sh
     class main