Support gti proc dump.

Bug: 262796907
Test: TreeHugger build pass.
Signed-off-by: Super Liu <supercjliu@google.com>
Change-Id: I3dd73b9832c737f7c60639af649ae882e206aa15
diff --git a/touch/gti/Android.bp b/touch/gti/Android.bp
index b997aec..d21314a 100644
--- a/touch/gti/Android.bp
+++ b/touch/gti/Android.bp
@@ -5,6 +5,7 @@
 sh_binary {
     name: "dump_gti.sh",
     src: "dump_gti.sh",
+    init_rc: ["init.touch.gti.rc"],
     vendor: true,
     sub_dir: "dump",
 }
diff --git a/touch/gti/dump_gti.sh b/touch/gti/dump_gti.sh
index 573962d..a7d3a61 100644
--- a/touch/gti/dump_gti.sh
+++ b/touch/gti/dump_gti.sh
@@ -1,5 +1,12 @@
 #!/vendor/bin/sh
 path="/sys/devices/virtual/goog_touch_interface/gti.0"
+procfs_path="/proc/goog_touch_interface/gti.0"
+
+if [[ -d "$procfs_path" ]]; then
+heatmap_path=$procfs_path
+else
+heatmap_path=$path
+fi
 
 echo "------ Force Touch Active ------"
 echo 1 > $path/force_active
@@ -8,22 +15,22 @@
 cat $path/fw_ver
 
 echo "------ Get Mutual Sensing Data - Baseline ------"
-cat $path/ms_base
+cat $heatmap_path/ms_base
 
 echo "------ Get Mutual Sensing Data - Delta ------"
-cat $path/ms_diff
+cat $heatmap_path/ms_diff
 
 echo "------ Get Mutual Sensing Data - Raw ------"
-cat $path/ms_raw
+cat $heatmap_path/ms_raw
 
 echo "------ Get Self Sensing Data - Baseline ------"
-cat $path/ss_base
+cat $heatmap_path/ss_base
 
 echo "------ Get Self Sensing Data - Delta ------"
-cat $path/ss_diff
+cat $heatmap_path/ss_diff
 
 echo "------ Get Self Sensing Data - Raw ------"
-cat $path/ss_raw
+cat $heatmap_path/ss_raw
 
 echo "------ Self Test ------"
 cat $path/self_test
diff --git a/touch/gti/init.touch.gti.rc b/touch/gti/init.touch.gti.rc
new file mode 100644
index 0000000..d714a97
--- /dev/null
+++ b/touch/gti/init.touch.gti.rc
@@ -0,0 +1,9 @@
+on property:vendor.device.modules.ready=1
+    chown system system /proc/goog_touch_interface
+    chown system system /proc/goog_touch_interface/gti.0
+    chown system system /proc/goog_touch_interface/gti.0/ms_base
+    chown system system /proc/goog_touch_interface/gti.0/ms_diff
+    chown system system /proc/goog_touch_interface/gti.0/ms_raw
+    chown system system /proc/goog_touch_interface/gti.0/ss_base
+    chown system system /proc/goog_touch_interface/gti.0/ss_diff
+    chown system system /proc/goog_touch_interface/gti.0/ss_raw
diff --git a/touch/gti/sepolicy/dump_gti.te b/touch/gti/sepolicy/dump_gti.te
index 7482246..060fc29 100644
--- a/touch/gti/sepolicy/dump_gti.te
+++ b/touch/gti/sepolicy/dump_gti.te
@@ -1,5 +1,7 @@
 pixel_bugreport(dump_gti)
 
+allow dump_gti proc_touch_gti:dir r_dir_perms;
+allow dump_gti proc_touch_gti:file rw_file_perms;
 allow dump_gti sysfs_touch_gti:dir r_dir_perms;
 allow dump_gti sysfs_touch_gti:file rw_file_perms;
 allow dump_gti vendor_toolbox_exec:file execute_no_trans;
diff --git a/touch/gti/sepolicy/file.te b/touch/gti/sepolicy/file.te
index 9776707..c3900f0 100644
--- a/touch/gti/sepolicy/file.te
+++ b/touch/gti/sepolicy/file.te
@@ -1,2 +1,3 @@
+type proc_touch_gti, proc_type, fs_type;
 type sysfs_touch_gti, sysfs_type, fs_type;
 
diff --git a/touch/gti/sepolicy/genfs_contexts b/touch/gti/sepolicy/genfs_contexts
index a64e39b..45d3b53 100644
--- a/touch/gti/sepolicy/genfs_contexts
+++ b/touch/gti/sepolicy/genfs_contexts
@@ -1,2 +1,4 @@
 # Touch
 genfscon sysfs /devices/virtual/goog_touch_interface                            u:object_r:sysfs_touch_gti:s0
+genfscon proc  /goog_touch_interface                                            u:object_r:proc_touch_gti:s0
+