├── .clang-format
├── Android.bp
├── Android.mk
├── AndroidProducts.mk
├── BoardConfig.mk
├── README.md
├── XiaomiParts
├── Android.mk
├── AndroidManifest.xml
├── res
│ ├── drawable
│ │ ├── action_presets.xml
│ │ ├── action_reset.xml
│ │ ├── ic_color.xml
│ │ ├── ic_dirac.xml
│ │ ├── ic_doze.xml
│ │ ├── ic_flip.xml
│ │ ├── ic_headphones.xml
│ │ ├── ic_mi.xml
│ │ ├── ic_preset.xml
│ │ ├── ic_speaker_cleaner_icon.xml
│ │ ├── ic_usb_fastcharge.xml
│ │ └── preview.jpg
│ ├── layout
│ │ ├── activity_kcal.xml
│ │ ├── custom_seekbar_preference_dialog.xml
│ │ └── preference_custom_seekbar.xml
│ ├── menu
│ │ └── menu_reset.xml
│ ├── raw
│ │ └── clear_speaker_sound.mp3
│ ├── values-ru-rRU
│ │ └── strings.xml
│ ├── values-uk-rUA
│ │ └── strings.xml
│ ├── values
│ │ ├── arrays.xml
│ │ ├── attrs.xml
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── xml
│ │ ├── clear_speaker_settings.xml
│ │ ├── preferences_kcal.xml
│ │ └── preferences_xiaomi_parts.xml
└── src
│ └── com
│ └── xiaomi
│ └── parts
│ ├── BootReceiver.java
│ ├── DeviceSettings.java
│ ├── DeviceSettingsActivity.java
│ ├── DiracService.java
│ ├── DiracSound.java
│ ├── DiracUtils.java
│ ├── Fastcharge.java
│ ├── FileUtils.java
│ ├── kcal
│ ├── KCalSettings.java
│ ├── KCalSettingsActivity.java
│ ├── PresetDialog.java
│ └── Utils.java
│ ├── preferences
│ ├── CustomSeekBarPreference.java
│ ├── SecureSettingCustomSeekBarPreference.java
│ ├── SecureSettingListPreference.java
│ ├── SecureSettingSwitchPreference.java
│ ├── SecureSettingsStore.java
│ └── VibrationSeekBarPreference.java
│ └── speaker
│ ├── ClearSpeakerActivity.java
│ └── ClearSpeakerFragment.java
├── audio
├── audio_effects.xml
├── audio_io_policy.conf
├── audio_platform_info.xml
├── audio_platform_info_intcodec.xml
├── audio_policy_configuration.xml
├── audio_policy_configuration_a2dp_offload_disabled.xml
├── audio_tuning_mixer_tavil.txt
├── bluetooth_qti_audio_policy_configuration.xml
├── graphite_ipc_platform_info.xml
├── listen_platform_info.xml
├── mixer_paths_idp.xml
├── sound_trigger_mixer_paths.xml
└── sound_trigger_platform_info.xml
├── bluetooth
└── include
│ └── bdroid_buildcfg.h
├── compatibility_matrix.xml
├── config.fs
├── configs
├── component-overrides.xml
├── component-overrides_qti.xml
├── excluded-input-devices.xml
├── idc
│ ├── uinput-fpc.idc
│ └── uinput-goodix.idc
├── nfc
│ ├── libnfc-nci.conf
│ ├── libnfc-nxp.conf
│ └── libnfc-nxp_RF.conf
├── perf
│ ├── msm_irqbalance.conf
│ ├── perf-profile0.conf
│ └── powerhint.xml
├── privapp-permissions-qti.xml
└── qti_whitelist.xml
├── device.mk
├── extract-files.sh
├── fingerprint
├── Android.bp
├── BiometricsFingerprint.cpp
├── BiometricsFingerprint.h
├── android.hardware.biometrics.fingerprint@2.1-service.ginkgo.rc
├── android.hardware.biometrics.fingerprint@2.1-service.ginkgo.xml
└── service.cpp
├── framework_manifest.xml
├── gps
├── Android.bp
├── Android.mk
├── CleanSpec.mk
├── Makefile.am
├── android
│ ├── 1.0
│ │ ├── AGnss.cpp
│ │ ├── AGnss.h
│ │ ├── AGnssRil.cpp
│ │ ├── AGnssRil.h
│ │ ├── Android.mk
│ │ ├── Gnss.cpp
│ │ ├── Gnss.h
│ │ ├── GnssBatching.cpp
│ │ ├── GnssBatching.h
│ │ ├── GnssConfiguration.cpp
│ │ ├── GnssConfiguration.h
│ │ ├── GnssDebug.cpp
│ │ ├── GnssDebug.h
│ │ ├── GnssGeofencing.cpp
│ │ ├── GnssGeofencing.h
│ │ ├── GnssMeasurement.cpp
│ │ ├── GnssMeasurement.h
│ │ ├── GnssNi.cpp
│ │ ├── GnssNi.h
│ │ ├── android.hardware.gnss@1.0-service-qti.rc
│ │ ├── android.hardware.gnss@1.0-service-qti.xml
│ │ ├── location_api
│ │ │ ├── BatchingAPIClient.cpp
│ │ │ ├── BatchingAPIClient.h
│ │ │ ├── GeofenceAPIClient.cpp
│ │ │ ├── GeofenceAPIClient.h
│ │ │ ├── GnssAPIClient.cpp
│ │ │ ├── GnssAPIClient.h
│ │ │ ├── LocationUtil.cpp
│ │ │ ├── LocationUtil.h
│ │ │ ├── MeasurementAPIClient.cpp
│ │ │ └── MeasurementAPIClient.h
│ │ └── service.cpp
│ ├── 1.1
│ │ ├── AGnss.cpp
│ │ ├── AGnss.h
│ │ ├── AGnssRil.cpp
│ │ ├── AGnssRil.h
│ │ ├── Android.mk
│ │ ├── Gnss.cpp
│ │ ├── Gnss.h
│ │ ├── GnssBatching.cpp
│ │ ├── GnssBatching.h
│ │ ├── GnssConfiguration.cpp
│ │ ├── GnssConfiguration.h
│ │ ├── GnssDebug.cpp
│ │ ├── GnssDebug.h
│ │ ├── GnssGeofencing.cpp
│ │ ├── GnssGeofencing.h
│ │ ├── GnssMeasurement.cpp
│ │ ├── GnssMeasurement.h
│ │ ├── GnssNi.cpp
│ │ ├── GnssNi.h
│ │ ├── android.hardware.gnss@1.1-service-qti.rc
│ │ ├── android.hardware.gnss@1.1-service-qti.xml
│ │ ├── location_api
│ │ │ ├── BatchingAPIClient.cpp
│ │ │ ├── BatchingAPIClient.h
│ │ │ ├── GeofenceAPIClient.cpp
│ │ │ ├── GeofenceAPIClient.h
│ │ │ ├── GnssAPIClient.cpp
│ │ │ ├── GnssAPIClient.h
│ │ │ ├── LocationUtil.cpp
│ │ │ ├── LocationUtil.h
│ │ │ ├── MeasurementAPIClient.cpp
│ │ │ └── MeasurementAPIClient.h
│ │ └── service.cpp
│ ├── 2.0
│ │ ├── AGnss.cpp
│ │ ├── AGnss.h
│ │ ├── AGnssRil.cpp
│ │ ├── AGnssRil.h
│ │ ├── Android.mk
│ │ ├── Gnss.cpp
│ │ ├── Gnss.h
│ │ ├── GnssBatching.cpp
│ │ ├── GnssBatching.h
│ │ ├── GnssConfiguration.cpp
│ │ ├── GnssConfiguration.h
│ │ ├── GnssDebug.cpp
│ │ ├── GnssDebug.h
│ │ ├── GnssGeofencing.cpp
│ │ ├── GnssGeofencing.h
│ │ ├── GnssMeasurement.cpp
│ │ ├── GnssMeasurement.h
│ │ ├── GnssNi.cpp
│ │ ├── GnssNi.h
│ │ ├── GnssVisibilityControl.cpp
│ │ ├── GnssVisibilityControl.h
│ │ ├── MeasurementCorrections.cpp
│ │ ├── MeasurementCorrections.h
│ │ ├── android.hardware.gnss@2.0-service-qti.rc
│ │ ├── android.hardware.gnss@2.0-service-qti.xml
│ │ ├── location_api
│ │ │ ├── BatchingAPIClient.cpp
│ │ │ ├── BatchingAPIClient.h
│ │ │ ├── GeofenceAPIClient.cpp
│ │ │ ├── GeofenceAPIClient.h
│ │ │ ├── GnssAPIClient.cpp
│ │ │ ├── GnssAPIClient.h
│ │ │ ├── LocationUtil.cpp
│ │ │ ├── LocationUtil.h
│ │ │ ├── MeasurementAPIClient.cpp
│ │ │ └── MeasurementAPIClient.h
│ │ └── service.cpp
│ ├── 2.1
│ │ ├── AGnss.cpp
│ │ ├── AGnss.h
│ │ ├── AGnssRil.cpp
│ │ ├── AGnssRil.h
│ │ ├── Android.mk
│ │ ├── Gnss.cpp
│ │ ├── Gnss.h
│ │ ├── GnssAntennaInfo.cpp
│ │ ├── GnssAntennaInfo.h
│ │ ├── GnssBatching.cpp
│ │ ├── GnssBatching.h
│ │ ├── GnssConfiguration.cpp
│ │ ├── GnssConfiguration.h
│ │ ├── GnssDebug.cpp
│ │ ├── GnssDebug.h
│ │ ├── GnssGeofencing.cpp
│ │ ├── GnssGeofencing.h
│ │ ├── GnssMeasurement.cpp
│ │ ├── GnssMeasurement.h
│ │ ├── GnssNi.cpp
│ │ ├── GnssNi.h
│ │ ├── GnssVisibilityControl.cpp
│ │ ├── GnssVisibilityControl.h
│ │ ├── MeasurementCorrections.cpp
│ │ ├── MeasurementCorrections.h
│ │ ├── android.hardware.gnss@2.1-service-qti.rc
│ │ ├── android.hardware.gnss@2.1-service-qti.xml
│ │ ├── location_api
│ │ │ ├── BatchingAPIClient.cpp
│ │ │ ├── BatchingAPIClient.h
│ │ │ ├── GeofenceAPIClient.cpp
│ │ │ ├── GeofenceAPIClient.h
│ │ │ ├── GnssAPIClient.cpp
│ │ │ ├── GnssAPIClient.h
│ │ │ ├── LocationUtil.cpp
│ │ │ ├── LocationUtil.h
│ │ │ ├── MeasurementAPIClient.cpp
│ │ │ └── MeasurementAPIClient.h
│ │ └── service.cpp
│ ├── Android.mk
│ └── utils
│ │ ├── Android.bp
│ │ ├── battery_listener.cpp
│ │ └── battery_listener.h
├── batching
│ ├── Android.bp
│ ├── BatchingAdapter.cpp
│ ├── BatchingAdapter.h
│ ├── Makefile.am
│ ├── configure.ac
│ ├── location-batching.pc.in
│ └── location_batching.cpp
├── configure.ac
├── core
│ ├── Android.bp
│ ├── ContextBase.cpp
│ ├── ContextBase.h
│ ├── EngineHubProxyBase.h
│ ├── LBSProxyBase.h
│ ├── LocAdapterBase.cpp
│ ├── LocAdapterBase.h
│ ├── LocAdapterProxyBase.h
│ ├── LocApiBase.cpp
│ ├── LocApiBase.h
│ ├── LocContext.cpp
│ ├── LocContext.h
│ ├── Makefile.am
│ ├── SystemStatus.cpp
│ ├── SystemStatus.h
│ ├── SystemStatusOsObserver.cpp
│ ├── SystemStatusOsObserver.h
│ ├── configure.ac
│ ├── data-items
│ │ ├── DataItemConcreteTypesBase.h
│ │ ├── DataItemId.h
│ │ ├── DataItemsFactoryProxy.cpp
│ │ ├── DataItemsFactoryProxy.h
│ │ └── IDataItemCore.h
│ ├── loc-core.pc.in
│ ├── loc_core_log.cpp
│ ├── loc_core_log.h
│ └── observer
│ │ ├── IDataItemObserver.h
│ │ ├── IDataItemSubscription.h
│ │ ├── IFrameworkActionReq.h
│ │ └── IOsObserver.h
├── etc
│ ├── apdr.conf
│ ├── flp.conf
│ ├── gnss_antenna_info.conf
│ ├── gps.conf
│ ├── izat.conf
│ ├── lowi.conf
│ ├── sap.conf
│ ├── seccomp_policy
│ │ ├── gnss@2.0-base.policy
│ │ ├── gnss@2.0-xtra-daemon.policy
│ │ ├── gnss@2.0-xtwifi-client.policy
│ │ └── gnss@2.0-xtwifi-inet-agent.policy
│ └── xtwifi.conf
├── geofence
│ ├── Android.bp
│ ├── GeofenceAdapter.cpp
│ ├── GeofenceAdapter.h
│ ├── Makefile.am
│ ├── configure.ac
│ ├── location-geofence.pc.in
│ └── location_geofence.cpp
├── gnss
│ ├── Agps.cpp
│ ├── Agps.h
│ ├── Android.bp
│ ├── GnssAdapter.cpp
│ ├── GnssAdapter.h
│ ├── Makefile.am
│ ├── XtraSystemStatusObserver.cpp
│ ├── XtraSystemStatusObserver.h
│ └── location_gnss.cpp
├── gps_vendor_board.mk
├── gps_vendor_product.mk
├── loc-hal.pc.in
├── location
│ ├── Android.bp
│ ├── ILocationAPI.h
│ ├── LocationAPI.cpp
│ ├── LocationAPI.h
│ ├── LocationAPIClientBase.cpp
│ ├── LocationAPIClientBase.h
│ ├── LocationDataTypes.h
│ ├── Makefile.am
│ ├── configure.ac
│ ├── location-api.pc.in
│ └── location_interface.h
├── pla
│ ├── Android.bp
│ ├── android
│ │ └── loc_pla.h
│ └── oe
│ │ └── loc_pla.h
└── utils
│ ├── Android.bp
│ ├── LocHeap.cpp
│ ├── LocHeap.h
│ ├── LocIpc.cpp
│ ├── LocIpc.h
│ ├── LocLoggerBase.h
│ ├── LocSharedLock.h
│ ├── LocThread.cpp
│ ├── LocThread.h
│ ├── LocTimer.cpp
│ ├── LocTimer.h
│ ├── LocUnorderedSetMap.h
│ ├── LogBuffer.cpp
│ ├── LogBuffer.h
│ ├── Makefile.am
│ ├── MsgTask.cpp
│ ├── MsgTask.h
│ ├── SkipList.h
│ ├── configure.ac
│ ├── gps-utils.pc.in
│ ├── gps_extended.h
│ ├── gps_extended_c.h
│ ├── linked_list.c
│ ├── linked_list.h
│ ├── loc_cfg.cpp
│ ├── loc_cfg.h
│ ├── loc_gps.h
│ ├── loc_log.cpp
│ ├── loc_log.h
│ ├── loc_misc_utils.cpp
│ ├── loc_misc_utils.h
│ ├── loc_nmea.cpp
│ ├── loc_nmea.h
│ ├── loc_target.cpp
│ ├── loc_target.h
│ ├── loc_timer.h
│ ├── log_util.h
│ ├── msg_q.c
│ └── msg_q.h
├── init
├── Android.bp
└── init_ginkgo.cpp
├── keyhandler
├── Android.bp
├── AndroidManifest.xml
├── proguard.flags
└── src
│ └── org
│ └── lineageos
│ └── keyhandler
│ └── KeyHandler.java
├── keylayout
├── uinput-fpc.kl
└── uinput-goodix.kl
├── libhidl
└── Android.mk
├── light
├── Android.bp
├── Light.cpp
├── Light.h
├── android.hardware.light@2.0-service.ginkgo.rc
├── android.hardware.light@2.0-service.ginkgo.xml
└── service.cpp
├── lineage.dependencies
├── lineage_ginkgo.mk
├── manifest.xml
├── manifest_willow.xml
├── media
├── media_codecs.xml
├── media_codecs_performance.xml
├── media_codecs_vendor.xml
├── media_codecs_vendor_audio.xml
├── media_profiles_V1_0.xml
└── system_properties.xml
├── odm.prop
├── org.ifaa.android.manager
├── Android.bp
├── AndroidManifest.xml
├── lib
│ └── org
│ │ └── ifaa
│ │ └── android
│ │ └── manager
│ │ ├── IFAAManager.java
│ │ ├── IFAAManagerFactory.java
│ │ ├── IFAAManagerImpl.java
│ │ ├── IFAAManagerV2.java
│ │ ├── IFAAManagerV3.java
│ │ └── IIFAAService.aidl
└── src
│ └── org
│ └── ifaa
│ └── android
│ └── manager
│ ├── IFAAService.java
│ └── IIFAAService.aidl
├── overlay-lineage
└── lineage-sdk
│ └── lineage
│ └── res
│ └── res
│ └── values
│ └── config.xml
├── overlay
├── frameworks
│ └── base
│ │ ├── core
│ │ └── res
│ │ │ └── res
│ │ │ ├── values-mcc234-mnc15-en-rGB
│ │ │ └── config.xml
│ │ │ ├── values-mcc234-mnc15-en-rIN
│ │ │ └── config.xml
│ │ │ ├── values-mcc234-mnc15
│ │ │ └── config.xml
│ │ │ ├── values-mcc262-mnc02-en-rGB
│ │ │ └── config.xml
│ │ │ ├── values-mcc262-mnc02-en-rIN
│ │ │ └── config.xml
│ │ │ ├── values-mcc262-mnc02
│ │ │ └── config.xml
│ │ │ ├── values-mcc262-mnc04-en-rGB
│ │ │ └── config.xml
│ │ │ ├── values-mcc262-mnc04-en-rIN
│ │ │ └── config.xml
│ │ │ ├── values-mcc262-mnc04
│ │ │ └── config.xml
│ │ │ ├── values-mcc262-mnc09-en-rGB
│ │ │ └── config.xml
│ │ │ ├── values-mcc262-mnc09-en-rIN
│ │ │ └── config.xml
│ │ │ ├── values-mcc262-mnc09
│ │ │ └── config.xml
│ │ │ ├── values-mcc310-mnc004
│ │ │ └── config.xml
│ │ │ ├── values-mcc310-mnc120
│ │ │ └── config.xml
│ │ │ ├── values-mcc310-mnc260
│ │ │ └── config.xml
│ │ │ ├── values-mcc310-mnc410
│ │ │ └── config.xml
│ │ │ ├── values-mcc311-mnc480
│ │ │ └── config.xml
│ │ │ ├── values-mcc312-mnc530
│ │ │ └── config.xml
│ │ │ ├── values-mcc313-mnc100
│ │ │ └── config.xml
│ │ │ ├── values-mcc454-mnc03
│ │ │ └── config.xml
│ │ │ ├── values-mcc454-mnc04
│ │ │ └── config.xml
│ │ │ ├── values-mcc455-mnc02
│ │ │ └── config.xml
│ │ │ ├── values-mcc455-mnc07
│ │ │ └── config.xml
│ │ │ ├── values-mcc460-mnc03
│ │ │ └── config.xml
│ │ │ ├── values-mcc460-mnc11
│ │ │ └── config.xml
│ │ │ ├── values
│ │ │ ├── config.xml
│ │ │ └── dimens.xml
│ │ │ └── xml
│ │ │ └── power_profile.xml
│ │ └── packages
│ │ ├── SettingsLib
│ │ └── res
│ │ │ └── values
│ │ │ └── config.xml
│ │ ├── SettingsProvider
│ │ └── res
│ │ │ └── values
│ │ │ └── defaults.xml
│ │ └── SystemUI
│ │ └── res
│ │ ├── drawable
│ │ └── rounded.xml
│ │ └── values
│ │ ├── config.xml
│ │ └── dimens.xml
└── packages
│ ├── apps
│ ├── CarrierConfig
│ │ └── res
│ │ │ └── xml
│ │ │ └── vendor.xml
│ ├── Dialer
│ │ └── java
│ │ │ └── com
│ │ │ └── android
│ │ │ └── dialer
│ │ │ └── callrecord
│ │ │ └── res
│ │ │ └── values
│ │ │ └── config.xml
│ └── Settings
│ │ └── res
│ │ └── values
│ │ └── config.xml
│ └── services
│ └── Telephony
│ └── res
│ └── values
│ └── config.xml
├── power
└── power-mode.cpp
├── product.prop
├── proprietary-files.txt
├── releasetools.py
├── rootdir
├── Android.mk
├── bin
│ ├── init.class_main.sh
│ ├── init.qcom.early_boot.sh
│ ├── init.qcom.post_boot.sh
│ ├── init.qcom.sh
│ ├── init.qcom.usb.sh
│ └── init.qti.dcvs.sh
└── etc
│ ├── fstab.qcom
│ ├── init.ginkgo.rc
│ ├── init.qcom.rc
│ ├── init.qcom.usb.rc
│ ├── init.recovery.qcom.rc
│ ├── init.target.rc
│ └── ueventd.qcom.rc
├── rro_overlays
├── MiuiCamera
│ ├── Android.bp
│ ├── AndroidManifest.xml
│ └── res
│ │ └── values
│ │ └── config.xml
├── NoCutoutOverlay
│ ├── Android.bp
│ ├── AndroidManifest.xml
│ └── res
│ │ ├── values-af
│ │ └── strings.xml
│ │ ├── values-am
│ │ └── strings.xml
│ │ ├── values-ar
│ │ └── strings.xml
│ │ ├── values-as
│ │ └── strings.xml
│ │ ├── values-az
│ │ └── strings.xml
│ │ ├── values-b+sr+Latn
│ │ └── strings.xml
│ │ ├── values-be
│ │ └── strings.xml
│ │ ├── values-bg
│ │ └── strings.xml
│ │ ├── values-bn
│ │ └── strings.xml
│ │ ├── values-bs
│ │ └── strings.xml
│ │ ├── values-ca
│ │ └── strings.xml
│ │ ├── values-cs
│ │ └── strings.xml
│ │ ├── values-da
│ │ └── strings.xml
│ │ ├── values-de
│ │ └── strings.xml
│ │ ├── values-el
│ │ └── strings.xml
│ │ ├── values-en-rAU
│ │ └── strings.xml
│ │ ├── values-en-rCA
│ │ └── strings.xml
│ │ ├── values-en-rGB
│ │ └── strings.xml
│ │ ├── values-en-rIN
│ │ └── strings.xml
│ │ ├── values-en-rXC
│ │ └── strings.xml
│ │ ├── values-es-rUS
│ │ └── strings.xml
│ │ ├── values-es
│ │ └── strings.xml
│ │ ├── values-et
│ │ └── strings.xml
│ │ ├── values-eu
│ │ └── strings.xml
│ │ ├── values-fa
│ │ └── strings.xml
│ │ ├── values-fi
│ │ └── strings.xml
│ │ ├── values-fr-rCA
│ │ └── strings.xml
│ │ ├── values-fr
│ │ └── strings.xml
│ │ ├── values-gl
│ │ └── strings.xml
│ │ ├── values-gu
│ │ └── strings.xml
│ │ ├── values-hi
│ │ └── strings.xml
│ │ ├── values-hr
│ │ └── strings.xml
│ │ ├── values-hu
│ │ └── strings.xml
│ │ ├── values-hy
│ │ └── strings.xml
│ │ ├── values-in
│ │ └── strings.xml
│ │ ├── values-is
│ │ └── strings.xml
│ │ ├── values-it
│ │ └── strings.xml
│ │ ├── values-iw
│ │ └── strings.xml
│ │ ├── values-ja
│ │ └── strings.xml
│ │ ├── values-ka
│ │ └── strings.xml
│ │ ├── values-kk
│ │ └── strings.xml
│ │ ├── values-km
│ │ └── strings.xml
│ │ ├── values-kn
│ │ └── strings.xml
│ │ ├── values-ko
│ │ └── strings.xml
│ │ ├── values-ky
│ │ └── strings.xml
│ │ ├── values-land
│ │ └── config.xml
│ │ ├── values-lo
│ │ └── strings.xml
│ │ ├── values-lt
│ │ └── strings.xml
│ │ ├── values-lv
│ │ └── strings.xml
│ │ ├── values-mk
│ │ └── strings.xml
│ │ ├── values-ml
│ │ └── strings.xml
│ │ ├── values-mn
│ │ └── strings.xml
│ │ ├── values-mr
│ │ └── strings.xml
│ │ ├── values-ms
│ │ └── strings.xml
│ │ ├── values-my
│ │ └── strings.xml
│ │ ├── values-nb
│ │ └── strings.xml
│ │ ├── values-ne
│ │ └── strings.xml
│ │ ├── values-nl
│ │ └── strings.xml
│ │ ├── values-or
│ │ └── strings.xml
│ │ ├── values-pa
│ │ └── strings.xml
│ │ ├── values-pl
│ │ └── strings.xml
│ │ ├── values-pt-rBR
│ │ └── strings.xml
│ │ ├── values-pt-rPT
│ │ └── strings.xml
│ │ ├── values-pt
│ │ └── strings.xml
│ │ ├── values-ro
│ │ └── strings.xml
│ │ ├── values-ru
│ │ └── strings.xml
│ │ ├── values-si
│ │ └── strings.xml
│ │ ├── values-sk
│ │ └── strings.xml
│ │ ├── values-sl
│ │ └── strings.xml
│ │ ├── values-sq
│ │ └── strings.xml
│ │ ├── values-sr
│ │ └── strings.xml
│ │ ├── values-sv
│ │ └── strings.xml
│ │ ├── values-sw
│ │ └── strings.xml
│ │ ├── values-ta
│ │ └── strings.xml
│ │ ├── values-te
│ │ └── strings.xml
│ │ ├── values-th
│ │ └── strings.xml
│ │ ├── values-tl
│ │ └── strings.xml
│ │ ├── values-tr
│ │ └── strings.xml
│ │ ├── values-uk
│ │ └── strings.xml
│ │ ├── values-ur
│ │ └── strings.xml
│ │ ├── values-uz
│ │ └── strings.xml
│ │ ├── values-vi
│ │ └── strings.xml
│ │ ├── values-zh-rCN
│ │ └── strings.xml
│ │ ├── values-zh-rHK
│ │ └── strings.xml
│ │ ├── values-zh-rTW
│ │ └── strings.xml
│ │ ├── values-zu
│ │ └── strings.xml
│ │ └── values
│ │ ├── config.xml
│ │ └── strings.xml
├── NotchBarKiller
│ ├── Android.bp
│ ├── AndroidManifest.xml
│ └── res
│ │ └── values
│ │ ├── config.xml
│ │ └── strings.xml
├── TetheringOverlay
│ ├── Android.bp
│ ├── AndroidManifest.xml
│ └── res
│ │ └── values
│ │ └── config.xml
└── WifiOverlay
│ ├── Android.bp
│ ├── AndroidManifest.xml
│ └── res
│ └── values
│ └── config.xml
├── seccomp
├── codec2.vendor.ext.policy
└── mediacodec-seccomp.policy
├── sepolicy
├── private
│ ├── cameraserver.te
│ ├── file_contexts
│ ├── platform_app.te
│ ├── priv_app.te
│ ├── property_contexts
│ ├── system_app.te
│ ├── system_suspend.te
│ └── uncrypt.te
├── public
│ └── attributes
└── vendor
│ ├── app.te
│ ├── device.te
│ ├── file.te
│ ├── file_contexts
│ ├── genfs_contexts
│ ├── hal_audio_default.te
│ ├── hal_bluetooth_default.te
│ ├── hal_camera_default.te
│ ├── hal_fingerprint_default.te
│ ├── hal_ir_default.te
│ ├── hal_misys.te
│ ├── hal_misys_default.te
│ ├── hal_mlipay.te
│ ├── hal_mlipay_default.te
│ ├── hal_power_default.te
│ ├── hwservice.te
│ ├── hwservice_contexts
│ ├── init.te
│ ├── property.te
│ ├── property_contexts
│ ├── radio.te
│ ├── system_app.te
│ ├── system_server.te
│ ├── tee.te
│ ├── ueventd.te
│ ├── vendor_adsprpcd.te
│ ├── vendor_cdsprpcd.te
│ ├── vendor_hal_neuralnetworks_default.te
│ ├── vendor_ims.te
│ ├── vendor_init.te
│ ├── vendor_qti_init_shell.te
│ └── vendor_thermal-engine.te
├── setup-makefiles.sh
├── system_ext.prop
├── update-sha1sums.py
├── vendor.prop
└── wifi
├── WCNSS_qcom_cfg.ini
├── p2p_supplicant_overlay.conf
└── wpa_supplicant_overlay.conf
/.clang-format:
--------------------------------------------------------------------------------
1 | ../../../build/soong/scripts/system-clang-format
--------------------------------------------------------------------------------
/Android.bp:
--------------------------------------------------------------------------------
1 | soong_namespace {
2 | }
3 |
--------------------------------------------------------------------------------
/AndroidProducts.mk:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2020 The LineageOS Project
3 | #
4 | # SPDX-License-Identifier: Apache-2.0
5 | #
6 |
7 | PRODUCT_MAKEFILES := \
8 | $(LOCAL_DIR)/lineage_ginkgo.mk
9 |
10 | COMMON_LUNCH_CHOICES := \
11 | lineage_ginkgo-user \
12 | lineage_ginkgo-userdebug \
13 | lineage_ginkgo-eng
14 |
--------------------------------------------------------------------------------
/XiaomiParts/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_MODULE_TAGS := optional
5 | LOCAL_STATIC_ANDROID_LIBRARIES := \
6 | androidx.preference_preference
7 |
8 | LOCAL_SRC_FILES := $(call all-java-files-under, src)
9 | LOCAL_PACKAGE_NAME := XiaomiParts
10 | LOCAL_CERTIFICATE := platform
11 | LOCAL_PRIVILEGED_MODULE := true
12 | LOCAL_PRIVATE_PLATFORM_APIS := true
13 | LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
14 | LOCAL_USE_AAPT2 := true
15 |
16 | package_resource_overlays := $(strip \
17 | $(wildcard $(foreach dir, $(PRODUCT_PACKAGE_OVERLAYS), \
18 | $(addprefix $(dir)/, packages/apps/XiaomiParts/res))) \
19 | $(wildcard $(foreach dir, $(DEVICE_PACKAGE_OVERLAYS), \
20 | $(addprefix $(dir)/, packages/apps/XiaomiParts/res))))
21 |
22 | LOCAL_RESOURCE_DIR := $(package_resource_overlays) $(LOCAL_RESOURCE_DIR)
23 |
24 | LOCAL_PROGUARD_ENABLED := disabled
25 | LOCAL_DEX_PREOPT := false
26 |
27 | include frameworks/base/packages/SettingsLib/common.mk
28 |
29 | include $(BUILD_PACKAGE)
30 |
31 | include $(call all-makefiles-under,$(LOCAL_PATH))
32 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/action_presets.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/action_reset.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/ic_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/ic_dirac.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/ic_doze.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/ic_flip.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/ic_headphones.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/ic_mi.xml:
--------------------------------------------------------------------------------
1 |
9 |
14 |
15 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/ic_preset.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/ic_speaker_cleaner_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
11 |
14 |
15 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/ic_usb_fastcharge.xml:
--------------------------------------------------------------------------------
1 |
8 |
14 |
15 |
--------------------------------------------------------------------------------
/XiaomiParts/res/drawable/preview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/trinket-devs/device_xiaomi_ginkgo/cd6d62c4c897c302a5a980d37ba0f6c5fc0a71d5/XiaomiParts/res/drawable/preview.jpg
--------------------------------------------------------------------------------
/XiaomiParts/res/layout/activity_kcal.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
13 |
14 |
18 |
19 |
--------------------------------------------------------------------------------
/XiaomiParts/res/menu/menu_reset.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/XiaomiParts/res/raw/clear_speaker_sound.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/trinket-devs/device_xiaomi_ginkgo/cd6d62c4c897c302a5a980d37ba0f6c5fc0a71d5/XiaomiParts/res/raw/clear_speaker_sound.mp3
--------------------------------------------------------------------------------
/XiaomiParts/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/XiaomiParts/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 | #FF6700
18 |
19 |
--------------------------------------------------------------------------------
/XiaomiParts/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/XiaomiParts/res/xml/clear_speaker_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
12 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/XiaomiParts/src/com/xiaomi/parts/DeviceSettingsActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2021 The Trinket-Devs 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 com.xiaomi.parts;
18 |
19 | import android.app.Activity;
20 | import android.app.Fragment;
21 | import android.os.Bundle;
22 | import android.view.MenuItem;
23 |
24 | public class DeviceSettingsActivity extends Activity {
25 |
26 | @Override
27 | protected void onCreate(Bundle savedInstanceState) {
28 | super.onCreate(savedInstanceState);
29 |
30 | getActionBar().setDisplayHomeAsUpEnabled(true);
31 |
32 | Fragment fragment = getFragmentManager().findFragmentById(android.R.id.content);
33 | DeviceSettings deviceSettingsFragment;
34 | if (fragment == null) {
35 | deviceSettingsFragment = new DeviceSettings();
36 | getFragmentManager().beginTransaction()
37 | .add(android.R.id.content, deviceSettingsFragment)
38 | .commit();
39 | }
40 | }
41 |
42 | @Override
43 | public boolean onOptionsItemSelected(MenuItem item) {
44 | if (item.getItemId() == android.R.id.home) {
45 | finish();
46 | return true;
47 | }
48 | return super.onOptionsItemSelected(item);
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/XiaomiParts/src/com/xiaomi/parts/DiracService.java:
--------------------------------------------------------------------------------
1 | package com.xiaomi.parts;
2 |
3 | import android.app.Service;
4 | import android.content.Intent;
5 | import android.os.IBinder;
6 | import android.util.Log;
7 |
8 | public class DiracService extends Service {
9 |
10 | private final String TAG = this.getClass().getName();
11 |
12 | static DiracUtils sDiracUtils;
13 |
14 | @Override
15 | public IBinder onBind(Intent arg0) {
16 | return null;
17 | }
18 |
19 | @Override
20 | public int onStartCommand(Intent intent, int flags, int startId) {
21 | sDiracUtils = new DiracUtils();
22 | sDiracUtils.onBootCompleted();
23 | Log.d(TAG, "Service started");
24 | return START_STICKY;
25 | }
26 |
27 | @Override
28 | public void onDestroy() {
29 | super.onDestroy();
30 | Log.d(TAG, "Service destroyed");
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/XiaomiParts/src/com/xiaomi/parts/DiracUtils.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 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 com.xiaomi.parts;
18 |
19 | final class DiracUtils {
20 |
21 | private final DiracSound mDiracSound;
22 |
23 | DiracUtils() {
24 | mDiracSound = new DiracSound(0, 0);
25 | }
26 |
27 | void onBootCompleted() {
28 | }
29 |
30 | void setEnabled(boolean enable) {
31 | mDiracSound.setEnabled(enable);
32 | mDiracSound.setMusic(enable ? 1 : 0);
33 | }
34 |
35 | boolean isDiracEnabled() {
36 | return mDiracSound.getMusic() == 1;
37 | }
38 |
39 | void setLevel(String preset) {
40 | String[] level = preset.split("\\s*,\\s*");
41 | for (int band = 0; band <= level.length - 1; band++) {
42 | mDiracSound.setLevel(band, Float.valueOf(level[band]));
43 | }
44 | }
45 |
46 | void setHeadsetType(int paramInt) {
47 | mDiracSound.setHeadsetType(paramInt);
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/XiaomiParts/src/com/xiaomi/parts/preferences/SecureSettingCustomSeekBarPreference.java:
--------------------------------------------------------------------------------
1 | package com.xiaomi.parts.preferences;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 |
6 | public class SecureSettingCustomSeekBarPreference extends CustomSeekBarPreference {
7 |
8 | public SecureSettingCustomSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
9 | super(context, attrs, defStyleAttr, defStyleRes);
10 | setPreferenceDataStore(new SecureSettingsStore(context.getContentResolver()));
11 | }
12 |
13 | public SecureSettingCustomSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr) {
14 | super(context, attrs, defStyleAttr);
15 | setPreferenceDataStore(new SecureSettingsStore(context.getContentResolver()));
16 | }
17 |
18 | public SecureSettingCustomSeekBarPreference(Context context, AttributeSet attrs) {
19 | super(context, attrs);
20 | setPreferenceDataStore(new SecureSettingsStore(context.getContentResolver()));
21 | }
22 |
23 | public SecureSettingCustomSeekBarPreference(Context context) {
24 | super(context);
25 | setPreferenceDataStore(new SecureSettingsStore(context.getContentResolver()));
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/XiaomiParts/src/com/xiaomi/parts/preferences/VibrationSeekBarPreference.java:
--------------------------------------------------------------------------------
1 | package com.xiaomi.parts.preferences;
2 |
3 | import android.content.Context;
4 | import android.os.VibrationEffect;
5 | import android.os.Vibrator;
6 | import android.util.AttributeSet;
7 | import android.widget.SeekBar;
8 |
9 | public class VibrationSeekBarPreference extends SecureSettingCustomSeekBarPreference {
10 |
11 | private final Vibrator mVibrator;
12 |
13 | public VibrationSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
14 | super(context, attrs, defStyleAttr, defStyleRes);
15 | mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
16 | }
17 |
18 | public VibrationSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr) {
19 | super(context, attrs, defStyleAttr);
20 | mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
21 | }
22 |
23 | public VibrationSeekBarPreference(Context context, AttributeSet attrs) {
24 | super(context, attrs);
25 | mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
26 | }
27 |
28 | public VibrationSeekBarPreference(Context context) {
29 | super(context);
30 | mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
31 | }
32 |
33 | @Override
34 | public void onStopTrackingTouch(SeekBar seekBar) {
35 | notifyChanged();
36 | if (mVibrator.hasVibrator()) {
37 | mVibrator.vibrate(VibrationEffect.createOneShot(15, VibrationEffect.DEFAULT_AMPLITUDE));
38 | }
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/bluetooth/include/bdroid_buildcfg.h:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Copyright (c) 2013, The Linux Foundation. All rights reserved.
4 | * Not a Contribution, Apache license notifications and license are retained
5 | * for attribution purposes only.
6 | *
7 | * Copyright (C) 2012 The Android Open Source Project
8 | * Copyright (C) 2018-2019 The LineageOS Project
9 | *
10 | * Licensed under the Apache License, Version 2.0 (the "License");
11 | * you may not use this file except in compliance with the License.
12 | * You may obtain a copy of the License at
13 | *
14 | * http://www.apache.org/licenses/LICENSE-2.0
15 | *
16 | * Unless required by applicable law or agreed to in writing, software
17 | * distributed under the License is distributed on an "AS IS" BASIS,
18 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 | * See the License for the specific language governing permissions and
20 | * limitations under the License.
21 | */
22 |
23 | #ifndef _BDROID_BUILDCFG_H
24 | #define _BDROID_BUILDCFG_H
25 |
26 | // Disables read remote device feature
27 | #define MAX_ACL_CONNECTIONS 16
28 | #define MAX_L2CAP_CHANNELS 32
29 | #define BLE_VND_INCLUDED TRUE
30 | #define GATT_MAX_PHY_CHANNEL 10
31 |
32 | // Increasing SEPs to 12 from 6 to support SHO/MCast i.e. two streams per codec
33 | #define AVDT_NUM_SEPS 35
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/configs/component-overrides.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/configs/component-overrides_qti.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/configs/idc/uinput-fpc.idc:
--------------------------------------------------------------------------------
1 | #
2 | # FPC1020 Touch sensor driver
3 | #
4 | # Copyright (c) 2013,2014 Fingerprint Cards AB
5 | #
6 | # This program is free software; you can redistribute it and/or
7 | # modify it under the terms of the GNU General Public License Version 2
8 | # as published by the Free Software Foundation.
9 | #
10 |
11 | device.internal = 1
12 |
13 | keyboard.layout = uinput-fpc
14 | keyboard.builtIn = 1
15 | keyboard.orientationAware = 1
16 |
--------------------------------------------------------------------------------
/configs/idc/uinput-goodix.idc:
--------------------------------------------------------------------------------
1 | #
2 | # FPC1020 Touch sensor driver
3 | #
4 | # Copyright (c) 2013,2014 Fingerprint Cards AB
5 | #
6 | # This program is free software; you can redistribute it and/or
7 | # modify it under the terms of the GNU General Public License Version 2
8 | # as published by the Free Software Foundation.
9 | #
10 |
11 | device.internal = 1
12 |
13 | keyboard.layout = uinput-gf
14 | keyboard.builtIn = 1
15 | keyboard.orientationAware = 1
16 |
--------------------------------------------------------------------------------
/configs/perf/msm_irqbalance.conf:
--------------------------------------------------------------------------------
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 | PRIO=1,1,1,1,0,0,0,0
31 | #arch_timer, arm-pmu, arch_mem_timer, kgsl-3d0, msm_drm
32 | IGNORED_IRQ=19,22,39,209,218
33 |
--------------------------------------------------------------------------------
/configs/perf/perf-profile0.conf:
--------------------------------------------------------------------------------
1 | [priority] # This profile is reserved for perflock requests
2 | 99
3 |
--------------------------------------------------------------------------------
/fingerprint/Android.bp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (C) 2017-2018 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 | cc_binary {
17 | name: "android.hardware.biometrics.fingerprint@2.1-service.ginkgo",
18 | relative_install_path: "hw",
19 | defaults: ["hidl_defaults"],
20 | init_rc: ["android.hardware.biometrics.fingerprint@2.1-service.ginkgo.rc"],
21 | vintf_fragments: ["android.hardware.biometrics.fingerprint@2.1-service.ginkgo.xml"],
22 | srcs: ["service.cpp", "BiometricsFingerprint.cpp"],
23 | shared_libs: [
24 | "libbase",
25 | "libhardware",
26 | "libhidlbase",
27 | "liblog",
28 | "libutils",
29 | "libcutils",
30 | "android.hardware.biometrics.fingerprint@2.1",
31 | ],
32 | proprietary: true,
33 | }
34 |
--------------------------------------------------------------------------------
/fingerprint/android.hardware.biometrics.fingerprint@2.1-service.ginkgo.rc:
--------------------------------------------------------------------------------
1 | on post-fs-data
2 | mkdir /data/vendor/goodix 0770 system system
3 | mkdir /data/vendor/fpc 0770 system system
4 |
5 | service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.ginkgo
6 | # "class hal" causes a race condition on some devices due to files created
7 | # in /data. As a workaround, postpone startup until later in boot once
8 | # /data is mounted.
9 | class late_start
10 | user system
11 | group system input uhid
12 |
--------------------------------------------------------------------------------
/fingerprint/android.hardware.biometrics.fingerprint@2.1-service.ginkgo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | android.hardware.biometrics.fingerprint
4 | hwbinder
5 | 2.1
6 |
7 | IBiometricsFingerprint
8 | default
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/fingerprint/service.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 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 | #define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.ginkgo"
18 |
19 | #include
20 | #include
21 |
22 | #include "BiometricsFingerprint.h"
23 |
24 | // libhwbinder:
25 | using android::hardware::configureRpcThreadpool;
26 | using android::hardware::joinRpcThreadpool;
27 |
28 | // Generated HIDL files
29 | using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint;
30 | using android::hardware::biometrics::fingerprint::V2_1::implementation::BiometricsFingerprint;
31 |
32 | int main() {
33 | android::sp service = BiometricsFingerprint::getInstance();
34 |
35 | if (service == nullptr) {
36 | ALOGE("Instance of BiometricsFingerprint is null");
37 | return 1;
38 | }
39 |
40 | configureRpcThreadpool(1, true /*callerWillJoin*/);
41 |
42 | android::status_t status = service->registerAsService();
43 | if (status != android::OK) {
44 | ALOGE("Cannot register BiometricsFingerprint service");
45 | return 1;
46 | }
47 |
48 | joinRpcThreadpool();
49 |
50 | return 0; // should never get here
51 | }
52 |
--------------------------------------------------------------------------------
/gps/Android.bp:
--------------------------------------------------------------------------------
1 | GNSS_CFLAGS = [
2 | "-Werror",
3 | "-Wno-error=unused-parameter",
4 | "-Wno-error=macro-redefined",
5 | "-Wno-error=reorder",
6 | "-Wno-error=missing-braces",
7 | "-Wno-error=self-assign",
8 | "-Wno-error=enum-conversion",
9 | "-Wno-error=logical-op-parentheses",
10 | "-Wno-error=null-arithmetic",
11 | "-Wno-error=null-conversion",
12 | "-Wno-error=parentheses-equality",
13 | "-Wno-error=undefined-bool-conversion",
14 | "-Wno-error=tautological-compare",
15 | "-Wno-error=switch",
16 | "-Wno-error=date-time",
17 | ]
18 |
19 | /* Activate the following for regression testing */
20 | GNSS_SANITIZE = {
21 | /* address: true,*/
22 | cfi: true,
23 | misc_undefined: [
24 | "bounds",
25 | "null",
26 | "unreachable",
27 | "integer",
28 | ],
29 | }
30 |
31 | /* Activate the following for debug purposes only,
32 | comment out for production */
33 | GNSS_SANITIZE_DIAG = {
34 | /*
35 | diag: {
36 | cfi: true,
37 | misc_undefined: [
38 | "bounds",
39 | "null",
40 | "unreachable",
41 | "integer",
42 | ],
43 | },
44 | */
45 | }
46 |
--------------------------------------------------------------------------------
/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=unused-parameter \
7 | -Wno-error=macro-redefined \
8 | -Wno-error=reorder \
9 | -Wno-error=missing-braces \
10 | -Wno-error=self-assign \
11 | -Wno-error=enum-conversion \
12 | -Wno-error=logical-op-parentheses \
13 | -Wno-error=null-arithmetic \
14 | -Wno-error=null-conversion \
15 | -Wno-error=parentheses-equality \
16 | -Wno-error=undefined-bool-conversion \
17 | -Wno-error=tautological-compare \
18 | -Wno-error=switch \
19 | -Wno-error=date-time
20 |
21 | GNSS_HIDL_VERSION = 2.1
22 |
23 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += msm8937
24 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += msm8953
25 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += msm8998
26 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += apq8098_latv
27 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += sdm710
28 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += qcs605
29 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += sdm845
30 | GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += sdm660
31 |
32 | ifneq (,$(filter $(GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST),$(TARGET_BOARD_PLATFORM)))
33 | GNSS_HIDL_LEGACY_MEASURMENTS = true
34 | endif
35 |
36 | LOCAL_PATH := $(call my-dir)
37 | include $(call all-makefiles-under,$(LOCAL_PATH))
38 |
39 | GNSS_SANITIZE := cfi bounds null unreachable integer
40 | # Activate the following two lines for regression testing
41 | #GNSS_SANITIZE += address
42 | #GNSS_SANITIZE_DIAG := $(GNSS_SANITIZE)
43 |
44 | endif # ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
45 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/gps/android/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 | include $(call all-subdir-makefiles)
3 |
--------------------------------------------------------------------------------
/gps/android/utils/Android.bp:
--------------------------------------------------------------------------------
1 | cc_library_static {
2 |
3 | name: "liblocbatterylistener",
4 | vendor: true,
5 |
6 | sanitize: GNSS_SANITIZE,
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 | "libcutils",
17 | "libutils",
18 | "android.hardware.health@1.0",
19 | "android.hardware.health@2.0",
20 | "android.hardware.health@2.1",
21 | "android.hardware.power@1.2",
22 | "libbase",
23 | ],
24 |
25 | static_libs: ["libhealthhalutils"],
26 |
27 | header_libs: [
28 | "libgps.utils_headers",
29 | "libloc_pla_headers",
30 | ],
31 | }
32 |
33 | cc_library_headers {
34 |
35 | name: "liblocbatterylistener_headers",
36 | export_include_dirs: ["."],
37 | }
38 |
--------------------------------------------------------------------------------
/gps/batching/Android.bp:
--------------------------------------------------------------------------------
1 |
2 | cc_library_shared {
3 |
4 | name: "libbatching",
5 | vendor: true,
6 |
7 | sanitize: GNSS_SANITIZE,
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 |
--------------------------------------------------------------------------------
/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/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/core/Android.bp:
--------------------------------------------------------------------------------
1 |
2 | cc_library_shared {
3 |
4 | name: "libloc_core",
5 | vendor: true,
6 |
7 | sanitize: GNSS_SANITIZE,
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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/gps/etc/gps.conf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/trinket-devs/device_xiaomi_ginkgo/cd6d62c4c897c302a5a980d37ba0f6c5fc0a71d5/gps/etc/gps.conf
--------------------------------------------------------------------------------
/gps/etc/lowi.conf:
--------------------------------------------------------------------------------
1 | #*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
2 | #
3 | # LOWI Config file - default
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 = 4
26 | LOWI_USE_LOWI_LP = 0
27 |
28 |
--------------------------------------------------------------------------------
/gps/geofence/Android.bp:
--------------------------------------------------------------------------------
1 |
2 |
3 | cc_library_shared {
4 |
5 | name: "libgeofencing",
6 | vendor: true,
7 |
8 | sanitize: GNSS_SANITIZE,
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/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 |
--------------------------------------------------------------------------------
/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/gnss/Android.bp:
--------------------------------------------------------------------------------
1 |
2 |
3 | cc_library_shared {
4 |
5 | name: "libgnss",
6 | vendor: true,
7 |
8 | sanitize: GNSS_SANITIZE,
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 | ],
25 |
26 | cflags: ["-fno-short-enums"] + GNSS_CFLAGS,
27 | header_libs: [
28 | "libgps.utils_headers",
29 | "libloc_core_headers",
30 | "libloc_pla_headers",
31 | "liblocation_api_headers",
32 | ],
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/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 |
18 | if USE_GLIB
19 | libgnss_la_CFLAGS = -DUSE_GLIB $(AM_CFLAGS) @GLIB_CFLAGS@
20 | libgnss_la_LDFLAGS = -lstdc++ -Wl,-z,defs -lpthread @GLIB_LIBS@ -shared -avoid-version
21 | libgnss_la_CPPFLAGS = -DUSE_GLIB $(AM_CFLAGS) $(AM_CPPFLAGS) @GLIB_CFLAGS@
22 | else
23 | libgnss_la_CFLAGS = $(AM_CFLAGS)
24 | libgnss_la_LDFLAGS = -Wl,-z,defs -lpthread -shared -version-info 1:0:0
25 | libgnss_la_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS)
26 | endif
27 |
28 | libgnss_la_LIBADD = -lstdc++ -ldl $(GPSUTILS_LIBS) $(LOCCORE_LIBS)
29 |
30 | #Create and Install libraries
31 | lib_LTLIBRARIES = libgnss.la
32 |
--------------------------------------------------------------------------------
/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/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 += libloc_pla_headers
31 | PRODUCT_PACKAGES += liblocation_api_headers
32 | PRODUCT_PACKAGES += libgps.utils_headers
33 | PRODUCT_PACKAGES += liblocation_api
34 | PRODUCT_PACKAGES += libgps.utils
35 | PRODUCT_PACKAGES += libbatching
36 | PRODUCT_PACKAGES += libgeofencing
37 | PRODUCT_PACKAGES += libloc_core
38 | PRODUCT_PACKAGES += libgnss
39 |
40 | PRODUCT_PACKAGES += android.hardware.gnss@2.1-impl-qti
41 | PRODUCT_PACKAGES += android.hardware.gnss@2.1-service-qti
42 |
43 | endif # ifneq (,$(filter $(LOC_BOARD_PLATFORM_LIST),$(TARGET_BOARD_PLATFORM)))
44 | endif # ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
45 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/gps/location/Android.bp:
--------------------------------------------------------------------------------
1 |
2 | cc_library_shared {
3 |
4 | name: "liblocation_api",
5 | vendor: true,
6 |
7 | sanitize: GNSS_SANITIZE,
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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/gps/utils/Android.bp:
--------------------------------------------------------------------------------
1 |
2 | cc_library_shared {
3 |
4 | name: "libgps.utils",
5 | vendor: true,
6 |
7 | sanitize: GNSS_SANITIZE,
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/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 |
--------------------------------------------------------------------------------
/init/Android.bp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (C) 2019 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 | cc_library_static {
18 | name: "libinit_ginkgo",
19 | recovery_available: true,
20 | srcs: ["init_ginkgo.cpp"],
21 | include_dirs: [
22 | "system/core/base/include",
23 | "system/core/init"
24 | ],
25 | shared_libs: ["libbase"]
26 | }
27 |
--------------------------------------------------------------------------------
/keyhandler/Android.bp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (C) 2021 WaveOS
3 | //
4 | // SPDX-License-Identifier: Apache-2.0
5 | //
6 |
7 | android_app {
8 | name: "KeyHandler",
9 |
10 | srcs: ["src/**/*.java"],
11 |
12 | certificate: "platform",
13 | platform_apis: true,
14 | privileged: true,
15 |
16 | optimize: {
17 | proguard_flags_files: ["proguard.flags"],
18 | },
19 | }
20 |
--------------------------------------------------------------------------------
/keyhandler/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
--------------------------------------------------------------------------------
/keyhandler/proguard.flags:
--------------------------------------------------------------------------------
1 | # Keep keyhandler constructor
2 | -keep public class * implements com.android.internal.os.DeviceKeyHandler {
3 | public (android.content.Context);
4 | }
5 |
--------------------------------------------------------------------------------
/keylayout/uinput-fpc.kl:
--------------------------------------------------------------------------------
1 | #
2 | # FPC1020 Touch sensor driver
3 | #
4 | # Copyright (c) 2013,2014 Fingerprint Cards AB
5 | #
6 | # This program is free software; you can redistribute it and/or
7 | # modify it under the terms of the GNU General Public License Version 2
8 | # as published by the Free Software Foundation.
9 | #
10 |
11 | key 96 CAMERA
12 | #key 102 HOME
13 | #key 105 DPAD_LEFT
14 | #key 106 DPAD_RIGHT
15 |
16 |
--------------------------------------------------------------------------------
/keylayout/uinput-goodix.kl:
--------------------------------------------------------------------------------
1 | #
2 | # Goodix fingerprint sensor driver
3 | #
4 | # Copyright (c) 2013,2014 Fingerprint Cards AB
5 | #
6 | # This program is free software; you can redistribute it and/or
7 | # modify it under the terms of the GNU General Public License Version 2
8 | # as published by the Free Software Foundation.
9 | #
10 |
11 | key 96 CAMERA
12 | #key 102 HOME
13 | #key 105 DPAD_LEFT
14 | #key 106 DPAD_RIGHT
15 |
--------------------------------------------------------------------------------
/libhidl/Android.mk:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2017 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 | include $(CLEAR_VARS)
17 | LOCAL_SHARED_LIBRARIES := libhidltransport
18 | LOCAL_MODULE := android.hidl.base@1.0
19 | LOCAL_MODULE_TAGS := optional
20 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES
21 | LOCAL_VENDOR_MODULE := true
22 | include $(BUILD_SHARED_LIBRARY)
23 |
24 | include $(CLEAR_VARS)
25 | LOCAL_SHARED_LIBRARIES := libhidltransport
26 | LOCAL_MODULE := android.hidl.manager@1.0
27 | LOCAL_MODULE_TAGS := optional
28 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES
29 | LOCAL_VENDOR_MODULE := true
30 | include $(BUILD_SHARED_LIBRARY)
31 |
32 | include $(CLEAR_VARS)
33 | LOCAL_SHARED_LIBRARIES := libhidltransport
34 | LOCAL_MODULE := android.hidl.base@1.0_system
35 | LOCAL_INSTALLED_MODULE_STEM := android.hidl.base@1.0.so
36 | LOCAL_MODULE_TAGS := optional
37 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES
38 | include $(BUILD_SHARED_LIBRARY)
39 |
40 | include $(CLEAR_VARS)
41 | LOCAL_SHARED_LIBRARIES := libhidltransport
42 | LOCAL_MODULE := android.hidl.manager@1.0_system
43 | LOCAL_INSTALLED_MODULE_STEM := android.hidl.manager@1.0.so
44 | LOCAL_MODULE_TAGS := optional
45 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES
46 | include $(BUILD_SHARED_LIBRARY)
47 |
--------------------------------------------------------------------------------
/light/Android.bp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (C) 2019-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 | cc_binary {
17 | defaults: ["hidl_defaults"],
18 | name: "android.hardware.light@2.0-service.ginkgo",
19 | init_rc: ["android.hardware.light@2.0-service.ginkgo.rc"],
20 | vintf_fragments: ["android.hardware.light@2.0-service.ginkgo.xml"],
21 | srcs: ["service.cpp", "Light.cpp"],
22 | shared_libs: [
23 | "libbase",
24 | "libhidlbase",
25 | "libutils",
26 | "android.hardware.light@2.0",
27 | ],
28 | relative_install_path: "hw",
29 | vendor: true,
30 | }
31 |
--------------------------------------------------------------------------------
/light/android.hardware.light@2.0-service.ginkgo.rc:
--------------------------------------------------------------------------------
1 | on early-boot
2 |
3 | chown 0660 /sys/class/leds/red/brightness
4 | chown system system /sys/class/leds/red/brightness
5 |
6 | chown system system /sys/class/backlight/panel0-backlight/brightness
7 | chown system system /sys/class/backlight/panel0-backlight/max_brightness
8 | chown system system /sys/class/backlight/panel1-backlight/brightness
9 | chown system system /sys/class/backlight/panel1-backlight/max_brightness
10 |
11 | service vendor.light-hal-2-0 /vendor/bin/hw/android.hardware.light@2.0-service.ginkgo
12 | interface android.hardware.light@2.0::ILight default
13 | class hal
14 | user system
15 | group system
16 | shutdown critical
17 |
--------------------------------------------------------------------------------
/light/android.hardware.light@2.0-service.ginkgo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | android.hardware.light
4 | hwbinder
5 | 2.0
6 |
7 | ILight
8 | default
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/light/service.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-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 | #define LOG_TAG "android.hardware.light@2.0-service.ginkgo"
18 |
19 | #include
20 | #include
21 |
22 | #include "Light.h"
23 |
24 | using android::hardware::configureRpcThreadpool;
25 | using android::hardware::joinRpcThreadpool;
26 |
27 | using android::hardware::light::V2_0::implementation::Light;
28 |
29 | using android::OK;
30 | using android::status_t;
31 |
32 | int main() {
33 | android::sp service = new Light();
34 |
35 | configureRpcThreadpool(1, true);
36 |
37 | status_t status = service->registerAsService();
38 | if (status != OK) {
39 | LOG(ERROR) << "Cannot register Light HAL service.";
40 | return 1;
41 | }
42 |
43 | LOG(DEBUG) << "Light HAL service ready.";
44 |
45 | joinRpcThreadpool();
46 |
47 | LOG(ERROR) << "Light HAL service failed to join thread pool.";
48 | return 1;
49 | }
50 |
--------------------------------------------------------------------------------
/lineage.dependencies:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "repository": "android_kernel_xiaomi_ginkgo",
4 | "target_path": "kernel/xiaomi/ginkgo"
5 | },
6 | {
7 | "repository": "android_vendor_xiaomi_ginkgo",
8 | "target_path": "vendor/xiaomi/ginkgo"
9 | },
10 | {
11 | "repository": "android_vendor_miuicamera",
12 | "target_path": "vendor/miuicamera",
13 | },
14 | {
15 | "remote": "github",
16 | "repository": "ThankYouMario/proprietary_vendor_qcom_sdclang",
17 | "target_path": "prebuilts/clang/host/linux-x86/clang-sdllvm",
18 | "branch": "ruby"
19 | }
20 | ]
21 |
--------------------------------------------------------------------------------
/lineage_ginkgo.mk:
--------------------------------------------------------------------------------
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 | # Inherit framework first
18 | $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
19 | $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
20 | $(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
21 | $(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_p.mk)
22 |
23 | # Inherit from ginkgo device
24 | $(call inherit-product, device/xiaomi/ginkgo/device.mk)
25 |
26 | # Inherit some common LineageOS stuff
27 | $(call inherit-product, vendor/lineage/config/common_full_phone.mk)
28 |
29 | # Device identifier
30 | PRODUCT_NAME := lineage_ginkgo
31 | PRODUCT_DEVICE := ginkgo
32 | PRODUCT_BRAND := Xiaomi
33 | PRODUCT_MODEL := Redmi Note 8
34 | PRODUCT_MANUFACTURER := Xiaomi
35 | PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
36 |
37 | # Fingerprint
38 | BUILD_FINGERPRINT := google/redfin/redfin:11/RQ3A.210905.001/7511028:user/release-keys
39 | BUILD_DESCRIPTION := redfin-user 11 RQ3A.210905.001 7511028 release-keys
40 |
41 | PRODUCT_PROPERTY_OVERRIDES += \
42 | ro.build.fingerprint=$(BUILD_FINGERPRINT)
43 |
44 | PRODUCT_BUILD_PROP_OVERRIDES += \
45 | PRIVATE_BUILD_DESC="$(BUILD_DESCRIPTION)"
46 |
--------------------------------------------------------------------------------
/manifest_willow.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | android.hardware.nfc
4 | hwbinder
5 | 1.2
6 |
7 | INfc
8 | default
9 |
10 |
11 |
12 | vendor.nxp.hardware.nfc
13 | hwbinder
14 | 2.0
15 |
16 | INqNfc
17 | default
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/media/media_codecs_vendor_audio.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/odm.prop:
--------------------------------------------------------------------------------
1 | # Fwk detect
2 | ro.vendor.qti.va_odm.support=1
3 |
--------------------------------------------------------------------------------
/org.ifaa.android.manager/Android.bp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017-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 | java_library {
18 | name: "org.ifaa.android.manager",
19 | installable: true,
20 | srcs: [
21 | "lib/**/*.java",
22 | "lib/**/I*.aidl",
23 | ],
24 | libs: [
25 | "app-compat-annotations",
26 | "unsupportedappusage",
27 | ],
28 | aidl: {
29 | local_include_dirs: ["src"],
30 | },
31 | }
32 |
33 |
34 | android_app {
35 | name: "IFAAService",
36 |
37 | srcs: ["src/**/*.java"],
38 |
39 | certificate: "platform",
40 | libs: ["org.ifaa.android.manager"],
41 |
42 | platform_apis: true,
43 | optimize: {
44 | enabled: false,
45 | },
46 | }
47 |
--------------------------------------------------------------------------------
/org.ifaa.android.manager/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
21 |
22 |
25 |
26 |
28 |
29 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/org.ifaa.android.manager/lib/org/ifaa/android/manager/IFAAManagerFactory.java:
--------------------------------------------------------------------------------
1 | package org.ifaa.android.manager;
2 |
3 | import android.compat.annotation.UnsupportedAppUsage;
4 | import android.content.Context;
5 |
6 | public class IFAAManagerFactory {
7 | @UnsupportedAppUsage
8 | public static IFAAManager getIFAAManager(Context context, int authType) {
9 | return IFAAManagerImpl.getInstance(context);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/org.ifaa.android.manager/lib/org/ifaa/android/manager/IFAAManagerV2.java:
--------------------------------------------------------------------------------
1 | package org.ifaa.android.manager;
2 |
3 | import android.compat.annotation.UnsupportedAppUsage;
4 | import android.content.Context;
5 |
6 | public abstract class IFAAManagerV2 extends IFAAManager {
7 | @UnsupportedAppUsage
8 | public abstract byte[] processCmdV2(Context paramContext, byte[] paramArrayOfByte);
9 | }
10 |
--------------------------------------------------------------------------------
/org.ifaa.android.manager/lib/org/ifaa/android/manager/IFAAManagerV3.java:
--------------------------------------------------------------------------------
1 | package org.ifaa.android.manager;
2 |
3 | import android.compat.annotation.UnsupportedAppUsage;
4 |
5 | public abstract class IFAAManagerV3 extends IFAAManagerV2 {
6 | @UnsupportedAppUsage
7 | public static final String KEY_FINGERPRINT_FULLVIEW = "org.ifaa.ext.key.CUSTOM_VIEW";
8 | @UnsupportedAppUsage
9 | public static final String KEY_GET_SENSOR_LOCATION = "org.ifaa.ext.key.GET_SENSOR_LOCATION";
10 | @UnsupportedAppUsage
11 | public static final String VALUE_FINGERPRINT_DISABLE = "disable";
12 | @UnsupportedAppUsage
13 | public static final String VLAUE_FINGERPRINT_ENABLE = "enable";
14 |
15 | @UnsupportedAppUsage
16 | public abstract String getExtInfo(int authType, String keyExtInfo);
17 |
18 | @UnsupportedAppUsage
19 | public abstract void setExtInfo(int authType, String keyExtInfo, String valExtInfo);
20 | }
21 |
--------------------------------------------------------------------------------
/org.ifaa.android.manager/lib/org/ifaa/android/manager/IIFAAService.aidl:
--------------------------------------------------------------------------------
1 | package org.ifaa.android.manager;
2 |
3 | interface IIFAAService {
4 | byte[] processCmd_v2(in byte[] param);
5 | }
6 |
--------------------------------------------------------------------------------
/org.ifaa.android.manager/src/org/ifaa/android/manager/IIFAAService.aidl:
--------------------------------------------------------------------------------
1 | package org.ifaa.android.manager;
2 |
3 | interface IIFAAService {
4 | byte[] processCmd_v2(in byte[] param);
5 | int[] getIDList(int bioType);
6 | int faceEnroll(String sessionId, int flags);
7 | int faceUpgrade(int action, String path, int offset, in byte[] data, int data_len);
8 | int faceAuthenticate_v2(String sessionId, int flags);
9 | int faceCancel_v2(String sessionId);
10 | byte[] faceInvokeCommand(in byte[] param);
11 | int faceGetCellinfo();
12 | }
13 |
--------------------------------------------------------------------------------
/overlay/frameworks/base/core/res/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
20 | 103px
21 |
22 |
23 | 80.0px
24 | 28.0dp
25 |
26 |
--------------------------------------------------------------------------------
/overlay/frameworks/base/packages/SettingsLib/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | 10800000
21 |
22 |
--------------------------------------------------------------------------------
/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
21 | true
22 |
23 |
24 | false
25 |
26 |
27 | false
28 |
29 |
--------------------------------------------------------------------------------
/overlay/frameworks/base/packages/SystemUI/res/drawable/rounded.xml:
--------------------------------------------------------------------------------
1 |
15 |
20 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
20 | 40px
21 |
22 |
25 | M22,0C19.94,0.01 18.83,0.04 17.73,0.11C16.91,0.17 16.09,0.25 15.3,0.36C14.5,0.48 13.72,0.62 12.95,0.81C11.42,1.19 9.97,1.72 8.65,2.43C7.32,3.14 6.12,4.02 5.08,5.07C4.04,6.11 3.15,7.31 2.44,8.64C1.73,9.97 1.19,11.42 0.82,12.94C0.63,13.7 0.48,14.49 0.37,15.29C0.25,16.09 0.17,16.9 0.12,17.72C0.05,18.82 0.02,19.93 0.01,21.55
26 |
27 |
--------------------------------------------------------------------------------
/overlay/packages/apps/Dialer/java/com/android/dialer/callrecord/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | true
19 | 4
20 |
21 |
--------------------------------------------------------------------------------
/overlay/packages/apps/Settings/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
23 |
24 | - 0
25 | - -1
26 | - -1
27 |
28 |
29 |
--------------------------------------------------------------------------------
/power/power-mode.cpp:
--------------------------------------------------------------------------------
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 | #include
18 | #include
19 | #include "power-common.h"
20 |
21 | #define BATTERY_SAVER_NODE "/sys/module/battery_saver/parameters/enabled"
22 |
23 | namespace aidl {
24 | namespace android {
25 | namespace hardware {
26 | namespace power {
27 | namespace impl {
28 |
29 | using ::aidl::android::hardware::power::Mode;
30 |
31 | bool isDeviceSpecificModeSupported(Mode type, bool* _aidl_return) {
32 | switch (type) {
33 | case Mode::LOW_POWER:
34 | *_aidl_return = true;
35 | return true;
36 | default:
37 | return false;
38 | }
39 | }
40 |
41 | bool setDeviceSpecificMode(Mode type, bool enabled) {
42 | switch (type) {
43 | case Mode::LOW_POWER:
44 | ::android::base::WriteStringToFile(enabled ? "Y" : "N", BATTERY_SAVER_NODE, true);
45 | return true;
46 | default:
47 | return false;
48 | }
49 | }
50 |
51 | } // namespace impl
52 | } // namespace power
53 | } // namespace hardware
54 | } // namespace android
55 | } // namespace aidl
56 |
--------------------------------------------------------------------------------
/releasetools.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2009 The Android Open Source Project
2 | # Copyright (c) 2011, The Linux Foundation. All rights reserved.
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 | import common
17 | import re
18 |
19 | def FullOTA_Assertions(info):
20 | input_zip = info.input_zip
21 | return
22 |
23 | def IncrementalOTA_Assertions(info):
24 | input_zip = info.target_zip
25 | return
26 |
27 | def FullOTA_InstallEnd(info):
28 | input_zip = info.input_zip
29 | OTA_InstallEnd(info, input_zip)
30 | return
31 |
32 | def IncrementalOTA_InstallEnd(info):
33 | input_zip = info.target_zip
34 | OTA_InstallEnd(info, input_zip)
35 | return
36 |
37 | def AddImage(info, input_zip, basename, dest):
38 | name = basename
39 | data = input_zip.read("IMAGES/" + basename)
40 | common.ZipWriteStr(info.output_zip, name, data)
41 | info.script.Print("Patching {} image unconditionally...".format(dest.split('/')[-1]))
42 | info.script.AppendExtra('package_extract_file("%s", "%s");' % (name, dest))
43 |
44 | def OTA_InstallEnd(info, input_zip):
45 | AddImage(info, input_zip, "vbmeta.img", "/dev/block/bootdevice/by-name/vbmeta")
46 | AddImage(info, input_zip, "dtbo.img", "/dev/block/bootdevice/by-name/dtbo")
47 | return
48 |
--------------------------------------------------------------------------------
/rro_overlays/MiuiCamera/Android.bp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2020 Paranoid Android
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 | runtime_resource_overlay {
16 | name: "GinkgoMiuiCamera",
17 | sdk_version: "current",
18 | vendor: true,
19 | }
20 |
--------------------------------------------------------------------------------
/rro_overlays/MiuiCamera/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/Android.bp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2020 Paranoid Android
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 | runtime_resource_overlay {
16 | name: "NoCutoutOverlay",
17 | sdk_version: "current",
18 | vendor: true,
19 | }
20 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
21 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-af/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Versteek"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-am/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ደብቅ"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ar/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "إخفاء"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-as/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "লুকুৱাওক"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-az/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Gizlədin"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-b+sr+Latn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Sakrij"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-be/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Схаваць"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-bg/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Скриване"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-bn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "লুকান"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-bs/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Sakrij"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ca/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Amaga"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-cs/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Skrýt"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-da/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Skjul"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-de/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ausblenden"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-el/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Απόκρυψη"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-en-rAU/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Hide"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-en-rCA/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Hide"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-en-rGB/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Hide"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-en-rIN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Hide"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-en-rXC/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Hide"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-es-rUS/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-es/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-et/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Peida"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-eu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ezkutatu"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-fa/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "پنهان کردن"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-fi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Piilota"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-fr-rCA/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Masquer"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-fr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Masquer"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-gl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-gu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "છુપાવો"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-hi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "छिपाएं"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-hr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Sakrij"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-hu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Elrejtés"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-hy/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Թաքցնել"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-in/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Sembunyikan"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-is/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Fela"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-it/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Nascondi"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-iw/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "הסתר"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ja/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "非表示"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ka/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "დამალვა"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-kk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Жасыру"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-km/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "លាក់"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-kn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ಮರೆಮಾಡು"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ko/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "숨기기"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ky/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Жашыруу"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-land/config.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 | 28dp
20 |
21 | 156dp
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-lo/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ເຊື່ອງ"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-lt/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Slėpti"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-lv/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Paslēpt"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-mk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Сокриј"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ml/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "മറയ്ക്കുക"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-mn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Нуух"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-mr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "लपवा"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ms/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Sembunyikan"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-my/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ဝှက်ပါ"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-nb/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Skjul"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ne/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "लुकाउनुहोस्"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-nl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Verbergen"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-or/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ଲୁଚାନ୍ତୁ"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-pa/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ਲੁਕਾਓ"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-pl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ukryj"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-pt-rBR/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-pt-rPT/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-pt/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ocultar"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ro/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ascundeți"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ru/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Скрыть"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-si/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "සඟවන්න"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-sk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Skryť"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-sl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Skrivanje"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-sq/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Fshih"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-sr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Сакриј"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-sv/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Dölj"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-sw/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ficha"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ta/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "மறை"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-te/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "దాస్తుంది"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-th/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "ซ่อน"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-tl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Itago"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-tr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Gizle"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-uk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Сховати"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-ur/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "چھپائیں"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-uz/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Berkitish"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-vi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Ẩn"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-zh-rCN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "隐藏"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-zh-rHK/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "隱藏"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-zh-rTW/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "隱藏"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values-zu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 | "Fihla"
21 |
22 |
--------------------------------------------------------------------------------
/rro_overlays/NoCutoutOverlay/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | Hide
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/rro_overlays/NotchBarKiller/Android.bp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2020 Paranoid Android
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 | runtime_resource_overlay {
16 | name: "NotchBarKiller",
17 | sdk_version: "current",
18 | vendor: true,
19 | }
20 |
--------------------------------------------------------------------------------
/rro_overlays/NotchBarKiller/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
21 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/rro_overlays/NotchBarKiller/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
22 | true
23 |
24 | M 0,0 L 0, 0 C 0,0 0,0 0,0
25 | @*android:string/config_mainBuiltInDisplayCutout
26 |
27 |
28 | 4
29 | 5
30 |
31 |
32 |
--------------------------------------------------------------------------------
/rro_overlays/NotchBarKiller/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Notch Bar Killer
3 |
4 |
--------------------------------------------------------------------------------
/rro_overlays/TetheringOverlay/Android.bp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (C) 2020 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 | runtime_resource_overlay {
18 | name: "TetheringConfigOverlay",
19 | theme: "TetheringConfigOverlay",
20 | sdk_version: "current",
21 | product_specific: true
22 | }
23 |
--------------------------------------------------------------------------------
/rro_overlays/TetheringOverlay/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
11 |
12 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/rro_overlays/WifiOverlay/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
22 |
27 |
28 |
--------------------------------------------------------------------------------
/seccomp/codec2.vendor.ext.policy:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2019, 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 | # device specific syscalls
29 | pselect6: 1
30 | eventfd2: 1
31 | sendto: 1
32 | recvfrom: 1
33 | _llseek: 1
34 | sysinfo: 1
35 | getcwd: 1
36 | getdents64: 1
37 |
--------------------------------------------------------------------------------
/seccomp/mediacodec-seccomp.policy:
--------------------------------------------------------------------------------
1 | # device specific syscalls
2 | # extension of services/mediacodec/minijail/seccomp_policy/mediacodec-seccomp-arm.policy
3 | pselect6: 1
4 | eventfd2: 1
5 | sendto: 1
6 | recvfrom: 1
7 | _llseek: 1
8 | sysinfo: 1
9 | getcwd: 1
10 | getdents64: 1
11 | ARM_cacheflush: 1
12 | inotify_init1: 1
13 | inotify_add_watch: 1
14 | inotify_rm_watch: 1
15 | uname: 1
16 | ueventd: 1
17 | timer_create: 1
18 | timer_settime: 1
19 | rt_sigtimedwait: 1
20 |
--------------------------------------------------------------------------------
/sepolicy/private/cameraserver.te:
--------------------------------------------------------------------------------
1 | set_prop(cameraserver, system_prop)
2 |
--------------------------------------------------------------------------------
/sepolicy/private/file_contexts:
--------------------------------------------------------------------------------
1 | # Files in rootfs
2 | /bt_firmware(/.*)? u:object_r:bt_firmware_file:s0
3 | /firmware(/.*)? u:object_r:firmware_file:s0
4 |
--------------------------------------------------------------------------------
/sepolicy/private/platform_app.te:
--------------------------------------------------------------------------------
1 | hal_client_domain(platform_app, hal_misys)
2 |
--------------------------------------------------------------------------------
/sepolicy/private/priv_app.te:
--------------------------------------------------------------------------------
1 | hal_client_domain(priv_app, hal_misys)
2 |
--------------------------------------------------------------------------------
/sepolicy/private/property_contexts:
--------------------------------------------------------------------------------
1 | ro.boot.hwc u:object_r:exported_default_prop:s0
2 | ro.boot.hwversion u:object_r:exported_default_prop:s0
3 | ro.product.system.manufacturer u:object_r:exported2_default_prop:s0 exact string
4 |
--------------------------------------------------------------------------------
/sepolicy/private/system_app.te:
--------------------------------------------------------------------------------
1 | hal_client_domain(system_app, hal_mlipay)
2 |
--------------------------------------------------------------------------------
/sepolicy/private/system_suspend.te:
--------------------------------------------------------------------------------
1 | dontaudit system_suspend sysfs:dir read;
2 |
--------------------------------------------------------------------------------
/sepolicy/private/uncrypt.te:
--------------------------------------------------------------------------------
1 | allow uncrypt self:capability { sys_admin };
2 |
--------------------------------------------------------------------------------
/sepolicy/public/attributes:
--------------------------------------------------------------------------------
1 | hal_attribute_lineage(misys)
2 | hal_attribute_lineage(mlipay)
3 |
--------------------------------------------------------------------------------
/sepolicy/vendor/app.te:
--------------------------------------------------------------------------------
1 | # Allow appdomain to get persist_camera_prop
2 | get_prop(appdomain, vendor_camera_prop)
3 | get_prop(appdomain, vendor_persist_camera_prop)
4 |
5 | # allow apps to read battery status
6 | r_dir_file(untrusted_app, sysfs_battery_supply)
7 | r_dir_file(untrusted_app, sysfs_usb_supply)
8 | allow system_server sysfs_battery_supply:file { getattr open read write };
9 | allow system_server sysfs_usb_supply:file { getattr open read write };
10 |
11 | allow { appdomain -isolated_app } adsprpcd_file:dir r_dir_perms;
12 | allow { appdomain -isolated_app } public_adsprpcd_file:file r_file_perms;
13 | get_prop({ appdomain -isolated_app }, ifaa_prop)
14 | get_prop({ appdomain -isolated_app }, vendor_fp_prop)
15 |
--------------------------------------------------------------------------------
/sepolicy/vendor/device.te:
--------------------------------------------------------------------------------
1 | type lirc_device, dev_type;
2 | type fingerprint_device, dev_type;
3 |
--------------------------------------------------------------------------------
/sepolicy/vendor/file.te:
--------------------------------------------------------------------------------
1 | type fingerprint_data_file, data_file_type, file_type;
2 | type goodix_fingerprint_data_file, data_file_type, file_type, core_data_file_type;
3 | type thermal_data_file, data_file_type, file_type;
4 | type proc_touchpanel, fs_type, proc_type;
5 | type camera_persist_file, file_type, vendor_persist_type;
6 | type audio_socket, file_type;
7 | type public_adsprpcd_file, file_type;
8 | type sysfs_battery_saver, fs_type, sysfs_type;
9 | type sysfs_touchpanel, fs_type, sysfs_type;
10 | type kcal_dev, sysfs_type, fs_type;
11 | type sysfs_fcharge, sysfs_type, fs_type;
12 | type vibrator_dev, sysfs_type, fs_type;
13 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hal_audio_default.te:
--------------------------------------------------------------------------------
1 | allow hal_audio_default mnt_vendor_file:dir search;
2 | allow hal_audio_default property_socket:sock_file write;
3 | allow hal_audio_default audio_socket:sock_file rw_file_perms;
4 |
5 | set_prop(hal_audio_default, vendor_audio_prop)
6 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hal_bluetooth_default.te:
--------------------------------------------------------------------------------
1 | # disable logspam
2 | dontaudit hal_bluetooth_default vendor_diag_device:chr_file { read write };
3 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hal_camera_default.te:
--------------------------------------------------------------------------------
1 | hal_client_domain(hal_camera_default, hal_configstore)
2 | hal_client_domain(hal_camera_default, hal_graphics_allocator)
3 |
4 | allow hal_camera_default camera_persist_file:file r_file_perms;
5 | allow hal_camera_default camera_persist_file:dir r_dir_perms;
6 | allow hal_camera_default mnt_vendor_file:file r_file_perms;
7 | allow hal_camera_default mnt_vendor_file:dir r_dir_perms;
8 | allow hal_camera_default sysfs:file { getattr open read };
9 |
10 | r_dir_file(hal_camera_default, vendor_sysfs_kgsl)
11 |
12 | set_prop(hal_camera_default, vendor_camera_prop)
13 | set_prop(hal_camera_default, vendor_video_prop)
14 |
15 | dontaudit hal_camera_default vendor_shell_exec:file { execute_no_trans };
16 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hal_fingerprint_default.te:
--------------------------------------------------------------------------------
1 | allow hal_fingerprint_default fingerprint_device:chr_file rw_file_perms;
2 | allow hal_fingerprint_default fingerprint_data_file:dir create_dir_perms;
3 | allow hal_fingerprint_default fingerprint_data_file:file create_file_perms;
4 | allow hal_fingerprint_default self:netlink_socket create_socket_perms_no_ioctl;
5 | allow hal_fingerprint_default tee_device:chr_file rw_file_perms;
6 | allow hal_fingerprint_default uhid_device:chr_file rw_file_perms;
7 | allow hal_fingerprint_default rootfs:dir { read open };
8 | allow hal_fingerprint_default mnt_user_file:lnk_file read;
9 | allow hal_fingerprint_default sdcardfs:dir search;
10 |
11 | typeattribute hal_fingerprint_default data_between_core_and_vendor_violators;
12 | allow hal_fingerprint_default goodix_fingerprint_data_file:dir create_dir_perms;
13 | allow hal_fingerprint_default goodix_fingerprint_data_file:file create_file_perms;
14 |
15 | set_prop(hal_fingerprint_default, vendor_fp_prop)
16 | hal_client_domain(hal_fingerprint_default, vendor_hal_perf)
17 |
18 | # Ignore all logging requests
19 | dontaudit hal_fingerprint storage_file:dir search;
20 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hal_ir_default.te:
--------------------------------------------------------------------------------
1 | allow hal_ir_default lirc_device:chr_file { ioctl read write open };
2 | allow hal_ir_default lirc_device:file { ioctl read write getattr lock append map open };
3 |
4 | get_prop(hal_ir_default, lirc_prop)
5 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hal_misys.te:
--------------------------------------------------------------------------------
1 | # HwBinder IPC from client to server
2 | binder_call(hal_misys_client, hal_misys_server)
3 |
4 | add_hwservice(hal_misys_server, hal_misys_hwservice)
5 | allow hal_misys_client hal_misys_hwservice:hwservice_manager find;
6 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hal_misys_default.te:
--------------------------------------------------------------------------------
1 | type hal_misys_default, domain;
2 | hal_server_domain(hal_misys_default, hal_misys)
3 |
4 | type hal_misys_default_exec, exec_type, vendor_file_type, file_type;
5 |
6 | init_daemon_domain(hal_misys_default)
7 |
8 | allow hal_misys_default camera_persist_file:file create_file_perms;
9 | allow hal_misys_default camera_persist_file:dir rw_dir_perms;
10 | r_dir_file(hal_misys_default, firmware_file)
11 | r_dir_file(hal_misys_default, mnt_vendor_file)
12 |
13 | get_prop(hal_misys_default, vendor_camera_prop)
14 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hal_mlipay.te:
--------------------------------------------------------------------------------
1 | binder_call(hal_mlipay_client, hal_mlipay_server)
2 |
3 | add_hwservice(hal_mlipay_server, hal_mlipay_hwservice)
4 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hal_mlipay_default.te:
--------------------------------------------------------------------------------
1 | type hal_mlipay_default, domain;
2 | hal_server_domain(hal_mlipay_default, hal_mlipay)
3 |
4 | type hal_mlipay_default_exec, exec_type, vendor_file_type, file_type;
5 |
6 | init_daemon_domain(hal_mlipay_default)
7 |
8 | allow hal_mlipay_default ion_device:chr_file rw_file_perms;
9 | allow hal_mlipay_default tee_device:chr_file rw_file_perms;
10 | r_dir_file(hal_mlipay_default, firmware_file)
11 |
12 | get_prop(hal_mlipay_default, vendor_fp_prop)
13 | set_prop(hal_mlipay_default, ifaa_prop)
14 | set_prop(hal_mlipay_default, vendor_fp_prop)
15 | set_prop(hal_mlipay_default, vendor_tee_listener_prop)
16 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hal_power_default.te:
--------------------------------------------------------------------------------
1 | allow hal_power_default sysfs_touchpanel:dir search;
2 | allow hal_power_default sysfs_touchpanel:file rw_file_perms;
3 | allow hal_power_default sysfs_battery_saver:dir r_dir_perms;
4 | allow hal_power_default sysfs_battery_saver:file rw_file_perms;
5 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hwservice.te:
--------------------------------------------------------------------------------
1 | type hal_misys_hwservice, hwservice_manager_type;
2 | type hal_mlipay_hwservice, hwservice_manager_type;
3 |
--------------------------------------------------------------------------------
/sepolicy/vendor/hwservice_contexts:
--------------------------------------------------------------------------------
1 | # Misys
2 | vendor.xiaomi.hardware.misys::IMiSys u:object_r:hal_misys_hwservice:s0
3 |
4 | # Fingerprint
5 | vendor.goodix.hardware.interfaces.biometrics.fingerprint::IGoodixFingerprintDaemon u:object_r:hal_fingerprint_hwservice:s0
6 | vendor.goodix.hardware.interfaces.biometrics.fingerprint::IGoodixFingerprintDaemonExt u:object_r:hal_fingerprint_hwservice:s0
7 |
8 | # Mlipay
9 | vendor.xiaomi.hardware.mlipay::IMlipayService u:object_r:hal_mlipay_hwservice:s0
10 |
--------------------------------------------------------------------------------
/sepolicy/vendor/init.te:
--------------------------------------------------------------------------------
1 | allow init adsprpcd_file:file mounton;
2 | allow init bt_firmware_file:filesystem getattr;
3 | allow init firmware_file:filesystem getattr;
4 | allow init vendor_file:file execute;
5 | allow init vendor_sysfs_graphics:lnk_file r_file_perms;
6 |
--------------------------------------------------------------------------------
/sepolicy/vendor/property.te:
--------------------------------------------------------------------------------
1 | # Thermal
2 | type thermal_engine_prop, property_type;
3 |
4 | # IR
5 | type lirc_prop, property_type;
6 |
7 | # Mlipay
8 | type ifaa_prop, property_type;
9 |
10 | # Fingerprint
11 | type vendor_fp_prop, property_type;
12 |
--------------------------------------------------------------------------------
/sepolicy/vendor/property_contexts:
--------------------------------------------------------------------------------
1 | # Camera
2 | persist.camera. u:object_r:vendor_camera_prop:s0
3 | camera. u:object_r:vendor_camera_prop:s0
4 | ro.camera. u:object_r:vendor_camera_prop:s0
5 | vendor.camera. u:object_r:vendor_camera_prop:s0
6 | vidhance. u:object_r:vendor_camera_prop:s0
7 |
8 | # Fingerprint
9 | persist.vendor.sys.fp. u:object_r:vendor_fp_prop:s0
10 | persist.vendor.fpc. u:object_r:vendor_fp_prop:s0
11 | persist.sys.fp. u:object_r:vendor_fp_prop:s0
12 | sys.fp. u:object_r:vendor_fp_prop:s0
13 | sys.vendor.fp. u:object_r:vendor_fp_prop:s0
14 |
15 | # IR
16 | ro.lirc.dev u:object_r:lirc_prop:s0
17 |
18 | # Miui
19 | ro.build.software.version u:object_r:exported_default_prop:s0
20 | ro.cust.test u:object_r:exported_default_prop:s0
21 | ro.fota.oem u:object_r:exported_default_prop:s0
22 | ro.miui. u:object_r:exported_default_prop:s0
23 | ro.product.mod_device u:object_r:exported_default_prop:s0
24 |
25 | # Mlipay
26 | persist.sys.ifaa u:object_r:ifaa_prop:s0
27 | persist.vendor.sys.pay. u:object_r:ifaa_prop:s0
28 |
29 | # Thermal
30 | sys.thermal. u:object_r:thermal_engine_prop:s0
31 | persist.sys.thermal. u:object_r:thermal_engine_prop:s0
32 |
33 | # Wifi Display
34 | persist.vendor.setWFDInfo. u:object_r:vendor_wfd_sys_debug_prop:s0
35 |
36 |
--------------------------------------------------------------------------------
/sepolicy/vendor/radio.te:
--------------------------------------------------------------------------------
1 | binder_call(radio, vendor_cnd)
2 |
3 | allow radio vendor_hal_datafactory_hwservice:hwservice_manager find;
4 | allow radio vendor_hal_iwlan_hwservice:hwservice_manager find;
5 |
6 | get_prop(radio, vendor_ims_prop)
7 |
--------------------------------------------------------------------------------
/sepolicy/vendor/system_app.te:
--------------------------------------------------------------------------------
1 | allow system_app vendor_hal_pasrmanager_qti:binder call;
2 | allow system_app sysfs_zram:dir search;
3 | allow system_app sysfs_zram:file { getattr open read };
4 | allow system_app wificond:binder call;
5 |
6 | hal_client_domain(system_app, vendor_hal_fm)
7 | allow system_app kcal_dev:dir search;
8 | allow system_app kcal_dev:file rw_file_perms;
9 | allow system_app sysfs_fcharge:file rw_file_perms;
10 | allow system_app sysfs_leds:dir search;
11 | allow system_app vibrator_dev:dir search;
12 | allow system_app vibrator_dev:file rw_file_perms;
13 |
--------------------------------------------------------------------------------
/sepolicy/vendor/system_server.te:
--------------------------------------------------------------------------------
1 | get_prop(system_server, vendor_camera_prop)
2 | get_prop(system_server, vendor_fp_prop)
3 | get_prop(system_server, vendor_persist_camera_prop)
4 |
5 | allow system_server sysfs_battery_supply:file { getattr open read write };
6 | allow system_server sysfs_usb_supply:file { getattr open read write };
7 |
--------------------------------------------------------------------------------
/sepolicy/vendor/tee.te:
--------------------------------------------------------------------------------
1 | allow tee fingerprint_data_file:dir create_dir_perms;
2 | allow tee fingerprint_data_file:file create_file_perms;
3 | allow tee self:capability dac_read_search;
4 |
--------------------------------------------------------------------------------
/sepolicy/vendor/ueventd.te:
--------------------------------------------------------------------------------
1 | allow ueventd kcal_dev:dir r_dir_perms;
2 | allow ueventd kcal_dev:file rw_file_perms;
3 | allow ueventd kcal_dev:lnk_file r_file_perms;
4 |
--------------------------------------------------------------------------------
/sepolicy/vendor/vendor_adsprpcd.te:
--------------------------------------------------------------------------------
1 | r_dir_file(vendor_adsprpcd, public_adsprpcd_file)
2 |
--------------------------------------------------------------------------------
/sepolicy/vendor/vendor_cdsprpcd.te:
--------------------------------------------------------------------------------
1 | r_dir_file(vendor_cdsprpcd, public_adsprpcd_file)
2 |
--------------------------------------------------------------------------------
/sepolicy/vendor/vendor_hal_neuralnetworks_default.te:
--------------------------------------------------------------------------------
1 | r_dir_file(vendor_hal_neuralnetworks_default, public_adsprpcd_file)
2 |
--------------------------------------------------------------------------------
/sepolicy/vendor/vendor_ims.te:
--------------------------------------------------------------------------------
1 | # disable logspam
2 | dontaudit vendor_ims vendor_diag_device:chr_file { read write };
3 |
--------------------------------------------------------------------------------
/sepolicy/vendor/vendor_init.te:
--------------------------------------------------------------------------------
1 | allow vendor_init proc_sched:file write;
2 |
3 | set_prop(vendor_init, vendor_persist_camera_prop)
4 | set_prop(vendor_init, vendor_camera_prop)
5 | set_prop(vendor_init, vendor_video_prop)
6 |
--------------------------------------------------------------------------------
/sepolicy/vendor/vendor_qti_init_shell.te:
--------------------------------------------------------------------------------
1 | allow vendor_qti_init_shell configfs:dir write;
2 | allow vendor_qti_init_shell sysfs:file write;
3 |
4 | # Persist context hack
5 | allow vendor_qti_init_shell vendor_persist_audio_file:dir { read open search getattr relabelfrom relabelto };
6 | allow vendor_qti_init_shell vendor_persist_sensors_file:dir { read open search getattr relabelfrom relabelto };
7 | allow vendor_qti_init_shell vendor_persist_sensors_file:file { read getattr relabelfrom relabelto };
8 | allow vendor_qti_init_shell vendor_persist_sensors_file:fifo_file { read getattr relabelfrom relabelto };
9 | allow vendor_qti_init_shell unlabeled:dir { read open search getattr relabelfrom relabelto };
10 | allow vendor_qti_init_shell unlabeled:file { read getattr relabelfrom relabelto };
11 | allow vendor_qti_init_shell unlabeled:fifo_file { read getattr relabelfrom relabelto };
12 |
--------------------------------------------------------------------------------
/sepolicy/vendor/vendor_thermal-engine.te:
--------------------------------------------------------------------------------
1 | allow vendor_thermal-engine thermal_data_file:dir rw_dir_perms;
2 | allow vendor_thermal-engine thermal_data_file:file create_file_perms;
3 | set_prop(vendor_thermal-engine, thermal_engine_prop)
4 |
--------------------------------------------------------------------------------
/setup-makefiles.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Copyright (C) 2016 The CyanogenMod Project
4 | # Copyright (C) 2017-2020 The LineageOS Project
5 | #
6 | # SPDX-License-Identifier: Apache-2.0
7 | #
8 |
9 | set -e
10 |
11 | DEVICE=ginkgo
12 | VENDOR=xiaomi
13 |
14 | # Load extract_utils and do some sanity checks
15 | MY_DIR="${BASH_SOURCE%/*}"
16 | if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
17 |
18 | ANDROID_ROOT="${MY_DIR}/../../.."
19 |
20 | HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
21 | if [ ! -f "${HELPER}" ]; then
22 | echo "Unable to find helper script at ${HELPER}"
23 | exit 1
24 | fi
25 | source "${HELPER}"
26 |
27 | # Initialize the helper
28 | setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}"
29 |
30 | # Warning headers and guards
31 | write_headers
32 |
33 | write_makefiles "${MY_DIR}/proprietary-files.txt" true
34 |
35 | # Finish
36 | write_footers
37 |
--------------------------------------------------------------------------------
/system_ext.prop:
--------------------------------------------------------------------------------
1 | # DPM
2 | persist.vendor.dpm.feature=11
3 |
--------------------------------------------------------------------------------
/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_intent=14
6 |
--------------------------------------------------------------------------------
/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 | hs20=1
8 | auto_interworking=0
9 | driver_param="use_p2p_group_interface=1 no_rrm=1"
10 | config_methods=virtual_display virtual_push_button keypad
11 |
--------------------------------------------------------------------------------