Pierre-Hugues Husson | f181109 | 2018-04-10 18:33:33 +0200 | [diff] [blame] | 1 | #!/system/bin/sh |
| 2 | |
Pierre-Hugues Husson | f181109 | 2018-04-10 18:33:33 +0200 | [diff] [blame] | 3 | |
Pierre-Hugues Husson | 7b9dbae | 2018-09-17 14:04:50 +0200 | [diff] [blame] | 4 | vndk="$(getprop persist.sys.vndk)" |
Pierre-Hugues Husson | ce6b1ef | 2018-08-16 14:59:26 +0200 | [diff] [blame] | 5 | setprop sys.usb.ffs.aio_compat true |
Pierre-Hugues Husson | bd42bde | 2018-08-14 20:02:34 +0200 | [diff] [blame] | 6 | |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 7 | fixSPL() { |
Pierre-Hugues Husson | b139f72 | 2018-05-19 16:54:30 +0200 | [diff] [blame] | 8 | if [ "$(getprop ro.product.cpu.abi)" == "armeabi-v7a" ];then |
| 9 | setprop ro.keymaster.mod 'AOSP on ARM32' |
| 10 | else |
| 11 | setprop ro.keymaster.mod 'AOSP on ARM64' |
| 12 | fi |
Pierre-Hugues Husson | c09149f | 2018-06-08 19:13:08 +0200 | [diff] [blame] | 13 | img="$(find /dev/block -type l -name kernel$(getprop ro.boot.slot_suffix) |grep by-name |head -n 1)" |
| 14 | [ -z "$img" ] && img="$(find /dev/block -type l -name boot$(getprop ro.boot.slot_suffix) |grep by-name |head -n 1)" |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 15 | if [ -n "$img" ];then |
| 16 | #Rewrite SPL/Android version if needed |
| 17 | Arelease="$(getSPL $img android)" |
Pierre-Hugues Husson | b139f72 | 2018-05-19 16:54:30 +0200 | [diff] [blame] | 18 | setprop ro.keymaster.xxx.release "$Arelease" |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 19 | setprop ro.keymaster.xxx.security_patch "$(getSPL $img spl)" |
| 20 | |
Pierre-Hugues Husson | b0b9e33 | 2018-08-20 21:10:00 +0200 | [diff] [blame] | 21 | for f in /vendor/lib64/hw/android.hardware.keymaster@3.0-impl-qti.so /vendor/lib/hw/android.hardware.keymaster@3.0-impl-qti.so /system/lib64/vndk-26/libsoftkeymasterdevice.so /vendor/bin/teed /system/lib64/vndk/libsoftkeymasterdevice.so /system/lib/vndk/libsoftkeymasterdevice.so /system/lib/vndk-26/libsoftkeymasterdevice.so;do |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 22 | [ ! -f $f ] && continue |
Pierre-Hugues Husson | b139f72 | 2018-05-19 16:54:30 +0200 | [diff] [blame] | 23 | ctxt="$(ls -lZ $f |grep -oE 'u:object_r:[^:]*:s0')" |
Pierre-Hugues Husson | 47ab64b | 2018-05-26 11:26:33 +0200 | [diff] [blame] | 24 | b="$(echo "$f"|tr / _)" |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 25 | |
Pierre-Hugues Husson | b139f72 | 2018-05-19 16:54:30 +0200 | [diff] [blame] | 26 | cp -a $f /mnt/phh/$b |
| 27 | sed -i \ |
| 28 | -e 's/ro.build.version.release/ro.keymaster.xxx.release/g' \ |
| 29 | -e 's/ro.build.version.security_patch/ro.keymaster.xxx.security_patch/g' \ |
| 30 | -e 's/ro.product.model/ro.keymaster.mod/g' \ |
| 31 | /mnt/phh/$b |
| 32 | chcon "$ctxt" /mnt/phh/$b |
| 33 | mount -o bind /mnt/phh/$b $f |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 34 | done |
Pierre-Hugues Husson | 1b5659b | 2018-05-19 18:43:25 +0200 | [diff] [blame] | 35 | if [ "$(getprop init.svc.keymaster-3-0)" == "running" ];then |
| 36 | setprop ctl.restart keymaster-3-0 |
| 37 | fi |
| 38 | if [ "$(getprop init.svc.teed)" == "running" ];then |
| 39 | setprop ctl.restart teed |
| 40 | fi |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 41 | fi |
| 42 | } |
| 43 | |
Pierre-Hugues Husson | 0837da3 | 2018-09-03 14:58:11 +0200 | [diff] [blame] | 44 | changeKeylayout() { |
| 45 | cp -a /system/usr/keylayout /mnt/phh/keylayout |
| 46 | changed=false |
| 47 | |
| 48 | if getprop ro.vendor.build.fingerprint | \ |
| 49 | grep -qE -e ".*(crown|star)[q2]*lte.*" -e ".*(SC-0[23]K|SCV3[89]).*";then |
| 50 | changed=true |
| 51 | |
| 52 | cp /system/phh/samsung-gpio_keys.kl /mnt/phh/keylayout/gpio_keys.kl |
| 53 | cp /system/phh/samsung-sec_touchscreen.kl /mnt/phh/keylayout/sec_touchscreen.kl |
| 54 | chmod 0644 /mnt/phh/keylayout/gpio_keys.kl /mnt/phh/keylayout/sec_touchscreen.kl |
| 55 | fi |
| 56 | |
suwakowww | 99b8784 | 2018-10-03 23:23:43 +0800 | [diff] [blame] | 57 | if getprop ro.vendor.build.fingerprint |grep -iq -e xiaomi/polaris -e xiaomi/sirius -e xiaomi/dipper -e xiaomi/wayne -e xiaomi/jasmine;then |
Pierre-Hugues Husson | 3c5243f | 2018-09-03 15:06:54 +0200 | [diff] [blame] | 58 | cp /system/phh/empty /mnt/phh/keylayout/uinput-goodix.kl |
| 59 | chmod 0644 /mnt/phh/keylayout/uinput-goodix.kl |
Asureus | c2cff2e | 2018-10-07 18:14:58 +0800 | [diff] [blame] | 60 | cp /system/phh/empty /mnt/phh/keylayout/uinput-fpc.kl |
| 61 | chmod 0644 /mnt/phh/keylayout/uinput-fpc.kl |
Pierre-Hugues Husson | 3c5243f | 2018-09-03 15:06:54 +0200 | [diff] [blame] | 62 | changed=true |
| 63 | fi |
| 64 | |
Pierre-Hugues Husson | 02013f1 | 2018-10-08 22:39:42 +0200 | [diff] [blame] | 65 | if getprop ro.vendor.build.fingerprint |grep -qi oneplus/oneplus6/oneplus6;then |
Pierre-Hugues Husson | 1643f08 | 2018-09-10 00:32:11 +0200 | [diff] [blame] | 66 | cp /system/phh/oneplus6-synaptics_s3320.kl /mnt/phh/keylayout/synaptics_s3320.kl |
| 67 | chmod 0644 /mnt/phh/keylayout/synaptics_s3320.kl |
| 68 | changed=true |
| 69 | fi |
| 70 | |
Pierre-Hugues Husson | 0837da3 | 2018-09-03 14:58:11 +0200 | [diff] [blame] | 71 | if [ "$changed" == true ];then |
| 72 | mount -o bind /mnt/phh/keylayout /system/usr/keylayout |
| 73 | restorecon -R /system/usr/keylayout |
| 74 | fi |
| 75 | } |
| 76 | |
Pierre-Hugues Husson | 16ea168 | 2018-04-15 19:19:47 +0200 | [diff] [blame] | 77 | if mount -o remount,rw /system;then |
Pierre-Hugues Husson | a70b269 | 2018-05-19 22:07:12 +0200 | [diff] [blame] | 78 | resize2fs $(grep ' /system ' /proc/mounts |cut -d ' ' -f 1) || true |
Pierre-Hugues Husson | 16ea168 | 2018-04-15 19:19:47 +0200 | [diff] [blame] | 79 | elif mount -o remount,rw /;then |
Pierre-Hugues Husson | a70b269 | 2018-05-19 22:07:12 +0200 | [diff] [blame] | 80 | resize2fs /dev/root || true |
Pierre-Hugues Husson | 16ea168 | 2018-04-15 19:19:47 +0200 | [diff] [blame] | 81 | fi |
Pierre-Hugues Husson | a70b269 | 2018-05-19 22:07:12 +0200 | [diff] [blame] | 82 | mount -o remount,ro /system || true |
| 83 | mount -o remount,ro / || true |
Pierre-Hugues Husson | 520fea1 | 2018-04-24 22:36:59 +0200 | [diff] [blame] | 84 | |
Pierre-Hugues Husson | af30131 | 2018-08-29 18:30:35 +0200 | [diff] [blame] | 85 | mkdir -p /mnt/phh/ |
| 86 | mount -t tmpfs -o rw,nodev,relatime,mode=755,gid=0 none /mnt/phh || true |
Pierre-Hugues Husson | 7697771 | 2018-09-04 19:35:16 +0200 | [diff] [blame] | 87 | mkdir /mnt/phh/empty_dir |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 88 | fixSPL |
Pierre-Hugues Husson | 520fea1 | 2018-04-24 22:36:59 +0200 | [diff] [blame] | 89 | |
Pierre-Hugues Husson | 0837da3 | 2018-09-03 14:58:11 +0200 | [diff] [blame] | 90 | changeKeylayout |
| 91 | |
Pierre-Hugues Husson | 29622ec | 2018-04-30 13:56:06 +0200 | [diff] [blame] | 92 | if grep vendor.huawei.hardware.biometrics.fingerprint /vendor/manifest.xml;then |
| 93 | mount -o bind system/phh/huawei/fingerprint.kl /vendor/usr/keylayout/fingerprint.kl |
| 94 | fi |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 95 | |
Pierre-Hugues Husson | bf88632 | 2018-05-18 15:09:30 +0200 | [diff] [blame] | 96 | if ! grep android.hardware.biometrics.fingerprint /vendor/manifest.xml;then |
| 97 | mount -o bind system/phh/empty /system/etc/permissions/android.hardware.fingerprint.xml |
| 98 | fi |
| 99 | |
Pierre-Hugues Husson | 19ce226 | 2018-06-10 22:54:14 +0200 | [diff] [blame] | 100 | if getprop ro.hardware |grep -qF qcom && [ -f /sys/class/backlight/panel0-backlight/max_brightness ] && \ |
| 101 | grep -qvE '^255$' /sys/class/backlight/panel0-backlight/max_brightness;then |
| 102 | setprop persist.sys.qcom-brightness $(cat /sys/class/backlight/panel0-backlight/max_brightness) |
| 103 | fi |
Pierre-Hugues Husson | c9b1391 | 2018-06-15 15:03:02 +0200 | [diff] [blame] | 104 | |
Pierre-Hugues Husson | 02013f1 | 2018-10-08 22:39:42 +0200 | [diff] [blame] | 105 | if getprop ro.vendor.build.fingerprint |grep -qi oneplus/oneplus6/oneplus6;then |
Pierre-Hugues Husson | c9b1391 | 2018-06-15 15:03:02 +0200 | [diff] [blame] | 106 | resize2fs /dev/block/platform/soc/1d84000.ufshc/by-name/userdata |
| 107 | fi |
Pierre-Hugues Husson | 18fb7ed | 2018-07-01 23:00:28 +0200 | [diff] [blame] | 108 | |
Pierre-Hugues Husson | 361aedf | 2018-07-02 00:22:27 +0200 | [diff] [blame] | 109 | if getprop ro.vendor.build.fingerprint |grep -q full_k50v1_64 || getprop ro.hardware |grep -q mt6580 ;then |
Pierre-Hugues Husson | 18fb7ed | 2018-07-01 23:00:28 +0200 | [diff] [blame] | 110 | setprop persist.sys.overlay.nightmode false |
| 111 | fi |
Pierre-Hugues Husson | 3711fd5 | 2018-07-01 23:06:11 +0200 | [diff] [blame] | 112 | |
Pierre-Hugues Husson | 361aedf | 2018-07-02 00:22:27 +0200 | [diff] [blame] | 113 | if getprop ro.wlan.mtk.wifi.5g |grep -q 1;then |
Pierre-Hugues Husson | 3711fd5 | 2018-07-01 23:06:11 +0200 | [diff] [blame] | 114 | setprop persist.sys.overlay.wifi5g true |
| 115 | fi |
Pierre-Hugues Husson | bb82498 | 2018-07-17 18:02:41 +0200 | [diff] [blame] | 116 | |
| 117 | if grep -qF 'mkdir /data/.fps 0770 system fingerp' vendor/etc/init/hw/init.mmi.rc;then |
| 118 | mkdir -p /data/.fps |
| 119 | chmod 0770 /data/.fps |
| 120 | chown system:9015 /data/.fps |
| 121 | |
| 122 | chown system:9015 /sys/devices/soc/soc:fpc_fpc1020/irq |
| 123 | chown system:9015 /sys/devices/soc/soc:fpc_fpc1020/irq_cnt |
| 124 | fi |
Pierre-Hugues Husson | 72d2830 | 2018-08-27 10:25:27 +0200 | [diff] [blame] | 125 | |
Pierre-Hugues Husson | fd319f9 | 2018-09-04 20:16:14 +0200 | [diff] [blame] | 126 | if getprop ro.vendor.build.fingerprint |grep -q -e Xiaomi/clover/clover -e iaomi/wayne/wayne;then |
Pierre-Hugues Husson | dff2a04 | 2018-08-29 16:34:14 +0200 | [diff] [blame] | 127 | setprop persist.sys.qcom-brightness $(cat /sys/class/leds/lcd-backlight/max_brightness) |
| 128 | fi |
| 129 | |
Pierre-Hugues Husson | 15dd6ce | 2018-10-05 23:03:48 +0200 | [diff] [blame] | 130 | if getprop ro.vendor.build.fingerprint |grep -q \ |
| 131 | -e Xiaomi/beryllium/beryllium -e Xiaomi/sirius/sirius \ |
| 132 | -e Xiaomi/dipper/dipper -e Xiaomi/ursa/ursa -e Xiaomi/polaris/polaris \ |
| 133 | -e motorola/ali/ali ;then |
Alessandro Eppacher | cae8259 | 2018-09-07 23:35:40 -0400 | [diff] [blame] | 134 | mount -o bind /mnt/phh/empty_dir /vendor/lib64/soundfx |
| 135 | mount -o bind /mnt/phh/empty_dir /vendor/lib/soundfx |
Pierre-Hugues Husson | 7697771 | 2018-09-04 19:35:16 +0200 | [diff] [blame] | 136 | fi |
| 137 | |
suwakowww | 40cd1b1 | 2018-09-26 18:01:10 +0800 | [diff] [blame] | 138 | if getprop ro.vendor.build.fingerprint |grep -q -i -e xiaomi/wayne -e xiaomi/jasmine;then |
| 139 | setprop persist.imx376_sunny.low.lux 310 |
| 140 | setprop persist.imx376_sunny.light.lux 280 |
| 141 | setprop persist.imx376_ofilm.low.lux 310 |
| 142 | setprop persist.imx376_ofilm.light.lux 280 |
| 143 | fi |
| 144 | |
Pierre-Hugues Husson | 4e60e72 | 2018-11-06 20:28:18 +0100 | [diff] [blame] | 145 | for f in /vendor/lib/mtk-ril.so /vendor/lib64/mtk-ril.so /vendor/lib/libmtk-ril.so /vendor/lib64/libmtk-ril.so;do |
Pierre-Hugues Husson | af30131 | 2018-08-29 18:30:35 +0200 | [diff] [blame] | 146 | [ ! -f $f ] && continue |
| 147 | ctxt="$(ls -lZ $f |grep -oE 'u:object_r:[^:]*:s0')" |
| 148 | b="$(echo "$f"|tr / _)" |
| 149 | |
| 150 | cp -a $f /mnt/phh/$b |
| 151 | sed -i \ |
| 152 | -e 's/AT+EAIC=2/AT+EAIC=3/g' \ |
| 153 | /mnt/phh/$b |
| 154 | chcon "$ctxt" /mnt/phh/$b |
| 155 | mount -o bind /mnt/phh/$b $f |
| 156 | done |
| 157 | |
Pierre-Hugues Husson | 72d2830 | 2018-08-27 10:25:27 +0200 | [diff] [blame] | 158 | mount -o bind /system/phh/empty /vendor/overlay/SysuiDarkTheme/SysuiDarkTheme.apk || true |
Pablo | 1af3935 | 2018-09-28 19:21:03 +0200 | [diff] [blame] | 159 | mount -o bind /system/phh/empty /vendor/overlay/SysuiDarkTheme/SysuiDarkThemeOverlay.apk || true |
Pierre-Hugues Husson | 7697771 | 2018-09-04 19:35:16 +0200 | [diff] [blame] | 160 | |
Pierre-Hugues Husson | 4e60e72 | 2018-11-06 20:28:18 +0100 | [diff] [blame] | 161 | if grep -qF 'PowerVR Rogue GE8100' /vendor/lib/egl/GLESv1_CM_mtk.so || grep -qF 'PowerVR Rogue' /vendor/lib/egl/libGLESv1_CM_mtk.so;then |
Pierre-Hugues Husson | d839d5e | 2018-09-06 20:46:30 +0200 | [diff] [blame] | 162 | setprop debug.hwui.renderer opengl |
| 163 | fi |
Pierre-Hugues Husson | 7697771 | 2018-09-04 19:35:16 +0200 | [diff] [blame] | 164 | |
Pierre-Hugues Husson | 570d888 | 2018-09-09 21:38:33 +0200 | [diff] [blame] | 165 | #If we have both Samsung and AOSP power hal, take Samsung's |
| 166 | if [ -f /vendor/bin/hw/vendor.samsung.hardware.miscpower@1.0-service ];then |
| 167 | mount -o bind /system/phh/empty /vendor/bin/hw/android.hardware.power@1.0-service |
| 168 | fi |
Pierre-Hugues Husson | 7b9dbae | 2018-09-17 14:04:50 +0200 | [diff] [blame] | 169 | |
| 170 | if [ "$vndk" == 27 -o "$vndk" == 26 ];then |
| 171 | mount -o bind /system/phh/libnfc-nci-oreo.conf /system/etc/libnfc-nci.conf |
| 172 | fi |
Pierre-Hugues Husson | 4d05de5 | 2018-09-17 16:18:55 +0200 | [diff] [blame] | 173 | |
| 174 | if busybox_phh unzip -p /vendor/app/ims/ims.apk classes.dex |grep -qF -e Landroid/telephony/ims/feature/MmTelFeature -e Landroid/telephony/ims/feature/MMTelFeature;then |
| 175 | mount -o bind /system/phh/empty /vendor/app/ims/ims.apk |
| 176 | fi |
Pierre-Hugues Husson | 8f5b0a1 | 2018-11-04 23:36:25 +0100 | [diff] [blame] | 177 | |
| 178 | if getprop ro.hardware |grep -qF samsungexynos;then |
| 179 | setprop debug.sf.latch_unsignaled 1 |
| 180 | fi |
Pierre-Hugues Husson | ece7f3e | 2018-11-06 20:40:56 +0100 | [diff] [blame] | 181 | |
Yunus İşleyen | 532c1e8 | 2018-11-08 21:09:31 +0300 | [diff] [blame] | 182 | if getprop ro.product.model |grep -qF ANE;then |
| 183 | setprop debug.sf.latch_unsignaled 1 |
| 184 | fi |
| 185 | |
Pierre-Hugues Husson | ece7f3e | 2018-11-06 20:40:56 +0100 | [diff] [blame] | 186 | if getprop ro.vendor.build.fingerprint | grep -qE -e ".*(crown|star)[q2]*lte.*" -e ".*(SC-0[23]K|SCV3[89]).*";then |
| 187 | for f in /vendor/lib/libfloatingfeature.so /vendor/lib64/libfloatingfeature.so;do |
| 188 | [ ! -f $f ] && continue |
| 189 | ctxt="$(ls -lZ $f |grep -oE 'u:object_r:[^:]*:s0')" |
| 190 | b="$(echo "$f"|tr / _)" |
| 191 | |
| 192 | cp -a $f /mnt/phh/$b |
| 193 | sed -i \ |
| 194 | -e 's;/system/etc/floating_feature.xml;/system/ph/sam-9810-flo_feat.xml;g' \ |
| 195 | /mnt/phh/$b |
| 196 | chcon "$ctxt" /mnt/phh/$b |
| 197 | mount -o bind /mnt/phh/$b $f |
| 198 | done |
| 199 | fi |