├── empty
├── files
├── samsung-sec_e-pen.idc
├── sony-gpio-keys.kl
├── huawei-fingerprint.kl
├── adbd.rc
├── samsung-9810-floating_feature.xml
├── samsung-gpio_keys.kl
├── oneplus6-synaptics_s3320.kl
├── samsung-sec_touchscreen.kl
└── mimix3-gpio-keys.kl
├── .gitignore
├── sepolicy
├── huawei.te
├── hardware_overlay.te
├── genfs_contexts
├── samsung.te
├── service_contexts
├── vold.te
├── hostapd.te
├── board_properties.te
├── bootanim.te
├── init.te
├── treble_app.te
├── file_contexts
├── vndk_detect.te
├── qualcomm.te
└── su.te
├── su
├── su.rc
├── su
└── Android.mk
├── empty-permission.xml
├── README
├── fixSPL
├── getSPL.arm
└── getSPL.c
├── twrp
├── busybox-armv7l
├── twrp.rc
└── twrp.sh
├── base-pre.mk
├── rr.mk
├── huawei_charger
└── files
│ ├── 1080x1920
│ ├── bg.png
│ ├── empty_charge.png
│ └── full_charge.png
│ ├── 1080x2160
│ ├── bg.png
│ ├── empty_charge.png
│ └── full_charge.png
│ ├── 1080x2280
│ ├── bg.png
│ ├── empty_charge.png
│ └── full_charge.png
│ ├── 1200x1920
│ ├── bg.png
│ ├── number_0.png
│ ├── number_1.png
│ ├── number_2.png
│ ├── number_3.png
│ ├── number_4.png
│ ├── number_5.png
│ ├── number_6.png
│ ├── number_7.png
│ ├── number_8.png
│ ├── number_9.png
│ ├── battery_01.png
│ ├── battery_02.png
│ ├── battery_03.png
│ ├── battery_04.png
│ ├── battery_05.png
│ ├── battery_06.png
│ ├── battery_07.png
│ ├── battery_08.png
│ ├── battery_09.png
│ ├── charging_12.png
│ ├── cur_surface.png
│ ├── empty_charge.png
│ ├── full_charge.png
│ ├── percent_sign.png
│ └── scp_charging_12.png
│ ├── 1440x2560
│ ├── bg.png
│ ├── empty_charge.png
│ └── full_charge.png
│ ├── 1600x2560
│ ├── bg.png
│ ├── number_0.png
│ ├── number_1.png
│ ├── number_2.png
│ ├── number_3.png
│ ├── number_4.png
│ ├── number_5.png
│ ├── number_6.png
│ ├── number_7.png
│ ├── number_8.png
│ ├── number_9.png
│ ├── battery_01.png
│ ├── battery_02.png
│ ├── battery_03.png
│ ├── battery_04.png
│ ├── battery_05.png
│ ├── battery_06.png
│ ├── battery_07.png
│ ├── battery_08.png
│ ├── battery_09.png
│ ├── charging_12.png
│ ├── cur_surface.png
│ ├── empty_charge.png
│ ├── full_charge.png
│ ├── percent_sign.png
│ ├── fcp_charging_12.png
│ └── scp_charging_12.png
│ ├── 720x1280
│ ├── bg.png
│ ├── empty_charge.png
│ └── full_charge.png
│ ├── 720x1440
│ ├── bg.png
│ ├── empty_charge.png
│ └── full_charge.png
│ └── 800x1280
│ ├── bg.png
│ ├── number_0.png
│ ├── number_1.png
│ ├── number_2.png
│ ├── number_3.png
│ ├── number_4.png
│ ├── number_5.png
│ ├── number_6.png
│ ├── number_7.png
│ ├── number_8.png
│ ├── number_9.png
│ ├── battery_01.png
│ ├── battery_02.png
│ ├── battery_03.png
│ ├── battery_04.png
│ ├── battery_05.png
│ ├── battery_06.png
│ ├── battery_07.png
│ ├── battery_08.png
│ ├── battery_09.png
│ ├── charging_12.png
│ ├── cur_surface.png
│ ├── empty_charge.png
│ ├── full_charge.png
│ └── percent_sign.png
├── gapps-go.mk
├── lineage.mk
├── environ
├── init.treble-environ.rc
└── Android.mk
├── havoc.mk
├── system.prop
├── cmds
├── mtk-sms-fwk-ready.rc
├── mtk-sms-fwk-ready.cpp
├── op-fp.cpp
├── xiaomi-fp.cpp
├── xiaomi-display-feature.cpp
├── vibrator-lge.cpp
├── Android.bp
├── uevent.cpp
├── lightsctl.cpp
├── lightsctl-sec.cpp
└── simg2img_simple.cpp
├── aex.mk
├── phhgsi_arm64_a
└── BoardConfig.mk
├── phhgsi_arm_a
└── BoardConfig.mk
├── phhgsi_arm_ab
└── BoardConfig.mk
├── phhgsi_arm64_ab
└── BoardConfig.mk
├── board-base.mk
├── phhgsi_a64_a
└── BoardConfig.mk
├── framework_manifest.xml
├── carbon.mk
├── overlay
├── packages
│ └── apps
│ │ └── overlays
│ │ └── NoCutoutOverlay
│ │ ├── Android.mk
│ │ ├── res
│ │ ├── values-am
│ │ │ └── strings.xml
│ │ ├── values-ar
│ │ │ └── strings.xml
│ │ ├── values-bn
│ │ │ └── strings.xml
│ │ ├── values-ca
│ │ │ └── strings.xml
│ │ ├── values-cs
│ │ │ └── strings.xml
│ │ ├── values-da
│ │ │ └── strings.xml
│ │ ├── values-et
│ │ │ └── strings.xml
│ │ ├── values-is
│ │ │ └── strings.xml
│ │ ├── values-iw
│ │ │ └── strings.xml
│ │ ├── values-ja
│ │ │ └── strings.xml
│ │ ├── values-km
│ │ │ └── strings.xml
│ │ ├── values-ko
│ │ │ └── strings.xml
│ │ ├── values-mn
│ │ │ └── strings.xml
│ │ ├── values-mr
│ │ │ └── strings.xml
│ │ ├── values-nb
│ │ │ └── strings.xml
│ │ ├── values-pa
│ │ │ └── strings.xml
│ │ ├── values-pl
│ │ │ └── strings.xml
│ │ ├── values-sk
│ │ │ └── strings.xml
│ │ ├── values-sq
│ │ │ └── strings.xml
│ │ ├── values-sv
│ │ │ └── strings.xml
│ │ ├── values-sw
│ │ │ └── strings.xml
│ │ ├── values-ta
│ │ │ └── strings.xml
│ │ ├── values-th
│ │ │ └── strings.xml
│ │ ├── values-tl
│ │ │ └── strings.xml
│ │ ├── values-tr
│ │ │ └── strings.xml
│ │ ├── values-vi
│ │ │ └── strings.xml
│ │ ├── values-zu
│ │ │ └── strings.xml
│ │ ├── values-af
│ │ │ └── strings.xml
│ │ ├── values-as
│ │ │ └── strings.xml
│ │ ├── values-az
│ │ │ └── strings.xml
│ │ ├── values-be
│ │ │ └── strings.xml
│ │ ├── values-bg
│ │ │ └── strings.xml
│ │ ├── values-bs
│ │ │ └── strings.xml
│ │ ├── values-de
│ │ │ └── strings.xml
│ │ ├── values-el
│ │ │ └── strings.xml
│ │ ├── values-en-rAU
│ │ │ └── strings.xml
│ │ ├── values-en-rCA
│ │ │ └── strings.xml
│ │ ├── values-en-rGB
│ │ │ └── strings.xml
│ │ ├── values-en-rIN
│ │ │ └── strings.xml
│ │ ├── values-es
│ │ │ └── strings.xml
│ │ ├── values-eu
│ │ │ └── strings.xml
│ │ ├── values-fa
│ │ │ └── strings.xml
│ │ ├── values-fi
│ │ │ └── strings.xml
│ │ ├── values-fr
│ │ │ └── strings.xml
│ │ ├── values-gl
│ │ │ └── strings.xml
│ │ ├── values-gu
│ │ │ └── strings.xml
│ │ ├── values-hi
│ │ │ └── strings.xml
│ │ ├── values-hr
│ │ │ └── strings.xml
│ │ ├── values-hu
│ │ │ └── strings.xml
│ │ ├── values-hy
│ │ │ └── strings.xml
│ │ ├── values-it
│ │ │ └── strings.xml
│ │ ├── values-ka
│ │ │ └── strings.xml
│ │ ├── values-kk
│ │ │ └── strings.xml
│ │ ├── values-kn
│ │ │ └── strings.xml
│ │ ├── values-ky
│ │ │ └── strings.xml
│ │ ├── values-lo
│ │ │ └── strings.xml
│ │ ├── values-lt
│ │ │ └── strings.xml
│ │ ├── values-lv
│ │ │ └── strings.xml
│ │ ├── values-mk
│ │ │ └── strings.xml
│ │ ├── values-ml
│ │ │ └── strings.xml
│ │ ├── values-my
│ │ │ └── strings.xml
│ │ ├── values-nl
│ │ │ └── strings.xml
│ │ ├── values-or
│ │ │ └── strings.xml
│ │ ├── values-pt
│ │ │ └── strings.xml
│ │ ├── values-ro
│ │ │ └── strings.xml
│ │ ├── values-ru
│ │ │ └── strings.xml
│ │ ├── values-si
│ │ │ └── strings.xml
│ │ ├── values-sl
│ │ │ └── strings.xml
│ │ ├── values-sr
│ │ │ └── strings.xml
│ │ ├── values-te
│ │ │ └── strings.xml
│ │ ├── values-uk
│ │ │ └── strings.xml
│ │ ├── values-ur
│ │ │ └── strings.xml
│ │ ├── values-uz
│ │ │ └── strings.xml
│ │ ├── values-zh-rCN
│ │ │ └── strings.xml
│ │ ├── values-zh-rHK
│ │ │ └── strings.xml
│ │ ├── values-zh-rTW
│ │ │ └── strings.xml
│ │ ├── values-b+sr+Latn
│ │ │ └── strings.xml
│ │ ├── values-es-rUS
│ │ │ └── strings.xml
│ │ ├── values-fr-rCA
│ │ │ └── strings.xml
│ │ ├── values-in
│ │ │ └── strings.xml
│ │ ├── values-ms
│ │ │ └── strings.xml
│ │ ├── values-ne
│ │ │ └── strings.xml
│ │ ├── values-pt-rBR
│ │ │ └── strings.xml
│ │ ├── values-pt-rPT
│ │ │ └── strings.xml
│ │ ├── values-land
│ │ │ └── config.xml
│ │ ├── values
│ │ │ ├── strings.xml
│ │ │ └── config.xml
│ │ └── values-en-rXC
│ │ │ └── strings.xml
│ │ └── AndroidManifest.xml
└── frameworks
│ └── base
│ ├── packages
│ └── SystemUI
│ │ └── res
│ │ └── values
│ │ └── dimens.xml
│ └── core
│ └── res
│ └── res
│ └── values
│ └── config.xml
├── vndk.rc
├── overlay-gapps
└── frameworks
│ └── base
│ └── core
│ └── res
│ └── res
│ └── values
│ └── config.xml
├── interfaces.xml
├── phh-on-boot.sh
├── gapps.mk
├── vndk-detect
├── bluetooth
└── bdroid_buildcfg.h
├── generate.sh
├── base.mk
├── ld.config.27.txt
└── ld.config.26.txt
/empty:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/files/samsung-sec_e-pen.idc:
--------------------------------------------------------------------------------
1 | touch.orientationAware = 1
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .*.swp
2 | treble_*mk
3 | AndroidProducts.mk
4 |
--------------------------------------------------------------------------------
/sepolicy/huawei.te:
--------------------------------------------------------------------------------
1 | allow ueventd proc:file r_file_perms;
2 |
--------------------------------------------------------------------------------
/su/su.rc:
--------------------------------------------------------------------------------
1 | service sudaemon /system/bin/phh-su --daemon
2 | class main
3 |
--------------------------------------------------------------------------------
/empty-permission.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/sepolicy/hardware_overlay.te:
--------------------------------------------------------------------------------
1 | allow priv_app overlay_service:service_manager find;
2 |
--------------------------------------------------------------------------------
/su/su:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/su/su
--------------------------------------------------------------------------------
/sepolicy/genfs_contexts:
--------------------------------------------------------------------------------
1 | genfscon sysfs /board_properties u:object_r:sysfs_board_properties:s0
2 |
--------------------------------------------------------------------------------
/sepolicy/samsung.te:
--------------------------------------------------------------------------------
1 | type boot_prop, property_type;
2 |
3 | set_prop(system_server, boot_prop);
4 |
5 |
--------------------------------------------------------------------------------
/README:
--------------------------------------------------------------------------------
1 | You'll need to call generate.sh in this folder to generate the Makefiles to build the Treble targets
2 |
--------------------------------------------------------------------------------
/files/sony-gpio-keys.kl:
--------------------------------------------------------------------------------
1 | key 114 VOLUME_DOWN
2 | key 115 VOLUME_UP
3 |
4 | key 528 FOCUS
5 | key 766 CAMERA
6 |
--------------------------------------------------------------------------------
/fixSPL/getSPL.arm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/fixSPL/getSPL.arm
--------------------------------------------------------------------------------
/sepolicy/service_contexts:
--------------------------------------------------------------------------------
1 | qti.ims.ext u:object_r:radio_service:s0
2 |
--------------------------------------------------------------------------------
/sepolicy/vold.te:
--------------------------------------------------------------------------------
1 | allow vold system_data_file:lnk_file { unlink };
2 | allow mediaextractor sdcard_type:file read;
3 |
--------------------------------------------------------------------------------
/twrp/busybox-armv7l:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/twrp/busybox-armv7l
--------------------------------------------------------------------------------
/base-pre.mk:
--------------------------------------------------------------------------------
1 | #Use a more decent APN config
2 | PRODUCT_COPY_FILES += \
3 | device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
4 |
--------------------------------------------------------------------------------
/rr.mk:
--------------------------------------------------------------------------------
1 | $(call inherit-product, vendor/rr/config/common_full_phone.mk)
2 | $(call inherit-product, device/rr/sepolicy/common/sepolicy.mk)
3 |
--------------------------------------------------------------------------------
/huawei_charger/files/1080x1920/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1080x1920/bg.png
--------------------------------------------------------------------------------
/huawei_charger/files/1080x2160/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1080x2160/bg.png
--------------------------------------------------------------------------------
/huawei_charger/files/1080x2280/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1080x2280/bg.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/bg.png
--------------------------------------------------------------------------------
/huawei_charger/files/1440x2560/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1440x2560/bg.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/bg.png
--------------------------------------------------------------------------------
/huawei_charger/files/720x1280/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/720x1280/bg.png
--------------------------------------------------------------------------------
/huawei_charger/files/720x1440/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/720x1440/bg.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/bg.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/number_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/number_0.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/number_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/number_1.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/number_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/number_2.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/number_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/number_3.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/number_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/number_4.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/number_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/number_5.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/number_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/number_6.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/number_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/number_7.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/number_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/number_8.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/number_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/number_9.png
--------------------------------------------------------------------------------
/sepolicy/hostapd.te:
--------------------------------------------------------------------------------
1 | type hostapd, domain;
2 |
3 | allow hostapd wifi_data_file:dir create_dir_perms;
4 | allow hostapd wifi_data_file:file create_file_perms;
5 |
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/number_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/number_0.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/number_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/number_1.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/number_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/number_2.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/number_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/number_3.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/number_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/number_4.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/number_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/number_5.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/number_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/number_6.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/number_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/number_7.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/number_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/number_8.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/number_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/number_9.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/number_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/number_0.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/number_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/number_1.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/number_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/number_2.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/number_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/number_3.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/number_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/number_4.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/number_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/number_5.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/number_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/number_6.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/number_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/number_7.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/number_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/number_8.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/number_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/number_9.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/battery_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/battery_01.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/battery_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/battery_02.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/battery_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/battery_03.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/battery_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/battery_04.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/battery_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/battery_05.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/battery_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/battery_06.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/battery_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/battery_07.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/battery_08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/battery_08.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/battery_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/battery_09.png
--------------------------------------------------------------------------------
/huawei_charger/files/1080x1920/empty_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1080x1920/empty_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1080x1920/full_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1080x1920/full_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1080x2160/empty_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1080x2160/empty_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1080x2160/full_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1080x2160/full_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1080x2280/empty_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1080x2280/empty_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1080x2280/full_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1080x2280/full_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/battery_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/battery_01.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/battery_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/battery_02.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/battery_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/battery_03.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/battery_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/battery_04.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/battery_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/battery_05.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/battery_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/battery_06.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/battery_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/battery_07.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/battery_08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/battery_08.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/battery_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/battery_09.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/charging_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/charging_12.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/cur_surface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/cur_surface.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/empty_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/empty_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/full_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/full_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/percent_sign.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/percent_sign.png
--------------------------------------------------------------------------------
/huawei_charger/files/1440x2560/empty_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1440x2560/empty_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1440x2560/full_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1440x2560/full_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/battery_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/battery_01.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/battery_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/battery_02.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/battery_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/battery_03.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/battery_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/battery_04.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/battery_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/battery_05.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/battery_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/battery_06.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/battery_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/battery_07.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/battery_08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/battery_08.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/battery_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/battery_09.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/charging_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/charging_12.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/cur_surface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/cur_surface.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/empty_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/empty_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/full_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/full_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/percent_sign.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/percent_sign.png
--------------------------------------------------------------------------------
/huawei_charger/files/720x1280/empty_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/720x1280/empty_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/720x1280/full_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/720x1280/full_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/720x1440/empty_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/720x1440/empty_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/720x1440/full_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/720x1440/full_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/charging_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/charging_12.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/cur_surface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/cur_surface.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/empty_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/empty_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/full_charge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/full_charge.png
--------------------------------------------------------------------------------
/huawei_charger/files/800x1280/percent_sign.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/800x1280/percent_sign.png
--------------------------------------------------------------------------------
/gapps-go.mk:
--------------------------------------------------------------------------------
1 | DONT_DEXPREOPT_PREBUILTS := true
2 | $(call inherit-product, build/make/target/product/go_defaults.mk)
3 | $(call inherit-product, vendor/gapps-go/gapps-go.mk)
4 |
--------------------------------------------------------------------------------
/huawei_charger/files/1200x1920/scp_charging_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1200x1920/scp_charging_12.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/fcp_charging_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/fcp_charging_12.png
--------------------------------------------------------------------------------
/huawei_charger/files/1600x2560/scp_charging_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SuperiorOS-Devices/android_device_phh_treble/pie/huawei_charger/files/1600x2560/scp_charging_12.png
--------------------------------------------------------------------------------
/lineage.mk:
--------------------------------------------------------------------------------
1 | $(call inherit-product, vendor/lineage/config/common_full_phone.mk)
2 | -include vendor/lineage/build/core/config.mk
3 | -include vendor/lineage/build/core/apicheck.mk
4 |
--------------------------------------------------------------------------------
/environ/init.treble-environ.rc:
--------------------------------------------------------------------------------
1 | # set up the global environment
2 | on init
3 | export BOOTCLASSPATH %BOOTCLASSPATH%
4 | export SYSTEMSERVERCLASSPATH %SYSTEMSERVERCLASSPATH%
5 |
--------------------------------------------------------------------------------
/havoc.mk:
--------------------------------------------------------------------------------
1 | $(call inherit-product, vendor/havoc/config/common.mk)
2 | $(call inherit-product, device/havoc/sepolicy/common/sepolicy.mk)
3 | -include vendor/havoc/build/core/config.mk
4 |
--------------------------------------------------------------------------------
/system.prop:
--------------------------------------------------------------------------------
1 | ro.adb.secure=0
2 | #Some devices have sdcardfs kernel panicing on 8.0
3 | #Disable for everyone for the moment
4 | ro.sys.sdcardfs=0
5 | persist.sys.overlay.nightmode=true
6 |
--------------------------------------------------------------------------------
/twrp/twrp.rc:
--------------------------------------------------------------------------------
1 | on post-fs
2 | exec - root -- /system/bin/vndk-detect
3 | export LD_CONFIG_FILE /system/etc/ld.config.${persist.sys.vndk}.txt
4 | exec u:r:phhsu_daemon:s0 root -- /system/bin/twrp.sh
5 |
--------------------------------------------------------------------------------
/cmds/mtk-sms-fwk-ready.rc:
--------------------------------------------------------------------------------
1 | on property:sys.boot_completed=1
2 | exec u:r:phhsu_daemon:s0 root -- /system/bin/mtk-sms-fwk-ready slot1
3 | exec u:r:phhsu_daemon:s0 root -- /system/bin/mtk-sms-fwk-ready slot2
4 |
--------------------------------------------------------------------------------
/sepolicy/board_properties.te:
--------------------------------------------------------------------------------
1 | type sysfs_board_properties, fs_type, sysfs_type;
2 |
3 | allow system_server sysfs_board_properties:dir search;
4 | allow system_server sysfs_board_properties:file r_file_perms;
5 |
--------------------------------------------------------------------------------
/files/huawei-fingerprint.kl:
--------------------------------------------------------------------------------
1 | key 28 HOME VIRTUAL
2 | key 105 APP_SWITCH
3 | key 106 APP_SWITCH
4 | key 118 WAKEUP
5 | key 174 BACK
6 | key 108 SYSTEM_NAVIGATION_DOWN
7 | key 103 SYSTEM_NAVIGATION_UP
8 |
--------------------------------------------------------------------------------
/aex.mk:
--------------------------------------------------------------------------------
1 | $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
2 | $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
3 | $(call inherit-product, vendor/aosp/common.mk)
4 | TARGET_BOOT_ANIMATION_RES := 1080
5 |
--------------------------------------------------------------------------------
/su/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 |
5 | LOCAL_SRC_FILES := su
6 | LOCAL_MODULE := phh-su
7 | LOCAL_MODULE_CLASS := EXECUTABLES
8 |
9 | LOCAL_INIT_RC := su.rc
10 |
11 | include $(BUILD_PREBUILT)
12 |
--------------------------------------------------------------------------------
/phhgsi_arm64_a/BoardConfig.mk:
--------------------------------------------------------------------------------
1 | include build/make/target/board/generic_arm64_a/BoardConfig.mk
2 | include device/phh/treble/board-base.mk
3 |
4 | ifeq ($(BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE),)
5 | BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2147483648
6 | endif
7 |
--------------------------------------------------------------------------------
/phhgsi_arm_a/BoardConfig.mk:
--------------------------------------------------------------------------------
1 | include build/make/target/board/generic_arm_a/BoardConfig.mk
2 | include device/phh/treble/board-base.mk
3 |
4 | ifeq ($(BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE),)
5 | BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1313583104
6 | endif
7 |
--------------------------------------------------------------------------------
/phhgsi_arm_ab/BoardConfig.mk:
--------------------------------------------------------------------------------
1 | include build/make/target/board/generic_arm_ab/BoardConfig.mk
2 | include device/phh/treble/board-base.mk
3 |
4 | ifeq ($(BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE),)
5 | BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824
6 | endif
7 |
--------------------------------------------------------------------------------
/phhgsi_arm64_ab/BoardConfig.mk:
--------------------------------------------------------------------------------
1 | include build/make/target/board/generic_arm64_ab/BoardConfig.mk
2 | include device/phh/treble/board-base.mk
3 |
4 | ifeq ($(BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE),)
5 | BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2147483648
6 | endif
7 |
--------------------------------------------------------------------------------
/files/adbd.rc:
--------------------------------------------------------------------------------
1 | service adbd_system /system/bin/adbd --root_seclabel=u:r:su:s0
2 | class core
3 | socket adbd stream 660 system system
4 | disabled
5 | seclabel u:r:adbd:s0
6 |
7 | on property:sys.usb.state=adb && property:sys.phh.five=true
8 | start adbd_system
9 |
--------------------------------------------------------------------------------
/files/samsung-9810-floating_feature.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | TRUE
4 |
5 |
6 |
--------------------------------------------------------------------------------
/board-base.mk:
--------------------------------------------------------------------------------
1 | TARGET_SYSTEM_PROP := device/phh/treble/system.prop $(TARGET_SYSTEM_PROP)
2 | BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/phh/treble/bluetooth
3 | TARGET_EXFAT_DRIVER := exfat
4 | DEVICE_FRAMEWORK_MANIFEST_FILE := device/phh/treble/framework_manifest.xml
5 |
--------------------------------------------------------------------------------
/phhgsi_a64_a/BoardConfig.mk:
--------------------------------------------------------------------------------
1 | include build/make/target/board/generic_arm_a/BoardConfig.mk
2 | include device/phh/treble/board-base.mk
3 |
4 | ifeq ($(BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE),)
5 | BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1572864000
6 | endif
7 | TARGET_USES_64_BIT_BINDER := true
8 |
--------------------------------------------------------------------------------
/sepolicy/bootanim.te:
--------------------------------------------------------------------------------
1 | #11-14 21:15:02.748 477 477 I auditd : type=1400 audit(0.0:104): avc: denied { search } for comm="BootAnimation" name="dri" dev="tmpfs" ino=1108 scontext=u:r:bootanim:s0 tcontext=u:object_r:gpu_device:s0 tclass=dir permissive=0
2 | #Seen on some MTK devices
3 | allow bootanim gpu_device:dir r_dir_perms;
4 |
--------------------------------------------------------------------------------
/sepolicy/init.te:
--------------------------------------------------------------------------------
1 | #This is in Android 8.0, but not 8.1
2 | domain_trans(init, rootfs, adbd)
3 |
4 | #This is used on Huawei devices to f2fs data partition
5 | allow init userdata_block_device:blk_file relabelto;
6 | allow init userdata_block_device:lnk_file relabelto;
7 |
8 | allow vendor_init vendor_init:capability { sys_module };
9 |
--------------------------------------------------------------------------------
/files/samsung-gpio_keys.kl:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2018 The LineageOS Project
2 | # SPDX-License-Identifier: Apache-2.0
3 |
4 | key 114 VOLUME_DOWN
5 | key 115 VOLUME_UP
6 | key 116 POWER
7 | key 703 ASSIST
8 | key 103 SYSTEM_NAVIGATION_UP
9 | key 105 SYSTEM_NAVIGATION_LEFT
10 | key 106 SYSTEM_NAVIGATION_RIGHT
11 | key 108 SYSTEM_NAVIGATION_DOWN
12 |
--------------------------------------------------------------------------------
/sepolicy/treble_app.te:
--------------------------------------------------------------------------------
1 | allow system_app hal_wifi_hostapd_hwservice:hwservice_manager { add find };
2 | allow system_app hidl_base_hwservice:hwservice_manager { add };
3 | allow system_app wifi_data_file:dir create_dir_perms;
4 | allow system_app wifi_data_file:file create_file_perms;
5 |
6 | type vendor_camera_prop, property_type;
7 | set_prop(system_app, vendor_camera_prop);
8 |
--------------------------------------------------------------------------------
/cmds/mtk-sms-fwk-ready.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | using ::vendor::mediatek::hardware::radio::V2_6::IRadio;
6 | using ::android::sp;
7 |
8 | int main(int argc, char **argv) {
9 | auto svc = IRadio::getService(argv[1]);
10 | if(svc != nullptr)
11 | svc->setSmsFwkReady(1);
12 | }
13 |
--------------------------------------------------------------------------------
/framework_manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | android.hardware.wifi.hostapd
4 | hwbinder
5 | 1.0
6 |
7 | IHostapd
8 | default
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/carbon.mk:
--------------------------------------------------------------------------------
1 | $(call inherit-product, vendor/carbon/config/gsm.mk)
2 | $(call inherit-product, vendor/carbon/config/common.mk)
3 | PRODUCT_PROPERTY_OVERRIDES += \
4 | ro.carbon.maintainer="phh"
5 |
6 | #By default, CarbonROM copies it into root/init.carbon.rc
7 | #For this to work in GSI, we put it in /system
8 | PRODUCT_COPY_FILES += \
9 | vendor/carbon/prebuilt/etc/init.carbon.rc:system/etc/init/init.carbon.rc
10 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_RRO_THEME := DisplayCutoutNoCutout
5 | LOCAL_CERTIFICATE := platform
6 |
7 | LOCAL_SRC_FILES := $(call all-subdir-java-files)
8 |
9 | LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
10 |
11 | LOCAL_PACKAGE_NAME := NoCutoutOverlay
12 | LOCAL_SDK_VERSION := current
13 |
14 | LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
15 | include $(BUILD_PACKAGE)
16 |
--------------------------------------------------------------------------------
/sepolicy/file_contexts:
--------------------------------------------------------------------------------
1 | /system/bin/phh-su u:object_r:phhsu_exec:s0
2 | /system/bin/vndk-detect u:object_r:vndk_detect_exec:s0
3 | /system/etc/usb_audio_policy_configuration.xml u:object_r:vendor_configs_file:s0
4 | /system/bin/rw-system.sh u:object_r:phhsu_exec:s0
5 | /system/bin/phh-on-boot.sh u:object_r:phhsu_exec:s0
6 |
7 | /system/bin/fsck\.exfat u:object_r:fsck_exec:s0
8 | /system/bin/fsck\.ntfs u:object_r:fsck_exec:s0
9 |
--------------------------------------------------------------------------------
/environ/Android.mk:
--------------------------------------------------------------------------------
1 | include $(CLEAR_VARS)
2 |
3 | LOCAL_MODULE := treble-environ-rc
4 | LOCAL_MODULE_TAGS := optional
5 |
6 | LOCAL_POST_INSTALL_CMD := \
7 | mkdir -p $(PRODUCT_OUT)/system/etc/init/ && \
8 | sed -e 's?%BOOTCLASSPATH%?$(PRODUCT_BOOTCLASSPATH)?g' device/phh/treble/environ/init.treble-environ.rc > $(PRODUCT_OUT)/system/etc/init/init.treble-environ.rc && \
9 | sed -i -e 's?%SYSTEMSERVERCLASSPATH%?$(PRODUCT_SYSTEM_SERVER_CLASSPATH)?g' $(PRODUCT_OUT)/system/etc/init/init.treble-environ.rc
10 |
11 | include $(BUILD_PHONY_PACKAGE)
12 |
--------------------------------------------------------------------------------
/vndk.rc:
--------------------------------------------------------------------------------
1 | on post-fs
2 | exec - root -- /system/bin/vndk-detect
3 | exec - root -- /system/bin/rw-system.sh
4 | mount none /system/etc/usb_audio_policy_configuration.xml /vendor/etc/usb_audio_policy_configuration.xml bind
5 | export LD_CONFIG_FILE /system/etc/ld.config.${persist.sys.vndk}.txt
6 |
7 | service phh_on_boot /system/bin/phh-on-boot.sh
8 | oneshot
9 | disabled
10 |
11 | on property:sys.boot_completed=1
12 | start phh_on_boot
13 | chown wifi system /data/misc/wifi
14 | chown system wifi /data/misc/wifi/hostapd.conf
15 |
--------------------------------------------------------------------------------
/overlay-gapps/frameworks/base/core/res/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | com.google.android.gms/.autofill.service.AutofillService
4 | com.google.android.marvin.talkback/.TalkBackService
5 | com.google.android.gms
6 | com.google.android.gms
7 |
8 |
--------------------------------------------------------------------------------
/cmds/op-fp.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using ::vendor::oneplus::fingerprint::extension::V1_0::IVendorFingerprintExtensions;
5 | using ::android::sp;
6 |
7 | int main(int argc, char **argv) {
8 | auto svc = IVendorFingerprintExtensions::getService();
9 | if(argc!=2) return 1;
10 | int v = atoi(argv[0]);
11 | auto ret = svc->updateStatus(v);
12 | if(!ret.isOk()) {
13 | std::cerr << "HWBinder call failed" << std::endl;
14 | }
15 | std::cout << "updateStatus returned " << ret << std::endl;
16 | }
17 |
--------------------------------------------------------------------------------
/cmds/xiaomi-fp.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | using ::vendor::xiaomi::hardware::fingerprintextension::V1_0::IXiaomiFingerprint;
6 | using ::android::sp;
7 |
8 | int main(int argc, char **argv) {
9 | auto svc = IXiaomiFingerprint::getService();
10 | if(svc == nullptr) {
11 | std::cerr << "Failed getting IDisplayFeature" << std::endl;
12 | return -1;
13 | }
14 | if(argc != 3) {
15 | fprintf(stderr, "Usage: %s \n", argv[0]);
16 | return -2;
17 | }
18 | uint32_t cmd = (uint32_t)strtoll(argv[1], NULL, 16);
19 | uint32_t value = (uint32_t)strtoll(argv[2], NULL, 16);
20 | svc->extCmd(cmd, value);
21 | }
22 |
--------------------------------------------------------------------------------
/interfaces.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
7 |
9 |
11 |
13 |
14 |
--------------------------------------------------------------------------------
/phh-on-boot.sh:
--------------------------------------------------------------------------------
1 | #!/system/bin/sh
2 |
3 | [ "$(getprop vold.decrypt)" = "trigger_restart_min_framework" ] && exit 0
4 | if [ -f /vendor/bin/mtkmal ];then
5 | if [ "$(getprop persist.mtk_ims_support)" = 1 ] || [ "$(getprop persist.mtk_epdg_support)" = 1 ];then
6 | setprop persist.mtk_ims_support 0
7 | setprop persist.mtk_epdg_support 0
8 | reboot
9 | fi
10 | fi
11 |
12 | #Clear looping services
13 | sleep 30
14 | getprop | \
15 | grep restarting | \
16 | sed -nE -e 's/\[([^]]*).*/\1/g' -e 's/init.svc.(.*)/\1/p' |
17 | while read -r svc ;do
18 | setprop ctl.stop "$svc"
19 | done
20 |
21 | if grep -qF android.hardware.boot /vendor/manifest.xml || grep -qF android.hardware.boot /vendor/etc/vintf/manifest.xml ;then
22 | bootctl mark-boot-successful
23 | fi
24 |
--------------------------------------------------------------------------------
/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
20 | 4dp
21 |
22 |
--------------------------------------------------------------------------------
/sepolicy/vndk_detect.te:
--------------------------------------------------------------------------------
1 | type vndk_detect, coredomain, domain;
2 | type vndk_detect_exec, exec_type, file_type;
3 |
4 | init_daemon_domain(vndk_detect);
5 | allow vndk_detect sepolicy_file:file r_file_perms;
6 | set_prop(vndk_detect,system_prop);
7 | set_prop(vndk_detect,debug_prop);
8 |
9 | allow vndk_detect shell_exec:file rx_file_perms;
10 | allow vndk_detect toolbox_exec:file rx_file_perms;
11 | #/system/bin/grep
12 | allow vndk_detect system_file:file rx_file_perms;
13 |
14 | #mount -o bind /system/bin/adbd /sbin/adbd
15 | allow vndk_detect adbd_exec:file { getattr read };
16 | allow vndk_detect rootfs:file { mounton getattr };
17 | allow vndk_detect self:capability { sys_admin };
18 |
19 | #mount -o bind /system/etc/usb_audio_policy_configuration.xml /vendor/etc/usb_audio_policy_configuration.xml
20 | allow init vendor_configs_file:file { getattr mounton };
21 |
22 | #/sys/module/five
23 | allow vndk_detect sysfs:file r_file_perms;
24 | allow vndk_detect sysfs:dir r_dir_perms;
25 |
--------------------------------------------------------------------------------
/fixSPL/getSPL.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 |
10 | int main(int argc, char **argv) {
11 | if(argc!=3) {
12 | fprintf(stderr, "Usage: %s \n", argv[0]);
13 | exit(-1);
14 | }
15 | int fd = open(argv[1], O_RDONLY);
16 | lseek(fd, 11*4, SEEK_SET);
17 | uint32_t val = 0;
18 | read(fd, &val, sizeof(val));
19 | int android = val >> 11;
20 | int a = android >> 14;
21 | int b = (android >> 7) & 0x7f;
22 | int c = android & 0x7f;
23 |
24 | int spl = val & 0x7ff;
25 | int y = 2000 + (spl >> 4);
26 | int m = spl & 0xf;
27 |
28 | fprintf(stderr, "Android: %d.%d.%d\n", a, b, c);
29 | fprintf(stderr, "SPL: %d-%d-01\n", y, m);
30 |
31 | if(strcmp(argv[2], "android") == 0) {
32 | printf("%d.%d.%d", a, b, c);
33 | } else if(strcmp(argv[2], "spl") == 0) {
34 | printf("%04d-%02d-%02d", y, m, 1);
35 | }
36 |
37 | return 0;
38 | }
39 |
--------------------------------------------------------------------------------
/sepolicy/qualcomm.te:
--------------------------------------------------------------------------------
1 | type rild, domain;
2 |
3 | #me.phh.treble.qti.audio is system-signed
4 | allow system_app hal_telephony_hwservice:hwservice_manager { find };
5 | allow { rild system_app } { rild system_app }:binder { call transfer };
6 |
7 | #Pixel 1
8 | type vnd_qcril_audio_hwservice, hwservice_manager_type;
9 | allow system_app vnd_qcril_audio_hwservice:hwservice_manager { find };
10 |
11 | #Pixel 2
12 | type vnd_qcrilhook_hwservice, hwservice_manager_type;
13 | allow system_app vnd_qcrilhook_hwservice:hwservice_manager { find };
14 |
15 | #OP6
16 | allow system_app hal_telephony_hwservice:hwservice_manager { find };
17 |
18 | # cf https://github.com/phhusson/treble_experimentations/issues/131
19 | # SELinux : avc: denied { add } for interface=android.hardware.tetheroffload.control::IOffloadControl pid=15220 scontext=u:r:ipacm:s0 tcontext=u:object_r:hal_tetheroffload_hwservice:s0 tclass=hwservice_manager permissive=0
20 | type ipacm, hwservice_manager_type;
21 | allow ipacm hal_tetheroffload_hwservice:hwservice_manager { add };
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-am/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ደብቅ"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ar/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "إخفاء"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-bn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "লুকান"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ca/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Amaga"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-cs/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Skrýt"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-da/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Skjul"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-et/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Peida"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-is/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Fela"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-iw/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "הסתר"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ja/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "非表示"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-km/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "លាក់"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ko/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "숨기기"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-mn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Нуух"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-mr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "लपवा"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-nb/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Skjul"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-pa/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ਲੁਕਾਓ"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-pl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ukryj"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-sk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Skryť"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-sq/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Fshih"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-sv/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Dölj"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-sw/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ficha"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ta/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "மறை"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-th/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ซ่อน"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-tl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Itago"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-tr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Gizle"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-vi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ẩn"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-zu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Fihla"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-af/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Versteek"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-as/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "লুকুৱাওক"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-az/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Gizlədin"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-be/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Схаваць"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-bg/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Скриване"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-bs/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Sakrij"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-de/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ausblenden"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-el/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Απόκρυψη"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-en-rAU/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Hide"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-en-rCA/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Hide"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-en-rGB/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Hide"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-en-rIN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Hide"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-es/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-eu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ezkutatu"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-fa/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "پنهان کردن"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-fi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Piilota"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-fr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Masquer"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-gl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-gu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "છુપાવો"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-hi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "छिपाएं"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-hr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Sakrij"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-hu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Elrejtés"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-hy/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Թաքցնել"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-it/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Nascondi"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ka/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "დამალვა"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-kk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Жасыру"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-kn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ಮರೆಮಾಡು"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ky/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Жашыруу"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-lo/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ເຊື່ອງ"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-lt/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Slėpti"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-lv/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Paslēpt"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-mk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Сокриј"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ml/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "മറയ്ക്കുക"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-my/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ဝှက်ပါ"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-nl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Verbergen"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-or/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ଲୁଚାନ୍ତୁ"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-pt/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ro/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ascundeți"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ru/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Скрыть"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-si/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "සඟවන්න"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-sl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Skrivanje"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-sr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Сакриј"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-te/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "దాస్తుంది"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-uk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Сховати"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ur/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "چھپائیں"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-uz/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Berkitish"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-zh-rCN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "隐藏"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-zh-rHK/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "隱藏"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-zh-rTW/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "隱藏"
21 |
22 |
--------------------------------------------------------------------------------
/gapps.mk:
--------------------------------------------------------------------------------
1 | PRODUCT_COPY_FILES += \
2 | device/phh/treble/empty-permission.xml:system/etc/permissions/com.google.android.camera2.xml \
3 | device/phh/treble/empty-permission.xml:system/etc/permissions/com.google.android.camera.experimental2015.xml \
4 | device/phh/treble/empty-permission.xml:system/etc/permissions/com.google.android.camera.experimental2016.xml \
5 | device/phh/treble/empty-permission.xml:system/etc/permissions/com.google.android.camera.experimental2017.xml
6 |
7 | DEVICE_PACKAGE_OVERLAYS += device/phh/treble/overlay-gapps
8 | GAPPS_VARIANT := pico
9 | DONT_DEXPREOPT_PREBUILTS := true
10 | WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY := true
11 | GAPPS_FORCE_PACKAGE_OVERRIDES := true
12 | GAPPS_FORCE_BROWSER_OVERRIDES := true
13 | GAPPS_FORCE_WEBVIEW_OVERRIDES := true
14 | PRODUCT_PACKAGES += \
15 | Chrome \
16 | CalculatorGoogle \
17 | PrebuiltDeskClockGoogle \
18 | CalendarGooglePrebuilt \
19 | LatinImeGoogle \
20 | phh-overrides
21 |
22 | $(call inherit-product, vendor/opengapps/build/opengapps-packages.mk)
23 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-b+sr+Latn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Sakrij"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-es-rUS/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-fr-rCA/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Masquer"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-in/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Sembunyikan"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ms/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Sembunyikan"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-ne/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "लुकाउनुहोस्"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-pt-rBR/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-pt-rPT/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-land/config.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 | 28dp
20 |
21 | 156dp
22 |
23 |
--------------------------------------------------------------------------------
/cmds/xiaomi-display-feature.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | using ::vendor::xiaomi::hardware::displayfeature::V1_0::IDisplayFeature;
6 | using ::android::sp;
7 |
8 | int main(int argc, char **argv) {
9 | auto svc = IDisplayFeature::getService();
10 | if(svc == nullptr) {
11 | std::cerr << "Failed getting IDisplayFeature" << std::endl;
12 | return -1;
13 | }
14 | if(argc != 3) {
15 | fprintf(stderr, "Usage: %s \n", argv[0]);
16 | return -2;
17 | }
18 | int mode = -1;
19 | std::string modeArg(argv[1]);
20 | if(modeArg == "ADAPT")
21 | mode = 0;
22 | if(modeArg == "ENHANCE")
23 | mode = 1;
24 | if(modeArg == "STANDARD")
25 | mode = 2;
26 | if(modeArg == "EYECARE")
27 | mode = 3;
28 | if(modeArg == "MONOCHROME")
29 | mode = 4;
30 | if(modeArg == "SUNLIGHT")
31 | mode = 8;
32 | if(modeArg == "NIGHTLIGHT")
33 | mode = 9;
34 | if(modeArg == "HIGHLIGHT")
35 | mode = 11;
36 |
37 | svc->setFeature(0, mode, atoi(argv[2]), 255);
38 | }
39 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | Hide
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values-en-rXC/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Hide"
21 |
22 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
21 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/vndk-detect:
--------------------------------------------------------------------------------
1 | #!/system/bin/sh
2 |
3 | grep -oE 'init_[0-9_]+' /vendor/etc/selinux/nonplat_sepolicy.cil | \
4 | uniq | \
5 | sort -n | \
6 | head -n 1 | \
7 | sed -E 's/.*init_([0-9]+).*/\1/g' | \
8 | while read version;do
9 | setprop persist.sys.vndk $version
10 | done
11 |
12 | if [ -d /sys/module/five ];then
13 | mount -o bind /system/phh/empty /sbin/adbd
14 | setprop sys.phh.five true
15 | else
16 | mount -o bind /system/bin/adbd /sbin/adbd
17 | fi
18 | if ( getprop ro.hardware | grep -qE '(kirin970|hi3660|hi6250|hi3670)' );then
19 | FOUND_HUAWEI=1
20 | fi
21 |
22 | if getprop ro.vendor.build.fingerprint |grep -qiE '(huawei|honor|hi3660)';then
23 | FOUND_HUAWEI=1
24 | fi
25 |
26 | if [ -n "$FOUND_HUAWEI" ];then
27 | setprop persist.sys.overlay.huawei true
28 | setprop persist.sys.bt_acl_bypass true
29 | setprop persist.sys.camera.huawei true
30 | setprop persist.sys.radio.ussd.fix true
31 | setprop persist.sys.radio.huawei true
32 | setprop debug.hwui.profile true
33 | fi
34 |
35 | if getprop ro.hardware |grep -qiE -e qcom -e judyln -e judypn;then
36 | FOUND_QCOM=1
37 | if getprop ro.vendor.build.fingerprint |grep -qiE '^samsung';then
38 | setprop persist.sys.overlay.devinputjack false
39 | else
40 | setprop persist.sys.overlay.devinputjack true
41 | fi
42 | fi
43 |
--------------------------------------------------------------------------------
/files/oneplus6-synaptics_s3320.kl:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015, The Linux Foundation. All rights reserved.
2 | #
3 | # Redistribution and use in source and binary forms, with or without
4 | # modification, are permitted provided that the following conditions are
5 | # met:
6 | # * Redistributions of source code must retain the above copyright
7 | # notice, this list of conditions and the following disclaimer.
8 | # * Redistributions in binary form must reproduce the above
9 | # copyright notice, this list of conditions and the following
10 | # disclaimer in the documentation and/or other materials provided
11 | # with the distribution.
12 | # * Neither the name of The Linux Foundation nor the names of its
13 | # contributors may be used to endorse or promote products derived
14 | # from this software without specific prior written permission.
15 | #
16 | # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17 | # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20 | # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 | # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 | # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25 | # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 | # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 |
28 | key 62 WAKEUP
29 |
--------------------------------------------------------------------------------
/files/samsung-sec_touchscreen.kl:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2015, The Linux Foundation. All rights reserved.
2 | #
3 | # Redistribution and use in source and binary forms, with or without
4 | # modification, are permitted provided that the following conditions are
5 | # met:
6 | # * Redistributions of source code must retain the above copyright
7 | # notice, this list of conditions and the following disclaimer.
8 | # * Redistributions in binary form must reproduce the above
9 | # copyright notice, this list of conditions and the following
10 | # disclaimer in the documentation and/or other materials provided
11 | # with the distribution.
12 | # * Neither the name of The Linux Foundation nor the names of its
13 | # contributors may be used to endorse or promote products derived
14 | # from this software without specific prior written permission.
15 | #
16 | # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17 | # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20 | # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 | # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 | # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25 | # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 | # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 |
28 | key 172 WAKEUP
29 |
30 |
--------------------------------------------------------------------------------
/cmds/vibrator-lge.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using ::vendor::lge::hardware::vibrator::V1_0::IVibratorEx;
5 | using ::android::sp;
6 |
7 | int main(int argc, char **argv) {
8 | auto svc = IVibratorEx::getService();
9 |
10 | auto supportsAmplitude = svc->supportsAmplitudeControl();
11 | if(supportsAmplitude.isOk())
12 | std::cerr << "supportsAmplitudeControl? " << supportsAmplitude << std::endl;
13 |
14 | /*
15 | public int on(int timeoutMs) throws RemoteException {
16 | public int off() throws RemoteException {
17 | public int setAmplitude(byte amplitude) throws RemoteException {
18 | public void perform(int effect, byte strength, performCallback _hidl_cb) throws RemoteException {
19 | public int playEffectWithStrength(ArrayList effectData, int effectIndex, int strength) throws RemoteException {
20 | */
21 |
22 |
23 | if(strcmp(argv[1], "on") == 0) {
24 | int v = 100;
25 | if(argc>=3)
26 | v = atoi(argv[2]);
27 | auto ret = svc->on(v);
28 | if(ret.isOk()) {
29 | android::hardware::vibrator::V1_0::Status r = ret;
30 | std::cout << "vibrator on returned " << (int)r << std::endl;
31 | } else {
32 | std::cerr << "Binder failed request" << std::endl;
33 | }
34 | } else if(strcmp(argv[1], "amplitude") == 0) {
35 | int v = 127;
36 | if(argc>=3)
37 | v = atoi(argv[2]);
38 | auto ret = svc->setAmplitude(v);
39 | if(ret.isOk()) {
40 | android::hardware::vibrator::V1_0::Status r = ret;
41 | std::cout << "vibrator amplitude returned " << (int)r << std::endl;
42 | } else {
43 | std::cerr << "Binder failed request" << std::endl;
44 | }
45 | } else {
46 | std::cerr << "Not supported (yet)" << std::endl;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/overlay/frameworks/base/core/res/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - "usb\\d"
5 | - "rndis\\d"
6 |
7 |
8 |
9 | - "wlan0"
10 | - "softap.*"
11 | - "wifi_br0"
12 | - "wigig0"
13 |
14 |
15 |
16 | - bnep\\d
17 | - "bt-pan"
18 |
19 |
20 | true
21 | true
22 | "M50 0C77.6 0 100 22.4 100 50C100 77.6 77.6 100 50 100C22.4 100 0 77.6 0 50C0 22.4 22.4 0 50 0Z"
23 | true
24 |
25 | com.android.wallpaperpicker
26 | true
27 |
31 |
32 | com.android.systemui/com.android.systemui.doze.DozeService
33 | true
34 | true
35 | 8.0dip
36 | 4.0dip
37 |
38 |
--------------------------------------------------------------------------------
/files/mimix3-gpio-keys.kl:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2013, The Linux Foundation. All rights reserved.
2 | #
3 | # Redistribution and use in source and binary forms, with or without
4 | # modification, are permitted provided that the following conditions are
5 | # met:
6 | # * Redistributions of source code must retain the above copyright
7 | # notice, this list of conditions and the following disclaimer.
8 | # * Redistributions in binary form must reproduce the above
9 | # copyright notice, this list of conditions and the following
10 | # disclaimer in the documentation and/or other materials provided
11 | # with the distribution.
12 | # * Neither the name of The Linux Foundation nor the names of its
13 | # contributors may be used to endorse or promote products derived
14 | # from this software without specific prior written permission.
15 | #
16 | # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17 | # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20 | # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 | # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 | # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25 | # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 |
27 | key 115 VOLUME_UP
28 | key 114 VOLUME_DOWN
29 | key 102 HOME
30 | key 528 FOCUS
31 | key 766 CAMERA
32 | key 689 VOICE_ASSIST
33 |
--------------------------------------------------------------------------------
/bluetooth/bdroid_buildcfg.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2013, The Linux Foundation. All rights reserved.
3 | * Not a Contribution, Apache license notifications and license are retained
4 | * for attribution purposes only.
5 | *
6 | * Copyright (C) 2012 The Android Open Source Project
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 |
21 | #ifndef _BDROID_BUILDCFG_H
22 | #define _BDROID_BUILDCFG_H
23 |
24 | //#include
25 | #include
26 |
27 | static inline const char* BtmDefLocalName()
28 | {
29 | #if 0
30 | static char product_device[PROPERTY_VALUE_MAX];
31 | //Huawei-defined property
32 | property_get("ro.config.marketing_name", product_device, "");
33 |
34 | if (strcmp(product_device, "") != 0)
35 | return product_device;
36 |
37 | // Fallback to ro.product.model
38 | return "";
39 | #endif
40 | return "hello";
41 | }
42 |
43 | static inline int BtmBypassExtraAclSetup() {
44 | #if 0
45 | int8_t prop = property_get_bool("persist.sys.bt_acl_bypass", false);
46 | return prop == true;
47 | #endif
48 | return 1;
49 | }
50 |
51 | #define BTM_DEF_LOCAL_NAME BtmDefLocalName()
52 | #define BTM_BYPASS_EXTRA_ACL_SETUP BtmBypassExtraAclSetup()
53 |
54 | #endif
55 |
--------------------------------------------------------------------------------
/cmds/Android.bp:
--------------------------------------------------------------------------------
1 | cc_binary {
2 | name: "lightsctl",
3 | srcs: [
4 | "lightsctl.cpp",
5 | ],
6 | shared_libs: [
7 | "android.hardware.light@2.0",
8 | "libutils",
9 | "libhidlbase",
10 | ],
11 | }
12 |
13 | cc_binary {
14 | name: "op-fp",
15 | srcs: [
16 | "op-fp.cpp",
17 | ],
18 | shared_libs: [
19 | "vendor.oneplus.fingerprint.extension@1.0",
20 | "libutils",
21 | "libhidlbase",
22 | ],
23 | }
24 |
25 | cc_binary {
26 | name: "uevent",
27 | srcs: [
28 | "uevent.cpp",
29 | ],
30 | }
31 |
32 | cc_binary {
33 | name: "simg2img_simple",
34 | srcs: [
35 | "simg2img_simple.cpp",
36 | ],
37 | host_supported: true,
38 | }
39 |
40 | cc_binary {
41 | name: "vibrator-lge",
42 | srcs: [
43 | "vibrator-lge.cpp",
44 | ],
45 | shared_libs: [
46 | "vendor.lge.hardware.vibrator@1.0",
47 | "libutils",
48 | "libhidlbase",
49 | ],
50 | }
51 |
52 | cc_binary {
53 | name: "mtk-sms-fwk-ready",
54 | srcs: [
55 | "mtk-sms-fwk-ready.cpp",
56 | ],
57 | shared_libs: [
58 | "vendor.mediatek.hardware.radio@2.6",
59 | "libutils",
60 | "libhidlbase",
61 | ],
62 | init_rc: [
63 | "mtk-sms-fwk-ready.rc"
64 | ],
65 | }
66 |
67 | cc_binary {
68 | name: "xiaomi-display-feature",
69 | srcs: [
70 | "xiaomi-display-feature.cpp",
71 | ],
72 | shared_libs: [
73 | "vendor.xiaomi.hardware.displayfeature@1.0",
74 | "libutils",
75 | "libhidlbase",
76 | ],
77 | }
78 |
79 | cc_binary {
80 | name: "xiaomi-fp",
81 | srcs: [
82 | "xiaomi-fp.cpp",
83 | ],
84 | shared_libs: [
85 | "vendor.xiaomi.hardware.fingerprintextension@1.0",
86 | "libutils",
87 | "libhidlbase",
88 | ],
89 | }
90 |
91 | cc_binary {
92 | name: "lightsctl-sec",
93 | srcs: [
94 | "lightsctl-sec.cpp",
95 | ],
96 | shared_libs: [
97 | "vendor.samsung.hardware.light@2.0",
98 | "libutils",
99 | "libhidlbase",
100 | ],
101 | }
102 |
--------------------------------------------------------------------------------
/overlay/packages/apps/overlays/NoCutoutOverlay/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
22 | false
23 |
24 |
26 | true
27 |
28 |
29 | 28dp
30 | 28dp
31 |
33 | @*android:dimen/rounded_corner_radius_bottom
34 |
35 |
36 | 48dp
37 |
38 | 176dp
39 |
40 |
41 |
--------------------------------------------------------------------------------
/cmds/uevent.cpp:
--------------------------------------------------------------------------------
1 | typedef unsigned short int sa_family_t;
2 | #define __KERNEL_STRICT_NAMES
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 |
11 | //From a uevent patch for hal
12 | #define HOTPLUG_BUFFER_SIZE 1024
13 | #define HOTPLUG_NUM_ENVP 32
14 | #define OBJECT_SIZE 512
15 |
16 | #ifndef NETLINK_KOBJECT_UEVENT
17 | #error Your kernel headers are too old, and do not define NETLINK_KOBJECT_UEVENT. You need Linux 2.6.10 or higher for KOBJECT_UEVENT support.
18 | #endif
19 |
20 | int main(int argc, char **argv, char **envp) {
21 | //Start listening
22 | int fd;
23 | struct sockaddr_nl ksnl;
24 | memset(&ksnl, 0x00, sizeof(struct sockaddr_nl));
25 | ksnl.nl_family=AF_NETLINK;
26 | ksnl.nl_pid=getpid();
27 | ksnl.nl_groups=0xffffffff;
28 | fd=socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);
29 | if (fd==-1) {
30 | printf("Couldn't open kobject-uevent netlink socket");
31 | perror("");
32 | exit(1);
33 | }
34 | if (bind(fd, (struct sockaddr *) &ksnl, sizeof(struct sockaddr_nl))<0) {
35 | fprintf (stderr, "Error binding to netlink socket");
36 | close(fd);
37 | exit(1);
38 | }
39 |
40 | while(1) {
41 | char buffer[HOTPLUG_BUFFER_SIZE + OBJECT_SIZE];
42 | int buflen;
43 | buflen=recv(fd, &buffer, sizeof(buffer), 0);
44 | if (buflen<0) {
45 | exit(1);
46 | }
47 | printf("%s\n", buffer);
48 | char *pos = buffer + strlen(buffer);
49 | char *end = buffer + buflen;
50 | while(pos < end) {
51 | int l = strlen(pos);
52 | printf("\t%s\n", pos);
53 | pos += l+1;
54 | }
55 | }
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/cmds/lightsctl.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | using ::android::hardware::light::V2_0::ILight;
6 | using ::android::sp;
7 |
8 | int main(int argc, char **argv) {
9 | auto svc = ILight::getService();
10 | svc->getSupportedTypes([](auto types) {
11 | for(const auto& type: types) {
12 | std::cout << "Got type " << toString(type) << std::endl;
13 | }
14 | });
15 | if(argc <= 1) return 0;
16 | if(argc != 3 && argc != 6) return 1;
17 |
18 | std::string typeArg(argv[1]);
19 | android::hardware::light::V2_0::Type type;
20 | if(typeArg == "BACKLIGHT")
21 | type = android::hardware::light::V2_0::Type::BACKLIGHT;
22 | if(typeArg == "KEYBOARD")
23 | type = android::hardware::light::V2_0::Type::KEYBOARD;
24 | if(typeArg == "BUTTONS")
25 | type = android::hardware::light::V2_0::Type::BUTTONS;
26 | if(typeArg == "BATTERY")
27 | type = android::hardware::light::V2_0::Type::BATTERY;
28 | if(typeArg == "NOTIFICATIONS")
29 | type = android::hardware::light::V2_0::Type::NOTIFICATIONS;
30 | if(typeArg == "ATTENTION")
31 | type = android::hardware::light::V2_0::Type::ATTENTION;
32 | if(typeArg == "BLUETOOTH")
33 | type = android::hardware::light::V2_0::Type::BLUETOOTH;
34 | if(typeArg == "WIFI")
35 | type = android::hardware::light::V2_0::Type::WIFI;
36 | std::cout << "Set request type " << toString(type) << std::endl;
37 |
38 | android::hardware::light::V2_0::LightState state;
39 | state.color = (uint32_t)strtoll(argv[2], NULL, 16);
40 | state.flashMode = android::hardware::light::V2_0::Flash::NONE;
41 | state.brightnessMode = android::hardware::light::V2_0::Brightness::USER;
42 |
43 | if(argc == 6) {
44 | std::string flashArg(argv[3]);
45 | if(flashArg == "NONE")
46 | state.flashMode = android::hardware::light::V2_0::Flash::NONE;
47 | if(flashArg == "TIMED")
48 | state.flashMode = android::hardware::light::V2_0::Flash::TIMED;
49 | if(flashArg == "HARDWARE")
50 | state.flashMode = android::hardware::light::V2_0::Flash::HARDWARE;
51 |
52 | state.flashOnMs = atoi(argv[4]);
53 | state.flashOffMs = atoi(argv[5]);
54 | }
55 | std::cout << "Set flash type to " << toString(state.flashMode) << std::endl;
56 |
57 | auto ret = svc->setLight(type, state);
58 | std::cout << "Set light returned " << toString(ret) << std::endl;
59 | }
60 |
--------------------------------------------------------------------------------
/generate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | rom_script=''
4 | if [ -n "$1" ];then
5 | if echo "$1" | grep -qF /;then
6 | rom_script=''
7 | for i in "$@";do
8 | rom_script="$rom_script"$'\n''$(call inherit-product, '$i')'
9 | done
10 | else
11 | rom_script='$(call inherit-product, device/phh/treble/'$1'.mk)'
12 | fi
13 | fi
14 |
15 | echo 'PRODUCT_MAKEFILES := \' > AndroidProducts.mk
16 |
17 | for part in a ab;do
18 | for apps in vanilla gapps foss gapps-go;do
19 | for arch in arm64 arm a64;do
20 | for su in yes no;do
21 | apps_suffix=""
22 | apps_script=""
23 | apps_name=""
24 | extra_packages=""
25 | vndk="vndk.mk"
26 | if [ "$apps" == "gapps" ];then
27 | apps_suffix="g"
28 | apps_script='$(call inherit-product, device/phh/treble/gapps.mk)'
29 | apps_name="with GApps"
30 | fi
31 | if [ "$apps" == "gapps-go" ];then
32 | apps_suffix="o"
33 | apps_script='$(call inherit-product, device/phh/treble/gapps-go.mk)'
34 | apps_name="Go"
35 | fi
36 | if [ "$apps" == "foss" ];then
37 | apps_suffix="f"
38 | apps_script='$(call inherit-product, vendor/foss/foss.mk)'
39 | apps_name="with FOSS apps"
40 | fi
41 | if [ "$apps" == "vanilla" ];then
42 | apps_suffix="v"
43 | apps_script=''
44 | apps_name="vanilla"
45 | fi
46 | if [ "$arch" == "arm" ];then
47 | vndk="vndk-binder32.mk"
48 | fi
49 | if [ "$arch" == "a64" ];then
50 | vndk="vndk32.mk"
51 | fi
52 |
53 | su_suffix='N'
54 | if [ "$su" == "yes" ];then
55 | su_suffix='S'
56 | extra_packages+=' phh-su me.phh.superuser'
57 | fi
58 |
59 | part_suffix='a'
60 | if [ "$part" == 'ab' ];then
61 | part_suffix='b'
62 | fi
63 |
64 | target="treble_${arch}_${part_suffix}${apps_suffix}${su_suffix}"
65 |
66 | cat > ${target}.mk << EOF
67 | \$(call inherit-product, device/phh/treble/base-pre.mk)
68 | include build/make/target/product/treble_common.mk
69 | \$(call inherit-product, vendor/vndk/${vndk})
70 | \$(call inherit-product, device/phh/treble/base.mk)
71 | $apps_script
72 | $rom_script
73 |
74 | PRODUCT_NAME := $target
75 | PRODUCT_DEVICE := phhgsi_${arch}_$part
76 | PRODUCT_BRAND := Android
77 | PRODUCT_MODEL := Phh-Treble $apps_name
78 |
79 | PRODUCT_PACKAGES += $extra_packages
80 | EOF
81 | echo -e '\t$(LOCAL_DIR)/'$target.mk '\' >> AndroidProducts.mk
82 | done
83 | done
84 | done
85 | done
86 | echo >> AndroidProducts.mk
87 |
--------------------------------------------------------------------------------
/cmds/lightsctl-sec.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | using ::vendor::samsung::hardware::light::V2_0::ISecLight;
6 | using ::android::sp;
7 |
8 | int main(int argc, char **argv) {
9 | auto svc = ISecLight::getService();
10 | svc->getSupportedTypes([](auto types) {
11 | for(const auto& type: types) {
12 | std::cout << "Got type " << toString(type) << std::endl;
13 | }
14 | });
15 | if(argc <= 1) return 0;
16 | if(argc != 3 && argc != 6) return 1;
17 |
18 | std::string typeArg(argv[1]);
19 | vendor::samsung::hardware::light::V2_0::SecType type;
20 | if(typeArg == "BACKLIGHT")
21 | type = vendor::samsung::hardware::light::V2_0::SecType::BACKLIGHT;
22 | if(typeArg == "KEYBOARD")
23 | type = vendor::samsung::hardware::light::V2_0::SecType::KEYBOARD;
24 | if(typeArg == "BUTTONS")
25 | type = vendor::samsung::hardware::light::V2_0::SecType::BUTTONS;
26 | if(typeArg == "BATTERY")
27 | type = vendor::samsung::hardware::light::V2_0::SecType::BATTERY;
28 | if(typeArg == "NOTIFICATIONS")
29 | type = vendor::samsung::hardware::light::V2_0::SecType::NOTIFICATIONS;
30 | if(typeArg == "ATTENTION")
31 | type = vendor::samsung::hardware::light::V2_0::SecType::ATTENTION;
32 | if(typeArg == "BLUETOOTH")
33 | type = vendor::samsung::hardware::light::V2_0::SecType::BLUETOOTH;
34 | if(typeArg == "WIFI")
35 | type = vendor::samsung::hardware::light::V2_0::SecType::WIFI;
36 | std::cout << "Set request type " << toString(type) << std::endl;
37 |
38 | android::hardware::light::V2_0::LightState state;
39 | state.color = (uint32_t)strtoll(argv[2], NULL, 16);
40 | state.flashMode = android::hardware::light::V2_0::Flash::NONE;
41 | state.brightnessMode = android::hardware::light::V2_0::Brightness::USER;
42 |
43 | if(argc == 6) {
44 | std::string flashArg(argv[3]);
45 | if(flashArg == "NONE")
46 | state.flashMode = android::hardware::light::V2_0::Flash::NONE;
47 | if(flashArg == "TIMED")
48 | state.flashMode = android::hardware::light::V2_0::Flash::TIMED;
49 | if(flashArg == "HARDWARE")
50 | state.flashMode = android::hardware::light::V2_0::Flash::HARDWARE;
51 |
52 | state.flashOnMs = atoi(argv[4]);
53 | state.flashOffMs = atoi(argv[5]);
54 | }
55 | std::cout << "Set flash type to " << toString(state.flashMode) << std::endl;
56 |
57 | auto ret = svc->setLightSec(type, state);
58 | std::cout << "Set light returned " << toString(ret) << std::endl;
59 | }
60 |
--------------------------------------------------------------------------------
/cmds/simg2img_simple.cpp:
--------------------------------------------------------------------------------
1 | #define _GNU_SOURCE
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 |
10 | typedef struct sparse_header {
11 | uint32_t magic; /* 0xed26ff3a */
12 | uint16_t major_version; /* (0x1) - reject images with higher major versions */
13 | uint16_t minor_version; /* (0x0) - allow images with higer minor versions */
14 | uint16_t file_hdr_sz; /* 28 bytes for first revision of the file format */
15 | uint16_t chunk_hdr_sz; /* 12 bytes for first revision of the file format */
16 | uint32_t blk_sz; /* block size in bytes, must be a multiple of 4 (4096) */
17 | uint32_t total_blks; /* total blocks in the non-sparse output image */
18 | uint32_t total_chunks; /* total chunks in the sparse input image */
19 | uint32_t image_checksum; /* CRC32 checksum of the original data, counting "don't care" */
20 | /* as 0. Standard 802.3 polynomial, use a Public Domain */
21 | /* table implementation */
22 | } sparse_header_t;
23 |
24 | #define SPARSE_HEADER_MAGIC 0xed26ff3a
25 |
26 | #define CHUNK_TYPE_RAW 0xCAC1
27 | #define CHUNK_TYPE_FILL 0xCAC2
28 | #define CHUNK_TYPE_DONT_CARE 0xCAC3
29 | #define CHUNK_TYPE_CRC32 0xCAC4
30 |
31 | typedef struct chunk_header {
32 | uint16_t chunk_type; /* 0xCAC1 -> raw; 0xCAC2 -> fill; 0xCAC3 -> don't care */
33 | uint16_t reserved1;
34 | uint32_t chunk_sz; /* in blocks in output image */
35 | uint32_t total_sz; /* in bytes of chunk input file including chunk header and data */
36 | } chunk_header_t;
37 |
38 | /* Following a Raw or Fill or CRC32 chunk is data.
39 | * For a Raw chunk, it's the data in chunk_sz * blk_sz.
40 | * For a Fill chunk, it's 4 bytes of the fill data.
41 | * For a CRC32 chunk, it's 4 bytes of CRC32
42 | */
43 |
44 | void nsendfile(int out_fd, int in_fd, size_t count) {
45 | while(count) {
46 | ssize_t res = splice(in_fd, NULL, out_fd, NULL, count, 0);
47 | if(res == 0 || res == -1) exit(112);
48 | count -= res;
49 | }
50 | }
51 |
52 | int main() {
53 | sparse_header_t hdr;
54 | if(read(0, &hdr, sizeof(hdr)) != sizeof(hdr)) exit(1);
55 | if(hdr.magic != SPARSE_HEADER_MAGIC) exit(2);
56 | if(hdr.blk_sz != 4096) exit(6);
57 | if(hdr.major_version != 1) exit(11);
58 | if(hdr.minor_version != 0) exit(12);
59 | if(hdr.file_hdr_sz != 28) exit(13);
60 | if(hdr.chunk_hdr_sz != 12) exit(14);
61 |
62 | char block[4096];
63 | for(unsigned i=0; i /cache/phh/logs 2>&1
10 | fi
11 |
12 | #init.rc hooks are based on "0" (non-configfs) or "1" (configfs), so set it to 2 so that noone is triggered
13 | if [ -z "$nosystem" ];then
14 | configfs="$(getprop sys.usb.configfs)"
15 | export configfs
16 | setprop sys.usb.configfs 2
17 | setprop service.adb.tcp.port 5555
18 |
19 | mount -o private,recursive rootfs /
20 |
21 | mkdir /dev/new-system/
22 | chmod 0755 /dev/new-system
23 | mkdir /dev/old-system
24 |
25 | cp -R --preserve=all /system/lib64 /dev/new-system/lib64
26 | cp -R --preserve=all /system/lib /dev/new-system/lib
27 | cp -R --preserve=all /system/bin /dev/new-system/bin
28 | cp -R --preserve=all /system/xbin /dev/new-system/xbin
29 | cp -R --preserve=all /system/etc /dev/new-system/etc
30 |
31 | getprop | \
32 | grep -e restarting -e running | \
33 | sed -nE -e 's/\[([^]]*).*/\1/g' -e 's/init.svc.(.*)/\1/p' |
34 | while read svc ;do
35 | setprop ctl.stop $svc
36 | done
37 |
38 | setenforce 0
39 | umount /sbin/adbd
40 | mount -o move /system /dev/old-system
41 | /dev/new-system/bin/busybox_phh mount -o bind /dev/new-system /system
42 | nosystem=1 exec /system/bin/sh -x "$0"
43 | fi
44 |
45 | umount /dev/old-system
46 | setprop service.adb.root 1
47 |
48 | if [ "$configfs" == 1 ];then
49 | mount -t configfs none /config
50 | rm -Rf /config/usb_gadget
51 | mkdir -p /config/usb_gadget/g1
52 |
53 | echo 0x12d1 > /config/usb_gadget/g1/idVendor
54 | echo 0x103A > /config/usb_gadget/g1/idProduct
55 | mkdir -p /config/usb_gadget/g1/strings/0x409
56 | echo phh > /config/usb_gadget/g1/strings/0x409/serialnumber
57 | echo phh > /config/usb_gadget/g1/strings/0x409/manufacturer
58 | echo phh > /config/usb_gadget/g1/strings/0x409/product
59 |
60 | mkdir /config/usb_gadget/g1/functions/ffs.adb
61 | mkdir /config/usb_gadget/g1/functions/mtp.gs0
62 | mkdir /config/usb_gadget/g1/functions/ptp.gs1
63 |
64 | mkdir /config/usb_gadget/g1/configs/c.1/
65 | mkdir /config/usb_gadget/g1/configs/c.1/strings/0x409
66 | echo 'ADB MTP' > /config/usb_gadget/g1/configs/c.1/strings/0x409/configuration
67 |
68 | mkdir /dev/usb-ffs
69 | chmod 0770 /dev/usb-ffs
70 | chown shell:shell /dev/usb-ffs
71 | mkdir /dev/usb-ffs/adb/
72 | chmod 0770 /dev/usb-ffs/adb
73 | chown shell:shell /dev/usb-ffs/adb
74 |
75 | mount -t functionfs -o uid=2000,gid=2000 adb /dev/usb-ffs/adb
76 |
77 | /dev/new-system/bin/adbd &
78 |
79 | sleep 1
80 | echo none > /config/usb_gadget/g1/UDC
81 | ln -s /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/c.1/f1
82 | echo ff100000.dwc3 > /config/usb_gadget/g1/UDC
83 |
84 | sleep 2
85 | echo 2 > /sys/devices/virtual/android_usb/android0/port_mode
86 | else
87 | mkdir /dev/usb-ffs
88 | chmod 0770 /dev/usb-ffs
89 | chown shell:shell /dev/usb-ffs
90 | mkdir /dev/usb-ffs/adb/
91 | chmod 0770 /dev/usb-ffs/adb
92 | chown shell:shell /dev/usb-ffs/adb
93 |
94 | mount -t functionfs -o uid=2000,gid=2000 adb /dev/usb-ffs/adb
95 | echo adb > /sys/class/android_usb/android0/f_ffs/aliases
96 | setprop sys.usb.config adb
97 |
98 | echo 0 > /sys/class/android_usb/android0/enable
99 | echo 18d1 > /sys/class/android_usb/android0/idVendor
100 | echo 4EE7 > /sys/class/android_usb/android0/idProduct 4EE7
101 | echo adb > /sys/class/android_usb/android0/functions
102 | getprop ro.boot.serialno |tr -d '\n' |cat > /sys/class/android_usb/android0/iSerial
103 | echo phh > /sys/class/android_usb/android0/iManufacturer
104 | echo phh > /sys/class/android_usb/android0/iProduct
105 | echo 1 > /sys/class/android_usb/android0/enable
106 |
107 | /dev/new-system/bin/adbd &
108 | fi
109 |
110 |
111 | death() {
112 | sleep 180
113 | reboot
114 | }
115 |
116 | dev="$(sed -n 1p /cache/phh/block.map)"
117 | devbase="$(echo $dev | sed -nE 's;(/dev/block/.*/)userdata;\1;p')"
118 | [ -z "$devbase" ] && devbase="$(echo $dev | sed -nE 's;(/dev/block/.*/)data;\1;p')"
119 | [ -z "$devbase" ] && devbase="$(echo $dev | sed -nE 's;(/dev/block/.*/)USERDATA;\1;p')"
120 | for i in system system_a SYSTEM;do
121 | v="$devbase/$i"
122 | [ -b "$v" ] && system="$v"
123 | done
124 | #Failed...
125 | [ -z "$system" ] && death
126 |
127 | blockdev --setrw "$system"
128 |
129 |
130 | for method in xz-sparse sparse raw;do
131 | (
132 | size="$(sed -En '2s/^([0-9]+) .*/\1/p' /cache/phh/block.map)"
133 | block_size="$(sed -En '2s/.* ([0-9]*)$/\1/p' /cache/phh/block.map)"
134 | n_ranges="$(sed -n 3p /cache/phh/block.map)"
135 | block_id=0
136 | for i in $(seq 1 $n_ranges);do
137 | range_start="$(sed -En $((i+3))'s/^([0-9]+) .*/\1/p' /cache/phh/block.map)"
138 | range_end="$(sed -En $((i+3))'s/^.* ([0-9]+)$/\1/p' /cache/phh/block.map)"
139 | n_blocks=$((range_end-range_start))
140 | busybox_phh dd bs=$block_size skip=$range_start count=$n_blocks if=$dev
141 |
142 | block_id=$((block_id+n_blocks))
143 | done
144 | ) | (
145 | set -e
146 | if [ "$method" == xz-sparse ];then
147 | busybox_phh xz -d -c | simg2img_simple > $system
148 | elif [ "$method" == sparse ];then
149 | simg2img_simple > $system
150 | elif [ "$method" == raw ];then
151 | cat > $system
152 | fi
153 | ) && break
154 | done
155 |
156 | sync
157 | reboot
158 |
--------------------------------------------------------------------------------
/sepolicy/su.te:
--------------------------------------------------------------------------------
1 | type phhsu_daemon, domain, mlstrustedsubject;
2 | type phhsu_exec, exec_type, file_type;
3 |
4 | typeattribute phhsu_daemon coredomain;
5 | permissive phhsu_daemon;
6 |
7 | tmpfs_domain(phhsu_daemon);
8 | domain_auto_trans(init, phhsu_exec, phhsu_daemon);
9 | file_type_auto_trans(phhsu_daemon, device, phhsu_daemon);
10 |
11 | allow { appdomain shell } phhsu_daemon:unix_stream_socket { connectto write read };
12 | allow { appdomain shell } phhsu_daemon:sock_file { write read };
13 | allow { appdomain shell } phhsu_exec:file { getattr read open execute execute_no_trans };
14 |
15 | create_pty(shell)
16 | allowxperm shell devpts:chr_file ioctl { TCSETSF TCGETS unpriv_tty_ioctls };
17 | allowxperm { phhsu_daemon untrusted_app untrusted_app_27 } untrusted_app_all_devpts:chr_file ioctl { TCSETSF TCGETS unpriv_tty_ioctls };
18 |
19 | allow servicemanager phhsu_daemon:dir { search read };
20 | allow servicemanager phhsu_daemon:file { open read };
21 | allow servicemanager phhsu_daemon:process { getattr };
22 | allow servicemanager phhsu_daemon:binder { call transfer };
23 |
24 | typeattribute phhsu_daemon mlstrustedobject;
25 | typeattribute phhsu_daemon mlstrustedsubject;
26 |
27 | allow shell su_exec:file getattr;
28 | typeattribute su mlstrustedsubject;
29 |
30 | allow phhsu_daemon { system_api_service app_api_service system_server_service }:service_manager find;
31 |
32 | allow system_server phhsu_daemon:fifo_file { read write };
33 | allow system_server phhsu_daemon:fd use;
34 | allow system_server phhsu_daemon:binder { call transfer };
35 | allow system_server shell_devpts:chr_file { read write };
36 |
37 | # Add su to various domains
38 | net_domain(phhsu_daemon)
39 |
40 | hwbinder_use(phhsu_daemon)
41 |
42 | allow phhsu_daemon untrusted_app_all_devpts:chr_file { getattr read write open ioctl };
43 | allow phhsu_daemon zygote_exec:file { execute read open execute_no_trans getattr };
44 |
45 | allow appdomain phhsu_daemon:dir { search };
46 |
47 | allow phhsu_daemon self:global_capability_class_set { sys_resource sys_ptrace };
48 |
49 | allow phhsu_daemon self:dir rw_dir_perms;
50 | allow phhsu_daemon self:file { rwx_file_perms create rename setattr unlink };
51 | allow phhsu_daemon self:lnk_file { r_file_perms execmod };
52 |
53 | allow phhsu_daemon adbd_exec:file { getattr read };
54 | allow phhsu_daemon { rootfs same_process_hal_file system_file }:file { mounton getattr };
55 | allow phhsu_daemon self:capability { sys_admin chown setuid setgid net_raw dac_override dac_read_search kill };
56 | allow phhsu_daemon self:capability2 { syslog };
57 | allow phhsu_daemon shell_exec:file rx_file_perms;
58 | allow phhsu_daemon system_file:file { rx_file_perms entrypoint };
59 | allow phhsu_daemon kmsg_device:chr_file { ioctl w_file_perms };
60 | allow phhsu_daemon toolbox_exec:file rx_file_perms;
61 | allow phhsu_daemon system_block_device:{ lnk_file file } r_file_perms;
62 |
63 | allow { phhsu_daemon shell } domain:dir rw_dir_perms;
64 | allow { phhsu_daemon shell } domain:file rw_file_perms;
65 | allow { phhsu_daemon shell } domain:lnk_file rw_file_perms;
66 | allow { phhsu_daemon shell } rootfs:file { rwx_file_perms create rename setattr unlink };
67 | allow { phhsu_daemon shell } rootfs:dir rw_dir_perms;
68 | allow phhsu_daemon asec_apk_file:dir rw_dir_perms;
69 |
70 | allow phhsu_daemon shell_devpts:chr_file rw_file_perms;
71 |
72 | allow phhsu_daemon app_data_file:dir rw_dir_perms;
73 | allow phhsu_daemon app_data_file:file { rwx_file_perms create rename setattr unlink };
74 | allow phhsu_daemon dalvikcache_data_file:dir rw_dir_perms;
75 | allow phhsu_daemon dalvikcache_data_file:file { rwx_file_perms create rename setattr unlink };
76 | allow phhsu_daemon dalvikcache_data_file:lnk_file { r_file_perms execmod };
77 | allow phhsu_daemon system_data_file:file { rwx_file_perms create rename setattr unlink };
78 | allow phhsu_daemon system_data_file:dir rw_dir_perms;
79 | allow phhsu_daemon system_data_file:file { rwx_file_perms create rename setattr unlink };
80 | allow phhsu_daemon system_file:dir rw_dir_perms;
81 | allow phhsu_daemon system_file:file { rwx_file_perms create rename setattr unlink };
82 | allow phhsu_daemon init:unix_stream_socket { connectto };
83 | allow phhsu_daemon self:process { ptrace setexec execmem setfscreate };
84 | allow phhsu_daemon app_data_file:file { rwx_file_perms create rename setattr unlink };
85 | allow phhsu_daemon app_data_file:dir rw_dir_perms;
86 | allow phhsu_daemon ashmem_device:chr_file { execute };
87 | allow phhsu_daemon dex2oat_exec:file rx_file_perms;
88 |
89 |
90 | allow phhsu_daemon phhsu_daemon_tmpfs:file rwx_file_perms;
91 |
92 | allow phhsu_daemon { proc_type dev_type exec_type file_type sysfs_type fs_type }:file { rwx_file_perms create };
93 | allow phhsu_daemon { proc_type dev_type exec_type file_type sysfs_type fs_type }:dir rw_dir_perms;
94 | allow phhsu_daemon { proc_type dev_type exec_type file_type sysfs_type fs_type }:chr_file rwx_file_perms;
95 | allow phhsu_daemon { proc_type dev_type exec_type file_type sysfs_type fs_type }:blk_file rw_file_perms;
96 |
97 | allow phhsu_daemon device:file rwx_file_perms;
98 | allow phhsu_daemon device:dir rw_dir_perms;
99 |
100 | allow phhsu_daemon domain:process { ptrace signal signull getattr };
101 | allow phhsu_daemon selinuxfs:file rwx_file_perms;
102 | allow domain phhsu_daemon:process { sigchld };
103 | allow phhsu_daemon domain:binder { call transfer };
104 | allow phhsu_daemon kernel:system { syslog_read syslog_mod };
105 | allow phhsu_daemon kernel:security { setenforce };
106 | allow phhsu_daemon domain:unix_stream_socket { getattr };
107 |
108 | allow phhsu_daemon logdr_socket:sock_file write;
109 | allow phhsu_daemon logd:unix_stream_socket connectto;
110 |
111 | allow phhsu_daemon property_type:property_service { set };
112 | allow phhsu_daemon property_socket:sock_file { write };
113 | allow phhsu_daemon property_type:file rw_file_perms;
114 | allow phhsu_daemon { hwservicemanager hwservice_manager_type }:hwservice_manager { list add find };
115 | allow phhsu_daemon domain:unix_dgram_socket rw_socket_perms;
116 |
117 | allow phhsu_daemon tombstoned_intercept_socket:sock_file { write };
118 | allow phhsu_daemon tombstoned:unix_stream_socket { connectto };
119 |
120 | allow phhsu_daemon { property_data_file data_file_type tmpfs }:file create_file_perms;
121 | allow phhsu_daemon { property_data_file data_file_type tmpfs }:dir create_dir_perms;
122 |
123 | allow phhsu_daemon fs_type:filesystem { remount remount unmount associate};
124 |
--------------------------------------------------------------------------------
/ld.config.27.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2017 The Android Open Source Project
2 | #
3 | # Bionic loader config file.
4 | #
5 |
6 | # Don't change the order here.
7 | dir.system = /system/bin/
8 | dir.system = /system/xbin/
9 | dir.vendor = /vendor/bin/
10 | dir.vendor = /data/nativetest/vendor
11 | dir.vendor = /data/nativetest64/vendor
12 | dir.vendor = /data/benchmarktest/vendor
13 | dir.vendor = /data/benchmarktest64/vendor
14 | dir.system = /data/nativetest
15 | dir.system = /data/nativetest64
16 | dir.system = /data/benchmarktest
17 | dir.system = /data/benchmarktest64
18 |
19 | [system]
20 | additional.namespaces = sphal,vndk,rs
21 |
22 | ###############################################################################
23 | # "default" namespace
24 | #
25 | # Framework-side code runs in this namespace. Anything from /vendor partition
26 | # can't be loaded in this namespace.
27 | ###############################################################################
28 | namespace.default.isolated = false
29 | namespace.default.search.paths = /system/${LIB}:/vendor/${LIB}
30 | namespace.default.permitted.paths = /system/${LIB}:/vendor/${LIB}
31 |
32 | namespace.default.asan.search.paths = /data/asan/system/${LIB}:/system/${LIB}:/data/asan/vendor/${LIB}:/vendor/${LIB}
33 | namespace.default.asan.permitted.paths = /data/asan/system/${LIB}:/system/${LIB}:/data/asan/vendor/${LIB}:/vendor/${LIB}
34 |
35 | # TODO(b/37013858): remove all dependencies to /vendor/lib from system processes
36 | # When this is done, comment out following three lines and remove the three
37 | # lines above
38 | #namespace.default.isolated = true
39 | #namespace.default.search.paths = /system/${LIB}
40 | #namespace.default.permitted.paths = /system/${LIB}
41 | #
42 | #namespace.default.asan.search.paths = /data/asan/system/${LIB}:/system/${LIB}
43 | #namespace.default.asan.permitted.paths = /data/asan/system/${LIB}:/system/${LIB}
44 |
45 | ###############################################################################
46 | # "sphal" namespace
47 | #
48 | # SP-HAL(Sameprocess-HAL)s are the only vendor libraries that are allowed to be
49 | # loaded inside system processes. libEGL_.so, libGLESv2_.so,
50 | # android.hardware.graphics.mapper@2.0-impl.so, etc are SP-HALs.
51 | #
52 | # This namespace is exclusivly for SP-HALs. When the framework tries to dynami-
53 | # cally load SP-HALs, android_dlopen_ext() is used to explicitly specifying
54 | # that they should be searched and loaded from this namespace.
55 | #
56 | # Note that there is no link from the default namespace to this namespace.
57 | ###############################################################################
58 | namespace.sphal.isolated = true
59 | namespace.sphal.visible = true
60 | namespace.sphal.search.paths = /vendor/${LIB}/egl:/vendor/${LIB}/hw:/vendor/${LIB}
61 | namespace.sphal.permitted.paths = /vendor/${LIB}:/system/${LIB}/vndk-sp-27/hw
62 |
63 | namespace.sphal.asan.search.paths = /data/asan/vendor/${LIB}/egl:/vendor/${LIB}/egl:/data/asan/vendor/${LIB}/hw:/vendor/${LIB}/hw:/data/asan/vendor/${LIB}:/vendor/${LIB}
64 | namespace.sphal.asan.permitted.paths = /data/asan/vendor/${LIB}:/vendor/${LIB}
65 |
66 | # Once in this namespace, access to libraries in /system/lib is restricted. Only
67 | # libs listed here can be used.
68 | namespace.sphal.links = default,vndk,rs
69 |
70 | # WARNING: only NDK libs can be listed here.
71 | namespace.sphal.link.default.shared_libs = libc.so:libm.so:libdl.so:libstdc++.so:liblog.so:libnativewindow.so:libEGL.so:libsync.so:libGLESv1_CM.so:libGLESv2.so:libvndksupport.so:libz.so
72 |
73 | # WARNING: only VNDK-SP libs can be listed here. DO NOT EDIT this line.
74 | namespace.sphal.link.vndk.shared_libs = android.hardware.renderscript@1.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.common@1.0.so:android.hidl.memory@1.0.so:libhwbinder.so:libbase.so:libcutils.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libhidltransport.so:libion.so:libutils.so:libc++.so
75 |
76 | # Renderscript gets separate namespace
77 | namespace.sphal.link.rs.shared_libs = libRS_internal.so
78 |
79 | ###############################################################################
80 | # "rs" namespace
81 | #
82 | # This namespace is exclusively for Renderscript internal libraries.
83 | # This namespace has slightly looser restriction than the vndk namespace because
84 | # of the genuine characteristics of Renderscript; /data is in the permitted path
85 | # to load the compiled *.so file and libmediandk.so can be used here.
86 | ###############################################################################
87 | namespace.rs.isolated = true
88 | namespace.rs.visible = true
89 | namespace.rs.search.paths = /vendor/${LIB}/vndk-sp:/system/${LIB}/vndk-sp-27:/vendor/${LIB}
90 | namespace.rs.permitted.paths = /vendor/${LIB}:/data
91 |
92 | namespace.rs.asan.search.paths = /data/asan/vendor/${LIB}/vndk-sp:/vendor/${LIB}/vndk-sp:/data/asan/system/${LIB}/vndk-sp-27:/system/${LIB}/vndk-sp-27:/data/asan/vendor/${LIB}:/vendor/${LIB}
93 | namespace.rs.asan.permitted.paths = /data/asan/vendor/${LIB}:/vendor/${LIB}:/data
94 |
95 | namespace.rs.links = default,vndk
96 | namespace.rs.link.default.shared_libs = libc.so:libm.so:libdl.so:libstdc++.so:liblog.so:libnativewindow.so:libEGL.so:libsync.so:libGLESv1_CM.so:libGLESv2.so:libmediandk.so:libvndksupport.so:libz.so:libft2.so
97 | namespace.rs.link.vndk.shared_libs = android.hardware.renderscript@1.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.common@1.0.so:android.hidl.memory@1.0.so:libhwbinder.so:libbase.so:libcutils.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libhidltransport.so:libion.so:libutils.so:libc++.so
98 |
99 | ###############################################################################
100 | # "vndk" namespace
101 | #
102 | # This namespace is exclusively for vndk-sp libs.
103 | ###############################################################################
104 | namespace.vndk.isolated = true
105 | namespace.vndk.visible = true
106 | namespace.vndk.search.paths = /vendor/${LIB}/vndk-sp:/system/${LIB}/vndk-sp-27
107 | namespace.vndk.permitted.paths = /vendor/${LIB}/hw:/vendor/${LIB}/egl
108 |
109 | namespace.vndk.asan.search.paths = /data/asan/vendor/${LIB}/vndk-sp:/vendor/${LIB}/vndk-sp:/data/asan/system/${LIB}/vndk-sp:/system/${LIB}/vndk-sp
110 | namespace.vndk.asan.permitted.paths = /data/asan/vendor/${LIB}/hw:/vendor/${LIB}/hw:/data/asan/vendor/${LIB}/egl:/vendor/${LIB}/egl
111 |
112 | # When these NDK libs are required inside this namespace, then it is redirected
113 | # to the default namespace. This is possible since their ABI is stable across
114 | # Android releases.
115 | namespace.vndk.links = default
116 | namespace.vndk.link.default.shared_libs = android.hidl.memory@1.0-impl.so:libc.so:libm.so:libdl.so:libstdc++.so:liblog.so:libnativewindow.so:libEGL.so:libsync.so:libvndksupport.so:libz.so
117 |
118 | ###############################################################################
119 | # Namespace config for vendor processes. In O, no restriction is enforced for
120 | # them. However, in O-MR1, access to /system/${LIB} will not be allowed to
121 | # the default namespace. 'system' namespace will be added to give limited
122 | # (LL-NDK only) access.
123 | ###############################################################################
124 | [vendor]
125 | namespace.default.isolated = false
126 | namespace.default.search.paths = /vendor/${LIB}/hw:/vendor/${LIB}/egl:/vendor/${LIB}:/system/${LIB}/vndk-27:/vendor/${LIB}/vndk-sp:/system/${LIB}/vndk-sp-27:/system/${LIB}
127 |
128 | namespace.default.asan.search.paths = /data/asan/vendor/${LIB}/hw:/vendor/${LIB}/hw:/data/asan/vendor/${LIB}/egl:/vendor/${LIB}/egl:/data/asan/vendor/${LIB}:/vendor/${LIB}:/data/asan/system/${LIB}/vndk:/system/${LIB}/vndk:/data/asan/vendor/${LIB}/vndk-sp:/vendor/${LIB}/vndk-sp:/data/asan/system/${LIB}/vndk-sp:/system/${LIB}/vndk-sp:/data/asan/system/${LIB}:/system/${LIB}
129 |
--------------------------------------------------------------------------------
/ld.config.26.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2017 The Android Open Source Project
2 | #
3 | # Bionic loader config file.
4 | #
5 |
6 | # Don't change the order here.
7 | dir.system = /system/bin/
8 | dir.system = /system/xbin/
9 | dir.vendor = /vendor/bin/
10 | dir.vendor = /data/nativetest/vendor
11 | dir.vendor = /data/nativetest64/vendor
12 | dir.vendor = /data/benchmarktest/vendor
13 | dir.vendor = /data/benchmarktest64/vendor
14 | dir.system = /data/nativetest
15 | dir.system = /data/nativetest64
16 | dir.system = /data/benchmarktest
17 | dir.system = /data/benchmarktest64
18 |
19 | [system]
20 | additional.namespaces = sphal,vndk,rs
21 |
22 | ###############################################################################
23 | # "default" namespace
24 | #
25 | # Framework-side code runs in this namespace. Anything from /vendor partition
26 | # can't be loaded in this namespace.
27 | ###############################################################################
28 | namespace.default.isolated = false
29 | namespace.default.search.paths = /system/${LIB}:/vendor/${LIB}
30 | namespace.default.permitted.paths = /system/${LIB}:/vendor/${LIB}
31 |
32 | namespace.default.asan.search.paths = /data/asan/system/${LIB}:/system/${LIB}:/data/asan/vendor/${LIB}:/vendor/${LIB}
33 | namespace.default.asan.permitted.paths = /data/asan/system/${LIB}:/system/${LIB}:/data/asan/vendor/${LIB}:/vendor/${LIB}
34 |
35 | # TODO(b/37013858): remove all dependencies to /vendor/lib from system processes
36 | # When this is done, comment out following three lines and remove the three
37 | # lines above
38 | #namespace.default.isolated = true
39 | #namespace.default.search.paths = /system/${LIB}
40 | #namespace.default.permitted.paths = /system/${LIB}
41 | #
42 | #namespace.default.asan.search.paths = /data/asan/system/${LIB}:/system/${LIB}
43 | #namespace.default.asan.permitted.paths = /data/asan/system/${LIB}:/system/${LIB}
44 |
45 | ###############################################################################
46 | # "sphal" namespace
47 | #
48 | # SP-HAL(Sameprocess-HAL)s are the only vendor libraries that are allowed to be
49 | # loaded inside system processes. libEGL_.so, libGLESv2_.so,
50 | # android.hardware.graphics.mapper@2.0-impl.so, etc are SP-HALs.
51 | #
52 | # This namespace is exclusivly for SP-HALs. When the framework tries to dynami-
53 | # cally load SP-HALs, android_dlopen_ext() is used to explicitly specifying
54 | # that they should be searched and loaded from this namespace.
55 | #
56 | # Note that there is no link from the default namespace to this namespace.
57 | ###############################################################################
58 | namespace.sphal.isolated = true
59 | namespace.sphal.visible = true
60 | namespace.sphal.search.paths = /vendor/${LIB}/egl:/vendor/${LIB}/hw:/vendor/${LIB}
61 | namespace.sphal.permitted.paths = /vendor/${LIB}:/system/${LIB}/vndk-sp-26/hw:/system/${LIB}/vndk-sp-27/hw
62 |
63 | namespace.sphal.asan.search.paths = /data/asan/vendor/${LIB}/egl:/vendor/${LIB}/egl:/data/asan/vendor/${LIB}/hw:/vendor/${LIB}/hw:/data/asan/vendor/${LIB}:/vendor/${LIB}
64 | namespace.sphal.asan.permitted.paths = /data/asan/vendor/${LIB}:/vendor/${LIB}
65 |
66 | # Once in this namespace, access to libraries in /system/lib is restricted. Only
67 | # libs listed here can be used.
68 | namespace.sphal.links = default,vndk,rs
69 |
70 | # WARNING: only NDK libs can be listed here.
71 | namespace.sphal.link.default.shared_libs = libc.so:libm.so:libdl.so:libstdc++.so:liblog.so:libnativewindow.so:libEGL.so:libsync.so:libGLESv1_CM.so:libGLESv2.so:libvndksupport.so:libz.so
72 |
73 | # WARNING: only VNDK-SP libs can be listed here. DO NOT EDIT this line.
74 | namespace.sphal.link.vndk.shared_libs = android.hardware.renderscript@1.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.common@1.0.so:android.hidl.memory@1.0.so:libhwbinder.so:libbase.so:libcutils.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libhidltransport.so:libion.so:libutils.so:libc++.so:android.hidl.base@1.0.so:libion.so
75 |
76 | # Renderscript gets separate namespace
77 | namespace.sphal.link.rs.shared_libs = libRS_internal.so
78 |
79 | ###############################################################################
80 | # "rs" namespace
81 | #
82 | # This namespace is exclusively for Renderscript internal libraries.
83 | # This namespace has slightly looser restriction than the vndk namespace because
84 | # of the genuine characteristics of Renderscript; /data is in the permitted path
85 | # to load the compiled *.so file and libmediandk.so can be used here.
86 | ###############################################################################
87 | namespace.rs.isolated = true
88 | namespace.rs.visible = true
89 | namespace.rs.search.paths = /vendor/${LIB}/vndk-sp:/system/${LIB}/vndk-sp-26:/vendor/${LIB}
90 | namespace.rs.permitted.paths = /vendor/${LIB}:/data
91 |
92 | namespace.rs.asan.search.paths = /data/asan/vendor/${LIB}/vndk-sp:/vendor/${LIB}/vndk-sp:/data/asan/system/${LIB}/vndk-sp:/system/${LIB}/vndk-sp-26:/data/asan/vendor/${LIB}:/vendor/${LIB}
93 | namespace.rs.asan.permitted.paths = /data/asan/vendor/${LIB}:/vendor/${LIB}:/data
94 |
95 | namespace.rs.links = default,vndk
96 | namespace.rs.link.default.shared_libs = libc.so:libm.so:libdl.so:libstdc++.so:liblog.so:libnativewindow.so:libEGL.so:libsync.so:libGLESv1_CM.so:libGLESv2.so:libmediandk.so:libvndksupport.so:libz.so:libft2.so
97 | namespace.rs.link.vndk.shared_libs = android.hardware.renderscript@1.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.common@1.0.so:android.hidl.memory@1.0.so:libhwbinder.so:libbase.so:libcutils.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libhidltransport.so:libion.so:libutils.so:libc++.so
98 |
99 | ###############################################################################
100 | # "vndk" namespace
101 | #
102 | # This namespace is exclusively for vndk-sp libs.
103 | ###############################################################################
104 | namespace.vndk.isolated = true
105 | namespace.vndk.visible = true
106 | namespace.vndk.search.paths = /vendor/${LIB}/vndk-sp:/system/${LIB}/vndk-sp-26
107 | namespace.vndk.permitted.paths = /vendor/${LIB}/hw:/vendor/${LIB}/egl
108 |
109 | namespace.vndk.asan.search.paths = /data/asan/vendor/${LIB}/vndk-sp:/vendor/${LIB}/vndk-sp:/data/asan/system/${LIB}/vndk-sp:/system/${LIB}/vndk-sp-26
110 | namespace.vndk.asan.permitted.paths = /data/asan/vendor/${LIB}/hw:/vendor/${LIB}/hw:/data/asan/vendor/${LIB}/egl:/vendor/${LIB}/egl
111 |
112 | # When these NDK libs are required inside this namespace, then it is redirected
113 | # to the default namespace. This is possible since their ABI is stable across
114 | # Android releases.
115 | namespace.vndk.links = default
116 | namespace.vndk.link.default.shared_libs = android.hidl.memory@1.0-impl.so:libc.so:libm.so:libdl.so:libstdc++.so:liblog.so:libnativewindow.so:libEGL.so:libsync.so:libvndksupport.so:libz.so
117 |
118 | ###############################################################################
119 | # Namespace config for vendor processes. In O, no restriction is enforced for
120 | # them. However, in O-MR1, access to /system/${LIB} will not be allowed to
121 | # the default namespace. 'system' namespace will be added to give limited
122 | # (LL-NDK only) access.
123 | ###############################################################################
124 | [vendor]
125 | namespace.default.isolated = false
126 | namespace.default.search.paths = /vendor/${LIB}/hw:/vendor/${LIB}/egl:/vendor/${LIB}:/system/${LIB}/vndk-26:/vendor/${LIB}/vndk-sp:/system/${LIB}/vndk-sp-26:/system/${LIB}
127 |
128 | namespace.default.asan.search.paths = /data/asan/vendor/${LIB}/hw:/vendor/${LIB}/hw:/data/asan/vendor/${LIB}/egl:/vendor/${LIB}/egl:/data/asan/vendor/${LIB}:/vendor/${LIB}:/data/asan/system/${LIB}/vndk:/system/${LIB}/vndk-26:/data/asan/vendor/${LIB}/vndk-sp:/vendor/${LIB}/vndk-sp:/data/asan/system/${LIB}/vndk-sp:/system/${LIB}/vndk-sp-26:/data/asan/system/${LIB}:/system/${LIB}
129 |
--------------------------------------------------------------------------------