├── odm.prop ├── product.prop ├── sepolicy ├── vendor │ ├── rild.te │ ├── sensors.te │ ├── hal_wifi_default.te │ ├── mediaserver.te │ ├── service.te │ ├── hal_bootctl_default.te │ ├── hal_neuralnetworks_default.te │ ├── hal_ir_default.te │ ├── init.te │ ├── app.te │ ├── vendor_qtelephony.te │ ├── hal_secure_element_default.te │ ├── dumpstate.te │ ├── hal_nfc_default.te │ ├── hal_bluetooth_default.te │ ├── tee.te │ ├── hal_gnss_qti.te │ ├── surfaceflinger.te │ ├── hal_lineage_powershare_default.te │ ├── qti_init_shell.te │ ├── hal_lineage_health_default.te │ ├── property.te │ ├── hal_audio_default.te │ ├── hal_power_default.te │ ├── hal_cameraperf.te │ ├── service_contexts │ ├── vendor_init.te │ ├── hal_googlebattery.te │ ├── hal_wlc.te │ ├── attributes │ ├── hal_camerapostproc_xiaomi.te │ ├── system_server.te │ ├── gmscore_app.te │ ├── untrusted_app.te │ ├── hal_perf_default.te │ ├── hal_sensors_default.te │ ├── hal_mlipay.te │ ├── hal_camera_default.te │ ├── property_contexts │ ├── vendor_hal_citsensorservice_xiaomi.te │ ├── mi_thermald.te │ ├── hal_fingerprint_default.te │ ├── battery.te │ ├── system_app.te │ ├── hwservice_contexts │ └── platform_app.te ├── dolby │ ├── hwservice.te │ ├── attributes │ ├── mediacodec.te │ ├── priv_app.te │ ├── hwservice_contexts │ ├── platform_app.te │ ├── hal_audio_default.te │ ├── file_contexts │ ├── hal_dms.te │ └── hal_dms_default.te ├── private │ ├── mediaprovider_app.te │ ├── vendor_qtelephony.te │ ├── vold_prepare_subdirs.te │ ├── system_server.te │ ├── platform_app.te │ ├── dontaudit.te │ ├── service_contexts │ ├── system_app.te │ └── property_contexts └── public │ └── attributes ├── gps ├── android │ ├── Android.mk │ ├── 1.0 │ │ ├── android.hardware.gnss@1.0-service-qti.rc │ │ ├── android.hardware.gnss@1.0-service-qti.xml │ │ ├── GnssDebug.h │ │ ├── GnssConfiguration.h │ │ ├── GnssNi.h │ │ └── AGnss.h │ ├── 1.1 │ │ ├── android.hardware.gnss@1.1-service-qti.rc │ │ ├── android.hardware.gnss@1.1-service-qti.xml │ │ ├── GnssDebug.h │ │ ├── GnssNi.h │ │ └── AGnss.h │ ├── 2.0 │ │ ├── android.hardware.gnss@2.0-service-qti.rc │ │ ├── android.hardware.gnss@2.0-service-qti.xml │ │ ├── GnssDebug.h │ │ ├── GnssNi.h │ │ └── AGnss.h │ ├── 2.1 │ │ ├── android.hardware.gnss@2.1-service-qti.rc │ │ ├── android.hardware.gnss@2.1-service-qti.xml │ │ ├── GnssDebug.h │ │ ├── GnssNi.h │ │ └── AGnss.h │ └── utils │ │ └── Android.bp ├── pla │ └── Android.bp ├── Makefile.am ├── gps_vendor_board.mk ├── core │ ├── loc-core.pc.in │ ├── Android.bp │ ├── data-items │ │ └── DataItemsFactoryProxy.h │ ├── Makefile.am │ └── LocContext.h ├── utils │ ├── gps-utils.pc.in │ ├── Android.bp │ ├── LocLoggerBase.h │ ├── Makefile.am │ └── MsgTask.h ├── location │ ├── location-api.pc.in │ ├── Android.bp │ └── Makefile.am ├── batching │ ├── location-batching.pc.in │ ├── Android.bp │ ├── Makefile.am │ └── configure.ac ├── geofence │ ├── location-geofence.pc.in │ ├── Android.bp │ ├── Makefile.am │ └── configure.ac ├── loc-hal.pc.in ├── Android.bp ├── gnss │ ├── Android.bp │ └── Makefile.am ├── Android.mk ├── etc │ ├── lowi.conf │ ├── Android.bp │ ├── seccomp_policy │ │ └── gnss@2.0-xtra-daemon.policy │ └── flp.conf ├── gps_vendor_product.mk └── CleanSpec.mk ├── README.md ├── Android.bp ├── parts ├── res │ ├── raw │ │ └── clear_speaker_sound.mp3 │ ├── mipmap-anydpi │ │ └── ic_launcher.xml │ ├── drawable │ │ ├── ic_launcher_background.xml │ │ ├── ic_thermal_camera.xml │ │ ├── ic_thermal_video.xml │ │ ├── ic_thermal_default.xml │ │ ├── ic_thermal_navigation.xml │ │ ├── ic_refresh_default.xml │ │ ├── ic_thermal_streaming.xml │ │ ├── ic_thermal_dialer.xml │ │ ├── ic_thermal_gaming.xml │ │ ├── ic_thermal_benchmark.xml │ │ ├── ic_refresh_60.xml │ │ ├── ic_clear_speaker.xml │ │ ├── ic_thermal_browser.xml │ │ ├── ic_refresh_120.xml │ │ └── ic_launcher_foreground.xml │ ├── xml │ │ └── clear_speaker_settings.xml │ ├── layout │ │ ├── refresh_layout.xml │ │ └── thermal_layout.xml │ ├── values │ │ ├── themes.xml │ │ └── strings.xml │ └── values-tr │ │ └── strings.xml ├── proguard.flags ├── Android.bp └── src │ └── org │ └── lineageos │ └── settings │ ├── BootCompletedReceiver.java │ ├── speaker │ └── ClearSpeakerActivity.java │ ├── refreshrate │ └── RefreshActivity.java │ ├── thermal │ └── ThermalSettingsActivity.java │ └── dolby │ └── DolbyActivity.java ├── wifi ├── p2p_supplicant_overlay.conf └── wpa_supplicant_overlay.conf ├── configs ├── public.libraries.txt ├── perf │ └── msm_irqbalance.conf ├── privapp-permissions-hotword.xml ├── camera_cnf.txt ├── telephony_system-ext_privapp-permissions-qti.xml └── qti_whitelist.xml ├── rro_overlays ├── WifiOverlay │ ├── Android.bp │ └── AndroidManifest.xml └── CarrierConfigOverlay │ ├── Android.bp │ └── AndroidManifest.xml ├── vibrator ├── aidl │ ├── vendor.qti.hardware.vibrator.service.xiaomi_sm8350.rc │ ├── vendor.qti.hardware.vibrator.service.xiaomi_sm8350.xml │ ├── Android.bp │ └── service.cpp ├── effect │ ├── Android.bp │ └── effect.h └── excluded-input-devices.xml ├── system_ext.prop ├── rootdir ├── etc │ ├── init.mi_thermald.rc │ ├── init.recovery.qcom.rc │ ├── charger_fstab.qcom │ ├── init.xiaomi-sm8350.perf.rc │ └── init.batterysecret.rc └── bin │ ├── vendor_modprobe.sh │ └── init.kernel.post_boot.sh ├── hidl ├── manifest_lineage.xml ├── manifest_xiaomi.xml └── xiaomi_framework_compatibility_matrix.xml ├── udfps └── Android.bp ├── removepackagesgms └── Android.mk ├── overlay ├── frameworks │ └── base │ │ └── packages │ │ └── SystemUI │ │ └── res │ │ └── values-sw372dp │ │ └── dimens.xml └── packages │ └── services │ └── Telephony │ └── res │ └── values │ └── config.xml ├── bootctrl └── Android.bp ├── overlay-superior ├── packages │ └── apps │ │ └── Dialer │ │ └── java │ │ └── com │ │ └── android │ │ └── dialer │ │ └── callrecord │ │ └── res │ │ └── values │ │ └── config.xml └── frameworks │ └── base │ ├── core │ └── res │ │ └── res │ │ └── values │ │ └── config.xml │ └── packages │ └── SystemUI │ └── res │ └── values │ └── config.xml ├── media └── media_codecs_vendor_audio.xml ├── gpt-utils └── Android.bp ├── setup-makefiles.sh ├── dolby └── permissions │ ├── privapp-com.dolby.daxappui.xml │ └── privapp-com.dolby.daxservice.xml ├── power └── power-mode.cpp ├── system.prop └── config.fs /odm.prop: -------------------------------------------------------------------------------- 1 | # Qcom 2 | ro.vendor.qti.va_odm.support=1 3 | -------------------------------------------------------------------------------- /product.prop: -------------------------------------------------------------------------------- 1 | # Blur 2 | ro.launcher.blur.appLaunch=0 3 | -------------------------------------------------------------------------------- /sepolicy/vendor/rild.te: -------------------------------------------------------------------------------- 1 | # IMEI 2 | set_prop(rild, vendor_deviceid_prop) 3 | -------------------------------------------------------------------------------- /sepolicy/vendor/sensors.te: -------------------------------------------------------------------------------- 1 | r_dir_file(vendor_sensors, vendor_sysfs_graphics) 2 | -------------------------------------------------------------------------------- /sepolicy/dolby/hwservice.te: -------------------------------------------------------------------------------- 1 | # Dolby 2 | type hal_dms_hwservice, hwservice_manager_type; 3 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_wifi_default.te: -------------------------------------------------------------------------------- 1 | allow hal_wifi_default self:capability sys_module; 2 | -------------------------------------------------------------------------------- /gps/android/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | include $(call all-subdir-makefiles) 3 | -------------------------------------------------------------------------------- /sepolicy/private/mediaprovider_app.te: -------------------------------------------------------------------------------- 1 | allow mediaprovider_app radio_service:service_manager find; 2 | -------------------------------------------------------------------------------- /sepolicy/vendor/mediaserver.te: -------------------------------------------------------------------------------- 1 | allow mediaserver package_native_service:service_manager { find }; 2 | -------------------------------------------------------------------------------- /sepolicy/vendor/service.te: -------------------------------------------------------------------------------- 1 | type hal_googlebattery_service, hal_service_type, service_manager_type; 2 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_bootctl_default.te: -------------------------------------------------------------------------------- 1 | allow hal_bootctl_default vendor_uefi_block_device:blk_file getattr; 2 | -------------------------------------------------------------------------------- /sepolicy/private/vendor_qtelephony.te: -------------------------------------------------------------------------------- 1 | allow vendor_qtelephony vendor_hal_telephony_service:service_manager find; 2 | -------------------------------------------------------------------------------- /sepolicy/public/attributes: -------------------------------------------------------------------------------- 1 | attribute hal_mlipay; 2 | attribute hal_mlipay_client; 3 | attribute hal_mlipay_server; 4 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_neuralnetworks_default.te: -------------------------------------------------------------------------------- 1 | get_prop(vendor_hal_neuralnetworks_default, graphics_config_prop) 2 | -------------------------------------------------------------------------------- /sepolicy/dolby/attributes: -------------------------------------------------------------------------------- 1 | # HALs 2 | attribute hal_dms; 3 | attribute hal_dms_client; 4 | attribute hal_dms_server; 5 | -------------------------------------------------------------------------------- /sepolicy/private/vold_prepare_subdirs.te: -------------------------------------------------------------------------------- 1 | allow vold_prepare_subdirs { 2 | checkin_data_file 3 | }:dir relabelfrom; 4 | -------------------------------------------------------------------------------- /sepolicy/private/system_server.te: -------------------------------------------------------------------------------- 1 | # Allow system_server to read wifi_hal_prop 2 | get_prop(system_server, wifi_hal_prop) 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Copyright (C) 2020 - The LineageOS Project 2 | 3 | Common device tree for Xiaomi SM8350 based devices 4 | ============== 5 | -------------------------------------------------------------------------------- /sepolicy/dolby/mediacodec.te: -------------------------------------------------------------------------------- 1 | allow mediacodec hal_dms_hwservice:hwservice_manager find; 2 | binder_call(mediacodec, hal_dms_default) 3 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_ir_default.te: -------------------------------------------------------------------------------- 1 | type ir_spi_device, dev_type; 2 | 3 | allow hal_ir_default ir_spi_device:chr_file rw_file_perms; 4 | -------------------------------------------------------------------------------- /Android.bp: -------------------------------------------------------------------------------- 1 | soong_namespace { 2 | imports: [ 3 | "hardware/qcom-caf/bootctrl", 4 | "hardware/xiaomi", 5 | ], 6 | } 7 | -------------------------------------------------------------------------------- /sepolicy/dolby/priv_app.te: -------------------------------------------------------------------------------- 1 | # Dolby 2 | allow priv_app hal_dms_hwservice:hwservice_manager find; 3 | binder_call(priv_app, hal_dms_default) 4 | -------------------------------------------------------------------------------- /sepolicy/vendor/init.te: -------------------------------------------------------------------------------- 1 | # FPS info 2 | allow init vendor_sysfs_graphics:dir search; 3 | allow init vendor_sysfs_graphics:file rw_file_perms; 4 | -------------------------------------------------------------------------------- /sepolicy/vendor/app.te: -------------------------------------------------------------------------------- 1 | get_prop({ appdomain -isolated_app_all }, vendor_fp_prop) 2 | get_prop({ appdomain -isolated_app_all }, vendor_mlipay_prop) 3 | -------------------------------------------------------------------------------- /sepolicy/dolby/hwservice_contexts: -------------------------------------------------------------------------------- 1 | # Dolby 2 | vendor.dolby.hardware.dms::IDms u:object_r:hal_dms_hwservice:s0 3 | -------------------------------------------------------------------------------- /sepolicy/dolby/platform_app.te: -------------------------------------------------------------------------------- 1 | # Dolby 2 | allow platform_app hal_dms_hwservice:hwservice_manager find; 3 | binder_call(platform_app, hal_dms_default) 4 | -------------------------------------------------------------------------------- /gps/pla/Android.bp: -------------------------------------------------------------------------------- 1 | 2 | cc_library_headers { 3 | 4 | name: "libloc_pla_headers", 5 | export_include_dirs: ["android"], 6 | vendor: true, 7 | } 8 | -------------------------------------------------------------------------------- /parts/res/raw/clear_speaker_sound.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SuperiorOS-Devices/device_xiaomi_haydn-common/fourteen/parts/res/raw/clear_speaker_sound.mp3 -------------------------------------------------------------------------------- /sepolicy/dolby/hal_audio_default.te: -------------------------------------------------------------------------------- 1 | # Dolby 2 | allow hal_audio_default hal_dms_hwservice:hwservice_manager find; 3 | binder_call(hal_audio_default, hal_dms_default) 4 | -------------------------------------------------------------------------------- /sepolicy/vendor/vendor_qtelephony.te: -------------------------------------------------------------------------------- 1 | set_prop(vendor_qtelephony, radio_prop) 2 | 3 | allow vendor_qtelephony vendor_hal_datafactory_hwservice:hwservice_manager find; 4 | -------------------------------------------------------------------------------- /wifi/p2p_supplicant_overlay.conf: -------------------------------------------------------------------------------- 1 | disable_scan_offload=1 2 | p2p_no_group_iface=1 3 | persistent_reconnect=1 4 | bss_max_count=400 5 | p2p_go_he=1 6 | p2p_6ghz_disable=1 7 | -------------------------------------------------------------------------------- /configs/public.libraries.txt: -------------------------------------------------------------------------------- 1 | libqti-perfd-client.so 2 | libadsprpc.so 3 | libcdsprpc.so 4 | libsdsprpc.so 5 | libfastcvopt.so 6 | liblistensoundmodel2.so 7 | libOpenCL.so 8 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_secure_element_default.te: -------------------------------------------------------------------------------- 1 | # Allow Secure Element hal to access /date/vendor/nfc/ 2 | r_dir_file(hal_secure_element_default, vendor_nfc_vendor_data_file) 3 | -------------------------------------------------------------------------------- /sepolicy/vendor/dumpstate.te: -------------------------------------------------------------------------------- 1 | # To find and bind Google Battery HAL 2 | allow dumpstate hal_googlebattery_service:service_manager find; 3 | binder_call(dumpstate, hal_googlebattery) 4 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_nfc_default.te: -------------------------------------------------------------------------------- 1 | allow hal_nfc_default vendor_nfc_vendor_data_file:dir create_dir_perms; 2 | allow hal_nfc_default vendor_nfc_vendor_data_file:file create_file_perms; 3 | -------------------------------------------------------------------------------- /rro_overlays/WifiOverlay/Android.bp: -------------------------------------------------------------------------------- 1 | runtime_resource_overlay { 2 | name: "WifiOverlay", 3 | theme: "WifiOverlay", 4 | sdk_version: "current", 5 | product_specific: true 6 | } 7 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_bluetooth_default.te: -------------------------------------------------------------------------------- 1 | allow hal_bluetooth_default vendor_wifi_vendor_data_file:dir { search }; 2 | allow hal_bluetooth_default vendor_wifi_vendor_data_file:file { read open }; 3 | -------------------------------------------------------------------------------- /sepolicy/vendor/tee.te: -------------------------------------------------------------------------------- 1 | allow tee vendor_fingerprint_data_file:dir create_dir_perms; 2 | allow tee vendor_fingerprint_data_file:file create_file_perms; 3 | allow tee vendor_bsg_device:chr_file { setattr }; 4 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_gnss_qti.te: -------------------------------------------------------------------------------- 1 | # xtra-daemon control 2 | get_prop(vendor_hal_gnss_qti, xtra_control_prop) 3 | 4 | # Allow gnss to read boot status prop 5 | get_prop(vendor_hal_gnss_qti, boot_status_prop) 6 | -------------------------------------------------------------------------------- /gps/android/1.0/android.hardware.gnss@1.0-service-qti.rc: -------------------------------------------------------------------------------- 1 | service gnss_service /vendor/bin/hw/android.hardware.gnss@1.0-service-qti 2 | class hal 3 | user gps 4 | group system gps radio vendor_qti_diag 5 | -------------------------------------------------------------------------------- /gps/android/1.1/android.hardware.gnss@1.1-service-qti.rc: -------------------------------------------------------------------------------- 1 | service gnss_service /vendor/bin/hw/android.hardware.gnss@1.1-service-qti 2 | class hal 3 | user gps 4 | group system gps radio vendor_qti_diag 5 | -------------------------------------------------------------------------------- /gps/android/2.0/android.hardware.gnss@2.0-service-qti.rc: -------------------------------------------------------------------------------- 1 | service gnss_service /vendor/bin/hw/android.hardware.gnss@2.0-service-qti 2 | class hal 3 | user gps 4 | group system gps radio vendor_qti_diag 5 | -------------------------------------------------------------------------------- /gps/android/2.1/android.hardware.gnss@2.1-service-qti.rc: -------------------------------------------------------------------------------- 1 | service gnss_service /vendor/bin/hw/android.hardware.gnss@2.1-service-qti 2 | class hal 3 | user gps 4 | group system gps radio vendor_qti_diag 5 | -------------------------------------------------------------------------------- /sepolicy/vendor/surfaceflinger.te: -------------------------------------------------------------------------------- 1 | allow surfaceflinger hal_graphics_composer_default:file r_file_perms; 2 | 3 | # Allow to use release fence fds supplied by hal_camera 4 | allow surfaceflinger hal_camera:fd use; 5 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_lineage_powershare_default.te: -------------------------------------------------------------------------------- 1 | allow hal_lineage_powershare_default vendor_sysfs_battery_supply:dir search; 2 | allow hal_lineage_powershare_default vendor_sysfs_battery_supply:file rw_file_perms; 3 | -------------------------------------------------------------------------------- /vibrator/aidl/vendor.qti.hardware.vibrator.service.xiaomi_sm8350.rc: -------------------------------------------------------------------------------- 1 | service vendor.qti.vibrator /vendor/bin/hw/vendor.qti.hardware.vibrator.service.xiaomi_sm8350 2 | class hal 3 | user system 4 | group system input 5 | -------------------------------------------------------------------------------- /parts/proguard.flags: -------------------------------------------------------------------------------- 1 | -keep class org.lineageos.settings.speaker.* { 2 | *; 3 | } 4 | 5 | -keep class org.lineageos.settings.refreshrate.* { 6 | *; 7 | } 8 | 9 | -keep class org.lineageos.settings.thermal.* { 10 | *; 11 | } 12 | -------------------------------------------------------------------------------- /sepolicy/vendor/qti_init_shell.te: -------------------------------------------------------------------------------- 1 | allow vendor_qti_init_shell proc_page_cluster:file rw_file_perms; 2 | 3 | # Set ro.vendor.media_performance_class in QCV init shell script 4 | set_prop(vendor_qti_init_shell, vendor_media_performance_class) 5 | -------------------------------------------------------------------------------- /gps/Makefile.am: -------------------------------------------------------------------------------- 1 | # Makefile.am - Automake script for gps loc_api 2 | # 3 | 4 | ACLOCAL_AMFLAGS = -I m4 5 | 6 | SUBDIRS = gnss 7 | 8 | pkgconfigdir = $(libdir)/pkgconfig 9 | pkgconfig_DATA = loc-hal.pc 10 | EXTRA_DIST = $(pkgconfig_DATA) 11 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_lineage_health_default.te: -------------------------------------------------------------------------------- 1 | # Grant access to battery supply nodes 2 | allow hal_lineage_health_default vendor_sysfs_battery_supply:dir r_dir_perms; 3 | allow hal_lineage_health_default vendor_sysfs_battery_supply:file rw_file_perms; 4 | -------------------------------------------------------------------------------- /rro_overlays/CarrierConfigOverlay/Android.bp: -------------------------------------------------------------------------------- 1 | runtime_resource_overlay { 2 | name: "CarrierConfigOverlay", 3 | theme: "CarrierConfigOverlay", 4 | sdk_version: "current", 5 | product_specific: true, 6 | aaptflags: ["--keep-raw-values"], 7 | } 8 | -------------------------------------------------------------------------------- /sepolicy/vendor/property.te: -------------------------------------------------------------------------------- 1 | # Aware 2 | vendor_restricted_prop(vendor_aware_available_prop); 3 | 4 | # IMEI 5 | vendor_internal_prop(vendor_deviceid_prop); 6 | 7 | # Property to set media performance class 8 | vendor_internal_prop(vendor_media_performance_class); 9 | -------------------------------------------------------------------------------- /gps/gps_vendor_board.mk: -------------------------------------------------------------------------------- 1 | # Flags from BoardConfigVendor.mk 2 | ifneq ($(TARGET_USES_QMAA),true) 3 | BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default 4 | else ifneq ($(TARGET_USES_QMAA_OVERRIDE_GPS),false) 5 | BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default 6 | endif 7 | 8 | -------------------------------------------------------------------------------- /gps/core/loc-core.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: loc-core 7 | Description: QTI GPS Loc Core 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lloc_core 10 | Cflags: -I${includedir}/loc-core 11 | -------------------------------------------------------------------------------- /sepolicy/dolby/file_contexts: -------------------------------------------------------------------------------- 1 | # Data files 2 | /data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0 3 | 4 | # HALs 5 | /(vendor|system/vendor)/bin/hw/vendor\.dolby\.hardware\.dms@2\.0-service u:object_r:hal_dms_default_exec:s0 6 | -------------------------------------------------------------------------------- /gps/utils/gps-utils.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: gps-utils 7 | Description: QTI GPS Location utils 8 | Version: @VERSION 9 | Libs: -L${libdir} -lgps_utils 10 | Cflags: -I${includedir}/gps-utils 11 | -------------------------------------------------------------------------------- /wifi/wpa_supplicant_overlay.conf: -------------------------------------------------------------------------------- 1 | disable_scan_offload=1 2 | p2p_disabled=1 3 | tdls_external_control=1 4 | wowlan_triggers=magic_pkt 5 | bss_max_count=400 6 | interworking=1 7 | config_methods=virtual_display virtual_push_button keypad 8 | driver_param="use_p2p_group_interface=1 no_rrm=1" 9 | -------------------------------------------------------------------------------- /gps/location/location-api.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: location-api 7 | Description: Location API 8 | Version: @VERSION 9 | Libs: -L${libdir} -llocation_api 10 | Cflags: -I${includedir}/location-api 11 | -------------------------------------------------------------------------------- /sepolicy/private/platform_app.te: -------------------------------------------------------------------------------- 1 | allow platform_app config_gz:file r_file_perms; 2 | 3 | # Allow bypassing the FUSE layer 4 | r_dir_file(platform_app, mnt_pass_through_file) 5 | 6 | # Allow externalstorage access 7 | allow platform_app mnt_pass_through_file:dir { create_dir_perms mounton }; 8 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_audio_default.te: -------------------------------------------------------------------------------- 1 | type audio_socket, file_type; 2 | type sound_device, dev_type; 3 | 4 | set_prop(hal_audio_default, vendor_audio_prop) 5 | 6 | allow hal_audio_default audio_socket:sock_file rw_file_perms; 7 | allow hal_audio_default sound_device:chr_file rw_file_perms; 8 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_power_default.te: -------------------------------------------------------------------------------- 1 | type vendor_sysfs_double_tap, sysfs_type, fs_type; 2 | type vendor_touchfeature_device, dev_type; 3 | 4 | allow hal_power_default vendor_sysfs_double_tap:file rw_file_perms; 5 | allow hal_power_default vendor_touchfeature_device:chr_file rw_file_perms; 6 | -------------------------------------------------------------------------------- /sepolicy/dolby/hal_dms.te: -------------------------------------------------------------------------------- 1 | # HwBinder IPC from client to server, and callbacks 2 | binder_call(hal_dms_client, hal_dms_server) 3 | binder_call(hal_dms_server, hal_dms_client) 4 | 5 | add_hwservice(hal_dms_server, hal_dms_hwservice) 6 | allow hal_dms_client hal_dms_hwservice:hwservice_manager find; 7 | -------------------------------------------------------------------------------- /gps/batching/location-batching.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: location-batching 7 | Description: QTI GPS Batching 8 | Version: @VERSION 9 | Libs: -L${libdir} -lbatching 10 | Cflags: -I${includedir}/location-batching 11 | -------------------------------------------------------------------------------- /gps/geofence/location-geofence.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: location-geofence 7 | Description: QTI GPS Geofence 8 | Version: @VERSION 9 | Libs: -L${libdir} -lgeofencing 10 | Cflags: -I${includedir}/location-geofence 11 | -------------------------------------------------------------------------------- /gps/loc-hal.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: loc-hal 7 | Description: QTI GPS Loc HAL 8 | Version: @VERSION 9 | Libs: -L${libdir} -lgnss 10 | Cflags: -I${includedir} -I${includedir}/utils -I${includedir}/core -I${includedir}/loc-hal 11 | -------------------------------------------------------------------------------- /system_ext.prop: -------------------------------------------------------------------------------- 1 | # DPM 2 | persist.vendor.dpm.feature=11 3 | 4 | # EGL - Blobcache configuration 5 | ro.egl.blobcache.multifile=true 6 | ro.egl.blobcache.multifile_limit=33554432 7 | 8 | # MTE 9 | persist.arm64.memtag.system_server=off 10 | 11 | # Telephony 12 | ro.telephony.sim_slots.count=2 13 | telephony.active_modems.max_count=2 14 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_cameraperf.te: -------------------------------------------------------------------------------- 1 | add_hwservice(vendor_hal_cameraperf_server, vendor_hal_cameraperf_hwservice) 2 | allow vendor_hal_cameraperf_client vendor_hal_cameraperf_hwservice:hwservice_manager find; 3 | binder_call(vendor_hal_cameraperf_client, vendor_hal_cameraperf_server) 4 | binder_call(vendor_hal_cameraperf_server, vendor_hal_cameraperf_client) 5 | -------------------------------------------------------------------------------- /rootdir/etc/init.mi_thermald.rc: -------------------------------------------------------------------------------- 1 | on property:init.svc.vendor.charger=running 2 | wait /sys/class/power_supply/usb/type 3 | start mi_thermald 4 | on boot 5 | wait /sys/class/power_supply/usb/type 6 | start mi_thermald 7 | 8 | service mi_thermald /vendor/bin/mi_thermald 9 | class main 10 | user root 11 | group system 12 | seclabel u:r:mi_thermald:s0 13 | -------------------------------------------------------------------------------- /sepolicy/vendor/service_contexts: -------------------------------------------------------------------------------- 1 | # NFC 2 | vendor.nxp.nxpnfc_aidl.INxpNfc/default u:object_r:hal_nfc_service:s0 3 | 4 | # Google 5 | vendor.google.google_battery.IGoogleBattery u:object_r:hal_googlebattery_service:s0 6 | vendor.google.google_battery.IGoogleBattery/default u:object_r:hal_googlebattery_service:s0 7 | -------------------------------------------------------------------------------- /sepolicy/vendor/vendor_init.te: -------------------------------------------------------------------------------- 1 | # Allow vendor_init to set vendor_thermal_normal_prop 2 | set_prop(vendor_init, vendor_thermal_normal_prop) 3 | 4 | # Allow vendor_init to read vendor_media_performance_class 5 | get_prop(vendor_init, vendor_media_performance_class); 6 | 7 | # Allow vendor_init to change watermark_scale_factor 8 | allow vendor_init proc_watermark_scale_factor:file w_file_perms; 9 | -------------------------------------------------------------------------------- /vibrator/effect/Android.bp: -------------------------------------------------------------------------------- 1 | Common_CFlags = ["-Wall"] 2 | Common_CFlags += ["-Werror"] 3 | 4 | cc_library_shared { 5 | name: "libxiaomivibratoreffect", 6 | vendor: true, 7 | cflags: Common_CFlags, 8 | srcs: ["effect.cpp"], 9 | shared_libs: [ 10 | "libcutils", 11 | "liblog", 12 | "libutils", 13 | ], 14 | export_include_dirs: ["."] 15 | } 16 | -------------------------------------------------------------------------------- /hidl/manifest_lineage.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.lineage.livedisplay 4 | hwbinder 5 | 2.0 6 | 7 | IPictureAdjustment 8 | default 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /udfps/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | cc_library { 8 | name: "libudfpshandler", 9 | vendor: true, 10 | srcs: ["UdfpsHandler.cpp"], 11 | shared_libs: [ 12 | "libbase", 13 | ], 14 | header_libs: [ 15 | "//hardware/xiaomi:xiaomifingerprint_headers", 16 | ], 17 | } 18 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_googlebattery.te: -------------------------------------------------------------------------------- 1 | type hal_googlebattery, domain; 2 | type hal_googlebattery_exec, exec_type, vendor_file_type, file_type; 3 | 4 | init_daemon_domain(hal_googlebattery) 5 | 6 | binder_call(hal_googlebattery, servicemanager) 7 | add_service(hal_googlebattery, hal_googlebattery_service) 8 | 9 | allow hal_googlebattery dumpstate:fd use; 10 | allow hal_googlebattery dumpstate:fifo_file write; 11 | -------------------------------------------------------------------------------- /rootdir/etc/init.recovery.qcom.rc: -------------------------------------------------------------------------------- 1 | on fs 2 | wait /dev/block/platform/soc/${ro.boot.bootdevice} 3 | symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice 4 | 5 | on init 6 | setprop sys.usb.configfs 1 7 | 8 | on property:ro.boot.usbcontroller=* 9 | setprop sys.usb.controller ${ro.boot.usbcontroller} 10 | write /sys/class/udc/${ro.boot.usbcontroller}/device/../mode peripheral 11 | -------------------------------------------------------------------------------- /sepolicy/private/dontaudit.te: -------------------------------------------------------------------------------- 1 | dontaudit vdc self:capability kill; 2 | dontaudit fsck self:capability kill; 3 | dontaudit odrefresh self:capability kill; 4 | dontaudit linkerconfig self:capability kill; 5 | dontaudit zygote self:capability kill; 6 | dontaudit kernel self:capability { dac_read_search sys_admin kill }; 7 | dontaudit isolated_app content_capture_service:service_manager find; 8 | dontaudit system_server fuse:file rw_file_perms; 9 | -------------------------------------------------------------------------------- /parts/res/mipmap-anydpi/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /sepolicy/private/service_contexts: -------------------------------------------------------------------------------- 1 | # IMS 2 | vendor.qti.hardware.radio.ims.IImsRadio/imsradio0 u:object_r:vendor_hal_telephony_service:s0 3 | vendor.qti.hardware.radio.ims.IImsRadio/imsradio1 u:object_r:vendor_hal_telephony_service:s0 4 | vendor.qti.hardware.radio.am.IQcRilAudio/slot1 u:object_r:vendor_hal_telephony_service:s0 5 | vendor.qti.hardware.radio.am.IQcRilAudio/slot2 u:object_r:vendor_hal_telephony_service:s0 6 | -------------------------------------------------------------------------------- /removepackagesgms/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | include $(CLEAR_VARS) 3 | LOCAL_MODULE := RemovePackagesGms 4 | LOCAL_MODULE_CLASS := APPS 5 | LOCAL_MODULE_TAGS := optional 6 | LOCAL_OVERRIDES_PACKAGES += Maps FilesPrebuilt talkback PrebuiltGmail ScribePrebuilt TouchGestures DotGallery ViaBrowser DuckDuckGo 7 | LOCAL_UNINSTALLABLE_MODULE := true 8 | LOCAL_CERTIFICATE := PRESIGNED 9 | LOCAL_SRC_FILES := /dev/null 10 | include $(BUILD_PREBUILT) 11 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_wlc.te: -------------------------------------------------------------------------------- 1 | type hal_wlc, domain; 2 | type hal_wlc_exec, exec_type, vendor_file_type, file_type; 3 | type hal_wlc_hwservice, hwservice_manager_type, vendor_hwservice_type; 4 | 5 | hwbinder_use(hal_wlc) 6 | add_hwservice(hal_wlc, hal_wlc_hwservice) 7 | get_prop(hal_wlc, hwservicemanager_prop) 8 | 9 | init_daemon_domain(hal_wlc) 10 | 11 | allow hal_wlc self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl; 12 | 13 | binder_call(hal_wlc, platform_app) 14 | -------------------------------------------------------------------------------- /gps/Android.bp: -------------------------------------------------------------------------------- 1 | GNSS_CFLAGS = [ 2 | "-Werror", 3 | "-Wno-error=reorder", 4 | "-Wno-undefined-bool-conversion", 5 | ] 6 | 7 | /* Activate the following for debug purposes only, 8 | comment out for production */ 9 | GNSS_SANITIZE_DIAG = { 10 | /* 11 | diag: { 12 | cfi: true, 13 | misc_undefined: [ 14 | "bounds", 15 | "null", 16 | "unreachable", 17 | "integer", 18 | ], 19 | }, 20 | */ 21 | } 22 | -------------------------------------------------------------------------------- /sepolicy/vendor/attributes: -------------------------------------------------------------------------------- 1 | # Camera 2 | attribute vendor_hal_cameraperf; 3 | attribute vendor_hal_cameraperf_client; 4 | attribute vendor_hal_cameraperf_server; 5 | attribute vendor_hal_camerapostproc_xiaomi; 6 | attribute vendor_hal_camerapostproc_xiaomi_client; 7 | attribute vendor_hal_camerapostproc_xiaomi_server; 8 | 9 | # Citsensor 10 | attribute vendor_hal_citsensorservice_xiaomi; 11 | attribute vendor_hal_citsensorservice_xiaomi_client; 12 | attribute vendor_hal_citsensorservice_xiaomi_server; 13 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_camerapostproc_xiaomi.te: -------------------------------------------------------------------------------- 1 | add_hwservice(vendor_hal_camerapostproc_xiaomi_server, vendor_hal_camerapostproc_xiaomi_hwservice) 2 | allow vendor_hal_camerapostproc_xiaomi_client vendor_hal_camerapostproc_xiaomi_hwservice:hwservice_manager find; 3 | binder_call(vendor_hal_camerapostproc_xiaomi_client, vendor_hal_camerapostproc_xiaomi_server) 4 | binder_call(vendor_hal_camerapostproc_xiaomi_server, vendor_hal_camerapostproc_xiaomi_client) 5 | binder_call(vendor_hal_camerapostproc_xiaomi, platform_app) 6 | -------------------------------------------------------------------------------- /sepolicy/private/system_app.te: -------------------------------------------------------------------------------- 1 | binder_call(system_app, system_suspend) 2 | binder_call(system_app, storaged) 3 | binder_call(system_app, wificond) 4 | 5 | # Allow system app to find services 6 | dontaudit system_app tracingproxy_service:service_manager find; 7 | 8 | # Allow bypassing the FUSE layer 9 | r_dir_file(system_app, mnt_pass_through_file) 10 | 11 | # Allow externalstorage access 12 | allow system_app mnt_pass_through_file:dir { create_dir_perms mounton }; 13 | 14 | hal_client_domain(system_app, hal_mlipay) 15 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_thermal_camera.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_thermal_video.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | -------------------------------------------------------------------------------- /sepolicy/vendor/system_server.te: -------------------------------------------------------------------------------- 1 | allow system_server vendor_sysfs_battery_supply:file r_file_perms; 2 | 3 | # Allow system process to setup fs-verity 4 | allowxperm system_server { apk_data_file system_data_file apex_system_server_data_file }:file ioctl { 5 | FS_IOC_ENABLE_VERITY FS_IOC_MEASURE_VERITY 6 | }; 7 | 8 | # Allow system process to measure fs-verity for apps, apps being installed and system files 9 | allowxperm system_server { apk_data_file apk_tmp_file system_file }:file ioctl { 10 | FS_IOC_ENABLE_VERITY FS_IOC_MEASURE_VERITY 11 | }; 12 | -------------------------------------------------------------------------------- /configs/perf/msm_irqbalance.conf: -------------------------------------------------------------------------------- 1 | ################################################################################################################################ 2 | # Copyright (c) 2019 Qualcomm Technologies, Inc. 3 | # All Rights Reserved. 4 | # Confidential and Proprietary - Qualcomm Technologies, Inc. 5 | ################################################################################################################################ 6 | 7 | PRIO=1,1,1,1,0,0,0,0 8 | #arch_timer, arm-pmu, arch_mem_timer,msm_drm,kgsl_3d0_irq 9 | IGNORED_IRQ=27,23,38,278,275 10 | -------------------------------------------------------------------------------- /sepolicy/dolby/hal_dms_default.te: -------------------------------------------------------------------------------- 1 | type hal_dms_default, domain; 2 | hal_server_domain(hal_dms_default, hal_dms) 3 | 4 | type hal_dms_default_exec, exec_type, vendor_file_type, file_type; 5 | init_daemon_domain(hal_dms_default) 6 | 7 | allow hal_dms_default vendor_data_file:file { rw_file_perms create unlink }; 8 | allow hal_dms_default vendor_data_file:dir { rw_file_perms add_name remove_name }; 9 | binder_call(hal_dms_default, mediacodec) 10 | binder_call(hal_dms_default, hal_audio_default) 11 | binder_call(hal_dms_default, platform_app) 12 | binder_call(hal_dms_default, priv_app) 13 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_thermal_default.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_thermal_navigation.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | -------------------------------------------------------------------------------- /gps/geofence/Android.bp: -------------------------------------------------------------------------------- 1 | 2 | 3 | cc_library_shared { 4 | 5 | name: "libgeofencing", 6 | vendor: true, 7 | 8 | 9 | 10 | srcs: [ 11 | "GeofenceAdapter.cpp", 12 | "location_geofence.cpp", 13 | ], 14 | 15 | shared_libs: [ 16 | "libutils", 17 | "libcutils", 18 | "libgps.utils", 19 | "liblog", 20 | "libloc_core", 21 | ], 22 | 23 | header_libs: [ 24 | "libgps.utils_headers", 25 | "libloc_core_headers", 26 | "libloc_pla_headers", 27 | "liblocation_api_headers", 28 | ], 29 | 30 | cflags: GNSS_CFLAGS, 31 | } 32 | -------------------------------------------------------------------------------- /gps/batching/Android.bp: -------------------------------------------------------------------------------- 1 | 2 | cc_library_shared { 3 | 4 | name: "libbatching", 5 | vendor: true, 6 | 7 | 8 | 9 | shared_libs: [ 10 | "libutils", 11 | "libcutils", 12 | "liblog", 13 | "libloc_core", 14 | "libgps.utils", 15 | "libdl", 16 | ], 17 | 18 | srcs: [ 19 | "location_batching.cpp", 20 | "BatchingAdapter.cpp", 21 | ], 22 | 23 | header_libs: [ 24 | "libgps.utils_headers", 25 | "libloc_core_headers", 26 | "libloc_pla_headers", 27 | "liblocation_api_headers", 28 | ], 29 | 30 | cflags: GNSS_CFLAGS, 31 | } 32 | -------------------------------------------------------------------------------- /configs/privapp-permissions-hotword.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /parts/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2017-2023 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | android_app { 8 | name: "XiaomiParts", 9 | defaults: [ 10 | "SettingsLibDefaults", 11 | ], 12 | 13 | srcs: ["src/**/*.java"], 14 | resource_dirs: ["res"], 15 | certificate: "platform", 16 | platform_apis: true, 17 | system_ext_specific: true, 18 | privileged: true, 19 | 20 | static_libs: [ 21 | "androidx.core_core", 22 | "androidx.preference_preference", 23 | ], 24 | 25 | optimize: { 26 | proguard_flags_files: ["proguard.flags"], 27 | }, 28 | } 29 | -------------------------------------------------------------------------------- /sepolicy/vendor/gmscore_app.te: -------------------------------------------------------------------------------- 1 | # Incremental 2 | get_prop(gmscore_app, incremental_prop) 3 | 4 | # To get signature of an APK installed on Incremental File System, and fill in data 5 | # blocks and get the filesystem state 6 | allowxperm gmscore_app apk_data_file:file ioctl { 7 | INCFS_IOCTL_READ_SIGNATURE 8 | INCFS_IOCTL_FILL_BLOCKS 9 | INCFS_IOCTL_GET_FILLED_BLOCKS 10 | INCFS_IOCTL_GET_BLOCK_COUNT 11 | F2FS_IOC_GET_FEATURES 12 | F2FS_IOC_GET_COMPRESS_BLOCKS 13 | F2FS_IOC_COMPRESS_FILE 14 | F2FS_IOC_DECOMPRESS_FILE 15 | F2FS_IOC_RELEASE_COMPRESS_BLOCKS 16 | F2FS_IOC_RESERVE_COMPRESS_BLOCKS 17 | FS_IOC_SETFLAGS 18 | FS_IOC_GETFLAGS 19 | }; 20 | -------------------------------------------------------------------------------- /sepolicy/vendor/untrusted_app.te: -------------------------------------------------------------------------------- 1 | # Incremental 2 | get_prop(untrusted_app, incremental_prop) 3 | 4 | # To get signature of an APK installed on Incremental File System, and fill in data 5 | # blocks and get the filesystem state 6 | allowxperm untrusted_app apk_data_file:file ioctl { 7 | INCFS_IOCTL_READ_SIGNATURE 8 | INCFS_IOCTL_FILL_BLOCKS 9 | INCFS_IOCTL_GET_FILLED_BLOCKS 10 | INCFS_IOCTL_GET_BLOCK_COUNT 11 | F2FS_IOC_GET_FEATURES 12 | F2FS_IOC_GET_COMPRESS_BLOCKS 13 | F2FS_IOC_COMPRESS_FILE 14 | F2FS_IOC_DECOMPRESS_FILE 15 | F2FS_IOC_RELEASE_COMPRESS_BLOCKS 16 | F2FS_IOC_RESERVE_COMPRESS_BLOCKS 17 | FS_IOC_SETFLAGS 18 | FS_IOC_GETFLAGS 19 | }; 20 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_refresh_default.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_perf_default.te: -------------------------------------------------------------------------------- 1 | dontaudit vendor_hal_perf_default self:capability { dac_read_search }; 2 | allow vendor_hal_perf_default hal_audio_default:dir r_dir_perms; 3 | allow vendor_hal_perf_default hal_audio_default:file r_file_perms; 4 | allow vendor_hal_perf_default hal_fingerprint_default:dir r_dir_perms; 5 | allow vendor_hal_perf_default hal_fingerprint_default:file r_file_perms; 6 | allow vendor_hal_perf_default hal_camera_default:dir r_dir_perms; 7 | allow vendor_hal_perf_default hal_camera_default:file r_file_perms; 8 | allow vendor_hal_perf_default hal_graphics_composer_default:dir r_dir_perms; 9 | allow vendor_hal_perf_default hal_graphics_composer_default:file r_file_perms; 10 | -------------------------------------------------------------------------------- /hidl/manifest_xiaomi.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | android.hardware.ir 4 | hwbinder 5 | 1.0 6 | 7 | IConsumerIr 8 | default 9 | 10 | 11 | 12 | vendor.xiaomi.hardware.campostproc 13 | hwbinder 14 | 1.0 15 | 16 | IMiPostProcService 17 | default 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /parts/res/xml/clear_speaker_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /gps/location/Android.bp: -------------------------------------------------------------------------------- 1 | 2 | cc_library_shared { 3 | 4 | name: "liblocation_api", 5 | vendor: true, 6 | 7 | 8 | 9 | shared_libs: [ 10 | "libutils", 11 | "libcutils", 12 | "libgps.utils", 13 | "libdl", 14 | "liblog", 15 | ], 16 | 17 | srcs: [ 18 | "LocationAPI.cpp", 19 | "LocationAPIClientBase.cpp", 20 | ], 21 | 22 | cflags: ["-fno-short-enums"] + GNSS_CFLAGS, 23 | 24 | header_libs: [ 25 | "libloc_pla_headers", 26 | "libgps.utils_headers", 27 | ], 28 | 29 | } 30 | 31 | cc_library_headers { 32 | 33 | name: "liblocation_api_headers", 34 | export_include_dirs: ["."], 35 | vendor: true, 36 | } 37 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_thermal_streaming.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /gps/gnss/Android.bp: -------------------------------------------------------------------------------- 1 | 2 | 3 | cc_library_shared { 4 | 5 | name: "libgnss", 6 | vendor: true, 7 | 8 | 9 | 10 | shared_libs: [ 11 | "libutils", 12 | "libcutils", 13 | "libdl", 14 | "liblog", 15 | "libloc_core", 16 | "libgps.utils", 17 | ], 18 | 19 | srcs: [ 20 | "location_gnss.cpp", 21 | "GnssAdapter.cpp", 22 | "Agps.cpp", 23 | "XtraSystemStatusObserver.cpp", 24 | "NativeAgpsHandler.cpp", 25 | ], 26 | 27 | cflags: ["-fno-short-enums"] + GNSS_CFLAGS, 28 | header_libs: [ 29 | "libgps.utils_headers", 30 | "libloc_core_headers", 31 | "libloc_pla_headers", 32 | "liblocation_api_headers", 33 | ], 34 | 35 | } 36 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_thermal_dialer.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_sensors_default.te: -------------------------------------------------------------------------------- 1 | type vendor_sysfs_iio, fs_type, sysfs_type; 2 | type vendor_sysfs_palm_sensor, fs_type, sysfs_type; 3 | 4 | allow hal_sensors_default audio_socket:sock_file rw_file_perms; 5 | allow hal_sensors_default sound_device:chr_file rw_file_perms; 6 | allow hal_sensors_default hal_audio_default:unix_stream_socket connectto; 7 | 8 | allow hal_sensors_default iio_device:chr_file r_file_perms; 9 | allow hal_sensors_default vendor_sysfs_iio:dir r_dir_perms; 10 | allow hal_sensors_default vendor_sysfs_iio:file rw_file_perms; 11 | allow hal_sensors_default vendor_sysfs_palm_sensor:dir r_dir_perms; 12 | allow hal_sensors_default vendor_sysfs_palm_sensor:file rw_file_perms; 13 | 14 | hal_client_domain(hal_sensors_default, hal_audio) 15 | allow hal_sensors_default hal_audio_hwservice:hwservice_manager find; 16 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_thermal_gaming.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /overlay/frameworks/base/packages/SystemUI/res/values-sw372dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 16dp 20 | 21 | -------------------------------------------------------------------------------- /rootdir/etc/charger_fstab.qcom: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Qualcomm Technologies, Inc. 3 | # All Rights Reserved. 4 | # Confidential and Proprietary - Qualcomm Technologies, Inc. 5 | # 6 | # Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 7 | # 8 | 9 | # Android fstab file. 10 | # The filesystem that contains the filesystem checker binary (typically /system) cannot 11 | # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK 12 | 13 | # 14 | /dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait 15 | /dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait,slotselect 16 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_thermal_benchmark.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /gps/android/utils/Android.bp: -------------------------------------------------------------------------------- 1 | cc_library_static { 2 | 3 | name: "liblocbatterylistener", 4 | vendor: true, 5 | 6 | 7 | 8 | cflags: GNSS_CFLAGS + ["-DBATTERY_LISTENER_ENABLED"], 9 | local_include_dirs: ["."], 10 | 11 | srcs: ["battery_listener.cpp"], 12 | 13 | shared_libs: [ 14 | "liblog", 15 | "libhidlbase", 16 | "libbinder_ndk", 17 | "libcutils", 18 | "libutils", 19 | "android.hardware.health-V1-ndk", 20 | "android.hardware.health@1.0", 21 | "android.hardware.health@2.0", 22 | "android.hardware.health@2.1", 23 | "libbase", 24 | ], 25 | 26 | static_libs: ["libhealthhalutils"], 27 | 28 | header_libs: [ 29 | "libgps.utils_headers", 30 | "libloc_pla_headers", 31 | ], 32 | } 33 | 34 | cc_library_headers { 35 | 36 | name: "liblocbatterylistener_headers", 37 | export_include_dirs: ["."], 38 | } 39 | -------------------------------------------------------------------------------- /rootdir/bin/vendor_modprobe.sh: -------------------------------------------------------------------------------- 1 | #! /vendor/bin/sh 2 | #============================================================================= 3 | # Copyright (c) 2019-2020 Qualcomm Technologies, Inc. 4 | # All Rights Reserved. 5 | # Confidential and Proprietary - Qualcomm Technologies, Inc. 6 | #============================================================================= 7 | 8 | MODULES_PATH="/vendor/lib/modules/" 9 | 10 | MODPROBE="/vendor/bin/modprobe" 11 | MODULES=`${MODPROBE} -d ${MODULES_PATH} -l` 12 | 13 | # Iterate over module list and modprobe them in background. 14 | for MODULE in ${MODULES}; do 15 | if [ ${MODULE} == "qca_cld3_wlan" ]; then 16 | echo "Xiaomi Wifi:" ${MODULE} 17 | elif [ ${MODULE} == "cnss2" ]; then 18 | echo "Xiaomi Wifi:" ${MODULE} 19 | else 20 | ${MODPROBE} -a -b -d ${MODULES_PATH} ${MODULE} & 21 | fi 22 | done 23 | 24 | # Wait until all the modprobes are finished 25 | wait 26 | -------------------------------------------------------------------------------- /bootctrl/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2018 The Android Open Source Project 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | cc_library_shared { 18 | name: "android.hardware.boot@1.2-impl-qti", 19 | stem: "android.hardware.boot@1.0-impl-1.2-qti", 20 | defaults: ["android.hardware.boot@1.2-impl-qti_defaults"], 21 | static_libs: ["libgptutils.xiaomi_sm8350"], 22 | } 23 | -------------------------------------------------------------------------------- /overlay-superior/packages/apps/Dialer/java/com/android/dialer/callrecord/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 15 | 16 | true 17 | 4 18 | 19 | -------------------------------------------------------------------------------- /rootdir/etc/init.xiaomi-sm8350.perf.rc: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2024 Paranoid Android 2 | # 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | 6 | on property:vendor.post_boot.parsed=1 7 | # IRQ Tuning 8 | # IRQ 278: msm_drm0 9 | # IRQ 275: kgsl_3d0_irq 10 | write /proc/irq/278/smp_affinity_list 2 11 | write /proc/irq/275/smp_affinity_list 1 12 | 13 | # CPU Boost 14 | write /sys/devices/system/cpu/cpu_boost/input_boost_ms 200 15 | 16 | # CPUFreq 17 | write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us 500 18 | write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us 20000 19 | write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us 500 20 | write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us 20000 21 | write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/up_rate_limit_us 500 22 | write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/down_rate_limit_us 20000 23 | 24 | # CPUSets 25 | write /dev/cpuset/background/cpus 0-1 26 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_mlipay.te: -------------------------------------------------------------------------------- 1 | type hal_mlipay_hwservice, hwservice_manager_type; 2 | 3 | type hal_mlipay_default, domain; 4 | hal_server_domain(hal_mlipay_default, hal_mlipay) 5 | 6 | type hal_mlipay_default_exec, exec_type, vendor_file_type, file_type; 7 | init_daemon_domain(hal_mlipay_default) 8 | 9 | vendor_public_prop(vendor_mlipay_prop) 10 | 11 | # Allow hwbinder call from hal client to server 12 | binder_call(hal_mlipay_client, hal_mlipay_server) 13 | 14 | # Add hwservice related rules 15 | add_hwservice(hal_mlipay_server, hal_mlipay_hwservice) 16 | allow hal_mlipay_client hal_mlipay_hwservice:hwservice_manager find; 17 | 18 | allow hal_mlipay_default tee_device:chr_file rw_file_perms; 19 | allow hal_mlipay_default ion_device:chr_file r_file_perms; 20 | 21 | r_dir_file(hal_mlipay_default, firmware_file) 22 | set_prop(hal_mlipay_default, vendor_mlipay_prop); 23 | 24 | get_prop(hal_mlipay_default, vendor_fp_prop) 25 | get_prop(hal_mlipay_default, vendor_fp_info_prop) 26 | -------------------------------------------------------------------------------- /parts/res/layout/refresh_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 19 | -------------------------------------------------------------------------------- /parts/res/layout/thermal_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 23 | -------------------------------------------------------------------------------- /gps/gnss/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CFLAGS = \ 2 | $(LOCPLA_CFLAGS) \ 3 | $(LOCHAL_CFLAGS) \ 4 | $(GPSUTILS_CFLAGS) \ 5 | $(LOCCORE_CFLAGS) \ 6 | -I./ \ 7 | -I../utils \ 8 | -I$(WORKSPACE)/hardware/qcom/gps/core/data-items \ 9 | -I../location \ 10 | -std=c++1y 11 | 12 | libgnss_la_SOURCES = \ 13 | location_gnss.cpp \ 14 | GnssAdapter.cpp \ 15 | XtraSystemStatusObserver.cpp \ 16 | Agps.cpp \ 17 | NativeAgpsHandler.cpp 18 | 19 | if USE_GLIB 20 | libgnss_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@ 21 | libgnss_la_LDFLAGS = -lstdc++ -Wl,-z,defs -lpthread @GLIB_LIBS@ -shared -avoid-version 22 | libgnss_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@ 23 | else 24 | libgnss_la_CFLAGS = $(AM_CFLAGS) 25 | libgnss_la_LDFLAGS = -Wl,-z,defs -lpthread -shared -version-info 1:0:0 26 | libgnss_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) 27 | endif 28 | 29 | libgnss_la_LIBADD = -lstdc++ -ldl $(GPSUTILS_LIBS) $(LOCCORE_LIBS) 30 | 31 | #Create and Install libraries 32 | lib_LTLIBRARIES = libgnss.la 33 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_camera_default.te: -------------------------------------------------------------------------------- 1 | type camera_persist_file, vendor_persist_type, file_type; 2 | type vendor_hal_cameraperf_hwservice, hwservice_manager_type, protected_hwservice; 3 | type vendor_hal_camerapostproc_xiaomi_hwservice, hwservice_manager_type; 4 | vendor_public_prop(vendor_camera_sensor_prop) 5 | 6 | set_prop(hal_camera_default, vendor_camera_sensor_prop) 7 | r_dir_file(hal_camera_default, camera_persist_file) 8 | r_dir_file(hal_camera_default, mnt_vendor_file) 9 | get_prop(hal_camera_default, graphics_config_prop) 10 | 11 | allow hal_camera_default proc_stat:file r_file_perms; 12 | 13 | hal_server_domain(hal_camera_default, vendor_hal_cameraperf) 14 | hal_server_domain(hal_camera_default, vendor_hal_camerapostproc_xiaomi) 15 | add_hwservice(hal_camera_server, vendor_hal_cameraperf_hwservice) 16 | add_hwservice(hal_camera_server, vendor_hal_camerapostproc_xiaomi_hwservice) 17 | allow hal_camera_client vendor_hal_cameraperf_hwservice:hwservice_manager find; 18 | allow hal_camera_client vendor_hal_camerapostproc_xiaomi_hwservice:hwservice_manager find; 19 | -------------------------------------------------------------------------------- /gps/Android.mk: -------------------------------------------------------------------------------- 1 | ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),) 2 | 3 | # Set required flags 4 | GNSS_CFLAGS := \ 5 | -Werror \ 6 | -Wno-error=reorder \ 7 | -Wno-undefined-bool-conversion 8 | 9 | GNSS_HIDL_VERSION = 2.1 10 | 11 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += msm8937 12 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += msm8953 13 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += msm8998 14 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += apq8098_latv 15 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += sdm710 16 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += qcs605 17 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += sdm845 18 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += sdm660 19 | 20 | ifneq (,$(filter $(GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST),$(TARGET_BOARD_PLATFORM))) 21 | GNSS_HIDL_LEGACY_MEASURMENTS = true 22 | endif 23 | 24 | LOCAL_PATH := $(call my-dir) 25 | include $(call all-makefiles-under,$(LOCAL_PATH)) 26 | 27 | GNSS_SANITIZE_DIAG := cfi bounds null unreachable integer address 28 | 29 | endif # ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),) 30 | -------------------------------------------------------------------------------- /media/media_codecs_vendor_audio.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /gps/etc/lowi.conf: -------------------------------------------------------------------------------- 1 | #*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====* 2 | # 3 | # LOWI Config file - lahaina 4 | # 5 | # GENERAL DESCRIPTION 6 | # This file contains the config params for LOWI 7 | # 8 | # Copyright (c) 2019 Qualcomm Technologies, Inc. 9 | # All Rights Reserved. 10 | # Confidential and Proprietary - Qualcomm Technologies, Inc. 11 | # 12 | # 2012-2013 Qualcomm Atheros, Inc. 13 | # All Rights Reserved. 14 | # Qualcomm Atheros Confidential and Proprietary. 15 | # 16 | # Export of this technology or software is regulated by the U.S. Government. 17 | # Diversion contrary to U.S. law prohibited. 18 | #=============================================================================*/ 19 | 20 | # X86 ONLY - UBUNTU: 21 | # Copy this file in the same directory where the executable is 22 | 23 | # Log level 24 | # EL_LOG_OFF = 0, EL_ERROR = 1, EL_WARNING = 2, EL_INFO = 3, EL_DEBUG = 4, EL_VERBOSE = 5, EL_LOG_ALL = 100 25 | LOWI_LOG_LEVEL = 2 26 | LOWI_USE_LOWI_LP = 0 27 | LOWI_HE_RTT_SUPPORT = 1 28 | LOWI_USE_NLMSG_FOR_CAPS = 1 29 | LOWI_RTT_WEIGHTED_MEAN = 1 30 | LOWI_USE_6G_CHANNELS = 1 31 | -------------------------------------------------------------------------------- /gps/etc/Android.bp: -------------------------------------------------------------------------------- 1 | prebuilt_etc { 2 | name: "apdr.conf", 3 | vendor: true, 4 | src: "apdr.conf", 5 | } 6 | 7 | prebuilt_etc { 8 | name: "flp.conf", 9 | vendor: true, 10 | src: "flp.conf", 11 | } 12 | 13 | prebuilt_etc { 14 | name: "gnss_antenna_info.conf", 15 | vendor: true, 16 | src: "gnss_antenna_info.conf", 17 | } 18 | 19 | prebuilt_etc { 20 | name: "gps.conf", 21 | vendor: true, 22 | src: "gps.conf", 23 | } 24 | 25 | prebuilt_etc { 26 | name: "izat.conf", 27 | vendor: true, 28 | src: "izat.conf", 29 | } 30 | 31 | prebuilt_etc { 32 | name: "lowi.conf", 33 | vendor: true, 34 | src: "lowi.conf", 35 | } 36 | 37 | prebuilt_etc { 38 | name: "sap.conf", 39 | vendor: true, 40 | src: "sap.conf", 41 | } 42 | 43 | prebuilt_etc { 44 | name: "gnss@2.0-base.policy", 45 | vendor: true, 46 | sub_dir: "seccomp_policy", 47 | src: "seccomp_policy/gnss@2.0-base.policy", 48 | } 49 | 50 | prebuilt_etc { 51 | name: "gnss@2.0-xtra-daemon.policy", 52 | vendor: true, 53 | sub_dir: "seccomp_policy", 54 | src: "seccomp_policy/gnss@2.0-xtra-daemon.policy", 55 | } 56 | -------------------------------------------------------------------------------- /parts/src/org/lineageos/settings/BootCompletedReceiver.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2023 LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package org.lineageos.settings; 8 | 9 | import android.content.BroadcastReceiver; 10 | import android.content.Context; 11 | import android.content.Intent; 12 | import android.content.IntentFilter; 13 | import android.util.Log; 14 | 15 | import org.lineageos.settings.refreshrate.RefreshUtils; 16 | import org.lineageos.settings.thermal.ThermalUtils; 17 | 18 | public class BootCompletedReceiver extends BroadcastReceiver { 19 | 20 | private static final String TAG = "XiaomiParts"; 21 | private static final boolean DEBUG = true; 22 | 23 | @Override 24 | public void onReceive(final Context context, Intent intent) { 25 | if (!intent.getAction().equals(Intent.ACTION_LOCKED_BOOT_COMPLETED)) { 26 | return; 27 | } 28 | if (DEBUG) Log.d(TAG, "Received boot completed intent"); 29 | 30 | // Refreshrate 31 | RefreshUtils.startService(context); 32 | 33 | // Thermal 34 | ThermalUtils.startService(context); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /gps/utils/Android.bp: -------------------------------------------------------------------------------- 1 | 2 | cc_library_shared { 3 | 4 | name: "libgps.utils", 5 | vendor: true, 6 | 7 | 8 | 9 | //# Libs 10 | shared_libs: [ 11 | "libdl", 12 | "libutils", 13 | "libcutils", 14 | "liblog", 15 | "libprocessgroup", 16 | ], 17 | 18 | srcs: [ 19 | "loc_log.cpp", 20 | "loc_cfg.cpp", 21 | "msg_q.c", 22 | "linked_list.c", 23 | "loc_target.cpp", 24 | "LocHeap.cpp", 25 | "LocTimer.cpp", 26 | "LocThread.cpp", 27 | "MsgTask.cpp", 28 | "loc_misc_utils.cpp", 29 | "loc_nmea.cpp", 30 | "LocIpc.cpp", 31 | "LogBuffer.cpp", 32 | ], 33 | 34 | cflags: [ 35 | "-fno-short-enums", 36 | "-D_ANDROID_", 37 | ] + GNSS_CFLAGS, 38 | 39 | //# Includes 40 | ldflags: ["-Wl,--export-dynamic"], 41 | 42 | header_libs: [ 43 | "libutils_headers", 44 | "libloc_pla_headers", 45 | "liblocation_api_headers", 46 | ], 47 | } 48 | 49 | cc_library_headers { 50 | 51 | name: "libgps.utils_headers", 52 | export_include_dirs: ["."], 53 | vendor: true, 54 | } 55 | -------------------------------------------------------------------------------- /gps/core/Android.bp: -------------------------------------------------------------------------------- 1 | 2 | cc_library_shared { 3 | 4 | name: "libloc_core", 5 | vendor: true, 6 | 7 | 8 | 9 | shared_libs: [ 10 | "liblog", 11 | "libutils", 12 | "libcutils", 13 | "libgps.utils", 14 | "libdl", 15 | "liblog", 16 | ], 17 | 18 | srcs: [ 19 | "LocApiBase.cpp", 20 | "LocAdapterBase.cpp", 21 | "ContextBase.cpp", 22 | "LocContext.cpp", 23 | "loc_core_log.cpp", 24 | "data-items/DataItemsFactoryProxy.cpp", 25 | "SystemStatusOsObserver.cpp", 26 | "SystemStatus.cpp", 27 | ], 28 | 29 | cflags: [ 30 | "-fno-short-enums", 31 | "-D_ANDROID_", 32 | ] + GNSS_CFLAGS, 33 | 34 | local_include_dirs: [ 35 | "data-items", 36 | "observer", 37 | ], 38 | 39 | header_libs: [ 40 | "libutils_headers", 41 | "libgps.utils_headers", 42 | "libloc_pla_headers", 43 | "liblocation_api_headers", 44 | ], 45 | 46 | } 47 | 48 | cc_library_headers { 49 | 50 | name: "libloc_core_headers", 51 | vendor: true, 52 | export_include_dirs: ["."] + [ 53 | "data-items", 54 | "observer", 55 | ], 56 | } 57 | -------------------------------------------------------------------------------- /rootdir/etc/init.batterysecret.rc: -------------------------------------------------------------------------------- 1 | on property:sys.boot_completed=1 2 | chmod 0664 /sys/class/qcom-battery/pd_verifed 3 | chmod 0664 /sys/class/qcom-battery/request_vdm_cmd 4 | chmod 0664 /sys/class/qcom-battery/verify_process 5 | chmod 0664 /sys/class/qcom-battery/authentic 6 | chmod 0664 /sys/class/qcom-battery/verify_slave_flag 7 | chmod 0664 /sys/class/qcom-battery/slave_authentic 8 | chmod 0664 /sys/class/qcom-battery/is_old_hw 9 | 10 | service batterysecret /vendor/bin/batterysecret 11 | class last_start 12 | user root 13 | group system system wakelock 14 | disabled 15 | seclabel u:r:batterysecret:s0 16 | 17 | on property:sys.boot_completed=1 18 | start batterysecret 19 | 20 | #run batterysecret in off-charge mode 21 | on property:init.svc.vendor.charger=running 22 | start batterysecret 23 | chmod 0664 /sys/class/qcom-battery/pd_verifed 24 | chmod 0664 /sys/class/qcom-battery/request_vdm_cmd 25 | chmod 0664 /sys/class/qcom-battery/verify_process 26 | chmod 0664 /sys/class/qcom-battery/authentic 27 | chmod 0664 /sys/class/qcom-battery/verify_slave_flag 28 | chmod 0664 /sys/class/qcom-battery/slave_authentic 29 | chmod 0664 /sys/class/qcom-battery/is_old_hw -------------------------------------------------------------------------------- /rro_overlays/CarrierConfigOverlay/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 21 | 22 | 26 | 27 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_refresh_60.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 14 | 17 | -------------------------------------------------------------------------------- /rro_overlays/WifiOverlay/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 21 | 22 | 27 | 28 | -------------------------------------------------------------------------------- /gpt-utils/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2018 The Android Open Source Project 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | 18 | cc_library { 19 | name: "libgptutils.xiaomi_sm8350", 20 | vendor: true, 21 | recovery_available: true, 22 | shared_libs: [ 23 | "libcutils", 24 | "liblog", 25 | "libz", 26 | ], 27 | cflags: [ 28 | "-Wall", 29 | "-Werror", 30 | "-D_BSG_FRAMEWORK_KERNEL_HEADERS", 31 | ], 32 | srcs: [ 33 | "gpt-utils.cpp", 34 | "recovery-ufs-bsg.cpp", 35 | ], 36 | owner: "qti", 37 | header_libs: [ 38 | "generated_kernel_headers", 39 | ], 40 | export_include_dirs: ["."], 41 | } 42 | -------------------------------------------------------------------------------- /overlay/packages/services/Telephony/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 16 | 17 | 18 | org.codeaurora.ims 19 | 20 | 21 | org.codeaurora.ims 22 | 23 | -------------------------------------------------------------------------------- /gps/batching/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CFLAGS = \ 2 | $(GPSUTILS_CFLAGS) \ 3 | $(LOCCORE_CFLAGS) \ 4 | -I./ \ 5 | -std=c++1y \ 6 | -D__func__=__PRETTY_FUNCTION__ \ 7 | -fno-short-enums 8 | 9 | ACLOCAL_AMFLAGS = -I m4 10 | 11 | requiredlibs = \ 12 | $(GPSUTILS_LIBS) \ 13 | $(LOCCORE_LIBS) \ 14 | -llog 15 | 16 | h_sources = \ 17 | BatchingAdapter.h 18 | 19 | libbatching_la_SOURCES = \ 20 | location_batching.cpp \ 21 | BatchingAdapter.cpp 22 | 23 | if USE_GLIB 24 | libbatching_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@ 25 | libbatching_la_LDFLAGS = -lstdc++ -g -Wl,-z,defs -lpthread $(requiredlibs) @GLIB_LIBS@ -shared -version-info 1:0:0 26 | libbatching_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@ 27 | else 28 | libbatching_la_CFLAGS = $(AM_CFLAGS) 29 | libbatching_la_LDFLAGS = -Wl,-z,defs -lpthread $(requiredlibs) -shared -version-info 1:0:0 30 | libbatching_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) 31 | endif 32 | 33 | library_include_HEADERS = $(h_sources) 34 | 35 | library_includedir = $(pkgincludedir) 36 | 37 | #Create and Install libraries 38 | lib_LTLIBRARIES = libbatching.la 39 | 40 | pkgconfigdir = $(libdir)/pkgconfig 41 | pkgconfig_DATA = location-batching.pc 42 | sysconf_DATA = $(WORKSPACE)/hardware/qcom/gps/etc/flp.conf 43 | EXTRA_DIST = $(pkgconfig_DATA) 44 | 45 | -------------------------------------------------------------------------------- /gps/location/Makefile.am: -------------------------------------------------------------------------------- 1 | ACLOCAL_AMFLAGS = -I m4 2 | 3 | AM_CFLAGS = \ 4 | -I./ \ 5 | -I../utils \ 6 | $(LOCPLA_CFLAGS) \ 7 | $(GPSUTILS_CFLAGS) \ 8 | -std=c++11 9 | 10 | liblocation_api_la_SOURCES = \ 11 | LocationAPI.cpp \ 12 | LocationAPIClientBase.cpp 13 | 14 | if USE_EXTERNAL_AP 15 | AM_CFLAGS += -DFEATURE_EXTERNAL_AP 16 | endif 17 | 18 | if USE_GLIB 19 | liblocation_api_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@ 20 | liblocation_api_la_LDFLAGS = -lstdc++ -Wl,-z,defs -lpthread @GLIB_LIBS@ -shared -version-info 1:0:0 21 | liblocation_api_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@ 22 | else 23 | liblocation_api_la_CFLAGS = $(AM_CFLAGS) 24 | liblocation_api_la_LDFLAGS = -Wl,-z,defs -lpthread -shared -version-info 1:0:0 25 | liblocation_api_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) 26 | endif 27 | 28 | liblocation_api_la_LIBADD = -lstdc++ -ldl $(GPSUTILS_LIBS) 29 | 30 | library_include_HEADERS = \ 31 | LocationAPI.h \ 32 | LocationAPIClientBase.h \ 33 | location_interface.h \ 34 | LocationDataTypes.h \ 35 | ILocationAPI.h 36 | 37 | #Create and Install libraries 38 | lib_LTLIBRARIES = liblocation_api.la 39 | 40 | library_includedir = $(pkgincludedir) 41 | 42 | pkgconfigdir = $(libdir)/pkgconfig 43 | pkgconfig_DATA = location-api.pc 44 | EXTRA_DIST = $(pkgconfig_DATA) 45 | -------------------------------------------------------------------------------- /overlay-superior/frameworks/base/core/res/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | false 20 | false 21 | 22 | 23 | /sys/class/qcom-battery/fastchg_mode 24 | 25 | 26 | 1 27 | 28 | -------------------------------------------------------------------------------- /setup-makefiles.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2016 The CyanogenMod Project 4 | # Copyright (C) 2017-2022 The LineageOS Project 5 | # 6 | # SPDX-License-Identifier: Apache-2.0 7 | # 8 | 9 | set -e 10 | 11 | # Load extract_utils and do some sanity checks 12 | MY_DIR="${BASH_SOURCE%/*}" 13 | if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi 14 | 15 | ANDROID_ROOT="${MY_DIR}/../../.." 16 | 17 | HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" 18 | if [ ! -f "${HELPER}" ]; then 19 | echo "Unable to find helper script at ${HELPER}" 20 | exit 1 21 | fi 22 | source "${HELPER}" 23 | 24 | # Initialize the helper for common 25 | setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true 26 | 27 | # Warning headers and guards 28 | write_headers "haydn lisa odin renoir venus" 29 | 30 | # The standard common blobs 31 | write_makefiles "${MY_DIR}/proprietary-files.txt" true 32 | 33 | # Finish 34 | write_footers 35 | 36 | if [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then 37 | # Reinitialize the helper for device 38 | setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false 39 | 40 | # Warning headers and guards 41 | write_headers 42 | 43 | # The standard device blobs 44 | write_makefiles "${MY_DIR}/../${DEVICE}/proprietary-files.txt" true 45 | 46 | # Finish 47 | write_footers 48 | fi 49 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_clear_speaker.xml: -------------------------------------------------------------------------------- 1 | 7 | 9 | 10 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_thermal_browser.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /parts/src/org/lineageos/settings/speaker/ClearSpeakerActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Paranoid Android 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.lineageos.settings.speaker; 18 | 19 | import android.os.Bundle; 20 | 21 | import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity; 22 | import com.android.settingslib.widget.R; 23 | 24 | public class ClearSpeakerActivity extends CollapsingToolbarBaseActivity { 25 | 26 | private static final String TAG_CLEARSPEAKER = "clearspeaker"; 27 | 28 | @Override 29 | protected void onCreate(Bundle savedInstanceState) { 30 | super.onCreate(savedInstanceState); 31 | 32 | getFragmentManager().beginTransaction().replace(R.id.content_frame, 33 | new ClearSpeakerFragment(), TAG_CLEARSPEAKER).commit(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_refresh_120.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 14 | 17 | 22 | -------------------------------------------------------------------------------- /sepolicy/vendor/property_contexts: -------------------------------------------------------------------------------- 1 | # Aware 2 | ro.vendor.aware_available u:object_r:vendor_aware_available_prop:s0 3 | 4 | # Camera 5 | vendor.camera.sensor. u:object_r:vendor_camera_sensor_prop:s0 6 | ro.boot.camera.config u:object_r:vendor_camera_sensor_prop:s0 7 | persist.camera. u:object_r:vendor_camera_prop:s0 8 | vendor.panel.display u:object_r:vendor_camera_prop:s0 9 | persist.vendor.low.cutoff u:object_r:vendor_camera_prop:s0 10 | persist.vendor.aiie_capture_log.debug u:object_r:vendor_camera_prop:s0 11 | 12 | # Fingerprint 13 | ro.hardware.fp.fod u:object_r:vendor_fp_prop:s0 14 | persist.vendor.sys.fp. u:object_r:vendor_fp_prop:s0 15 | persist.vendor.sys.fp.info u:object_r:vendor_fp_info_prop:s0 16 | persist.vendor.sys.fp.uid u:object_r:vendor_fp_info_prop:s0 17 | ro.hardware.fp u:object_r:vendor_fp_prop:s0 18 | 19 | # IMEI 20 | ro.vendor.oem. u:object_r:vendor_deviceid_prop:s0 21 | 22 | # Mlipay 23 | persist.vendor.sys.pay. u:object_r:vendor_mlipay_prop:s0 24 | persist.vendor.sys.provision.status u:object_r:vendor_mlipay_prop:s0 25 | 26 | # Property to set media performance class 27 | ro.vendor.media_performance_class u:object_r:vendor_media_performance_class:s0 28 | 29 | # Thermal 30 | vendor.sys.thermal. u:object_r:vendor_thermal_normal_prop:s0 31 | -------------------------------------------------------------------------------- /overlay-superior/frameworks/base/packages/SystemUI/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | true 20 | 21 | 22 | 60 23 | 24 | 25 | 90 26 | 27 | 28 | /sys/class/drm/card0/sde-crtc-0/measured_fps 29 | 30 | -------------------------------------------------------------------------------- /sepolicy/vendor/vendor_hal_citsensorservice_xiaomi.te: -------------------------------------------------------------------------------- 1 | type vendor_hal_citsensorservice_xiaomi_hwservice, hwservice_manager_type, protected_hwservice; 2 | 3 | type vendor_hal_citsensorservice_xiaomi_default, domain; 4 | hal_server_domain(vendor_hal_citsensorservice_xiaomi_default, vendor_hal_citsensorservice_xiaomi) 5 | 6 | type vendor_hal_citsensorservice_xiaomi_default_exec, exec_type, vendor_file_type, file_type; 7 | init_daemon_domain(vendor_hal_citsensorservice_xiaomi_default) 8 | 9 | hal_attribute_hwservice(vendor_hal_citsensorservice_xiaomi, vendor_hal_citsensorservice_xiaomi_hwservice) 10 | 11 | binder_call(vendor_hal_citsensorservice_xiaomi_client, vendor_hal_citsensorservice_xiaomi_server) 12 | binder_call(vendor_hal_citsensorservice_xiaomi_server, vendor_hal_citsensorservice_xiaomi_client) 13 | 14 | allow vendor_hal_citsensorservice_xiaomi self:{ socket qipcrtr_socket } create_socket_perms; 15 | allowxperm vendor_hal_citsensorservice_xiaomi self:{ socket qipcrtr_socket } ioctl msm_sock_ipc_ioctls; 16 | 17 | allow vendor_hal_citsensorservice_xiaomi_default fwk_sensor_hwservice:hwservice_manager find; 18 | allow vendor_hal_citsensorservice_xiaomi_default system_server:binder call; 19 | 20 | r_dir_file(vendor_hal_citsensorservice_xiaomi_default, vendor_sysfs_graphics) 21 | 22 | allow vendor_hal_citsensorservice_xiaomi_default input_device:dir r_dir_perms; 23 | allow vendor_hal_citsensorservice_xiaomi_default input_device:chr_file rw_file_perms; 24 | -------------------------------------------------------------------------------- /dolby/permissions/privapp-com.dolby.daxappui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /sepolicy/vendor/mi_thermald.te: -------------------------------------------------------------------------------- 1 | type mi_thermald, domain; 2 | type mi_thermald_exec, exec_type, vendor_file_type, file_type; 3 | type thermal_data_file, data_file_type, file_type; 4 | vendor_public_prop(vendor_thermal_normal_prop) 5 | 6 | init_daemon_domain(mi_thermald) 7 | 8 | r_dir_file(mi_thermald, sysfs) 9 | r_dir_file(mi_thermald, sysfs_leds) 10 | r_dir_file(mi_thermald, sysfs_thermal) 11 | r_dir_file(mi_thermald, vendor_sysfs_kgsl) 12 | r_dir_file(mi_thermald, vendor_sysfs_battery_supply) 13 | r_dir_file(mi_thermald, vendor_sysfs_graphics) 14 | r_dir_file(mi_thermald, thermal_data_file) 15 | r_dir_file(mi_thermald, vendor_data_file) 16 | 17 | allow mi_thermald init:unix_stream_socket { connectto }; 18 | allow mi_thermald property_socket:sock_file write; 19 | allow mi_thermald sysfs:file w_file_perms; 20 | allow mi_thermald sysfs_thermal:file w_file_perms; 21 | allow mi_thermald vendor_sysfs_kgsl:file w_file_perms; 22 | allow mi_thermald vendor_sysfs_battery_supply:file w_file_perms; 23 | allow mi_thermald vendor_sysfs_graphics:file w_file_perms; 24 | allow mi_thermald thermal_data_file:dir w_dir_perms; 25 | allow mi_thermald thermal_data_file:file create_file_perms; 26 | allow mi_thermald vendor_data_file:file rw_file_perms; 27 | allow mi_thermald vendor_data_file:dir w_dir_perms; 28 | allow mi_thermald sysfs_devices_system_cpu:file rw_file_perms; 29 | 30 | allow mi_thermald self:capability { fsetid sys_boot chown fowner }; 31 | allow mi_thermald self:capability2 { wake_alarm block_suspend }; 32 | 33 | set_prop(mi_thermald, vendor_thermal_normal_prop) 34 | -------------------------------------------------------------------------------- /gps/geofence/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CFLAGS = -Wundef \ 2 | -Wno-trigraphs \ 3 | -g -O0 \ 4 | -fno-inline \ 5 | -fno-short-enums \ 6 | -fpic \ 7 | ${GPSUTILS_CFLAGS} \ 8 | ${LOCCORE_CFLAGS} \ 9 | $(LOCPLA_CFLAGS) \ 10 | -D__func__=__PRETTY_FUNCTION__ \ 11 | -std=c++1y 12 | 13 | AM_CPPFLAGS = $(AM_CFLAGS) 14 | 15 | ACLOCAL_AMFLAGS = -I m4 16 | 17 | requiredlibs = \ 18 | ${LOCCORE_LIBS} \ 19 | $(GPSUTILS_LIBS) \ 20 | -llog 21 | 22 | h_sources = \ 23 | GeofenceAdapter.h 24 | 25 | c_sources = \ 26 | GeofenceAdapter.cpp \ 27 | location_geofence.cpp 28 | 29 | libgeofencing_la_SOURCES = $(c_sources) 30 | if USE_GLIB 31 | libgeofencing_la_CFLAGS = -DUSE_GLIB @GLIB_CFLAGS@ $(AM_CFLAGS) 32 | libgeofencing_la_CPPFLAGS = -DUSE_GLIB @GLIB_CFLAGS@ $(AM_CFLAGS) $(AM_CPPFLAGS) 33 | libgeofencing_la_LDFLAGS = -lstdc++ -Wl,-z,defs @GLIB_LIBS@ $(requiredlibs) -shared -version-info 1:0:0 34 | libgeofencing_la_LIBDADD = $(requiredlibs) -lstdc++ @GLIB_LIBS@ 35 | else 36 | libgeofencing_la_CFLAGS = $(AM_CFLAGS) 37 | libgeofencing_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) 38 | libgeofencing_la_LDFLAGS = -lstdc++ -Wl,-z,defs $(requiredlibs) -shared -version-info 1:0:0 39 | libgeofencing_la_LIBDADD = $(requiredlibs) -lstdc++ 40 | endif 41 | 42 | library_include_HEADERS = $(h_sources) 43 | 44 | library_includedir = $(pkgincludedir) 45 | 46 | lib_LTLIBRARIES = libgeofencing.la 47 | 48 | pkgconfigdir = $(libdir)/pkgconfig 49 | pkgconfig_DATA = location-geofence.pc 50 | EXTRA_DIST = $(pkgconfig_DATA) 51 | -------------------------------------------------------------------------------- /parts/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /power/power-mode.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | // defines from drivers/input/touchscreen/xiaomi/xiaomi_touch.h 13 | #define SET_CUR_VALUE 0 14 | #define Touch_Doubletap_Mode 14 15 | 16 | #define TOUCH_DEV_PATH "/dev/xiaomi-touch" 17 | #define TOUCH_ID 0 18 | #define TOUCH_MAGIC 0x5400 19 | #define TOUCH_IOC_SETMODE TOUCH_MAGIC + SET_CUR_VALUE 20 | 21 | namespace aidl { 22 | namespace android { 23 | namespace hardware { 24 | namespace power { 25 | namespace impl { 26 | 27 | using ::aidl::android::hardware::power::Mode; 28 | 29 | bool isDeviceSpecificModeSupported(Mode type, bool* _aidl_return) { 30 | switch (type) { 31 | case Mode::DOUBLE_TAP_TO_WAKE: 32 | *_aidl_return = true; 33 | return true; 34 | default: 35 | return false; 36 | } 37 | } 38 | 39 | bool setDeviceSpecificMode(Mode type, bool enabled) { 40 | switch (type) { 41 | case Mode::DOUBLE_TAP_TO_WAKE: { 42 | int fd = open(TOUCH_DEV_PATH, O_RDWR); 43 | int arg[3] = {TOUCH_ID, Touch_Doubletap_Mode, enabled ? 1 : 0}; 44 | ioctl(fd, TOUCH_IOC_SETMODE, &arg); 45 | close(fd); 46 | return true; 47 | } 48 | default: 49 | return false; 50 | } 51 | } 52 | 53 | } // namespace impl 54 | } // namespace power 55 | } // namespace hardware 56 | } // namespace android 57 | } // namespace aidl 58 | -------------------------------------------------------------------------------- /system.prop: -------------------------------------------------------------------------------- 1 | # Bluetooth 2 | vendor.bluetooth.soc=hastings 3 | 4 | # CNE 5 | persist.vendor.cne.feature=1 6 | 7 | # Disable vsync for cpu rendered apps 8 | debug.cpurend.vsync=false 9 | 10 | # Graphics 11 | debug.sf.disable_backpressure=1 12 | debug.sf.enable_hwc_vds=1 13 | 14 | # FUSE 15 | persist.sys.fuse.passthrough.enable=true 16 | 17 | # FS-verity 18 | ro.apk_verity.mode=2 19 | 20 | # Fling velocities 21 | ro.min.fling_velocity=70 22 | ro.max.fling_velocity=21000 23 | 24 | # Log 25 | persist.log.tag.CVP=S 26 | persist.log.tag.CamX=S 27 | persist.log.tag.SYNX-UMD=S 28 | persist.log.tag.CHIUSECASE=S 29 | 30 | # LMK properties 31 | ro.lmk.kill_heaviest_task=true 32 | ro.lmk.kill_timeout_ms=50 33 | 34 | # IMS 35 | persist.dbg.volte_avail_ovr=1 36 | persist.dbg.vt_avail_ovr=1 37 | persist.dbg.wfc_avail_ovr=1 38 | 39 | # Media 40 | media.aac_51_output_enabled=true 41 | media.stagefright.enable-aac=true 42 | media.stagefright.enable-fma2dp=true 43 | media.stagefright.enable-http=true 44 | media.stagefright.enable-player=true 45 | media.stagefright.enable-qcp=true 46 | media.stagefright.enable-scan=true 47 | persist.mm.enable.prefetch=true 48 | ro.media.recorder-max-base-layer-fps=60 49 | vendor.mm.enable.qcom_parser=16777215 50 | 51 | # NFC 52 | ro.nfc.port=I2C 53 | 54 | # QC framework value-adds 55 | ro.vendor.qti.va_aosp.support=1 56 | 57 | # Qcom 58 | ro.vendor.qti.sys.fw.bservice_enable=true 59 | 60 | # Radio 61 | DEVICE_PROVISIONED=1 62 | ril.subscription.types=NV,RUIM 63 | 64 | # Radio VoNR Calling 65 | persist.radio.is_vonr_enabled_0=true 66 | persist.radio.is_vonr_enabled_1=true 67 | 68 | # Sensors 69 | persist.vendor.sensors.enable.mag_filter=true 70 | -------------------------------------------------------------------------------- /parts/src/org/lineageos/settings/refreshrate/RefreshActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2023 The LineageOS Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.lineageos.settings.refreshrate; 18 | 19 | import android.os.Bundle; 20 | import android.view.MenuItem; 21 | 22 | import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity; 23 | import com.android.settingslib.widget.R; 24 | 25 | public class RefreshActivity extends CollapsingToolbarBaseActivity { 26 | 27 | private static final String TAG_REFRESH = "refresh"; 28 | 29 | @Override 30 | protected void onCreate(Bundle savedInstanceState) { 31 | super.onCreate(savedInstanceState); 32 | 33 | getFragmentManager().beginTransaction().replace(R.id.content_frame, 34 | new RefreshSettingsFragment(), TAG_REFRESH).commit(); 35 | } 36 | 37 | 38 | @Override 39 | public boolean onOptionsItemSelected(MenuItem item) { 40 | if (item.getItemId() == android.R.id.home) { 41 | onBackPressed(); 42 | return true; 43 | } 44 | return false; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /parts/src/org/lineageos/settings/thermal/ThermalSettingsActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 The LineageOS Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.lineageos.settings.thermal; 18 | 19 | import android.os.Bundle; 20 | import android.view.MenuItem; 21 | 22 | import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity; 23 | import com.android.settingslib.widget.R; 24 | 25 | public class ThermalSettingsActivity extends CollapsingToolbarBaseActivity { 26 | 27 | private static final String TAG_THERMAL = "thermal"; 28 | 29 | @Override 30 | protected void onCreate(Bundle savedInstanceState) { 31 | super.onCreate(savedInstanceState); 32 | getFragmentManager().beginTransaction().replace(R.id.content_frame, 33 | new ThermalSettingsFragment(), TAG_THERMAL).commit(); 34 | } 35 | 36 | @Override 37 | public boolean onOptionsItemSelected(MenuItem item) { 38 | if (item.getItemId() == android.R.id.home) { 39 | onBackPressed(); 40 | return true; 41 | } 42 | return false; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sepolicy/vendor/hal_fingerprint_default.te: -------------------------------------------------------------------------------- 1 | type vendor_fingerprint_data_file, data_file_type, file_type; 2 | type vendor_fingerprint_device, dev_type; 3 | type vendor_hal_fingerprint_hwservice_xiaomi, hwservice_manager_type; 4 | type vendor_sysfs_udfps, sysfs_type, fs_type; 5 | vendor_restricted_prop(vendor_fp_prop) 6 | vendor_internal_prop(vendor_fp_info_prop) 7 | 8 | # Binder 9 | allow hal_fingerprint_default vendor_hal_fingerprint_hwservice_xiaomi:hwservice_manager find; 10 | allow hal_fingerprint_default vendor_hal_perf_default:binder call; 11 | allow hal_fingerprint_default vendor_hal_perf_hwservice:hwservice_manager find; 12 | 13 | # Props 14 | set_prop(hal_fingerprint_default, vendor_fp_prop) 15 | set_prop(hal_fingerprint_default, vendor_fp_info_prop) 16 | 17 | # Sysfs 18 | allow hal_fingerprint_default sysfs_rtc:dir r_dir_perms; 19 | allow hal_fingerprint_default sysfs_rtc:file rw_file_perms; 20 | allow hal_fingerprint_default vendor_sysfs_spss:dir r_dir_perms; 21 | allow hal_fingerprint_default vendor_sysfs_spss:file rw_file_perms; 22 | allow hal_fingerprint_default vendor_sysfs_fingerprint:dir r_dir_perms; 23 | allow hal_fingerprint_default vendor_sysfs_fingerprint:file rw_file_perms; 24 | allow hal_fingerprint_default vendor_sysfs_udfps:file rw_file_perms; 25 | allow hal_fingerprint_default vendor_sysfs_graphics:dir r_dir_perms; 26 | allow hal_fingerprint_default vendor_sysfs_graphics:file rw_file_perms; 27 | 28 | # Dev nodes 29 | allow hal_fingerprint_default tee_device:chr_file rw_file_perms; 30 | allow hal_fingerprint_default uhid_device:chr_file rw_file_perms; 31 | 32 | # Data 33 | allow hal_fingerprint_default vendor_fingerprint_data_file:dir rw_dir_perms; 34 | allow hal_fingerprint_default vendor_fingerprint_data_file:file create_file_perms; 35 | -------------------------------------------------------------------------------- /sepolicy/vendor/battery.te: -------------------------------------------------------------------------------- 1 | define(`battery_daemons', `{ batteryd batterysecret }') 2 | 3 | type batteryd, domain; 4 | type batteryd_exec, exec_type, vendor_file_type, file_type; 5 | type batterysecret, domain; 6 | type batterysecret_exec, exec_type, vendor_file_type, file_type; 7 | type persist_subsys_file, vendor_persist_type, file_type; 8 | 9 | init_daemon_domain(batteryd) 10 | init_daemon_domain(batterysecret) 11 | 12 | r_dir_file(battery_daemons, cgroup) 13 | r_dir_file(battery_daemons, mnt_vendor_file) 14 | r_dir_file(battery_daemons, persist_subsys_file) 15 | r_dir_file(battery_daemons, rootfs) 16 | r_dir_file(battery_daemons, vendor_sysfs_battery_supply) 17 | r_dir_file(battery_daemons, sysfs_batteryinfo) 18 | r_dir_file(battery_daemons, sysfs_type) 19 | r_dir_file(battery_daemons, vendor_sysfs_usb_supply) 20 | r_dir_file(battery_daemons, vendor_sysfs_usbpd_device) 21 | 22 | 23 | allow battery_daemons persist_subsys_file:dir w_dir_perms; 24 | allow battery_daemons rootfs:dir w_dir_perms; 25 | 26 | allow battery_daemons kmsg_device:chr_file rw_file_perms; 27 | allow battery_daemons persist_subsys_file:file w_file_perms; 28 | allow battery_daemons sysfs:file w_file_perms; 29 | allow battery_daemons vendor_sysfs_battery_supply:file w_file_perms; 30 | allow battery_daemons sysfs_usb:file w_file_perms; 31 | allow battery_daemons vendor_sysfs_usb_supply:file w_file_perms; 32 | allow battery_daemons vendor_sysfs_usbpd_device:file w_file_perms; 33 | 34 | allow battery_daemons self:global_capability_class_set sys_tty_config; 35 | allow battery_daemons self:global_capability_class_set sys_boot; 36 | 37 | allow battery_daemons self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl; 38 | 39 | allow battery_daemons self:capability { chown fsetid }; 40 | 41 | wakelock_use(battery_daemons) 42 | -------------------------------------------------------------------------------- /sepolicy/vendor/system_app.te: -------------------------------------------------------------------------------- 1 | # Allow system app to access HALs 2 | binder_call(system_app, hal_fingerprint_default) 3 | binder_call(system_app, hal_audio_default) 4 | binder_call(system_app, hal_camera_default) 5 | binder_call(system_app, hal_contexthub_default) 6 | binder_call(system_app, hal_health_default) 7 | binder_call(system_app, hal_lineage_health_default) 8 | binder_call(system_app, hal_gnss_default) 9 | binder_call(system_app, hal_power_default) 10 | binder_call(system_app, hal_vibrator_default) 11 | binder_call(system_app, hal_wifi_default) 12 | binder_call(system_app, hal_wifi_supplicant_default) 13 | 14 | # Allow system app to find services 15 | dontaudit system_app system_suspend_control_service:service_manager find; 16 | dontaudit system_app system_suspend_control_internal_service:service_manager find; 17 | 18 | # Aware 19 | get_prop(system_app, vendor_aware_available_prop) 20 | 21 | # To allow Settings to find and bind Google Battery HAL 22 | allow system_app hal_googlebattery_service:service_manager find; 23 | binder_call(system_app, hal_googlebattery) 24 | 25 | # Memory 26 | r_dir_file(system_app, proc_pagetypeinfo) 27 | 28 | # Incremental 29 | get_prop(system_app, incremental_prop) 30 | 31 | # allow apps like settings to check the file signature of an apk installed on 32 | # the Incremental File System, fill missing blocks and get the app status and loading progress 33 | allowxperm system_app apk_data_file:file ioctl { 34 | INCFS_IOCTL_READ_SIGNATURE 35 | INCFS_IOCTL_FILL_BLOCKS 36 | INCFS_IOCTL_GET_BLOCK_COUNT 37 | INCFS_IOCTL_GET_FILLED_BLOCKS 38 | }; 39 | 40 | # Battery Health 41 | r_dir_file(system_app, sysfs_battery_supply) 42 | 43 | # Zram 44 | r_dir_file(system_app, sysfs_zram) 45 | 46 | # Xiaomi Parts 47 | allow system_app sysfs_thermal:file rw_file_perms; 48 | -------------------------------------------------------------------------------- /dolby/permissions/privapp-com.dolby.daxservice.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /config.fs: -------------------------------------------------------------------------------- 1 | [AID_VENDOR_QTI_DIAG] 2 | value:2901 3 | 4 | [AID_VENDOR_QDSS] 5 | value:2902 6 | 7 | [AID_VENDOR_RFS] 8 | value:2903 9 | 10 | [AID_VENDOR_RFS_SHARED] 11 | value:2904 12 | 13 | [AID_VENDOR_ADPL_ODL] 14 | value:2905 15 | 16 | [AID_VENDOR_QRTR] 17 | value:2906 18 | 19 | [AID_VENDOR_THERMAL] 20 | value:2907 21 | 22 | [AID_VENDOR_FASTRPC] 23 | value:2908 24 | 25 | [AID_VENDOR_QTR] 26 | value:2909 27 | 28 | [vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti] 29 | mode: 0755 30 | user: AID_BLUETOOTH 31 | group: AID_BLUETOOTH 32 | caps: BLOCK_SUSPEND NET_ADMIN 33 | 34 | [vendor/bin/pm-service] 35 | mode: 0755 36 | user: AID_SYSTEM 37 | group: AID_SYSTEM 38 | caps: NET_BIND_SERVICE SYS_BOOT 39 | 40 | [vendor/bin/pd-mapper] 41 | mode: 0755 42 | user: AID_SYSTEM 43 | group: AID_SYSTEM 44 | caps: NET_BIND_SERVICE 45 | 46 | [vendor/bin/imsdatadaemon] 47 | mode: 0755 48 | user: AID_RADIO 49 | group: AID_RADIO 50 | caps: NET_BIND_SERVICE 51 | 52 | [vendor/bin/ims_rtp_daemon] 53 | mode: 0755 54 | user: AID_RADIO 55 | group: AID_RADIO 56 | caps: NET_BIND_SERVICE 57 | 58 | [vendor/bin/imsrcsd] 59 | mode: 0755 60 | user: AID_RADIO 61 | group: AID_RADIO 62 | caps: NET_BIND_SERVICE BLOCK_SUSPEND WAKE_ALARM 63 | 64 | [vendor/bin/imsdaemon] 65 | mode: 0755 66 | user: AID_RADIO 67 | group: AID_RADIO 68 | caps: NET_BIND_SERVICE BLOCK_SUSPEND WAKE_ALARM 69 | 70 | [vendor/bin/cnd] 71 | mode: 0755 72 | user: AID_SYSTEM 73 | group: AID_SYSTEM 74 | caps: NET_BIND_SERVICE BLOCK_SUSPEND NET_ADMIN 75 | 76 | [vendor/bin/loc_launcher] 77 | mode: 0755 78 | user: AID_GPS 79 | group: AID_GPS 80 | caps: SETUID SETGID 81 | 82 | [vendor/bin/sensors.qti] 83 | mode: 0755 84 | user: AID_SYSTEM 85 | group: AID_SYSTEM 86 | caps: NET_BIND_SERVICE 87 | 88 | [vendor/firmware_mnt/image/*] 89 | mode: 0771 90 | user: AID_SYSTEM 91 | group: AID_SYSTEM 92 | caps: 0 93 | -------------------------------------------------------------------------------- /parts/src/org/lineageos/settings/dolby/DolbyActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2023 The LineageOS Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.lineageos.settings.dolby; 18 | 19 | import android.content.ComponentName; 20 | import android.content.Intent; 21 | import android.os.Bundle; 22 | import android.widget.Toast; 23 | 24 | import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity; 25 | 26 | public class DolbyActivity extends CollapsingToolbarBaseActivity { 27 | 28 | private static final String DAX_PACKAGE_NAME = "com.dolby.daxappui"; 29 | private static final String DAX_ACTIVITY = "com.dolby.daxappui.MainActivity"; 30 | 31 | @Override 32 | protected void onCreate(Bundle savedInstanceState) { 33 | // super.onCreate(savedInstanceState); 34 | 35 | ComponentName componentName = new ComponentName(DAX_PACKAGE_NAME, DAX_ACTIVITY); 36 | Intent intent = new Intent(); 37 | intent.setComponent(componentName); 38 | startActivity(intent); 39 | // if (intent != null) { 40 | // startActivity(intent); 41 | // } else { 42 | // Toast.makeText(getApplicationContext(), "DaxUI not installed", Toast.LENGTH_SHORT).show(); 43 | // } 44 | 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /vibrator/aidl/vendor.qti.hardware.vibrator.service.xiaomi_sm8350.xml: -------------------------------------------------------------------------------- 1 | 28 | 29 | 30 | android.hardware.vibrator 31 | IVibrator/default 32 | 33 | 34 | -------------------------------------------------------------------------------- /sepolicy/vendor/hwservice_contexts: -------------------------------------------------------------------------------- 1 | # Camera 2 | vendor.xiaomi.hardware.cameraperf::IMiCameraPerfService u:object_r:vendor_hal_cameraperf_hwservice:s0 3 | vendor.xiaomi.hardware.campostproc::IMiPostProcService u:object_r:vendor_hal_camerapostproc_xiaomi_hwservice:s0 4 | 5 | # Fingerprint 6 | vendor.xiaomi.hardware.fx.tunnel::IMiFxTunnel u:object_r:vendor_hal_fingerprint_hwservice_xiaomi:s0 7 | vendor.xiaomi.hardware.fingerprintextension::IXiaomiFingerprint u:object_r:vendor_hal_fingerprint_hwservice_xiaomi:s0 8 | com.fingerprints.extension::IFingerprintEngineering u:object_r:vendor_hal_fingerprint_hwservice_xiaomi:s0 9 | com.fingerprints.extension::IFingerprintAuthenticator u:object_r:vendor_hal_fingerprint_hwservice_xiaomi:s0 10 | com.fingerprints.extension::IFingerprintNavigation u:object_r:vendor_hal_fingerprint_hwservice_xiaomi:s0 11 | com.fingerprints.extension::IFingerprintSensorTest u:object_r:vendor_hal_fingerprint_hwservice_xiaomi:s0 12 | com.fingerprints.extension::IFingerprintCalibration u:object_r:vendor_hal_fingerprint_hwservice_xiaomi:s0 13 | com.fingerprints.extension::IFingerprintOptical u:object_r:vendor_hal_fingerprint_hwservice_xiaomi:s0 14 | 15 | # Google WirelessCharger 16 | vendor.google.wireless_charger::IWirelessCharger u:object_r:hal_wlc_hwservice:s0 17 | 18 | # Mlipay 19 | vendor.xiaomi.hardware.mlipay::IMlipayService u:object_r:hal_mlipay_hwservice:s0 20 | 21 | # Sensors 22 | vendor.xiaomi.hardware.citsensorservice::ICitSensorService u:object_r:vendor_hal_citsensorservice_xiaomi_hwservice:s0 23 | -------------------------------------------------------------------------------- /gps/gps_vendor_product.mk: -------------------------------------------------------------------------------- 1 | # HAL packages 2 | ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),) 3 | 4 | # GPS-HIDL 5 | LOC_BOARD_PLATFORM_LIST += msm8937 6 | LOC_BOARD_PLATFORM_LIST += msm8953 7 | LOC_BOARD_PLATFORM_LIST += msm8998 8 | LOC_BOARD_PLATFORM_LIST += apq8098_latv 9 | LOC_BOARD_PLATFORM_LIST += sdm710 10 | LOC_BOARD_PLATFORM_LIST += qcs605 11 | LOC_BOARD_PLATFORM_LIST += sdm845 12 | LOC_BOARD_PLATFORM_LIST += sdm660 13 | LOC_BOARD_PLATFORM_LIST += msmnile 14 | LOC_BOARD_PLATFORM_LIST += sdmshrike 15 | LOC_BOARD_PLATFORM_LIST += $(MSMSTEPPE) 16 | LOC_BOARD_PLATFORM_LIST += $(TRINKET) 17 | LOC_BOARD_PLATFORM_LIST += kona 18 | LOC_BOARD_PLATFORM_LIST += atoll 19 | LOC_BOARD_PLATFORM_LIST += lito 20 | LOC_BOARD_PLATFORM_LIST += bengal 21 | LOC_BOARD_PLATFORM_LIST += lahaina 22 | LOC_BOARD_PLATFORM_LIST += holi 23 | 24 | # Add product packages 25 | ifneq (,$(filter $(LOC_BOARD_PLATFORM_LIST),$(TARGET_BOARD_PLATFORM))) 26 | 27 | PRODUCT_PACKAGES += gps.conf 28 | PRODUCT_PACKAGES += flp.conf 29 | PRODUCT_PACKAGES += gnss_antenna_info.conf 30 | PRODUCT_PACKAGES += gnss@2.0-base.policy 31 | PRODUCT_PACKAGES += gnss@2.0-xtra-daemon.policy 32 | PRODUCT_PACKAGES += gnss@2.0-xtwifi-client.policy 33 | PRODUCT_PACKAGES += gnss@2.0-xtwifi-inet-agent.policy 34 | PRODUCT_PACKAGES += libloc_pla_headers 35 | PRODUCT_PACKAGES += liblocation_api_headers 36 | PRODUCT_PACKAGES += libgps.utils_headers 37 | PRODUCT_PACKAGES += liblocation_api 38 | PRODUCT_PACKAGES += libgps.utils 39 | PRODUCT_PACKAGES += libbatching 40 | PRODUCT_PACKAGES += libgeofencing 41 | PRODUCT_PACKAGES += libloc_core 42 | PRODUCT_PACKAGES += libgnss 43 | 44 | PRODUCT_PACKAGES += android.hardware.gnss@2.1-impl-qti 45 | PRODUCT_PACKAGES += android.hardware.gnss@2.1-service-qti 46 | 47 | endif # ifneq (,$(filter $(LOC_BOARD_PLATFORM_LIST),$(TARGET_BOARD_PLATFORM))) 48 | endif # ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),) 49 | -------------------------------------------------------------------------------- /gps/utils/LocLoggerBase.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2020 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 | */ 29 | #ifndef LOC_LOGGER_BASE_H 30 | #define LOC_LOGGER_BASE_H 31 | 32 | namespace loc_util { 33 | class LocLoggerBase { 34 | public: 35 | virtual void log() {} 36 | }; 37 | } 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /gps/android/1.0/android.hardware.gnss@1.0-service-qti.xml: -------------------------------------------------------------------------------- 1 | 28 | 29 | 30 | android.hardware.gnss 31 | hwbinder 32 | @1.0::IGnss/default 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /gps/android/1.1/android.hardware.gnss@1.1-service-qti.xml: -------------------------------------------------------------------------------- 1 | 28 | 29 | 30 | android.hardware.gnss 31 | hwbinder 32 | @1.1::IGnss/default 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /vibrator/aidl/Android.bp: -------------------------------------------------------------------------------- 1 | Common_CFlags = ["-Wall"] 2 | Common_CFlags += ["-Werror"] 3 | 4 | soong_config_module_type { 5 | name: "vibrator_effect_stream", 6 | module_type: "cc_defaults", 7 | config_namespace: "xiaomiSm8350Vars", 8 | bool_variables: ["vibrator_use_effect_stream"], 9 | properties: [ 10 | "cflags", 11 | "shared_libs", 12 | ], 13 | } 14 | 15 | vibrator_effect_stream { 16 | name: "vibrator_effect_stream_defaults", 17 | soong_config_variables: { 18 | vibrator_use_effect_stream: { 19 | cflags: ["-DUSE_EFFECT_STREAM"], 20 | shared_libs: [ 21 | "libxiaomivibratoreffect", 22 | ], 23 | }, 24 | }, 25 | } 26 | 27 | cc_library_shared { 28 | name: "vendor.qti.hardware.vibrator.impl.xiaomi_sm8350", 29 | defaults: [ 30 | "vibrator_effect_stream_defaults", 31 | ], 32 | vendor: true, 33 | cflags: Common_CFlags, 34 | srcs: [ 35 | "Vibrator.cpp", 36 | ], 37 | shared_libs: [ 38 | "libcutils", 39 | "libutils", 40 | "liblog", 41 | "libbinder_ndk", 42 | "android.hardware.vibrator-V1-ndk", 43 | ], 44 | export_include_dirs: ["include"] 45 | } 46 | 47 | cc_binary { 48 | name: "vendor.qti.hardware.vibrator.service.xiaomi_sm8350", 49 | vendor: true, 50 | relative_install_path: "hw", 51 | init_rc: ["vendor.qti.hardware.vibrator.service.xiaomi_sm8350.rc"], 52 | vintf_fragments: [ 53 | "vendor.qti.hardware.vibrator.service.xiaomi_sm8350.xml", 54 | ], 55 | cflags: Common_CFlags, 56 | srcs: [ 57 | "service.cpp", 58 | ], 59 | shared_libs: [ 60 | "libcutils", 61 | "libutils", 62 | "libbase", 63 | "libbinder_ndk", 64 | "android.hardware.vibrator-V1-ndk", 65 | "vendor.qti.hardware.vibrator.impl.xiaomi_sm8350", 66 | ], 67 | } 68 | -------------------------------------------------------------------------------- /gps/android/1.0/GnssDebug.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ANDROID_HARDWARE_GNSS_V1_0_GNSSDEBUG_H 18 | #define ANDROID_HARDWARE_GNSS_V1_0_GNSSDEBUG_H 19 | 20 | 21 | #include 22 | #include 23 | 24 | namespace android { 25 | namespace hardware { 26 | namespace gnss { 27 | namespace V1_0 { 28 | namespace implementation { 29 | 30 | using ::android::hardware::gnss::V1_0::IGnssDebug; 31 | using ::android::hardware::Return; 32 | using ::android::hardware::Void; 33 | using ::android::hardware::hidl_vec; 34 | using ::android::hardware::hidl_string; 35 | using ::android::sp; 36 | 37 | /* Interface for GNSS Debug support. */ 38 | struct Gnss; 39 | struct GnssDebug : public IGnssDebug { 40 | GnssDebug(Gnss* gnss); 41 | ~GnssDebug() {}; 42 | 43 | /* 44 | * Methods from ::android::hardware::gnss::V1_0::IGnssDebug follow. 45 | * These declarations were generated from IGnssDebug.hal. 46 | */ 47 | Return getDebugData(getDebugData_cb _hidl_cb) override; 48 | 49 | private: 50 | Gnss* mGnss = nullptr; 51 | }; 52 | 53 | } // namespace implementation 54 | } // namespace V1_0 55 | } // namespace gnss 56 | } // namespace hardware 57 | } // namespace android 58 | 59 | #endif // ANDROID_HARDWARE_GNSS_V1_0_GNSSDEBUG_H 60 | -------------------------------------------------------------------------------- /gps/android/1.1/GnssDebug.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ANDROID_HARDWARE_GNSS_V1_1_GNSSDEBUG_H 18 | #define ANDROID_HARDWARE_GNSS_V1_1_GNSSDEBUG_H 19 | 20 | 21 | #include 22 | #include 23 | 24 | namespace android { 25 | namespace hardware { 26 | namespace gnss { 27 | namespace V1_1 { 28 | namespace implementation { 29 | 30 | using ::android::hardware::gnss::V1_0::IGnssDebug; 31 | using ::android::hardware::Return; 32 | using ::android::hardware::Void; 33 | using ::android::hardware::hidl_vec; 34 | using ::android::hardware::hidl_string; 35 | using ::android::sp; 36 | 37 | /* Interface for GNSS Debug support. */ 38 | struct Gnss; 39 | struct GnssDebug : public IGnssDebug { 40 | GnssDebug(Gnss* gnss); 41 | ~GnssDebug() {}; 42 | 43 | /* 44 | * Methods from ::android::hardware::gnss::V1_0::IGnssDebug follow. 45 | * These declarations were generated from IGnssDebug.hal. 46 | */ 47 | Return getDebugData(getDebugData_cb _hidl_cb) override; 48 | 49 | private: 50 | Gnss* mGnss = nullptr; 51 | }; 52 | 53 | } // namespace implementation 54 | } // namespace V1_1 55 | } // namespace gnss 56 | } // namespace hardware 57 | } // namespace android 58 | 59 | #endif // ANDROID_HARDWARE_GNSS_V1_1_GNSSDEBUG_H 60 | -------------------------------------------------------------------------------- /gps/android/2.0/android.hardware.gnss@2.0-service-qti.xml: -------------------------------------------------------------------------------- 1 | 28 | 29 | 30 | android.hardware.gnss 31 | hwbinder 32 | @1.1::IGnss/default 33 | @2.0::IGnss/default 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /gps/android/2.1/android.hardware.gnss@2.1-service-qti.xml: -------------------------------------------------------------------------------- 1 | 28 | 29 | 30 | android.hardware.gnss 31 | hwbinder 32 | @1.1::IGnss/default 33 | @2.1::IGnss/default 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /sepolicy/private/property_contexts: -------------------------------------------------------------------------------- 1 | # Camera 2 | ro.camera.req.fmq.size u:object_r:vendor_camera_prop:s0 3 | ro.camera.res.fmq.size u:object_r:vendor_camera_prop:s0 4 | persist.al.ldc.log u:object_r:vendor_camera_prop:s0 5 | persist.al.cfr.loglevel u:object_r:vendor_camera_prop:s0 6 | persist.wa.log.level u:object_r:vendor_camera_prop:s0 7 | persist.sys.camlog.system.af u:object_r:vendor_camera_prop:s0 8 | MACE_CPP_MIN_VLOG_LEVEL u:object_r:vendor_camera_prop:s0 9 | vendor.camera.skip_unconfigure.packagelist u:object_r:vendor_persist_camera_prop:s0 10 | 11 | # Dolby Properties 12 | ro.vendor.dolby.dax.version u:object_r:exported_system_prop:s0 13 | ro.vendor.audio.dolby.dax.support u:object_r:exported_system_prop:s0 14 | ro.vendor.audio.dolby.dax.version u:object_r:exported_system_prop:s0 15 | ro.vendor.audio.dolby.surround.enable u:object_r:exported_system_prop:s0 16 | 17 | # Fs-verity 18 | pm.dexopt.dm.require_fsverity u:object_r:exported_pm_prop:s0 19 | pm.dexopt.dm.require_manifest u:object_r:exported_pm_prop:s0 20 | 21 | # Graphics 22 | ro.vendor.gfx.32bit.target u:object_r:graphics_config_prop:s0 23 | 24 | # Hardware 25 | ro.hardware.chipname u:object_r:build_prop:s0 26 | ro.hardware.alter u:object_r:build_prop:s0 27 | 28 | # Global 29 | ro.product.marketname u:object_r:build_prop:s0 30 | ro.product.mod_device u:object_r:build_prop:s0 31 | 32 | # MIUI 33 | ro.miui. u:object_r:exported_system_prop:s0 34 | ro.cust.test u:object_r:exported_system_prop:s0 35 | ro.carrier.name u:object_r:exported_default_prop:s0 36 | persist.hydra.mem_trace u:object_r:exported_system_prop:s0 37 | 38 | # Sensors 39 | persist.sensor.sardisable u:object_r:vendor_sensors_prop:s0 40 | -------------------------------------------------------------------------------- /configs/camera_cnf.txt: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | TPmnQaPPrA5eO2LOLggh1VwFuUBAQi6vEmWKy+JON6Act6n6MGo43ZInplaA 3 | PkAWvl1vAK99VbPSAmKaGj3r0ApwMSyO7ARlfli0Rza5rajanjJtMe321Rdi 4 | mCxJUAslvAx8lI51rwJYoblkTVzCMdqbaZ6la/BSCUfYzpPsCdg4Q67gMoKA 5 | m0GdTo2ZG/NkAIInCAxYHFEX3+YA2sM+OXania4E+R23CmRyBcXTB8AseVf7 6 | FwAOVLGy078DgBUpgWdRCP1WDOJJrvTsJ62f4SUwAkJULwdTbXH/7bHAUdiU 7 | FDDYgzs/B89uQVNsnqC7lv1hgHmKGBej2SkYQuidn+m4HdY4I1D4BmqSurJp 8 | NbA9gAkZAb3YwNDyUO3F6eCBhAGQrJjWvebF9Xx0UlAeQ9GdKAEhjCyFrwLA 9 | l32n2JCtKXA7v+iL2R8BBtAQ4fTho588RAB6fo26LpJsic6BrWmAt8dhnecq 10 | 0ryTnaENemXf23KWdj7OLZFQz1J77bXfXjk0z4HMGyJefS1+FGXv7bjSAoct 11 | xbqU87cg5oMCD2GIW0jzp6nBuF8x1MYc5Wlgo3cfQiKWUQWAKRqd56UIuVcP 12 | yA8mAWjAdr4sAP2VY19QwrYUyrPAAD/bhFII/DZAIVCI7mUasbwaVzZoyjAq 13 | DSPyPR2UNhLiTMgfL7YQ1fxUC2YxQJoA5KTZ2sm6a7rG/K+fq0oYO/spitHO 14 | zEuzaAv6ANu9mo2cuMHn4swebZH+X9T86R+OQbhttMuAnSXecs1FhF9eePiV 15 | qbU/bl5ueAlTYGgO2d67IYzYdIdqxo7nam8qy7is 16 | ------------------------------------------------------------ 17 | F/gynyvlxXePc8KOceHbsSKnVGf8bWafLB5WtvUQGEqM63eOqEXWS6PlgOAQ 18 | YCiZ/J4AEXUXH45fYQaeYTd3W/ldAYUOC5Z/eRbmJzp26A/iVpGQSunH8IXx 19 | 8OLZhhh/ttxz4YN/MxvChmz1aDT+AF/Vl+kgw/5lHhAAQlMBH7ywAkYZgACo 20 | j7sPljJG6AiJOxA1GwfovOM6V+2RqYwDHmcO9BOLS6zO+wgf8JqGAIjLPkOG 21 | PZSWOG79yPkEVfGDS/28TLAyYj3dTPAPtrp1rTsAC3omAzvM1iaAle2E5run 22 | I0QtwKzEIoaFgYyOP91M/1oTlCllXCCDwUlQkVecGfiat3FqAam5GQAPDEvK 23 | uAJNKoOcD37XvJjLCRwPmA5AajShfBVxBBmbY+tJO+qRHlBia123MzZQQ4AN 24 | c5VLwME+fzg57VxTgNFl2QPMR7sQn1kD3aEwSAdlqSWZDAnGzpOEBAk29O9V 25 | 230eCArDRZpL1G48vPZ037fyt2X9AnDbbwAeQ8jNaOIpy4odHEHc+6xgKZ/e 26 | dk7AJSmA9vL0EQcOeYC4dwy7A2rqTAMv6lka7ROPXo38IEgOEvw0nZD+t4DA 27 | 730G7OTrt84fgc8JALvS9ql5vhTIAkQ2aJTMMZo0rnYNN3AyoojhSI6jr6EG 28 | DFvxjgXtV8SOCE+OYE8y9Z9sTiAw+IOYegLcN/6QiBYrBs1P0dS83PhmWTWM 29 | AROfMlZrzG5Jg+42i3B8AuWCsWASk/Nx9BAN6K8SUVeAe4wMAW1/pO2zOmWp 30 | n5cADc72lDd0orMTAVHaObIXgQ+ufHh6Mvr6paPQYSuGA4RN191QZlx7g7gu 31 | lR5EAClbgpUbB/OdjONVmcb/aluYmcM9ShpMBwAY9uD/ 32 | ############################################################ 33 | -------------------------------------------------------------------------------- /configs/telephony_system-ext_privapp-permissions-qti.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 29 | 30 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /vibrator/effect/effect.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, The Linux Foundation. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * * Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * * Redistributions in binary form must reproduce the above 10 | * copyright notice, this list of conditions and the following 11 | * disclaimer in the documentation and/or other materials provided 12 | * with the distribution. 13 | * * Neither the name of The Linux Foundation nor the names of its 14 | * contributors may be used to endorse or promote products derived 15 | * from this software without specific prior written permission. 16 | * 17 | * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 18 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 20 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 21 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 24 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 25 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 26 | * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 27 | * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #ifndef XIAOMI_VIBRATOR_EFFECT_STREAM_H 31 | #define XIAOMI_VIBRATOR_EFFECT_STREAM_H 32 | #include 33 | 34 | struct effect_stream { 35 | uint32_t effect_id; 36 | uint32_t length; 37 | uint32_t play_rate_hz; 38 | const int8_t *data; 39 | }; 40 | 41 | const struct effect_stream *get_effect_stream(uint32_t effect_id); 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /gps/android/2.0/GnssDebug.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. 3 | * Not a Contribution 4 | */ 5 | /* 6 | * Copyright (C) 2016 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 ANDROID_HARDWARE_GNSS_V2_0_GNSSDEBUG_H 22 | #define ANDROID_HARDWARE_GNSS_V2_0_GNSSDEBUG_H 23 | 24 | 25 | #include 26 | #include 27 | 28 | namespace android { 29 | namespace hardware { 30 | namespace gnss { 31 | namespace V2_0 { 32 | namespace implementation { 33 | 34 | using ::android::hardware::gnss::V2_0::IGnssDebug; 35 | using ::android::hardware::Return; 36 | using ::android::hardware::Void; 37 | using ::android::hardware::hidl_vec; 38 | using ::android::hardware::hidl_string; 39 | using ::android::sp; 40 | 41 | /* Interface for GNSS Debug support. */ 42 | struct Gnss; 43 | struct GnssDebug : public IGnssDebug { 44 | GnssDebug(Gnss* gnss); 45 | ~GnssDebug() {}; 46 | 47 | // Methods from ::android::hardware::gnss::V1_0::IGnssDebug follow 48 | Return getDebugData(getDebugData_cb _hidl_cb) override; 49 | // Methods from ::android::hardware::gnss::V2_0::IGnssDebug follow. 50 | Return getDebugData_2_0(getDebugData_2_0_cb _hidl_cb) override; 51 | 52 | private: 53 | Gnss* mGnss = nullptr; 54 | }; 55 | 56 | } // namespace implementation 57 | } // namespace V2_0 58 | } // namespace gnss 59 | } // namespace hardware 60 | } // namespace android 61 | 62 | #endif // ANDROID_HARDWARE_GNSS_V2_0_GNSSDEBUG_H 63 | -------------------------------------------------------------------------------- /gps/android/2.1/GnssDebug.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. 3 | * Not a Contribution 4 | */ 5 | /* 6 | * Copyright (C) 2016 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 ANDROID_HARDWARE_GNSS_V2_0_GNSSDEBUG_H 22 | #define ANDROID_HARDWARE_GNSS_V2_0_GNSSDEBUG_H 23 | 24 | 25 | #include 26 | #include 27 | 28 | namespace android { 29 | namespace hardware { 30 | namespace gnss { 31 | namespace V2_1 { 32 | namespace implementation { 33 | 34 | using ::android::hardware::gnss::V2_0::IGnssDebug; 35 | using ::android::hardware::Return; 36 | using ::android::hardware::Void; 37 | using ::android::hardware::hidl_vec; 38 | using ::android::hardware::hidl_string; 39 | using ::android::sp; 40 | 41 | /* Interface for GNSS Debug support. */ 42 | struct Gnss; 43 | struct GnssDebug : public IGnssDebug { 44 | GnssDebug(Gnss* gnss); 45 | ~GnssDebug() {}; 46 | 47 | // Methods from ::android::hardware::gnss::V1_0::IGnssDebug follow 48 | Return getDebugData(getDebugData_cb _hidl_cb) override; 49 | // Methods from ::android::hardware::gnss::V2_0::IGnssDebug follow. 50 | Return getDebugData_2_0(getDebugData_2_0_cb _hidl_cb) override; 51 | 52 | private: 53 | Gnss* mGnss = nullptr; 54 | }; 55 | 56 | } // namespace implementation 57 | } // namespace V2_1 58 | } // namespace gnss 59 | } // namespace hardware 60 | } // namespace android 61 | 62 | #endif // ANDROID_HARDWARE_GNSS_V2_0_GNSSDEBUG_H 63 | -------------------------------------------------------------------------------- /gps/geofence/configure.ac: -------------------------------------------------------------------------------- 1 | AC_PREREQ(2.61) 2 | AC_INIT([location-geofence], 1.0.0) 3 | AM_INIT_AUTOMAKE([foreign subdir-objects]) 4 | AC_CONFIG_SRCDIR([Makefile.am]) 5 | AC_CONFIG_HEADERS([config.h]) 6 | AC_CONFIG_MACRO_DIR([m4]) 7 | 8 | # Check for programs 9 | AC_PROG_LIBTOOL 10 | AC_PROG_CXX 11 | AC_PROG_CC 12 | AM_PROG_CC_C_O 13 | AC_PROG_AWK 14 | AC_PROG_CPP 15 | AC_PROG_INSTALL 16 | AC_PROG_LN_S 17 | AC_PROG_MAKE_SET 18 | PKG_PROG_PKG_CONFIG 19 | 20 | # Check for libraries 21 | PKG_CHECK_MODULES([GPSUTILS], [gps-utils]) 22 | AC_SUBST([GPSUTILS_CFLAGS]) 23 | AC_SUBST([GPSUTILS_LIBS]) 24 | 25 | PKG_CHECK_MODULES([LOCCORE], [loc-core]) 26 | AC_SUBST([LOCCORE_CFLAGS]) 27 | AC_SUBST([LOCCORE_LIBS]) 28 | 29 | AS_CASE([$host], 30 | [arm*], [ARM=yes], 31 | [ARM=no] 32 | ) 33 | 34 | AC_ARG_WITH([locpla_includes], 35 | AC_HELP_STRING([--with-locpla-includes=@<:@dir@:>@], 36 | [specify the path to locpla-includes in loc-pla_git.bb]), 37 | [locpla_incdir=$withval], 38 | with_locpla_includes=no) 39 | 40 | if test "x$with_locpla_includes" != "xno"; then 41 | AC_SUBST(LOCPLA_CFLAGS, "-I${locpla_incdir}") 42 | fi 43 | 44 | AC_ARG_WITH([glib], 45 | AC_HELP_STRING([--with-glib], 46 | [enable glib, building HLOS systems which use glib])) 47 | 48 | if (test "x${with_glib}" = "xyes"); then 49 | AC_DEFINE(ENABLE_USEGLIB, 1, [Define if HLOS systems uses glib]) 50 | PKG_CHECK_MODULES(GTHREAD, gthread-2.0 >= 2.16, dummy=yes, 51 | AC_MSG_ERROR(GThread >= 2.16 is required)) 52 | PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16, dummy=yes, 53 | AC_MSG_ERROR(GLib >= 2.16 is required)) 54 | GLIB_CFLAGS="$GLIB_CFLAGS $GTHREAD_CFLAGS" 55 | GLIB_LIBS="$GLIB_LIBS $GTHREAD_LIBS" 56 | 57 | AC_SUBST(GLIB_CFLAGS) 58 | AC_SUBST(GLIB_LIBS) 59 | fi 60 | 61 | AM_CONDITIONAL(USE_GLIB, test "x${with_glib}" = "xyes") 62 | 63 | AC_SUBST([CFLAGS]) 64 | AC_SUBST([CPPFLAGS]) 65 | AC_SUBST([LIBS]) 66 | 67 | AC_CONFIG_FILES([ \ 68 | Makefile \ 69 | location-geofence.pc 70 | ]) 71 | 72 | AC_OUTPUT 73 | -------------------------------------------------------------------------------- /gps/etc/seccomp_policy/gnss@2.0-xtra-daemon.policy: -------------------------------------------------------------------------------- 1 | #******************************************************************************* 2 | # Copyright (c) 2020 The Linux Foundation. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions are 6 | # met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above 10 | # copyright notice, this list of conditions and the following 11 | # disclaimer in the documentation and/or other materials provided 12 | # with the distribution. 13 | # * Neither the name of The Linux Foundation, nor the names of its 14 | # contributors may be used to endorse or promote products derived 15 | # from this software without specific prior written permission. 16 | # 17 | # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 18 | # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19 | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 20 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 21 | # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 24 | # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 25 | # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 26 | # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 27 | # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | # 29 | #****************************************************************************** 30 | bind: 1 31 | getrlimit: 1 32 | 33 | pipe2: 1 34 | 35 | sched_getaffinity: 1 36 | timerfd_create: 1 37 | unlinkat: 1 38 | setpriority: 1 39 | 40 | epoll_create1: 1 41 | epoll_ctl: 1 42 | epoll_pwait: 1 43 | timerfd_settime: 1 44 | 45 | fdatasync: 1 46 | madvise: 1 47 | ftruncate: 1 48 | 49 | -------------------------------------------------------------------------------- /gps/etc/flp.conf: -------------------------------------------------------------------------------- 1 | ################################### 2 | ##### FLP settings ##### 3 | ################################### 4 | 5 | ################################### 6 | # FLP BATCH SIZE 7 | ################################### 8 | # The number of batched locations 9 | # requested to modem. The desired number 10 | # defined below may not be satisfied, as 11 | # the modem can only return the number 12 | # of batched locations that can be allocated, 13 | # which is limited by memory. The default 14 | # batch size defined as 20 as below. 15 | BATCH_SIZE=40 16 | 17 | ################################### 18 | # FLP OUTDOOR TRIP BATCH SIZE 19 | ################################### 20 | # The number of batched locations 21 | # requested to modem for outdoor 22 | # trip batching. The desired number 23 | # defined below may not be satisfied, as 24 | # the modem can only return the number 25 | # of batched locations that can be allocated, 26 | # which is limited by memory. The default 27 | # trip batch size defined as 600 as below. 28 | OUTDOOR_TRIP_BATCH_SIZE=600 29 | 30 | ################################### 31 | # FLP BATCHING SESSION TIMEOUT 32 | ################################### 33 | # Duration with which batch session timeout 34 | # happens in milliseconds. If not specified 35 | # or set to zero, batching session timeout 36 | # defaults to 20 seconds by the modem. 37 | # BATCH_SESSION_TIMEOUT=20000 38 | 39 | ################################### 40 | # FLP BATCHING ACCURACY 41 | ################################### 42 | # Set to one of the defined values below 43 | # to define the accuracy of batching. 44 | # If not specified, accuracy defaults 45 | # to LOW. 46 | # FLP BATCHING ACCURACY values: 47 | # Low accuracy = 0 48 | # Medium accuracy = 1 49 | # High accuracy = 2 50 | ACCURACY=1 51 | 52 | #################################### 53 | # By default if network fixes are not sensor assisted 54 | # these fixes must be dropped. This parameter adds an exception 55 | # for targets where there is no PDR and we still want to 56 | # report out network fixes 57 | # 0: MUST NOT ALLOW NETWORK FIXES 58 | # 1: ALLOW NETWORK FIXES 59 | #################################### 60 | ALLOW_NETWORK_FIXES = 0 61 | -------------------------------------------------------------------------------- /sepolicy/vendor/platform_app.te: -------------------------------------------------------------------------------- 1 | allow platform_app vendor_hal_soter_hwservice:hwservice_manager find; 2 | binder_call(platform_app, vendor_hal_soter_qti) 3 | 4 | # Audio 5 | get_prop(platform_app, audio_config_prop) 6 | 7 | # allow SystemUI to find and bind Google Battery HAL 8 | allow platform_app hal_googlebattery_service:service_manager find; 9 | binder_call(platform_app, hal_googlebattery) 10 | 11 | # To find and bind hal_wlc 12 | allow platform_app hal_wlc_hwservice:hwservice_manager find; 13 | binder_call(platform_app, hal_wlc) 14 | 15 | # Leica Camera 16 | get_prop(platform_app, vendor_display_prop) 17 | get_prop(platform_app, vendor_camera_sensor_prop) 18 | allow platform_app vendor_hal_camerapostproc_xiaomi_hwservice:hwservice_manager find; 19 | binder_call(platform_app, vendor_hal_camerapostproc_xiaomi) 20 | 21 | # FPS info 22 | allow platform_app vendor_sysfs_graphics:dir search; 23 | allow platform_app vendor_sysfs_graphics:file r_file_perms; 24 | 25 | # Face Unlock 26 | get_prop(platform_app, vendor_camera_prop) 27 | 28 | # Incremental 29 | get_prop(platform_app, incremental_prop) 30 | 31 | # To create files, get permission to fill blocks, and configure Incremental File System 32 | allow platform_app incremental_control_file:file { ioctl r_file_perms }; 33 | allowxperm platform_app incremental_control_file:file ioctl { 34 | INCFS_IOCTL_CREATE_FILE 35 | INCFS_IOCTL_CREATE_MAPPED_FILE 36 | INCFS_IOCTL_PERMIT_FILL 37 | INCFS_IOCTL_GET_READ_TIMEOUTS 38 | INCFS_IOCTL_SET_READ_TIMEOUTS 39 | INCFS_IOCTL_GET_LAST_READ_ERROR 40 | }; 41 | 42 | # To get signature of an APK installed on Incremental File System, and fill in data 43 | # blocks and get the filesystem state 44 | allowxperm platform_app apk_data_file:file ioctl { 45 | INCFS_IOCTL_READ_SIGNATURE 46 | INCFS_IOCTL_FILL_BLOCKS 47 | INCFS_IOCTL_GET_FILLED_BLOCKS 48 | INCFS_IOCTL_GET_BLOCK_COUNT 49 | F2FS_IOC_GET_FEATURES 50 | F2FS_IOC_GET_COMPRESS_BLOCKS 51 | F2FS_IOC_COMPRESS_FILE 52 | F2FS_IOC_DECOMPRESS_FILE 53 | F2FS_IOC_RELEASE_COMPRESS_BLOCKS 54 | F2FS_IOC_RESERVE_COMPRESS_BLOCKS 55 | FS_IOC_SETFLAGS 56 | FS_IOC_GETFLAGS 57 | }; 58 | 59 | # Zram 60 | r_dir_file(platform_app, sysfs_zram) 61 | -------------------------------------------------------------------------------- /gps/utils/Makefile.am: -------------------------------------------------------------------------------- 1 | ACLOCAL_AMFLAGS = -I m4 2 | 3 | AM_CFLAGS = -Wundef \ 4 | -MD \ 5 | -Wno-trigraphs \ 6 | -g -O0 \ 7 | -fno-inline \ 8 | -fno-short-enums \ 9 | -fpic \ 10 | -I./ \ 11 | -std=c++14 \ 12 | $(LOCPLA_CFLAGS) 13 | 14 | libgps_utils_la_h_sources = \ 15 | msg_q.h \ 16 | linked_list.h \ 17 | loc_cfg.h \ 18 | loc_log.h \ 19 | loc_target.h \ 20 | loc_timer.h \ 21 | MsgTask.h \ 22 | LocHeap.h \ 23 | LocThread.h \ 24 | LocTimer.h \ 25 | LocIpc.h \ 26 | SkipList.h\ 27 | loc_misc_utils.h \ 28 | loc_nmea.h \ 29 | gps_extended_c.h \ 30 | gps_extended.h \ 31 | loc_gps.h \ 32 | log_util.h \ 33 | LocSharedLock.h \ 34 | LocUnorderedSetMap.h\ 35 | LocLoggerBase.h 36 | 37 | libgps_utils_la_c_sources = \ 38 | linked_list.c \ 39 | msg_q.c \ 40 | loc_cfg.cpp \ 41 | loc_log.cpp \ 42 | loc_target.cpp \ 43 | LocHeap.cpp \ 44 | LocTimer.cpp \ 45 | LocThread.cpp \ 46 | LocIpc.cpp \ 47 | LogBuffer.cpp \ 48 | MsgTask.cpp \ 49 | loc_misc_utils.cpp \ 50 | loc_nmea.cpp 51 | 52 | library_includedir = $(pkgincludedir) 53 | 54 | library_include_HEADERS = $(libgps_utils_la_h_sources) 55 | 56 | libgps_utils_la_SOURCES = $(libgps_utils_la_c_sources) 57 | 58 | if USE_GLIB 59 | libgps_utils_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@ 60 | libgps_utils_la_LDFLAGS = -lstdc++ -Wl,-z,defs -lpthread @GLIB_LIBS@ -shared -version-info 1:0:0 61 | libgps_utils_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@ 62 | else 63 | libgps_utils_la_CFLAGS = $(AM_CFLAGS) 64 | libgps_utils_la_LDFLAGS = -Wl,-z,defs -lpthread -shared -version-info 1:0:0 65 | libgps_utils_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) 66 | endif 67 | 68 | libgps_utils_la_LIBADD = $(CUTILS_LIBS) -ldl 69 | 70 | #Create and Install libraries 71 | lib_LTLIBRARIES = libgps_utils.la 72 | 73 | pkgconfigdir = $(libdir)/pkgconfig 74 | pkgconfig_DATA = gps-utils.pc 75 | EXTRA_DIST = $(pkgconfig_DATA) 76 | -------------------------------------------------------------------------------- /hidl/xiaomi_framework_compatibility_matrix.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.fingerprints.extension 4 | 3.0 5 | 6 | IFingerprintNavigation 7 | default 8 | 9 | 10 | IFingerprintSensorTest 11 | default 12 | 13 | 14 | 15 | vendor.xiaomi.hardware.cameraperf 16 | 1.0 17 | 18 | IMiCameraPerfService 19 | default 20 | 21 | 22 | 23 | vendor.xiaomi.hardware.campostproc 24 | 1.0 25 | 26 | IMiPostProcService 27 | default 28 | 29 | 30 | 31 | vendor.xiaomi.hardware.citsensorservice 32 | hwbinder 33 | 1.1 34 | 35 | ICitSensorService 36 | default 37 | 38 | 39 | 40 | vendor.xiaomi.hardware.fingerprintextension 41 | 1.0 42 | 43 | IXiaomiFingerprint 44 | default 45 | 46 | 47 | 48 | vendor.xiaomi.hardware.fx.tunnel 49 | 1.0 50 | 51 | IMiFxTunnel 52 | default 53 | 54 | 55 | 56 | vendor.xiaomi.hardware.mlipay 57 | 1.1 58 | 59 | IMlipayService 60 | default 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /gps/utils/MsgTask.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011-2013, 2015, 2020 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 | */ 29 | #ifndef __MSG_TASK__ 30 | #define __MSG_TASK__ 31 | 32 | #include 33 | #include 34 | 35 | namespace loc_util { 36 | 37 | struct LocMsg { 38 | inline LocMsg() {} 39 | inline virtual ~LocMsg() {} 40 | virtual void proc() const = 0; 41 | inline virtual void log() const {} 42 | }; 43 | 44 | class MsgTask { 45 | const void* mQ; 46 | LocThread mThread; 47 | public: 48 | ~MsgTask() = default; 49 | MsgTask(const char* threadName = NULL); 50 | void sendMsg(const LocMsg* msg) const; 51 | void sendMsg(const std::function runnable) const; 52 | }; 53 | 54 | } // 55 | 56 | #endif //__MSG_TASK__ 57 | -------------------------------------------------------------------------------- /vibrator/excluded-input-devices.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /configs/qti_whitelist.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /gps/core/data-items/DataItemsFactoryProxy.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017, 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 | */ 29 | 30 | #ifndef __DATAITEMFACTORYBASE__ 31 | #define __DATAITEMFACTORYBASE__ 32 | 33 | #include 34 | #include 35 | 36 | namespace loc_core 37 | { 38 | 39 | #define DATA_ITEMS_LIB_NAME "libdataitems.so" 40 | #define DATA_ITEMS_GET_CONCRETE_DI "getConcreteDataItem" 41 | 42 | typedef IDataItemCore * (get_concrete_data_item_fn)(DataItemId); 43 | 44 | class DataItemsFactoryProxy { 45 | public: 46 | static IDataItemCore* createNewDataItem(DataItemId id); 47 | static void closeDataItemLibraryHandle(); 48 | static void *dataItemLibHandle; 49 | static get_concrete_data_item_fn *getConcreteDIFunc; 50 | }; 51 | 52 | } // namespace loc_core 53 | 54 | #endif //__DATAITEMFACTORYBASE__ 55 | 56 | -------------------------------------------------------------------------------- /vibrator/aidl/service.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, The Linux Foundation. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * * Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * * Redistributions in binary form must reproduce the above 10 | * copyright notice, this list of conditions and the following 11 | * disclaimer in the documentation and/or other materials provided 12 | * with the distribution. 13 | * * Neither the name of The Linux Foundation nor the names of its 14 | * contributors may be used to endorse or promote products derived 15 | * from this software without specific prior written permission. 16 | * 17 | * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 18 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 20 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 21 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 24 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 25 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 26 | * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 27 | * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #define LOG_TAG "vendor.qti.hardware.vibrator.service" 31 | 32 | #include 33 | #include 34 | #include 35 | 36 | #include "Vibrator.h" 37 | 38 | using aidl::android::hardware::vibrator::Vibrator; 39 | 40 | int main() { 41 | ABinderProcess_setThreadPoolMaxThreadCount(0); 42 | std::shared_ptr vib = ndk::SharedRefBase::make(); 43 | 44 | const std::string instance = std::string() + Vibrator::descriptor + "/default"; 45 | binder_status_t status = AServiceManager_addService(vib->asBinder().get(), instance.c_str()); 46 | CHECK(status == STATUS_OK); 47 | 48 | ABinderProcess_joinThreadPool(); 49 | return EXIT_FAILURE; // should not reach 50 | } 51 | -------------------------------------------------------------------------------- /gps/batching/configure.ac: -------------------------------------------------------------------------------- 1 | # configure.ac -- Autoconf script for gps location-batching 2 | # 3 | # Process this file with autoconf to produce a configure script 4 | 5 | # Requires autoconf tool later than 2.61 6 | AC_PREREQ(2.61) 7 | # Initialize the gps location-batching package version 1.0.0 8 | AC_INIT([location-batching],1.0.0) 9 | # Does not strictly follow GNU Coding standards 10 | AM_INIT_AUTOMAKE([foreign subdir-objects]) 11 | # Disables auto rebuilding of configure, Makefile.ins 12 | AM_MAINTAINER_MODE 13 | # Verifies the --srcdir is correct by checking for the path 14 | AC_CONFIG_SRCDIR([Makefile.am]) 15 | # defines some macros variable to be included by source 16 | AC_CONFIG_HEADERS([config.h]) 17 | AC_CONFIG_MACRO_DIR([m4]) 18 | 19 | # Checks for programs. 20 | AC_PROG_LIBTOOL 21 | AC_PROG_CXX 22 | AC_PROG_CC 23 | AM_PROG_CC_C_O 24 | AC_PROG_AWK 25 | AC_PROG_CPP 26 | AC_PROG_INSTALL 27 | AC_PROG_LN_S 28 | AC_PROG_MAKE_SET 29 | PKG_PROG_PKG_CONFIG 30 | 31 | # Checks for libraries. 32 | PKG_CHECK_MODULES([GPSUTILS], [gps-utils]) 33 | AC_SUBST([GPSUTILS_CFLAGS]) 34 | AC_SUBST([GPSUTILS_LIBS]) 35 | 36 | PKG_CHECK_MODULES([LOCCORE], [loc-core]) 37 | AC_SUBST([LOCCORE_CFLAGS]) 38 | AC_SUBST([LOCCORE_LIBS]) 39 | 40 | AC_ARG_WITH([locpla_includes], 41 | AC_HELP_STRING([--with-locpla-includes=@<:@dir@:>@], 42 | [specify the path to locpla-includes in loc-pla_git.bb]), 43 | [locpla_incdir=$withval], 44 | with_locpla_includes=no) 45 | 46 | if test "x$with_locpla_includes" != "xno"; then 47 | AC_SUBST(LOCPLA_CFLAGS, "-I${locpla_incdir}") 48 | fi 49 | 50 | AC_ARG_WITH([glib], 51 | AC_HELP_STRING([--with-glib], 52 | [enable glib, building HLOS systems which use glib])) 53 | 54 | if (test "x${with_glib}" = "xyes"); then 55 | AC_DEFINE(ENABLE_USEGLIB, 1, [Define if HLOS systems uses glib]) 56 | PKG_CHECK_MODULES(GTHREAD, gthread-2.0 >= 2.16, dummy=yes, 57 | AC_MSG_ERROR(GThread >= 2.16 is required)) 58 | PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16, dummy=yes, 59 | AC_MSG_ERROR(GLib >= 2.16 is required)) 60 | GLIB_CFLAGS="$GLIB_CFLAGS $GTHREAD_CFLAGS" 61 | GLIB_LIBS="$GLIB_LIBS $GTHREAD_LIBS" 62 | 63 | AC_SUBST(GLIB_CFLAGS) 64 | AC_SUBST(GLIB_LIBS) 65 | fi 66 | 67 | AM_CONDITIONAL(USE_GLIB, test "x${with_glib}" = "xyes") 68 | 69 | AC_CONFIG_FILES([ \ 70 | Makefile \ 71 | location-batching.pc 72 | ]) 73 | 74 | AC_OUTPUT 75 | -------------------------------------------------------------------------------- /gps/core/Makefile.am: -------------------------------------------------------------------------------- 1 | ACLOCAL_AMFLAGS = -I m4 2 | 3 | AM_CFLAGS = -I./ \ 4 | $(LOCPLA_CFLAGS) \ 5 | $(GPSUTILS_CFLAGS) \ 6 | -I./data-items/ \ 7 | -I./data-items/common \ 8 | -I./observer \ 9 | -I$(WORKSPACE)/gps-noship/flp \ 10 | -D__func__=__PRETTY_FUNCTION__ \ 11 | -fno-short-enums \ 12 | -std=c++11 13 | 14 | libloc_core_la_h_sources = \ 15 | LocApiBase.h \ 16 | LocAdapterBase.h \ 17 | ContextBase.h \ 18 | LocContext.h \ 19 | LBSProxyBase.h \ 20 | loc_core_log.h \ 21 | LocAdapterProxyBase.h \ 22 | EngineHubProxyBase.h \ 23 | data-items/DataItemId.h \ 24 | data-items/IDataItemCore.h \ 25 | data-items/DataItemConcreteTypesBase.h \ 26 | observer/IDataItemObserver.h \ 27 | observer/IDataItemSubscription.h \ 28 | observer/IFrameworkActionReq.h \ 29 | observer/IOsObserver.h \ 30 | SystemStatusOsObserver.h \ 31 | SystemStatus.h 32 | 33 | libloc_core_la_c_sources = \ 34 | LocApiBase.cpp \ 35 | LocAdapterBase.cpp \ 36 | ContextBase.cpp \ 37 | LocContext.cpp \ 38 | loc_core_log.cpp \ 39 | data-items/DataItemsFactoryProxy.cpp \ 40 | SystemStatusOsObserver.cpp \ 41 | SystemStatus.cpp 42 | 43 | if USE_EXTERNAL_AP 44 | AM_CFLAGS += -DFEATURE_EXTERNAL_AP 45 | endif 46 | 47 | library_includedir = $(pkgincludedir) 48 | 49 | library_include_HEADERS = $(libloc_core_la_h_sources) 50 | 51 | libloc_core_la_SOURCES = $(libloc_core_la_c_sources) 52 | 53 | if USE_GLIB 54 | libloc_core_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@ 55 | libloc_core_la_LDFLAGS = -lstdc++ -Wl,-z,defs -lpthread @GLIB_LIBS@ -shared -version-info 1:0:0 56 | libloc_core_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@ 57 | else 58 | libloc_core_la_CFLAGS = $(AM_CFLAGS) 59 | libloc_core_la_LDFLAGS = -Wl,-z,defs -lpthread -shared -version-info 1:0:0 60 | libloc_core_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) 61 | endif 62 | 63 | if USE_FEATURE_AUTOMOTIVE 64 | AM_CFLAGS += -DFEATURE_AUTOMOTIVE 65 | endif 66 | 67 | libloc_core_la_LIBADD = -ldl $(GPSUTILS_LIBS) 68 | 69 | #Create and Install libraries 70 | lib_LTLIBRARIES = libloc_core.la 71 | 72 | pkgconfigdir = $(libdir)/pkgconfig 73 | pkgconfig_DATA = loc-core.pc 74 | EXTRA_DIST = $(pkgconfig_DATA) 75 | -------------------------------------------------------------------------------- /gps/CleanSpec.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2007 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # 15 | 16 | # If you don't need to do a full clean build but would like to touch 17 | # a file or delete some intermediate files, add a clean step to the end 18 | # of the list. These steps will only be run once, if they haven't been 19 | # run before. 20 | # 21 | # E.g.: 22 | # $(call add-clean-step, touch -c external/sqlite/sqlite3.h) 23 | # $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) 24 | # 25 | # Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with 26 | # files that are missing or have been moved. 27 | # 28 | # Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. 29 | # Use $(OUT_DIR) to refer to the "out" directory. 30 | # 31 | # If you need to re-do something that's already mentioned, just copy 32 | # the command and add it to the bottom of the list. E.g., if a change 33 | # that you made last week required touching a file and a change you 34 | # made today requires touching the same file, just copy the old 35 | # touch step and add it to the end of the list. 36 | # 37 | # ************************************************ 38 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 39 | # ************************************************ 40 | 41 | # For example: 42 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) 43 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) 44 | #$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) 45 | #$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) 46 | 47 | # ************************************************ 48 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 49 | # ************************************************ 50 | $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libloc_api*) 51 | -------------------------------------------------------------------------------- /gps/core/LocContext.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011-2014, 2017-2020 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 | */ 29 | #ifndef __LOC_CONTEXT__ 30 | #define __LOC_CONTEXT__ 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | 37 | namespace loc_core { 38 | 39 | class LocContext : public ContextBase { 40 | static const MsgTask* mMsgTask; 41 | static ContextBase* mContext; 42 | static const MsgTask* getMsgTask(const char* name); 43 | static pthread_mutex_t mGetLocContextMutex; 44 | 45 | protected: 46 | LocContext(const MsgTask* msgTask); 47 | inline virtual ~LocContext() {} 48 | 49 | public: 50 | static const char* mLBSLibName; 51 | static const char* mLocationHalName; 52 | 53 | static ContextBase* getLocContext(const char* name); 54 | 55 | static void injectFeatureConfig(ContextBase *context); 56 | }; 57 | 58 | } 59 | 60 | #endif //__LOC_CONTEXT__ 61 | -------------------------------------------------------------------------------- /gps/android/1.0/GnssConfiguration.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. 3 | * Not a Contribution 4 | */ 5 | 6 | /* Copyright (C) 2016 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 | 22 | #ifndef ANDROID_HARDWARE_GNSS_V1_0_GNSSCONFIGURATION_H 23 | #define ANDROID_HARDWARE_GNSS_V1_0_GNSSCONFIGURATION_H 24 | 25 | #include 26 | #include 27 | 28 | namespace android { 29 | namespace hardware { 30 | namespace gnss { 31 | namespace V1_0 { 32 | namespace implementation { 33 | 34 | using ::android::hardware::gnss::V1_0::IGnssConfiguration; 35 | using ::android::hardware::Return; 36 | using ::android::hardware::Void; 37 | using ::android::hardware::hidl_vec; 38 | using ::android::hardware::hidl_string; 39 | using ::android::sp; 40 | 41 | /* 42 | * Interface for passing GNSS configuration info from platform to HAL. 43 | */ 44 | struct Gnss; 45 | struct GnssConfiguration : public IGnssConfiguration { 46 | GnssConfiguration(Gnss* gnss); 47 | ~GnssConfiguration() = default; 48 | 49 | /* 50 | * Methods from ::android::hardware::gnss::V1_0::IGnssConfiguration follow. 51 | * These declarations were generated from IGnssConfiguration.hal. 52 | */ 53 | Return setSuplVersion(uint32_t version) override; 54 | Return setSuplMode(uint8_t mode) override; 55 | Return setSuplEs(bool enabled) override; 56 | Return setLppProfile(uint8_t lppProfileMask) override; 57 | Return setGlonassPositioningProtocol(uint8_t protocol) override; 58 | Return setEmergencySuplPdn(bool enable) override; 59 | Return setGpsLock(uint8_t lock) override; 60 | 61 | private: 62 | Gnss* mGnss = nullptr; 63 | }; 64 | 65 | } // namespace implementation 66 | } // namespace V1_0 67 | } // namespace gnss 68 | } // namespace hardware 69 | } // namespace android 70 | 71 | #endif // ANDROID_HARDWARE_GNSS_V1_0_GNSSCONFIGURATION_H 72 | -------------------------------------------------------------------------------- /parts/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 12 | 13 | 15 | 19 | 22 | 23 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /rootdir/bin/init.kernel.post_boot.sh: -------------------------------------------------------------------------------- 1 | #============================================================================= 2 | # Copyright (c) 2019-2021 Qualcomm Technologies, Inc. 3 | # All Rights Reserved. 4 | # Confidential and Proprietary - Qualcomm Technologies, Inc. 5 | # 6 | # Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved. 7 | # 8 | # Redistribution and use in source and binary forms, with or without 9 | # modification, are permitted provided that the following conditions are met: 10 | # * Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # * Redistributions in binary form must reproduce the above copyright 13 | # notice, this list of conditions and the following disclaimer in the 14 | # documentation and/or other materials provided with the distribution. 15 | # * Neither the name of The Linux Foundation nor 16 | # the names of its contributors may be used to endorse or promote 17 | # products derived from this software without specific prior written 18 | # permission. 19 | # 20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | # IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 | # NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27 | # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28 | # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29 | # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 30 | # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | #============================================================================= 32 | 33 | if [ -f /sys/devices/soc0/soc_id ]; then 34 | platformid=`cat /sys/devices/soc0/soc_id` 35 | fi 36 | 37 | case "$platformid" in 38 | "415"|"439"|"456"|"501"|"502") 39 | /vendor/bin/sh /vendor/bin/init.kernel.post_boot-lahaina.sh 40 | ;; 41 | 42 | "450") 43 | /vendor/bin/sh /vendor/bin/init.kernel.post_boot-shima.sh 44 | ;; 45 | "475"|"499"|"487"|"488"|"498"|"497"|"515") 46 | /vendor/bin/sh /vendor/bin/init.kernel.post_boot-yupik.sh 47 | ;; 48 | *) 49 | echo "***WARNING***: Invalid SoC ID\n\t No postboot settings applied!!\n" 50 | ;; 51 | esac 52 | 53 | -------------------------------------------------------------------------------- /parts/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | Xiaomi Parts 20 | 21 | 22 | Clear speaker 23 | Play a 30-second audio to clear the speaker 24 | Run this feature once or twice if you find that your speaker is lightly blocked by dust. Set media volume to maximum.\n\nIf the speaker is blocked heavily, run this feature 2-5 times while shaking your device with the speaker facing downwards.\n\nWARNING: Ensure that any headphones are unplugged. 25 | 26 | 27 | Dolby Atmos 28 | Setting Dolby Atmos 29 | 30 | 31 | Per-app refresh rate 32 | Set the maximum refresh rate for a specific application 33 | Default 34 | 60Hz 35 | 120Hz 36 | 37 | 38 | Thermal profiles 39 | Per-app thermal profile configuration 40 | Default 41 | Benchmark 42 | Browser 43 | Camera 44 | Dialer 45 | Gaming 46 | Navigation 47 | Streaming 48 | Video 49 | 50 | -------------------------------------------------------------------------------- /gps/android/1.0/GnssNi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. 3 | * Not a Contribution 4 | */ 5 | /* 6 | * Copyright (C) 2016 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 ANDROID_HARDWARE_GNSS_V1_0_GNSSNI_H 22 | #define ANDROID_HARDWARE_GNSS_V1_0_GNSSNI_H 23 | 24 | #include 25 | #include 26 | 27 | namespace android { 28 | namespace hardware { 29 | namespace gnss { 30 | namespace V1_0 { 31 | namespace implementation { 32 | 33 | using ::android::hardware::gnss::V1_0::IGnssNi; 34 | using ::android::hardware::gnss::V1_0::IGnssNiCallback; 35 | using ::android::hardware::Return; 36 | using ::android::hardware::Void; 37 | using ::android::hardware::hidl_vec; 38 | using ::android::hardware::hidl_string; 39 | using ::android::sp; 40 | 41 | struct Gnss; 42 | struct GnssNi : public IGnssNi { 43 | GnssNi(Gnss* gnss); 44 | ~GnssNi() = default; 45 | 46 | /* 47 | * Methods from ::android::hardware::gnss::V1_0::IGnssNi follow. 48 | * These declarations were generated from IGnssNi.hal. 49 | */ 50 | Return setCallback(const sp& callback) override; 51 | Return respond(int32_t notifId, 52 | IGnssNiCallback::GnssUserResponseType userResponse) override; 53 | 54 | private: 55 | struct GnssNiDeathRecipient : hidl_death_recipient { 56 | GnssNiDeathRecipient(sp gnssNi) : mGnssNi(gnssNi) { 57 | } 58 | ~GnssNiDeathRecipient() = default; 59 | virtual void serviceDied(uint64_t cookie, const wp& who) override; 60 | sp mGnssNi; 61 | }; 62 | 63 | private: 64 | sp mGnssNiDeathRecipient = nullptr; 65 | sp mGnssNiCbIface = nullptr; 66 | Gnss* mGnss = nullptr; 67 | }; 68 | 69 | } // namespace implementation 70 | } // namespace V1_0 71 | } // namespace gnss 72 | } // namespace hardware 73 | } // namespace android 74 | 75 | #endif // ANDROID_HARDWARE_GNSS_V1_0_GNSSNI_H 76 | -------------------------------------------------------------------------------- /gps/android/1.1/GnssNi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. 3 | * Not a Contribution 4 | */ 5 | /* 6 | * Copyright (C) 2016 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 ANDROID_HARDWARE_GNSS_V1_1_GNSSNI_H 22 | #define ANDROID_HARDWARE_GNSS_V1_1_GNSSNI_H 23 | 24 | #include 25 | #include 26 | 27 | namespace android { 28 | namespace hardware { 29 | namespace gnss { 30 | namespace V1_1 { 31 | namespace implementation { 32 | 33 | using ::android::hardware::gnss::V1_0::IGnssNi; 34 | using ::android::hardware::gnss::V1_0::IGnssNiCallback; 35 | using ::android::hardware::Return; 36 | using ::android::hardware::Void; 37 | using ::android::hardware::hidl_vec; 38 | using ::android::hardware::hidl_string; 39 | using ::android::sp; 40 | 41 | struct Gnss; 42 | struct GnssNi : public IGnssNi { 43 | GnssNi(Gnss* gnss); 44 | ~GnssNi() = default; 45 | 46 | /* 47 | * Methods from ::android::hardware::gnss::V1_0::IGnssNi follow. 48 | * These declarations were generated from IGnssNi.hal. 49 | */ 50 | Return setCallback(const sp& callback) override; 51 | Return respond(int32_t notifId, 52 | IGnssNiCallback::GnssUserResponseType userResponse) override; 53 | 54 | private: 55 | struct GnssNiDeathRecipient : hidl_death_recipient { 56 | GnssNiDeathRecipient(sp gnssNi) : mGnssNi(gnssNi) { 57 | } 58 | ~GnssNiDeathRecipient() = default; 59 | virtual void serviceDied(uint64_t cookie, const wp& who) override; 60 | sp mGnssNi; 61 | }; 62 | 63 | private: 64 | sp mGnssNiDeathRecipient = nullptr; 65 | sp mGnssNiCbIface = nullptr; 66 | Gnss* mGnss = nullptr; 67 | }; 68 | 69 | } // namespace implementation 70 | } // namespace V1_1 71 | } // namespace gnss 72 | } // namespace hardware 73 | } // namespace android 74 | 75 | #endif // ANDROID_HARDWARE_GNSS_V1_1_GNSSNI_H 76 | -------------------------------------------------------------------------------- /gps/android/2.0/GnssNi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. 3 | * Not a Contribution 4 | */ 5 | /* 6 | * Copyright (C) 2016 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 ANDROID_HARDWARE_GNSS_V2_0_GNSSNI_H 22 | #define ANDROID_HARDWARE_GNSS_V2_0_GNSSNI_H 23 | 24 | #include 25 | #include 26 | 27 | namespace android { 28 | namespace hardware { 29 | namespace gnss { 30 | namespace V2_0 { 31 | namespace implementation { 32 | 33 | using ::android::hardware::gnss::V1_0::IGnssNi; 34 | using ::android::hardware::gnss::V1_0::IGnssNiCallback; 35 | using ::android::hardware::Return; 36 | using ::android::hardware::Void; 37 | using ::android::hardware::hidl_vec; 38 | using ::android::hardware::hidl_string; 39 | using ::android::sp; 40 | 41 | struct Gnss; 42 | struct GnssNi : public IGnssNi { 43 | GnssNi(Gnss* gnss); 44 | ~GnssNi() = default; 45 | 46 | /* 47 | * Methods from ::android::hardware::gnss::V1_0::IGnssNi follow. 48 | * These declarations were generated from IGnssNi.hal. 49 | */ 50 | Return setCallback(const sp& callback) override; 51 | Return respond(int32_t notifId, 52 | IGnssNiCallback::GnssUserResponseType userResponse) override; 53 | 54 | private: 55 | struct GnssNiDeathRecipient : hidl_death_recipient { 56 | GnssNiDeathRecipient(sp gnssNi) : mGnssNi(gnssNi) { 57 | } 58 | ~GnssNiDeathRecipient() = default; 59 | virtual void serviceDied(uint64_t cookie, const wp& who) override; 60 | sp mGnssNi; 61 | }; 62 | 63 | private: 64 | sp mGnssNiDeathRecipient = nullptr; 65 | sp mGnssNiCbIface = nullptr; 66 | Gnss* mGnss = nullptr; 67 | }; 68 | 69 | } // namespace implementation 70 | } // namespace V2_0 71 | } // namespace gnss 72 | } // namespace hardware 73 | } // namespace android 74 | 75 | #endif // ANDROID_HARDWARE_GNSS_V2_0_GNSSNI_H 76 | -------------------------------------------------------------------------------- /gps/android/2.1/GnssNi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. 3 | * Not a Contribution 4 | */ 5 | /* 6 | * Copyright (C) 2016 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 ANDROID_HARDWARE_GNSS_V2_0_GNSSNI_H 22 | #define ANDROID_HARDWARE_GNSS_V2_0_GNSSNI_H 23 | 24 | #include 25 | #include 26 | 27 | namespace android { 28 | namespace hardware { 29 | namespace gnss { 30 | namespace V2_1 { 31 | namespace implementation { 32 | 33 | using ::android::hardware::gnss::V1_0::IGnssNi; 34 | using ::android::hardware::gnss::V1_0::IGnssNiCallback; 35 | using ::android::hardware::Return; 36 | using ::android::hardware::Void; 37 | using ::android::hardware::hidl_vec; 38 | using ::android::hardware::hidl_string; 39 | using ::android::sp; 40 | 41 | struct Gnss; 42 | struct GnssNi : public IGnssNi { 43 | GnssNi(Gnss* gnss); 44 | ~GnssNi() = default; 45 | 46 | /* 47 | * Methods from ::android::hardware::gnss::V1_0::IGnssNi follow. 48 | * These declarations were generated from IGnssNi.hal. 49 | */ 50 | Return setCallback(const sp& callback) override; 51 | Return respond(int32_t notifId, 52 | IGnssNiCallback::GnssUserResponseType userResponse) override; 53 | 54 | private: 55 | struct GnssNiDeathRecipient : hidl_death_recipient { 56 | GnssNiDeathRecipient(sp gnssNi) : mGnssNi(gnssNi) { 57 | } 58 | ~GnssNiDeathRecipient() = default; 59 | virtual void serviceDied(uint64_t cookie, const wp& who) override; 60 | sp mGnssNi; 61 | }; 62 | 63 | private: 64 | sp mGnssNiDeathRecipient = nullptr; 65 | sp mGnssNiCbIface = nullptr; 66 | Gnss* mGnss = nullptr; 67 | }; 68 | 69 | } // namespace implementation 70 | } // namespace V2_1 71 | } // namespace gnss 72 | } // namespace hardware 73 | } // namespace android 74 | 75 | #endif // ANDROID_HARDWARE_GNSS_V2_0_GNSSNI_H 76 | -------------------------------------------------------------------------------- /gps/android/2.0/AGnss.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. 3 | * Not a Contribution 4 | */ 5 | /* 6 | * Copyright (C) 2016 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 ANDROID_HARDWARE_GNSS_V2_0_AGNSS_H 22 | #define ANDROID_HARDWARE_GNSS_V2_0_AGNSS_H 23 | 24 | #include 25 | #include 26 | #include 27 | 28 | namespace android { 29 | namespace hardware { 30 | namespace gnss { 31 | namespace V2_0 { 32 | namespace implementation { 33 | 34 | using ::android::hardware::Return; 35 | using ::android::hardware::Void; 36 | using ::android::hardware::hidl_vec; 37 | using ::android::hardware::hidl_string; 38 | using ::android::sp; 39 | 40 | struct Gnss; 41 | struct AGnss : public V2_0::IAGnss { 42 | 43 | AGnss(Gnss* gnss); 44 | ~AGnss(); 45 | /* 46 | * Methods from ::android::hardware::gnss::V2_0::IAGnss interface follow. 47 | * These declarations were generated from IAGnss.hal. 48 | */ 49 | Return setCallback(const sp& callback) override; 50 | 51 | Return dataConnClosed() override; 52 | 53 | Return dataConnFailed() override; 54 | 55 | Return dataConnOpen(uint64_t networkHandle, const hidl_string& apn, 56 | V2_0::IAGnss::ApnIpType apnIpType) override; 57 | 58 | Return setServer(V2_0::IAGnssCallback::AGnssType type, 59 | const hidl_string& hostname, int32_t port) override; 60 | 61 | void statusCb(AGpsExtType type, LocAGpsStatusValue status); 62 | 63 | /* Data call setup callback passed down to GNSS HAL implementation */ 64 | static void agnssStatusIpV4Cb(AGnssExtStatusIpV4 status); 65 | 66 | private: 67 | Gnss* mGnss = nullptr; 68 | sp mAGnssCbIface = nullptr; 69 | }; 70 | 71 | } // namespace implementation 72 | } // namespace V2_0 73 | } // namespace gnss 74 | } // namespace hardware 75 | } // namespace android 76 | 77 | #endif // ANDROID_HARDWARE_GNSS_V2_0_AGNSS_H 78 | -------------------------------------------------------------------------------- /gps/android/1.0/AGnss.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. 3 | * Not a Contribution 4 | */ 5 | /* 6 | * Copyright (C) 2016 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 ANDROID_HARDWARE_GNSS_V1_0_AGNSS_H 22 | #define ANDROID_HARDWARE_GNSS_V1_0_AGNSS_H 23 | 24 | #include 25 | #include 26 | #include 27 | 28 | namespace android { 29 | namespace hardware { 30 | namespace gnss { 31 | namespace V1_0 { 32 | namespace implementation { 33 | 34 | using ::android::hardware::gnss::V1_0::IAGnss; 35 | using ::android::hardware::gnss::V1_0::IAGnssCallback; 36 | using ::android::hardware::Return; 37 | using ::android::hardware::Void; 38 | using ::android::hardware::hidl_vec; 39 | using ::android::hardware::hidl_string; 40 | using ::android::sp; 41 | 42 | struct Gnss; 43 | struct AGnss : public IAGnss { 44 | 45 | AGnss(Gnss* gnss); 46 | ~AGnss(); 47 | /* 48 | * Methods from ::android::hardware::gnss::V1_0::IAGnss interface follow. 49 | * These declarations were generated from IAGnss.hal. 50 | */ 51 | Return setCallback(const sp& callback) override; 52 | 53 | Return dataConnClosed() override; 54 | 55 | Return dataConnFailed() override; 56 | 57 | Return dataConnOpen(const hidl_string& apn, 58 | IAGnss::ApnIpType apnIpType) override; 59 | 60 | Return setServer(IAGnssCallback::AGnssType type, 61 | const hidl_string& hostname, int32_t port) override; 62 | 63 | void statusIpV4Cb(AGnssExtStatusIpV4 status); 64 | 65 | /* Data call setup callback passed down to GNSS HAL implementation */ 66 | static void agnssStatusIpV4Cb(AGnssExtStatusIpV4 status); 67 | 68 | private: 69 | Gnss* mGnss = nullptr; 70 | sp mAGnssCbIface = nullptr; 71 | }; 72 | 73 | } // namespace implementation 74 | } // namespace V1_0 75 | } // namespace gnss 76 | } // namespace hardware 77 | } // namespace android 78 | 79 | #endif // ANDROID_HARDWARE_GNSS_V1_0_AGNSS_H 80 | -------------------------------------------------------------------------------- /gps/android/1.1/AGnss.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. 3 | * Not a Contribution 4 | */ 5 | /* 6 | * Copyright (C) 2016 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 ANDROID_HARDWARE_GNSS_V1_1_AGNSS_H 22 | #define ANDROID_HARDWARE_GNSS_V1_1_AGNSS_H 23 | 24 | #include 25 | #include 26 | #include 27 | 28 | namespace android { 29 | namespace hardware { 30 | namespace gnss { 31 | namespace V1_1 { 32 | namespace implementation { 33 | 34 | using ::android::hardware::gnss::V1_0::IAGnss; 35 | using ::android::hardware::gnss::V1_0::IAGnssCallback; 36 | using ::android::hardware::Return; 37 | using ::android::hardware::Void; 38 | using ::android::hardware::hidl_vec; 39 | using ::android::hardware::hidl_string; 40 | using ::android::sp; 41 | 42 | struct Gnss; 43 | struct AGnss : public IAGnss { 44 | 45 | AGnss(Gnss* gnss); 46 | ~AGnss(); 47 | /* 48 | * Methods from ::android::hardware::gnss::V1_0::IAGnss interface follow. 49 | * These declarations were generated from IAGnss.hal. 50 | */ 51 | Return setCallback(const sp& callback) override; 52 | 53 | Return dataConnClosed() override; 54 | 55 | Return dataConnFailed() override; 56 | 57 | Return dataConnOpen(const hidl_string& apn, 58 | IAGnss::ApnIpType apnIpType) override; 59 | 60 | Return setServer(IAGnssCallback::AGnssType type, 61 | const hidl_string& hostname, int32_t port) override; 62 | 63 | void statusIpV4Cb(AGnssExtStatusIpV4 status); 64 | 65 | /* Data call setup callback passed down to GNSS HAL implementation */ 66 | static void agnssStatusIpV4Cb(AGnssExtStatusIpV4 status); 67 | 68 | private: 69 | Gnss* mGnss = nullptr; 70 | sp mAGnssCbIface = nullptr; 71 | }; 72 | 73 | } // namespace implementation 74 | } // namespace V1_1 75 | } // namespace gnss 76 | } // namespace hardware 77 | } // namespace android 78 | 79 | #endif // ANDROID_HARDWARE_GNSS_V1_1_AGNSS_H 80 | -------------------------------------------------------------------------------- /parts/res/values-tr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | Xiaomi Parts 20 | 21 | 22 | Dolby Atmos 23 | Dolby Atmos Ayarları 24 | 25 | 26 | Hoparlörü temizle 27 | Hoparlörü temizlemek için 30 saniyelik bir ses çalın 28 | Hoparlörünüzün tozdan dolayı hafifçe tıkandığını fark ederseniz bu özelliği bir veya iki kez çalıştırın. Medya ses seviyesini maksimuma ayarlayın.\n\nHoparlör yoğun bir şekilde engellenmişse, hoparlör aşağı bakacak şekilde cihazınızı sallayarak bu özelliği 2-5 kez çalıştırın.\n\nUYARI: Tüm kulaklıkların takılı olmadığından emin olun. 29 | 30 | 31 | Uygulama başına yenileme hızı 32 | Belirli bir uygulama için maksimum yenileme hızını ayarlayın 33 | Varsayılan 34 | 60Hz 35 | 120Hz 36 | 37 | 38 | Termal profilleri 39 | Uygulama başına termal profili yapılandırması 40 | Varsayılan 41 | Performans 42 | Tarayıcı 43 | Kamera 44 | Çevirici 45 | Oyun 46 | Navigasyon 47 | Yayın 48 | Video 49 | 50 | -------------------------------------------------------------------------------- /gps/android/2.1/AGnss.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. 3 | * Not a Contribution 4 | */ 5 | /* 6 | * Copyright (C) 2016 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 ANDROID_HARDWARE_GNSS_V2_0_AGNSS_H 22 | #define ANDROID_HARDWARE_GNSS_V2_0_AGNSS_H 23 | 24 | #include 25 | #include 26 | #include 27 | 28 | namespace android { 29 | namespace hardware { 30 | namespace gnss { 31 | namespace V2_1 { 32 | namespace implementation { 33 | 34 | using ::android::hardware::Return; 35 | using ::android::hardware::Void; 36 | using ::android::hardware::hidl_vec; 37 | using ::android::hardware::hidl_string; 38 | using ::android::sp; 39 | using ::android::hardware::gnss::V2_0::IAGnssCallback; 40 | 41 | struct Gnss; 42 | struct AGnss : public V2_0::IAGnss { 43 | 44 | AGnss(Gnss* gnss); 45 | ~AGnss(); 46 | /* 47 | * Methods from ::android::hardware::gnss::V2_0::IAGnss interface follow. 48 | * These declarations were generated from IAGnss.hal. 49 | */ 50 | Return setCallback(const sp& callback) override; 51 | 52 | Return dataConnClosed() override; 53 | 54 | Return dataConnFailed() override; 55 | 56 | Return dataConnOpen(uint64_t networkHandle, const hidl_string& apn, 57 | V2_0::IAGnss::ApnIpType apnIpType) override; 58 | 59 | Return setServer(V2_0::IAGnssCallback::AGnssType type, 60 | const hidl_string& hostname, int32_t port) override; 61 | 62 | void statusCb(AGpsExtType type, LocAGpsStatusValue status); 63 | 64 | /* Data call setup callback passed down to GNSS HAL implementation */ 65 | static void agnssStatusIpV4Cb(AGnssExtStatusIpV4 status); 66 | 67 | private: 68 | Gnss* mGnss = nullptr; 69 | sp mAGnssCbIface = nullptr; 70 | 71 | AGpsExtType mType; 72 | }; 73 | 74 | } // namespace implementation 75 | } // namespace V2_1 76 | } // namespace gnss 77 | } // namespace hardware 78 | } // namespace android 79 | 80 | #endif // ANDROID_HARDWARE_GNSS_V2_0_AGNSS_H 81 | --------------------------------------------------------------------------------