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)