├── hidl └── fingerprint │ ├── qwerty.kl │ ├── android.hardware.biometrics.fingerprint@2.3-service.oplus.rc │ ├── android.hardware.biometrics.fingerprint@2.3-service.oplus.xml │ └── Android.bp ├── overlay ├── qssi │ ├── Android.bp │ ├── WifiResCommon │ │ ├── Android.bp │ │ └── AndroidManifest.xml │ ├── OPlusWifiResCommon │ │ ├── Android.bp │ │ └── AndroidManifest.xml │ ├── SystemUIResCommon │ │ ├── Android.bp │ │ ├── AndroidManifest.xml │ │ └── res │ │ │ └── values │ │ │ └── config.xml │ ├── TelephonyResCommon │ │ ├── Android.bp │ │ └── AndroidManifest.xml │ ├── FrameworksResCommon │ │ ├── Android.bp │ │ ├── AndroidManifest.xml │ │ └── res │ │ │ ├── values-mcc311-mnc480 │ │ │ ├── bools.xml │ │ │ └── config.xml │ │ │ ├── values-mcc310-mnc120 │ │ │ └── config.xml │ │ │ ├── values-mcc310-mnc260 │ │ │ └── config.xml │ │ │ ├── values-mcc310-mnc4 │ │ │ └── config.xml │ │ │ ├── values-mcc310-mnc410 │ │ │ └── config.xml │ │ │ ├── values-mcc460-mnc11 │ │ │ └── config.xml │ │ │ └── values-mcc460-mnc3 │ │ │ └── config.xml │ └── qssi.mk └── generic │ ├── Android.bp │ ├── FrameworksResGeneric │ ├── Android.bp │ ├── AndroidManifest.xml │ └── res │ │ └── values │ │ └── config.xml │ ├── SettingsProviderResGeneric │ ├── Android.bp │ ├── res │ │ └── values │ │ │ └── defaults.xml │ └── AndroidManifest.xml │ └── generic.mk ├── .clang-format ├── Pen ├── proguard.flags ├── res │ ├── values-ru │ │ └── strings.xml │ ├── values-zh-rCN │ │ └── strings.xml │ ├── values-ja │ │ └── strings.xml │ ├── values-iw │ │ └── strings.xml │ ├── values-vi │ │ └── strings.xml │ ├── values-cs │ │ └── strings.xml │ ├── values-en-rAU │ │ └── strings.xml │ ├── values-en-rCA │ │ └── strings.xml │ ├── values-en-rGB │ │ └── strings.xml │ ├── values-en-rIN │ │ └── strings.xml │ ├── values-fa │ │ └── strings.xml │ ├── values-ug │ │ └── strings.xml │ ├── values-az │ │ └── strings.xml │ ├── values-ca │ │ └── strings.xml │ ├── values-es │ │ └── strings.xml │ ├── values-fr │ │ └── strings.xml │ ├── values-ga-rIE │ │ └── strings.xml │ ├── values-it │ │ └── strings.xml │ ├── values-ka │ │ └── strings.xml │ ├── values-pl │ │ └── strings.xml │ ├── values-pt-rBR │ │ └── strings.xml │ ├── values-pt-rPT │ │ └── strings.xml │ ├── values-ro │ │ └── strings.xml │ ├── values-sl │ │ └── strings.xml │ ├── values-ta │ │ └── strings.xml │ ├── values-el │ │ └── strings.xml │ ├── values-bg │ │ └── strings.xml │ ├── values-hu │ │ └── strings.xml │ ├── values │ │ ├── config.xml │ │ └── strings.xml │ └── drawable │ │ └── ic_stylus.xml ├── default-permissions_org.lineageos.pen.xml ├── src │ └── org │ │ └── lineageos │ │ └── pen │ │ └── BootCompletedReceiver.kt └── Android.bp ├── Euicc ├── proguard.flags ├── hidden-api-whitelist-org.lineageos.euicc.xml ├── org.lineageos.euicc.xml ├── src │ └── org │ │ └── lineageos │ │ └── euicc │ │ ├── EuiccReceiver.kt │ │ └── BootCompletedReceiver.kt └── Android.bp ├── sepolicy └── qti │ ├── private │ ├── surfaceflinger.te │ ├── service.te │ ├── service_contexts │ ├── file_contexts │ ├── ifaa_app.te │ ├── pen_app.te │ ├── esim_switcher_app.te │ ├── seapp_contexts │ ├── horae.te │ ├── compat │ │ └── 202404 │ │ │ └── 202404.ignore.cil │ └── folio_daemon.te │ ├── vendor │ ├── kernel.te │ ├── mediacodec.te │ ├── ueventd.te │ ├── vndservicemanager.te │ ├── vendor_vppservice.te │ ├── vendor_qtelephony.te │ ├── init.te │ ├── vendor_wcnss_service.te │ ├── hal_bootctl.te │ ├── legacy-um │ │ ├── vndservice.te │ │ ├── vendor_hal_qteeconnector_qti.te │ │ ├── vendor_qti_init_shell.te │ │ ├── vndservice_contexts │ │ ├── genfs_contexts │ │ └── file_contexts │ ├── hal_ir_default.te │ ├── vendor_poweroffalarm_app.te │ ├── hal_vibrator_default.te │ ├── hal_lineage_powershare_default.te │ ├── hal_secure_element_default.te │ ├── attributes │ ├── hal_lineage_livedisplay_qti.te │ ├── sm8450 │ │ ├── vendor_agmservice_qti.te │ │ └── file_contexts │ ├── update_engine_common.te │ ├── common-um │ │ ├── rild.te │ │ ├── hal_fingerprint_default.te │ │ └── hal_fingerprintpay_oplus.te │ ├── system_server.te │ ├── hal_nfc_default.te │ ├── horae.te │ ├── vndservice.te │ ├── sm8550 │ │ └── file_contexts │ ├── vendor_thermal-engine.te │ ├── vndservice_contexts │ ├── hal_bluetooth_default.te │ ├── vendor_hal_perf_default.te │ ├── fastbootd.te │ ├── vendor_hal_imsrtp.te │ ├── tee.te │ ├── hal_feature_irisfeature_default.te │ ├── wlchgmonitor.te │ ├── vendor_mdm_helper.te │ ├── hal_lineage_touch_default.te │ ├── vendor_sensors.te │ ├── vendor_wvmkiller.te │ ├── nrmodeswitcher.te │ ├── vendor_rmt_storage.te │ ├── vendor_init.te │ ├── hal_power_default.te │ ├── rild.te │ ├── nvram_qmi.te │ ├── hal_oplus_osense_aidl.te │ ├── tri-state-key-calibrate.te │ ├── hal_oplus_commondcs_aidl.te │ ├── hal_oplus_pogo_keyboard_aidl.te │ ├── nvram.te │ ├── hal_oplus_project_aidl.te │ ├── vendor_qti_init_shell.te │ ├── hal_oplus_commcenter_aidl.te │ ├── vl53l1_daemon_main.te │ ├── hwservice.te │ ├── hal_audio_default.te │ ├── property.te │ ├── hal_sensors_default.te │ ├── hal_oplus_cammidasservice_aidl.te │ ├── hal_graphics_composer_default.te │ ├── hal_oplus_performance_aidl.te │ ├── hal_oplus_displaypanelfeature_aidl.te │ ├── hal_fingerprintpay_oplus.te │ ├── hal_oplus_touch_aidl.te │ ├── subsystem_daemon.te │ ├── hal_oplus_sensor_aidl.te │ ├── device.te │ └── vendor_hal_cameraMDM_default.te │ ├── public │ ├── type.te │ ├── file.te │ ├── service.te │ ├── te_macros │ ├── property.te │ └── attributes │ └── SEPolicy.mk ├── KeyHandler ├── proguard.flags ├── res │ ├── values-da │ │ └── strings.xml │ ├── values-fi │ │ └── strings.xml │ ├── values-ta │ │ └── strings.xml │ ├── values-sv │ │ └── strings.xml │ ├── values-in │ │ └── strings.xml │ ├── values │ │ └── arrays.xml │ ├── values-zh-rCN │ │ └── strings.xml │ ├── values-zh-rTW │ │ └── strings.xml │ ├── values-ja │ │ └── strings.xml │ └── values-ko │ │ └── strings.xml ├── tri-state-key-calibrate.rc ├── tri-state-key-calibrate.sh ├── src │ └── org │ │ └── lineageos │ │ └── settings │ │ └── device │ │ ├── ButtonSettingsFragment.kt │ │ └── ButtonSettingsActivity.kt └── Android.bp ├── eSimSwitcher ├── proguard.flags ├── org.lineageos.settings.esimswitcher.xml ├── res │ ├── xml │ │ └── esim_settings.xml │ ├── values-zh-rCN │ │ └── strings.xml │ ├── values-ja │ │ └── strings.xml │ ├── values-vi │ │ └── strings.xml │ ├── values-en-rAU │ │ └── strings.xml │ ├── values-en-rCA │ │ └── strings.xml │ ├── values-en-rGB │ │ └── strings.xml │ ├── values-en-rIN │ │ └── strings.xml │ ├── values-sl │ │ └── strings.xml │ ├── values │ │ └── strings.xml │ ├── values-hu │ │ └── strings.xml │ ├── values-it │ │ └── strings.xml │ ├── values-ka │ │ └── strings.xml │ ├── values-pl │ │ └── strings.xml │ ├── values-pt-rBR │ │ └── strings.xml │ ├── values-pt-rPT │ │ └── strings.xml │ ├── values-ug │ │ └── strings.xml │ ├── values-az │ │ └── strings.xml │ ├── values-ca │ │ └── strings.xml │ ├── values-ro │ │ └── strings.xml │ ├── values-bg │ │ └── strings.xml │ ├── values-fa │ │ └── strings.xml │ ├── values-ga-rIE │ │ └── strings.xml │ ├── values-ru │ │ └── strings.xml │ ├── values-fr │ │ └── strings.xml │ ├── values-ta │ │ └── strings.xml │ └── drawable │ │ └── ic_settings_esim.xml ├── Android.bp └── src │ └── org │ └── lineageos │ └── settings │ └── esimswitcher │ └── EsimSettingsActivity.kt ├── interfaces ├── aidl_api │ ├── vendor.oplus.hardware.charger │ │ ├── 1 │ │ │ └── .hash │ │ ├── 2 │ │ │ └── .hash │ │ ├── 3 │ │ │ └── .hash │ │ ├── 5 │ │ │ └── .hash │ │ ├── 6 │ │ │ └── .hash │ │ ├── 7 │ │ │ └── .hash │ │ └── 8 │ │ │ └── .hash │ ├── vendor.oplus.hardware.esim │ │ └── 1 │ │ │ └── .hash │ ├── vendor.oplus.hardware.olc2 │ │ ├── 1 │ │ │ └── .hash │ │ ├── 2 │ │ │ └── .hash │ │ └── 3 │ │ │ └── .hash │ ├── vendor.oplus.hardware.radio │ │ ├── 1 │ │ │ └── .hash │ │ └── 2 │ │ │ └── .hash │ ├── vendor.oplus.hardware.touch │ │ ├── 1 │ │ │ └── .hash │ │ └── 2 │ │ │ └── .hash │ ├── vendor.oplus.hardware.urcc │ │ └── 1 │ │ │ └── .hash │ ├── vendor.oplus.hardware.commondcs │ │ └── 1 │ │ │ └── .hash │ ├── vendor.oplus.hardware.osense.client │ │ └── 1 │ │ │ └── .hash │ ├── vendor.oplus.hardware.performance │ │ └── 1 │ │ │ └── .hash │ ├── vendor.oplus.hardware.displaypanelfeature │ │ └── 1 │ │ │ └── .hash │ ├── vendor.oplus.hardware.stability.oplus_project │ │ ├── 1 │ │ │ └── .hash │ │ ├── 2 │ │ │ └── .hash │ │ └── 3 │ │ │ └── .hash │ └── vendor.oplus.hardware.biometrics.fingerprintpay │ │ └── 1 │ │ └── .hash ├── update-makefiles.sh ├── aidl │ └── vendor │ │ └── oplus │ │ └── hardware │ │ ├── commondcs │ │ ├── StringPair.aidl │ │ └── ICommonDcsAidlHalService.aidl │ │ ├── olc2 │ │ ├── IGaiaEventListener.aidl │ │ ├── FileInfo.aidl │ │ ├── ExceptionRecord.aidl │ │ ├── StatusCode.aidl │ │ ├── ExceptionInfo.aidl │ │ └── IOplusLogCoreEventCallback.aidl │ │ ├── performance │ │ ├── OsvelteStatus.aidl │ │ ├── UploadType.aidl │ │ ├── ProcReqItemHal.aidl │ │ ├── OsvelteVersionRet.aidl │ │ ├── TaskGroup.aidl │ │ ├── TaskWakeInfo.aidl │ │ ├── ProcMemStatRet.aidl │ │ ├── ProcReqHal.aidl │ │ ├── ThreadInfo.aidl │ │ └── ProcMemStat.aidl │ │ ├── osense │ │ └── client │ │ │ ├── OsenseDataRange.aidl │ │ │ ├── OsenseCpuMIGData.aidl │ │ │ ├── OsenseAidlHalSaRequest.aidl │ │ │ ├── OsenseAidlHalNotifyRequest.aidl │ │ │ ├── OsenseCpuControlData.aidl │ │ │ ├── OsenseGpuControlData.aidl │ │ │ ├── OsenseControlInfo.aidl │ │ │ └── IOsenseAidlHalReporter.aidl │ │ ├── charger │ │ └── testKitFeatureTestResult.aidl │ │ ├── radio │ │ ├── OplusRadioResponseInfo.aidl │ │ ├── ConfigType.aidl │ │ ├── Oem_large_data_key_log_err_msg_type.aidl │ │ ├── OplusRadioIndicationType.aidl │ │ ├── Oem_log_packet_type.aidl │ │ ├── EccMode.aidl │ │ ├── OplusRadioResponseType.aidl │ │ ├── Oem_key_log_err_msg_type.aidl │ │ ├── CarrierIdentifier.aidl │ │ ├── Oplus_5g_band_type.aidl │ │ ├── EccEntryInfo.aidl │ │ ├── IOplusCarrierIdentifierIndication.aidl │ │ ├── Oplus_change_duration_type.aidl │ │ ├── IOplusCarrierIdentifierResponse.aidl │ │ ├── Oplus_5g_band_mask_type.aidl │ │ └── EccCatoryVal.aidl │ │ ├── touch │ │ ├── OplusTouchInfo.aidl │ │ └── IOplusTouch.aidl │ │ ├── urcc │ │ ├── UrccRequestData.aidl │ │ ├── IUrccCallback.aidl │ │ └── UrccRequestParcel.aidl │ │ ├── biometrics │ │ └── fingerprintpay │ │ │ ├── FPayStatusCode.aidl │ │ │ └── IFingerprintPay.aidl │ │ ├── esim │ │ └── IOplusEsim.aidl │ │ └── displaypanelfeature │ │ └── IDisplayPanelFeature.aidl └── oplus │ └── hardware │ ├── displaypanelfeature │ └── 1.0 │ │ ├── Android.bp │ │ └── IDisplayPanelFeature.hal │ └── biometrics │ └── fingerprint │ └── 2.1 │ ├── Android.bp │ └── IBiometricsFingerprintClientCallbackEx.hal ├── kernel-headers ├── Android.bp └── include │ └── oplus │ └── oplus_ir_core.h ├── nrmodeswitcher ├── nrmodeswitcher.rc └── Android.bp ├── aidl ├── touch │ ├── vendor.lineage.touch-service.oplus.rc │ ├── vendor.lineage.touch-service.oplus-gm.xml │ ├── vendor.lineage.touch-service.oplus-tg.xml │ ├── vendor.lineage.touch-service.oplus-htpr.xml │ ├── touch-headers │ │ └── OplusTouchConstants.h │ ├── TouchscreenGestureConfig.h │ ├── GloveMode.h │ └── HighTouchPollingRate.h ├── commondcs │ ├── vendor.oplus.hardware.commondcs-service.rc │ ├── vendor.oplus.hardware.commondcs-service.xml │ ├── Android.bp │ ├── CommonDcsAidlHalService.cpp │ ├── CommonDcsAidlHalService.h │ └── service.cpp ├── livedisplay │ ├── vendor.lineage.livedisplay-service.oplus.rc │ ├── vendor.lineage.livedisplay-service.oplus-af.xml │ ├── vendor.lineage.livedisplay-service.oplus-dm.xml │ ├── vendor.lineage.livedisplay-service.oplus-ab.xml │ ├── vendor.lineage.livedisplay-service.oplus-pa.xml │ ├── vendor.lineage.livedisplay-service.oplus-se.xml │ └── include │ │ └── livedisplay │ │ └── oplus │ │ ├── AntiFlicker.h │ │ ├── AdaptiveBacklight.h │ │ └── SunlightEnhancement.h ├── osense-client │ ├── vendor.oplus.hardware.osense.client-service.rc │ ├── vendor.oplus.hardware.osense.client-service.xml │ ├── Android.bp │ └── service.cpp ├── performance │ ├── vendor.oplus.hardware.performance-service.rc │ ├── vendor.oplus.hardware.performance-service.xml │ ├── Android.bp │ └── service.cpp ├── ir │ ├── android.hardware.ir-service.xml │ ├── android.hardware.ir-service.oplus.rc │ ├── Android.bp │ ├── ConsumerIr.h │ └── service.cpp ├── powershare │ ├── vendor.lineage.powershare-service.oplus.rc │ ├── vendor.lineage.powershare-service.oplus.xml │ ├── Android.bp │ ├── PowerShare.h │ └── service.cpp └── vibrator │ ├── qti │ ├── vendor.qti.hardware.vibrator.service.oplus.rc │ └── effect │ │ ├── Android.bp │ │ └── VibrationEffectLoader.h │ └── richtap │ ├── android.hardware.vibrator.service.oplus-richtap.xml │ ├── android.hardware.vibrator.service.oplus-richtap.rc │ ├── service.cpp │ └── Android.bp ├── oplus-fwk ├── oplus-fwk.mk ├── src │ ├── com │ │ ├── oplus │ │ │ ├── ims │ │ │ │ ├── IImsExt.aidl │ │ │ │ └── stub │ │ │ │ │ └── ImsServiceControllerExt.java │ │ │ ├── uifirst │ │ │ │ ├── IOplusUIFirstManager.java │ │ │ │ └── OplusUIFirstManager.java │ │ │ ├── internal │ │ │ │ └── evolution │ │ │ │ │ ├── INetworklessConsumer.java │ │ │ │ │ └── INetworklessCallback.java │ │ │ └── content │ │ │ │ └── OplusFeatureConfigManager.java │ │ └── android │ │ │ ├── telephony │ │ │ └── ims │ │ │ │ └── aidl │ │ │ │ └── IImsRil.aidl │ │ │ ├── ims │ │ │ └── IImsCallSessionImplWrapper.java │ │ │ └── internal │ │ │ └── telephony │ │ │ └── OplusFeature.java │ └── android │ │ ├── common │ │ ├── IOplusCommonFeature.java │ │ └── OplusFrameworkFactory.java │ │ └── telephony │ │ └── OplusTelephonyManager.java └── Android.bp ├── doze ├── proguard.flags ├── Android.bp ├── src │ └── org │ │ └── lineageos │ │ └── settings │ │ └── doze │ │ ├── BootCompletedReceiver.kt │ │ └── DozeSettingsActivity.kt └── res │ ├── drawable │ ├── ic_pickup.xml │ └── ic_pocket.xml │ └── values │ └── config.xml ├── IFAAService ├── res │ └── values │ │ └── strings.xml ├── Android.bp ├── src │ └── org │ │ └── ifaa │ │ └── aidl │ │ └── manager │ │ └── IfaaManagerService.aidl └── AndroidManifest.xml ├── usb └── Android.bp ├── folio-daemon ├── folio_daemon.rc └── Android.bp ├── uah-client └── Android.bp ├── wvmkiller ├── wvmkiller.rc └── Android.bp ├── fingerprint └── Android.bp ├── Android.bp ├── power └── Android.bp └── sensors └── Android.bp /hidl/fingerprint/qwerty.kl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /overlay/qssi/Android.bp: -------------------------------------------------------------------------------- 1 | soong_namespace { 2 | } 3 | -------------------------------------------------------------------------------- /.clang-format: -------------------------------------------------------------------------------- 1 | ../../build/soong/scripts/system-clang-format -------------------------------------------------------------------------------- /overlay/generic/Android.bp: -------------------------------------------------------------------------------- 1 | soong_namespace { 2 | } 3 | -------------------------------------------------------------------------------- /Pen/proguard.flags: -------------------------------------------------------------------------------- 1 | -keep class org.lineageos.pen.* { 2 | *; 3 | } 4 | -------------------------------------------------------------------------------- /Euicc/proguard.flags: -------------------------------------------------------------------------------- 1 | -keep class org.lineageos.euicc.* { 2 | *; 3 | } 4 | -------------------------------------------------------------------------------- /sepolicy/qti/private/surfaceflinger.te: -------------------------------------------------------------------------------- 1 | binder_call(surfaceflinger, horae) 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/kernel.te: -------------------------------------------------------------------------------- 1 | allow kernel vendor_file:file r_file_perms; 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/mediacodec.te: -------------------------------------------------------------------------------- 1 | set_prop(mediacodec, vendor_video_prop) 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/ueventd.te: -------------------------------------------------------------------------------- 1 | rw_dir_file(ueventd, vendor_persist_display_file) 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vndservicemanager.te: -------------------------------------------------------------------------------- 1 | binder_call(vndservicemanager, vendor_cnd) 2 | -------------------------------------------------------------------------------- /KeyHandler/proguard.flags: -------------------------------------------------------------------------------- 1 | -keep class org.lineageos.settings.device.* { 2 | *; 3 | } 4 | -------------------------------------------------------------------------------- /sepolicy/qti/public/type.te: -------------------------------------------------------------------------------- 1 | # Horae 2 | type horae, domain, mlstrustedobject, coredomain; 3 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_vppservice.te: -------------------------------------------------------------------------------- 1 | get_prop(vendor_vppservice, vendor_display_prop) 2 | -------------------------------------------------------------------------------- /eSimSwitcher/proguard.flags: -------------------------------------------------------------------------------- 1 | -keep class org.lineageos.settings.esimswitcher.* { 2 | *; 3 | } 4 | -------------------------------------------------------------------------------- /sepolicy/qti/public/file.te: -------------------------------------------------------------------------------- 1 | # Engineering 2 | type vendor_persist_engineer_file, file_type; 3 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_qtelephony.te: -------------------------------------------------------------------------------- 1 | set_prop(vendor_qtelephony, system_oplus_radio_prop) 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.charger/1/.hash: -------------------------------------------------------------------------------- 1 | f5b7e586df4d7e58cf547d6f81731b69e128bbe1 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.charger/2/.hash: -------------------------------------------------------------------------------- 1 | a41b38d964ed21d7edcb4a1c29454c7c969b733b 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.charger/3/.hash: -------------------------------------------------------------------------------- 1 | 94b22213920f83dfdbc7a6b53c0de919dc12eafc 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.charger/5/.hash: -------------------------------------------------------------------------------- 1 | 08c9338f46f14f1f9d7506d3e0801baa6f8cf7d8 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.charger/6/.hash: -------------------------------------------------------------------------------- 1 | 8f23efe319a4b048ccfa90d86cdfc67a495e1b6f 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.charger/7/.hash: -------------------------------------------------------------------------------- 1 | 6c65540de0cc5d1dadd05e1b8087e7ed3d535b87 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.charger/8/.hash: -------------------------------------------------------------------------------- 1 | 9776c52c1685db9934a5d1e69064471a2cd53c9f 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.esim/1/.hash: -------------------------------------------------------------------------------- 1 | 746351b7cfae299fbc8cbcd2740aae8f5c0d7071 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.olc2/1/.hash: -------------------------------------------------------------------------------- 1 | bb7fb312b7196dcfe210468e8f19730d2a44bc76 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.olc2/2/.hash: -------------------------------------------------------------------------------- 1 | 4381ea53b195add2568619b251c40548f2bd6d14 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.olc2/3/.hash: -------------------------------------------------------------------------------- 1 | 7bc833a760c59b6cdb9bf8cfb6171dd679c17649 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.radio/1/.hash: -------------------------------------------------------------------------------- 1 | 740da424c9929e602aab88a6a711ff8ee9d3d448 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.radio/2/.hash: -------------------------------------------------------------------------------- 1 | 73ad1c2fab071f2f0ea514be005703988b126fbe 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.touch/1/.hash: -------------------------------------------------------------------------------- 1 | 96d841410c418efe125914cb06730209b5fb78fe 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.touch/2/.hash: -------------------------------------------------------------------------------- 1 | ba896653ea356edaec80eb3dfeafefdc9b5c26ac 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.urcc/1/.hash: -------------------------------------------------------------------------------- 1 | c8a4bdf08063778d17708dcd7dafbb2c43d57eb7 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/init.te: -------------------------------------------------------------------------------- 1 | allow init vendor_reserve_partition:{ blk_file lnk_file } relabelto; 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_wcnss_service.te: -------------------------------------------------------------------------------- 1 | create_dir_file(vendor_wcnss_service, mnt_vendor_file) 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.commondcs/1/.hash: -------------------------------------------------------------------------------- 1 | 09625174a36ecef0c9ef003e2a4efbdecd0d4657 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.osense.client/1/.hash: -------------------------------------------------------------------------------- 1 | f2f84fb4f333781b052895cec8412ff6bbe04680 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.performance/1/.hash: -------------------------------------------------------------------------------- 1 | bff14a2c55baa756bb67380269dbe2e8c11f6340 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_bootctl.te: -------------------------------------------------------------------------------- 1 | allow hal_bootctl vendor_modem_efs_partition_device:blk_file getattr; 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/legacy-um/vndservice.te: -------------------------------------------------------------------------------- 1 | # QTEE 2 | type vendor_qms_service, vndservice_manager_type; 3 | -------------------------------------------------------------------------------- /sepolicy/qti/private/service.te: -------------------------------------------------------------------------------- 1 | # Horae 2 | type horae_service, system_api_service, service_manager_type; 3 | -------------------------------------------------------------------------------- /sepolicy/qti/public/service.te: -------------------------------------------------------------------------------- 1 | # OSENSE 2 | type osense_service, system_server_service, service_manager_type; 3 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_ir_default.te: -------------------------------------------------------------------------------- 1 | allow hal_ir_default oplus_consumer_ir_device:chr_file rw_file_perms; 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_poweroffalarm_app.te: -------------------------------------------------------------------------------- 1 | allow vendor_poweroffalarm_app mnt_vendor_file:dir search; 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.displaypanelfeature/1/.hash: -------------------------------------------------------------------------------- 1 | 2a77fa43b874c191dea05b1585626a634d85ad6d 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.stability.oplus_project/1/.hash: -------------------------------------------------------------------------------- 1 | 500ed6d747f9e566b087eba3f458bfdacee67518 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.stability.oplus_project/2/.hash: -------------------------------------------------------------------------------- 1 | 8ebc89b4e0aefb3d466a72835fd8d4a71ee670af 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.stability.oplus_project/3/.hash: -------------------------------------------------------------------------------- 1 | 6fbf62239f7bfa33fa0c12f641d2d4d21b020a99 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_vibrator_default.te: -------------------------------------------------------------------------------- 1 | allow hal_vibrator_default aac_richtap_device:chr_file rw_file_perms; 2 | -------------------------------------------------------------------------------- /interfaces/aidl_api/vendor.oplus.hardware.biometrics.fingerprintpay/1/.hash: -------------------------------------------------------------------------------- 1 | f0a7eca870de0f63fa5941b96eec77aaeba14062 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_lineage_powershare_default.te: -------------------------------------------------------------------------------- 1 | rw_dir_file(hal_lineage_powershare_default, vendor_proc_wireless) 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_secure_element_default.te: -------------------------------------------------------------------------------- 1 | allow hal_secure_element_default nfc_device:chr_file rw_file_perms; 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/attributes: -------------------------------------------------------------------------------- 1 | # Reserve 2 | attribute oplus_reserve_file_type; 3 | attribute oplus_reserve_radio_file_type; 4 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_lineage_livedisplay_qti.te: -------------------------------------------------------------------------------- 1 | allow hal_lineage_livedisplay_qti graphics_device:chr_file rw_file_perms; 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/legacy-um/vendor_hal_qteeconnector_qti.te: -------------------------------------------------------------------------------- 1 | add_service(vendor_hal_qteeconnector_qti, vendor_qms_service) 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/sm8450/vendor_agmservice_qti.te: -------------------------------------------------------------------------------- 1 | hal_client_domain(vendor_agmservice_qti, vendor_hal_oplus_performance) 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/legacy-um/vendor_qti_init_shell.te: -------------------------------------------------------------------------------- 1 | create_dir_file(vendor_qti_init_shell, vendor_persist_wcnss_service_file) 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/update_engine_common.te: -------------------------------------------------------------------------------- 1 | allow update_engine_common vendor_modem_efs_partition_device:blk_file rw_file_perms; 2 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/common-um/rild.te: -------------------------------------------------------------------------------- 1 | allow rild vendor_qms_service:service_manager find; 2 | 3 | hal_client_domain(rild, vendor_hal_qms_qti) 4 | -------------------------------------------------------------------------------- /kernel-headers/Android.bp: -------------------------------------------------------------------------------- 1 | cc_library_headers { 2 | name: "kernel_headers.oplus", 3 | export_include_dirs: ["include"], 4 | vendor: true, 5 | } 6 | -------------------------------------------------------------------------------- /sepolicy/qti/private/service_contexts: -------------------------------------------------------------------------------- 1 | # Horae 2 | horae u:object_r:horae_service:s0 3 | 4 | # OSENSE 5 | osensemanager u:object_r:osense_service:s0 6 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/system_server.te: -------------------------------------------------------------------------------- 1 | rw_dir_file(system_server, vendor_proc_oplus_scheduler) 2 | rw_dir_file(system_server, vendor_proc_tri_state_key) 3 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_nfc_default.te: -------------------------------------------------------------------------------- 1 | allow hal_nfc_default vendor_nfc_vendor_data_file:dir search; 2 | 3 | set_prop(hal_nfc_default, vendor_nfc_nq_prop) 4 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/legacy-um/vndservice_contexts: -------------------------------------------------------------------------------- 1 | # QTEE 2 | com.qualcomm.qti.qms.service.trustzoneaccess.GetClientAppInfo u:object_r:vendor_qms_service:s0 3 | -------------------------------------------------------------------------------- /nrmodeswitcher/nrmodeswitcher.rc: -------------------------------------------------------------------------------- 1 | service vendor.nrmodeswitcher /vendor/bin/nrmodeswitcher 2 | class late_start 3 | user radio 4 | group radio 5 | oneshot 6 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/horae.te: -------------------------------------------------------------------------------- 1 | hal_client_domain(horae, vendor_hal_oplus_charger) 2 | 3 | r_dir_file(horae, vendor_proc_oplus_version) 4 | rw_dir_file(horae, proc_horae) 5 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vndservice.te: -------------------------------------------------------------------------------- 1 | # Display 2 | type dpa_service, vndservice_manager_type; 3 | 4 | # Touch 5 | type touchDeamonBinder_service, vndservice_manager_type; 6 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/sm8550/file_contexts: -------------------------------------------------------------------------------- 1 | # eSE 2 | /(odm|vendor/odm)/bin/hw/vendor\.qti\.esepowermanager@1\.1-service u:object_r:vendor_hal_esepowermanager_qti_exec:s0 3 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_thermal-engine.te: -------------------------------------------------------------------------------- 1 | r_dir_file(vendor_thermal-engine, vendor_sysfs_usb_supply) 2 | 3 | set_prop(vendor_thermal-engine, vendor_thermal_engine_prop) 4 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vndservice_contexts: -------------------------------------------------------------------------------- 1 | # Display 2 | dpa.service u:object_r:dpa_service:s0 3 | 4 | # Touch 5 | touchDeamonBinder u:object_r:touchDeamonBinder_service:s0 6 | -------------------------------------------------------------------------------- /Euicc/hidden-api-whitelist-org.lineageos.euicc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /aidl/touch/vendor.lineage.touch-service.oplus.rc: -------------------------------------------------------------------------------- 1 | service vendor.touch-hal /vendor/bin/hw/vendor.lineage.touch-service.oplus 2 | class hal 3 | user system 4 | group system 5 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_bluetooth_default.te: -------------------------------------------------------------------------------- 1 | hal_client_domain(hal_bluetooth_default, vendor_hal_oplus_project) 2 | 3 | r_dir_file(hal_bluetooth_default, vendor_proc_oplus_version) 4 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_hal_perf_default.te: -------------------------------------------------------------------------------- 1 | hal_client_domain(vendor_hal_perf_default, vendor_hal_oplus_urcc) 2 | 3 | r_dir_file(vendor_hal_perf_default, vendor_sysfs_usb_supply) 4 | -------------------------------------------------------------------------------- /sepolicy/qti/private/file_contexts: -------------------------------------------------------------------------------- 1 | # Folio daemon 2 | /system_ext/bin/folio-daemon u:object_r:folio_daemon_exec:s0 3 | 4 | # Horae 5 | /system_ext/bin/horae u:object_r:horae_exec:s0 6 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/legacy-um/genfs_contexts: -------------------------------------------------------------------------------- 1 | # Wakeup (https://lkml.org/lkml/2019/8/6/1275) 2 | genfscon sysfs /devices/platform/soc/990000.i2c/i2c-9/9-004b/wakeup u:object_r:sysfs_wakeup:s0 3 | -------------------------------------------------------------------------------- /aidl/commondcs/vendor.oplus.hardware.commondcs-service.rc: -------------------------------------------------------------------------------- 1 | service vendor.commondcs /vendor/bin/hw/vendor.oplus.hardware.commondcs-service 2 | class hal 3 | user system 4 | group system 5 | -------------------------------------------------------------------------------- /oplus-fwk/oplus-fwk.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2024 The LineageOS Project 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | PRODUCT_PACKAGES += oplus-fwk 8 | PRODUCT_BOOT_JARS += oplus-fwk 9 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/fastbootd.te: -------------------------------------------------------------------------------- 1 | recovery_only(` 2 | allow fastbootd vendor_efs_boot_dev:blk_file rw_file_perms; 3 | allow fastbootd vendor_modem_efs_partition_device:blk_file rw_file_perms; 4 | ') 5 | -------------------------------------------------------------------------------- /interfaces/update-makefiles.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | source $ANDROID_BUILD_TOP/system/tools/hidl/update-makefiles-helper.sh 4 | 5 | do_makefiles_update \ 6 | "vendor.oplus:hardware/oplus/interfaces/oplus" 7 | -------------------------------------------------------------------------------- /aidl/livedisplay/vendor.lineage.livedisplay-service.oplus.rc: -------------------------------------------------------------------------------- 1 | service vendor.livedisplay-hal /vendor/bin/hw/vendor.lineage.livedisplay-service.oplus 2 | class late_start 3 | user system 4 | group system 5 | -------------------------------------------------------------------------------- /aidl/osense-client/vendor.oplus.hardware.osense.client-service.rc: -------------------------------------------------------------------------------- 1 | service vendor.osense_client /vendor/bin/hw/vendor.oplus.hardware.osense.client-service 2 | class hal 3 | user system 4 | group system 5 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_hal_imsrtp.te: -------------------------------------------------------------------------------- 1 | add_service(vendor_hal_imsrtp, hal_imsrtp_service) 2 | 3 | hal_client_domain(vendor_hal_imsrtp, vendor_hal_subsys) 4 | 5 | get_prop(vendor_hal_imsrtp, boot_status_prop) 6 | -------------------------------------------------------------------------------- /aidl/performance/vendor.oplus.hardware.performance-service.rc: -------------------------------------------------------------------------------- 1 | service oplus.performance.hal.service /vendor/bin/hw/vendor.oplus.hardware.performance-service 2 | class hal 3 | user system 4 | group system 5 | -------------------------------------------------------------------------------- /oplus-fwk/src/com/oplus/ims/IImsExt.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package com.oplus.ims; 7 | 8 | interface IImsExt { 9 | } 10 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/tee.te: -------------------------------------------------------------------------------- 1 | allow tee vendor_gpt_block_device:blk_file read; 2 | 3 | allow tee vendor_persist_fingerprint_file:dir create_dir_perms; 4 | allow tee vendor_persist_fingerprint_file:file create_file_perms; 5 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/common-um/hal_fingerprint_default.te: -------------------------------------------------------------------------------- 1 | allow hal_fingerprint_default vendor_dmabuf_qseecom_heap_device:chr_file r_file_perms; 2 | allow hal_fingerprint_default vendor_dmabuf_qseecom_ta_heap_device:chr_file r_file_perms; 3 | -------------------------------------------------------------------------------- /overlay/qssi/WifiResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "WifiResCommon", 8 | vendor: true, 9 | } 10 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/common-um/hal_fingerprintpay_oplus.te: -------------------------------------------------------------------------------- 1 | allow hal_fingerprintpay_oplus vendor_dmabuf_qseecom_heap_device:chr_file r_file_perms; 2 | allow hal_fingerprintpay_oplus vendor_dmabuf_qseecom_ta_heap_device:chr_file r_file_perms; 3 | -------------------------------------------------------------------------------- /hidl/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.oplus.rc: -------------------------------------------------------------------------------- 1 | service vendor.fps_hal_oplus /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.3-service.oplus 2 | class late_start 3 | user system 4 | group system 5 | -------------------------------------------------------------------------------- /oplus-fwk/src/com/android/telephony/ims/aidl/IImsRil.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package android.telephony.ims.aidl; 7 | 8 | interface IImsRil { 9 | } 10 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_feature_irisfeature_default.te: -------------------------------------------------------------------------------- 1 | type hal_feature_irisfeature_default, domain; 2 | 3 | type hal_feature_irisfeature_default_exec, exec_type, vendor_file_type, file_type; 4 | init_daemon_domain(hal_feature_irisfeature_default) 5 | -------------------------------------------------------------------------------- /overlay/qssi/OPlusWifiResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "OPlusWifiResCommon", 8 | vendor: true, 9 | } 10 | -------------------------------------------------------------------------------- /overlay/qssi/SystemUIResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "SystemUIResCommon", 8 | vendor: true, 9 | } 10 | -------------------------------------------------------------------------------- /overlay/qssi/TelephonyResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "TelephonyResCommon", 8 | vendor: true, 9 | } 10 | -------------------------------------------------------------------------------- /overlay/qssi/FrameworksResCommon/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "FrameworksResCommon", 8 | vendor: true, 9 | } 10 | -------------------------------------------------------------------------------- /aidl/ir/android.hardware.ir-service.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | android.hardware.ir 4 | 1 5 | IConsumerIr/default 6 | 7 | 8 | -------------------------------------------------------------------------------- /overlay/generic/FrameworksResGeneric/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2023 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "FrameworksResGeneric", 8 | vendor: true, 9 | } 10 | -------------------------------------------------------------------------------- /doze/proguard.flags: -------------------------------------------------------------------------------- 1 | -keepclasseswithmembers class * { 2 | public (android.content.Context, android.util.AttributeSet); 3 | } 4 | 5 | -keep class ** extends androidx.preference.PreferenceFragment 6 | -keep class org.lineageos.settings.doze.* { 7 | *; 8 | } 9 | -------------------------------------------------------------------------------- /aidl/powershare/vendor.lineage.powershare-service.oplus.rc: -------------------------------------------------------------------------------- 1 | on init 2 | chown system system /proc/wireless/enable_tx 3 | 4 | service vendor.powershare-hal /vendor/bin/hw/vendor.lineage.powershare-service.oplus 5 | class hal 6 | user system 7 | group system 8 | -------------------------------------------------------------------------------- /overlay/generic/SettingsProviderResGeneric/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2023 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | runtime_resource_overlay { 7 | name: "SettingsProviderResGeneric", 8 | vendor: true, 9 | } 10 | -------------------------------------------------------------------------------- /sepolicy/qti/private/ifaa_app.te: -------------------------------------------------------------------------------- 1 | type ifaa_app, domain, coredomain; 2 | 3 | app_domain(ifaa_app) 4 | hal_client_domain(ifaa_app, vendor_hal_fingerprintpay) 5 | 6 | allow ifaa_app app_api_service:service_manager find; 7 | 8 | get_prop(ifaa_app, system_fingerprint_prop) 9 | -------------------------------------------------------------------------------- /sepolicy/qti/private/pen_app.te: -------------------------------------------------------------------------------- 1 | type pen_app, domain, coredomain; 2 | 3 | app_domain(pen_app) 4 | bluetooth_domain(pen_app) 5 | 6 | allow pen_app self:netlink_kobject_uevent_socket { create read setopt bind }; 7 | 8 | allow pen_app app_api_service:service_manager find; 9 | -------------------------------------------------------------------------------- /KeyHandler/res/values-da/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Ingen 8 | 9 | -------------------------------------------------------------------------------- /aidl/touch/vendor.lineage.touch-service.oplus-gm.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.lineage.touch 4 | 1 5 | IGloveMode/default 6 | 7 | 8 | -------------------------------------------------------------------------------- /IFAAService/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | IFAAService 8 | 9 | -------------------------------------------------------------------------------- /KeyHandler/tri-state-key-calibrate.rc: -------------------------------------------------------------------------------- 1 | service vendor.tri-state-key-calibrate /vendor/bin/tri-state-key-calibrate 2 | class main 3 | user system 4 | group system 5 | oneshot 6 | disabled 7 | 8 | on post-fs-data 9 | start vendor.tri-state-key-calibrate 10 | -------------------------------------------------------------------------------- /aidl/touch/vendor.lineage.touch-service.oplus-tg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.lineage.touch 4 | 1 5 | ITouchscreenGesture/default 6 | 7 | 8 | -------------------------------------------------------------------------------- /Pen/res/values-ru/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Нажмите, чтобы подключить 8 | 9 | -------------------------------------------------------------------------------- /aidl/powershare/vendor.lineage.powershare-service.oplus.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.lineage.powershare 4 | 1 5 | IPowerShare/default 6 | 7 | 8 | -------------------------------------------------------------------------------- /aidl/touch/vendor.lineage.touch-service.oplus-htpr.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.lineage.touch 4 | 1 5 | IHighTouchPollingRate/default 6 | 7 | 8 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/wlchgmonitor.te: -------------------------------------------------------------------------------- 1 | type wlchgmonitor, domain; 2 | type wlchgmonitor_exec, exec_type, vendor_file_type, file_type; 3 | 4 | init_daemon_domain(wlchgmonitor) 5 | 6 | allow wlchgmonitor kmsg_device:chr_file rw_file_perms; 7 | allow wlchgmonitor wlchg_device:chr_file rw_file_perms; 8 | -------------------------------------------------------------------------------- /aidl/performance/vendor.oplus.hardware.performance-service.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.oplus.hardware.performance 4 | 1 5 | IPerformance/default 6 | 7 | 8 | -------------------------------------------------------------------------------- /overlay/generic/generic.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2023 The LineageOS Project 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | PRODUCT_PACKAGES += \ 8 | FrameworksResGeneric \ 9 | SettingsProviderResGeneric 10 | 11 | PRODUCT_SOONG_NAMESPACES += \ 12 | $(LOCAL_PATH) 13 | -------------------------------------------------------------------------------- /sepolicy/qti/public/te_macros: -------------------------------------------------------------------------------- 1 | ##################################### 2 | # vendor_hal_attribute(hal_name) 3 | # Add an attribute for vendor hal implementations. 4 | define(`vendor_hal_attribute', ` 5 | attribute vendor_hal_$1; 6 | attribute vendor_hal_$1_client; 7 | attribute vendor_hal_$1_server; 8 | ') 9 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_mdm_helper.te: -------------------------------------------------------------------------------- 1 | allow vendor_mdm_helper vendor_modem_efs_partition_device:blk_file rw_file_perms; 2 | 3 | r_dir_file(vendor_mdm_helper, vendor_proc_engineer) 4 | r_dir_file(vendor_mdm_helper, vendor_proc_oplus_version) 5 | 6 | set_prop(vendor_mdm_helper, vendor_modem_prop) 7 | -------------------------------------------------------------------------------- /aidl/commondcs/vendor.oplus.hardware.commondcs-service.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.oplus.hardware.commondcs 4 | 1 5 | ICommonDcsAidlHalService/default 6 | 7 | 8 | -------------------------------------------------------------------------------- /usb/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // SPDX-FileCopyrightText: The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | prebuilt_etc { 7 | name: "oplus_usb_compositions.conf", 8 | src: "usb_compositions.conf", 9 | filename_from_src: true, 10 | device_specific: true, 11 | } 12 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_lineage_touch_default.te: -------------------------------------------------------------------------------- 1 | allow hal_lineage_touch_default hal_oplus_touch_aidl_service:service_manager find; 2 | 3 | binder_call(hal_lineage_touch_default, hal_oplus_touch_aidl) 4 | binder_use(hal_lineage_touch_default) 5 | 6 | rw_dir_file(hal_lineage_touch_default, vendor_proc_display) 7 | -------------------------------------------------------------------------------- /aidl/osense-client/vendor.oplus.hardware.osense.client-service.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.oplus.hardware.osense.client 4 | 1 5 | IOsenseAidlHalReporter/default 6 | 7 | 8 | -------------------------------------------------------------------------------- /oplus-fwk/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2024 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | java_library { 8 | name: "oplus-fwk", 9 | installable: true, 10 | 11 | srcs: [ 12 | "src/**/*.aidl", 13 | "src/**/*.java", 14 | ], 15 | } 16 | -------------------------------------------------------------------------------- /oplus-fwk/src/com/android/ims/IImsCallSessionImplWrapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package com.android.ims; 7 | 8 | public interface IImsCallSessionImplWrapper { 9 | default void unMuteStateReporting() {} 10 | } 11 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/legacy-um/file_contexts: -------------------------------------------------------------------------------- 1 | # eSE 2 | /(odm|vendor/odm)/bin/hw/vendor\.qti\.esepowermanager@1\.1-service u:object_r:vendor_hal_esepowermanager_qti_exec:s0 3 | 4 | # Widevine 5 | /(odm|vendor/odm)/bin/hw/android\.hardware\.drm@1\.[0-4]+-service\.widevine u:object_r:vendor_hal_drm_widevine_exec:s0 6 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/sm8450/file_contexts: -------------------------------------------------------------------------------- 1 | # eSE 2 | /(odm|vendor/odm)/bin/hw/vendor\.qti\.esepowermanager@1\.1-service u:object_r:vendor_hal_esepowermanager_qti_exec:s0 3 | 4 | # Widevine 5 | /(odm|vendor/odm)/bin/hw/android\.hardware\.drm@1\.[0-4]+-service\.widevine u:object_r:vendor_hal_drm_widevine_exec:s0 6 | -------------------------------------------------------------------------------- /eSimSwitcher/org.lineageos.settings.esimswitcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /folio-daemon/folio_daemon.rc: -------------------------------------------------------------------------------- 1 | service folio-daemon /system_ext/bin/folio-daemon 2 | class late_start 3 | user system 4 | group system uhid 5 | disabled 6 | 7 | on property:init.svc.zygote=running 8 | start folio-daemon 9 | 10 | on property:init.svc.zygote=stopped 11 | stop folio-daemon 12 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_sensors.te: -------------------------------------------------------------------------------- 1 | rw_dir_file(vendor_sensors, vendor_persist_camera_file) 2 | rw_dir_file(vendor_sensors, vendor_persist_engineer_file) 3 | rw_dir_file(vendor_sensors, vendor_proc_eng_cali_file) 4 | rw_dir_file(vendor_sensors, vendor_proc_oplus_version) 5 | rw_dir_file(vendor_sensors, vendor_sysfs_sensor_fb) 6 | -------------------------------------------------------------------------------- /Pen/res/values-zh-rCN/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 笔已连接 8 | 轻触以连接 9 | 10 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/commondcs/StringPair.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2025 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.commondcs; 8 | 9 | @VintfStability 10 | parcelable StringPair { 11 | String key; 12 | String value; 13 | } 14 | -------------------------------------------------------------------------------- /oplus-fwk/src/com/oplus/uifirst/IOplusUIFirstManager.java: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package com.oplus.uifirst; 7 | 8 | public interface IOplusUIFirstManager { 9 | default void setBinderThreadUxFlag(int pid, int flag) {} 10 | } 11 | -------------------------------------------------------------------------------- /uah-client/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | cc_library_shared { 7 | name: "liboplus-uah-client", 8 | device_specific: true, 9 | srcs: [ 10 | "uah-client.c", 11 | ], 12 | compile_multilib: "64", 13 | } 14 | -------------------------------------------------------------------------------- /wvmkiller/wvmkiller.rc: -------------------------------------------------------------------------------- 1 | on property:vendor.wvm.disable_l1=1 2 | export FORCE_LEVEL3_OEMCRYPTO yes 3 | restart vendor.drm-widevine-hal-1-3 4 | restart vendor.drm-widevine-hal-1-4 5 | 6 | service vendor.wvmkiller /vendor/bin/wvmkiller 7 | class late_start 8 | user system 9 | group system 10 | oneshot 11 | -------------------------------------------------------------------------------- /Pen/res/values-ja/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | ペンを装着しました 8 | タップして接続 9 | 10 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/olc2/IGaiaEventListener.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.olc2; 7 | 8 | @VintfStability 9 | interface IGaiaEventListener { 10 | void onGaiaEvent(in byte[] event); 11 | } 12 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/performance/OsvelteStatus.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.performance; 7 | 8 | @VintfStability 9 | enum OsvelteStatus { 10 | SUCCESS = 0, 11 | FAILED = 1, 12 | } 13 | -------------------------------------------------------------------------------- /KeyHandler/tri-state-key-calibrate.sh: -------------------------------------------------------------------------------- 1 | #!/vendor/bin/sh 2 | if [[ -f /mnt/vendor/persist/engineermode/tri_state_hall_data ]]; then 3 | CALIBRATION_DATA="$(cat /mnt/vendor/persist/engineermode/tri_state_hall_data)" 4 | CALIBRATION_DATA="${CALIBRATION_DATA//;/,}" 5 | echo -n $CALIBRATION_DATA > /proc/tristatekey/hall_data_calib 6 | fi 7 | -------------------------------------------------------------------------------- /Pen/res/values-iw/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | עט מצורף 8 | נגיעה להתחברות 9 | 10 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/osense/client/OsenseDataRange.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.osense.client; 8 | 9 | @VintfStability 10 | parcelable OsenseDataRange { 11 | int max; 12 | int min; 13 | } 14 | -------------------------------------------------------------------------------- /Pen/res/values-vi/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Đã gắn bút 8 | Chạm để kết nối 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-cs/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Pero připojeno 8 | Klepnutím připojit 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-en-rAU/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Pen attached 8 | Tap to connect 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-en-rCA/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Pen attached 8 | Tap to connect 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-en-rGB/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Pen attached 8 | Tap to connect 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-en-rIN/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Pen attached 8 | Tap to connect 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-fa/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | قلم متصل شد 8 | برای اتصال ضربه بزنید 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-ug/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | قەلەم ئۇلاندى 8 | چېكىلسە باغلىنىدۇ 9 | 10 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.charger; 7 | 8 | @VintfStability 9 | parcelable testKitFeatureTestResult { 10 | int ret; 11 | String str; 12 | } 13 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/osense/client/OsenseCpuMIGData.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.osense.client; 8 | 9 | @VintfStability 10 | parcelable OsenseCpuMIGData { 11 | int migUp; 12 | int migDown; 13 | } 14 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/performance/UploadType.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.performance; 7 | 8 | @VintfStability 9 | enum UploadType { 10 | PRIMITIVE = 0, 11 | DELTA = 1, 12 | SKIP = 2, 13 | } 14 | -------------------------------------------------------------------------------- /Euicc/org.lineageos.euicc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Pen/res/values-az/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Qələm taxılıb 8 | Bağlanmaq üçün toxunun 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-ca/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Bolígraf adjunt 8 | Toqueu per connectar 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-es/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Bolígrafo adjunto 8 | Toca para conectar 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-fr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Stylo attaché 8 | Appuyer pour connecter 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-ga-rIE/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Peann ceangailte 8 | Tapáil chun ceangal 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-it/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Penna attaccata 8 | Tocca per connettere 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-ka/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | კალამი მიუერთდა 8 | შეეხეთ მიერთებისთვის 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-pl/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Dołączone pióro 8 | Dotknij, aby połączyć 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-pt-rBR/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Caneta anexada 8 | Toque para conectar 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-pt-rPT/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Caneta anexada 8 | Toque para conectar 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-ro/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Stilou atașat 8 | Atingeți pentru a conecta 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-sl/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Pisalo priključeno 8 | Tapnite za povezavo 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-ta/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | எழுத்தாணி இணைக்கப்பட்டது 8 | இணைக்கத் தட்டுக 9 | 10 | -------------------------------------------------------------------------------- /aidl/ir/android.hardware.ir-service.oplus.rc: -------------------------------------------------------------------------------- 1 | on boot 2 | chown system system /dev/oplus_consumer_ir 3 | chmod 0644 /dev/oplus_consumer_ir 4 | 5 | service vendor.ir-default /vendor/bin/hw/android.hardware.ir-service.oplus 6 | class hal 7 | user system 8 | group system 9 | interface aidl android.hardware.ir.IConsumerIr/default 10 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/olc2/FileInfo.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.olc2; 7 | 8 | @VintfStability 9 | parcelable FileInfo { 10 | String path; 11 | int mode; 12 | long size; 13 | long mtime; 14 | } 15 | -------------------------------------------------------------------------------- /Pen/res/values-el/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Η γραφίδα προσαρτήθηκε 8 | Πατήστε για σύνδεση 9 | 10 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/olc2/ExceptionRecord.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.olc2; 7 | 8 | @VintfStability 9 | parcelable ExceptionRecord { 10 | int exception_id; 11 | int dropped; 12 | long expire; 13 | } 14 | -------------------------------------------------------------------------------- /overlay/qssi/qssi.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2022 The LineageOS Project 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | PRODUCT_PACKAGES += \ 8 | FrameworksResCommon \ 9 | OPlusWifiResCommon \ 10 | SystemUIResCommon \ 11 | TelephonyResCommon \ 12 | WifiResCommon 13 | 14 | PRODUCT_SOONG_NAMESPACES += \ 15 | $(LOCAL_PATH) 16 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_wvmkiller.te: -------------------------------------------------------------------------------- 1 | type vendor_wvmkiller, domain; 2 | type vendor_wvmkiller_exec, exec_type, vendor_file_type, file_type; 3 | 4 | init_daemon_domain(vendor_wvmkiller) 5 | 6 | hal_client_domain(vendor_wvmkiller, hal_drm) 7 | 8 | get_prop(vendor_wvmkiller, hwservicemanager_prop) 9 | set_prop(vendor_wvmkiller, vendor_wvmkiller_prop) 10 | -------------------------------------------------------------------------------- /Pen/res/values-bg/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Дигитална писалка е сдвоена 8 | Натисни за сдвояване 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values-hu/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Toll mellékelve 8 | A csatlakoztatáshoz érintse meg 9 | 10 | -------------------------------------------------------------------------------- /Pen/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/OplusRadioResponseInfo.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | parcelable OplusRadioResponseInfo { 10 | int type; 11 | int serial; 12 | int error; 13 | } 14 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/nrmodeswitcher.te: -------------------------------------------------------------------------------- 1 | type vendor_nrmodeswitcher, domain; 2 | type vendor_nrmodeswitcher_exec, exec_type, vendor_file_type, file_type; 3 | 4 | init_daemon_domain(vendor_nrmodeswitcher) 5 | 6 | binder_use(vendor_nrmodeswitcher) 7 | hal_client_domain(vendor_nrmodeswitcher, hal_telephony) 8 | 9 | get_prop(vendor_nrmodeswitcher, vendor_radio_prop) 10 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_rmt_storage.te: -------------------------------------------------------------------------------- 1 | allow vendor_rmt_storage vendor_reserve_partition:blk_file rw_file_perms; 2 | allow vendor_rmt_storage vendor_sysfs_soc_sensitive:file r_file_perms; 3 | 4 | get_prop(vendor_rmt_storage, vendor_radio_prop) 5 | 6 | rw_dir_file(vendor_rmt_storage, vendor_proc_engineer) 7 | r_dir_file(vendor_rmt_storage, vendor_proc_oplus_version) 8 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/performance/ProcReqItemHal.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.performance; 7 | 8 | @VintfStability 9 | parcelable ProcReqItemHal { 10 | String key; 11 | String label; 12 | int uploadType; 13 | } 14 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/performance/OsvelteVersionRet.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.performance; 7 | 8 | @VintfStability 9 | parcelable OsvelteVersionRet { 10 | int status; 11 | int major = 0; 12 | int minor = 0; 13 | } 14 | -------------------------------------------------------------------------------- /sepolicy/qti/public/property.te: -------------------------------------------------------------------------------- 1 | # Display 2 | vendor_internal_prop(system_oplus_iris_prop) 3 | 4 | # Fingerprint 5 | vendor_restricted_prop(system_fingerprint_prop) 6 | 7 | # Radio 8 | system_public_prop(system_oplus_radio_prop) 9 | 10 | # Touch 11 | system_public_prop(system_oplus_touch_prop) 12 | 13 | # Version 14 | system_vendor_config_prop(system_oplus_project_prop) 15 | -------------------------------------------------------------------------------- /aidl/livedisplay/vendor.lineage.livedisplay-service.oplus-af.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.lineage.livedisplay 4 | 1 5 | 6 | IAntiFlicker 7 | default 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/olc2/StatusCode.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.olc2; 7 | 8 | @VintfStability 9 | @Backing(type="int") 10 | enum StatusCode { 11 | SUCCESS = 0, 12 | FAILURE_UNKNOWN = 1, 13 | FAILURE_ARGS_INVALID = 2, 14 | } 15 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/ConfigType.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | @Backing(type="int") 10 | enum ConfigType { 11 | INVALID = -1, 12 | NSA_CONFIGURATION = 0, 13 | SA_CONFIGURATION = 1 14 | } 15 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/Oem_large_data_key_log_err_msg_type.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | parcelable Oem_large_data_key_log_err_msg_type { 10 | int cmd; 11 | int len; 12 | byte[] msg; 13 | } 14 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/OplusRadioIndicationType.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | @Backing(type="int") 10 | enum OplusRadioIndicationType { 11 | UNSOLICITED = 0, 12 | UNSOLICITED_ACK_EXP = 1 13 | } 14 | -------------------------------------------------------------------------------- /sepolicy/qti/private/esim_switcher_app.te: -------------------------------------------------------------------------------- 1 | type esim_switcher_app, domain, coredomain; 2 | 3 | app_domain(esim_switcher_app) 4 | hal_client_domain(esim_switcher_app, vendor_hal_oplus_esim) 5 | hal_client_domain(esim_switcher_app, vendor_hal_qspmhal) 6 | 7 | allow esim_switcher_app app_api_service:service_manager find; 8 | 9 | get_prop(esim_switcher_app, vendor_persist_nfc_prop) 10 | -------------------------------------------------------------------------------- /aidl/livedisplay/vendor.lineage.livedisplay-service.oplus-dm.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.lineage.livedisplay 4 | 1 5 | 6 | IDisplayModes 7 | default 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /aidl/livedisplay/vendor.lineage.livedisplay-service.oplus-ab.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.lineage.livedisplay 4 | 1 5 | 6 | IAdaptiveBacklight 7 | default 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /aidl/livedisplay/vendor.lineage.livedisplay-service.oplus-pa.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.lineage.livedisplay 4 | 1 5 | 6 | IPictureAdjustment 7 | default 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /aidl/livedisplay/vendor.lineage.livedisplay-service.oplus-se.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.lineage.livedisplay 4 | 1 5 | 6 | ISunlightEnhancement 7 | default 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/touch/OplusTouchInfo.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2025 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.touch; 8 | 9 | @VintfStability 10 | parcelable OplusTouchInfo { 11 | String info; 12 | long time; 13 | int deviceId; 14 | int nodeFlag; 15 | int data; 16 | } 17 | -------------------------------------------------------------------------------- /sepolicy/qti/private/seapp_contexts: -------------------------------------------------------------------------------- 1 | user=_app seinfo=platform name=org.ifaa.aidl.manager domain=ifaa_app type=app_data_file levelFrom=user 2 | user=_app isPrivApp=true seinfo=platform name=org.lineageos.pen domain=pen_app type=app_data_file levelFrom=user 3 | user=_app isPrivApp=true seinfo=platform name=org.lineageos.settings.esimswitcher domain=esim_switcher_app type=app_data_file levelFrom=user 4 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_init.te: -------------------------------------------------------------------------------- 1 | allow vendor_init proc_sched:file w_file_perms; 2 | allow vendor_init vendor_proc_display:file w_file_perms; 3 | 4 | set_prop(vendor_init, system_oplus_project_prop) 5 | set_prop(vendor_init, vendor_camera_prop) 6 | set_prop(vendor_init, vendor_fingerprint_prop) 7 | set_prop(vendor_init, vendor_oplus_touch_prop) 8 | set_prop(vendor_init, vendor_thermal_engine_prop) 9 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/Oem_log_packet_type.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | parcelable Oem_log_packet_type { 10 | int packet_type; 11 | int log_id; 12 | int log_data_len; 13 | byte[] log_data; 14 | } 15 | -------------------------------------------------------------------------------- /overlay/generic/SettingsProviderResGeneric/res/values/defaults.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | true 10 | 11 | 12 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/performance/TaskGroup.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.performance; 7 | 8 | @VintfStability 9 | enum TaskGroup { 10 | DEFAULT = 0, 11 | UI = 1, 12 | RENDER = 2, 13 | DISPLAY = 3, 14 | INPUT = 4, 15 | GAME = 5, 16 | } 17 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/EccMode.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | @Backing(type="byte") 10 | enum EccMode { 11 | NOT_EMERGENCY = -1, 12 | EMERGENCY_GW = 0, 13 | EMERGENCY_1X = 1, 14 | EMERGENCY_GW_1X = 2 15 | } 16 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/OplusRadioResponseType.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | @Backing(type="int") 10 | enum OplusRadioResponseType { 11 | SOLICITED = 0, 12 | SOLICITED_ACK = 1, 13 | SOLICITED_ACK_EXP = 2 14 | } 15 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/urcc/UrccRequestData.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.urcc; 7 | 8 | @VintfStability 9 | parcelable UrccRequestData { 10 | String desc; 11 | String res_Path; 12 | String res_Value; 13 | int res_Id; 14 | int event_Id; 15 | } 16 | -------------------------------------------------------------------------------- /KeyHandler/res/values-fi/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Mykistä media 8 | Mykistä media kun vaihdetaan äänettömään tilaan. 9 | 10 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/osense/client/OsenseAidlHalSaRequest.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.osense.client; 8 | 9 | @VintfStability 10 | parcelable OsenseAidlHalSaRequest { 11 | String scene; 12 | String action; 13 | int timeout; 14 | long request; 15 | } 16 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/performance/TaskWakeInfo.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.performance; 7 | 8 | import vendor.oplus.hardware.performance.ThreadInfo; 9 | 10 | @VintfStability 11 | parcelable TaskWakeInfo { 12 | int ret = 0; 13 | ThreadInfo[] list; 14 | } 15 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/urcc/IUrccCallback.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.urcc; 7 | 8 | import vendor.oplus.hardware.urcc.UrccRequestData; 9 | 10 | @VintfStability 11 | interface IUrccCallback { 12 | void onCallback(in UrccRequestData[] urccRequestDataArr); 13 | } 14 | -------------------------------------------------------------------------------- /Pen/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | OplusPen 8 | Pen attached 9 | Tap to connect 10 | 11 | -------------------------------------------------------------------------------- /aidl/vibrator/qti/vendor.qti.hardware.vibrator.service.oplus.rc: -------------------------------------------------------------------------------- 1 | on boot 2 | chown system system /sys/class/leds/vibrator/rtp 3 | chown system system /sys/class/leds/vibrator/vmax 4 | chown system system /sys/class/leds/vibrator/waveform_index 5 | 6 | service vendor.qti.vibrator /vendor/bin/hw/vendor.qti.hardware.vibrator.service.oplus 7 | class hal 8 | user system 9 | group system input 10 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/performance/ProcMemStatRet.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.performance; 7 | 8 | import vendor.oplus.hardware.performance.ProcMemStat; 9 | 10 | @VintfStability 11 | parcelable ProcMemStatRet { 12 | int status; 13 | ProcMemStat[] arr_ms; 14 | } 15 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/performance/ProcReqHal.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.performance; 7 | 8 | import vendor.oplus.hardware.performance.ProcReqItemHal; 9 | 10 | @VintfStability 11 | parcelable ProcReqHal { 12 | String proc; 13 | ProcReqItemHal[] items; 14 | } 15 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/Oem_key_log_err_msg_type.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | parcelable Oem_key_log_err_msg_type { 10 | char type; 11 | char rat; 12 | char errcode; 13 | char is_message; 14 | String msg; 15 | } 16 | -------------------------------------------------------------------------------- /aidl/vibrator/richtap/android.hardware.vibrator.service.oplus-richtap.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | android.hardware.vibrator 8 | 2 9 | IVibrator/default 10 | 11 | 12 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/olc2/ExceptionInfo.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.olc2; 7 | 8 | @VintfStability 9 | parcelable ExceptionInfo { 10 | long time; 11 | int exceptionId; 12 | int exceptionType; 13 | int level; 14 | long atomicLogs; 15 | String logParams; 16 | } 17 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/CarrierIdentifier.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | parcelable CarrierIdentifier { 10 | String mccmnc; 11 | String imsi; 12 | String iccid; 13 | String gid1; 14 | String gid2; 15 | String spn; 16 | } 17 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_power_default.te: -------------------------------------------------------------------------------- 1 | allow hal_power_default vendor_latency_device:chr_file rw_file_perms; 2 | 3 | hal_client_domain(hal_power_default, vendor_hal_oplus_touch) 4 | allow hal_power_default hal_oplus_touch_aidl_service:service_manager find; 5 | binder_call(hal_power_default, hal_oplus_touch_aidl); 6 | 7 | rw_dir_file(hal_power_default, vendor_proc_display) 8 | rw_dir_file(hal_power_default, vendor_sysfs_sde_crtc) 9 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/biometrics/fingerprintpay/FPayStatusCode.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.biometrics.fingerprintpay; 7 | 8 | @VintfStability 9 | @Backing(type="int") 10 | enum FPayStatusCode { 11 | ERROR_FAILED = -2, 12 | ERROR_NOT_SUPPORTED = -1, 13 | STATUS_OK = 0 14 | } 15 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/Oplus_5g_band_type.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | import vendor.oplus.hardware.radio.Oplus_5g_band_mask_type; 9 | 10 | @VintfStability 11 | parcelable Oplus_5g_band_type { 12 | boolean valid; 13 | Oplus_5g_band_mask_type band_mask; 14 | } 15 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/rild.te: -------------------------------------------------------------------------------- 1 | allow rild mnt_vendor_file:dir search; 2 | allow rild oplus_reserve_file_type:dir search; 3 | rw_dir_file(rild, oplus_reserve_radio_file_type) 4 | 5 | allow rild vendor_proc_display:file r_file_perms; 6 | 7 | hal_client_domain(rild, vendor_hal_oplus_commcenter) 8 | 9 | r_dir_file(rild, vendor_proc_engineer) 10 | 11 | get_prop(rild, boot_status_prop) 12 | set_prop(rild, vendor_nw_exported_system_prop) 13 | -------------------------------------------------------------------------------- /fingerprint/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2025 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | cc_library_static { 8 | name: "libudfps_extension.oplus", 9 | srcs: ["UdfpsExtension.cpp"], 10 | include_dirs: [ 11 | "frameworks/native/services/surfaceflinger/CompositionEngine/include", 12 | ], 13 | header_libs: [ 14 | "generated_kernel_headers", 15 | ], 16 | } 17 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/esim/IOplusEsim.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.esim; 7 | 8 | @VintfStability 9 | interface IOplusEsim { 10 | int getEsimGpio(); 11 | void initEsimGpio(); 12 | int setEsimGpio(int operation); 13 | int setHotswap(); 14 | int setUimPower(int operation); 15 | } 16 | -------------------------------------------------------------------------------- /interfaces/oplus/hardware/displaypanelfeature/1.0/Android.bp: -------------------------------------------------------------------------------- 1 | // This file is autogenerated by hidl-gen -Landroidbp. 2 | 3 | hidl_interface { 4 | name: "vendor.oplus.hardware.displaypanelfeature@1.0", 5 | root: "vendor.oplus", 6 | system_ext_specific: true, 7 | srcs: [ 8 | "IDisplayPanelFeature.hal", 9 | ], 10 | interfaces: [ 11 | "android.hidl.base@1.0", 12 | ], 13 | gen_java: false, 14 | } 15 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/EccEntryInfo.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | parcelable EccEntryInfo { 10 | char mcc; 11 | char mnc; 12 | byte mask; 13 | String ecc; 14 | byte catLen; 15 | byte special; 16 | int catVal; 17 | byte mode; 18 | } 19 | -------------------------------------------------------------------------------- /oplus-fwk/src/com/oplus/internal/evolution/INetworklessConsumer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package com.oplus.internal.evolution; 7 | 8 | import android.os.Bundle; 9 | import android.os.IInterface; 10 | 11 | public interface INetworklessConsumer extends IInterface { 12 | default void accept(long token, int resultCode, Bundle data) {} 13 | } 14 | -------------------------------------------------------------------------------- /aidl/vibrator/richtap/android.hardware.vibrator.service.oplus-richtap.rc: -------------------------------------------------------------------------------- 1 | on boot 2 | chown system system /dev/awinic_haptic 3 | chmod 0600 /dev/awinic_haptic 4 | 5 | service vendor.vibrator /vendor/bin/hw/android.hardware.vibrator.service.oplus-richtap 6 | class late_start 7 | user system 8 | group system input 9 | setenv RICHTAP_DEVICE_PATH /dev/awinic_haptic 10 | setenv ENV_RICHTAP_CONFIG_PATH /odm/etc/aac_richtap.config 11 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/osense/client/OsenseAidlHalNotifyRequest.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.osense.client; 8 | 9 | @VintfStability 10 | parcelable OsenseAidlHalNotifyRequest { 11 | int msg_src; 12 | int msg_type; 13 | int param1; 14 | int param2; 15 | int param3; 16 | String param4; 17 | } 18 | -------------------------------------------------------------------------------- /oplus-fwk/src/android/common/IOplusCommonFeature.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package android.common; 7 | 8 | public interface IOplusCommonFeature { 9 | default OplusFeatureList.OplusIndex index() { 10 | return OplusFeatureList.OplusIndex.End; 11 | } 12 | 13 | default IOplusCommonFeature getDefault() { 14 | return null; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/commondcs/ICommonDcsAidlHalService.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2025 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.commondcs; 8 | 9 | import vendor.oplus.hardware.commondcs.StringPair; 10 | 11 | @VintfStability 12 | interface ICommonDcsAidlHalService { 13 | int notifyMsgToCommonDcs(in List data, String logTag, String eventId); 14 | } 15 | -------------------------------------------------------------------------------- /wvmkiller/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2024 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | cc_binary { 8 | name: "wvmkiller", 9 | defaults: ["hidl_defaults"], 10 | init_rc: ["wvmkiller.rc"], 11 | vendor: true, 12 | srcs: ["main.cpp"], 13 | shared_libs: [ 14 | "android.hardware.drm@1.0", 15 | "libbase", 16 | "libhidlbase", 17 | "libutils", 18 | ], 19 | } 20 | -------------------------------------------------------------------------------- /hidl/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.oplus.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | android.hardware.biometrics.fingerprint 4 | hwbinder 5 | 2.3 6 | 7 | IBiometricsFingerprint 8 | default 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/performance/ThreadInfo.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.performance; 7 | 8 | @VintfStability 9 | parcelable ThreadInfo { 10 | int pid = 0; 11 | int tid = 0; 12 | int SourcePid = 0; 13 | int utils = 0; 14 | int nice = 0; 15 | int WakeCnt = 0; 16 | int totalWakeCnt = 0; 17 | } 18 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/osense/client/OsenseCpuControlData.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.osense.client; 8 | 9 | import vendor.oplus.hardware.osense.client.OsenseDataRange; 10 | 11 | @VintfStability 12 | parcelable OsenseCpuControlData { 13 | OsenseDataRange core; 14 | OsenseDataRange freq; 15 | int control_type; 16 | } 17 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/osense/client/OsenseGpuControlData.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.osense.client; 8 | 9 | import vendor.oplus.hardware.osense.client.OsenseDataRange; 10 | 11 | @VintfStability 12 | parcelable OsenseGpuControlData { 13 | OsenseDataRange core; 14 | OsenseDataRange freq; 15 | int control_type; 16 | } 17 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/IOplusCarrierIdentifierIndication.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | import vendor.oplus.hardware.radio.CarrierIdentifier; 9 | 10 | @VintfStability 11 | interface IOplusCarrierIdentifierIndication { 12 | void carrierIdentifierIndication(in CarrierIdentifier carrierIdentifier); 13 | } 14 | -------------------------------------------------------------------------------- /overlay/qssi/FrameworksResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /overlay/generic/FrameworksResGeneric/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/nvram_qmi.te: -------------------------------------------------------------------------------- 1 | type nvram_qmi, domain; 2 | type nvram_qmi_exec, exec_type, vendor_file_type, file_type; 3 | 4 | init_daemon_domain(nvram_qmi) 5 | 6 | domain_auto_trans(nvram, nvram_exec, nvram_qmi) 7 | 8 | allow nvram_qmi self:qipcrtr_socket create_socket_perms_no_ioctl; 9 | 10 | allow nvram_qmi nvram:unix_stream_socket connectto; 11 | 12 | allow nvram_qmi nvram_socket:sock_file w_file_perms; 13 | 14 | set_prop(nvram_qmi, vendor_nw_exported_system_prop) 15 | -------------------------------------------------------------------------------- /nrmodeswitcher/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | cc_binary { 7 | name: "nrmodeswitcher", 8 | init_rc: ["nrmodeswitcher.rc"], 9 | vendor: true, 10 | srcs: [ 11 | "main.cpp", 12 | "OplusRadioResponse.cpp", 13 | ], 14 | shared_libs: [ 15 | "libbase", 16 | "libbinder_ndk", 17 | "vendor.oplus.hardware.radio-V2-ndk", 18 | ], 19 | } 20 | -------------------------------------------------------------------------------- /overlay/generic/FrameworksResGeneric/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 10 | com.google.android.euicc 11 | 12 | 13 | -------------------------------------------------------------------------------- /overlay/qssi/TelephonyResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_oplus_osense_aidl.te: -------------------------------------------------------------------------------- 1 | type hal_oplus_osense_aidl, domain; 2 | binder_use(hal_oplus_osense_aidl) 3 | 4 | hal_server_domain(hal_oplus_osense_aidl, vendor_hal_oplus_osense) 5 | 6 | type hal_oplus_osense_aidl_exec, exec_type, vendor_file_type, file_type; 7 | init_daemon_domain(hal_oplus_osense_aidl) 8 | 9 | binder_call(vendor_hal_oplus_osense_client, vendor_hal_oplus_osense_server) 10 | 11 | hal_attribute_service(vendor_hal_oplus_osense, hal_oplus_osense_aidl_service) 12 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/Oplus_change_duration_type.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | @Backing(type="int") 10 | enum Oplus_change_duration_type { 11 | OPLUS_CHANGE_DURATION_NONE = -1, 12 | OPLUS_CHANGE_DURATION_POWER_CYCLE = 0, 13 | OPLUS_CHANGE_DURATION_PERMANENT = 1, 14 | OPLUS_CHANGE_DURATION_MAX = 2 15 | } 16 | -------------------------------------------------------------------------------- /overlay/qssi/SystemUIResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /folio-daemon/Android.bp: -------------------------------------------------------------------------------- 1 | cc_binary { 2 | name: "folio-daemon", 3 | 4 | init_rc: ["folio_daemon.rc"], 5 | 6 | shared_libs: [ 7 | "libandroid", 8 | "libcutils", 9 | "liblog", 10 | ], 11 | 12 | srcs: ["main.cpp"], 13 | 14 | cflags: [ 15 | "-DLOG_TAG=\"folio-daemon\"", 16 | "-DLOG_NDEBUG=0", 17 | ] + [ 18 | "-Wall", 19 | "-Werror", 20 | ], 21 | 22 | owner: "google", 23 | 24 | system_ext_specific: true, 25 | } 26 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/tri-state-key-calibrate.te: -------------------------------------------------------------------------------- 1 | type tri-state-key-calibrate, domain; 2 | type tri-state-key-calibrate_exec, exec_type, vendor_file_type, file_type; 3 | 4 | init_daemon_domain(tri-state-key-calibrate) 5 | 6 | allow tri-state-key-calibrate vendor_toolbox_exec:file rx_file_perms; 7 | 8 | allow tri-state-key-calibrate mnt_vendor_file:dir search; 9 | 10 | rw_dir_file(tri-state-key-calibrate, vendor_proc_tri_state_key) 11 | r_dir_file(tri-state-key-calibrate, vendor_persist_engineer_file) 12 | -------------------------------------------------------------------------------- /doze/Android.bp: -------------------------------------------------------------------------------- 1 | android_app { 2 | name: "OplusDoze", 3 | defaults: ["SettingsLibDefaults"], 4 | 5 | srcs: ["src/**/*.kt"], 6 | 7 | certificate: "platform", 8 | platform_apis: true, 9 | system_ext_specific: true, 10 | 11 | static_libs: [ 12 | "androidx.core_core", 13 | "androidx.preference_preference", 14 | "org.lineageos.settings.resources", 15 | ], 16 | 17 | optimize: { 18 | proguard_flags_files: ["proguard.flags"], 19 | }, 20 | } 21 | -------------------------------------------------------------------------------- /eSimSwitcher/res/xml/esim_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/IOplusCarrierIdentifierResponse.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | import vendor.oplus.hardware.radio.OplusRadioResponseInfo; 9 | 10 | @VintfStability 11 | interface IOplusCarrierIdentifierResponse { 12 | void setCallbackResponse(int clientId); 13 | void setCarrierIdentifierIndEnableResponse(in OplusRadioResponseInfo info); 14 | } 15 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/Oplus_5g_band_mask_type.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | parcelable Oplus_5g_band_mask_type { 10 | long bits_1_64; 11 | long bits_65_128; 12 | long bits_129_192; 13 | long bits_193_256; 14 | long bits_257_320; 15 | long bits_321_384; 16 | long bits_385_448; 17 | long bits_449_512; 18 | } 19 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_oplus_commondcs_aidl.te: -------------------------------------------------------------------------------- 1 | type hal_oplus_commondcs_aidl, domain; 2 | binder_use(hal_oplus_commondcs_aidl) 3 | 4 | hal_server_domain(hal_oplus_commondcs_aidl, vendor_hal_oplus_commondcs) 5 | 6 | type hal_oplus_commondcs_aidl_exec, exec_type, vendor_file_type, file_type; 7 | init_daemon_domain(hal_oplus_commondcs_aidl) 8 | 9 | binder_call(vendor_hal_oplus_commondcs_client, vendor_hal_oplus_commondcs_server) 10 | 11 | hal_attribute_service(vendor_hal_oplus_commondcs, hal_oplus_commondcs_aidl_service) 12 | -------------------------------------------------------------------------------- /aidl/vibrator/qti/effect/Android.bp: -------------------------------------------------------------------------------- 1 | cc_library_shared { 2 | name: "liboplusvibratoreffect", 3 | vendor: true, 4 | srcs: [ 5 | "effect.cpp", 6 | "VibrationEffectLoader.cpp" 7 | ], 8 | shared_libs: [ 9 | "libbase", 10 | "libcutils", 11 | "libjsoncpp", 12 | "libutils", 13 | ], 14 | include_dirs: select(soong_config_variable("OPLUS_LINEAGE_VIBRATOR_HAL", "INCLUDE_DIR"), { 15 | any @ flag_val: [flag_val], 16 | default: [], 17 | }), 18 | } 19 | -------------------------------------------------------------------------------- /overlay/generic/SettingsProviderResGeneric/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/olc2/IOplusLogCoreEventCallback.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.olc2; 7 | 8 | import vendor.oplus.hardware.olc2.ExceptionInfo; 9 | import vendor.oplus.hardware.olc2.ExceptionRecord; 10 | 11 | @VintfStability 12 | interface IOplusLogCoreEventCallback { 13 | void onDroppedExceptions(in ExceptionRecord[] records); 14 | void onException(in ExceptionInfo exception); 15 | } 16 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_oplus_pogo_keyboard_aidl.te: -------------------------------------------------------------------------------- 1 | type hal_oplus_pogo_keyboard_aidl, domain; 2 | binder_use(hal_oplus_pogo_keyboard_aidl) 3 | 4 | type hal_oplus_pogo_keyboard_aidl_exec, exec_type, vendor_file_type, file_type; 5 | init_daemon_domain(hal_oplus_pogo_keyboard_aidl) 6 | 7 | add_service(hal_oplus_pogo_keyboard_aidl, hal_oplus_pogo_keyboard_aidl_service) 8 | 9 | allow hal_oplus_pogo_keyboard_aidl oplus_pogo_keyboard_device:chr_file rw_file_perms; 10 | 11 | r_dir_file(hal_oplus_pogo_keyboard_aidl, vendor_proc_oplus_pogo_keyboard) 12 | -------------------------------------------------------------------------------- /KeyHandler/res/values-ta/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | முதற் நிலை 8 | நடு நிலை 9 | கீழ் நிலை 10 | இல்லை 11 | ஒலியின்மை 12 | 13 | -------------------------------------------------------------------------------- /aidl/ir/Android.bp: -------------------------------------------------------------------------------- 1 | cc_binary { 2 | name: "android.hardware.ir-service.oplus", 3 | vendor: true, 4 | relative_install_path: "hw", 5 | init_rc: ["android.hardware.ir-service.oplus.rc"], 6 | vintf_fragments: ["android.hardware.ir-service.xml"], 7 | srcs: [ 8 | "ConsumerIr.cpp", 9 | "service.cpp", 10 | ], 11 | shared_libs: [ 12 | "android.hardware.ir-V1-ndk", 13 | "libbase", 14 | "libbinder_ndk", 15 | ], 16 | header_libs: [ 17 | "kernel_headers.oplus", 18 | ], 19 | } 20 | -------------------------------------------------------------------------------- /oplus-fwk/src/com/oplus/uifirst/OplusUIFirstManager.java: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package com.oplus.uifirst; 7 | 8 | public class OplusUIFirstManager implements IOplusUIFirstManager { 9 | private static OplusUIFirstManager sInstance = null; 10 | 11 | public static OplusUIFirstManager getInstance() { 12 | if (sInstance == null) { 13 | sInstance = new OplusUIFirstManager(); 14 | } 15 | return sInstance; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /overlay/qssi/FrameworksResCommon/res/values-mcc311-mnc480/bools.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 11 | true 12 | 13 | 14 | -------------------------------------------------------------------------------- /overlay/qssi/WifiResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/displaypanelfeature/IDisplayPanelFeature.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.displaypanelfeature; 7 | 8 | @VintfStability 9 | interface IDisplayPanelFeature { 10 | int getDisplayPanelFeatureValue(int featureId, inout int[] featureValues); 11 | int setDisplayPanelFeatureValue(int featureId, in int[] featureValues); 12 | int getDisplayPanelInfo(int featureId, out List panelInfo); 13 | } 14 | -------------------------------------------------------------------------------- /oplus-fwk/src/com/android/internal/telephony/OplusFeature.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package com.android.internal.telephony; 7 | 8 | public class OplusFeature { 9 | public static final boolean OPLUS_FEATURE_CALL_RECOVERY_DISABLED = false; 10 | public static final boolean OPLUS_FEATURE_RADIO_VIRTUALMODEM = false; 11 | public static final boolean OPLUS_FEATURE_UST_CARRIER_CONFIG = false; 12 | public static final boolean OPLUS_FEATURE_UST_TOAST = false; 13 | } 14 | -------------------------------------------------------------------------------- /overlay/qssi/OPlusWifiResCommon/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /IFAAService/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022-2025 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | android_app { 8 | name: "IFAAService", 9 | srcs: [ 10 | "src/**/*.kt", 11 | "src/**/*.aidl", 12 | ], 13 | aidl: { 14 | local_include_dirs: ["src"], 15 | }, 16 | 17 | static_libs: [ 18 | "vendor.oplus.hardware.biometrics.fingerprintpay-V1-java", 19 | ], 20 | 21 | certificate: "platform", 22 | platform_apis: true, 23 | system_ext_specific: true, 24 | } 25 | -------------------------------------------------------------------------------- /KeyHandler/src/org/lineageos/settings/device/ButtonSettingsFragment.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2021-2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package org.lineageos.settings.device 7 | 8 | import android.os.Bundle 9 | import androidx.preference.PreferenceFragmentCompat 10 | 11 | class ButtonSettingsFragment : PreferenceFragmentCompat() { 12 | override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { 13 | setPreferencesFromResource(R.xml.button_panel, rootKey) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/nvram.te: -------------------------------------------------------------------------------- 1 | type nvram, domain; 2 | type nvram_exec, exec_type, vendor_file_type, file_type; 3 | 4 | init_daemon_domain(nvram) 5 | 6 | type_transition nvram socket_device:sock_file nvram_socket "nvram"; 7 | 8 | allow nvram socket_device:dir { add_name remove_name write }; 9 | 10 | allow nvram nvram_socket:sock_file create_file_perms; 11 | 12 | allow nvram block_device:dir search; 13 | 14 | allow nvram nvram_device:blk_file rw_file_perms; 15 | allowxperm nvram nvram_device:blk_file ioctl BLKGETSIZE; 16 | 17 | get_prop(nvram, bootloader_prop) 18 | -------------------------------------------------------------------------------- /sepolicy/qti/private/horae.te: -------------------------------------------------------------------------------- 1 | type horae_exec, exec_type, system_file_type, file_type; 2 | 3 | init_daemon_domain(horae) 4 | 5 | hal_client_domain(horae, hal_health) 6 | 7 | add_service(horae, horae_service) 8 | 9 | binder_call(horae, servicemanager) 10 | binder_call(horae, system_server) 11 | 12 | unix_socket_send(horae, statsdw, statsd) 13 | 14 | allow horae horae_service:service_manager find; 15 | allow horae osense_service:service_manager find; 16 | allow horae surfaceflinger_service:service_manager find; 17 | allow horae thermal_service:service_manager find; 18 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_oplus_project_aidl.te: -------------------------------------------------------------------------------- 1 | type hal_oplus_project_aidl, domain; 2 | binder_use(hal_oplus_project_aidl) 3 | 4 | hal_server_domain(hal_oplus_project_aidl, vendor_hal_oplus_project) 5 | 6 | type hal_oplus_project_aidl_exec, exec_type, vendor_file_type, file_type; 7 | init_daemon_domain(hal_oplus_project_aidl) 8 | 9 | binder_call(vendor_hal_oplus_project_client, vendor_hal_oplus_project_server) 10 | 11 | hal_attribute_service(vendor_hal_oplus_project, hal_oplus_project_aidl_service) 12 | 13 | r_dir_file(hal_oplus_project_aidl, vendor_proc_oplus_version) 14 | -------------------------------------------------------------------------------- /KeyHandler/Android.bp: -------------------------------------------------------------------------------- 1 | android_app { 2 | name: "KeyHandler", 3 | 4 | srcs: ["src/**/*.kt"], 5 | 6 | certificate: "platform", 7 | platform_apis: true, 8 | system_ext_specific: true, 9 | 10 | static_libs: [ 11 | "org.lineageos.settings.resources", 12 | ], 13 | 14 | optimize: { 15 | proguard_flags_files: ["proguard.flags"], 16 | }, 17 | } 18 | 19 | sh_binary { 20 | name: "tri-state-key-calibrate", 21 | init_rc: ["tri-state-key-calibrate.rc"], 22 | src: "tri-state-key-calibrate.sh", 23 | vendor: true, 24 | } 25 | -------------------------------------------------------------------------------- /Pen/default-permissions_org.lineageos.pen.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /interfaces/oplus/hardware/displaypanelfeature/1.0/IDisplayPanelFeature.hal: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.displaypanelfeature@1.0; 7 | 8 | interface IDisplayPanelFeature { 9 | getDisplayPanelFeatureValue(int32_t featureId) generates (int32_t status, vec values); 10 | setDisplayPanelFeatureValue(int32_t featureId, vec values) generates (int32_t status); 11 | getDisplayPanelInfo(int32_t featureId) generates (int32_t status, vec info); 12 | }; 13 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_qti_init_shell.te: -------------------------------------------------------------------------------- 1 | allow vendor_qti_init_shell proc_cmdline:file r_file_perms; 2 | 3 | allow vendor_qti_init_shell proc_page_cluster:file create_file_perms; 4 | allow vendor_qti_init_shell vendor_olog_file:file create_file_perms; 5 | allow vendor_qti_init_shell vendor_proc_camera:file create_file_perms; 6 | 7 | allow vendor_qti_init_shell vendor_olog_file:dir rw_dir_perms; 8 | allow vendor_qti_init_shell vendor_qmcs_file:dir r_dir_perms; 9 | allow vendor_qti_init_shell vendor_spunvm_file:dir r_dir_perms; 10 | 11 | create_dir_file(vendor_qti_init_shell, mnt_vendor_file) 12 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/biometrics/fingerprintpay/IFingerprintPay.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.biometrics.fingerprintpay; 7 | 8 | @VintfStability 9 | interface IFingerprintPay { 10 | int cancel(String str); 11 | int enable_rpmb(); 12 | int get_ifaa_key_status(); 13 | int get_rpmb_enable_state(); 14 | int get_rpmb_state(); 15 | byte[] ifaa_invoke_command(in byte[] arr); 16 | int ifaa_key_verify(); 17 | int ifaa_key_write(); 18 | } 19 | -------------------------------------------------------------------------------- /sepolicy/qti/private/compat/202404/202404.ignore.cil: -------------------------------------------------------------------------------- 1 | ;; new_objects - a collection of types that have been introduced that have no 2 | ;; analogue in older policy. Thus, we do not need to map these types to 3 | ;; previous ones. Add here to pass checkapi tests. 4 | (type new_objects) 5 | (typeattribute new_objects) 6 | (typeattributeset new_objects 7 | ( new_objects 8 | horae 9 | osense_service 10 | system_fingerprint_prop 11 | system_oplus_iris_prop 12 | system_oplus_project_prop 13 | system_oplus_radio_prop 14 | system_oplus_touch_prop 15 | vendor_persist_engineer_file)) 16 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_oplus_commcenter_aidl.te: -------------------------------------------------------------------------------- 1 | type hal_oplus_commcenter_aidl, domain; 2 | binder_use(hal_oplus_commcenter_aidl) 3 | 4 | type hal_oplus_commcenter_aidl_exec, exec_type, vendor_file_type, file_type; 5 | init_daemon_domain(hal_oplus_commcenter_aidl) 6 | 7 | binder_call(vendor_hal_oplus_commcenter_client, vendor_hal_oplus_commcenter_server) 8 | binder_call(vendor_hal_oplus_commcenter_server, vendor_hal_oplus_commcenter_client) 9 | 10 | hal_server_domain(hal_oplus_commcenter_aidl, vendor_hal_oplus_commcenter) 11 | 12 | hal_attribute_service(vendor_hal_oplus_commcenter, hal_oplus_commcenter_aidl_service) 13 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-zh-rCN/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM 设置 8 | eSIM 9 | 下载并激活运营商配置文件以使用虚拟 SIM 卡 10 | 启用 eSIM 后,SIM 2 将被禁用。是否仍然启用 eSIM ? 11 | 取消 12 | 启用 13 | 14 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vl53l1_daemon_main.te: -------------------------------------------------------------------------------- 1 | type vl53l1_daemon_main, domain; 2 | type vl53l1_daemon_main_exec, exec_type, vendor_file_type, file_type; 3 | 4 | init_daemon_domain(vl53l1_daemon_main) 5 | 6 | allow vl53l1_daemon_main self:{ 7 | netlink_generic_socket 8 | netlink_kobject_uevent_socket 9 | netlink_socket 10 | } create_socket_perms_no_ioctl; 11 | 12 | allow vl53l1_daemon_main self:netlink_iscsi_socket { read write create bind }; 13 | 14 | r_dir_file(vl53l1_daemon_main, vendor_persist_camera_file) 15 | r_dir_file(vl53l1_daemon_main, vendor_sysfs_tof) 16 | rw_dir_file(vl53l1_daemon_main, mnt_vendor_file) 17 | -------------------------------------------------------------------------------- /sepolicy/qti/private/folio_daemon.te: -------------------------------------------------------------------------------- 1 | type folio_daemon, domain, coredomain; 2 | type folio_daemon_exec, system_file_type, exec_type, file_type; 3 | 4 | init_daemon_domain(folio_daemon) 5 | 6 | binder_use(folio_daemon) 7 | 8 | binder_call(folio_daemon, system_server) 9 | 10 | allow folio_daemon permission_service:service_manager find; 11 | allow folio_daemon sensorservice_service:service_manager find; 12 | allow folio_daemon virtual_device_native_service:service_manager find; 13 | 14 | allow folio_daemon system_server:unix_stream_socket rw_socket_perms_no_ioctl; 15 | 16 | allow folio_daemon uhid_device:chr_file rw_file_perms; 17 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hwservice.te: -------------------------------------------------------------------------------- 1 | # Camera 2 | type vendor_hal_camera_extension_hwservice, hwservice_manager_type, protected_hwservice; 3 | type vendor_hal_cameraMDM_hwservice, hwservice_manager_type, protected_hwservice; 4 | 5 | # CommonDcs 6 | type vendor_hal_commondcs_hwservice, hwservice_manager_type, protected_hwservice; 7 | 8 | # ORMS 9 | type vendor_hal_orms_hwservice, hwservice_manager_type, protected_hwservice; 10 | 11 | # Osense 12 | type vendor_hal_osense_hwservice, hwservice_manager_type, protected_hwservice; 13 | 14 | # Sensors 15 | type vendor_hal_oplus_sensor_hwservice, hwservice_manager_type, protected_hwservice; 16 | -------------------------------------------------------------------------------- /Euicc/src/org/lineageos/euicc/EuiccReceiver.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2023 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package org.lineageos.euicc 7 | 8 | import android.content.BroadcastReceiver 9 | import android.content.Context 10 | import android.content.Intent 11 | import android.util.Log 12 | 13 | class EuiccReceiver : BroadcastReceiver() { 14 | override fun onReceive(context: Context, intent: Intent) { 15 | Log.d(TAG, "Received PARTNER_CUSTOMIZATION intent") 16 | } 17 | 18 | companion object { 19 | private const val TAG = "OplusEuiccReceiver" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /sepolicy/qti/public/attributes: -------------------------------------------------------------------------------- 1 | vendor_hal_attribute(cameraMDM) 2 | vendor_hal_attribute(fingerprintpay) 3 | vendor_hal_attribute(oplus_cammidasservice) 4 | vendor_hal_attribute(oplus_charger) 5 | vendor_hal_attribute(oplus_commcenter) 6 | vendor_hal_attribute(oplus_commondcs) 7 | vendor_hal_attribute(oplus_displaypanelfeature) 8 | vendor_hal_attribute(oplus_esim) 9 | vendor_hal_attribute(oplus_osense) 10 | vendor_hal_attribute(oplus_performance) 11 | vendor_hal_attribute(oplus_project) 12 | vendor_hal_attribute(oplus_sensor) 13 | vendor_hal_attribute(oplus_touch) 14 | vendor_hal_attribute(oplus_urcc) 15 | vendor_hal_attribute(subsys) 16 | -------------------------------------------------------------------------------- /KeyHandler/res/values-sv/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Åtgärd 8 | Inget 9 | Normal 10 | Vibration 11 | Endast prioritet 12 | Endast alarm 13 | 14 | -------------------------------------------------------------------------------- /IFAAService/src/org/ifaa/aidl/manager/IfaaManagerService.aidl: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | package org.ifaa.aidl.manager; 8 | 9 | interface IfaaManagerService { 10 | int getSupportBIOTypes(); 11 | int startBIOManager(int authType); 12 | String getDeviceModel(); 13 | byte[] processCmd(inout byte[] param); 14 | int getVersion(); 15 | String getExtInfo(int authType, String keyExtInfo); 16 | void setExtInfo(int authType, String keyExtInfo, String valExtInfo); 17 | int getEnabled(int bioType); 18 | int[] getIDList(int bioType); 19 | } 20 | -------------------------------------------------------------------------------- /aidl/touch/touch-headers/OplusTouchConstants.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #pragma once 7 | 8 | namespace OplusTouchConstants { 9 | 10 | // Device IDs 11 | constexpr int DEFAULT_TP_IC_ID = 0; 12 | constexpr int SUB_DISPLAY_TP_IC_ID = 1; 13 | 14 | // Features 15 | constexpr int DOUBLE_TAP_GESTURE = 1 << 1; 16 | 17 | // Node IDs 18 | constexpr int DOUBLE_TAP_ENABLE_NODE = 1; 19 | constexpr int DOUBLE_TAP_INDEP_NODE = 21; 20 | constexpr int GAME_SWITCH_ENABLE_NODE = 26; 21 | constexpr int GLOVE_MODE_ENABLE_NODE = 192; 22 | 23 | } // namespace OplusTouchConstants 24 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-ja/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM 設定 8 | eSIM 9 | 仮想 SIM カードを使用するには、オペレータプロファイルをダウンロードして有効化してください 10 | eSIM を有効にすると SIM2 は無効になります。それでも有効にしますか? 11 | キャンセル 12 | 有効化 13 | 14 | -------------------------------------------------------------------------------- /aidl/commondcs/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2025 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | cc_binary { 8 | name: "vendor.oplus.hardware.commondcs-service", 9 | vendor: true, 10 | relative_install_path: "hw", 11 | init_rc: ["vendor.oplus.hardware.commondcs-service.rc"], 12 | vintf_fragments: ["vendor.oplus.hardware.commondcs-service.xml"], 13 | srcs: [ 14 | "CommonDcsAidlHalService.cpp", 15 | "service.cpp", 16 | ], 17 | shared_libs: [ 18 | "libbase", 19 | "libbinder_ndk", 20 | "vendor.oplus.hardware.commondcs-V1-ndk", 21 | ], 22 | } 23 | -------------------------------------------------------------------------------- /aidl/performance/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | cc_binary { 7 | name: "vendor.oplus.hardware.performance-service", 8 | vendor: true, 9 | relative_install_path: "hw", 10 | init_rc: ["vendor.oplus.hardware.performance-service.rc"], 11 | vintf_fragments: ["vendor.oplus.hardware.performance-service.xml"], 12 | srcs: [ 13 | "Performance.cpp", 14 | "service.cpp", 15 | ], 16 | shared_libs: [ 17 | "libbase", 18 | "libbinder_ndk", 19 | "vendor.oplus.hardware.performance-V1-ndk", 20 | ], 21 | } 22 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_audio_default.te: -------------------------------------------------------------------------------- 1 | allow hal_audio_default mnt_vendor_file:file r_file_perms; 2 | 3 | allow hal_audio_default oplus_awsmartpa_device:chr_file rw_file_perms; 4 | allow hal_audio_default ultrasound_device:chr_file rw_file_perms; 5 | 6 | allow hal_audio_default vendor_proc_mm_fb:file rw_file_perms; 7 | 8 | hal_client_domain(hal_audio_default, vendor_hal_oplus_charger) 9 | 10 | rw_dir_file(hal_audio_default, vendor_sysfs_usb_supply) 11 | 12 | get_prop(hal_audio_default, boot_status_prop) 13 | get_prop(hal_audio_default, vendor_audio_debug_prop) 14 | 15 | userdebug_or_eng(` 16 | allow hal_audio_default debugfs:dir r_dir_perms; 17 | ') 18 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/property.te: -------------------------------------------------------------------------------- 1 | # eSIM 2 | vendor_internal_prop(vendor_oplus_esim_prop) 3 | 4 | # Fingerprint 5 | vendor_internal_prop(vendor_fingerprint_prop) 6 | 7 | # Fingerprint Pay 8 | vendor_internal_prop(vendor_oplus_rpmb_enable_state_prop) 9 | 10 | # Modem 11 | vendor_internal_prop(vendor_modem_prop) 12 | 13 | # RIL 14 | vendor_internal_prop(vendor_nw_exported_system_prop) 15 | 16 | # Thermal 17 | vendor_internal_prop(vendor_thermal_engine_prop) 18 | 19 | # Touch 20 | vendor_internal_prop(vendor_oplus_touch_prop) 21 | 22 | # URCC 23 | vendor_internal_prop(vendor_oplus_urcc_prop) 24 | 25 | # Widevine 26 | vendor_internal_prop(vendor_wvmkiller_prop) 27 | -------------------------------------------------------------------------------- /aidl/osense-client/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2024 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | cc_binary { 8 | name: "vendor.oplus.hardware.osense.client-service", 9 | vendor: true, 10 | relative_install_path: "hw", 11 | init_rc: ["vendor.oplus.hardware.osense.client-service.rc"], 12 | vintf_fragments: ["vendor.oplus.hardware.osense.client-service.xml"], 13 | srcs: [ 14 | "OsenseAidlHalReporter.cpp", 15 | "service.cpp", 16 | ], 17 | shared_libs: [ 18 | "libbase", 19 | "libbinder_ndk", 20 | "vendor.oplus.hardware.osense.client-V1-ndk", 21 | ], 22 | } 23 | -------------------------------------------------------------------------------- /aidl/vibrator/qti/effect/VibrationEffectLoader.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2025 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #pragma once 8 | 9 | #include "effect.h" 10 | 11 | #include 12 | #include 13 | 14 | class VibrationEffectLoader { 15 | public: 16 | VibrationEffectLoader(); 17 | ~VibrationEffectLoader(); 18 | effect_stream* getEffectStream(uint32_t effect_id); 19 | 20 | private: 21 | Json::Value parseEffectJson(std::ifstream& config_stream); 22 | void loadEffects(Json::Value&& effect_nodes); 23 | 24 | std::unordered_map effect_map_; 25 | }; 26 | -------------------------------------------------------------------------------- /doze/src/org/lineageos/settings/doze/BootCompletedReceiver.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package org.lineageos.settings.doze 7 | 8 | import android.content.BroadcastReceiver 9 | import android.content.Context 10 | import android.content.Intent 11 | import android.util.Log 12 | 13 | class BootCompletedReceiver : BroadcastReceiver() { 14 | override fun onReceive(context: Context, intent: Intent) { 15 | Log.d(TAG, "Starting") 16 | Utils.checkDozeService(context) 17 | } 18 | 19 | companion object { 20 | private const val TAG = "OplusDoze" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // SPDX-FileCopyrightText: 2022-2025 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | soong_namespace { 7 | imports: [ 8 | "hardware/google/interfaces", 9 | "hardware/google/pixel", 10 | ], 11 | } 12 | 13 | prebuilt_hidl_interfaces { 14 | name: "hidl_oplus_cameraextension_interface", 15 | interfaces: [ 16 | "vendor.oplus.hardware.cameraextension@1.0::ICameraExtensionService", 17 | ], 18 | } 19 | 20 | prebuilt_hidl_interfaces { 21 | name: "hidl_pixelworks_feature_interface", 22 | interfaces: [ 23 | "vendor.pixelworks.hardware.feature@1.0::IIrisFeature", 24 | ], 25 | } 26 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/radio/EccCatoryVal.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.radio; 7 | 8 | @VintfStability 9 | @Backing(type="int") 10 | enum EccCatoryVal { 11 | ECC_SERVICE_CAT_DEFAULT = 0, 12 | ECC_SERVICE_CAT_POLICE = 1, 13 | ECC_SERVICE_CAT_AMBULANCE = 2, 14 | ECC_SERVICE_CAT_FIRE_BRIGADE = 4, 15 | ECC_SERVICE_CAT_MARINE_GUARD = 8, 16 | ECC_SERVICE_CAT_MOUNTAIN_RESCUE = 16, 17 | ECC_SERVICE_CAT_MANUAL_INIT_ECALL = 32, 18 | ECC_SERVICE_CAT_AUTOMATIC_INIT_ECALL = 64, 19 | ECC_SERVICE_CAT_RESERVE = 128 20 | } 21 | -------------------------------------------------------------------------------- /interfaces/oplus/hardware/biometrics/fingerprint/2.1/Android.bp: -------------------------------------------------------------------------------- 1 | // This file is autogenerated by hidl-gen -Landroidbp. 2 | 3 | hidl_interface { 4 | name: "vendor.oplus.hardware.biometrics.fingerprint@2.1", 5 | root: "vendor.oplus", 6 | system_ext_specific: true, 7 | srcs: [ 8 | "IBiometricsFingerprint.hal", 9 | "IBiometricsFingerprintClientCallbackEx.hal", 10 | ], 11 | interfaces: [ 12 | "android.hardware.biometrics.fingerprint@2.1", 13 | "android.hardware.biometrics.fingerprint@2.2", 14 | "android.hardware.biometrics.fingerprint@2.3", 15 | "android.hidl.base@1.0", 16 | ], 17 | gen_java: true, 18 | } 19 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_sensors_default.te: -------------------------------------------------------------------------------- 1 | allow hal_sensors_default ssc_interactive_device:chr_file rw_file_perms; 2 | allow hal_sensors_default ultrasound_device:chr_file rw_file_perms; 3 | 4 | r_dir_file(hal_sensors_default, vendor_proc_eng_cali_file) 5 | r_dir_file(hal_sensors_default, vendor_proc_oplus_als_file) 6 | r_dir_file(hal_sensors_default, vendor_proc_oplus_version) 7 | r_dir_file(hal_sensors_default, vendor_proc_ultrasound) 8 | rw_dir_file(hal_sensors_default, vendor_persist_engineer_file) 9 | rw_dir_file(hal_sensors_default, vendor_proc_display) 10 | rw_dir_file(hal_sensors_default, vendor_sysfs_graphics) 11 | rw_dir_file(hal_sensors_default, vendor_sysfs_sensor_fb) 12 | -------------------------------------------------------------------------------- /aidl/powershare/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | cc_binary { 7 | name: "vendor.lineage.powershare-service.oplus", 8 | vintf_fragments: ["vendor.lineage.powershare-service.oplus.xml"], 9 | init_rc: ["vendor.lineage.powershare-service.oplus.rc"], 10 | vendor: true, 11 | relative_install_path: "hw", 12 | srcs: [ 13 | "PowerShare.cpp", 14 | "service.cpp", 15 | ], 16 | shared_libs: [ 17 | "libbase", 18 | "liblog", 19 | "libbinder_ndk", 20 | "libutils", 21 | "vendor.lineage.powershare-V1-ndk", 22 | ], 23 | } 24 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-vi/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Cài đặt eSIM 8 | eSIM 9 | Tải và kích hoạt hồ sơ nhà mạng để sử dụng thẻ SIM ảo 10 | SIM 2 sẽ bị vô hiệu hoá nếu như bạn bật eSIM. Bạn vẫn muốn bật chứ? 11 | Huỷ 12 | Bật 13 | 14 | -------------------------------------------------------------------------------- /overlay/qssi/FrameworksResCommon/res/values-mcc310-mnc120/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 13 | 6 14 | 15 | 16 | -------------------------------------------------------------------------------- /overlay/qssi/FrameworksResCommon/res/values-mcc310-mnc260/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 13 | 3 14 | 15 | 16 | -------------------------------------------------------------------------------- /overlay/qssi/FrameworksResCommon/res/values-mcc310-mnc4/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 13 | 6 14 | 15 | 16 | -------------------------------------------------------------------------------- /overlay/qssi/FrameworksResCommon/res/values-mcc310-mnc410/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 13 | 3 14 | 15 | 16 | -------------------------------------------------------------------------------- /overlay/qssi/FrameworksResCommon/res/values-mcc311-mnc480/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 13 | 6 14 | 15 | 16 | -------------------------------------------------------------------------------- /overlay/qssi/FrameworksResCommon/res/values-mcc460-mnc11/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 13 | 6 14 | 15 | 16 | -------------------------------------------------------------------------------- /overlay/qssi/FrameworksResCommon/res/values-mcc460-mnc3/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 13 | 6 14 | 15 | 16 | -------------------------------------------------------------------------------- /Euicc/src/org/lineageos/euicc/BootCompletedReceiver.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package org.lineageos.euicc 7 | 8 | import android.content.BroadcastReceiver 9 | import android.content.Context 10 | import android.content.Intent 11 | import android.util.Log 12 | 13 | class BootCompletedReceiver : BroadcastReceiver() { 14 | override fun onReceive(context: Context, intent: Intent) { 15 | Log.d(TAG, "Received boot completed intent") 16 | EuiccDisabler.enableOrDisableEuicc(context) 17 | } 18 | 19 | companion object { 20 | private const val TAG = "OplusEuiccBootReceiver" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-en-rAU/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM settings 8 | eSIM 9 | Download and activate an operator profile to use a virtual SIM card 10 | SIM 2 will be disabled if you enable eSIM. Enable it anyway? 11 | Cancel 12 | Enable 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-en-rCA/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM settings 8 | eSIM 9 | Download and activate an operator profile to use a virtual SIM card 10 | SIM 2 will be disabled if you enable eSIM. Enable it anyway? 11 | Cancel 12 | Enable 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-en-rGB/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM settings 8 | eSIM 9 | Download and activate an operator profile to use a virtual SIM card 10 | SIM 2 will be disabled if you enable eSIM. Enable it anyway? 11 | Cancel 12 | Enable 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-en-rIN/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM settings 8 | eSIM 9 | Download and activate an operator profile to use a virtual SIM card 10 | SIM 2 will be disabled if you enable eSIM. Enable it anyway? 11 | Cancel 12 | Enable 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-sl/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Nastavitve eSIM 8 | eSIM 9 | Prenesi in omogoči profil operaterja za uporabo navidezne kartice SIM 10 | SIM 2 bo onemogočen, če omogočite eSIM. Omogoči vseeno? 11 | Prekliči 12 | Omogoči 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM settings 8 | 9 | eSIM 10 | Download and activate an operator profile to use a virtual SIM card 11 | 12 | SIM 2 will be disabled if you enable eSIM. Enable it anyway? 13 | Cancel 14 | Enable 15 | 16 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-hu/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM-beállítások 8 | eSIM 9 | A virtuális SIM használatához töltse le és aktiválja a kapott profilt 10 | A 2.SIM letiltásra kerül, ha engedélyezi az eSIM-et. Engedélyezi? 11 | Mégsem 12 | Engedélyezés 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-it/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Impostazioni eSIM 8 | eSIM 9 | Scarica e attiva un profilo operatore per utilizzare una SIM virtuale 10 | La SIM 2 sarà disabilitata se abiliti la eSIM. Abilitarla comunque? 11 | Annulla 12 | Abilita 13 | 14 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/osense/client/OsenseControlInfo.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.osense.client; 8 | 9 | import vendor.oplus.hardware.osense.client.OsenseCpuControlData; 10 | import vendor.oplus.hardware.osense.client.OsenseCpuMIGData; 11 | import vendor.oplus.hardware.osense.client.OsenseGpuControlData; 12 | 13 | @VintfStability 14 | parcelable OsenseControlInfo { 15 | int cpu_cluster_num; 16 | int gpu_cluster_num; 17 | OsenseCpuControlData[] cpuParam1; 18 | OsenseGpuControlData[] param1; 19 | OsenseCpuMIGData[] cpu_mig_data; 20 | int control_mask; 21 | } 22 | -------------------------------------------------------------------------------- /Pen/src/org/lineageos/pen/BootCompletedReceiver.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package org.lineageos.pen 7 | 8 | import android.content.BroadcastReceiver 9 | import android.content.Context 10 | import android.content.Intent 11 | import android.util.Log 12 | 13 | class BootCompletedReceiver : BroadcastReceiver() { 14 | override fun onReceive(context: Context, intent: Intent) { 15 | Log.d(TAG, "Received boot completed intent") 16 | context.startService(Intent(context, PenService::class.java)) 17 | } 18 | 19 | companion object { 20 | private const val TAG = "OplusPenBootReceiver" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-ka/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM-პარამეტრები 8 | eSIM 9 | ჩამოტვირთეთ და აამოქმედეთ მომწოდებლის პროფილი, რომ გამოიყენოთ წარმოსახვითი SIM-ბარათი 10 | SIM 2 გაითიშება, თუ ჩაირთვება eSIM. მაინც გსურთ განაგრძოთ? 11 | გაუქმება 12 | ჩართვა 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-pl/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Ustawienia eSIM 8 | eSIM 9 | Pobierz i aktywuj profil operatora, aby używać wirtualnej karty SIM 10 | Karta SIM 2 zostanie wyłączona, jeśli włączysz kartę eSIM. Włączyć ją mimo to? 11 | Anuluj 12 | Włącz 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-pt-rBR/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Configurações do eSIM 8 | eSIM 9 | Baixe e ative um perfil de operadora para usar um cartão SIM virtual 10 | O SIM 2 será desativado se você ativar o eSIM. Ativar mesmo assim? 11 | Cancelar 12 | Ativar 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-pt-rPT/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Definições do eSIM 8 | eSIM 9 | Transferir e ativar um perfil de operador para usar um cartão SIM virtual 10 | O SIM 2 será desativado se ativar o eSIM. Ativar mesmo assim? 11 | Cancelar 12 | Ativar 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-ug/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM تەڭشىكى 8 | eSIM 9 | مەۋھۇم SIM كارتىنى ئىشلىتىش ئۈچۈن مەشغۇلاتچىنىڭ تەرجىمىھالىنى چۈشۈرۈپ ۋە ئاكتىپلايدۇ 10 | ئەگەر eSIM نى قوزغاتسىڭىز SIM 2 چەكلىنىدۇ. ئۇنى قوزغىتىۋېرەمسىز؟ 11 | ۋاز كەچ 12 | قوزغات 13 | 14 | -------------------------------------------------------------------------------- /oplus-fwk/src/com/oplus/ims/stub/ImsServiceControllerExt.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package com.oplus.ims.stub; 7 | 8 | import android.content.Context; 9 | 10 | import com.oplus.ims.IImsExt; 11 | 12 | import java.util.concurrent.Executor; 13 | 14 | public class ImsServiceControllerExt { 15 | private final ImsExtStub mImsExtStub; 16 | 17 | public ImsServiceControllerExt(Context context, Executor executor) { 18 | mImsExtStub = new ImsExtStub(); 19 | } 20 | 21 | public IImsExt getIImsExt() { 22 | return mImsExtStub; 23 | } 24 | 25 | public static class ImsExtStub extends IImsExt.Stub {} 26 | } 27 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-az/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM ayarları 8 | eSIM 9 | Virtual SIM kart istifadə etmək üçün operator profilini endirib aktivləşdirin 10 | eSIM-i fəallaşdırsanız, SIM 2 sıradan çıxarılacaq. Yenə də fəallaşdırılsın? 11 | İmtina 12 | Fəallaşdır 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-ca/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Configuració eSIM 8 | eSIM 9 | Baixa i activa un perfil d\'operador per utilitzar una targeta SIM virtual 10 | La SIM 2 es desactivarà si activeu l\'eSIM. Voleu habilitar-la igualment? 11 | Cancel·la 12 | Habilita 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-ro/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Setări eSIM 8 | eSIM 9 | Descărcați și activați un profil de operator pentru a utiliza o cartelă SIM virtuală 10 | Cardul SIM 2 va fi dezactivat dacă activați eSIM. Îl activați oricum? 11 | Anulare 12 | Activează 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-bg/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM настройки 8 | Дигитален SIM (eSIM) 9 | Изтеглете и активирайте файл на оператор, за да използвате виртуална SIM карта 10 | SIM 2 ще бъде спряна, ако включите eSIM. Включване въпреки това? 11 | Отказ 12 | Включване 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-fa/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | تنظیمات سیم‌کارت مجازی 8 | eSIM 9 | برای استفاده از سیم‌کارت مجازی، پیکربندی یک اپراتور را بارگیری و فعال کنید 10 | اگر سیم مجازی را فعال کنید سیم‌کارت دوم شما غیرفعال خواهد شد. آیا ادامه می‌دهید؟ 11 | لغو 12 | فعال‌سازی 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-ga-rIE/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Socruithe eSIM 8 | eSIM 9 | Íoslódáil agus gníomhaigh próifíl oibreora chun cárta SIM fíorúil a úsáid 10 | Díchumasófar SIM 2 má chumasóidh tú eSIM. Ar mhaith leat é a chumasú ar aon nós? 11 | Cealaigh 12 | Cumasaigh 13 | 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-ru/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Настройки eSIM 8 | eSIM 9 | Загрузите и активируйте профиль оператора для использования виртуальной SIM-карты 10 | SIM-карта 2 будет отключена, если вы включите eSIM. Включить ее в любом случае? 11 | Отмена 12 | Вкл. 13 | 14 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_oplus_cammidasservice_aidl.te: -------------------------------------------------------------------------------- 1 | type hal_oplus_cammidasservice_aidl, domain; 2 | binder_use(hal_oplus_cammidasservice_aidl) 3 | 4 | allow hal_oplus_cammidasservice_aidl fwk_stats_service:service_manager find; 5 | binder_call(hal_oplus_cammidasservice_aidl, system_server) 6 | 7 | hal_server_domain(hal_oplus_cammidasservice_aidl, vendor_hal_oplus_cammidasservice) 8 | 9 | type hal_oplus_cammidasservice_aidl_exec, exec_type, vendor_file_type, file_type; 10 | init_daemon_domain(hal_oplus_cammidasservice_aidl) 11 | 12 | binder_call(vendor_hal_oplus_cammidasservice_client, vendor_hal_oplus_cammidasservice_server) 13 | 14 | hal_attribute_service(vendor_hal_oplus_cammidasservice, hal_oplus_cammidasservice_aidl_service) 15 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-fr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Paramètres eSIM 8 | eSIM 9 | Télécharger et activer un profil d\'opérateur pour utiliser une carte SIM virtuelle 10 | La carte SIM 2 sera désactivée si vous activez l\'eSIM. L\'activer quand même ? 11 | Annuler 12 | Activer 13 | 14 | -------------------------------------------------------------------------------- /oplus-fwk/src/android/telephony/OplusTelephonyManager.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package android.telephony; 7 | 8 | import android.content.Context; 9 | 10 | public class OplusTelephonyManager { 11 | private static OplusTelephonyManager sInstance = null; 12 | 13 | public OplusTelephonyManager(Context context) {} 14 | 15 | public static OplusTelephonyManager getInstance(Context context) { 16 | if (sInstance == null) { 17 | sInstance = new OplusTelephonyManager(context); 18 | } 19 | return sInstance; 20 | } 21 | 22 | public String getImsType(int slotId) { 23 | return null; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /power/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // SPDX-FileCopyrightText: 2024-2025 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | cc_library_static { 7 | name: "power-ext-oplus", 8 | defaults: ["android.hardware.power-ndk_shared"], 9 | vendor: true, 10 | srcs: [ 11 | "power-mode.cpp", 12 | ], 13 | cppflags: select(soong_config_variable("power_libperfmgr", "mode_extension_lib"), { 14 | any: ["-DLIBPERFMGR_EXT"], 15 | default: [], 16 | }), 17 | header_libs: [ 18 | "vendor.oplus.hardware.touch-headers", 19 | ], 20 | shared_libs: [ 21 | "libbase", 22 | ], 23 | whole_static_libs: [ 24 | "vendor.oplus.hardware.touch-V2-ndk", 25 | ], 26 | } 27 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_graphics_composer_default.te: -------------------------------------------------------------------------------- 1 | binder_call(hal_graphics_composer_default, hal_graphics_composer_default) 2 | 3 | add_service(hal_graphics_composer_default, hal_display_iris_aidl_service) 4 | add_service(hal_graphics_composer_default, hal_oplus_cwb_aidl_service) 5 | add_service(hal_graphics_composer_default, hal_oplus_displaycolor_aidl_service) 6 | 7 | allow hal_graphics_composer_default fwk_sensor_service:service_manager find; 8 | 9 | allow hal_graphics_composer_default vendor_proc_display:file r_file_perms; 10 | 11 | set_prop(hal_graphics_composer_default, system_oplus_iris_prop) 12 | get_prop(hal_graphics_composer_default, system_oplus_project_prop) 13 | set_prop(hal_graphics_composer_default, vendor_display_prop) 14 | -------------------------------------------------------------------------------- /eSimSwitcher/res/values-ta/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | eSIM அமைப்புகள் 8 | eSIM 9 | மெய்நிகர் செறிவு அட்டையைப் பயன்படுத்த, இயக்கித் தற்குறிப்பைப் பதிவிறக்கிச் செயற்படுத்துக 10 | நீர் eSIM ஐச் செயற்படுத்தினால், SIM 2 முடக்கப்படும். இருந்தாலும் செயற்படுத்தவா? 11 | விலக்குக 12 | இயக்குக 13 | 14 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_oplus_performance_aidl.te: -------------------------------------------------------------------------------- 1 | type hal_oplus_performance_aidl, domain; 2 | binder_use(hal_oplus_performance_aidl) 3 | 4 | hal_server_domain(hal_oplus_performance_aidl, vendor_hal_oplus_performance) 5 | 6 | type hal_oplus_performance_aidl_exec, exec_type, vendor_file_type, file_type; 7 | init_daemon_domain(hal_oplus_performance_aidl) 8 | 9 | binder_call(vendor_hal_oplus_performance_client, vendor_hal_oplus_performance_server) 10 | 11 | hal_attribute_service(vendor_hal_oplus_performance, hal_oplus_performance_aidl_service) 12 | 13 | r_dir_file(hal_oplus_performance_aidl, proc_version) 14 | rw_dir_file(hal_oplus_performance_aidl, vendor_proc_oplus_ctp) 15 | rw_dir_file(hal_oplus_performance_aidl, vendor_proc_oplus_scheduler) 16 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/performance/ProcMemStat.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.performance; 7 | 8 | @VintfStability 9 | parcelable ProcMemStat { 10 | String comm; 11 | boolean is_32bit = false; 12 | int oom_score_adj = 0; 13 | int nr_fds = 0; 14 | int uid = 0; 15 | int pid = 0; 16 | int ppid = 0; 17 | int anon = 0; 18 | int file = 0; 19 | int shmem = 0; 20 | int swap = 0; 21 | int vss = 0; 22 | int pss = 0; 23 | int swap_rss = 0; 24 | int javaheap = 0; 25 | int nativeheap = 0; 26 | int ashmem = 0; 27 | int dmabuf = 0; 28 | int gpu = 0; 29 | } 30 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/urcc/UrccRequestParcel.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package vendor.oplus.hardware.urcc; 7 | 8 | import vendor.oplus.hardware.urcc.IUrccCallback; 9 | import vendor.oplus.hardware.urcc.UrccRequestData; 10 | 11 | @VintfStability 12 | parcelable UrccRequestParcel { 13 | String identity; 14 | String[] mParams; 15 | UrccRequestData[] mUrccRequestData; 16 | byte[] otherData; 17 | String pkgName; 18 | IUrccCallback urccCallback; 19 | int type; 20 | boolean screenoff_support; 21 | int prio; 22 | int callingPID; 23 | int callingUID; 24 | long duration; 25 | int handle; 26 | } 27 | -------------------------------------------------------------------------------- /aidl/commondcs/CommonDcsAidlHalService.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2025 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #include "CommonDcsAidlHalService.h" 8 | 9 | namespace aidl { 10 | namespace vendor { 11 | namespace oplus { 12 | namespace hardware { 13 | namespace commondcs { 14 | 15 | ndk::ScopedAStatus CommonDcsAidlHalService::notifyMsgToCommonDcs( 16 | const std::vector& data, const std::string& logTag, const std::string& eventId, 17 | int32_t* _aidl_return) { 18 | *_aidl_return = 0; 19 | return ndk::ScopedAStatus::ok(); 20 | } 21 | 22 | } // namespace commondcs 23 | } // namespace hardware 24 | } // namespace oplus 25 | } // namespace vendor 26 | } // namespace aidl 27 | -------------------------------------------------------------------------------- /aidl/touch/TouchscreenGestureConfig.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #pragma once 7 | 8 | #include "TouchscreenGesture.h" 9 | 10 | namespace aidl { 11 | namespace vendor { 12 | namespace lineage { 13 | namespace touch { 14 | 15 | const int TouchscreenGesture::kSupportedGestures = makeBitField( 16 | kGestureUpVee, kGestureDownVee, kGestureLeftVee, kGestureRightVee, kGestureCircle, 17 | kGestureDoubleSwipe, kGestureLeftToRight, kGestureRightToLeft, kGestureUpToDown, 18 | kGestureDownToUp, kGestureM, kGestureW, kGestureSingleTap, kGestureS); 19 | 20 | } // namespace touch 21 | } // namespace lineage 22 | } // namespace vendor 23 | } // namespace aidl 24 | -------------------------------------------------------------------------------- /Pen/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | android_app { 7 | name: "OplusPen", 8 | 9 | srcs: ["src/**/*.kt"], 10 | 11 | certificate: "platform", 12 | platform_apis: true, 13 | privileged: true, 14 | system_ext_specific: true, 15 | 16 | optimize: { 17 | proguard_flags_files: ["proguard.flags"], 18 | }, 19 | required: [ 20 | "default-permissions_org.lineageos.pen", 21 | ], 22 | } 23 | 24 | prebuilt_etc { 25 | name: "default-permissions_org.lineageos.pen", 26 | system_ext_specific: true, 27 | src: "default-permissions_org.lineageos.pen.xml", 28 | sub_dir: "default-permissions", 29 | filename_from_src: true, 30 | } 31 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/touch/IOplusTouch.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024-2025 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.touch; 8 | 9 | import vendor.oplus.hardware.touch.OplusTouchInfo; 10 | 11 | @VintfStability 12 | interface IOplusTouch { 13 | int initialize(); 14 | int isTouchNodeSupport(int deviceId, int nodeFlag); 15 | String touchReadNodeFile(int deviceId, int nodeFlag); 16 | int touchWriteNodeFile(int deviceId, int nodeFlag, String info); 17 | int touchWriteBtInfo(int deviceId, int nodeFlag, String info); 18 | void touchWriteNodeFileOneWay(int deviceId, int nodeFlag, String info); 19 | int touchNotifyClient(int clientFlag, in OplusTouchInfo info); 20 | } 21 | -------------------------------------------------------------------------------- /aidl/powershare/PowerShare.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | namespace aidl { 11 | namespace vendor { 12 | namespace lineage { 13 | namespace powershare { 14 | 15 | class PowerShare : public BnPowerShare { 16 | public: 17 | ndk::ScopedAStatus getMinBattery(int32_t* _aidl_return) override; 18 | ndk::ScopedAStatus isEnabled(bool* _aidl_return) override; 19 | ndk::ScopedAStatus setEnabled(bool enable) override; 20 | ndk::ScopedAStatus setMinBattery(int32_t minBattery) override; 21 | }; 22 | 23 | } // namespace powershare 24 | } // namespace lineage 25 | } // namespace vendor 26 | } // namespace aidl 27 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_oplus_displaypanelfeature_aidl.te: -------------------------------------------------------------------------------- 1 | type hal_oplus_displaypanelfeature_aidl, domain; 2 | binder_use(hal_oplus_displaypanelfeature_aidl) 3 | vndbinder_use(hal_oplus_displaypanelfeature_aidl) 4 | 5 | type hal_oplus_displaypanelfeature_aidl_exec, exec_type, vendor_file_type, file_type; 6 | init_daemon_domain(hal_oplus_displaypanelfeature_aidl) 7 | 8 | hal_server_domain(hal_oplus_displaypanelfeature_aidl, vendor_hal_oplus_displaypanelfeature) 9 | 10 | hal_attribute_service(vendor_hal_oplus_displaypanelfeature, hal_oplus_displaypanel_aidl_service) 11 | 12 | add_service(hal_oplus_displaypanelfeature_aidl, dpa_service) 13 | 14 | allow hal_oplus_displaypanelfeature_aidl graphics_device:chr_file rw_file_perms; 15 | 16 | get_prop(hal_oplus_displaypanelfeature_aidl, boot_status_prop) 17 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_fingerprintpay_oplus.te: -------------------------------------------------------------------------------- 1 | type hal_fingerprintpay_oplus, domain; 2 | binder_use(hal_fingerprintpay_oplus) 3 | 4 | hal_server_domain(hal_fingerprintpay_oplus, vendor_hal_fingerprintpay) 5 | 6 | type hal_fingerprintpay_oplus_exec, exec_type, vendor_file_type, file_type; 7 | init_daemon_domain(hal_fingerprintpay_oplus) 8 | 9 | binder_call(vendor_hal_fingerprintpay_client, vendor_hal_fingerprintpay_server) 10 | 11 | hal_attribute_service(vendor_hal_fingerprintpay, hal_fingerprintpay_service) 12 | 13 | allow hal_fingerprintpay_oplus ion_device:chr_file rw_file_perms; 14 | allow hal_fingerprintpay_oplus tee_device:chr_file rw_file_perms; 15 | 16 | r_dir_file(hal_fingerprintpay_oplus, vendor_proc_oppo_secure_common_file) 17 | set_prop(hal_fingerprintpay_oplus, vendor_oplus_rpmb_enable_state_prop) 18 | -------------------------------------------------------------------------------- /Pen/res/drawable/ic_stylus.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /eSimSwitcher/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | android_app { 7 | name: "OplusEsimSwitcher", 8 | defaults: ["SettingsLibDefaults"], 9 | 10 | srcs: ["src/**/*.kt"], 11 | 12 | resource_dirs: ["res"], 13 | 14 | certificate: "platform", 15 | platform_apis: true, 16 | system_ext_specific: true, 17 | privileged: true, 18 | privapp_allowlist: "org.lineageos.settings.esimswitcher.xml", 19 | 20 | static_libs: [ 21 | "androidx.core_core", 22 | "androidx.preference_preference", 23 | "org.lineageos.settings.resources", 24 | "vendor.oplus.hardware.esim-V1-java", 25 | ], 26 | 27 | optimize: { 28 | proguard_flags_files: ["proguard.flags"], 29 | }, 30 | } 31 | -------------------------------------------------------------------------------- /oplus-fwk/src/com/oplus/content/OplusFeatureConfigManager.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package com.oplus.content; 7 | 8 | import android.text.TextUtils; 9 | 10 | import java.util.List; 11 | 12 | public class OplusFeatureConfigManager { 13 | public static OplusFeatureConfigManager sInstance = null; 14 | 15 | public static OplusFeatureConfigManager getInstance() { 16 | if (sInstance == null) { 17 | sInstance = new OplusFeatureConfigManager(); 18 | } 19 | return sInstance; 20 | } 21 | 22 | public boolean hasFeature(String featureName) { 23 | return false; 24 | } 25 | 26 | public interface OnFeatureObserver { 27 | default void onFeatureUpdate(List features) {} 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /aidl/ir/ConsumerIr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | namespace aidl { 11 | namespace android { 12 | namespace hardware { 13 | namespace ir { 14 | 15 | class ConsumerIr : public BnConsumerIr { 16 | public: 17 | ConsumerIr(); 18 | 19 | private: 20 | ::ndk::ScopedAStatus getCarrierFreqs(std::vector* _aidl_return) override; 21 | ::ndk::ScopedAStatus transmit(int32_t carrierFreqHz, 22 | const std::vector& pattern) override; 23 | 24 | std::vector supportedFreqs; 25 | }; 26 | 27 | } // namespace ir 28 | } // namespace hardware 29 | } // namespace android 30 | } // namespace aidl 31 | -------------------------------------------------------------------------------- /aidl/vibrator/richtap/service.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | #include "Vibrator.h" 11 | 12 | using aidl::android::hardware::vibrator::Vibrator; 13 | 14 | int main() { 15 | ABinderProcess_setThreadPoolMaxThreadCount(0); 16 | std::shared_ptr vib = ndk::SharedRefBase::make(); 17 | 18 | const std::string instance = std::string() + Vibrator::descriptor + "/default"; 19 | binder_status_t status = AServiceManager_addService(vib->asBinder().get(), instance.c_str()); 20 | CHECK(status == STATUS_OK); 21 | 22 | ABinderProcess_joinThreadPool(); 23 | return EXIT_FAILURE; // should not reach 24 | } 25 | -------------------------------------------------------------------------------- /IFAAService/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 10 | 11 | 14 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /aidl/livedisplay/include/livedisplay/oplus/AntiFlicker.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2021-2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | namespace aidl { 11 | namespace vendor { 12 | namespace lineage { 13 | namespace livedisplay { 14 | 15 | class AntiFlicker : public BnAntiFlicker { 16 | public: 17 | AntiFlicker(); 18 | 19 | // Methods from ::aidl::vendor::lineage::livedisplay::BnAntiFlicker follow. 20 | ndk::ScopedAStatus getEnabled(bool* _aidl_return) override; 21 | ndk::ScopedAStatus setEnabled(bool enabled) override; 22 | 23 | private: 24 | int mOplusDisplayFd; 25 | }; 26 | 27 | } // namespace livedisplay 28 | } // namespace lineage 29 | } // namespace vendor 30 | } // namespace aidl 31 | -------------------------------------------------------------------------------- /doze/res/drawable/ic_pickup.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_oplus_touch_aidl.te: -------------------------------------------------------------------------------- 1 | type hal_oplus_touch_aidl, domain; 2 | binder_use(hal_oplus_touch_aidl) 3 | vndbinder_use(hal_oplus_touch_aidl) 4 | 5 | hal_server_domain(hal_oplus_touch_aidl, vendor_hal_oplus_touch) 6 | 7 | type hal_oplus_touch_aidl_exec, exec_type, vendor_file_type, file_type; 8 | init_daemon_domain(hal_oplus_touch_aidl) 9 | 10 | binder_call(vendor_hal_oplus_touch_client, vendor_hal_oplus_touch_server) 11 | 12 | add_service(hal_oplus_touch_aidl, hal_oplus_touch_aidl_service) 13 | 14 | allow hal_oplus_touch_aidl touchDeamonBinder_service:service_manager find; 15 | 16 | binder_call(hal_oplus_touch_aidl, oplus_touchdaemon) 17 | 18 | unix_socket_send(hal_oplus_touch_aidl, oplus_touchdaemon, oplus_touchdaemon) 19 | 20 | rw_dir_file(hal_oplus_touch_aidl, oplus_touchdaemon_device) 21 | rw_dir_file(hal_oplus_touch_aidl, vendor_proc_display) 22 | -------------------------------------------------------------------------------- /aidl/commondcs/CommonDcsAidlHalService.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2025 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #pragma once 8 | 9 | #include 10 | 11 | namespace aidl { 12 | namespace vendor { 13 | namespace oplus { 14 | namespace hardware { 15 | namespace commondcs { 16 | 17 | struct CommonDcsAidlHalService : public BnCommonDcsAidlHalService { 18 | ndk::ScopedAStatus notifyMsgToCommonDcs(const std::vector& data, 19 | const std::string& logTag, const std::string& eventId, 20 | int32_t* _aidl_return) final; 21 | }; 22 | 23 | } // namespace commondcs 24 | } // namespace hardware 25 | } // namespace oplus 26 | } // namespace vendor 27 | } // namespace aidl 28 | -------------------------------------------------------------------------------- /aidl/ir/service.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #include "ConsumerIr.h" 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | using ::aidl::android::hardware::ir::ConsumerIr; 13 | 14 | int main() { 15 | ABinderProcess_setThreadPoolMaxThreadCount(0); 16 | std::shared_ptr consumerIr = ndk::SharedRefBase::make(); 17 | 18 | const std::string instance = std::string() + ConsumerIr::descriptor + "/default"; 19 | binder_status_t status = 20 | AServiceManager_addService(consumerIr->asBinder().get(), instance.c_str()); 21 | CHECK_EQ(status, STATUS_OK); 22 | 23 | ABinderProcess_joinThreadPool(); 24 | return EXIT_FAILURE; // should not reach 25 | } 26 | -------------------------------------------------------------------------------- /aidl/livedisplay/include/livedisplay/oplus/AdaptiveBacklight.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | namespace aidl { 11 | namespace vendor { 12 | namespace lineage { 13 | namespace livedisplay { 14 | 15 | class AdaptiveBacklight : public BnAdaptiveBacklight { 16 | public: 17 | AdaptiveBacklight(); 18 | 19 | // Methods from ::aidl::vendor::lineage::livedisplay::BnAdaptiveBacklight follow. 20 | ndk::ScopedAStatus getEnabled(bool* _aidl_return) override; 21 | ndk::ScopedAStatus setEnabled(bool enabled) override; 22 | 23 | private: 24 | int mOplusDisplayFd; 25 | }; 26 | 27 | } // namespace livedisplay 28 | } // namespace lineage 29 | } // namespace vendor 30 | } // namespace aidl 31 | -------------------------------------------------------------------------------- /aidl/powershare/service.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #include "PowerShare.h" 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | using aidl::vendor::lineage::powershare::PowerShare; 13 | 14 | int main() { 15 | ABinderProcess_setThreadPoolMaxThreadCount(0); 16 | std::shared_ptr powershare = ndk::SharedRefBase::make(); 17 | 18 | const std::string instance = std::string(PowerShare::descriptor) + "/default"; 19 | binder_status_t status = 20 | AServiceManager_addService(powershare->asBinder().get(), instance.c_str()); 21 | CHECK_EQ(status, STATUS_OK); 22 | 23 | ABinderProcess_joinThreadPool(); 24 | return EXIT_FAILURE; // should not reach 25 | } 26 | -------------------------------------------------------------------------------- /Euicc/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2023-2025 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | android_app { 8 | name: "OplusEuicc", 9 | 10 | srcs: ["src/**/*.kt"], 11 | 12 | sdk_version: "current", 13 | product_specific: true, 14 | certificate: "platform", 15 | privileged: true, 16 | privapp_allowlist: "org.lineageos.euicc.xml", 17 | 18 | optimize: { 19 | proguard_flags_files: ["proguard.flags"], 20 | }, 21 | required: [ 22 | "hidden-api-whitelist-org.lineageos.euicc.xml", 23 | ], 24 | } 25 | 26 | prebuilt_etc { 27 | name: "hidden-api-whitelist-org.lineageos.euicc.xml", 28 | relative_install_path: "sysconfig", 29 | filename: "hidden-api-whitelist-org.lineageos.euicc.xml", 30 | src: "hidden-api-whitelist-org.lineageos.euicc.xml", 31 | product_specific: true, 32 | } 33 | -------------------------------------------------------------------------------- /aidl/livedisplay/include/livedisplay/oplus/SunlightEnhancement.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2019-2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #pragma once 7 | 8 | #include 9 | 10 | namespace aidl { 11 | namespace vendor { 12 | namespace lineage { 13 | namespace livedisplay { 14 | 15 | class SunlightEnhancement : public BnSunlightEnhancement { 16 | public: 17 | SunlightEnhancement(); 18 | 19 | // Methods from ::aidl::vendor::lineage::livedisplay::BnSunlightEnhancement follow. 20 | ndk::ScopedAStatus getEnabled(bool* _aidl_return) override; 21 | ndk::ScopedAStatus setEnabled(bool enabled) override; 22 | 23 | private: 24 | int mOplusDisplayFd; 25 | }; 26 | 27 | } // namespace livedisplay 28 | } // namespace lineage 29 | } // namespace vendor 30 | } // namespace aidl 31 | -------------------------------------------------------------------------------- /aidl/performance/service.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #include "Performance.h" 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | using ::aidl::vendor::oplus::hardware::performance::Performance; 13 | 14 | int main() { 15 | ABinderProcess_setThreadPoolMaxThreadCount(0); 16 | std::shared_ptr performance = ndk::SharedRefBase::make(); 17 | 18 | const std::string instance = std::string() + Performance::descriptor + "/default"; 19 | binder_status_t status = 20 | AServiceManager_addService(performance->asBinder().get(), instance.c_str()); 21 | CHECK_EQ(status, STATUS_OK); 22 | 23 | ABinderProcess_joinThreadPool(); 24 | return EXIT_FAILURE; // should not reach 25 | } 26 | -------------------------------------------------------------------------------- /aidl/touch/GloveMode.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | 11 | namespace aidl { 12 | namespace vendor { 13 | namespace lineage { 14 | namespace touch { 15 | 16 | using aidl::vendor::oplus::hardware::touch::IOplusTouch; 17 | 18 | class GloveMode : public BnGloveMode { 19 | public: 20 | explicit GloveMode(std::shared_ptr oplusTouch); 21 | 22 | ndk::ScopedAStatus getEnabled(bool* _aidl_return) override; 23 | ndk::ScopedAStatus setEnabled(bool enabled) override; 24 | 25 | private: 26 | std::shared_ptr mOplusTouch; 27 | }; 28 | 29 | } // namespace touch 30 | } // namespace lineage 31 | } // namespace vendor 32 | } // namespace aidl 33 | -------------------------------------------------------------------------------- /doze/src/org/lineageos/settings/doze/DozeSettingsActivity.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021-2024 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package org.lineageos.settings.doze 7 | 8 | import android.os.Bundle 9 | import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity 10 | 11 | class DozeSettingsActivity : CollapsingToolbarBaseActivity() { 12 | override fun onCreate(savedInstanceState: Bundle?) { 13 | super.onCreate(savedInstanceState) 14 | supportFragmentManager 15 | .beginTransaction() 16 | .replace( 17 | com.android.settingslib.collapsingtoolbar.R.id.content_frame, 18 | DozeSettingsFragment(), 19 | TAG 20 | ).commit() 21 | } 22 | 23 | companion object { 24 | private const val TAG = "DozeSettingsActivity" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /eSimSwitcher/res/drawable/ic_settings_esim.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /eSimSwitcher/src/org/lineageos/settings/esimswitcher/EsimSettingsActivity.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package org.lineageos.settings.esimswitcher 7 | 8 | import android.os.Bundle 9 | import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity 10 | 11 | class EsimSettingsActivity : CollapsingToolbarBaseActivity() { 12 | override fun onCreate(savedInstanceState: Bundle?) { 13 | super.onCreate(savedInstanceState) 14 | supportFragmentManager 15 | .beginTransaction() 16 | .replace( 17 | com.android.settingslib.collapsingtoolbar.R.id.content_frame, 18 | EsimSettingsFragment(), 19 | TAG 20 | ).commit() 21 | } 22 | 23 | companion object { 24 | private const val TAG = "EsimSettingsActivity" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /KeyHandler/src/org/lineageos/settings/device/ButtonSettingsActivity.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2021-2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package org.lineageos.settings.device 7 | 8 | import android.os.Bundle 9 | import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity 10 | 11 | class ButtonSettingsActivity : CollapsingToolbarBaseActivity() { 12 | public override fun onCreate(savedInstanceState: Bundle?) { 13 | super.onCreate(savedInstanceState) 14 | supportFragmentManager 15 | .beginTransaction() 16 | .replace( 17 | com.android.settingslib.collapsingtoolbar.R.id.content_frame, 18 | ButtonSettingsFragment(), 19 | TAG 20 | ).commit() 21 | } 22 | 23 | companion object { 24 | private const val TAG = "ButtonSettingsActivity" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /aidl/touch/HighTouchPollingRate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | 11 | namespace aidl { 12 | namespace vendor { 13 | namespace lineage { 14 | namespace touch { 15 | 16 | using aidl::vendor::oplus::hardware::touch::IOplusTouch; 17 | 18 | class HighTouchPollingRate : public BnHighTouchPollingRate { 19 | public: 20 | explicit HighTouchPollingRate(std::shared_ptr oplusTouch); 21 | 22 | ndk::ScopedAStatus getEnabled(bool* _aidl_return) override; 23 | ndk::ScopedAStatus setEnabled(bool enabled) override; 24 | 25 | private: 26 | std::shared_ptr mOplusTouch; 27 | }; 28 | 29 | } // namespace touch 30 | } // namespace lineage 31 | } // namespace vendor 32 | } // namespace aidl 33 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/subsystem_daemon.te: -------------------------------------------------------------------------------- 1 | type subsystem_daemon, domain; 2 | binder_use(subsystem_daemon) 3 | 4 | hal_server_domain(subsystem_daemon, vendor_hal_subsys) 5 | 6 | type subsystem_daemon_exec, exec_type, vendor_file_type, file_type; 7 | init_daemon_domain(subsystem_daemon) 8 | 9 | binder_call(vendor_hal_subsys_client, vendor_hal_subsys_server) 10 | binder_call(vendor_hal_subsys_server, vendor_hal_subsys_client) 11 | 12 | hal_attribute_service(vendor_hal_subsys, hal_subsys_service) 13 | 14 | allow subsystem_daemon block_device:dir r_dir_perms; 15 | allow subsystem_daemon self:qipcrtr_socket create_socket_perms_no_ioctl; 16 | allow subsystem_daemon vendor_reserve_partition:blk_file r_file_perms; 17 | allow subsystem_daemon vendor_sysfs_soc_sensitive:file r_file_perms; 18 | 19 | set_prop(subsystem_daemon, vendor_nw_exported_system_prop) 20 | set_prop(subsystem_daemon, vendor_radio_prop) 21 | 22 | rw_dir_file(subsystem_daemon, vendor_olog_file) 23 | -------------------------------------------------------------------------------- /aidl/commondcs/service.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2025 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #include "CommonDcsAidlHalService.h" 8 | 9 | #include 10 | #include 11 | #include 12 | 13 | using ::aidl::vendor::oplus::hardware::commondcs::CommonDcsAidlHalService; 14 | 15 | int main() { 16 | ABinderProcess_setThreadPoolMaxThreadCount(0); 17 | std::shared_ptr service = 18 | ndk::SharedRefBase::make(); 19 | 20 | const std::string instance = std::string() + CommonDcsAidlHalService::descriptor + "/default"; 21 | binder_status_t status = 22 | AServiceManager_addService(service->asBinder().get(), instance.c_str()); 23 | CHECK_EQ(status, STATUS_OK); 24 | 25 | ABinderProcess_joinThreadPool(); 26 | return EXIT_FAILURE; // should not reach 27 | } 28 | -------------------------------------------------------------------------------- /aidl/osense-client/service.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #include "OsenseAidlHalReporter.h" 8 | 9 | #include 10 | #include 11 | #include 12 | 13 | using ::aidl::vendor::oplus::hardware::osense::client::OsenseAidlHalReporter; 14 | 15 | int main() { 16 | ABinderProcess_setThreadPoolMaxThreadCount(0); 17 | std::shared_ptr reporter = 18 | ndk::SharedRefBase::make(); 19 | 20 | const std::string instance = std::string() + OsenseAidlHalReporter::descriptor + "/default"; 21 | binder_status_t status = 22 | AServiceManager_addService(reporter->asBinder().get(), instance.c_str()); 23 | CHECK_EQ(status, STATUS_OK); 24 | 25 | ABinderProcess_joinThreadPool(); 26 | return EXIT_FAILURE; // should not reach 27 | } 28 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/hal_oplus_sensor_aidl.te: -------------------------------------------------------------------------------- 1 | type hal_oplus_sensor_aidl, domain; 2 | binder_use(hal_oplus_sensor_aidl) 3 | 4 | hal_server_domain(hal_oplus_sensor_aidl, vendor_hal_oplus_sensor) 5 | 6 | type hal_oplus_sensor_aidl_exec, exec_type, vendor_file_type, file_type; 7 | init_daemon_domain(hal_oplus_sensor_aidl) 8 | 9 | binder_call(vendor_hal_oplus_sensor_client, vendor_hal_oplus_sensor_server) 10 | 11 | hal_attribute_service(vendor_hal_oplus_sensor, hal_oplus_sensor_aidl_service) 12 | 13 | allow hal_oplus_sensor_aidl block_device:dir search; 14 | allow hal_oplus_sensor_aidl vendor_reserve_partition:blk_file r_file_perms; 15 | 16 | allow hal_oplus_sensor_aidl mnt_vendor_file:dir search; 17 | 18 | r_dir_file(hal_oplus_sensor_aidl, vendor_persist_engineer_file) 19 | r_dir_file(hal_oplus_sensor_aidl, vendor_persist_sensors_file) 20 | rw_dir_file(hal_oplus_sensor_aidl, vendor_proc_eng_cali_file) 21 | rw_dir_file(hal_oplus_sensor_aidl, vendor_proc_oplus_als_file) 22 | -------------------------------------------------------------------------------- /interfaces/aidl/vendor/oplus/hardware/osense/client/IOsenseAidlHalReporter.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | package vendor.oplus.hardware.osense.client; 8 | 9 | import vendor.oplus.hardware.osense.client.OsenseAidlHalNotifyRequest; 10 | import vendor.oplus.hardware.osense.client.OsenseAidlHalSaRequest; 11 | import vendor.oplus.hardware.osense.client.OsenseControlInfo; 12 | 13 | @VintfStability 14 | interface IOsenseAidlHalReporter { 15 | int checkAccessPermission(String identity); 16 | void osenseClrSceneAction(String identity, long request); 17 | void osenseSetNotification(String identity, in OsenseAidlHalNotifyRequest osenseHalNotifyRequest); 18 | void osenseSetSceneAction(String identity, in OsenseAidlHalSaRequest osenseHalSaRequest); 19 | void osenseResetCtrlData(String identity); 20 | void osenseSetCtrlData(String identity, in OsenseControlInfo ctrldata); 21 | } 22 | -------------------------------------------------------------------------------- /oplus-fwk/src/com/oplus/internal/evolution/INetworklessCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2025 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package com.oplus.internal.evolution; 7 | 8 | import android.os.Bundle; 9 | import android.os.IInterface; 10 | 11 | import com.oplus.evolution.NetworklessDevice; 12 | 13 | import java.util.List; 14 | 15 | public interface INetworklessCallback extends IInterface { 16 | default void onCallStateChanged(int state) {} 17 | default void onDeviceDiscoveryFinished(List devices) {} 18 | default void onDeviceSupportChanged(boolean supported) {} 19 | default void onNLSmsSupportChanged(boolean supported) {} 20 | default void onNearDevicesChanges(int event, List devices) {} 21 | default void onNetworklessInfo(Bundle bundle) {} 22 | default void onOperatingStateChanged(int state) {} 23 | default void onSwitchStateChanged(boolean enabled) {} 24 | } 25 | -------------------------------------------------------------------------------- /KeyHandler/res/values-in/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Tindakan 8 | Posisi atas 9 | Posisi tengah 10 | Posisi bawah 11 | Tidak ada 12 | Senyap 13 | Normal 14 | Getaran 15 | Hanya prioritas 16 | Senyap total 17 | Hanya alarm 18 | 19 | -------------------------------------------------------------------------------- /aidl/vibrator/richtap/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2025 The LineageOS Project 3 | // SPDX-License-Identifier: Apache-2.0 4 | // 5 | 6 | cc_binary { 7 | name: "android.hardware.vibrator.service.oplus-richtap", 8 | vendor: true, 9 | cflags: [ 10 | "-Wall", 11 | "-Werror", 12 | "-DLOG_TAG=\"android.hardware.vibrator.service.oplus\"", 13 | ], 14 | relative_install_path: "hw", 15 | init_rc: ["android.hardware.vibrator.service.oplus-richtap.rc"], 16 | vintf_fragments: [ 17 | "android.hardware.vibrator.service.oplus-richtap.xml", 18 | ], 19 | srcs: [ 20 | "service.cpp", 21 | "Vibrator.cpp", 22 | ], 23 | shared_libs: [ 24 | "libcutils", 25 | "libutils", 26 | "liblog", 27 | "libbase", 28 | "libbinder_ndk", 29 | "libaacvibrator", 30 | "android.hardware.vibrator-V2-ndk", 31 | ], 32 | } 33 | 34 | cc_library_shared { 35 | name: "libaacvibrator", 36 | soc_specific: true, 37 | } 38 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/device.te: -------------------------------------------------------------------------------- 1 | # Audio Amplifier 2 | type oplus_awsmartpa_device, dev_type; 3 | 4 | # Camera 5 | type vendor_camera_turbo_device, dev_type; 6 | 7 | # Charging 8 | type oplus_charger_device, dev_type; 9 | 10 | # eSIM 11 | type esim_det_device, dev_type; 12 | type esim_en_device, dev_type; 13 | type esim_gpio_device, dev_type; 14 | 15 | # Fingerprint 16 | type fingerprint_device, dev_type; 17 | 18 | # IR 19 | type oplus_consumer_ir_device, dev_type; 20 | 21 | # NVRAM 22 | type nvram_device, dev_type; 23 | 24 | # Pogo pin keyboard 25 | type oplus_pogo_keyboard_device, dev_type; 26 | 27 | # Reserve 28 | type vendor_reserve_partition, dev_type; 29 | 30 | # Sensors 31 | type ssc_interactive_device, dev_type; 32 | 33 | # TOF 34 | type vendor_tof_device, dev_type; 35 | 36 | # Touch 37 | type oplus_touchdaemon_device, dev_type; 38 | 39 | # Ultrasound 40 | type ultrasound_device, dev_type; 41 | 42 | # Vibrator 43 | type aac_richtap_device, dev_type; 44 | 45 | # Wlchgmonitor 46 | type wlchg_device, dev_type; 47 | -------------------------------------------------------------------------------- /kernel-headers/include/oplus/oplus_ir_core.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2025 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 | #pragma once 18 | 19 | #include 20 | 21 | #define IR_IOCTL_GROUP 0xE5 22 | 23 | #define IR_GET_INF _IO(IR_IOCTL_GROUP, 0x01) 24 | #define IR_SEND_PATTERN _IO(IR_IOCTL_GROUP, 0x02) 25 | 26 | struct pattern_params { 27 | int32_t carrier_freq; 28 | uint32_t size; 29 | uint32_t pattern[]; 30 | }; 31 | -------------------------------------------------------------------------------- /sepolicy/qti/vendor/vendor_hal_cameraMDM_default.te: -------------------------------------------------------------------------------- 1 | type vendor_hal_cameraMDM_default, domain; 2 | hal_server_domain(vendor_hal_cameraMDM_default, vendor_hal_cameraMDM) 3 | 4 | type vendor_hal_cameraMDM_default_exec, exec_type, vendor_file_type, file_type; 5 | init_daemon_domain(vendor_hal_cameraMDM_default) 6 | 7 | binder_call(vendor_hal_cameraMDM_client, vendor_hal_cameraMDM_server) 8 | binder_call(vendor_hal_cameraMDM_server, vendor_hal_cameraMDM_client) 9 | 10 | hal_attribute_hwservice(vendor_hal_cameraMDM, vendor_hal_cameraMDM_hwservice) 11 | 12 | allow vendor_hal_cameraMDM_default vendor_hal_perf_hwservice:hwservice_manager find; 13 | 14 | allow vendor_hal_cameraMDM_default tee_device:chr_file rw_file_perms; 15 | allow vendor_hal_cameraMDM_default ion_device:chr_file rw_file_perms; 16 | 17 | allow vendor_hal_cameraMDM_default vendor_camera_data_file:dir create_dir_perms; 18 | allow vendor_hal_cameraMDM_default vendor_camera_data_file:file create_file_perms; 19 | 20 | r_dir_file(vendor_hal_cameraMDM_default, firmware_file) 21 | -------------------------------------------------------------------------------- /KeyHandler/res/values/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | @string/alert_slider_mode_none 9 | @string/alert_slider_mode_normal 10 | @string/alert_slider_mode_vibration 11 | @string/alert_slider_mode_silent 12 | @string/alert_slider_mode_dnd_priority_only 13 | @string/alert_slider_mode_dnd_total_silence 14 | @string/alert_slider_mode_dnd_alarms_only 15 | 16 | 17 | 18 | -1 19 | 2 20 | 1 21 | 0 22 | 3 23 | 4 24 | 5 25 | 26 | 27 | -------------------------------------------------------------------------------- /overlay/qssi/SystemUIResCommon/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | true 10 | 11 | 14 | 15 | accessibility_display_inversion_enabled:inversion 16 | wind_down_first_time_setup:custom(com.google.android.apps.wellbeing/.screen.ui.GrayscaleTileService) 17 | focus_mode_first_time_setup:custom(com.google.android.apps.wellbeing/.focusmode.quicksettings.FocusModeTileService) 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /interfaces/oplus/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprintClientCallbackEx.hal: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2022 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 vendor.oplus.hardware.biometrics.fingerprint@2.1; 18 | 19 | interface IBiometricsFingerprintClientCallbackEx { 20 | oneway onEngineeringInfoUpdated(uint32_t lenth, vec keys, vec values); 21 | oneway onFingerprintCmd(int32_t cmdId, vec result, uint32_t resultLen); 22 | }; 23 | -------------------------------------------------------------------------------- /sepolicy/qti/SEPolicy.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2022-2024 The LineageOS Project 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | SEPOLICY_PLATFORM := $(subst device/qcom/sepolicy_vndr/,,$(SEPOLICY_PATH)) 8 | 9 | BOARD_VENDOR_SEPOLICY_DIRS += \ 10 | hardware/oplus/sepolicy/qti/vendor \ 11 | hardware/oplus/sepolicy/qti/vendor/$(SEPOLICY_PLATFORM) 12 | 13 | SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += \ 14 | hardware/oplus/sepolicy/qti/private \ 15 | hardware/oplus/sepolicy/qti/private/$(SEPOLICY_PLATFORM) 16 | 17 | SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += \ 18 | hardware/oplus/sepolicy/qti/public \ 19 | hardware/oplus/sepolicy/qti/public/$(SEPOLICY_PLATFORM) 20 | 21 | ifneq ($(SEPOLICY_PLATFORM), legacy-um) 22 | BOARD_VENDOR_SEPOLICY_DIRS += \ 23 | hardware/oplus/sepolicy/qti/vendor/common-um 24 | 25 | SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += \ 26 | hardware/oplus/sepolicy/qti/private/common-um 27 | 28 | SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += \ 29 | hardware/oplus/sepolicy/qti/public/common-um 30 | endif 31 | 32 | include device/lineage/sepolicy/libperfmgr/sepolicy.mk 33 | -------------------------------------------------------------------------------- /sensors/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022-2024 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | cc_library_shared { 8 | name: "sensors.oplus", 9 | defaults: ["hidl_defaults"], 10 | srcs: [ 11 | "Sensor.cpp", 12 | "SensorsSubHal.cpp", 13 | ], 14 | shared_libs: [ 15 | "android.hardware.sensors@1.0", 16 | "android.hardware.sensors@2.0", 17 | "android.hardware.sensors@2.0-ScopedWakelock", 18 | "android.hardware.sensors@2.1", 19 | "libcutils", 20 | "libfmq", 21 | "libhardware", 22 | "libhidlbase", 23 | "liblog", 24 | "libpower", 25 | "libutils", 26 | ], 27 | static_libs: [ 28 | "android.hardware.sensors@1.0-convert", 29 | "android.hardware.sensors@2.X-multihal", 30 | ], 31 | cflags: [ 32 | "-DLOG_TAG=\"sensors.oplus\"", 33 | ], 34 | vendor: true, 35 | } 36 | 37 | cc_library_shared { 38 | name: "sensors.ssc_custom_flag", 39 | srcs: ["SensorsSscCustomFlag.cpp"], 40 | vendor: true, 41 | } 42 | -------------------------------------------------------------------------------- /oplus-fwk/src/android/common/OplusFrameworkFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2024 The LineageOS Project 3 | * SPDX-License-Identifier: Apache-2.0 4 | */ 5 | 6 | package android.common; 7 | 8 | public class OplusFrameworkFactory implements IOplusCommonFactory { 9 | public static OplusFrameworkFactory sInstance = null; 10 | 11 | public static OplusFrameworkFactory getInstance() { 12 | if (sInstance == null) { 13 | sInstance = new OplusFrameworkFactory(); 14 | } 15 | return sInstance; 16 | } 17 | 18 | @Override 19 | public boolean isValid(int index) { 20 | boolean validOplus = 21 | index < OplusFeatureList.OplusIndex.EndOplusFrameworkFactory.ordinal() && 22 | index > OplusFeatureList.OplusIndex.StartOplusFrameworkFactory.ordinal(); 23 | boolean vaildOplusOs = 24 | index < OplusFeatureList.OplusIndex.EndOplusOsFrameworkFactory.ordinal() && 25 | index > OplusFeatureList.OplusIndex.StartOplusOsFrameworkFactory.ordinal(); 26 | return vaildOplusOs || validOplus; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /doze/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 1.0 24 | 0.0 25 | 26 | -------------------------------------------------------------------------------- /doze/res/drawable/ic_pocket.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /KeyHandler/res/values-zh-rCN/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 警报滑块 8 | 操作 9 | 顶部位置 10 | 中间位置 11 | 底部位置 12 | 13 | 静音 14 | 正常 15 | 振动 16 | 仅限优先 17 | 完全静音 18 | 仅限闹钟 19 | 静音,包括媒体音量 20 | 切换静音同时静音媒体 21 | 22 | -------------------------------------------------------------------------------- /KeyHandler/res/values-zh-rTW/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 警示滑桿 8 | 動作 9 | 頂部位置 10 | 中間位置 11 | 底部位置 12 | 13 | 靜音 14 | 一般 15 | 震動 16 | 僅限優先 17 | 一律靜音 18 | 僅限鬧鐘 19 | 靜音,包括媒體 20 | 切換靜音時靜音媒體 21 | 22 | -------------------------------------------------------------------------------- /hidl/fingerprint/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2022-2025 The LineageOS Project 3 | // 4 | // SPDX-License-Identifier: Apache-2.0 5 | // 6 | 7 | cc_binary { 8 | name: "android.hardware.biometrics.fingerprint@2.3-service.oplus", 9 | defaults: ["hidl_defaults"], 10 | init_rc: ["android.hardware.biometrics.fingerprint@2.3-service.oplus.rc"], 11 | vintf_fragments: ["android.hardware.biometrics.fingerprint@2.3-service.oplus.xml"], 12 | vendor: true, 13 | relative_install_path: "hw", 14 | srcs: [ 15 | "BiometricsFingerprint.cpp", 16 | "service.cpp", 17 | ], 18 | shared_libs: [ 19 | "libbase", 20 | "libhidlbase", 21 | "libutils", 22 | "android.hardware.biometrics.fingerprint@2.1", 23 | "android.hardware.biometrics.fingerprint@2.2", 24 | "android.hardware.biometrics.fingerprint@2.3", 25 | "vendor.oplus.hardware.biometrics.fingerprint@2.1", 26 | ], 27 | header_libs: ["kernel_headers.oplus"], 28 | required: ["qwerty.kl"], 29 | } 30 | 31 | prebuilt_usr_keylayout { 32 | name: "qwerty.kl", 33 | src: "qwerty.kl", 34 | vendor: true, 35 | } 36 | -------------------------------------------------------------------------------- /KeyHandler/res/values-ja/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | アラートスライダー 8 | 動作 9 | 上部 10 | 中央 11 | 下部 12 | なし 13 | サイレント 14 | 標準 15 | バイブ 16 | 重要な通知のみ 17 | 完全サイレント 18 | アラームのみ 19 | メディアをミュート 20 | サイレントモードに切り替えたときにメディア音量をミュートします 21 | 22 | -------------------------------------------------------------------------------- /KeyHandler/res/values-ko/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 알림 슬라이더 8 | 동작 9 | 슬라이더가 위쪽에 있을 때 10 | 슬라이더가 중간에 있을 때 11 | 슬라이더가 아래에 있을 때 12 | 없음 13 | 무음 14 | 일반 15 | 진동 16 | 중요 알림만 17 | 완전 무음 18 | 알람만 19 | 미디어 볼륨 음소거 20 | 무음으로 전환할 때 미디어 볼륨 음소거 21 | 22 | --------------------------------------------------------------------------------