sm7325-common: Import stock charge_only_mode
Change-Id: I3542bac25ac2a161a165c55cbabe93ec75c04ce8
This commit is contained in:
parent
6ad3cfa8ee
commit
032a78d43f
@ -129,8 +129,11 @@ vendor/lib64/libcdsp_default_listener.so
|
|||||||
vendor/lib64/libcdsprpc.so
|
vendor/lib64/libcdsprpc.so
|
||||||
|
|
||||||
# Charger
|
# Charger
|
||||||
|
vendor/bin/charge_only_mode
|
||||||
vendor/bin/hvdcp_opti
|
vendor/bin/hvdcp_opti
|
||||||
vendor/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc
|
vendor/etc/init/vendor.qti.hardware.charger_monitor@1.0-service.rc
|
||||||
|
vendor/etc/charger_fstab.qti
|
||||||
|
vendor/etc/charger_fw_fstab.qti
|
||||||
|
|
||||||
# CNE
|
# CNE
|
||||||
-vendor/app/CneApp/CneApp.apk
|
-vendor/app/CneApp/CneApp.apk
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
on charger
|
# Wait for the USB init shell script to finish, to prevent enumeration issues
|
||||||
|
on property:init.svc.vendor.mmi-usb-sh=stopped && property:ro.boot.mode=charger
|
||||||
|
setprop sys.usb.configfs 1
|
||||||
|
setprop sys.usb.config charging
|
||||||
|
|
||||||
|
on moto-charger
|
||||||
stop vendor.sensors
|
stop vendor.sensors
|
||||||
|
trigger firmware_mounts_complete
|
||||||
wait /sys/class/power_supply/battery
|
wait /sys/class/power_supply/battery
|
||||||
|
start vendor.charge_only_mode
|
||||||
|
start vendor.batt_health
|
||||||
start vendor.thermal-com
|
start vendor.thermal-com
|
||||||
start system_suspend
|
start system_suspend
|
||||||
|
|
||||||
|
@ -226,6 +226,9 @@ on post-fs-data
|
|||||||
# Setup folder for aplogd
|
# Setup folder for aplogd
|
||||||
mkdir /data/vendor/aplogd 0770 log log
|
mkdir /data/vendor/aplogd 0770 log log
|
||||||
|
|
||||||
|
# Create directory used by chargeonlymode
|
||||||
|
mkdir /data/vendor/chargeonly 0750 root log
|
||||||
|
|
||||||
# Subsystem RAM-dumps
|
# Subsystem RAM-dumps
|
||||||
mkdir /data/vendor/ss-ram-dumps 0750 system log
|
mkdir /data/vendor/ss-ram-dumps 0750 system log
|
||||||
mkdir /data/vendor/ss-ram-dumps/bp-dumps 0750 system log
|
mkdir /data/vendor/ss-ram-dumps/bp-dumps 0750 system log
|
||||||
@ -296,6 +299,12 @@ on boot
|
|||||||
chown audio audio /sys/kernel/aov/register
|
chown audio audio /sys/kernel/aov/register
|
||||||
chown audio audio /sys/kernel/aov/event
|
chown audio audio /sys/kernel/aov/event
|
||||||
|
|
||||||
|
# Clear cooldown state
|
||||||
|
mkdir /mnt/vendor/persist/chargeonly 0770 system system
|
||||||
|
write /mnt/vendor/persist/chargeonly/cooldown n
|
||||||
|
chown system system /mnt/vendor/persist/chargeonly/cooldown
|
||||||
|
chmod 0660 /mnt/vendor/persist/chargeonly/cooldown
|
||||||
|
|
||||||
# Quiet binder logs
|
# Quiet binder logs
|
||||||
write /sys/module/binder/parameters/debug_mask 0x5
|
write /sys/module/binder/parameters/debug_mask 0x5
|
||||||
|
|
||||||
@ -307,6 +316,24 @@ on boot
|
|||||||
chown system system /sys/class/capsense/reset
|
chown system system /sys/class/capsense/reset
|
||||||
chown system system /sys/class/capsense/int_state
|
chown system system /sys/class/capsense/int_state
|
||||||
|
|
||||||
|
on late-fs-charger
|
||||||
|
class_start early_hal
|
||||||
|
wait_for_prop hwservicemanager.ready true
|
||||||
|
exec_start wait_for_keymaster
|
||||||
|
mount_all /vendor/etc/fstab.qcom --late
|
||||||
|
# Boot time fs tune
|
||||||
|
write /sys/block/dm-9/queue/read_ahead_kb 2048
|
||||||
|
|
||||||
|
on charger
|
||||||
|
trigger early-fs
|
||||||
|
trigger fs
|
||||||
|
trigger post-fs
|
||||||
|
trigger late-fs-charger
|
||||||
|
trigger post-fs-data
|
||||||
|
trigger moto-charger
|
||||||
|
class_stop main
|
||||||
|
class_stop late_start
|
||||||
|
|
||||||
on property:sys.boot_completed=1 && property:ro.vendor.zram.product_swapon=""
|
on property:sys.boot_completed=1 && property:ro.vendor.zram.product_swapon=""
|
||||||
write /proc/sys/vm/page-cluster 0
|
write /proc/sys/vm/page-cluster 0
|
||||||
swapon_all /vendor/etc/fstab.qcom
|
swapon_all /vendor/etc/fstab.qcom
|
||||||
@ -376,6 +403,12 @@ on property:vendor.hw.touch.status="dead"
|
|||||||
on property:vendor.hw.touch.status="ready"
|
on property:vendor.hw.touch.status="ready"
|
||||||
start vendor.touch-ready-sh
|
start vendor.touch-ready-sh
|
||||||
|
|
||||||
|
service vendor.charge_only_mode /vendor/bin/charge_only_mode
|
||||||
|
user root
|
||||||
|
group graphics system input
|
||||||
|
capabilities SYS_BOOT
|
||||||
|
disabled
|
||||||
|
|
||||||
# bugreport is triggered by holding down volume down, volume up and power
|
# bugreport is triggered by holding down volume down, volume up and power
|
||||||
service bugreport /system/bin/dumpstate -d -p -B -z \
|
service bugreport /system/bin/dumpstate -d -p -B -z \
|
||||||
-o /data/user_de/0/com.android.shell/files/bugreports/bugreport
|
-o /data/user_de/0/com.android.shell/files/bugreports/bugreport
|
||||||
|
94
sepolicy/vendor/charge_only.te
vendored
Normal file
94
sepolicy/vendor/charge_only.te
vendored
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
type charge_only, domain;
|
||||||
|
type charge_only_exec, exec_type, vendor_file_type, file_type;
|
||||||
|
init_daemon_domain(charge_only)
|
||||||
|
|
||||||
|
# Read chargeonly_data_file
|
||||||
|
allow charge_only chargeonly_data_file:dir rw_dir_perms;
|
||||||
|
allow charge_only chargeonly_data_file:file create_file_perms;
|
||||||
|
|
||||||
|
# Write to /dev/kmsg
|
||||||
|
allow charge_only kmsg_device:chr_file rw_file_perms;
|
||||||
|
|
||||||
|
# Read access to pseudo filesystems.
|
||||||
|
r_dir_file(charge_only, sysfs_type)
|
||||||
|
r_dir_file(charge_only, rootfs)
|
||||||
|
r_dir_file(charge_only, cgroup)
|
||||||
|
|
||||||
|
# Self permissions
|
||||||
|
allow charge_only self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
|
||||||
|
|
||||||
|
# Wakelock
|
||||||
|
wakelock_use(charge_only)
|
||||||
|
|
||||||
|
# Allow access to sysfs
|
||||||
|
allow charge_only sysfs:dir { read open };
|
||||||
|
allow charge_only sysfs:file rw_file_perms;
|
||||||
|
|
||||||
|
# Allow access to wakelock sysfs
|
||||||
|
allow charge_only sysfs_wake_lock:file rw_file_perms;
|
||||||
|
|
||||||
|
# Allow access to battery info sysfs
|
||||||
|
allow charge_only sysfs_batteryinfo:file r_file_perms;
|
||||||
|
|
||||||
|
# Allow access to battery supply sysfs
|
||||||
|
allow charge_only sysfs_battery_supply:dir r_dir_perms;
|
||||||
|
allow charge_only sysfs_battery_supply:file r_file_perms;
|
||||||
|
allow charge_only sysfs_battery_supply:lnk_file r_file_perms;
|
||||||
|
|
||||||
|
# Allow access to usb supply sysfs
|
||||||
|
allow charge_only sysfs_usb_supply:dir r_dir_perms;
|
||||||
|
allow charge_only sysfs_usb_supply:file r_file_perms;
|
||||||
|
|
||||||
|
# Allow access to thermal sysfs
|
||||||
|
allow charge_only sysfs_thermal:dir r_dir_perms;
|
||||||
|
allow charge_only sysfs_thermal:file r_file_perms;
|
||||||
|
allow charge_only sysfs_thermal:lnk_file r_file_perms;
|
||||||
|
|
||||||
|
# Allow access to power sysfs
|
||||||
|
allow charge_only sysfs_power:file rw_file_perms;
|
||||||
|
|
||||||
|
# Allow access to graphics sysfs
|
||||||
|
allow charge_only sysfs_graphics:dir r_dir_perms;
|
||||||
|
allow charge_only sysfs_graphics:file rw_file_perms;
|
||||||
|
|
||||||
|
# Read /sys/fs/pstore/console-ramoops
|
||||||
|
# Don't worry about overly broad permissions for now, as there's
|
||||||
|
# only one file in /sys/fs/pstore
|
||||||
|
allow charge_only pstorefs:dir r_dir_perms;
|
||||||
|
allow charge_only pstorefs:file r_file_perms;
|
||||||
|
|
||||||
|
# Allow access to graphics dev
|
||||||
|
allow charge_only graphics_device:dir r_dir_perms;
|
||||||
|
allow charge_only graphics_device:chr_file rw_file_perms;
|
||||||
|
|
||||||
|
# Allow access to input dev
|
||||||
|
allow charge_only input_device:dir r_dir_perms;
|
||||||
|
allow charge_only input_device:chr_file r_file_perms;
|
||||||
|
|
||||||
|
# Allow access to tty dev
|
||||||
|
allow charge_only tty_device:chr_file rw_file_perms;
|
||||||
|
|
||||||
|
# Allow access to rtc dev
|
||||||
|
allow charge_only rtc_device:chr_file rw_file_perms;
|
||||||
|
|
||||||
|
# Allow access to proc_sysrq
|
||||||
|
allow charge_only proc_sysrq:file rw_file_perms;
|
||||||
|
|
||||||
|
# Allow access to persist dir
|
||||||
|
allow charge_only persist_chargeonly_file:dir r_dir_perms;
|
||||||
|
allow charge_only persist_chargeonly_file:file r_file_perms;
|
||||||
|
|
||||||
|
# Allow access to vendor dir
|
||||||
|
allow charge_only mnt_vendor_file:dir r_dir_perms;
|
||||||
|
|
||||||
|
# Exec shell scripts
|
||||||
|
allow charge_only vendor_shell_exec:file rx_file_perms;
|
||||||
|
|
||||||
|
# Socks
|
||||||
|
allow charge_only property_socket:sock_file write;
|
||||||
|
allow charge_only init:unix_stream_socket connectto;
|
||||||
|
|
||||||
|
# Props
|
||||||
|
get_prop(charge_only, powerctl_prop)
|
||||||
|
set_prop(charge_only, powerctl_prop)
|
||||||
|
get_prop(charge_only, vendor_display_prop)
|
4
sepolicy/vendor/file.te
vendored
4
sepolicy/vendor/file.te
vendored
@ -1,6 +1,10 @@
|
|||||||
# Camera
|
# Camera
|
||||||
type vendor_persist_camera_file, file_type, vendor_persist_type;
|
type vendor_persist_camera_file, file_type, vendor_persist_type;
|
||||||
|
|
||||||
|
# charge_only_mode
|
||||||
|
type chargeonly_data_file, file_type, data_file_type;
|
||||||
|
type persist_chargeonly_file, file_type, data_file_type;
|
||||||
|
|
||||||
# Cutback
|
# Cutback
|
||||||
type cutback_data_file, file_type, data_file_type;
|
type cutback_data_file, file_type, data_file_type;
|
||||||
type cutback_socket, file_type;
|
type cutback_socket, file_type;
|
||||||
|
5
sepolicy/vendor/file_contexts
vendored
5
sepolicy/vendor/file_contexts
vendored
@ -34,6 +34,11 @@
|
|||||||
/sys/devices/virtual/input/input[0-9]+/offset u:object_r:vendor_sysfs_laser:s0
|
/sys/devices/virtual/input/input[0-9]+/offset u:object_r:vendor_sysfs_laser:s0
|
||||||
/sys/devices/virtual/input/input[0-9]+/xtalk u:object_r:vendor_sysfs_laser:s0
|
/sys/devices/virtual/input/input[0-9]+/xtalk u:object_r:vendor_sysfs_laser:s0
|
||||||
|
|
||||||
|
# Charger
|
||||||
|
/data/vendor/chargeonly(/.*)? u:object_r:chargeonly_data_file:s0
|
||||||
|
/(mnt/vendor/persist|persist)/chargeonly(/.*)? u:object_r:persist_chargeonly_file:s0
|
||||||
|
/(vendor|system/vendor)/bin/charge_only_mode u:object_r:charge_only_exec:s0
|
||||||
|
|
||||||
# Fingerprint
|
# Fingerprint
|
||||||
/(mnt/vendor/persist|persist)/fps(/.*)? u:object_r:vendor_persist_fps_file:s0
|
/(mnt/vendor/persist|persist)/fps(/.*)? u:object_r:vendor_persist_fps_file:s0
|
||||||
/(vendor|system/vendor)/bin/fpc_ident u:object_r:hal_fingerprint_default_exec:s0
|
/(vendor|system/vendor)/bin/fpc_ident u:object_r:hal_fingerprint_default_exec:s0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user