logger: Change access right to lastmeal.txt
Bugreport cannot access lastmeal.txt due to access right.
Bug: 239709385
Test: confirm lastmeal.txt has system:system
Change-Id: Id207bf86096333710f8e55533fb806ae9f3a66c5
Signed-off-by: George Lee <geolee@google.com>
diff --git a/battery_mitigation/battery_mitigation.cpp b/battery_mitigation/battery_mitigation.cpp
index 70e8188..a7c1fd4 100644
--- a/battery_mitigation/battery_mitigation.cpp
+++ b/battery_mitigation/battery_mitigation.cpp
@@ -68,6 +68,7 @@
const char kReadyProperty[] = "vendor.brownout.mitigation.ready";
const char kLastMealPath[] = "/data/vendor/mitigation/lastmeal.txt";
const char kBRRequestedProperty[] = "vendor.brownout_reason";
+const char kLastMealProperty[] = "vendor.brownout.br.feasible";
const std::regex kTimestampRegex("^\\S+\\s[0-9]+:[0-9]+:[0-9]+\\S+$");
int main(int /*argc*/, char ** /*argv*/) {
@@ -85,6 +86,7 @@
std::ifstream src(cfg.LogFilePath, std::ios::in);
std::ofstream dst(kLastMealPath, std::ios::out);
dst << src.rdbuf();
+ android::base::SetProperty(kLastMealProperty, "1");
}
bool isBatteryMitigationReady = false;
std::string ready_str;
diff --git a/battery_mitigation/battery_mitigation.rc b/battery_mitigation/battery_mitigation.rc
index fcc9a4f..c190431 100644
--- a/battery_mitigation/battery_mitigation.rc
+++ b/battery_mitigation/battery_mitigation.rc
@@ -87,6 +87,9 @@
on property:ro.boot.bootreason=reboot,ocp,buckbs && property:sys.boot.reason=reboot,ocp,buckbs
setprop vendor.brownout_reason "ocp,buckbs"
+on property:vendor.brownout.br.feasible=1
+ chown system system data/vendor/mitigation/lastmeal.txt
+
service vendor.battery_mitigation /vendor/bin/hw/battery_mitigation
user system
group system
diff --git a/battery_mitigation/sepolicy/battery_mitigation.te b/battery_mitigation/sepolicy/battery_mitigation.te
index ff34c43..d956f0a 100644
--- a/battery_mitigation/sepolicy/battery_mitigation.te
+++ b/battery_mitigation/sepolicy/battery_mitigation.te
@@ -5,6 +5,7 @@
get_prop(battery_mitigation, vendor_brownout_reason_prop)
get_prop(battery_mitigation, system_boot_reason_prop)
set_prop(battery_mitigation, vendor_mitigation_ready_prop)
+set_prop(battery_mitigation, vendor_brownout_br_feasible_prop)
hal_client_domain(battery_mitigation, hal_thermal);
hal_client_domain(battery_mitigation, hal_health);
diff --git a/battery_mitigation/sepolicy/property.te b/battery_mitigation/sepolicy/property.te
index d750f09..3dfa12e 100644
--- a/battery_mitigation/sepolicy/property.te
+++ b/battery_mitigation/sepolicy/property.te
@@ -1,3 +1,4 @@
# Battery Mitigation
vendor_internal_prop(vendor_mitigation_ready_prop)
vendor_public_prop(vendor_brownout_reason_prop)
+vendor_internal_prop(vendor_brownout_br_feasible_prop)
diff --git a/battery_mitigation/sepolicy/property_contexts b/battery_mitigation/sepolicy/property_contexts
index 014cb14..d5d538a 100644
--- a/battery_mitigation/sepolicy/property_contexts
+++ b/battery_mitigation/sepolicy/property_contexts
@@ -1,3 +1,4 @@
# Battery Mitigation
vendor.brownout.mitigation.ready u:object_r:vendor_mitigation_ready_prop:s0
vendor.brownout_reason u:object_r:vendor_brownout_reason_prop:s0
+vendor.brownout.br.feasible u:object_r:vendor_brownout_br_feasible_prop:s0
diff --git a/battery_mitigation/sepolicy/vendor_init.te b/battery_mitigation/sepolicy/vendor_init.te
index 275f377..1517b13 100644
--- a/battery_mitigation/sepolicy/vendor_init.te
+++ b/battery_mitigation/sepolicy/vendor_init.te
@@ -1,3 +1,4 @@
# Battery Mitigation
set_prop(vendor_init, vendor_brownout_reason_prop)
+get_prop(vendor_init, vendor_brownout_br_feasible_prop)
get_prop(vendor_init, system_boot_reason_prop)