diff options
| author | Julian Veit <claymore1298@gmail.com> | 2025-10-04 14:12:30 +0000 |
|---|---|---|
| committer | Julian Veit <claymore1298@gmail.com> | 2025-10-04 14:12:30 +0000 |
| commit | 04a7d455fb216fcf62513091a751fb7934ed89f8 (patch) | |
| tree | 2a4176d698e93e6cb94e010cb1d14b83aaafff18 | |
| parent | 0054d0f22d5950641625022e8f271b0e46a68354 (diff) | |
| parent | 34f36e2f7f0a8d70603bf8087d4afbd6d81be591 (diff) | |
Merge branch 'lineage-22.2' of https://github.com/LineageOS/android_hardware_oplus into HEADv15.0
Change-Id: Ic1a8d5c970cdbeab75c3a68cffdc36f0acaa5518
162 files changed, 5981 insertions, 164 deletions
diff --git a/Euicc/res/values/strings.xml b/Euicc/res/values/strings.xml index 12a232e..9778dfe 100644 --- a/Euicc/res/values/strings.xml +++ b/Euicc/res/values/strings.xml @@ -4,6 +4,6 @@ SPDX-License-Identifier: Apache-2.0 --> <resources> - <string name="sim_illustration_lottie_mappings_json">{\"sim_illustration_lottie_mappings\":[{\"devices\":[\"OP594DL1\",\"OP595DL1\",\"OP5D55L1\"],\"illustration_lottie\":\"sim_illustration_lottie_bottom\"}]}</string> - <string name="sim_slot_mappings_json">{\"sim-slot-mappings\":[{\"devices\":[\"OP594DL1\",\"OP595DL1\",\"OP5D55L1\"],\"esim-slot-ids\":[1],\"psim-slot-ids\":[0]}]}</string> + <string name="sim_illustration_lottie_mappings_json">{\"sim_illustration_lottie_mappings\":[{\"devices\":[\"OP591BL1\",\"OP5929L1\",\"OP594DL1\",\"OP595DL1\",\"OP5D0DL1\",\"OP5D55L1\"],\"illustration_lottie\":\"sim_illustration_lottie_bottom\"}]}</string> + <string name="sim_slot_mappings_json">{\"sim-slot-mappings\":[{\"devices\":[\"OP594DL1\",\"OP595DL1\",\"OP5D55L1\"],\"esim-slot-ids\":[1],\"psim-slot-ids\":[0]},{\"devices\":[\"OP591BL1\",\"OP5929L1\",\"OP5D0DL1\"],\"esim-slot-ids\":[],\"psim-slot-ids\":[0,1]}]}</string> </resources> diff --git a/KeyHandler/res/values-iw/strings.xml b/KeyHandler/res/values-iw/strings.xml new file mode 100644 index 0000000..d19edd3 --- /dev/null +++ b/KeyHandler/res/values-iw/strings.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="alert_slider_category_title">מתג התראות</string> + <string name="alert_slider_selection_dialog_title">פעולה</string> + <string name="alert_slider_top_position">ממוקם למעלה</string> + <string name="alert_slider_middle_position">ממוקם באמצע</string> + <string name="alert_slider_bottom_position">ממוקם למטה</string> + <string name="alert_slider_mode_none">ללא</string> + <string name="alert_slider_mode_silent">שקט</string> + <string name="alert_slider_mode_normal">רגיל</string> + <string name="alert_slider_mode_vibration">רטט</string> + <string name="alert_slider_mode_dnd_priority_only">עדיפות בלבד</string> + <string name="alert_slider_mode_dnd_total_silence">מושתק לחלוטין</string> + <string name="alert_slider_mode_dnd_alarms_only">שעון מעורר בלבד</string> + <string name="alert_slider_mute_media_title">השתקת מדיה</string> + <string name="alert_slider_mute_media_summary">השתקת מדיה במעבר להשתקה</string> +</resources> diff --git a/Pen/Android.bp b/Pen/Android.bp index 7801ffc..4128a43 100644 --- a/Pen/Android.bp +++ b/Pen/Android.bp @@ -10,6 +10,7 @@ android_app { certificate: "platform", platform_apis: true, + privileged: true, system_ext_specific: true, optimize: { diff --git a/Pen/AndroidManifest.xml b/Pen/AndroidManifest.xml index 5302805..d1cb52e 100644 --- a/Pen/AndroidManifest.xml +++ b/Pen/AndroidManifest.xml @@ -11,6 +11,7 @@ <uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> + <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <application android:label="@string/app_name" diff --git a/Pen/res/values-az/strings.xml b/Pen/res/values-az/strings.xml new file mode 100644 index 0000000..b19de2b --- /dev/null +++ b/Pen/res/values-az/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Qələm taxılıb</string> + <string name="tap_to_connect">Bağlanmaq üçün toxunun</string> +</resources> diff --git a/Pen/res/values-ca/strings.xml b/Pen/res/values-ca/strings.xml new file mode 100644 index 0000000..d9ab801 --- /dev/null +++ b/Pen/res/values-ca/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Bolígraf adjunt</string> + <string name="tap_to_connect">Toqueu per connectar</string> +</resources> diff --git a/Pen/res/values-cs/strings.xml b/Pen/res/values-cs/strings.xml new file mode 100644 index 0000000..50f95d6 --- /dev/null +++ b/Pen/res/values-cs/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Pero připojeno</string> + <string name="tap_to_connect">Klepnutím připojit</string> +</resources> diff --git a/Pen/res/values-el/strings.xml b/Pen/res/values-el/strings.xml new file mode 100644 index 0000000..04272b1 --- /dev/null +++ b/Pen/res/values-el/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Η γραφίδα προσαρτήθηκε</string> + <string name="tap_to_connect">Πατήστε για σύνδεση</string> +</resources> diff --git a/Pen/res/values-en-rAU/strings.xml b/Pen/res/values-en-rAU/strings.xml new file mode 100644 index 0000000..cc74b80 --- /dev/null +++ b/Pen/res/values-en-rAU/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Pen attached</string> + <string name="tap_to_connect">Tap to connect</string> +</resources> diff --git a/Pen/res/values-en-rCA/strings.xml b/Pen/res/values-en-rCA/strings.xml new file mode 100644 index 0000000..cc74b80 --- /dev/null +++ b/Pen/res/values-en-rCA/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Pen attached</string> + <string name="tap_to_connect">Tap to connect</string> +</resources> diff --git a/Pen/res/values-en-rGB/strings.xml b/Pen/res/values-en-rGB/strings.xml new file mode 100644 index 0000000..cc74b80 --- /dev/null +++ b/Pen/res/values-en-rGB/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Pen attached</string> + <string name="tap_to_connect">Tap to connect</string> +</resources> diff --git a/Pen/res/values-en-rIN/strings.xml b/Pen/res/values-en-rIN/strings.xml new file mode 100644 index 0000000..cc74b80 --- /dev/null +++ b/Pen/res/values-en-rIN/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Pen attached</string> + <string name="tap_to_connect">Tap to connect</string> +</resources> diff --git a/Pen/res/values-es/strings.xml b/Pen/res/values-es/strings.xml new file mode 100644 index 0000000..31286f6 --- /dev/null +++ b/Pen/res/values-es/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Bolígrafo adjunto</string> + <string name="tap_to_connect">Toca para conectar</string> +</resources> diff --git a/Pen/res/values-fr/strings.xml b/Pen/res/values-fr/strings.xml new file mode 100644 index 0000000..6be04bc --- /dev/null +++ b/Pen/res/values-fr/strings.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Stylo attaché</string> +</resources> diff --git a/Pen/res/values-ga-rIE/strings.xml b/Pen/res/values-ga-rIE/strings.xml new file mode 100644 index 0000000..95ea9b0 --- /dev/null +++ b/Pen/res/values-ga-rIE/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Peann ceangailte</string> + <string name="tap_to_connect">Tapáil chun ceangal</string> +</resources> diff --git a/Pen/res/values-hu/strings.xml b/Pen/res/values-hu/strings.xml new file mode 100644 index 0000000..e542f6d --- /dev/null +++ b/Pen/res/values-hu/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Toll mellékelve</string> + <string name="tap_to_connect">A csatlakoztatáshoz érintse meg</string> +</resources> diff --git a/Pen/res/values-it/strings.xml b/Pen/res/values-it/strings.xml new file mode 100644 index 0000000..f9d6408 --- /dev/null +++ b/Pen/res/values-it/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Penna attaccata</string> + <string name="tap_to_connect">Tocca per connettere</string> +</resources> diff --git a/Pen/res/values-iw/strings.xml b/Pen/res/values-iw/strings.xml new file mode 100644 index 0000000..e30fa2d --- /dev/null +++ b/Pen/res/values-iw/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">עט מצורף</string> + <string name="tap_to_connect">נגיעה להתחברות</string> +</resources> diff --git a/Pen/res/values-ja/strings.xml b/Pen/res/values-ja/strings.xml new file mode 100644 index 0000000..90c9148 --- /dev/null +++ b/Pen/res/values-ja/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">ペンを装着しました</string> + <string name="tap_to_connect">タップして接続</string> +</resources> diff --git a/Pen/res/values-pl/strings.xml b/Pen/res/values-pl/strings.xml new file mode 100644 index 0000000..e301348 --- /dev/null +++ b/Pen/res/values-pl/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Dołączone pióro</string> + <string name="tap_to_connect">Dotknij, aby połączyć</string> +</resources> diff --git a/Pen/res/values-pt-rBR/strings.xml b/Pen/res/values-pt-rBR/strings.xml new file mode 100644 index 0000000..50e993b --- /dev/null +++ b/Pen/res/values-pt-rBR/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Caneta anexada</string> + <string name="tap_to_connect">Toque para conectar</string> +</resources> diff --git a/Pen/res/values-pt-rPT/strings.xml b/Pen/res/values-pt-rPT/strings.xml new file mode 100644 index 0000000..50e993b --- /dev/null +++ b/Pen/res/values-pt-rPT/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Caneta anexada</string> + <string name="tap_to_connect">Toque para conectar</string> +</resources> diff --git a/Pen/res/values-ro/strings.xml b/Pen/res/values-ro/strings.xml new file mode 100644 index 0000000..b962831 --- /dev/null +++ b/Pen/res/values-ro/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Stilou atașat</string> + <string name="tap_to_connect">Atingeți pentru a conecta</string> +</resources> diff --git a/Pen/res/values-ru/strings.xml b/Pen/res/values-ru/strings.xml new file mode 100644 index 0000000..25a1120 --- /dev/null +++ b/Pen/res/values-ru/strings.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="tap_to_connect">Нажмите, чтобы подключить</string> +</resources> diff --git a/Pen/res/values-sl/strings.xml b/Pen/res/values-sl/strings.xml new file mode 100644 index 0000000..4898e6a --- /dev/null +++ b/Pen/res/values-sl/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Pisalo priključeno</string> + <string name="tap_to_connect">Tapnite za povezavo</string> +</resources> diff --git a/Pen/res/values-ta/strings.xml b/Pen/res/values-ta/strings.xml new file mode 100644 index 0000000..2aa8232 --- /dev/null +++ b/Pen/res/values-ta/strings.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="tap_to_connect">இணைக்கத் தட்டுக</string> +</resources> diff --git a/Pen/res/values-ug/strings.xml b/Pen/res/values-ug/strings.xml new file mode 100644 index 0000000..9724ab6 --- /dev/null +++ b/Pen/res/values-ug/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">قەلەم ئۇلاندى</string> + <string name="tap_to_connect">چېكىلسە باغلىنىدۇ</string> +</resources> diff --git a/Pen/res/values-vi/strings.xml b/Pen/res/values-vi/strings.xml new file mode 100644 index 0000000..e4c1e8b --- /dev/null +++ b/Pen/res/values-vi/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">Đã gắn bút</string> + <string name="tap_to_connect">Chạm để kết nối</string> +</resources> diff --git a/Pen/res/values-zh-rCN/strings.xml b/Pen/res/values-zh-rCN/strings.xml new file mode 100644 index 0000000..a4fb5c6 --- /dev/null +++ b/Pen/res/values-zh-rCN/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <string name="pen_attached">笔已连接</string> + <string name="tap_to_connect">轻触以连接</string> +</resources> diff --git a/Pen/res/values/config.xml b/Pen/res/values/config.xml new file mode 100644 index 0000000..f2f3c0b --- /dev/null +++ b/Pen/res/values/config.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2025 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<resources> + <!-- Max supported refresh rate when using pen. --> + <string name="config_penSupportedRefreshRate" translatable="false"></string> +</resources> diff --git a/Pen/src/org/lineageos/pen/DeviceId.kt b/Pen/src/org/lineageos/pen/DeviceId.kt new file mode 100644 index 0000000..60f1a41 --- /dev/null +++ b/Pen/src/org/lineageos/pen/DeviceId.kt @@ -0,0 +1,27 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.lineageos.pen + +import android.view.InputDevice + +enum class DeviceId(val productName: String) { + // From OplusExSystemService/pencil_device_name + ONEPLUS_PENCIL("OnePlus Pencil"), + ONEPLUS_PENCIL_PRO("OnePlus Pencil Pro"), + ONEPLUS_STYLO("OnePlus Stylo"), + ONEPLUS_STYLO_2("OnePlus Stylo 2"), + ONEPLUS_STYLO_R("OnePlus Stylo R"), + OPPO_PENCIL("OPPO Pencil"), + OPPO_PENCIL_2("OPPO Pencil 2"), + OPPO_PENCIL_2_PRO("OPPO Pencil 2 Pro"), + REALME_PENCIL("realme Pencil"); + + companion object { + fun fromInputDevice(device: InputDevice) = entries.firstOrNull { + device.vendorId == 0x22D9 && device.name.startsWith("${it.productName} ") + } + } +} diff --git a/Pen/src/org/lineageos/pen/PenService.kt b/Pen/src/org/lineageos/pen/PenService.kt index e2a3d9d..f33490e 100644 --- a/Pen/src/org/lineageos/pen/PenService.kt +++ b/Pen/src/org/lineageos/pen/PenService.kt @@ -17,14 +17,24 @@ import android.bluetooth.le.ScanResult import android.bluetooth.le.ScanSettings import android.content.Context import android.content.Intent +import android.database.ContentObserver +import android.hardware.input.InputManager +import android.os.Handler import android.os.IBinder import android.os.UEventObserver +import android.provider.Settings +import android.provider.Settings.System.PEAK_REFRESH_RATE import android.util.Log class PenService : Service() { private val bluetoothManager by lazy { getSystemService(BluetoothManager::class.java) } + private val inputManager by lazy { getSystemService(InputManager::class.java) } private val notificationManager by lazy { getSystemService(NotificationManager::class.java) } + private val penSupportedRefreshRate by lazy { getString(R.string.config_penSupportedRefreshRate) } + + private val handler by lazy { Handler(mainLooper) } + private val observer = object : UEventObserver() { private val lock = Any() @@ -43,6 +53,30 @@ class PenService : Service() { } } + private val inputObserver = object : InputManager.InputDeviceListener { + override fun onInputDeviceAdded(deviceId: Int) { + overridePeakRefreshRateIfNeeded() + } + + override fun onInputDeviceRemoved(deviceId: Int) { + overridePeakRefreshRateIfNeeded() + } + + override fun onInputDeviceChanged(deviceId: Int) { + // Do nothing + } + } + + private val peakRefreshRateSettingsObserver by lazy { + object : ContentObserver(handler) { + override fun onChange(selfChange: Boolean) { + super.onChange(selfChange) + + overridePeakRefreshRateIfNeeded() + } + } + } + override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { intent?.getStringExtra(EXTRA_PENCIL_ADDR)?.let { bondBtDevice(it) @@ -56,12 +90,28 @@ class PenService : Service() { override fun onCreate() { super.onCreate() + if (!penSupportedRefreshRate.isEmpty()) { + contentResolver.registerContentObserver( + Settings.System.getUriFor(PEAK_REFRESH_RATE), + false, + peakRefreshRateSettingsObserver + ) + peakRefreshRateSettingsObserver.onChange(true) + + inputManager.registerInputDeviceListener(inputObserver, handler) + } + observer.startObserving("DEVPATH=/devices/virtual/oplus_wireless/pencil") } override fun onDestroy() { super.onDestroy() + if (!penSupportedRefreshRate.isEmpty()) { + contentResolver.unregisterContentObserver(peakRefreshRateSettingsObserver) + inputManager.unregisterInputDeviceListener(inputObserver) + } + observer.stopObserving() } @@ -97,6 +147,21 @@ class PenService : Service() { ) } + private fun overridePeakRefreshRateIfNeeded() { + val isPenConnected = inputManager.inputDeviceIds.firstOrNull { + val device = inputManager.getInputDevice(it) ?: return@firstOrNull false + val deviceId = DeviceId.fromInputDevice(device) ?: return@firstOrNull false + return@firstOrNull true + } != null + val peakRefreshRate = Settings.System.getString(contentResolver, PEAK_REFRESH_RATE) + + if (isPenConnected && peakRefreshRate == "Infinity") { + Settings.System.putString(contentResolver, PEAK_REFRESH_RATE, penSupportedRefreshRate) + } else if (!isPenConnected && peakRefreshRate == penSupportedRefreshRate) { + Settings.System.putString(contentResolver, PEAK_REFRESH_RATE, "Infinity") + } + } + private fun postNotification(pencilAddr: String) { val adapter = bluetoothManager.adapter @@ -16,4 +16,3 @@ | OPLUS_LINEAGE_TOUCH_HAL | USE_OPLUSTOUCH | Use and interface with stock OplusTouch | false | | OPLUS_LINEAGE_VIBRATOR_HAL | INCLUDE_DIR | Device specific include dir path | | | OPLUS_LINEAGE_VIBRATOR_HAL | USE_EFFECT_STREAM | Enable effect stream feature | false | -| QTI_GPT_UTILS | USE_BSG_FRAMEWORK | Enable BSG framework feature | true | diff --git a/aidl/ir/ConsumerIr.cpp b/aidl/ir/ConsumerIr.cpp index 23c9ea5..aac4003 100644 --- a/aidl/ir/ConsumerIr.cpp +++ b/aidl/ir/ConsumerIr.cpp @@ -26,15 +26,15 @@ ConsumerIr::ConsumerIr() : supportedFreqs({{MIN_FREQ, MAX_FREQ}}) {} return ::ndk::ScopedAStatus::ok(); } -::ndk::ScopedAStatus ConsumerIr::transmit(int32_t in_carrierFreqHz, - const std::vector<int32_t>& in_pattern) { - if (in_carrierFreqHz < MIN_FREQ || in_carrierFreqHz > MAX_FREQ) { - LOG(ERROR) << "Invalid carrier frequency: " << in_carrierFreqHz; +::ndk::ScopedAStatus ConsumerIr::transmit(int32_t carrierFreqHz, + const std::vector<int32_t>& pattern) { + if (carrierFreqHz < MIN_FREQ || carrierFreqHz > MAX_FREQ) { + LOG(ERROR) << "Invalid carrier frequency: " << carrierFreqHz; return ::ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION); } int32_t totalTime = 0; - for (int32_t value : in_pattern) { + for (int32_t value : pattern) { if (value < 0) { LOG(ERROR) << "Invalid pattern value: " << value; return ::ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION); @@ -53,7 +53,7 @@ ConsumerIr::ConsumerIr() : supportedFreqs({{MIN_FREQ, MAX_FREQ}}) {} return ::ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION); } - size_t paramsSize = sizeof(struct pattern_params) + in_pattern.size() * sizeof(int32_t); + size_t paramsSize = sizeof(struct pattern_params) + pattern.size() * sizeof(int32_t); auto params = std::unique_ptr<struct pattern_params, decltype(&free)>( static_cast<pattern_params*>(malloc(paramsSize)), free); if (!params) { @@ -61,9 +61,9 @@ ConsumerIr::ConsumerIr() : supportedFreqs({{MIN_FREQ, MAX_FREQ}}) {} return ::ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION); } - params->carrier_freq = in_carrierFreqHz; - params->size = in_pattern.size(); - memcpy(params->pattern, in_pattern.data(), in_pattern.size() * sizeof(int32_t)); + params->carrier_freq = carrierFreqHz; + params->size = pattern.size(); + memcpy(params->pattern, pattern.data(), pattern.size() * sizeof(int32_t)); int result = ioctl(fd, IR_SEND_PATTERN, params.get()); diff --git a/aidl/ir/ConsumerIr.h b/aidl/ir/ConsumerIr.h index 0362470..29fa47e 100644 --- a/aidl/ir/ConsumerIr.h +++ b/aidl/ir/ConsumerIr.h @@ -18,8 +18,8 @@ class ConsumerIr : public BnConsumerIr { private: ::ndk::ScopedAStatus getCarrierFreqs(std::vector<ConsumerIrFreqRange>* _aidl_return) override; - ::ndk::ScopedAStatus transmit(int32_t in_carrierFreqHz, - const std::vector<int32_t>& in_pattern) override; + ::ndk::ScopedAStatus transmit(int32_t carrierFreqHz, + const std::vector<int32_t>& pattern) override; std::vector<ConsumerIrFreqRange> supportedFreqs; }; diff --git a/aidl/livedisplay/AntiFlicker.cpp b/aidl/livedisplay/AntiFlicker.cpp index 5743691..ffb532d 100644 --- a/aidl/livedisplay/AntiFlicker.cpp +++ b/aidl/livedisplay/AntiFlicker.cpp @@ -19,7 +19,8 @@ AntiFlicker::AntiFlicker() : mOplusDisplayFd(open("/dev/oplus_display", O_RDWR)) ndk::ScopedAStatus AntiFlicker::getEnabled(bool* _aidl_return) { unsigned int value; - if (ioctl(mOplusDisplayFd, PANEL_IOCTL_GET_DIMLAYER_BL_EN, &value) != 0) { + if (ioctl(mOplusDisplayFd, PANEL_IOCTL_GET_PWM_TURBO, &value) != 0 && + ioctl(mOplusDisplayFd, PANEL_IOCTL_GET_DIMLAYER_BL_EN, &value) != 0) { LOG(ERROR) << "Failed to read current AntiFlicker state"; return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION); } @@ -33,7 +34,7 @@ ndk::ScopedAStatus AntiFlicker::setEnabled(bool enabled) { return status; } unsigned int value = enabled; - if (isEnabled != enabled && + if (isEnabled != enabled && ioctl(mOplusDisplayFd, PANEL_IOCTL_SET_PWM_TURBO, &value) != 0 && ioctl(mOplusDisplayFd, PANEL_IOCTL_SET_DIMLAYER_BL_EN, &value) != 0) { LOG(ERROR) << "Failed to set AntiFlicker state"; return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION); diff --git a/aidl/performance/Android.bp b/aidl/performance/Android.bp new file mode 100644 index 0000000..79bbb10 --- /dev/null +++ b/aidl/performance/Android.bp @@ -0,0 +1,21 @@ +// +// SPDX-FileCopyrightText: 2025 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +cc_binary { + name: "vendor.oplus.hardware.performance-service", + vendor: true, + relative_install_path: "hw", + init_rc: ["vendor.oplus.hardware.performance-service.rc"], + vintf_fragments: ["vendor.oplus.hardware.performance-service.xml"], + srcs: [ + "Performance.cpp", + "service.cpp", + ], + shared_libs: [ + "libbase", + "libbinder_ndk", + "vendor.oplus.hardware.performance-V1-ndk", + ], +} diff --git a/aidl/performance/Performance.cpp b/aidl/performance/Performance.cpp new file mode 100644 index 0000000..6d15591 --- /dev/null +++ b/aidl/performance/Performance.cpp @@ -0,0 +1,1079 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "Performance.h" + +#include <android-base/logging.h> + +#define LOG_TAG "vendor.oplus.hardware.performance-service" + +namespace aidl { +namespace vendor { +namespace oplus { +namespace hardware { +namespace performance { + +ndk::ScopedAStatus Performance::addAcmDirName(const std::string& dirname, int64_t flag, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": dirname=" << dirname << ", flag=" << flag; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::addAcmNomediaDirName(const std::string& dirname, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": dirname=" << dirname; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::addAcmPkgName(const std::string& pkgname, int64_t flag, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": pkgname=" << pkgname << ", flag=" << flag; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::addTaskTrackPid(int32_t group, int32_t pid, bool clear, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": group=" << group << ", pid=" << pid << ", clear=" << clear; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::clearTaskTrackGroup(int32_t group) { + LOG(INFO) << __func__ << ": group=" << group; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::delAcmDirName(const std::string& dirname, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": dirname=" << dirname; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::delAcmNomediaDirName(const std::string& dirname, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": dirname=" << dirname; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::delAcmPkgName(const std::string& pkgname, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": pkgname=" << pkgname; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::disableDamonReclaim(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::disableKmallocDebug(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::disableMultiThreadOptimize(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::disableProcessReclaim(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::disableTaskCpustats(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::disableTaskPlacementDecision(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::disableVmallocDebug(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::enableAudioPerf(const std::string& value, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": value=" << value; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::enableDamonReclaim(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::enableKmallocDebug(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::enableMultiThreadOptimize(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::enableProcessReclaim(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::enableTaskCpustats(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::enableTaskPlacementDecision(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::enableVmallocDebug(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::existMemMonitor(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getAcmDirFlag(const std::string& dirname, int64_t* _aidl_return) { + LOG(INFO) << __func__ << ": dirname=" << dirname; + *_aidl_return = 0L; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getAcmOpstat(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getAcmPkgFlag(const std::string& pkgname, int64_t* _aidl_return) { + LOG(INFO) << __func__ << ": pkgname=" << pkgname; + *_aidl_return = 0L; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getClmMuxSwitch(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getClmThreshold(int32_t threshold_id, std::string* _aidl_return) { + LOG(INFO) << __func__ << ": threshold_id=" << threshold_id; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getDdrResidency(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getDevinfoDDRInfo(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getDevinfoUfsInfo(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getDevinfoUfsVersionInfo(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getExt4FragScore(const std::string& devpath, + std::string* _aidl_return) { + LOG(INFO) << __func__ << ": devpath=" << devpath; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getExt4FreefragInfo(const std::string& devpath, + std::string* _aidl_return) { + LOG(INFO) << __func__ << ": devpath=" << devpath; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getF2fsMovedBlks(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHIAllocWait(ProcReqHal* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHICpuInfo(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHICpuLoading(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHIDState(ProcReqHal* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHIEmcdrvIowait(ProcReqHal* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHIFsyncWait(ProcReqHal* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHIIonWait(ProcReqHal* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHIIowait(ProcReqHal* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHIIowaitHung(ProcReqHal* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHIKswapdLoading(ProcReqHal* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHISchedLatency(ProcReqHal* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHIScmCall(ProcReqHal* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getHIUfsFeature(ProcReqHal* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getKernelVersion(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getKmallocDebug(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getKmallocOrigin(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getKmallocUsed(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getMemMonitor(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getOswapVersion(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getUfsSignalRecordUpload(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getUfsplusHpbStatus(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getUfsplusTwStatus(int32_t* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getVmallocDebug(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getVmallocHashCal(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getVmallocUsed(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getWakeThreadsAffinityOrdered(const std::string& handle, + int32_t size, + TaskWakeInfo* _aidl_return) { + LOG(INFO) << __func__ << ": handle=" << handle << ", size=" << size; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getallocwait(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getdstate(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getfsyncwait(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getionwait(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getiowait(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::getschedlatency(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::hybridswap_memcg_para_read(int32_t action, + const std::string& cgroup, + std::string* _aidl_return) { + LOG(INFO) << __func__ << ": action=" << action << ", cgroup=" << cgroup; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::hybridswap_memcg_para_write(int32_t action, + const std::string& cgroup, + const std::string& str, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": action=" << action << ", cgroup=" << cgroup << ", str=" << str; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::hybridswap_zram_para_read(int32_t action, + std::string* _aidl_return) { + LOG(INFO) << __func__ << ": action=" << action; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::hybridswap_zram_para_write(int32_t action, const std::string& str, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": action=" << action << ", str=" << str; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::isJankTaskTrackEnable(bool* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = false; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::perProcessMemReadahead(int32_t uid, int32_t pid, int32_t type, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": uid=" << uid << ", pid=" << pid << ", type=" << type; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::perProcessMemReclaim(int32_t uid, int32_t pid, int32_t type, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": uid=" << uid << ", pid=" << pid << ", type=" << type; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readCallStack(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readClmEnable(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readClmHighLoadAll(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readClmHighLoadGrp(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readClmLowLoadGrp(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readCpuTaskstats(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readDBacktrace(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readDConvert(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readFgFreqsThreshold(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readIOBacktrace(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readIomonitorInfo(const std::string& procname, + std::string* _aidl_return) { + LOG(INFO) << __func__ << ": procname=" << procname; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readJankCpuIndicator(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readJankCpuInfo(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readJankCpuInfoSig(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readJankCpuLoad(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readJankCpuLoad32(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readJankCpuLoad32Scale(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readJankTaskTrack(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readJankTaskTrackByPid(int32_t pid, std::string* _aidl_return) { + LOG(INFO) << __func__ << ": pid=" << pid; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readJankVersion(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readKmallocDebugCreate(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readLimitTable(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readMemleakDetectThread(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readMemoryByPids(const std::vector<int32_t>& pids, int32_t flags, + ProcMemStatRet* _aidl_return) { + LOG(INFO) << __func__ << ": pids.size=" << pids.size() << ", flags=" << flags; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readMemoryByUids(const std::vector<int32_t>& uids, int32_t flags, + ProcMemStatRet* _aidl_return) { + LOG(INFO) << __func__ << ": uids.size=" << uids.size() << ", flags=" << flags; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readNandswapProc(const std::string& inProc, + std::string* _aidl_return) { + LOG(INFO) << __func__ << ": inProc=" << inProc; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readNormalizeRealTime(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readNormalizeRunningTime(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readOplusReserve3(int32_t offset, int32_t len, + std::string* _aidl_return) { + LOG(INFO) << __func__ << ": offset=" << offset << ", len=" << len; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readOsvelteVersion(OsvelteVersionRet* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = {}; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readPidsSet(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readRealTime(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readRunningTime(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readSchedInfoThreshold(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readSgeFreqInfo(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readSgeInfo(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readStorageFeature(const std::string& name, const std::string& addr, + const std::string& isMulti, + std::string* _aidl_return) { + LOG(INFO) << __func__ << ": name=" << name << ", addr=" << addr << ", isMulti=" << isMulti; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readTargetProcess(const std::string& buffer, + std::string* _aidl_return) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readTaskCpustatsEnable(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readTaskSchedInfo(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readTidsSet(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readTmemoryDirtypages(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readTmemoryErrorStat(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readTmemoryIoLatency(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readTmemorySysdirtypages(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readUxTaskTrack(int32_t uPid, int32_t rPid, + std::string* _aidl_return) { + LOG(INFO) << __func__ << ": uPid=" << uPid << ", rPid=" << rPid; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readVaFeature(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::readVersion(std::string* _aidl_return) { + LOG(INFO) << __func__; + *_aidl_return = ""; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::removeTaskTrackPid(int32_t group, int32_t pid) { + LOG(INFO) << __func__ << ": group=" << group << ", pid=" << pid; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::searchAcmNomediaDirName(const std::string& dirname, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": dirname=" << dirname; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setAcmOpstat(int32_t flag, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": flag=" << flag; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setClmMuxSwitch(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setClmThreshold(const std::string& buffer, int32_t threshold_id) { + LOG(INFO) << __func__ << ": buffer=" << buffer << ", threshold_id=" << threshold_id; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setDamonReclaimColdTime(int32_t cold_time, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": cold_time=" << cold_time; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setDamonReclaimMonitoring(int32_t sample, int32_t aggr, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": sample=" << sample << ", aggr=" << aggr; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setDamonReclaimQuota(int32_t quota_ms, int32_t quota_sz, + int32_t reset_interval, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": quota_ms=" << quota_ms << ", quota_sz=" << quota_sz + << ", reset_interval=" << reset_interval; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setDamonReclaimWmarks(int32_t metric, int32_t high, int32_t mid, + int32_t low, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": metric=" << metric << ", high=" << high << ", mid=" << mid + << ", low=" << low; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setExtSchedProp(const std::string& pid, const std::string& prop) { + LOG(INFO) << __func__ << ": pid=" << pid << ", prop=" << prop; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setFgUids(const std::string& fg_uid) { + LOG(INFO) << __func__ << ": fg_uid=" << fg_uid; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setFrameRate(const std::string& frame_rate) { + LOG(INFO) << __func__ << ": frame_rate=" << frame_rate; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setFreqGoverner(const std::string& gov_name, + const std::vector<int32_t>& clusters, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": gov_name=" << gov_name << ", clusters.size=" << clusters.size(); + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setImFlag(const std::string& pid, const std::string& im_flag) { + LOG(INFO) << __func__ << ": pid=" << pid << ", im_flag=" << im_flag; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setProcessReclaim(const std::string& info, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": info=" << info; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setSchedAssistImptTask(const std::string& impt_info) { + LOG(INFO) << __func__ << ": impt_info=" << impt_info; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setSchedAssistScene(const std::string& scene_id) { + LOG(INFO) << __func__ << ": scene_id=" << scene_id; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setSlideboost(const std::string& boost) { + LOG(INFO) << __func__ << ": boost=" << boost; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setTpdID(const std::string& param, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": param=" << param; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setTpdSerialParams(const std::string& params, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": params=" << params; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::setWakeSeedThread(const std::string& tid, bool identify_type, + bool inUid, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": tid=" << tid << ", identify_type=" << identify_type + << ", inUid=" << inUid; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeClmEnable(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeClmHighLoadAll(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeClmHighLoadGrp(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeClmLowLoadGrp(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeDBacktrace(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeFgFreqsThreshold(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeIOBacktrace(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeJankTaskTrackEnable(bool enable) { + LOG(INFO) << __func__ << ": enable=" << enable; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeKmallocDebugCreate(int32_t kcreate, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": kcreate=" << kcreate; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeKmallocDebugCreateWithType(const std::string& type, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": type=" << type; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeMemMonitor(const std::string& buffer, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeMemleakDetectThread(int32_t memdect, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": memdect=" << memdect; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeMonitorStatus(const std::string& buffer, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeNandswapProc(const std::string& inProc, const std::string& cmd, + int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": inProc=" << inProc << ", cmd=" << cmd; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeOplusReserve3(int32_t offset, int32_t len, + const std::string& info, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": offset=" << offset << ", len=" << len << ", info=" << info; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writePidsSet(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeSchedInfoThreshold(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeStorageFeature(const std::string& name, + const std::string& addr, + const std::string& isMulti, + const std::string& cmd, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": name=" << name << ", addr=" << addr << ", isMulti=" << isMulti + << ", cmd=" << cmd; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeTaskSchedInfo(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeTidsSet(const std::string& buffer) { + LOG(INFO) << __func__ << ": buffer=" << buffer; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeTmemoryCapacity(int32_t param, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": param=" << param; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeTmemoryFlushBusy(int32_t param, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": param=" << param; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeTmemoryFlushIdle(int32_t param, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": param=" << param; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeTmemoryHighWaterRatio(int32_t param, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": param=" << param; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeTmemoryMemory(const std::string& str, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": str=" << str; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeTmemorySwitch(int32_t param, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": param=" << param; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeUxState(const std::string& ux_state, const std::string& pid, + const std::string& tid, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": ux_state=" << ux_state << ", pid=" << pid << ", tid=" << tid; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Performance::writeVaFeature(int32_t vafeature, int32_t* _aidl_return) { + LOG(INFO) << __func__ << ": vafeature=" << vafeature; + *_aidl_return = 0; + return ndk::ScopedAStatus::ok(); +} + +} // namespace performance +} // namespace hardware +} // namespace oplus +} // namespace vendor +} // namespace aidl diff --git a/aidl/performance/Performance.h b/aidl/performance/Performance.h new file mode 100644 index 0000000..55e6df1 --- /dev/null +++ b/aidl/performance/Performance.h @@ -0,0 +1,234 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once + +#include <aidl/vendor/oplus/hardware/performance/BnPerformance.h> + +namespace aidl { +namespace vendor { +namespace oplus { +namespace hardware { +namespace performance { + +class Performance : public BnPerformance { + ndk::ScopedAStatus addAcmDirName(const std::string& dirname, int64_t flag, + int32_t* _aidl_return) override; + ndk::ScopedAStatus addAcmNomediaDirName(const std::string& dirname, + int32_t* _aidl_return) override; + ndk::ScopedAStatus addAcmPkgName(const std::string& pkgname, int64_t flag, + int32_t* _aidl_return) override; + ndk::ScopedAStatus addTaskTrackPid(int32_t group, int32_t pid, bool clear, + int32_t* _aidl_return) override; + ndk::ScopedAStatus clearTaskTrackGroup(int32_t group) override; + ndk::ScopedAStatus delAcmDirName(const std::string& dirname, int32_t* _aidl_return) override; + ndk::ScopedAStatus delAcmNomediaDirName(const std::string& dirname, + int32_t* _aidl_return) override; + ndk::ScopedAStatus delAcmPkgName(const std::string& pkgname, int32_t* _aidl_return) override; + ndk::ScopedAStatus disableDamonReclaim(int32_t* _aidl_return) override; + ndk::ScopedAStatus disableKmallocDebug(int32_t* _aidl_return) override; + ndk::ScopedAStatus disableMultiThreadOptimize(int32_t* _aidl_return) override; + ndk::ScopedAStatus disableProcessReclaim(int32_t* _aidl_return) override; + ndk::ScopedAStatus disableTaskCpustats(int32_t* _aidl_return) override; + ndk::ScopedAStatus disableTaskPlacementDecision(int32_t* _aidl_return) override; + ndk::ScopedAStatus disableVmallocDebug(int32_t* _aidl_return) override; + ndk::ScopedAStatus enableAudioPerf(const std::string& value, int32_t* _aidl_return) override; + ndk::ScopedAStatus enableDamonReclaim(int32_t* _aidl_return) override; + ndk::ScopedAStatus enableKmallocDebug(int32_t* _aidl_return) override; + ndk::ScopedAStatus enableMultiThreadOptimize(int32_t* _aidl_return) override; + ndk::ScopedAStatus enableProcessReclaim(int32_t* _aidl_return) override; + ndk::ScopedAStatus enableTaskCpustats(int32_t* _aidl_return) override; + ndk::ScopedAStatus enableTaskPlacementDecision(int32_t* _aidl_return) override; + ndk::ScopedAStatus enableVmallocDebug(int32_t* _aidl_return) override; + ndk::ScopedAStatus existMemMonitor(int32_t* _aidl_return) override; + ndk::ScopedAStatus getAcmDirFlag(const std::string& dirname, int64_t* _aidl_return) override; + ndk::ScopedAStatus getAcmOpstat(int32_t* _aidl_return) override; + ndk::ScopedAStatus getAcmPkgFlag(const std::string& pkgname, int64_t* _aidl_return) override; + ndk::ScopedAStatus getClmMuxSwitch(std::string* _aidl_return) override; + ndk::ScopedAStatus getClmThreshold(int32_t threshold_id, std::string* _aidl_return) override; + ndk::ScopedAStatus getDdrResidency(std::string* _aidl_return) override; + ndk::ScopedAStatus getDevinfoDDRInfo(std::string* _aidl_return) override; + ndk::ScopedAStatus getDevinfoUfsInfo(std::string* _aidl_return) override; + ndk::ScopedAStatus getDevinfoUfsVersionInfo(std::string* _aidl_return) override; + ndk::ScopedAStatus getExt4FragScore(const std::string& devpath, + std::string* _aidl_return) override; + ndk::ScopedAStatus getExt4FreefragInfo(const std::string& devpath, + std::string* _aidl_return) override; + ndk::ScopedAStatus getF2fsMovedBlks(std::string* _aidl_return) override; + ndk::ScopedAStatus getHIAllocWait(ProcReqHal* _aidl_return) override; + ndk::ScopedAStatus getHICpuInfo(std::string* _aidl_return) override; + ndk::ScopedAStatus getHICpuLoading(std::string* _aidl_return) override; + ndk::ScopedAStatus getHIDState(ProcReqHal* _aidl_return) override; + ndk::ScopedAStatus getHIEmcdrvIowait(ProcReqHal* _aidl_return) override; + ndk::ScopedAStatus getHIFsyncWait(ProcReqHal* _aidl_return) override; + ndk::ScopedAStatus getHIIonWait(ProcReqHal* _aidl_return) override; + ndk::ScopedAStatus getHIIowait(ProcReqHal* _aidl_return) override; + ndk::ScopedAStatus getHIIowaitHung(ProcReqHal* _aidl_return) override; + ndk::ScopedAStatus getHIKswapdLoading(ProcReqHal* _aidl_return) override; + ndk::ScopedAStatus getHISchedLatency(ProcReqHal* _aidl_return) override; + ndk::ScopedAStatus getHIScmCall(ProcReqHal* _aidl_return) override; + ndk::ScopedAStatus getHIUfsFeature(ProcReqHal* _aidl_return) override; + ndk::ScopedAStatus getKernelVersion(int32_t* _aidl_return) override; + ndk::ScopedAStatus getKmallocDebug(std::string* _aidl_return) override; + ndk::ScopedAStatus getKmallocOrigin(std::string* _aidl_return) override; + ndk::ScopedAStatus getKmallocUsed(std::string* _aidl_return) override; + ndk::ScopedAStatus getMemMonitor(std::string* _aidl_return) override; + ndk::ScopedAStatus getOswapVersion(int32_t* _aidl_return) override; + ndk::ScopedAStatus getUfsSignalRecordUpload(std::string* _aidl_return) override; + ndk::ScopedAStatus getUfsplusHpbStatus(int32_t* _aidl_return) override; + ndk::ScopedAStatus getUfsplusTwStatus(int32_t* _aidl_return) override; + ndk::ScopedAStatus getVmallocDebug(std::string* _aidl_return) override; + ndk::ScopedAStatus getVmallocHashCal(std::string* _aidl_return) override; + ndk::ScopedAStatus getVmallocUsed(std::string* _aidl_return) override; + ndk::ScopedAStatus getWakeThreadsAffinityOrdered(const std::string& handle, int32_t size, + TaskWakeInfo* _aidl_return) override; + ndk::ScopedAStatus getallocwait(std::string* _aidl_return) override; + ndk::ScopedAStatus getdstate(std::string* _aidl_return) override; + ndk::ScopedAStatus getfsyncwait(std::string* _aidl_return) override; + ndk::ScopedAStatus getionwait(std::string* _aidl_return) override; + ndk::ScopedAStatus getiowait(std::string* _aidl_return) override; + ndk::ScopedAStatus getschedlatency(std::string* _aidl_return) override; + ndk::ScopedAStatus hybridswap_memcg_para_read(int32_t action, const std::string& cgroup, + std::string* _aidl_return) override; + ndk::ScopedAStatus hybridswap_memcg_para_write(int32_t action, const std::string& cgroup, + const std::string& str, + int32_t* _aidl_return) override; + ndk::ScopedAStatus hybridswap_zram_para_read(int32_t action, + std::string* _aidl_return) override; + ndk::ScopedAStatus hybridswap_zram_para_write(int32_t action, const std::string& str, + int32_t* _aidl_return) override; + ndk::ScopedAStatus isJankTaskTrackEnable(bool* _aidl_return) override; + ndk::ScopedAStatus perProcessMemReadahead(int32_t uid, int32_t pid, int32_t type, + int32_t* _aidl_return) override; + ndk::ScopedAStatus perProcessMemReclaim(int32_t uid, int32_t pid, int32_t type, + int32_t* _aidl_return) override; + ndk::ScopedAStatus readCallStack(std::string* _aidl_return) override; + ndk::ScopedAStatus readClmEnable(std::string* _aidl_return) override; + ndk::ScopedAStatus readClmHighLoadAll(std::string* _aidl_return) override; + ndk::ScopedAStatus readClmHighLoadGrp(std::string* _aidl_return) override; + ndk::ScopedAStatus readClmLowLoadGrp(std::string* _aidl_return) override; + ndk::ScopedAStatus readCpuTaskstats(std::string* _aidl_return) override; + ndk::ScopedAStatus readDBacktrace(std::string* _aidl_return) override; + ndk::ScopedAStatus readDConvert(std::string* _aidl_return) override; + ndk::ScopedAStatus readFgFreqsThreshold(std::string* _aidl_return) override; + ndk::ScopedAStatus readIOBacktrace(std::string* _aidl_return) override; + ndk::ScopedAStatus readIomonitorInfo(const std::string& procname, + std::string* _aidl_return) override; + ndk::ScopedAStatus readJankCpuIndicator(std::string* _aidl_return) override; + ndk::ScopedAStatus readJankCpuInfo(std::string* _aidl_return) override; + ndk::ScopedAStatus readJankCpuInfoSig(std::string* _aidl_return) override; + ndk::ScopedAStatus readJankCpuLoad(std::string* _aidl_return) override; + ndk::ScopedAStatus readJankCpuLoad32(std::string* _aidl_return) override; + ndk::ScopedAStatus readJankCpuLoad32Scale(std::string* _aidl_return) override; + ndk::ScopedAStatus readJankTaskTrack(std::string* _aidl_return) override; + ndk::ScopedAStatus readJankTaskTrackByPid(int32_t pid, std::string* _aidl_return) override; + ndk::ScopedAStatus readJankVersion(std::string* _aidl_return) override; + ndk::ScopedAStatus readKmallocDebugCreate(std::string* _aidl_return) override; + ndk::ScopedAStatus readLimitTable(std::string* _aidl_return) override; + ndk::ScopedAStatus readMemleakDetectThread(std::string* _aidl_return) override; + ndk::ScopedAStatus readMemoryByPids(const std::vector<int32_t>& pids, int32_t flags, + ProcMemStatRet* _aidl_return) override; + ndk::ScopedAStatus readMemoryByUids(const std::vector<int32_t>& uids, int32_t flags, + ProcMemStatRet* _aidl_return) override; + ndk::ScopedAStatus readNandswapProc(const std::string& inProc, + std::string* _aidl_return) override; + ndk::ScopedAStatus readNormalizeRealTime(std::string* _aidl_return) override; + ndk::ScopedAStatus readNormalizeRunningTime(std::string* _aidl_return) override; + ndk::ScopedAStatus readOplusReserve3(int32_t offset, int32_t len, + std::string* _aidl_return) override; + ndk::ScopedAStatus readOsvelteVersion(OsvelteVersionRet* _aidl_return) override; + ndk::ScopedAStatus readPidsSet(std::string* _aidl_return) override; + ndk::ScopedAStatus readRealTime(std::string* _aidl_return) override; + ndk::ScopedAStatus readRunningTime(std::string* _aidl_return) override; + ndk::ScopedAStatus readSchedInfoThreshold(std::string* _aidl_return) override; + ndk::ScopedAStatus readSgeFreqInfo(std::string* _aidl_return) override; + ndk::ScopedAStatus readSgeInfo(std::string* _aidl_return) override; + ndk::ScopedAStatus readStorageFeature(const std::string& name, const std::string& addr, + const std::string& isMulti, + std::string* _aidl_return) override; + ndk::ScopedAStatus readTargetProcess(const std::string& buffer, + std::string* _aidl_return) override; + ndk::ScopedAStatus readTaskCpustatsEnable(std::string* _aidl_return) override; + ndk::ScopedAStatus readTaskSchedInfo(std::string* _aidl_return) override; + ndk::ScopedAStatus readTidsSet(std::string* _aidl_return) override; + ndk::ScopedAStatus readTmemoryDirtypages(std::string* _aidl_return) override; + ndk::ScopedAStatus readTmemoryErrorStat(std::string* _aidl_return) override; + ndk::ScopedAStatus readTmemoryIoLatency(std::string* _aidl_return) override; + ndk::ScopedAStatus readTmemorySysdirtypages(std::string* _aidl_return) override; + ndk::ScopedAStatus readUxTaskTrack(int32_t uPid, int32_t rPid, + std::string* _aidl_return) override; + ndk::ScopedAStatus readVaFeature(std::string* _aidl_return) override; + ndk::ScopedAStatus readVersion(std::string* _aidl_return) override; + ndk::ScopedAStatus removeTaskTrackPid(int32_t group, int32_t pid) override; + ndk::ScopedAStatus searchAcmNomediaDirName(const std::string& dirname, + int32_t* _aidl_return) override; + ndk::ScopedAStatus setAcmOpstat(int32_t flag, int32_t* _aidl_return) override; + ndk::ScopedAStatus setClmMuxSwitch(const std::string& buffer) override; + ndk::ScopedAStatus setClmThreshold(const std::string& buffer, int32_t threshold_id) override; + ndk::ScopedAStatus setDamonReclaimColdTime(int32_t cold_time, int32_t* _aidl_return) override; + ndk::ScopedAStatus setDamonReclaimMonitoring(int32_t sample, int32_t aggr, + int32_t* _aidl_return) override; + ndk::ScopedAStatus setDamonReclaimQuota(int32_t quota_ms, int32_t quota_sz, + int32_t reset_interval, int32_t* _aidl_return) override; + ndk::ScopedAStatus setDamonReclaimWmarks(int32_t metric, int32_t high, int32_t mid, int32_t low, + int32_t* _aidl_return) override; + ndk::ScopedAStatus setExtSchedProp(const std::string& pid, const std::string& prop) override; + ndk::ScopedAStatus setFgUids(const std::string& fg_uid) override; + ndk::ScopedAStatus setFrameRate(const std::string& frame_rate) override; + ndk::ScopedAStatus setFreqGoverner(const std::string& gov_name, + const std::vector<int32_t>& clusters, + int32_t* _aidl_return) override; + ndk::ScopedAStatus setImFlag(const std::string& pid, const std::string& im_flag) override; + ndk::ScopedAStatus setProcessReclaim(const std::string& info, int32_t* _aidl_return) override; + ndk::ScopedAStatus setSchedAssistImptTask(const std::string& impt_info) override; + ndk::ScopedAStatus setSchedAssistScene(const std::string& scene_id) override; + ndk::ScopedAStatus setSlideboost(const std::string& boost) override; + ndk::ScopedAStatus setTpdID(const std::string& param, int32_t* _aidl_return) override; + ndk::ScopedAStatus setTpdSerialParams(const std::string& params, + int32_t* _aidl_return) override; + ndk::ScopedAStatus setWakeSeedThread(const std::string& tid, bool identify_type, bool inUid, + int32_t* _aidl_return) override; + ndk::ScopedAStatus writeClmEnable(const std::string& buffer) override; + ndk::ScopedAStatus writeClmHighLoadAll(const std::string& buffer) override; + ndk::ScopedAStatus writeClmHighLoadGrp(const std::string& buffer) override; + ndk::ScopedAStatus writeClmLowLoadGrp(const std::string& buffer) override; + ndk::ScopedAStatus writeDBacktrace(const std::string& buffer) override; + ndk::ScopedAStatus writeFgFreqsThreshold(const std::string& buffer) override; + ndk::ScopedAStatus writeIOBacktrace(const std::string& buffer) override; + ndk::ScopedAStatus writeJankTaskTrackEnable(bool enable) override; + ndk::ScopedAStatus writeKmallocDebugCreate(int32_t kcreate, int32_t* _aidl_return) override; + ndk::ScopedAStatus writeKmallocDebugCreateWithType(const std::string& type, + int32_t* _aidl_return) override; + ndk::ScopedAStatus writeMemMonitor(const std::string& buffer, int32_t* _aidl_return) override; + ndk::ScopedAStatus writeMemleakDetectThread(int32_t memdect, int32_t* _aidl_return) override; + ndk::ScopedAStatus writeMonitorStatus(const std::string& buffer, + int32_t* _aidl_return) override; + ndk::ScopedAStatus writeNandswapProc(const std::string& inProc, const std::string& cmd, + int32_t* _aidl_return) override; + ndk::ScopedAStatus writeOplusReserve3(int32_t offset, int32_t len, const std::string& info, + int32_t* _aidl_return) override; + ndk::ScopedAStatus writePidsSet(const std::string& buffer) override; + ndk::ScopedAStatus writeSchedInfoThreshold(const std::string& buffer) override; + ndk::ScopedAStatus writeStorageFeature(const std::string& name, const std::string& addr, + const std::string& isMulti, const std::string& cmd, + int32_t* _aidl_return) override; + ndk::ScopedAStatus writeTaskSchedInfo(const std::string& buffer) override; + ndk::ScopedAStatus writeTidsSet(const std::string& buffer) override; + ndk::ScopedAStatus writeTmemoryCapacity(int32_t param, int32_t* _aidl_return) override; + ndk::ScopedAStatus writeTmemoryFlushBusy(int32_t param, int32_t* _aidl_return) override; + ndk::ScopedAStatus writeTmemoryFlushIdle(int32_t param, int32_t* _aidl_return) override; + ndk::ScopedAStatus writeTmemoryHighWaterRatio(int32_t param, int32_t* _aidl_return) override; + ndk::ScopedAStatus writeTmemoryMemory(const std::string& str, int32_t* _aidl_return) override; + ndk::ScopedAStatus writeTmemorySwitch(int32_t param, int32_t* _aidl_return) override; + ndk::ScopedAStatus writeUxState(const std::string& ux_state, const std::string& pid, + const std::string& tid, int32_t* _aidl_return) override; + ndk::ScopedAStatus writeVaFeature(int32_t vafeature, int32_t* _aidl_return) override; +}; + +} // namespace performance +} // namespace hardware +} // namespace oplus +} // namespace vendor +} // namespace aidl diff --git a/aidl/performance/service.cpp b/aidl/performance/service.cpp new file mode 100644 index 0000000..18cda4f --- /dev/null +++ b/aidl/performance/service.cpp @@ -0,0 +1,25 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "Performance.h" + +#include <android-base/logging.h> +#include <android/binder_manager.h> +#include <android/binder_process.h> + +using ::aidl::vendor::oplus::hardware::performance::Performance; + +int main() { + ABinderProcess_setThreadPoolMaxThreadCount(0); + std::shared_ptr<Performance> performance = ndk::SharedRefBase::make<Performance>(); + + const std::string instance = std::string() + Performance::descriptor + "/default"; + binder_status_t status = + AServiceManager_addService(performance->asBinder().get(), instance.c_str()); + CHECK_EQ(status, STATUS_OK); + + ABinderProcess_joinThreadPool(); + return EXIT_FAILURE; // should not reach +} diff --git a/aidl/performance/vendor.oplus.hardware.performance-service.rc b/aidl/performance/vendor.oplus.hardware.performance-service.rc new file mode 100644 index 0000000..fe91963 --- /dev/null +++ b/aidl/performance/vendor.oplus.hardware.performance-service.rc @@ -0,0 +1,4 @@ +service oplus.performance.hal.service /vendor/bin/hw/vendor.oplus.hardware.performance-service + class hal + user system + group system diff --git a/aidl/performance/vendor.oplus.hardware.performance-service.xml b/aidl/performance/vendor.oplus.hardware.performance-service.xml new file mode 100644 index 0000000..5fe9b75 --- /dev/null +++ b/aidl/performance/vendor.oplus.hardware.performance-service.xml @@ -0,0 +1,7 @@ +<manifest version="1.0" type="device"> + <hal format="aidl"> + <name>vendor.oplus.hardware.performance</name> + <version>1</version> + <fqname>IPerformance/default</fqname> + </hal> +</manifest> diff --git a/folio-daemon/Android.bp b/folio-daemon/Android.bp new file mode 100644 index 0000000..aa34619 --- /dev/null +++ b/folio-daemon/Android.bp @@ -0,0 +1,25 @@ +cc_binary { + name: "folio-daemon", + + init_rc: ["folio_daemon.rc"], + + shared_libs: [ + "libandroid", + "libcutils", + "liblog", + ], + + srcs: ["main.cpp"], + + cflags: [ + "-DLOG_TAG=\"folio-daemon\"", + "-DLOG_NDEBUG=0", + ] + [ + "-Wall", + "-Werror", + ], + + owner: "google", + + system_ext_specific: true, +} diff --git a/folio-daemon/folio_daemon.rc b/folio-daemon/folio_daemon.rc new file mode 100644 index 0000000..ad3a3b9 --- /dev/null +++ b/folio-daemon/folio_daemon.rc @@ -0,0 +1,11 @@ +service folio-daemon /system_ext/bin/folio-daemon + class late_start + user system + group system uhid + disabled + +on property:init.svc.zygote=running + start folio-daemon + +on property:init.svc.zygote=stopped + stop folio-daemon diff --git a/folio-daemon/main.cpp b/folio-daemon/main.cpp new file mode 100644 index 0000000..7522f5c --- /dev/null +++ b/folio-daemon/main.cpp @@ -0,0 +1,161 @@ +/* + * SPDX-FileCopyrightText: 2017 The Android Open Source Project + * SPDX-FileCopyrightText: 2023-2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +#include <android/looper.h> +#include <android/sensor.h> +#include <cutils/log.h> +#include <errno.h> +#include <fcntl.h> +#include <linux/input.h> +#include <linux/uinput.h> +#include <string.h> +#include <time.h> +#include <unistd.h> + +// Hall-effect sensor type +#define SENSOR_TYPE 33171002 + +#define RETRY_LIMIT 120 +#define RETRY_PERIOD 30 // 30 seconds +#define WARN_PERIOD (time_t)300 // 5 minutes + +/* + * This simple daemon listens for events from the Hall-effect sensor and writes + * the appropriate SW_LID event to a uinput node. This allows the screen to be + * locked with a magnetic folio case. + */ +int main(void) { + int uinputFd; + int err; + struct uinput_user_dev uidev; + ASensorManager* sensorManager = nullptr; + ASensorRef hallSensor; + ALooper* looper; + ASensorEventQueue* eventQueue = nullptr; + time_t lastWarn = 0; + int attemptCount = 0; + + ALOGI("Started"); + + uinputFd = TEMP_FAILURE_RETRY(open("/dev/uinput", O_WRONLY | O_NONBLOCK)); + if (uinputFd < 0) { + ALOGE("Unable to open uinput node: %s", strerror(errno)); + goto out; + } + + err = TEMP_FAILURE_RETRY(ioctl(uinputFd, UI_SET_EVBIT, EV_SW)) | + TEMP_FAILURE_RETRY(ioctl(uinputFd, UI_SET_EVBIT, EV_SYN)) | + TEMP_FAILURE_RETRY(ioctl(uinputFd, UI_SET_SWBIT, SW_LID)); + if (err != 0) { + ALOGE("Unable to enable SW_LID events: %s", strerror(errno)); + goto out; + } + + memset(&uidev, 0, sizeof(uidev)); + snprintf(uidev.name, UINPUT_MAX_NAME_SIZE, "uinput-folio"); + uidev.id.bustype = BUS_VIRTUAL; + uidev.id.vendor = 0; + uidev.id.product = 0; + uidev.id.version = 0; + + err = TEMP_FAILURE_RETRY(write(uinputFd, &uidev, sizeof(uidev))); + if (err < 0) { + ALOGE("Write user device to uinput node failed: %s", strerror(errno)); + goto out; + } + + err = TEMP_FAILURE_RETRY(ioctl(uinputFd, UI_DEV_CREATE)); + if (err < 0) { + ALOGE("Unable to create uinput device: %s", strerror(errno)); + goto out; + } + + ALOGI("Successfully registered uinput-folio for SW_LID events"); + + // Get Hall-effect sensor events from the NDK + sensorManager = ASensorManager_getInstanceForPackage(nullptr); + looper = ALooper_forThread(); + if (looper == nullptr) { + looper = ALooper_prepare(ALOOPER_PREPARE_ALLOW_NON_CALLBACKS); + } + + eventQueue = ASensorManager_createEventQueue(sensorManager, looper, 0, NULL, NULL); + + /* + * As long as we are unable to get the sensor handle, periodically retry + * and emit an error message at a low frequency to prevent high CPU usage + * and log spam. If we simply exited with an error here, we would be + * immediately restarted and fail in the same way indefinitely. + */ + while (true) { + time_t now = time(NULL); + hallSensor = ASensorManager_getDefaultSensorEx(sensorManager, SENSOR_TYPE, true); + if (hallSensor != nullptr) { + break; + } + + if (++attemptCount >= RETRY_LIMIT) { + ALOGE("Retries exhausted; exiting"); + goto out; + } else if (now > lastWarn + WARN_PERIOD) { + ALOGE("Unable to get Hall-effect sensor"); + lastWarn = now; + } + + sleep(RETRY_PERIOD); + } + + err = ASensorEventQueue_registerSensor(eventQueue, hallSensor, 0, 0); + if (err < 0) { + ALOGE("Unable to register for Hall-effect sensor events"); + goto out; + } + + ALOGI("Starting polling loop"); + + // Polling loop + while (ALooper_pollOnce(-1, NULL, NULL, NULL) > ALOOPER_POLL_TIMEOUT) { + ASensorEvent sensorEvent; + while (ASensorEventQueue_getEvents(eventQueue, &sensorEvent, 1) > 0) { + // 0 means closed; 1 means open + int isClosed = sensorEvent.data[0] > 0.0f ? 0 : 1; + struct input_event event; + event.type = EV_SW; + event.code = SW_LID; + event.value = isClosed; + err = TEMP_FAILURE_RETRY(write(uinputFd, &event, sizeof(event))); + if (err < 0) { + ALOGE("Write EV_SW to uinput node failed: %s", strerror(errno)); + goto out; + } + + // Force a flush with an EV_SYN + event.type = EV_SYN; + event.code = SYN_REPORT; + event.value = 0; + err = TEMP_FAILURE_RETRY(write(uinputFd, &event, sizeof(event))); + if (err < 0) { + ALOGE("Write EV_SYN to uinput node failed: %s", strerror(errno)); + goto out; + } + + ALOGI("Sent lid %s event", isClosed ? "closed" : "open"); + } + } + +out: + // Clean up + if (sensorManager != nullptr && eventQueue != nullptr) { + ASensorManager_destroyEventQueue(sensorManager, eventQueue); + } + + if (uinputFd >= 0) { + close(uinputFd); + } + + // The loop can only be exited via failure or signal + return 1; +} diff --git a/interfaces/Android.bp b/interfaces/Android.bp index 50ec1e3..b0eedf4 100644 --- a/interfaces/Android.bp +++ b/interfaces/Android.bp @@ -5,6 +5,7 @@ hidl_package_root { aidl_interface { name: "vendor.oplus.hardware.biometrics.fingerprintpay", + system_ext_specific: true, odm_available: true, local_include_dir: "aidl", srcs: ["aidl/vendor/oplus/hardware/biometrics/fingerprintpay/*.aidl"], @@ -28,7 +29,57 @@ aidl_interface { } aidl_interface { + name: "vendor.oplus.hardware.charger", + system_ext_specific: true, + odm_available: true, + local_include_dir: "aidl", + srcs: ["aidl/vendor/oplus/hardware/charger/*.aidl"], + stability: "vintf", + owner: "oplus", + + backend: { + cpp: { + enabled: true, + }, + java: { + sdk_version: "module_current", + }, + }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + { + version: "2", + imports: [], + }, + { + version: "3", + imports: [], + }, + { + version: "5", + imports: [], + }, + { + version: "6", + imports: [], + }, + { + version: "7", + imports: [], + }, + { + version: "8", + imports: [], + }, + ], +} + +aidl_interface { name: "vendor.oplus.hardware.commondcs", + system_ext_specific: true, vendor_available: true, local_include_dir: "aidl", srcs: ["aidl/vendor/oplus/hardware/commondcs/*.aidl"], @@ -53,6 +104,7 @@ aidl_interface { aidl_interface { name: "vendor.oplus.hardware.esim", + system_ext_specific: true, odm_available: true, local_include_dir: "aidl", srcs: ["aidl/vendor/oplus/hardware/esim/*.aidl"], @@ -77,6 +129,7 @@ aidl_interface { aidl_interface { name: "vendor.oplus.hardware.osense.client", + system_ext_specific: true, vendor_available: true, local_include_dir: "aidl", srcs: ["aidl/vendor/oplus/hardware/osense/client/*.aidl"], @@ -100,7 +153,33 @@ aidl_interface { } aidl_interface { + name: "vendor.oplus.hardware.performance", + system_ext_specific: true, + vendor_available: true, + local_include_dir: "aidl", + srcs: ["aidl/vendor/oplus/hardware/performance/*.aidl"], + stability: "vintf", + owner: "oplus", + + backend: { + cpp: { + enabled: true, + }, + java: { + sdk_version: "module_current", + }, + }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + ], +} + +aidl_interface { name: "vendor.oplus.hardware.radio", + system_ext_specific: true, vendor_available: true, local_include_dir: "aidl", srcs: ["aidl/vendor/oplus/hardware/radio/*.aidl"], @@ -129,6 +208,7 @@ aidl_interface { aidl_interface { name: "vendor.oplus.hardware.touch", + system_ext_specific: true, vendor_available: true, local_include_dir: "aidl", srcs: ["aidl/vendor/oplus/hardware/touch/*.aidl"], @@ -154,3 +234,33 @@ aidl_interface { }, ], } + +aidl_interface { + name: "vendor.oplus.hardware.urcc", + system_ext_specific: true, + vendor_available: true, + local_include_dir: "aidl", + srcs: ["aidl/vendor/oplus/hardware/urcc/*.aidl"], + stability: "vintf", + owner: "oplus", + + backend: { + cpp: { + enabled: true, + }, + ndk: { + gen_log: true, + }, + java: { + sdk_version: "module_current", + }, + }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + + ], + frozen: true, +} diff --git a/interfaces/aidl/vendor/oplus/hardware/charger/ChgFuncFlag.aidl b/interfaces/aidl/vendor/oplus/hardware/charger/ChgFuncFlag.aidl new file mode 100644 index 0000000..77c26d9 --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/charger/ChgFuncFlag.aidl @@ -0,0 +1,40 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.charger; + +@VintfStability +@Backing(type="int") +enum ChgFuncFlag { + GET_UI_CHG_ICON_TYPE = 0, + GET_UI_POWER_VALUE = 1, + GET_DEVICE_POWER_VALUE = 2, + GET_ADAPTER_POWER_VALUE = 3, + GET_CPA_POWER_VALUE = 4, + SET_CHG_UP_LIMIT_VALUE = 5, + IS_SUPPORT_SINGLE_HYPER_SPEED = 6, + GET_BATT_EXPANSION_STATE = 7, + IS_SUPPORT_ECO_DESIGN = 8, + GET_BATT_MANU_DATE = 9, + GET_BATT_FIRST_USAGE_DATE = 10, + SET_BATT_FIRST_USAGE_DATE = 11, + CLEAR_BATT_ECO_DATA = 12, + SET_RECHG_SOC_EN = 13, + SET_CHG_UP_LIMIT_STATE = 14, + GET_BATTERY_STATUS_PM_VPH = 15, + GET_BATTERY_STATUS_PM_VBAT = 16, + GET_DEEP_DISCHG_COUNTS_VALUE = 17, + GET_ANTI_EXPANSION_INFO = 18, + SET_ANTI_EXPANSION_INFO = 19, + GET_BATT_UI_CYCLE_COUNT = 20, + GET_BATTERY_TYPE = 21, + WIRELESS_PENCIL_QCALI = 22, + GET_BATTERY_GAUGE_TYPE = 23, + GET_CHG_BYPASS_STATUS = 24, + SET_CHG_BYPASS = 25, + GET_RX_DISABLE_STATUS = 26, + SET_RX_DISABLE = 27, + GET_BATTERY_SEC_IC_TEST_STATUS = 28, +} diff --git a/interfaces/aidl/vendor/oplus/hardware/charger/ICharger.aidl b/interfaces/aidl/vendor/oplus/hardware/charger/ICharger.aidl new file mode 100644 index 0000000..b552b99 --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/charger/ICharger.aidl @@ -0,0 +1,143 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.charger; + +import vendor.oplus.hardware.charger.ChgFuncFlag; +import vendor.oplus.hardware.charger.testKitFeatureTestResult; + +@VintfStability +interface ICharger { + int VolDividerIcWorkModeSet(String data); + int chgExchangeMesgInit(); + int chgExchangeSohMesgInit(); + int getAcType(); + int getBattAuthenticate(); + int getBattPPSChgIng(); + int getBattPPSChgPower(); + String getBattParamNoplug(); + int getBattShortIcOtpStatus(); + int getBattSubCurrent(); + int getBattVoocChgIng(); + int getBatteryVoltageNow(); + String getBccCsvData(); + int getBccExpStatus(); + String getBmsHeatingRunningStatus(); + int getBmsHeatingStatus(); + String getChargerControl(); + int getChargerCoolDown(); + int getChargerCriticalLog(); + int getChargerIdVolt(); + int getChargerLog(); + int getCustomSelectChgMode(); + String getDevinfoFastchg(); + int getFastCharge(); + int getParallelChgMosTestResult(); + int getPsyAcOnline(); + int getPsyBatteryCC(); + int getPsyBatteryCurrentNow(); + int getPsyBatteryFcc(); + int getPsyBatteryHmac(); + int getPsyBatteryLevel(); + int getPsyBatteryNotify(); + int getPsyBatteryPchg(); + int getPsyBatteryPchgResetCount(); + int getPsyBatteryRm(); + int getPsyBatteryShortFeature(); + int getPsyBatteryShortStatus(); + String getPsyBatteryStatus(); + int getPsyBatteryTemp(); + int getPsyChargeTech(); + int getPsyFastChgType(); + int getPsyInputCurrent(); + int getPsyOtgOnline(); + int getPsyOtgSwitch(); + int getPsyPcPortOnline(); + int getPsyQGVbatDeviation(); + int getPsyTypeOrientation(); + int getPsyUsbOnline(); + int getPsyUsbStatus(); + String getPsyWirelessRX(); + String getPsyWirelessRxVersion(); + String getPsyWirelessTX(); + String getPsyWirelessTxVersion(); + int getQgVbatDeviation(); + String getQuickModeGain(); + String getReserveSocDebug(); + int getSmartChgMode(); + int getUIsohValue(); + String getUisohDebugParameterInfo(); + int getUsbInputCurrentNow(); + int getUsbPrimalType(); + int getWiredOtgOnline(); + int getWirelessAdapterPower(); + int getWirelessCapacity(); + int getWirelessChargePumpEn(); + int getWirelessCurrentNow(); + String getWirelessDeviated(); + int getWirelessOnline(); + int getWirelessPenPresent(); + int getWirelessPtmcId(); + int getWirelessRXEnable(); + int getWirelessRealType(); + String getWirelessTXEnable(); + int getWirelessUserSleepMode(); + int getWirelessVoltageNow(); + String healthd_update_ui_soc_decimal(); + int nightstandby(int status); + int notifyScreenStatus(int status); + String queryChargeInfo(); + int setChargeEMMode(String data); + int setChargerControl(String data); + int setChargerCoolDown(String data); + int setChargerCriticalLog(String data); + int setChargerCycle(String data); + int setChargerFactoryModeTest(String data); + int setChargerLog(String data); + int setChgStatusToBcc(int status); + int setCustomSelectChgMode(int mode, boolean enable); + int setFastchgFwUpdate(String data); + int setPsyMmiChgEn(String data); + int setPsyOtgSwitch(String data); + int setReserveSocDebug(String data); + int setShipMode(String data); + int setSmartChgMode(String data); + int setSmartCoolDown(int coolDown, int normalCoolDown, String pkgName); + int setTbattPwrOff(String data); + int setUisohDebugInfo(String data); + int setUsbPrimalType(String data); + int setWirelessChargePumpEn(String data); + int setWirelessFtmMode(String data); + int setWirelessIconDelay(String data); + int setWirelessIdtAdcTest(String data); + int setWirelessPenSoc(String data); + int setWirelessRXEnable(String data); + int setWirelessTXEnable(String data); + int setWirelessUserSleepMode(String data); + int setWlsThirdPartitionInfo(String data); + testKitFeatureTestResult testKitFeatureTest(int index); + String testKitGetFeatureList(); + String testKitGetFeatureName(int index); + int testKitGetFeatureNum(); + int updateUiSohToPartion(); + String queryWlsPencilInfo(); + String getChgOlcConfig(); + int setChgOlcConfig(String data); + int setSuperEnduranceStatus(String data); + int setSuperEnduranceCount(String data); + int setBobStatus(String data); + int setPsySlowChgEn(String data); + int getCpVbatDeviation(); + int setBatteryLogPush(String data); + int getChargingModeInGsmCall(); + int setChargingModeInGsmCall(String data); + int setChgRusConfig(String data); + String getPsyBatterySN(); + String getBattGaugeInfo(); + int setChgConfig(ChgFuncFlag flag, String extra, int callname); + String getChgConfig(ChgFuncFlag flag, String extra, int callname); + int setUsbEyeDiagram(int model, String eyeDiagram, boolean isDefaultEyeDiagram); + String getUsbCurrentEyeDiagram(int model); +} diff --git a/interfaces/aidl/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl b/interfaces/aidl/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl new file mode 100644 index 0000000..93e5e6e --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl @@ -0,0 +1,12 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.charger; + +@VintfStability +parcelable testKitFeatureTestResult { + int ret; + String str; +} diff --git a/interfaces/aidl/vendor/oplus/hardware/performance/IPerformance.aidl b/interfaces/aidl/vendor/oplus/hardware/performance/IPerformance.aidl new file mode 100644 index 0000000..470cdd2 --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/performance/IPerformance.aidl @@ -0,0 +1,187 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.performance; + +import vendor.oplus.hardware.performance.OsvelteVersionRet; +import vendor.oplus.hardware.performance.ProcMemStatRet; +import vendor.oplus.hardware.performance.ProcReqHal; +import vendor.oplus.hardware.performance.TaskWakeInfo; + +@VintfStability +interface IPerformance { + int addAcmDirName(in String dirname, long flag); + int addAcmNomediaDirName(in String dirname); + int addAcmPkgName(in String pkgname, long flag); + int addTaskTrackPid(int group, int pid, boolean clear); + void clearTaskTrackGroup(int group); + int delAcmDirName(in String dirname); + int delAcmNomediaDirName(in String dirname); + int delAcmPkgName(in String pkgname); + int disableDamonReclaim(); + int disableKmallocDebug(); + int disableMultiThreadOptimize(); + int disableProcessReclaim(); + int disableTaskCpustats(); + int disableTaskPlacementDecision(); + int disableVmallocDebug(); + int enableAudioPerf(in String value); + int enableDamonReclaim(); + int enableKmallocDebug(); + int enableMultiThreadOptimize(); + int enableProcessReclaim(); + int enableTaskCpustats(); + int enableTaskPlacementDecision(); + int enableVmallocDebug(); + int existMemMonitor(); + long getAcmDirFlag(in String dirname); + int getAcmOpstat(); + long getAcmPkgFlag(in String pkgname); + String getClmMuxSwitch(); + String getClmThreshold(int threshold_id); + String getDdrResidency(); + String getDevinfoDDRInfo(); + String getDevinfoUfsInfo(); + String getDevinfoUfsVersionInfo(); + String getExt4FragScore(in String devpath); + String getExt4FreefragInfo(in String devpath); + String getF2fsMovedBlks(); + ProcReqHal getHIAllocWait(); + String getHICpuInfo(); + String getHICpuLoading(); + ProcReqHal getHIDState(); + ProcReqHal getHIEmcdrvIowait(); + ProcReqHal getHIFsyncWait(); + ProcReqHal getHIIonWait(); + ProcReqHal getHIIowait(); + ProcReqHal getHIIowaitHung(); + ProcReqHal getHIKswapdLoading(); + ProcReqHal getHISchedLatency(); + ProcReqHal getHIScmCall(); + ProcReqHal getHIUfsFeature(); + int getKernelVersion(); + String getKmallocDebug(); + String getKmallocOrigin(); + String getKmallocUsed(); + String getMemMonitor(); + int getOswapVersion(); + String getUfsSignalRecordUpload(); + int getUfsplusHpbStatus(); + int getUfsplusTwStatus(); + String getVmallocDebug(); + String getVmallocHashCal(); + String getVmallocUsed(); + TaskWakeInfo getWakeThreadsAffinityOrdered(in String handle, int size); + String getallocwait(); + String getdstate(); + String getfsyncwait(); + String getionwait(); + String getiowait(); + String getschedlatency(); + String hybridswap_memcg_para_read(int action, in String cgroup); + int hybridswap_memcg_para_write(int action, in String cgroup, in String str); + String hybridswap_zram_para_read(int action); + int hybridswap_zram_para_write(int action, in String str); + boolean isJankTaskTrackEnable(); + int perProcessMemReadahead(int uid, int pid, int type); + int perProcessMemReclaim(int uid, int pid, int type); + String readCallStack(); + String readClmEnable(); + String readClmHighLoadAll(); + String readClmHighLoadGrp(); + String readClmLowLoadGrp(); + String readCpuTaskstats(); + String readDBacktrace(); + String readDConvert(); + String readFgFreqsThreshold(); + String readIOBacktrace(); + String readIomonitorInfo(in String procname); + String readJankCpuIndicator(); + String readJankCpuInfo(); + String readJankCpuInfoSig(); + String readJankCpuLoad(); + String readJankCpuLoad32(); + String readJankCpuLoad32Scale(); + String readJankTaskTrack(); + String readJankTaskTrackByPid(int pid); + String readJankVersion(); + String readKmallocDebugCreate(); + String readLimitTable(); + String readMemleakDetectThread(); + ProcMemStatRet readMemoryByPids(in int[] pids, int flags); + ProcMemStatRet readMemoryByUids(in int[] uids, int flags); + String readNandswapProc(in String inProc); + String readNormalizeRealTime(); + String readNormalizeRunningTime(); + String readOplusReserve3(int offset, int len); + OsvelteVersionRet readOsvelteVersion(); + String readPidsSet(); + String readRealTime(); + String readRunningTime(); + String readSchedInfoThreshold(); + String readSgeFreqInfo(); + String readSgeInfo(); + String readStorageFeature(in String name, in String addr, in String isMulti); + String readTargetProcess(in String buffer); + String readTaskCpustatsEnable(); + String readTaskSchedInfo(); + String readTidsSet(); + String readTmemoryDirtypages(); + String readTmemoryErrorStat(); + String readTmemoryIoLatency(); + String readTmemorySysdirtypages(); + String readUxTaskTrack(int uPid, int rPid); + String readVaFeature(); + String readVersion(); + void removeTaskTrackPid(int group, int pid); + int searchAcmNomediaDirName(in String dirname); + int setAcmOpstat(int flag); + void setClmMuxSwitch(in String buffer); + void setClmThreshold(in String buffer, int threshold_id); + int setDamonReclaimColdTime(int cold_time); + int setDamonReclaimMonitoring(int sample, int aggr); + int setDamonReclaimQuota(int quota_ms, int quota_sz, int reset_interval); + int setDamonReclaimWmarks(int metric, int high, int mid, int low); + void setExtSchedProp(in String pid, in String prop); + void setFgUids(in String fg_uid); + void setFrameRate(in String frame_rate); + int setFreqGoverner(in String gov_name, in int[] clusters); + void setImFlag(in String pid, in String im_flag); + int setProcessReclaim(in String info); + void setSchedAssistImptTask(in String impt_info); + void setSchedAssistScene(in String scene_id); + void setSlideboost(in String boost); + int setTpdID(in String param); + int setTpdSerialParams(in String params); + int setWakeSeedThread(in String tid, boolean identify_type, boolean inUid); + void writeClmEnable(in String buffer); + void writeClmHighLoadAll(in String buffer); + void writeClmHighLoadGrp(in String buffer); + void writeClmLowLoadGrp(in String buffer); + void writeDBacktrace(in String buffer); + void writeFgFreqsThreshold(in String buffer); + void writeIOBacktrace(in String buffer); + void writeJankTaskTrackEnable(boolean enable); + int writeKmallocDebugCreate(int kcreate); + int writeKmallocDebugCreateWithType(in String type); + int writeMemMonitor(in String buffer); + int writeMemleakDetectThread(int memdect); + int writeMonitorStatus(in String buffer); + int writeNandswapProc(in String inProc, in String cmd); + int writeOplusReserve3(int offset, int len, in String info); + void writePidsSet(in String buffer); + void writeSchedInfoThreshold(in String buffer); + int writeStorageFeature(in String name, in String addr, in String isMulti, in String cmd); + void writeTaskSchedInfo(in String buffer); + void writeTidsSet(in String buffer); + int writeTmemoryCapacity(int param); + int writeTmemoryFlushBusy(int param); + int writeTmemoryFlushIdle(int param); + int writeTmemoryHighWaterRatio(int param); + int writeTmemoryMemory(in String str); + int writeTmemorySwitch(int param); + int writeUxState(in String ux_state, in String pid, in String tid); + int writeVaFeature(int vafeature); +} diff --git a/interfaces/aidl/vendor/oplus/hardware/performance/OsvelteStatus.aidl b/interfaces/aidl/vendor/oplus/hardware/performance/OsvelteStatus.aidl new file mode 100644 index 0000000..ea69141 --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/performance/OsvelteStatus.aidl @@ -0,0 +1,12 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.performance; + +@VintfStability +enum OsvelteStatus { + SUCCESS = 0, + FAILED = 1, +} diff --git a/interfaces/aidl/vendor/oplus/hardware/performance/OsvelteVersionRet.aidl b/interfaces/aidl/vendor/oplus/hardware/performance/OsvelteVersionRet.aidl new file mode 100644 index 0000000..f7a524f --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/performance/OsvelteVersionRet.aidl @@ -0,0 +1,13 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.performance; + +@VintfStability +parcelable OsvelteVersionRet { + int status; + int major = 0; + int minor = 0; +} diff --git a/interfaces/aidl/vendor/oplus/hardware/performance/ProcMemStat.aidl b/interfaces/aidl/vendor/oplus/hardware/performance/ProcMemStat.aidl new file mode 100644 index 0000000..8d00d21 --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/performance/ProcMemStat.aidl @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.performance; + +@VintfStability +parcelable ProcMemStat { + String comm; + boolean is_32bit = false; + int oom_score_adj = 0; + int nr_fds = 0; + int uid = 0; + int pid = 0; + int ppid = 0; + int anon = 0; + int file = 0; + int shmem = 0; + int swap = 0; + int vss = 0; + int pss = 0; + int swap_rss = 0; + int javaheap = 0; + int nativeheap = 0; + int ashmem = 0; + int dmabuf = 0; + int gpu = 0; +} diff --git a/interfaces/aidl/vendor/oplus/hardware/performance/ProcMemStatRet.aidl b/interfaces/aidl/vendor/oplus/hardware/performance/ProcMemStatRet.aidl new file mode 100644 index 0000000..b57f90f --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/performance/ProcMemStatRet.aidl @@ -0,0 +1,14 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.performance; + +import vendor.oplus.hardware.performance.ProcMemStat; + +@VintfStability +parcelable ProcMemStatRet { + int status; + ProcMemStat[] arr_ms; +} diff --git a/interfaces/aidl/vendor/oplus/hardware/performance/ProcReqHal.aidl b/interfaces/aidl/vendor/oplus/hardware/performance/ProcReqHal.aidl new file mode 100644 index 0000000..3b91f1b --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/performance/ProcReqHal.aidl @@ -0,0 +1,14 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.performance; + +import vendor.oplus.hardware.performance.ProcReqItemHal; + +@VintfStability +parcelable ProcReqHal { + String proc; + ProcReqItemHal[] items; +} diff --git a/interfaces/aidl/vendor/oplus/hardware/performance/ProcReqItemHal.aidl b/interfaces/aidl/vendor/oplus/hardware/performance/ProcReqItemHal.aidl new file mode 100644 index 0000000..38f145c --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/performance/ProcReqItemHal.aidl @@ -0,0 +1,13 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.performance; + +@VintfStability +parcelable ProcReqItemHal { + String key; + String label; + int uploadType; +} diff --git a/interfaces/aidl/vendor/oplus/hardware/performance/TaskGroup.aidl b/interfaces/aidl/vendor/oplus/hardware/performance/TaskGroup.aidl new file mode 100644 index 0000000..4209d3c --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/performance/TaskGroup.aidl @@ -0,0 +1,16 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.performance; + +@VintfStability +enum TaskGroup { + DEFAULT = 0, + UI = 1, + RENDER = 2, + DISPLAY = 3, + INPUT = 4, + GAME = 5, +} diff --git a/interfaces/aidl/vendor/oplus/hardware/performance/TaskWakeInfo.aidl b/interfaces/aidl/vendor/oplus/hardware/performance/TaskWakeInfo.aidl new file mode 100644 index 0000000..9a8ce61 --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/performance/TaskWakeInfo.aidl @@ -0,0 +1,14 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.performance; + +import vendor.oplus.hardware.performance.ThreadInfo; + +@VintfStability +parcelable TaskWakeInfo { + int ret = 0; + ThreadInfo[] list; +} diff --git a/interfaces/aidl/vendor/oplus/hardware/performance/ThreadInfo.aidl b/interfaces/aidl/vendor/oplus/hardware/performance/ThreadInfo.aidl new file mode 100644 index 0000000..1ddabca --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/performance/ThreadInfo.aidl @@ -0,0 +1,17 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.performance; + +@VintfStability +parcelable ThreadInfo { + int pid = 0; + int tid = 0; + int SourcePid = 0; + int utils = 0; + int nice = 0; + int WakeCnt = 0; + int totalWakeCnt = 0; +} diff --git a/interfaces/aidl/vendor/oplus/hardware/performance/UploadType.aidl b/interfaces/aidl/vendor/oplus/hardware/performance/UploadType.aidl new file mode 100644 index 0000000..93bf9fe --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/performance/UploadType.aidl @@ -0,0 +1,13 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.performance; + +@VintfStability +enum UploadType { + PRIMITIVE = 0, + DELTA = 1, + SKIP = 2, +} diff --git a/interfaces/aidl/vendor/oplus/hardware/urcc/IUrcc.aidl b/interfaces/aidl/vendor/oplus/hardware/urcc/IUrcc.aidl new file mode 100644 index 0000000..38e3f6b --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/urcc/IUrcc.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.urcc; + +import vendor.oplus.hardware.urcc.IUrccCallback; +import vendor.oplus.hardware.urcc.UrccRequestData; +import vendor.oplus.hardware.urcc.UrccRequestParcel; + +@VintfStability +interface IUrcc { + void urccInit(); + int urccResCtlRequest(in UrccRequestParcel mUrccRequestParcel); + int urccResCtlRelease(int mhandle); + UrccRequestData[] urccResStateRequest(in UrccRequestParcel mUrccRequestParcel); + int urccResListeningRegister(in UrccRequestParcel mUrccRequestParcel, IUrccCallback urccCallback); + int urccResListeningUnRegister(int mhandle); + String urccPropertyGet(String name); + int urccPropertySet(String name, String value); + int urccThermalListeningRegister(in int[] types, IUrccCallback urccCallback); + int urccThermalListeningUnRegister(int mhandle); + int uahNotifyExt(int src, int type, in int[] args); + int setRelatedSysInfo(int cmd, in byte[] info); + int urccRuleCtl(int ruleId, int status, in UrccRequestData[] ruleData); + void uahResCtlRequestBypass(in UrccRequestParcel mRequestParcel); +} diff --git a/interfaces/aidl/vendor/oplus/hardware/urcc/IUrccCallback.aidl b/interfaces/aidl/vendor/oplus/hardware/urcc/IUrccCallback.aidl new file mode 100644 index 0000000..4b8234b --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/urcc/IUrccCallback.aidl @@ -0,0 +1,13 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.urcc; + +import vendor.oplus.hardware.urcc.UrccRequestData; + +@VintfStability +interface IUrccCallback { + void onCallback(in UrccRequestData[] urccRequestDataArr); +} diff --git a/interfaces/aidl/vendor/oplus/hardware/urcc/UrccRequestData.aidl b/interfaces/aidl/vendor/oplus/hardware/urcc/UrccRequestData.aidl new file mode 100644 index 0000000..3da3b4e --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/urcc/UrccRequestData.aidl @@ -0,0 +1,15 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.urcc; + +@VintfStability +parcelable UrccRequestData { + String desc; + String res_Path; + String res_Value; + int res_Id; + int event_Id; +} diff --git a/interfaces/aidl/vendor/oplus/hardware/urcc/UrccRequestParcel.aidl b/interfaces/aidl/vendor/oplus/hardware/urcc/UrccRequestParcel.aidl new file mode 100644 index 0000000..615e8ea --- /dev/null +++ b/interfaces/aidl/vendor/oplus/hardware/urcc/UrccRequestParcel.aidl @@ -0,0 +1,26 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ + +package vendor.oplus.hardware.urcc; + +import vendor.oplus.hardware.urcc.IUrccCallback; +import vendor.oplus.hardware.urcc.UrccRequestData; + +@VintfStability +parcelable UrccRequestParcel { + String identity; + String[] mParams; + UrccRequestData[] mUrccRequestData; + byte[] otherData; + String pkgName; + IUrccCallback urccCallback; + int type; + boolean screenoff_support; + int prio; + int callingPID; + int callingUID; + long duration; + int handle; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/1/.hash b/interfaces/aidl_api/vendor.oplus.hardware.charger/1/.hash new file mode 100644 index 0000000..63ca85e --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/1/.hash @@ -0,0 +1 @@ +f5b7e586df4d7e58cf547d6f81731b69e128bbe1 diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/1/vendor/oplus/hardware/charger/ICharger.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/1/vendor/oplus/hardware/charger/ICharger.aidl new file mode 100644 index 0000000..4f9e7f4 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/1/vendor/oplus/hardware/charger/ICharger.aidl @@ -0,0 +1,149 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +interface ICharger { + int VolDividerIcWorkModeSet(String data); + int chgExchangeMesgInit(); + int chgExchangeSohMesgInit(); + int getAcType(); + int getBattAuthenticate(); + int getBattPPSChgIng(); + int getBattPPSChgPower(); + String getBattParamNoplug(); + int getBattShortIcOtpStatus(); + int getBattSubCurrent(); + int getBattVoocChgIng(); + int getBatteryVoltageNow(); + String getBccCsvData(); + int getBccExpStatus(); + String getBmsHeatingRunningStatus(); + int getBmsHeatingStatus(); + String getChargerControl(); + int getChargerCoolDown(); + int getChargerCriticalLog(); + int getChargerIdVolt(); + int getChargerLog(); + int getCustomSelectChgMode(); + String getDevinfoFastchg(); + int getFastCharge(); + int getParallelChgMosTestResult(); + int getPsyAcOnline(); + int getPsyBatteryCC(); + int getPsyBatteryCurrentNow(); + int getPsyBatteryFcc(); + int getPsyBatteryHmac(); + int getPsyBatteryLevel(); + int getPsyBatteryNotify(); + int getPsyBatteryPchg(); + int getPsyBatteryPchgResetCount(); + int getPsyBatteryRm(); + int getPsyBatteryShortFeature(); + int getPsyBatteryShortStatus(); + String getPsyBatteryStatus(); + int getPsyBatteryTemp(); + int getPsyChargeTech(); + int getPsyFastChgType(); + int getPsyInputCurrent(); + int getPsyOtgOnline(); + int getPsyOtgSwitch(); + int getPsyPcPortOnline(); + int getPsyQGVbatDeviation(); + int getPsyTypeOrientation(); + int getPsyUsbOnline(); + int getPsyUsbStatus(); + String getPsyWirelessRX(); + String getPsyWirelessRxVersion(); + String getPsyWirelessTX(); + String getPsyWirelessTxVersion(); + int getQgVbatDeviation(); + String getQuickModeGain(); + String getReserveSocDebug(); + int getSmartChgMode(); + int getUIsohValue(); + String getUisohDebugParameterInfo(); + int getUsbInputCurrentNow(); + int getUsbPrimalType(); + int getWiredOtgOnline(); + int getWirelessAdapterPower(); + int getWirelessCapacity(); + int getWirelessChargePumpEn(); + int getWirelessCurrentNow(); + String getWirelessDeviated(); + int getWirelessOnline(); + int getWirelessPenPresent(); + int getWirelessPtmcId(); + int getWirelessRXEnable(); + int getWirelessRealType(); + String getWirelessTXEnable(); + int getWirelessUserSleepMode(); + int getWirelessVoltageNow(); + String healthd_update_ui_soc_decimal(); + int nightstandby(int status); + int notifyScreenStatus(int status); + String queryChargeInfo(); + int setChargeEMMode(String data); + int setChargerControl(String data); + int setChargerCoolDown(String data); + int setChargerCriticalLog(String data); + int setChargerCycle(String data); + int setChargerFactoryModeTest(String data); + int setChargerLog(String data); + int setChgStatusToBcc(int status); + int setCustomSelectChgMode(int mode, boolean enable); + int setFastchgFwUpdate(String data); + int setPsyMmiChgEn(String data); + int setPsyOtgSwitch(String data); + int setReserveSocDebug(String data); + int setShipMode(String data); + int setSmartChgMode(String data); + int setSmartCoolDown(int coolDown, int normalCoolDown, String pkgName); + int setTbattPwrOff(String data); + int setUisohDebugInfo(String data); + int setUsbPrimalType(String data); + int setWirelessChargePumpEn(String data); + int setWirelessFtmMode(String data); + int setWirelessIconDelay(String data); + int setWirelessIdtAdcTest(String data); + int setWirelessPenSoc(String data); + int setWirelessRXEnable(String data); + int setWirelessTXEnable(String data); + int setWirelessUserSleepMode(String data); + int setWlsThirdPartitionInfo(String data); + vendor.oplus.hardware.charger.testKitFeatureTestResult testKitFeatureTest(int index); + String testKitGetFeatureList(); + String testKitGetFeatureName(int index); + int testKitGetFeatureNum(); + int updateUiSohToPartion(); + String queryWlsPencilInfo(); + String getChgOlcConfig(); + int setChgOlcConfig(String data); + int setSuperEnduranceStatus(String data); + int setSuperEnduranceCount(String data); + int setBobStatus(String data); + int setPsySlowChgEn(String data); + int getCpVbatDeviation(); + int setBatteryLogPush(String data); + int getChargingModeInGsmCall(); + int setChargingModeInGsmCall(String data); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/1/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/1/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl new file mode 100644 index 0000000..9a00dbe --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/1/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +parcelable testKitFeatureTestResult { + int ret; + String str; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/2/.hash b/interfaces/aidl_api/vendor.oplus.hardware.charger/2/.hash new file mode 100644 index 0000000..ead149f --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/2/.hash @@ -0,0 +1 @@ +a41b38d964ed21d7edcb4a1c29454c7c969b733b diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/2/vendor/oplus/hardware/charger/ICharger.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/2/vendor/oplus/hardware/charger/ICharger.aidl new file mode 100644 index 0000000..dd25162 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/2/vendor/oplus/hardware/charger/ICharger.aidl @@ -0,0 +1,150 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +interface ICharger { + int VolDividerIcWorkModeSet(String data); + int chgExchangeMesgInit(); + int chgExchangeSohMesgInit(); + int getAcType(); + int getBattAuthenticate(); + int getBattPPSChgIng(); + int getBattPPSChgPower(); + String getBattParamNoplug(); + int getBattShortIcOtpStatus(); + int getBattSubCurrent(); + int getBattVoocChgIng(); + int getBatteryVoltageNow(); + String getBccCsvData(); + int getBccExpStatus(); + String getBmsHeatingRunningStatus(); + int getBmsHeatingStatus(); + String getChargerControl(); + int getChargerCoolDown(); + int getChargerCriticalLog(); + int getChargerIdVolt(); + int getChargerLog(); + int getCustomSelectChgMode(); + String getDevinfoFastchg(); + int getFastCharge(); + int getParallelChgMosTestResult(); + int getPsyAcOnline(); + int getPsyBatteryCC(); + int getPsyBatteryCurrentNow(); + int getPsyBatteryFcc(); + int getPsyBatteryHmac(); + int getPsyBatteryLevel(); + int getPsyBatteryNotify(); + int getPsyBatteryPchg(); + int getPsyBatteryPchgResetCount(); + int getPsyBatteryRm(); + int getPsyBatteryShortFeature(); + int getPsyBatteryShortStatus(); + String getPsyBatteryStatus(); + int getPsyBatteryTemp(); + int getPsyChargeTech(); + int getPsyFastChgType(); + int getPsyInputCurrent(); + int getPsyOtgOnline(); + int getPsyOtgSwitch(); + int getPsyPcPortOnline(); + int getPsyQGVbatDeviation(); + int getPsyTypeOrientation(); + int getPsyUsbOnline(); + int getPsyUsbStatus(); + String getPsyWirelessRX(); + String getPsyWirelessRxVersion(); + String getPsyWirelessTX(); + String getPsyWirelessTxVersion(); + int getQgVbatDeviation(); + String getQuickModeGain(); + String getReserveSocDebug(); + int getSmartChgMode(); + int getUIsohValue(); + String getUisohDebugParameterInfo(); + int getUsbInputCurrentNow(); + int getUsbPrimalType(); + int getWiredOtgOnline(); + int getWirelessAdapterPower(); + int getWirelessCapacity(); + int getWirelessChargePumpEn(); + int getWirelessCurrentNow(); + String getWirelessDeviated(); + int getWirelessOnline(); + int getWirelessPenPresent(); + int getWirelessPtmcId(); + int getWirelessRXEnable(); + int getWirelessRealType(); + String getWirelessTXEnable(); + int getWirelessUserSleepMode(); + int getWirelessVoltageNow(); + String healthd_update_ui_soc_decimal(); + int nightstandby(int status); + int notifyScreenStatus(int status); + String queryChargeInfo(); + int setChargeEMMode(String data); + int setChargerControl(String data); + int setChargerCoolDown(String data); + int setChargerCriticalLog(String data); + int setChargerCycle(String data); + int setChargerFactoryModeTest(String data); + int setChargerLog(String data); + int setChgStatusToBcc(int status); + int setCustomSelectChgMode(int mode, boolean enable); + int setFastchgFwUpdate(String data); + int setPsyMmiChgEn(String data); + int setPsyOtgSwitch(String data); + int setReserveSocDebug(String data); + int setShipMode(String data); + int setSmartChgMode(String data); + int setSmartCoolDown(int coolDown, int normalCoolDown, String pkgName); + int setTbattPwrOff(String data); + int setUisohDebugInfo(String data); + int setUsbPrimalType(String data); + int setWirelessChargePumpEn(String data); + int setWirelessFtmMode(String data); + int setWirelessIconDelay(String data); + int setWirelessIdtAdcTest(String data); + int setWirelessPenSoc(String data); + int setWirelessRXEnable(String data); + int setWirelessTXEnable(String data); + int setWirelessUserSleepMode(String data); + int setWlsThirdPartitionInfo(String data); + vendor.oplus.hardware.charger.testKitFeatureTestResult testKitFeatureTest(int index); + String testKitGetFeatureList(); + String testKitGetFeatureName(int index); + int testKitGetFeatureNum(); + int updateUiSohToPartion(); + String queryWlsPencilInfo(); + String getChgOlcConfig(); + int setChgOlcConfig(String data); + int setSuperEnduranceStatus(String data); + int setSuperEnduranceCount(String data); + int setBobStatus(String data); + int setPsySlowChgEn(String data); + int getCpVbatDeviation(); + int setBatteryLogPush(String data); + int getChargingModeInGsmCall(); + int setChargingModeInGsmCall(String data); + int setChgRusConfig(String data); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/2/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/2/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl new file mode 100644 index 0000000..9a00dbe --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/2/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +parcelable testKitFeatureTestResult { + int ret; + String str; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/3/.hash b/interfaces/aidl_api/vendor.oplus.hardware.charger/3/.hash new file mode 100644 index 0000000..4603872 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/3/.hash @@ -0,0 +1 @@ +94b22213920f83dfdbc7a6b53c0de919dc12eafc diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/3/vendor/oplus/hardware/charger/ICharger.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/3/vendor/oplus/hardware/charger/ICharger.aidl new file mode 100644 index 0000000..a548f73 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/3/vendor/oplus/hardware/charger/ICharger.aidl @@ -0,0 +1,152 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +interface ICharger { + int VolDividerIcWorkModeSet(String data); + int chgExchangeMesgInit(); + int chgExchangeSohMesgInit(); + int getAcType(); + int getBattAuthenticate(); + int getBattPPSChgIng(); + int getBattPPSChgPower(); + String getBattParamNoplug(); + int getBattShortIcOtpStatus(); + int getBattSubCurrent(); + int getBattVoocChgIng(); + int getBatteryVoltageNow(); + String getBccCsvData(); + int getBccExpStatus(); + String getBmsHeatingRunningStatus(); + int getBmsHeatingStatus(); + String getChargerControl(); + int getChargerCoolDown(); + int getChargerCriticalLog(); + int getChargerIdVolt(); + int getChargerLog(); + int getCustomSelectChgMode(); + String getDevinfoFastchg(); + int getFastCharge(); + int getParallelChgMosTestResult(); + int getPsyAcOnline(); + int getPsyBatteryCC(); + int getPsyBatteryCurrentNow(); + int getPsyBatteryFcc(); + int getPsyBatteryHmac(); + int getPsyBatteryLevel(); + int getPsyBatteryNotify(); + int getPsyBatteryPchg(); + int getPsyBatteryPchgResetCount(); + int getPsyBatteryRm(); + int getPsyBatteryShortFeature(); + int getPsyBatteryShortStatus(); + String getPsyBatteryStatus(); + int getPsyBatteryTemp(); + int getPsyChargeTech(); + int getPsyFastChgType(); + int getPsyInputCurrent(); + int getPsyOtgOnline(); + int getPsyOtgSwitch(); + int getPsyPcPortOnline(); + int getPsyQGVbatDeviation(); + int getPsyTypeOrientation(); + int getPsyUsbOnline(); + int getPsyUsbStatus(); + String getPsyWirelessRX(); + String getPsyWirelessRxVersion(); + String getPsyWirelessTX(); + String getPsyWirelessTxVersion(); + int getQgVbatDeviation(); + String getQuickModeGain(); + String getReserveSocDebug(); + int getSmartChgMode(); + int getUIsohValue(); + String getUisohDebugParameterInfo(); + int getUsbInputCurrentNow(); + int getUsbPrimalType(); + int getWiredOtgOnline(); + int getWirelessAdapterPower(); + int getWirelessCapacity(); + int getWirelessChargePumpEn(); + int getWirelessCurrentNow(); + String getWirelessDeviated(); + int getWirelessOnline(); + int getWirelessPenPresent(); + int getWirelessPtmcId(); + int getWirelessRXEnable(); + int getWirelessRealType(); + String getWirelessTXEnable(); + int getWirelessUserSleepMode(); + int getWirelessVoltageNow(); + String healthd_update_ui_soc_decimal(); + int nightstandby(int status); + int notifyScreenStatus(int status); + String queryChargeInfo(); + int setChargeEMMode(String data); + int setChargerControl(String data); + int setChargerCoolDown(String data); + int setChargerCriticalLog(String data); + int setChargerCycle(String data); + int setChargerFactoryModeTest(String data); + int setChargerLog(String data); + int setChgStatusToBcc(int status); + int setCustomSelectChgMode(int mode, boolean enable); + int setFastchgFwUpdate(String data); + int setPsyMmiChgEn(String data); + int setPsyOtgSwitch(String data); + int setReserveSocDebug(String data); + int setShipMode(String data); + int setSmartChgMode(String data); + int setSmartCoolDown(int coolDown, int normalCoolDown, String pkgName); + int setTbattPwrOff(String data); + int setUisohDebugInfo(String data); + int setUsbPrimalType(String data); + int setWirelessChargePumpEn(String data); + int setWirelessFtmMode(String data); + int setWirelessIconDelay(String data); + int setWirelessIdtAdcTest(String data); + int setWirelessPenSoc(String data); + int setWirelessRXEnable(String data); + int setWirelessTXEnable(String data); + int setWirelessUserSleepMode(String data); + int setWlsThirdPartitionInfo(String data); + vendor.oplus.hardware.charger.testKitFeatureTestResult testKitFeatureTest(int index); + String testKitGetFeatureList(); + String testKitGetFeatureName(int index); + int testKitGetFeatureNum(); + int updateUiSohToPartion(); + String queryWlsPencilInfo(); + String getChgOlcConfig(); + int setChgOlcConfig(String data); + int setSuperEnduranceStatus(String data); + int setSuperEnduranceCount(String data); + int setBobStatus(String data); + int setPsySlowChgEn(String data); + int getCpVbatDeviation(); + int setBatteryLogPush(String data); + int getChargingModeInGsmCall(); + int setChargingModeInGsmCall(String data); + int setChgRusConfig(String data); + String getPsyBatterySN(); + String getBattGaugeInfo(); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/3/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/3/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl new file mode 100644 index 0000000..9a00dbe --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/3/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +parcelable testKitFeatureTestResult { + int ret; + String str; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/5/.hash b/interfaces/aidl_api/vendor.oplus.hardware.charger/5/.hash new file mode 100644 index 0000000..a6602f7 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/5/.hash @@ -0,0 +1 @@ +08c9338f46f14f1f9d7506d3e0801baa6f8cf7d8 diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/5/vendor/oplus/hardware/charger/ChgFuncFlag.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/5/vendor/oplus/hardware/charger/ChgFuncFlag.aidl new file mode 100644 index 0000000..90d10e4 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/5/vendor/oplus/hardware/charger/ChgFuncFlag.aidl @@ -0,0 +1,50 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@Backing(type="int") @VintfStability +enum ChgFuncFlag { + GET_UI_CHG_ICON_TYPE = 0, + GET_UI_POWER_VALUE = 1, + GET_DEVICE_POWER_VALUE = 2, + GET_ADAPTER_POWER_VALUE = 3, + GET_CPA_POWER_VALUE = 4, + SET_CHG_UP_LIMIT_VALUE = 5, + IS_SUPPORT_SINGLE_HYPER_SPEED = 6, + GET_BATT_EXPANSION_STATE = 7, + IS_SUPPORT_ECO_DESIGN = 8, + GET_BATT_MANU_DATE = 9, + GET_BATT_FIRST_USAGE_DATE = 10, + SET_BATT_FIRST_USAGE_DATE = 11, + CLEAR_BATT_ECO_DATA = 12, + SET_RECHG_SOC_EN = 13, + SET_CHG_UP_LIMIT_STATE = 14, + GET_BATTERY_STATUS_PM_VPH = 15, + GET_BATTERY_STATUS_PM_VBAT = 16, + GET_DEEP_DISCHG_COUNTS_VALUE = 17, + GET_ANTI_EXPANSION_INFO = 18, + SET_ANTI_EXPANSION_INFO = 19, + GET_BATT_UI_CYCLE_COUNT = 20, + GET_BATTERY_TYPE = 21, + WIRELESS_PENCIL_QCALI = 22, + GET_BATTERY_GAUGE_TYPE = 23, +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/5/vendor/oplus/hardware/charger/ICharger.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/5/vendor/oplus/hardware/charger/ICharger.aidl new file mode 100644 index 0000000..6761f44 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/5/vendor/oplus/hardware/charger/ICharger.aidl @@ -0,0 +1,154 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +interface ICharger { + int VolDividerIcWorkModeSet(String data); + int chgExchangeMesgInit(); + int chgExchangeSohMesgInit(); + int getAcType(); + int getBattAuthenticate(); + int getBattPPSChgIng(); + int getBattPPSChgPower(); + String getBattParamNoplug(); + int getBattShortIcOtpStatus(); + int getBattSubCurrent(); + int getBattVoocChgIng(); + int getBatteryVoltageNow(); + String getBccCsvData(); + int getBccExpStatus(); + String getBmsHeatingRunningStatus(); + int getBmsHeatingStatus(); + String getChargerControl(); + int getChargerCoolDown(); + int getChargerCriticalLog(); + int getChargerIdVolt(); + int getChargerLog(); + int getCustomSelectChgMode(); + String getDevinfoFastchg(); + int getFastCharge(); + int getParallelChgMosTestResult(); + int getPsyAcOnline(); + int getPsyBatteryCC(); + int getPsyBatteryCurrentNow(); + int getPsyBatteryFcc(); + int getPsyBatteryHmac(); + int getPsyBatteryLevel(); + int getPsyBatteryNotify(); + int getPsyBatteryPchg(); + int getPsyBatteryPchgResetCount(); + int getPsyBatteryRm(); + int getPsyBatteryShortFeature(); + int getPsyBatteryShortStatus(); + String getPsyBatteryStatus(); + int getPsyBatteryTemp(); + int getPsyChargeTech(); + int getPsyFastChgType(); + int getPsyInputCurrent(); + int getPsyOtgOnline(); + int getPsyOtgSwitch(); + int getPsyPcPortOnline(); + int getPsyQGVbatDeviation(); + int getPsyTypeOrientation(); + int getPsyUsbOnline(); + int getPsyUsbStatus(); + String getPsyWirelessRX(); + String getPsyWirelessRxVersion(); + String getPsyWirelessTX(); + String getPsyWirelessTxVersion(); + int getQgVbatDeviation(); + String getQuickModeGain(); + String getReserveSocDebug(); + int getSmartChgMode(); + int getUIsohValue(); + String getUisohDebugParameterInfo(); + int getUsbInputCurrentNow(); + int getUsbPrimalType(); + int getWiredOtgOnline(); + int getWirelessAdapterPower(); + int getWirelessCapacity(); + int getWirelessChargePumpEn(); + int getWirelessCurrentNow(); + String getWirelessDeviated(); + int getWirelessOnline(); + int getWirelessPenPresent(); + int getWirelessPtmcId(); + int getWirelessRXEnable(); + int getWirelessRealType(); + String getWirelessTXEnable(); + int getWirelessUserSleepMode(); + int getWirelessVoltageNow(); + String healthd_update_ui_soc_decimal(); + int nightstandby(int status); + int notifyScreenStatus(int status); + String queryChargeInfo(); + int setChargeEMMode(String data); + int setChargerControl(String data); + int setChargerCoolDown(String data); + int setChargerCriticalLog(String data); + int setChargerCycle(String data); + int setChargerFactoryModeTest(String data); + int setChargerLog(String data); + int setChgStatusToBcc(int status); + int setCustomSelectChgMode(int mode, boolean enable); + int setFastchgFwUpdate(String data); + int setPsyMmiChgEn(String data); + int setPsyOtgSwitch(String data); + int setReserveSocDebug(String data); + int setShipMode(String data); + int setSmartChgMode(String data); + int setSmartCoolDown(int coolDown, int normalCoolDown, String pkgName); + int setTbattPwrOff(String data); + int setUisohDebugInfo(String data); + int setUsbPrimalType(String data); + int setWirelessChargePumpEn(String data); + int setWirelessFtmMode(String data); + int setWirelessIconDelay(String data); + int setWirelessIdtAdcTest(String data); + int setWirelessPenSoc(String data); + int setWirelessRXEnable(String data); + int setWirelessTXEnable(String data); + int setWirelessUserSleepMode(String data); + int setWlsThirdPartitionInfo(String data); + vendor.oplus.hardware.charger.testKitFeatureTestResult testKitFeatureTest(int index); + String testKitGetFeatureList(); + String testKitGetFeatureName(int index); + int testKitGetFeatureNum(); + int updateUiSohToPartion(); + String queryWlsPencilInfo(); + String getChgOlcConfig(); + int setChgOlcConfig(String data); + int setSuperEnduranceStatus(String data); + int setSuperEnduranceCount(String data); + int setBobStatus(String data); + int setPsySlowChgEn(String data); + int getCpVbatDeviation(); + int setBatteryLogPush(String data); + int getChargingModeInGsmCall(); + int setChargingModeInGsmCall(String data); + int setChgRusConfig(String data); + String getPsyBatterySN(); + String getBattGaugeInfo(); + int setChgConfig(vendor.oplus.hardware.charger.ChgFuncFlag flag, String extra, int callname); + String getChgConfig(vendor.oplus.hardware.charger.ChgFuncFlag flag, String extra, int callname); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/5/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/5/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl new file mode 100644 index 0000000..9a00dbe --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/5/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +parcelable testKitFeatureTestResult { + int ret; + String str; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/6/.hash b/interfaces/aidl_api/vendor.oplus.hardware.charger/6/.hash new file mode 100644 index 0000000..0a12ebb --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/6/.hash @@ -0,0 +1 @@ +8f23efe319a4b048ccfa90d86cdfc67a495e1b6f diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/6/vendor/oplus/hardware/charger/ChgFuncFlag.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/6/vendor/oplus/hardware/charger/ChgFuncFlag.aidl new file mode 100644 index 0000000..9426818 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/6/vendor/oplus/hardware/charger/ChgFuncFlag.aidl @@ -0,0 +1,52 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@Backing(type="int") @VintfStability +enum ChgFuncFlag { + GET_UI_CHG_ICON_TYPE = 0, + GET_UI_POWER_VALUE = 1, + GET_DEVICE_POWER_VALUE = 2, + GET_ADAPTER_POWER_VALUE = 3, + GET_CPA_POWER_VALUE = 4, + SET_CHG_UP_LIMIT_VALUE = 5, + IS_SUPPORT_SINGLE_HYPER_SPEED = 6, + GET_BATT_EXPANSION_STATE = 7, + IS_SUPPORT_ECO_DESIGN = 8, + GET_BATT_MANU_DATE = 9, + GET_BATT_FIRST_USAGE_DATE = 10, + SET_BATT_FIRST_USAGE_DATE = 11, + CLEAR_BATT_ECO_DATA = 12, + SET_RECHG_SOC_EN = 13, + SET_CHG_UP_LIMIT_STATE = 14, + GET_BATTERY_STATUS_PM_VPH = 15, + GET_BATTERY_STATUS_PM_VBAT = 16, + GET_DEEP_DISCHG_COUNTS_VALUE = 17, + GET_ANTI_EXPANSION_INFO = 18, + SET_ANTI_EXPANSION_INFO = 19, + GET_BATT_UI_CYCLE_COUNT = 20, + GET_BATTERY_TYPE = 21, + WIRELESS_PENCIL_QCALI = 22, + GET_BATTERY_GAUGE_TYPE = 23, + GET_CHG_BYPASS_STATUS = 24, + SET_CHG_BYPASS = 25, +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/6/vendor/oplus/hardware/charger/ICharger.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/6/vendor/oplus/hardware/charger/ICharger.aidl new file mode 100644 index 0000000..578967b --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/6/vendor/oplus/hardware/charger/ICharger.aidl @@ -0,0 +1,156 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +interface ICharger { + int VolDividerIcWorkModeSet(String data); + int chgExchangeMesgInit(); + int chgExchangeSohMesgInit(); + int getAcType(); + int getBattAuthenticate(); + int getBattPPSChgIng(); + int getBattPPSChgPower(); + String getBattParamNoplug(); + int getBattShortIcOtpStatus(); + int getBattSubCurrent(); + int getBattVoocChgIng(); + int getBatteryVoltageNow(); + String getBccCsvData(); + int getBccExpStatus(); + String getBmsHeatingRunningStatus(); + int getBmsHeatingStatus(); + String getChargerControl(); + int getChargerCoolDown(); + int getChargerCriticalLog(); + int getChargerIdVolt(); + int getChargerLog(); + int getCustomSelectChgMode(); + String getDevinfoFastchg(); + int getFastCharge(); + int getParallelChgMosTestResult(); + int getPsyAcOnline(); + int getPsyBatteryCC(); + int getPsyBatteryCurrentNow(); + int getPsyBatteryFcc(); + int getPsyBatteryHmac(); + int getPsyBatteryLevel(); + int getPsyBatteryNotify(); + int getPsyBatteryPchg(); + int getPsyBatteryPchgResetCount(); + int getPsyBatteryRm(); + int getPsyBatteryShortFeature(); + int getPsyBatteryShortStatus(); + String getPsyBatteryStatus(); + int getPsyBatteryTemp(); + int getPsyChargeTech(); + int getPsyFastChgType(); + int getPsyInputCurrent(); + int getPsyOtgOnline(); + int getPsyOtgSwitch(); + int getPsyPcPortOnline(); + int getPsyQGVbatDeviation(); + int getPsyTypeOrientation(); + int getPsyUsbOnline(); + int getPsyUsbStatus(); + String getPsyWirelessRX(); + String getPsyWirelessRxVersion(); + String getPsyWirelessTX(); + String getPsyWirelessTxVersion(); + int getQgVbatDeviation(); + String getQuickModeGain(); + String getReserveSocDebug(); + int getSmartChgMode(); + int getUIsohValue(); + String getUisohDebugParameterInfo(); + int getUsbInputCurrentNow(); + int getUsbPrimalType(); + int getWiredOtgOnline(); + int getWirelessAdapterPower(); + int getWirelessCapacity(); + int getWirelessChargePumpEn(); + int getWirelessCurrentNow(); + String getWirelessDeviated(); + int getWirelessOnline(); + int getWirelessPenPresent(); + int getWirelessPtmcId(); + int getWirelessRXEnable(); + int getWirelessRealType(); + String getWirelessTXEnable(); + int getWirelessUserSleepMode(); + int getWirelessVoltageNow(); + String healthd_update_ui_soc_decimal(); + int nightstandby(int status); + int notifyScreenStatus(int status); + String queryChargeInfo(); + int setChargeEMMode(String data); + int setChargerControl(String data); + int setChargerCoolDown(String data); + int setChargerCriticalLog(String data); + int setChargerCycle(String data); + int setChargerFactoryModeTest(String data); + int setChargerLog(String data); + int setChgStatusToBcc(int status); + int setCustomSelectChgMode(int mode, boolean enable); + int setFastchgFwUpdate(String data); + int setPsyMmiChgEn(String data); + int setPsyOtgSwitch(String data); + int setReserveSocDebug(String data); + int setShipMode(String data); + int setSmartChgMode(String data); + int setSmartCoolDown(int coolDown, int normalCoolDown, String pkgName); + int setTbattPwrOff(String data); + int setUisohDebugInfo(String data); + int setUsbPrimalType(String data); + int setWirelessChargePumpEn(String data); + int setWirelessFtmMode(String data); + int setWirelessIconDelay(String data); + int setWirelessIdtAdcTest(String data); + int setWirelessPenSoc(String data); + int setWirelessRXEnable(String data); + int setWirelessTXEnable(String data); + int setWirelessUserSleepMode(String data); + int setWlsThirdPartitionInfo(String data); + vendor.oplus.hardware.charger.testKitFeatureTestResult testKitFeatureTest(int index); + String testKitGetFeatureList(); + String testKitGetFeatureName(int index); + int testKitGetFeatureNum(); + int updateUiSohToPartion(); + String queryWlsPencilInfo(); + String getChgOlcConfig(); + int setChgOlcConfig(String data); + int setSuperEnduranceStatus(String data); + int setSuperEnduranceCount(String data); + int setBobStatus(String data); + int setPsySlowChgEn(String data); + int getCpVbatDeviation(); + int setBatteryLogPush(String data); + int getChargingModeInGsmCall(); + int setChargingModeInGsmCall(String data); + int setChgRusConfig(String data); + String getPsyBatterySN(); + String getBattGaugeInfo(); + int setChgConfig(vendor.oplus.hardware.charger.ChgFuncFlag flag, String extra, int callname); + String getChgConfig(vendor.oplus.hardware.charger.ChgFuncFlag flag, String extra, int callname); + int setUsbEyeDiagram(int model, String eyeDiagram, boolean isDefaultEyeDiagram); + String getUsbCurrentEyeDiagram(int model); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/6/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/6/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl new file mode 100644 index 0000000..9a00dbe --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/6/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +parcelable testKitFeatureTestResult { + int ret; + String str; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/7/.hash b/interfaces/aidl_api/vendor.oplus.hardware.charger/7/.hash new file mode 100644 index 0000000..e5433c5 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/7/.hash @@ -0,0 +1 @@ +6c65540de0cc5d1dadd05e1b8087e7ed3d535b87 diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/7/vendor/oplus/hardware/charger/ChgFuncFlag.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/7/vendor/oplus/hardware/charger/ChgFuncFlag.aidl new file mode 100644 index 0000000..ab4c6ed --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/7/vendor/oplus/hardware/charger/ChgFuncFlag.aidl @@ -0,0 +1,54 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@Backing(type="int") @VintfStability +enum ChgFuncFlag { + GET_UI_CHG_ICON_TYPE = 0, + GET_UI_POWER_VALUE = 1, + GET_DEVICE_POWER_VALUE = 2, + GET_ADAPTER_POWER_VALUE = 3, + GET_CPA_POWER_VALUE = 4, + SET_CHG_UP_LIMIT_VALUE = 5, + IS_SUPPORT_SINGLE_HYPER_SPEED = 6, + GET_BATT_EXPANSION_STATE = 7, + IS_SUPPORT_ECO_DESIGN = 8, + GET_BATT_MANU_DATE = 9, + GET_BATT_FIRST_USAGE_DATE = 10, + SET_BATT_FIRST_USAGE_DATE = 11, + CLEAR_BATT_ECO_DATA = 12, + SET_RECHG_SOC_EN = 13, + SET_CHG_UP_LIMIT_STATE = 14, + GET_BATTERY_STATUS_PM_VPH = 15, + GET_BATTERY_STATUS_PM_VBAT = 16, + GET_DEEP_DISCHG_COUNTS_VALUE = 17, + GET_ANTI_EXPANSION_INFO = 18, + SET_ANTI_EXPANSION_INFO = 19, + GET_BATT_UI_CYCLE_COUNT = 20, + GET_BATTERY_TYPE = 21, + WIRELESS_PENCIL_QCALI = 22, + GET_BATTERY_GAUGE_TYPE = 23, + GET_CHG_BYPASS_STATUS = 24, + SET_CHG_BYPASS = 25, + GET_RX_DISABLE_STATUS = 26, + SET_RX_DISABLE = 27, +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/7/vendor/oplus/hardware/charger/ICharger.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/7/vendor/oplus/hardware/charger/ICharger.aidl new file mode 100644 index 0000000..578967b --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/7/vendor/oplus/hardware/charger/ICharger.aidl @@ -0,0 +1,156 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +interface ICharger { + int VolDividerIcWorkModeSet(String data); + int chgExchangeMesgInit(); + int chgExchangeSohMesgInit(); + int getAcType(); + int getBattAuthenticate(); + int getBattPPSChgIng(); + int getBattPPSChgPower(); + String getBattParamNoplug(); + int getBattShortIcOtpStatus(); + int getBattSubCurrent(); + int getBattVoocChgIng(); + int getBatteryVoltageNow(); + String getBccCsvData(); + int getBccExpStatus(); + String getBmsHeatingRunningStatus(); + int getBmsHeatingStatus(); + String getChargerControl(); + int getChargerCoolDown(); + int getChargerCriticalLog(); + int getChargerIdVolt(); + int getChargerLog(); + int getCustomSelectChgMode(); + String getDevinfoFastchg(); + int getFastCharge(); + int getParallelChgMosTestResult(); + int getPsyAcOnline(); + int getPsyBatteryCC(); + int getPsyBatteryCurrentNow(); + int getPsyBatteryFcc(); + int getPsyBatteryHmac(); + int getPsyBatteryLevel(); + int getPsyBatteryNotify(); + int getPsyBatteryPchg(); + int getPsyBatteryPchgResetCount(); + int getPsyBatteryRm(); + int getPsyBatteryShortFeature(); + int getPsyBatteryShortStatus(); + String getPsyBatteryStatus(); + int getPsyBatteryTemp(); + int getPsyChargeTech(); + int getPsyFastChgType(); + int getPsyInputCurrent(); + int getPsyOtgOnline(); + int getPsyOtgSwitch(); + int getPsyPcPortOnline(); + int getPsyQGVbatDeviation(); + int getPsyTypeOrientation(); + int getPsyUsbOnline(); + int getPsyUsbStatus(); + String getPsyWirelessRX(); + String getPsyWirelessRxVersion(); + String getPsyWirelessTX(); + String getPsyWirelessTxVersion(); + int getQgVbatDeviation(); + String getQuickModeGain(); + String getReserveSocDebug(); + int getSmartChgMode(); + int getUIsohValue(); + String getUisohDebugParameterInfo(); + int getUsbInputCurrentNow(); + int getUsbPrimalType(); + int getWiredOtgOnline(); + int getWirelessAdapterPower(); + int getWirelessCapacity(); + int getWirelessChargePumpEn(); + int getWirelessCurrentNow(); + String getWirelessDeviated(); + int getWirelessOnline(); + int getWirelessPenPresent(); + int getWirelessPtmcId(); + int getWirelessRXEnable(); + int getWirelessRealType(); + String getWirelessTXEnable(); + int getWirelessUserSleepMode(); + int getWirelessVoltageNow(); + String healthd_update_ui_soc_decimal(); + int nightstandby(int status); + int notifyScreenStatus(int status); + String queryChargeInfo(); + int setChargeEMMode(String data); + int setChargerControl(String data); + int setChargerCoolDown(String data); + int setChargerCriticalLog(String data); + int setChargerCycle(String data); + int setChargerFactoryModeTest(String data); + int setChargerLog(String data); + int setChgStatusToBcc(int status); + int setCustomSelectChgMode(int mode, boolean enable); + int setFastchgFwUpdate(String data); + int setPsyMmiChgEn(String data); + int setPsyOtgSwitch(String data); + int setReserveSocDebug(String data); + int setShipMode(String data); + int setSmartChgMode(String data); + int setSmartCoolDown(int coolDown, int normalCoolDown, String pkgName); + int setTbattPwrOff(String data); + int setUisohDebugInfo(String data); + int setUsbPrimalType(String data); + int setWirelessChargePumpEn(String data); + int setWirelessFtmMode(String data); + int setWirelessIconDelay(String data); + int setWirelessIdtAdcTest(String data); + int setWirelessPenSoc(String data); + int setWirelessRXEnable(String data); + int setWirelessTXEnable(String data); + int setWirelessUserSleepMode(String data); + int setWlsThirdPartitionInfo(String data); + vendor.oplus.hardware.charger.testKitFeatureTestResult testKitFeatureTest(int index); + String testKitGetFeatureList(); + String testKitGetFeatureName(int index); + int testKitGetFeatureNum(); + int updateUiSohToPartion(); + String queryWlsPencilInfo(); + String getChgOlcConfig(); + int setChgOlcConfig(String data); + int setSuperEnduranceStatus(String data); + int setSuperEnduranceCount(String data); + int setBobStatus(String data); + int setPsySlowChgEn(String data); + int getCpVbatDeviation(); + int setBatteryLogPush(String data); + int getChargingModeInGsmCall(); + int setChargingModeInGsmCall(String data); + int setChgRusConfig(String data); + String getPsyBatterySN(); + String getBattGaugeInfo(); + int setChgConfig(vendor.oplus.hardware.charger.ChgFuncFlag flag, String extra, int callname); + String getChgConfig(vendor.oplus.hardware.charger.ChgFuncFlag flag, String extra, int callname); + int setUsbEyeDiagram(int model, String eyeDiagram, boolean isDefaultEyeDiagram); + String getUsbCurrentEyeDiagram(int model); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/7/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/7/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl new file mode 100644 index 0000000..9a00dbe --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/7/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +parcelable testKitFeatureTestResult { + int ret; + String str; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/8/.hash b/interfaces/aidl_api/vendor.oplus.hardware.charger/8/.hash new file mode 100644 index 0000000..b164f2f --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/8/.hash @@ -0,0 +1 @@ +9776c52c1685db9934a5d1e69064471a2cd53c9f diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/8/vendor/oplus/hardware/charger/ChgFuncFlag.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/8/vendor/oplus/hardware/charger/ChgFuncFlag.aidl new file mode 100644 index 0000000..61845ee --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/8/vendor/oplus/hardware/charger/ChgFuncFlag.aidl @@ -0,0 +1,55 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@Backing(type="int") @VintfStability +enum ChgFuncFlag { + GET_UI_CHG_ICON_TYPE = 0, + GET_UI_POWER_VALUE = 1, + GET_DEVICE_POWER_VALUE = 2, + GET_ADAPTER_POWER_VALUE = 3, + GET_CPA_POWER_VALUE = 4, + SET_CHG_UP_LIMIT_VALUE = 5, + IS_SUPPORT_SINGLE_HYPER_SPEED = 6, + GET_BATT_EXPANSION_STATE = 7, + IS_SUPPORT_ECO_DESIGN = 8, + GET_BATT_MANU_DATE = 9, + GET_BATT_FIRST_USAGE_DATE = 10, + SET_BATT_FIRST_USAGE_DATE = 11, + CLEAR_BATT_ECO_DATA = 12, + SET_RECHG_SOC_EN = 13, + SET_CHG_UP_LIMIT_STATE = 14, + GET_BATTERY_STATUS_PM_VPH = 15, + GET_BATTERY_STATUS_PM_VBAT = 16, + GET_DEEP_DISCHG_COUNTS_VALUE = 17, + GET_ANTI_EXPANSION_INFO = 18, + SET_ANTI_EXPANSION_INFO = 19, + GET_BATT_UI_CYCLE_COUNT = 20, + GET_BATTERY_TYPE = 21, + WIRELESS_PENCIL_QCALI = 22, + GET_BATTERY_GAUGE_TYPE = 23, + GET_CHG_BYPASS_STATUS = 24, + SET_CHG_BYPASS = 25, + GET_RX_DISABLE_STATUS = 26, + SET_RX_DISABLE = 27, + GET_BATTERY_SEC_IC_TEST_STATUS = 28, +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/8/vendor/oplus/hardware/charger/ICharger.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/8/vendor/oplus/hardware/charger/ICharger.aidl new file mode 100644 index 0000000..578967b --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/8/vendor/oplus/hardware/charger/ICharger.aidl @@ -0,0 +1,156 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +interface ICharger { + int VolDividerIcWorkModeSet(String data); + int chgExchangeMesgInit(); + int chgExchangeSohMesgInit(); + int getAcType(); + int getBattAuthenticate(); + int getBattPPSChgIng(); + int getBattPPSChgPower(); + String getBattParamNoplug(); + int getBattShortIcOtpStatus(); + int getBattSubCurrent(); + int getBattVoocChgIng(); + int getBatteryVoltageNow(); + String getBccCsvData(); + int getBccExpStatus(); + String getBmsHeatingRunningStatus(); + int getBmsHeatingStatus(); + String getChargerControl(); + int getChargerCoolDown(); + int getChargerCriticalLog(); + int getChargerIdVolt(); + int getChargerLog(); + int getCustomSelectChgMode(); + String getDevinfoFastchg(); + int getFastCharge(); + int getParallelChgMosTestResult(); + int getPsyAcOnline(); + int getPsyBatteryCC(); + int getPsyBatteryCurrentNow(); + int getPsyBatteryFcc(); + int getPsyBatteryHmac(); + int getPsyBatteryLevel(); + int getPsyBatteryNotify(); + int getPsyBatteryPchg(); + int getPsyBatteryPchgResetCount(); + int getPsyBatteryRm(); + int getPsyBatteryShortFeature(); + int getPsyBatteryShortStatus(); + String getPsyBatteryStatus(); + int getPsyBatteryTemp(); + int getPsyChargeTech(); + int getPsyFastChgType(); + int getPsyInputCurrent(); + int getPsyOtgOnline(); + int getPsyOtgSwitch(); + int getPsyPcPortOnline(); + int getPsyQGVbatDeviation(); + int getPsyTypeOrientation(); + int getPsyUsbOnline(); + int getPsyUsbStatus(); + String getPsyWirelessRX(); + String getPsyWirelessRxVersion(); + String getPsyWirelessTX(); + String getPsyWirelessTxVersion(); + int getQgVbatDeviation(); + String getQuickModeGain(); + String getReserveSocDebug(); + int getSmartChgMode(); + int getUIsohValue(); + String getUisohDebugParameterInfo(); + int getUsbInputCurrentNow(); + int getUsbPrimalType(); + int getWiredOtgOnline(); + int getWirelessAdapterPower(); + int getWirelessCapacity(); + int getWirelessChargePumpEn(); + int getWirelessCurrentNow(); + String getWirelessDeviated(); + int getWirelessOnline(); + int getWirelessPenPresent(); + int getWirelessPtmcId(); + int getWirelessRXEnable(); + int getWirelessRealType(); + String getWirelessTXEnable(); + int getWirelessUserSleepMode(); + int getWirelessVoltageNow(); + String healthd_update_ui_soc_decimal(); + int nightstandby(int status); + int notifyScreenStatus(int status); + String queryChargeInfo(); + int setChargeEMMode(String data); + int setChargerControl(String data); + int setChargerCoolDown(String data); + int setChargerCriticalLog(String data); + int setChargerCycle(String data); + int setChargerFactoryModeTest(String data); + int setChargerLog(String data); + int setChgStatusToBcc(int status); + int setCustomSelectChgMode(int mode, boolean enable); + int setFastchgFwUpdate(String data); + int setPsyMmiChgEn(String data); + int setPsyOtgSwitch(String data); + int setReserveSocDebug(String data); + int setShipMode(String data); + int setSmartChgMode(String data); + int setSmartCoolDown(int coolDown, int normalCoolDown, String pkgName); + int setTbattPwrOff(String data); + int setUisohDebugInfo(String data); + int setUsbPrimalType(String data); + int setWirelessChargePumpEn(String data); + int setWirelessFtmMode(String data); + int setWirelessIconDelay(String data); + int setWirelessIdtAdcTest(String data); + int setWirelessPenSoc(String data); + int setWirelessRXEnable(String data); + int setWirelessTXEnable(String data); + int setWirelessUserSleepMode(String data); + int setWlsThirdPartitionInfo(String data); + vendor.oplus.hardware.charger.testKitFeatureTestResult testKitFeatureTest(int index); + String testKitGetFeatureList(); + String testKitGetFeatureName(int index); + int testKitGetFeatureNum(); + int updateUiSohToPartion(); + String queryWlsPencilInfo(); + String getChgOlcConfig(); + int setChgOlcConfig(String data); + int setSuperEnduranceStatus(String data); + int setSuperEnduranceCount(String data); + int setBobStatus(String data); + int setPsySlowChgEn(String data); + int getCpVbatDeviation(); + int setBatteryLogPush(String data); + int getChargingModeInGsmCall(); + int setChargingModeInGsmCall(String data); + int setChgRusConfig(String data); + String getPsyBatterySN(); + String getBattGaugeInfo(); + int setChgConfig(vendor.oplus.hardware.charger.ChgFuncFlag flag, String extra, int callname); + String getChgConfig(vendor.oplus.hardware.charger.ChgFuncFlag flag, String extra, int callname); + int setUsbEyeDiagram(int model, String eyeDiagram, boolean isDefaultEyeDiagram); + String getUsbCurrentEyeDiagram(int model); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/8/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/8/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl new file mode 100644 index 0000000..9a00dbe --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/8/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +parcelable testKitFeatureTestResult { + int ret; + String str; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/current/vendor/oplus/hardware/charger/ChgFuncFlag.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/current/vendor/oplus/hardware/charger/ChgFuncFlag.aidl new file mode 100644 index 0000000..61845ee --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/current/vendor/oplus/hardware/charger/ChgFuncFlag.aidl @@ -0,0 +1,55 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@Backing(type="int") @VintfStability +enum ChgFuncFlag { + GET_UI_CHG_ICON_TYPE = 0, + GET_UI_POWER_VALUE = 1, + GET_DEVICE_POWER_VALUE = 2, + GET_ADAPTER_POWER_VALUE = 3, + GET_CPA_POWER_VALUE = 4, + SET_CHG_UP_LIMIT_VALUE = 5, + IS_SUPPORT_SINGLE_HYPER_SPEED = 6, + GET_BATT_EXPANSION_STATE = 7, + IS_SUPPORT_ECO_DESIGN = 8, + GET_BATT_MANU_DATE = 9, + GET_BATT_FIRST_USAGE_DATE = 10, + SET_BATT_FIRST_USAGE_DATE = 11, + CLEAR_BATT_ECO_DATA = 12, + SET_RECHG_SOC_EN = 13, + SET_CHG_UP_LIMIT_STATE = 14, + GET_BATTERY_STATUS_PM_VPH = 15, + GET_BATTERY_STATUS_PM_VBAT = 16, + GET_DEEP_DISCHG_COUNTS_VALUE = 17, + GET_ANTI_EXPANSION_INFO = 18, + SET_ANTI_EXPANSION_INFO = 19, + GET_BATT_UI_CYCLE_COUNT = 20, + GET_BATTERY_TYPE = 21, + WIRELESS_PENCIL_QCALI = 22, + GET_BATTERY_GAUGE_TYPE = 23, + GET_CHG_BYPASS_STATUS = 24, + SET_CHG_BYPASS = 25, + GET_RX_DISABLE_STATUS = 26, + SET_RX_DISABLE = 27, + GET_BATTERY_SEC_IC_TEST_STATUS = 28, +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/current/vendor/oplus/hardware/charger/ICharger.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/current/vendor/oplus/hardware/charger/ICharger.aidl new file mode 100644 index 0000000..578967b --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/current/vendor/oplus/hardware/charger/ICharger.aidl @@ -0,0 +1,156 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +interface ICharger { + int VolDividerIcWorkModeSet(String data); + int chgExchangeMesgInit(); + int chgExchangeSohMesgInit(); + int getAcType(); + int getBattAuthenticate(); + int getBattPPSChgIng(); + int getBattPPSChgPower(); + String getBattParamNoplug(); + int getBattShortIcOtpStatus(); + int getBattSubCurrent(); + int getBattVoocChgIng(); + int getBatteryVoltageNow(); + String getBccCsvData(); + int getBccExpStatus(); + String getBmsHeatingRunningStatus(); + int getBmsHeatingStatus(); + String getChargerControl(); + int getChargerCoolDown(); + int getChargerCriticalLog(); + int getChargerIdVolt(); + int getChargerLog(); + int getCustomSelectChgMode(); + String getDevinfoFastchg(); + int getFastCharge(); + int getParallelChgMosTestResult(); + int getPsyAcOnline(); + int getPsyBatteryCC(); + int getPsyBatteryCurrentNow(); + int getPsyBatteryFcc(); + int getPsyBatteryHmac(); + int getPsyBatteryLevel(); + int getPsyBatteryNotify(); + int getPsyBatteryPchg(); + int getPsyBatteryPchgResetCount(); + int getPsyBatteryRm(); + int getPsyBatteryShortFeature(); + int getPsyBatteryShortStatus(); + String getPsyBatteryStatus(); + int getPsyBatteryTemp(); + int getPsyChargeTech(); + int getPsyFastChgType(); + int getPsyInputCurrent(); + int getPsyOtgOnline(); + int getPsyOtgSwitch(); + int getPsyPcPortOnline(); + int getPsyQGVbatDeviation(); + int getPsyTypeOrientation(); + int getPsyUsbOnline(); + int getPsyUsbStatus(); + String getPsyWirelessRX(); + String getPsyWirelessRxVersion(); + String getPsyWirelessTX(); + String getPsyWirelessTxVersion(); + int getQgVbatDeviation(); + String getQuickModeGain(); + String getReserveSocDebug(); + int getSmartChgMode(); + int getUIsohValue(); + String getUisohDebugParameterInfo(); + int getUsbInputCurrentNow(); + int getUsbPrimalType(); + int getWiredOtgOnline(); + int getWirelessAdapterPower(); + int getWirelessCapacity(); + int getWirelessChargePumpEn(); + int getWirelessCurrentNow(); + String getWirelessDeviated(); + int getWirelessOnline(); + int getWirelessPenPresent(); + int getWirelessPtmcId(); + int getWirelessRXEnable(); + int getWirelessRealType(); + String getWirelessTXEnable(); + int getWirelessUserSleepMode(); + int getWirelessVoltageNow(); + String healthd_update_ui_soc_decimal(); + int nightstandby(int status); + int notifyScreenStatus(int status); + String queryChargeInfo(); + int setChargeEMMode(String data); + int setChargerControl(String data); + int setChargerCoolDown(String data); + int setChargerCriticalLog(String data); + int setChargerCycle(String data); + int setChargerFactoryModeTest(String data); + int setChargerLog(String data); + int setChgStatusToBcc(int status); + int setCustomSelectChgMode(int mode, boolean enable); + int setFastchgFwUpdate(String data); + int setPsyMmiChgEn(String data); + int setPsyOtgSwitch(String data); + int setReserveSocDebug(String data); + int setShipMode(String data); + int setSmartChgMode(String data); + int setSmartCoolDown(int coolDown, int normalCoolDown, String pkgName); + int setTbattPwrOff(String data); + int setUisohDebugInfo(String data); + int setUsbPrimalType(String data); + int setWirelessChargePumpEn(String data); + int setWirelessFtmMode(String data); + int setWirelessIconDelay(String data); + int setWirelessIdtAdcTest(String data); + int setWirelessPenSoc(String data); + int setWirelessRXEnable(String data); + int setWirelessTXEnable(String data); + int setWirelessUserSleepMode(String data); + int setWlsThirdPartitionInfo(String data); + vendor.oplus.hardware.charger.testKitFeatureTestResult testKitFeatureTest(int index); + String testKitGetFeatureList(); + String testKitGetFeatureName(int index); + int testKitGetFeatureNum(); + int updateUiSohToPartion(); + String queryWlsPencilInfo(); + String getChgOlcConfig(); + int setChgOlcConfig(String data); + int setSuperEnduranceStatus(String data); + int setSuperEnduranceCount(String data); + int setBobStatus(String data); + int setPsySlowChgEn(String data); + int getCpVbatDeviation(); + int setBatteryLogPush(String data); + int getChargingModeInGsmCall(); + int setChargingModeInGsmCall(String data); + int setChgRusConfig(String data); + String getPsyBatterySN(); + String getBattGaugeInfo(); + int setChgConfig(vendor.oplus.hardware.charger.ChgFuncFlag flag, String extra, int callname); + String getChgConfig(vendor.oplus.hardware.charger.ChgFuncFlag flag, String extra, int callname); + int setUsbEyeDiagram(int model, String eyeDiagram, boolean isDefaultEyeDiagram); + String getUsbCurrentEyeDiagram(int model); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.charger/current/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl b/interfaces/aidl_api/vendor.oplus.hardware.charger/current/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl new file mode 100644 index 0000000..9a00dbe --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.charger/current/vendor/oplus/hardware/charger/testKitFeatureTestResult.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.charger; +@VintfStability +parcelable testKitFeatureTestResult { + int ret; + String str; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/.hash b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/.hash new file mode 100644 index 0000000..78d8dfc --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/.hash @@ -0,0 +1 @@ +bff14a2c55baa756bb67380269dbe2e8c11f6340 diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/IPerformance.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/IPerformance.aidl new file mode 100644 index 0000000..bc17732 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/IPerformance.aidl @@ -0,0 +1,198 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +interface IPerformance { + int addAcmDirName(in String dirname, long flag); + int addAcmNomediaDirName(in String dirname); + int addAcmPkgName(in String pkgname, long flag); + int addTaskTrackPid(int group, int pid, boolean clear); + void clearTaskTrackGroup(int group); + int delAcmDirName(in String dirname); + int delAcmNomediaDirName(in String dirname); + int delAcmPkgName(in String pkgname); + int disableDamonReclaim(); + int disableKmallocDebug(); + int disableMultiThreadOptimize(); + int disableProcessReclaim(); + int disableTaskCpustats(); + int disableTaskPlacementDecision(); + int disableVmallocDebug(); + int enableAudioPerf(in String value); + int enableDamonReclaim(); + int enableKmallocDebug(); + int enableMultiThreadOptimize(); + int enableProcessReclaim(); + int enableTaskCpustats(); + int enableTaskPlacementDecision(); + int enableVmallocDebug(); + int existMemMonitor(); + long getAcmDirFlag(in String dirname); + int getAcmOpstat(); + long getAcmPkgFlag(in String pkgname); + String getClmMuxSwitch(); + String getClmThreshold(int threshold_id); + String getDdrResidency(); + String getDevinfoDDRInfo(); + String getDevinfoUfsInfo(); + String getDevinfoUfsVersionInfo(); + String getExt4FragScore(in String devpath); + String getExt4FreefragInfo(in String devpath); + String getF2fsMovedBlks(); + vendor.oplus.hardware.performance.ProcReqHal getHIAllocWait(); + String getHICpuInfo(); + String getHICpuLoading(); + vendor.oplus.hardware.performance.ProcReqHal getHIDState(); + vendor.oplus.hardware.performance.ProcReqHal getHIEmcdrvIowait(); + vendor.oplus.hardware.performance.ProcReqHal getHIFsyncWait(); + vendor.oplus.hardware.performance.ProcReqHal getHIIonWait(); + vendor.oplus.hardware.performance.ProcReqHal getHIIowait(); + vendor.oplus.hardware.performance.ProcReqHal getHIIowaitHung(); + vendor.oplus.hardware.performance.ProcReqHal getHIKswapdLoading(); + vendor.oplus.hardware.performance.ProcReqHal getHISchedLatency(); + vendor.oplus.hardware.performance.ProcReqHal getHIScmCall(); + vendor.oplus.hardware.performance.ProcReqHal getHIUfsFeature(); + int getKernelVersion(); + String getKmallocDebug(); + String getKmallocOrigin(); + String getKmallocUsed(); + String getMemMonitor(); + int getOswapVersion(); + String getUfsSignalRecordUpload(); + int getUfsplusHpbStatus(); + int getUfsplusTwStatus(); + String getVmallocDebug(); + String getVmallocHashCal(); + String getVmallocUsed(); + vendor.oplus.hardware.performance.TaskWakeInfo getWakeThreadsAffinityOrdered(in String handle, int size); + String getallocwait(); + String getdstate(); + String getfsyncwait(); + String getionwait(); + String getiowait(); + String getschedlatency(); + String hybridswap_memcg_para_read(int action, in String cgroup); + int hybridswap_memcg_para_write(int action, in String cgroup, in String str); + String hybridswap_zram_para_read(int action); + int hybridswap_zram_para_write(int action, in String str); + boolean isJankTaskTrackEnable(); + int perProcessMemReadahead(int uid, int pid, int type); + int perProcessMemReclaim(int uid, int pid, int type); + String readCallStack(); + String readClmEnable(); + String readClmHighLoadAll(); + String readClmHighLoadGrp(); + String readClmLowLoadGrp(); + String readCpuTaskstats(); + String readDBacktrace(); + String readDConvert(); + String readFgFreqsThreshold(); + String readIOBacktrace(); + String readIomonitorInfo(in String procname); + String readJankCpuIndicator(); + String readJankCpuInfo(); + String readJankCpuInfoSig(); + String readJankCpuLoad(); + String readJankCpuLoad32(); + String readJankCpuLoad32Scale(); + String readJankTaskTrack(); + String readJankTaskTrackByPid(int pid); + String readJankVersion(); + String readKmallocDebugCreate(); + String readLimitTable(); + String readMemleakDetectThread(); + vendor.oplus.hardware.performance.ProcMemStatRet readMemoryByPids(in int[] pids, int flags); + vendor.oplus.hardware.performance.ProcMemStatRet readMemoryByUids(in int[] uids, int flags); + String readNandswapProc(in String inProc); + String readNormalizeRealTime(); + String readNormalizeRunningTime(); + String readOplusReserve3(int offset, int len); + vendor.oplus.hardware.performance.OsvelteVersionRet readOsvelteVersion(); + String readPidsSet(); + String readRealTime(); + String readRunningTime(); + String readSchedInfoThreshold(); + String readSgeFreqInfo(); + String readSgeInfo(); + String readStorageFeature(in String name, in String addr, in String isMulti); + String readTargetProcess(in String buffer); + String readTaskCpustatsEnable(); + String readTaskSchedInfo(); + String readTidsSet(); + String readTmemoryDirtypages(); + String readTmemoryErrorStat(); + String readTmemoryIoLatency(); + String readTmemorySysdirtypages(); + String readUxTaskTrack(int uPid, int rPid); + String readVaFeature(); + String readVersion(); + void removeTaskTrackPid(int group, int pid); + int searchAcmNomediaDirName(in String dirname); + int setAcmOpstat(int flag); + void setClmMuxSwitch(in String buffer); + void setClmThreshold(in String buffer, int threshold_id); + int setDamonReclaimColdTime(int cold_time); + int setDamonReclaimMonitoring(int sample, int aggr); + int setDamonReclaimQuota(int quota_ms, int quota_sz, int reset_interval); + int setDamonReclaimWmarks(int metric, int high, int mid, int low); + void setExtSchedProp(in String pid, in String prop); + void setFgUids(in String fg_uid); + void setFrameRate(in String frame_rate); + int setFreqGoverner(in String gov_name, in int[] clusters); + void setImFlag(in String pid, in String im_flag); + int setProcessReclaim(in String info); + void setSchedAssistImptTask(in String impt_info); + void setSchedAssistScene(in String scene_id); + void setSlideboost(in String boost); + int setTpdID(in String param); + int setTpdSerialParams(in String params); + int setWakeSeedThread(in String tid, boolean identify_type, boolean inUid); + void writeClmEnable(in String buffer); + void writeClmHighLoadAll(in String buffer); + void writeClmHighLoadGrp(in String buffer); + void writeClmLowLoadGrp(in String buffer); + void writeDBacktrace(in String buffer); + void writeFgFreqsThreshold(in String buffer); + void writeIOBacktrace(in String buffer); + void writeJankTaskTrackEnable(boolean enable); + int writeKmallocDebugCreate(int kcreate); + int writeKmallocDebugCreateWithType(in String type); + int writeMemMonitor(in String buffer); + int writeMemleakDetectThread(int memdect); + int writeMonitorStatus(in String buffer); + int writeNandswapProc(in String inProc, in String cmd); + int writeOplusReserve3(int offset, int len, in String info); + void writePidsSet(in String buffer); + void writeSchedInfoThreshold(in String buffer); + int writeStorageFeature(in String name, in String addr, in String isMulti, in String cmd); + void writeTaskSchedInfo(in String buffer); + void writeTidsSet(in String buffer); + int writeTmemoryCapacity(int param); + int writeTmemoryFlushBusy(int param); + int writeTmemoryFlushIdle(int param); + int writeTmemoryHighWaterRatio(int param); + int writeTmemoryMemory(in String str); + int writeTmemorySwitch(int param); + int writeUxState(in String ux_state, in String pid, in String tid); + int writeVaFeature(int vafeature); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/OsvelteStatus.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/OsvelteStatus.aidl new file mode 100644 index 0000000..002f133 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/OsvelteStatus.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +enum OsvelteStatus { + SUCCESS = 0, + FAILED = 1, +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/OsvelteVersionRet.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/OsvelteVersionRet.aidl new file mode 100644 index 0000000..f3608db --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/OsvelteVersionRet.aidl @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable OsvelteVersionRet { + int status; + int major = 0; + int minor = 0; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcMemStat.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcMemStat.aidl new file mode 100644 index 0000000..30cf073 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcMemStat.aidl @@ -0,0 +1,45 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable ProcMemStat { + String comm; + boolean is_32bit = false; + int oom_score_adj = 0; + int nr_fds = 0; + int uid = 0; + int pid = 0; + int ppid = 0; + int anon = 0; + int file = 0; + int shmem = 0; + int swap = 0; + int vss = 0; + int pss = 0; + int swap_rss = 0; + int javaheap = 0; + int nativeheap = 0; + int ashmem = 0; + int dmabuf = 0; + int gpu = 0; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcMemStatRet.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcMemStatRet.aidl new file mode 100644 index 0000000..81416bc --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcMemStatRet.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable ProcMemStatRet { + int status; + vendor.oplus.hardware.performance.ProcMemStat[] arr_ms; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcReqHal.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcReqHal.aidl new file mode 100644 index 0000000..b0681b0 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcReqHal.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable ProcReqHal { + String proc; + vendor.oplus.hardware.performance.ProcReqItemHal[] items; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcReqItemHal.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcReqItemHal.aidl new file mode 100644 index 0000000..1185067 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ProcReqItemHal.aidl @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable ProcReqItemHal { + String key; + String label; + int uploadType; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/TaskGroup.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/TaskGroup.aidl new file mode 100644 index 0000000..36428ea --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/TaskGroup.aidl @@ -0,0 +1,32 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +enum TaskGroup { + DEFAULT = 0, + UI = 1, + RENDER = 2, + DISPLAY = 3, + INPUT = 4, + GAME = 5, +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/TaskWakeInfo.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/TaskWakeInfo.aidl new file mode 100644 index 0000000..3351445 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/TaskWakeInfo.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable TaskWakeInfo { + int ret = 0; + vendor.oplus.hardware.performance.ThreadInfo[] list; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ThreadInfo.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ThreadInfo.aidl new file mode 100644 index 0000000..f38bd71 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/ThreadInfo.aidl @@ -0,0 +1,33 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable ThreadInfo { + int pid = 0; + int tid = 0; + int SourcePid = 0; + int utils = 0; + int nice = 0; + int WakeCnt = 0; + int totalWakeCnt = 0; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/UploadType.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/UploadType.aidl new file mode 100644 index 0000000..6c2035c --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/1/vendor/oplus/hardware/performance/UploadType.aidl @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +enum UploadType { + PRIMITIVE = 0, + DELTA = 1, + SKIP = 2, +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/IPerformance.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/IPerformance.aidl new file mode 100644 index 0000000..bc17732 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/IPerformance.aidl @@ -0,0 +1,198 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +interface IPerformance { + int addAcmDirName(in String dirname, long flag); + int addAcmNomediaDirName(in String dirname); + int addAcmPkgName(in String pkgname, long flag); + int addTaskTrackPid(int group, int pid, boolean clear); + void clearTaskTrackGroup(int group); + int delAcmDirName(in String dirname); + int delAcmNomediaDirName(in String dirname); + int delAcmPkgName(in String pkgname); + int disableDamonReclaim(); + int disableKmallocDebug(); + int disableMultiThreadOptimize(); + int disableProcessReclaim(); + int disableTaskCpustats(); + int disableTaskPlacementDecision(); + int disableVmallocDebug(); + int enableAudioPerf(in String value); + int enableDamonReclaim(); + int enableKmallocDebug(); + int enableMultiThreadOptimize(); + int enableProcessReclaim(); + int enableTaskCpustats(); + int enableTaskPlacementDecision(); + int enableVmallocDebug(); + int existMemMonitor(); + long getAcmDirFlag(in String dirname); + int getAcmOpstat(); + long getAcmPkgFlag(in String pkgname); + String getClmMuxSwitch(); + String getClmThreshold(int threshold_id); + String getDdrResidency(); + String getDevinfoDDRInfo(); + String getDevinfoUfsInfo(); + String getDevinfoUfsVersionInfo(); + String getExt4FragScore(in String devpath); + String getExt4FreefragInfo(in String devpath); + String getF2fsMovedBlks(); + vendor.oplus.hardware.performance.ProcReqHal getHIAllocWait(); + String getHICpuInfo(); + String getHICpuLoading(); + vendor.oplus.hardware.performance.ProcReqHal getHIDState(); + vendor.oplus.hardware.performance.ProcReqHal getHIEmcdrvIowait(); + vendor.oplus.hardware.performance.ProcReqHal getHIFsyncWait(); + vendor.oplus.hardware.performance.ProcReqHal getHIIonWait(); + vendor.oplus.hardware.performance.ProcReqHal getHIIowait(); + vendor.oplus.hardware.performance.ProcReqHal getHIIowaitHung(); + vendor.oplus.hardware.performance.ProcReqHal getHIKswapdLoading(); + vendor.oplus.hardware.performance.ProcReqHal getHISchedLatency(); + vendor.oplus.hardware.performance.ProcReqHal getHIScmCall(); + vendor.oplus.hardware.performance.ProcReqHal getHIUfsFeature(); + int getKernelVersion(); + String getKmallocDebug(); + String getKmallocOrigin(); + String getKmallocUsed(); + String getMemMonitor(); + int getOswapVersion(); + String getUfsSignalRecordUpload(); + int getUfsplusHpbStatus(); + int getUfsplusTwStatus(); + String getVmallocDebug(); + String getVmallocHashCal(); + String getVmallocUsed(); + vendor.oplus.hardware.performance.TaskWakeInfo getWakeThreadsAffinityOrdered(in String handle, int size); + String getallocwait(); + String getdstate(); + String getfsyncwait(); + String getionwait(); + String getiowait(); + String getschedlatency(); + String hybridswap_memcg_para_read(int action, in String cgroup); + int hybridswap_memcg_para_write(int action, in String cgroup, in String str); + String hybridswap_zram_para_read(int action); + int hybridswap_zram_para_write(int action, in String str); + boolean isJankTaskTrackEnable(); + int perProcessMemReadahead(int uid, int pid, int type); + int perProcessMemReclaim(int uid, int pid, int type); + String readCallStack(); + String readClmEnable(); + String readClmHighLoadAll(); + String readClmHighLoadGrp(); + String readClmLowLoadGrp(); + String readCpuTaskstats(); + String readDBacktrace(); + String readDConvert(); + String readFgFreqsThreshold(); + String readIOBacktrace(); + String readIomonitorInfo(in String procname); + String readJankCpuIndicator(); + String readJankCpuInfo(); + String readJankCpuInfoSig(); + String readJankCpuLoad(); + String readJankCpuLoad32(); + String readJankCpuLoad32Scale(); + String readJankTaskTrack(); + String readJankTaskTrackByPid(int pid); + String readJankVersion(); + String readKmallocDebugCreate(); + String readLimitTable(); + String readMemleakDetectThread(); + vendor.oplus.hardware.performance.ProcMemStatRet readMemoryByPids(in int[] pids, int flags); + vendor.oplus.hardware.performance.ProcMemStatRet readMemoryByUids(in int[] uids, int flags); + String readNandswapProc(in String inProc); + String readNormalizeRealTime(); + String readNormalizeRunningTime(); + String readOplusReserve3(int offset, int len); + vendor.oplus.hardware.performance.OsvelteVersionRet readOsvelteVersion(); + String readPidsSet(); + String readRealTime(); + String readRunningTime(); + String readSchedInfoThreshold(); + String readSgeFreqInfo(); + String readSgeInfo(); + String readStorageFeature(in String name, in String addr, in String isMulti); + String readTargetProcess(in String buffer); + String readTaskCpustatsEnable(); + String readTaskSchedInfo(); + String readTidsSet(); + String readTmemoryDirtypages(); + String readTmemoryErrorStat(); + String readTmemoryIoLatency(); + String readTmemorySysdirtypages(); + String readUxTaskTrack(int uPid, int rPid); + String readVaFeature(); + String readVersion(); + void removeTaskTrackPid(int group, int pid); + int searchAcmNomediaDirName(in String dirname); + int setAcmOpstat(int flag); + void setClmMuxSwitch(in String buffer); + void setClmThreshold(in String buffer, int threshold_id); + int setDamonReclaimColdTime(int cold_time); + int setDamonReclaimMonitoring(int sample, int aggr); + int setDamonReclaimQuota(int quota_ms, int quota_sz, int reset_interval); + int setDamonReclaimWmarks(int metric, int high, int mid, int low); + void setExtSchedProp(in String pid, in String prop); + void setFgUids(in String fg_uid); + void setFrameRate(in String frame_rate); + int setFreqGoverner(in String gov_name, in int[] clusters); + void setImFlag(in String pid, in String im_flag); + int setProcessReclaim(in String info); + void setSchedAssistImptTask(in String impt_info); + void setSchedAssistScene(in String scene_id); + void setSlideboost(in String boost); + int setTpdID(in String param); + int setTpdSerialParams(in String params); + int setWakeSeedThread(in String tid, boolean identify_type, boolean inUid); + void writeClmEnable(in String buffer); + void writeClmHighLoadAll(in String buffer); + void writeClmHighLoadGrp(in String buffer); + void writeClmLowLoadGrp(in String buffer); + void writeDBacktrace(in String buffer); + void writeFgFreqsThreshold(in String buffer); + void writeIOBacktrace(in String buffer); + void writeJankTaskTrackEnable(boolean enable); + int writeKmallocDebugCreate(int kcreate); + int writeKmallocDebugCreateWithType(in String type); + int writeMemMonitor(in String buffer); + int writeMemleakDetectThread(int memdect); + int writeMonitorStatus(in String buffer); + int writeNandswapProc(in String inProc, in String cmd); + int writeOplusReserve3(int offset, int len, in String info); + void writePidsSet(in String buffer); + void writeSchedInfoThreshold(in String buffer); + int writeStorageFeature(in String name, in String addr, in String isMulti, in String cmd); + void writeTaskSchedInfo(in String buffer); + void writeTidsSet(in String buffer); + int writeTmemoryCapacity(int param); + int writeTmemoryFlushBusy(int param); + int writeTmemoryFlushIdle(int param); + int writeTmemoryHighWaterRatio(int param); + int writeTmemoryMemory(in String str); + int writeTmemorySwitch(int param); + int writeUxState(in String ux_state, in String pid, in String tid); + int writeVaFeature(int vafeature); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/OsvelteStatus.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/OsvelteStatus.aidl new file mode 100644 index 0000000..002f133 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/OsvelteStatus.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +enum OsvelteStatus { + SUCCESS = 0, + FAILED = 1, +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/OsvelteVersionRet.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/OsvelteVersionRet.aidl new file mode 100644 index 0000000..f3608db --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/OsvelteVersionRet.aidl @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable OsvelteVersionRet { + int status; + int major = 0; + int minor = 0; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcMemStat.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcMemStat.aidl new file mode 100644 index 0000000..30cf073 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcMemStat.aidl @@ -0,0 +1,45 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable ProcMemStat { + String comm; + boolean is_32bit = false; + int oom_score_adj = 0; + int nr_fds = 0; + int uid = 0; + int pid = 0; + int ppid = 0; + int anon = 0; + int file = 0; + int shmem = 0; + int swap = 0; + int vss = 0; + int pss = 0; + int swap_rss = 0; + int javaheap = 0; + int nativeheap = 0; + int ashmem = 0; + int dmabuf = 0; + int gpu = 0; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcMemStatRet.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcMemStatRet.aidl new file mode 100644 index 0000000..81416bc --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcMemStatRet.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable ProcMemStatRet { + int status; + vendor.oplus.hardware.performance.ProcMemStat[] arr_ms; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcReqHal.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcReqHal.aidl new file mode 100644 index 0000000..b0681b0 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcReqHal.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable ProcReqHal { + String proc; + vendor.oplus.hardware.performance.ProcReqItemHal[] items; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcReqItemHal.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcReqItemHal.aidl new file mode 100644 index 0000000..1185067 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ProcReqItemHal.aidl @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable ProcReqItemHal { + String key; + String label; + int uploadType; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/TaskGroup.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/TaskGroup.aidl new file mode 100644 index 0000000..36428ea --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/TaskGroup.aidl @@ -0,0 +1,32 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +enum TaskGroup { + DEFAULT = 0, + UI = 1, + RENDER = 2, + DISPLAY = 3, + INPUT = 4, + GAME = 5, +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/TaskWakeInfo.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/TaskWakeInfo.aidl new file mode 100644 index 0000000..3351445 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/TaskWakeInfo.aidl @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable TaskWakeInfo { + int ret = 0; + vendor.oplus.hardware.performance.ThreadInfo[] list; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ThreadInfo.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ThreadInfo.aidl new file mode 100644 index 0000000..f38bd71 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/ThreadInfo.aidl @@ -0,0 +1,33 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +parcelable ThreadInfo { + int pid = 0; + int tid = 0; + int SourcePid = 0; + int utils = 0; + int nice = 0; + int WakeCnt = 0; + int totalWakeCnt = 0; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/UploadType.aidl b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/UploadType.aidl new file mode 100644 index 0000000..6c2035c --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.performance/current/vendor/oplus/hardware/performance/UploadType.aidl @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.performance; +@VintfStability +enum UploadType { + PRIMITIVE = 0, + DELTA = 1, + SKIP = 2, +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/.hash b/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/.hash new file mode 100644 index 0000000..2231754 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/.hash @@ -0,0 +1 @@ +c8a4bdf08063778d17708dcd7dafbb2c43d57eb7 diff --git a/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/IUrcc.aidl b/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/IUrcc.aidl new file mode 100644 index 0000000..c377943 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/IUrcc.aidl @@ -0,0 +1,40 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.urcc; +@VintfStability +interface IUrcc { + void urccInit(); + int urccResCtlRequest(in vendor.oplus.hardware.urcc.UrccRequestParcel mUrccRequestParcel); + int urccResCtlRelease(int mhandle); + vendor.oplus.hardware.urcc.UrccRequestData[] urccResStateRequest(in vendor.oplus.hardware.urcc.UrccRequestParcel mUrccRequestParcel); + int urccResListeningRegister(in vendor.oplus.hardware.urcc.UrccRequestParcel mUrccRequestParcel, vendor.oplus.hardware.urcc.IUrccCallback urccCallback); + int urccResListeningUnRegister(int mhandle); + String urccPropertyGet(String name); + int urccPropertySet(String name, String value); + int urccThermalListeningRegister(in int[] types, vendor.oplus.hardware.urcc.IUrccCallback urccCallback); + int urccThermalListeningUnRegister(int mhandle); + int uahNotifyExt(int src, int type, in int[] args); + int setRelatedSysInfo(int cmd, in byte[] info); + int urccRuleCtl(int ruleId, int status, in vendor.oplus.hardware.urcc.UrccRequestData[] ruleData); + void uahResCtlRequestBypass(in vendor.oplus.hardware.urcc.UrccRequestParcel mRequestParcel); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/IUrccCallback.aidl b/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/IUrccCallback.aidl new file mode 100644 index 0000000..34dff1c --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/IUrccCallback.aidl @@ -0,0 +1,27 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.urcc; +@VintfStability +interface IUrccCallback { + void onCallback(in vendor.oplus.hardware.urcc.UrccRequestData[] urccRequestDataArr); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/UrccRequestData.aidl b/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/UrccRequestData.aidl new file mode 100644 index 0000000..0eb0eab --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/UrccRequestData.aidl @@ -0,0 +1,31 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.urcc; +@VintfStability +parcelable UrccRequestData { + String desc; + String res_Path; + String res_Value; + int res_Id; + int event_Id; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/UrccRequestParcel.aidl b/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/UrccRequestParcel.aidl new file mode 100644 index 0000000..af3988f --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.urcc/1/vendor/oplus/hardware/urcc/UrccRequestParcel.aidl @@ -0,0 +1,39 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.urcc; +@VintfStability +parcelable UrccRequestParcel { + String identity; + String[] mParams; + vendor.oplus.hardware.urcc.UrccRequestData[] mUrccRequestData; + byte[] otherData; + String pkgName; + vendor.oplus.hardware.urcc.IUrccCallback urccCallback; + int type; + boolean screenoff_support; + int prio; + int callingPID; + int callingUID; + long duration; + int handle; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/IUrcc.aidl b/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/IUrcc.aidl new file mode 100644 index 0000000..c377943 --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/IUrcc.aidl @@ -0,0 +1,40 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.urcc; +@VintfStability +interface IUrcc { + void urccInit(); + int urccResCtlRequest(in vendor.oplus.hardware.urcc.UrccRequestParcel mUrccRequestParcel); + int urccResCtlRelease(int mhandle); + vendor.oplus.hardware.urcc.UrccRequestData[] urccResStateRequest(in vendor.oplus.hardware.urcc.UrccRequestParcel mUrccRequestParcel); + int urccResListeningRegister(in vendor.oplus.hardware.urcc.UrccRequestParcel mUrccRequestParcel, vendor.oplus.hardware.urcc.IUrccCallback urccCallback); + int urccResListeningUnRegister(int mhandle); + String urccPropertyGet(String name); + int urccPropertySet(String name, String value); + int urccThermalListeningRegister(in int[] types, vendor.oplus.hardware.urcc.IUrccCallback urccCallback); + int urccThermalListeningUnRegister(int mhandle); + int uahNotifyExt(int src, int type, in int[] args); + int setRelatedSysInfo(int cmd, in byte[] info); + int urccRuleCtl(int ruleId, int status, in vendor.oplus.hardware.urcc.UrccRequestData[] ruleData); + void uahResCtlRequestBypass(in vendor.oplus.hardware.urcc.UrccRequestParcel mRequestParcel); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/IUrccCallback.aidl b/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/IUrccCallback.aidl new file mode 100644 index 0000000..34dff1c --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/IUrccCallback.aidl @@ -0,0 +1,27 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.urcc; +@VintfStability +interface IUrccCallback { + void onCallback(in vendor.oplus.hardware.urcc.UrccRequestData[] urccRequestDataArr); +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/UrccRequestData.aidl b/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/UrccRequestData.aidl new file mode 100644 index 0000000..0eb0eab --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/UrccRequestData.aidl @@ -0,0 +1,31 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.urcc; +@VintfStability +parcelable UrccRequestData { + String desc; + String res_Path; + String res_Value; + int res_Id; + int event_Id; +} diff --git a/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/UrccRequestParcel.aidl b/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/UrccRequestParcel.aidl new file mode 100644 index 0000000..af3988f --- /dev/null +++ b/interfaces/aidl_api/vendor.oplus.hardware.urcc/current/vendor/oplus/hardware/urcc/UrccRequestParcel.aidl @@ -0,0 +1,39 @@ +/* + * SPDX-FileCopyrightText: 2025 The LineageOS Project + * SPDX-License-Identifier: Apache-2.0 + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.oplus.hardware.urcc; +@VintfStability +parcelable UrccRequestParcel { + String identity; + String[] mParams; + vendor.oplus.hardware.urcc.UrccRequestData[] mUrccRequestData; + byte[] otherData; + String pkgName; + vendor.oplus.hardware.urcc.IUrccCallback urccCallback; + int type; + boolean screenoff_support; + int prio; + int callingPID; + int callingUID; + long duration; + int handle; +} diff --git a/kernel-headers/include/oplus/oplus_display_panel.h b/kernel-headers/include/oplus/oplus_display_panel.h index 0743906..422fba0 100644 --- a/kernel-headers/include/oplus/oplus_display_panel.h +++ b/kernel-headers/include/oplus/oplus_display_panel.h @@ -30,3 +30,5 @@ #define PANEL_IOCTL_SET_FP_PRESS _IOW(OPLUS_PANEL_IOCTL_BASE, 0x29, unsigned int) #define PANEL_IOCTL_SET_CABC_STATUS _IOW(OPLUS_PANEL_IOCTL_BASE, 0x59, unsigned int) #define PANEL_IOCTL_GET_CABC_STATUS _IOWR(OPLUS_PANEL_IOCTL_BASE, 0x5A, unsigned int) +#define PANEL_IOCTL_SET_PWM_TURBO _IOW(OPLUS_PANEL_IOCTL_BASE, 0x66, unsigned int) +#define PANEL_IOCTL_GET_PWM_TURBO _IOWR(OPLUS_PANEL_IOCTL_BASE, 0x67, unsigned int) diff --git a/nrmodeswitcher/OplusRadioResponse.cpp b/nrmodeswitcher/OplusRadioResponse.cpp index 3884082..692bdf1 100644 --- a/nrmodeswitcher/OplusRadioResponse.cpp +++ b/nrmodeswitcher/OplusRadioResponse.cpp @@ -7,199 +7,197 @@ namespace aidl::vendor::oplus::hardware::radio { -OplusRadioResponse::OplusRadioResponse(int32_t& in_result) : in_result_(in_result) {} +OplusRadioResponse::OplusRadioResponse(int32_t& result) : result_(result) {} ndk::ScopedAStatus OplusRadioResponse::setCallbackExtResponse() { return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus OplusRadioResponse::setNrModeResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) { - in_result_ = in_result; +ndk::ScopedAStatus OplusRadioResponse::setNrModeResponse(const OplusRadioResponseInfo& info, + int32_t result) { + result_ = result; return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus OplusRadioResponse::getNrModeResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) { +ndk::ScopedAStatus OplusRadioResponse::getNrModeResponse(const OplusRadioResponseInfo& info, + int32_t result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::setModemErrorFatalResponse( - const OplusRadioResponseInfo& in_info) { + const OplusRadioResponseInfo& info) { return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus OplusRadioResponse::setVoNrEnabledResponse( - const OplusRadioResponseInfo& in_info) { +ndk::ScopedAStatus OplusRadioResponse::setVoNrEnabledResponse(const OplusRadioResponseInfo& info) { return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus OplusRadioResponse::getVoNrEnabledResponse(const OplusRadioResponseInfo& in_info, - bool in_result) { +ndk::ScopedAStatus OplusRadioResponse::getVoNrEnabledResponse(const OplusRadioResponseInfo& info, + bool result) { return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus OplusRadioResponse::setEccListResponse(const OplusRadioResponseInfo& in_info, - const std::string& in_result) { +ndk::ScopedAStatus OplusRadioResponse::setEccListResponse(const OplusRadioResponseInfo& info, + const std::string& result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::SetHsrModeForListeningResponse( - const OplusRadioResponseInfo& in_info, int32_t in_result) { + const OplusRadioResponseInfo& info, int32_t result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::SetLogIdForListeningResponse( - const OplusRadioResponseInfo& in_info, int32_t in_result) { + const OplusRadioResponseInfo& info, int32_t result) { return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus OplusRadioResponse::setSlowStartResponse(const OplusRadioResponseInfo& in_info) { +ndk::ScopedAStatus OplusRadioResponse::setSlowStartResponse(const OplusRadioResponseInfo& info) { return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus OplusRadioResponse::setCtVolteModeResponse( - const OplusRadioResponseInfo& in_info) { +ndk::ScopedAStatus OplusRadioResponse::setCtVolteModeResponse(const OplusRadioResponseInfo& info) { return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus OplusRadioResponse::simlockReqResponse(const OplusRadioResponseInfo& in_info, - const std::vector<uint8_t>& in_result) { +ndk::ScopedAStatus OplusRadioResponse::simlockReqResponse(const OplusRadioResponseInfo& info, + const std::vector<uint8_t>& result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::updateRegionlockBlobResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_status) { + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& status) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::updateRegionlockStatusResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_status) { + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& status) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getRegionlockStatusResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_status) { + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& status) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::setNwCongestionCfgResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_status) { + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& status) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::setModemEsimStatusResponse( - const OplusRadioResponseInfo& in_info) { + const OplusRadioResponseInfo& info) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockOperatorIdResponse( - const OplusRadioResponseInfo& in_info, int32_t in_result) { + const OplusRadioResponseInfo& info, int32_t result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockFeestateResponse( - const OplusRadioResponseInfo& in_info, int32_t in_result) { + const OplusRadioResponseInfo& info, int32_t result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::setSimlockFeestateResponse( - const OplusRadioResponseInfo& in_info) { + const OplusRadioResponseInfo& info) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockUnlockStateResponse( - const OplusRadioResponseInfo& in_info, int32_t in_result) { + const OplusRadioResponseInfo& info, int32_t result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::setSimlockFactoryResetTimeResponse( - const OplusRadioResponseInfo& in_info) { + const OplusRadioResponseInfo& info) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockFactoryResetTimeResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_status) { + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& status) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::setSimlockActivateTimeResponse( - const OplusRadioResponseInfo& in_info) { + const OplusRadioResponseInfo& info) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockActivateTimeResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_status) { + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& status) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockFeatureResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_feature) { + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& feature) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockLockMarkResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_lockmark) { + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& lockmark) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockDeviceLockStateResponse( - const OplusRadioResponseInfo& in_info, int32_t in_lockstate) { + const OplusRadioResponseInfo& info, int32_t lockstate) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockDeviceLockinfoResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_lockinfo) { + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& lockinfo) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockVersionInfoResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_version) { + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& version) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockMaxRetryResponse( - const OplusRadioResponseInfo& in_info, int32_t in_result) { + const OplusRadioResponseInfo& info, int32_t result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockCurrentRetryResponse( - const OplusRadioResponseInfo& in_info, int32_t in_result) { + const OplusRadioResponseInfo& info, int32_t result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::setPsDetachAttachActionResponse( - const OplusRadioResponseInfo& in_info) { + const OplusRadioResponseInfo& info) { return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus OplusRadioResponse::unlockRegionlockResponse( - const OplusRadioResponseInfo& in_info, int32_t in_result) { +ndk::ScopedAStatus OplusRadioResponse::unlockRegionlockResponse(const OplusRadioResponseInfo& info, + int32_t result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::updateRegionlockKeyResponse( - const OplusRadioResponseInfo& in_info, int32_t in_result) { + const OplusRadioResponseInfo& info, int32_t result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getRegionlockSettingDataResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_result) { + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::setRegionlockSettingDataResponse( - const OplusRadioResponseInfo& in_info, int32_t in_result) { + const OplusRadioResponseInfo& info, int32_t result) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::setSimlockOfflineLockResponse( - const OplusRadioResponseInfo& in_info) { + const OplusRadioResponseInfo& info) { return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus OplusRadioResponse::getSimlockOfflineLockResponse( - const OplusRadioResponseInfo& in_info, const std::vector<int32_t>& in_retryCount) { + const OplusRadioResponseInfo& info, const std::vector<int32_t>& retryCount) { return ndk::ScopedAStatus::ok(); } diff --git a/nrmodeswitcher/OplusRadioResponse.h b/nrmodeswitcher/OplusRadioResponse.h index ab305d8..0c72e25 100644 --- a/nrmodeswitcher/OplusRadioResponse.h +++ b/nrmodeswitcher/OplusRadioResponse.h @@ -11,83 +11,78 @@ namespace aidl::vendor::oplus::hardware::radio { class OplusRadioResponse : public BnOplusRadioResponse { public: - explicit OplusRadioResponse(int32_t& in_result); + explicit OplusRadioResponse(int32_t& result); ndk::ScopedAStatus setCallbackExtResponse() override; - ndk::ScopedAStatus setNrModeResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; - ndk::ScopedAStatus getNrModeResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; - ndk::ScopedAStatus setModemErrorFatalResponse(const OplusRadioResponseInfo& in_info) override; - ndk::ScopedAStatus setVoNrEnabledResponse(const OplusRadioResponseInfo& in_info) override; - ndk::ScopedAStatus getVoNrEnabledResponse(const OplusRadioResponseInfo& in_info, - bool in_result) override; - ndk::ScopedAStatus setEccListResponse(const OplusRadioResponseInfo& in_info, - const std::string& in_result) override; - ndk::ScopedAStatus SetHsrModeForListeningResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; - ndk::ScopedAStatus SetLogIdForListeningResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; - ndk::ScopedAStatus setSlowStartResponse(const OplusRadioResponseInfo& in_info) override; - ndk::ScopedAStatus setCtVolteModeResponse(const OplusRadioResponseInfo& in_info) override; - ndk::ScopedAStatus simlockReqResponse(const OplusRadioResponseInfo& in_info, - const std::vector<uint8_t>& in_result) override; - ndk::ScopedAStatus updateRegionlockBlobResponse(const OplusRadioResponseInfo& in_info, - const std::vector<uint8_t>& in_status) override; - ndk::ScopedAStatus updateRegionlockStatusResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_status) override; - ndk::ScopedAStatus getRegionlockStatusResponse(const OplusRadioResponseInfo& in_info, - const std::vector<uint8_t>& in_status) override; - ndk::ScopedAStatus setNwCongestionCfgResponse(const OplusRadioResponseInfo& in_info, - const std::vector<uint8_t>& in_status) override; - ndk::ScopedAStatus setModemEsimStatusResponse(const OplusRadioResponseInfo& in_info) override; - ndk::ScopedAStatus getSimlockOperatorIdResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; - ndk::ScopedAStatus getSimlockFeestateResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; - ndk::ScopedAStatus setSimlockFeestateResponse(const OplusRadioResponseInfo& in_info) override; - ndk::ScopedAStatus getSimlockUnlockStateResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; + ndk::ScopedAStatus setNrModeResponse(const OplusRadioResponseInfo& info, + int32_t result) override; + ndk::ScopedAStatus getNrModeResponse(const OplusRadioResponseInfo& info, + int32_t result) override; + ndk::ScopedAStatus setModemErrorFatalResponse(const OplusRadioResponseInfo& info) override; + ndk::ScopedAStatus setVoNrEnabledResponse(const OplusRadioResponseInfo& info) override; + ndk::ScopedAStatus getVoNrEnabledResponse(const OplusRadioResponseInfo& info, + bool result) override; + ndk::ScopedAStatus setEccListResponse(const OplusRadioResponseInfo& info, + const std::string& result) override; + ndk::ScopedAStatus SetHsrModeForListeningResponse(const OplusRadioResponseInfo& info, + int32_t result) override; + ndk::ScopedAStatus SetLogIdForListeningResponse(const OplusRadioResponseInfo& info, + int32_t result) override; + ndk::ScopedAStatus setSlowStartResponse(const OplusRadioResponseInfo& info) override; + ndk::ScopedAStatus setCtVolteModeResponse(const OplusRadioResponseInfo& info) override; + ndk::ScopedAStatus simlockReqResponse(const OplusRadioResponseInfo& info, + const std::vector<uint8_t>& result) override; + ndk::ScopedAStatus updateRegionlockBlobResponse(const OplusRadioResponseInfo& info, + const std::vector<uint8_t>& status) override; + ndk::ScopedAStatus updateRegionlockStatusResponse(const OplusRadioResponseInfo& info, + const std::vector<uint8_t>& status) override; + ndk::ScopedAStatus getRegionlockStatusResponse(const OplusRadioResponseInfo& info, + const std::vector<uint8_t>& status) override; + ndk::ScopedAStatus setNwCongestionCfgResponse(const OplusRadioResponseInfo& info, + const std::vector<uint8_t>& status) override; + ndk::ScopedAStatus setModemEsimStatusResponse(const OplusRadioResponseInfo& info) override; + ndk::ScopedAStatus getSimlockOperatorIdResponse(const OplusRadioResponseInfo& info, + int32_t result) override; + ndk::ScopedAStatus getSimlockFeestateResponse(const OplusRadioResponseInfo& info, + int32_t result) override; + ndk::ScopedAStatus setSimlockFeestateResponse(const OplusRadioResponseInfo& info) override; + ndk::ScopedAStatus getSimlockUnlockStateResponse(const OplusRadioResponseInfo& info, + int32_t result) override; ndk::ScopedAStatus setSimlockFactoryResetTimeResponse( - const OplusRadioResponseInfo& in_info) override; + const OplusRadioResponseInfo& info) override; ndk::ScopedAStatus getSimlockFactoryResetTimeResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_status) override; - ndk::ScopedAStatus setSimlockActivateTimeResponse( - const OplusRadioResponseInfo& in_info) override; - ndk::ScopedAStatus getSimlockActivateTimeResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_status) override; - ndk::ScopedAStatus getSimlockFeatureResponse(const OplusRadioResponseInfo& in_info, - const std::vector<uint8_t>& in_feature) override; - ndk::ScopedAStatus getSimlockLockMarkResponse(const OplusRadioResponseInfo& in_info, - const std::vector<uint8_t>& in_lockmark) override; - ndk::ScopedAStatus getSimlockDeviceLockStateResponse(const OplusRadioResponseInfo& in_info, - int32_t in_lockstate) override; + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& status) override; + ndk::ScopedAStatus setSimlockActivateTimeResponse(const OplusRadioResponseInfo& info) override; + ndk::ScopedAStatus getSimlockActivateTimeResponse(const OplusRadioResponseInfo& info, + const std::vector<uint8_t>& status) override; + ndk::ScopedAStatus getSimlockFeatureResponse(const OplusRadioResponseInfo& info, + const std::vector<uint8_t>& feature) override; + ndk::ScopedAStatus getSimlockLockMarkResponse(const OplusRadioResponseInfo& info, + const std::vector<uint8_t>& lockmark) override; + ndk::ScopedAStatus getSimlockDeviceLockStateResponse(const OplusRadioResponseInfo& info, + int32_t lockstate) override; ndk::ScopedAStatus getSimlockDeviceLockinfoResponse( - const OplusRadioResponseInfo& in_info, - const std::vector<uint8_t>& in_lockinfo) override; - ndk::ScopedAStatus getSimlockVersionInfoResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_version) override; - ndk::ScopedAStatus getSimlockMaxRetryResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; - ndk::ScopedAStatus getSimlockCurrentRetryResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; - ndk::ScopedAStatus setPsDetachAttachActionResponse( - const OplusRadioResponseInfo& in_info) override; - ndk::ScopedAStatus unlockRegionlockResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; - ndk::ScopedAStatus updateRegionlockKeyResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& lockinfo) override; + ndk::ScopedAStatus getSimlockVersionInfoResponse(const OplusRadioResponseInfo& info, + const std::vector<uint8_t>& version) override; + ndk::ScopedAStatus getSimlockMaxRetryResponse(const OplusRadioResponseInfo& info, + int32_t result) override; + ndk::ScopedAStatus getSimlockCurrentRetryResponse(const OplusRadioResponseInfo& info, + int32_t result) override; + ndk::ScopedAStatus setPsDetachAttachActionResponse(const OplusRadioResponseInfo& info) override; + ndk::ScopedAStatus unlockRegionlockResponse(const OplusRadioResponseInfo& info, + int32_t result) override; + ndk::ScopedAStatus updateRegionlockKeyResponse(const OplusRadioResponseInfo& info, + int32_t result) override; ndk::ScopedAStatus getRegionlockSettingDataResponse( - const OplusRadioResponseInfo& in_info, const std::vector<uint8_t>& in_result) override; - ndk::ScopedAStatus setRegionlockSettingDataResponse(const OplusRadioResponseInfo& in_info, - int32_t in_result) override; - ndk::ScopedAStatus setSimlockOfflineLockResponse( - const OplusRadioResponseInfo& in_info) override; + const OplusRadioResponseInfo& info, const std::vector<uint8_t>& result) override; + ndk::ScopedAStatus setRegionlockSettingDataResponse(const OplusRadioResponseInfo& info, + int32_t result) override; + ndk::ScopedAStatus setSimlockOfflineLockResponse(const OplusRadioResponseInfo& info) override; ndk::ScopedAStatus getSimlockOfflineLockResponse( - const OplusRadioResponseInfo& in_info, - const std::vector<int32_t>& in_retryCount) override; + const OplusRadioResponseInfo& info, const std::vector<int32_t>& retryCount) override; private: - int32_t& in_result_; + int32_t& result_; }; }; // namespace aidl::vendor::oplus::hardware::radio diff --git a/nrmodeswitcher/main.cpp b/nrmodeswitcher/main.cpp index 0ac4681..2446517 100644 --- a/nrmodeswitcher/main.cpp +++ b/nrmodeswitcher/main.cpp @@ -66,14 +66,14 @@ int main() { continue; } - int32_t in_result = 0; - auto resp_cb = ndk::SharedRefBase::make<OplusRadioResponse>(in_result); + int32_t result = 0; + auto resp_cb = ndk::SharedRefBase::make<OplusRadioResponse>(result); radio->setCallback(resp_cb, nullptr); bool succeed = false; for (auto retry = 100; retry > 0; --retry) { auto status = radio->setNrMode(kOplusRilSerial, mode); - if (!status.isOk() || in_result != 0) { + if (!status.isOk() || result != 0) { LOG(ERROR) << "setNrMode failed for SIM" << i << ", (remaining retries: " << retry - 1 << ")"; std::this_thread::sleep_for(1s); diff --git a/sepolicy/qti/private/compat/32.0/32.0.ignore.cil b/sepolicy/qti/private/compat/202404/202404.ignore.cil index 2aae4b2..bf7b25d 100644 --- a/sepolicy/qti/private/compat/32.0/32.0.ignore.cil +++ b/sepolicy/qti/private/compat/202404/202404.ignore.cil @@ -5,6 +5,8 @@ (typeattribute new_objects) (typeattributeset new_objects ( new_objects + horae + osense_service system_fingerprint_prop system_oplus_iris_prop system_oplus_project_prop diff --git a/sepolicy/qti/private/compat/33.0/33.0.ignore.cil b/sepolicy/qti/private/compat/33.0/33.0.ignore.cil deleted file mode 100644 index 2aae4b2..0000000 --- a/sepolicy/qti/private/compat/33.0/33.0.ignore.cil +++ /dev/null @@ -1,13 +0,0 @@ -;; new_objects - a collection of types that have been introduced that have no -;; analogue in older policy. Thus, we do not need to map these types to -;; previous ones. Add here to pass checkapi tests. -(type new_objects) -(typeattribute new_objects) -(typeattributeset new_objects - ( new_objects - system_fingerprint_prop - system_oplus_iris_prop - system_oplus_project_prop - system_oplus_radio_prop - system_oplus_touch_prop - vendor_persist_engineer_file)) diff --git a/sepolicy/qti/private/file_contexts b/sepolicy/qti/private/file_contexts new file mode 100644 index 0000000..9cb8102 --- /dev/null +++ b/sepolicy/qti/private/file_contexts @@ -0,0 +1,5 @@ +# Folio daemon +/system_ext/bin/folio-daemon u:object_r:folio_daemon_exec:s0 + +# Horae +/system_ext/bin/horae u:object_r:horae_exec:s0 diff --git a/sepolicy/qti/private/folio_daemon.te b/sepolicy/qti/private/folio_daemon.te new file mode 100644 index 0000000..6f2122d --- /dev/null +++ b/sepolicy/qti/private/folio_daemon.te @@ -0,0 +1,16 @@ +type folio_daemon, domain, coredomain; +type folio_daemon_exec, system_file_type, exec_type, file_type; + +init_daemon_domain(folio_daemon) + +binder_use(folio_daemon) + +binder_call(folio_daemon, system_server) + +allow folio_daemon permission_service:service_manager find; +allow folio_daemon sensorservice_service:service_manager find; +allow folio_daemon virtual_device_native_service:service_manager find; + +allow folio_daemon system_server:unix_stream_socket rw_socket_perms_no_ioctl; + +allow folio_daemon uhid_device:chr_file rw_file_perms; diff --git a/sepolicy/qti/private/horae.te b/sepolicy/qti/private/horae.te new file mode 100644 index 0000000..c4c7ad6 --- /dev/null +++ b/sepolicy/qti/private/horae.te @@ -0,0 +1,17 @@ +type horae_exec, exec_type, system_file_type, file_type; + +init_daemon_domain(horae) + +hal_client_domain(horae, hal_health) + +add_service(horae, horae_service) + +binder_call(horae, servicemanager) +binder_call(horae, system_server) + +unix_socket_send(horae, statsdw, statsd) + +allow horae horae_service:service_manager find; +allow horae osense_service:service_manager find; +allow horae surfaceflinger_service:service_manager find; +allow horae thermal_service:service_manager find; diff --git a/sepolicy/qti/private/seapp_contexts b/sepolicy/qti/private/seapp_contexts index 866995f..ac6a476 100644 --- a/sepolicy/qti/private/seapp_contexts +++ b/sepolicy/qti/private/seapp_contexts @@ -1,2 +1,2 @@ user=_app seinfo=platform name=org.ifaa.aidl.manager domain=ifaa_app type=app_data_file levelFrom=user -user=_app seinfo=platform name=org.lineageos.pen domain=pen_app type=app_data_file levelFrom=user +user=_app isPrivApp=true seinfo=platform name=org.lineageos.pen domain=pen_app type=app_data_file levelFrom=user diff --git a/sepolicy/qti/private/service.te b/sepolicy/qti/private/service.te new file mode 100644 index 0000000..9fd94b0 --- /dev/null +++ b/sepolicy/qti/private/service.te @@ -0,0 +1,2 @@ +# Horae +type horae_service, system_api_service, service_manager_type; diff --git a/sepolicy/qti/private/service_contexts b/sepolicy/qti/private/service_contexts new file mode 100644 index 0000000..d1abbea --- /dev/null +++ b/sepolicy/qti/private/service_contexts @@ -0,0 +1,5 @@ +# Horae +horae u:object_r:horae_service:s0 + +# OSENSE +osensemanager u:object_r:osense_service:s0 diff --git a/sepolicy/qti/private/surfaceflinger.te b/sepolicy/qti/private/surfaceflinger.te new file mode 100644 index 0000000..3b80be9 --- /dev/null +++ b/sepolicy/qti/private/surfaceflinger.te @@ -0,0 +1 @@ +binder_call(surfaceflinger, horae) diff --git a/sepolicy/qti/public/attributes b/sepolicy/qti/public/attributes index bc9de40..0e6b358 100644 --- a/sepolicy/qti/public/attributes +++ b/sepolicy/qti/public/attributes @@ -11,3 +11,4 @@ vendor_hal_attribute(oplus_project) vendor_hal_attribute(oplus_sensor) vendor_hal_attribute(oplus_touch) vendor_hal_attribute(oplus_urcc) +vendor_hal_attribute(subsys) diff --git a/sepolicy/qti/public/service.te b/sepolicy/qti/public/service.te new file mode 100644 index 0000000..4f5c849 --- /dev/null +++ b/sepolicy/qti/public/service.te @@ -0,0 +1,2 @@ +# OSENSE +type osense_service, system_server_service, service_manager_type; diff --git a/sepolicy/qti/public/type.te b/sepolicy/qti/public/type.te new file mode 100644 index 0000000..fe1917a --- /dev/null +++ b/sepolicy/qti/public/type.te @@ -0,0 +1,2 @@ +# Horae +type horae, domain, mlstrustedobject, coredomain; diff --git a/sepolicy/qti/vendor/attributes b/sepolicy/qti/vendor/attributes new file mode 100644 index 0000000..6f4656f --- /dev/null +++ b/sepolicy/qti/vendor/attributes @@ -0,0 +1,3 @@ +# Reserve +attribute oplus_reserve_file_type; +attribute oplus_reserve_radio_file_type; diff --git a/sepolicy/qti/vendor/device.te b/sepolicy/qti/vendor/device.te index e641c83..62e353c 100644 --- a/sepolicy/qti/vendor/device.te +++ b/sepolicy/qti/vendor/device.te @@ -7,6 +7,11 @@ type vendor_camera_turbo_device, dev_type; # Charging type oplus_charger_device, dev_type; +# eSIM +type esim_det_device, dev_type; +type esim_en_device, dev_type; +type esim_gpio_device, dev_type; + # Fingerprint type fingerprint_device, dev_type; diff --git a/sepolicy/qti/vendor/file.te b/sepolicy/qti/vendor/file.te index 2e4cc2e..2aaf01b 100644 --- a/sepolicy/qti/vendor/file.te +++ b/sepolicy/qti/vendor/file.te @@ -24,6 +24,9 @@ type vendor_proc_fingerprint, fs_type, proc_type; # Graphics type vendor_sysfs_sde_crtc, fs_type, sysfs_type; +# Horae +type proc_horae, fs_type, proc_type; + # Input type proc_bus_input, fs_type, proc_type; @@ -33,6 +36,9 @@ type vendor_proc_mm_fb, fs_type, proc_type; # NVRAM type nvram_socket, file_type; +# Olog +type vendor_olog_file, file_type, data_file_type; + # Performance type vendor_proc_oplus_ctp, fs_type, proc_type; type vendor_proc_oplus_scheduler, fs_type, proc_type; @@ -42,19 +48,28 @@ type vendor_sysfs_cb, fs_type, sysfs_type; type vendor_proc_oplus_pogo_keyboard, fs_type, proc_type; # Reserve -type oplus_reserve_connectivity_file, file_type; type oplus_reserve_connectivity_felicalock, file_type; -type oplus_reserve_file, file_type; +type oplus_reserve_connectivity_file, file_type; +type oplus_reserve_file, file_type, oplus_reserve_file_type; type oplus_reserve_media_camera, file_type; type oplus_reserve_media_dropbox, file_type; type oplus_reserve_media_engineermode, file_type; type oplus_reserve_media_file, file_type; type oplus_reserve_media_log, file_type; -type oplus_reserve_radio_file, file_type; +type oplus_reserve_radio_file, file_type, oplus_reserve_radio_file_type; type oplus_reserve_system_config, file_type; type oplus_reserve_system_file, file_type; type oplus_reserve_system_flag, file_type; type oplus_reserve_system_ssv, file_type; +type oppo_reserve_file, file_type, oplus_reserve_file_type; +type oppo_reserve_media_camera, file_type; +type oppo_reserve_media_coloros, file_type; +type oppo_reserve_media_dropbox, file_type; +type oppo_reserve_media_file, file_type; +type oppo_reserve_media_log, file_type; +type oppo_reserve_radio_file, file_type, oplus_reserve_radio_file_type; +type oppo_reserve_system_config, file_type; +type oppo_reserve_system_file, file_type; # Secure type vendor_proc_oppo_secure_common_file, fs_type, proc_type; @@ -70,7 +85,6 @@ type vendor_sysfs_tof, fs_type, sysfs_type; # Touch type oplus_touchdaemon_socket, file_type; type vendor_persist_oplus_touch_file, file_type, data_file_type; -type vendor_proc_oplus_touch, fs_type, proc_type; # Ultrasound type vendor_proc_ultrasound, fs_type, proc_type; diff --git a/sepolicy/qti/vendor/file_contexts b/sepolicy/qti/vendor/file_contexts index 0646dc7..4c02981 100644 --- a/sepolicy/qti/vendor/file_contexts +++ b/sepolicy/qti/vendor/file_contexts @@ -41,6 +41,12 @@ # Engineering /mnt/vendor/persist/engineermode(/.*)? u:object_r:vendor_persist_engineer_file:s0 +# eSIM +/(odm|vendor/odm)/bin/hw/vendor\.oplus\.hardware\.esim@1\.0-service u:object_r:hal_oplus_esim_aidl_exec:s0 +/dev/esim-det u:object_r:esim_det_device:s0 +/dev/esim-en u:object_r:esim_en_device:s0 +/dev/esim-gpio u:object_r:esim_gpio_device:s0 + # Fingerprint /data/vendor/fingerprint(_ori)?(/.*)? u:object_r:fingerprint_vendor_data_file:s0 /mnt/vendor/persist/fingerprint(/.*)? u:object_r:vendor_persist_fingerprint_file:s0 @@ -84,6 +90,9 @@ /dev/block/platform/soc/1d84000\.ufshc/by-name/nonmodemst2 u:object_r:nvram_device:s0 /dev/socket/nvram u:object_r:nvram_socket:s0 +# Olog +/data/vendor/olog(/.*)? u:object_r:vendor_olog_file:s0 + # OSENSE /vendor/bin/hw/vendor\.oplus\.hardware\.osense\.client-service u:object_r:hal_oplus_osense_aidl_exec:s0 @@ -101,6 +110,7 @@ # Performance /(odm|vendor/odm)/bin/hw/vendor-oplus-hardware-performance-V1-service u:object_r:hal_oplus_performance_aidl_exec:s0 +/vendor/bin/hw/vendor\.oplus\.hardware\.performance-service u:object_r:hal_oplus_performance_aidl_exec:s0 # Pogo pin keyboard /dev/ttyHS5 u:object_r:oplus_pogo_keyboard_device:s0 @@ -110,7 +120,8 @@ /(odm|vendor/odm)/bin/hw/vendor.oplus.hardware.stability.oplus_project-V1-service u:object_r:hal_oplus_project_aidl_exec:s0 # Radio -/vendor/bin/nrmodeswitcher u:object_r:vendor_nrmodeswitcher_exec:s0 +/(odm|vendor/odm)/bin/hw/subsys_daemon u:object_r:subsystem_daemon_exec:s0 +/vendor/bin/nrmodeswitcher u:object_r:vendor_nrmodeswitcher_exec:s0 # RMT /dev/block/platform/soc/1d84000\.ufshc/by-name/oem_dycnvbk u:object_r:vendor_modem_efs_partition_device:s0 @@ -129,6 +140,7 @@ /mnt/vendor/oplusreserve/connectivity/nfclock(/.*)? u:object_r:oplus_reserve_connectivity_felicalock:s0 /mnt/vendor/oplusreserve/media(/.*)? u:object_r:oplus_reserve_media_file:s0 /mnt/vendor/oplusreserve/media/Camera(/.*)? u:object_r:oplus_reserve_media_camera:s0 +/mnt/vendor/oplusreserve/media/ColorOS(/.*)? u:object_r:oppo_reserve_media_coloros:s0 /mnt/vendor/oplusreserve/media/dropbox(/.*)? u:object_r:oplus_reserve_media_dropbox:s0 /mnt/vendor/oplusreserve/media/engineermode(/.*)? u:object_r:oplus_reserve_media_engineermode:s0 /mnt/vendor/oplusreserve/media/log(/.*)? u:object_r:oplus_reserve_media_log:s0 @@ -189,5 +201,7 @@ /vendor/bin/wvmkiller u:object_r:vendor_wvmkiller_exec:s0 # Wlchgmonitor +/(odm|vendor/odm)/bin/hw/wlschgd u:object_r:wlchgmonitor_exec:s0 /(odm|vendor/odm)/bin/wlchgmonitor u:object_r:wlchgmonitor_exec:s0 /dev/wlchg u:object_r:wlchg_device:s0 +/dev/wls_dev u:object_r:wlchg_device:s0 diff --git a/sepolicy/qti/vendor/genfs_contexts b/sepolicy/qti/vendor/genfs_contexts index bc18804..e4ba353 100644 --- a/sepolicy/qti/vendor/genfs_contexts +++ b/sepolicy/qti/vendor/genfs_contexts @@ -21,6 +21,7 @@ genfscon sysfs /devices/platform/soc/soc:oplus,chg_wls/oplus_mms u:obje genfscon sysfs /devices/platform/soc/soc:oplus,mms_gauge/oplus_mms u:object_r:vendor_sysfs_usb_supply:s0 genfscon sysfs /devices/virtual/oplus_chg/battery u:object_r:vendor_sysfs_battery_supply:s0 genfscon sysfs /devices/platform/soc/soc:oplus,mms_wired/oplus_mms u:object_r:vendor_sysfs_usb_supply:s0 +genfscon sysfs /devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,battery_charger/soc:qcom,pmic_glink:qcom,battery_charger:oplus,pm8350_charger:oplus,mms_wired/oplus_mms u:object_r:vendor_sysfs_usb_supply:s0 genfscon sysfs /devices/virtual/oplus_chg u:object_r:vendor_sysfs_usb_supply:s0 # Camera @@ -47,6 +48,9 @@ genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/sde-crtc-0/ genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/sde-crtc-1/early_wakeup u:object_r:vendor_sysfs_sde_crtc:s0 genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/sde-crtc-2/early_wakeup u:object_r:vendor_sysfs_sde_crtc:s0 +# Horae +genfscon proc /shell-temp u:object_r:proc_horae:s0 + # Multimedia feedback genfscon proc /mm_fb u:object_r:vendor_proc_mm_fb:s0 @@ -81,7 +85,6 @@ genfscon sysfs /module/stmvl53l1 u:object_r:vendor_sysfs_tof:s0 # Touch genfscon proc /bus/input/devices u:object_r:proc_bus_input:s0 -genfscon proc /shell-temp u:object_r:vendor_proc_oplus_touch:s0 # Ultrasound genfscon proc /ultrasound u:object_r:vendor_proc_ultrasound:s0 @@ -115,6 +118,7 @@ genfscon sysfs /devices/platform/soc/884000.i2c/i2c-12/12-0028/wakeup u:object_r genfscon sysfs /devices/platform/soc/884000.i2c/i2c-5/5-0028/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/8c0000.qcom,qupv3_0_geni_se/880000.spi/spi_master/spi0/spi0.0/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/8c0000.qcom,qupv3_0_geni_se/880000.spi/spi_master/spi1/spi1.0/wakeup u:object_r:sysfs_wakeup:s0 +genfscon sysfs /devices/platform/soc/8c0000.qcom,qupv3_1_geni_se/884000.i2c/i2c-9/9-0028/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/8c0000.qcom,qupv3_2_geni_se/880000.qcom,qup_uart/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/8c0000.qcom,qupv3_2_geni_se/884000.i2c/i2c-7/7-0010/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/8c0000.qcom,qupv3_2_geni_se/884000.i2c/i2c-8/8-0010/wakeup u:object_r:sysfs_wakeup:s0 @@ -134,6 +138,8 @@ genfscon sysfs /devices/platform/soc/994000.i2c/i2c-5/5-003b/994000.i2c:op,wlchg genfscon sysfs /devices/platform/soc/994000.i2c/i2c-5/5-0066/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/994000.i2c/i2c-8/8-003b/994000.i2c:op,wlchg_rx@3b:idt,p9415/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/994000.i2c/i2c-8/8-0066/wakeup u:object_r:sysfs_wakeup:s0 +genfscon sysfs /devices/platform/soc/9c0000.qcom,qupv3_i2c_geni_se/988000.i2c/i2c-9/9-006f/ufcs/ufcs/wakeup u:object_r:sysfs_wakeup:s0 +genfscon sysfs /devices/platform/soc/9c0000.qcom,qupv3_i2c_geni_se/988000.i2c/i2c-9/9-006f/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/9c0000.qcom,qupv3_i2c_geni_se/98c000.i2c/i2c-5/5-003b/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/9c0000.qcom,qupv3_i2c_geni_se/98c000.i2c/i2c-6/6-0036/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/9c0000.qcom,qupv3_i2c_geni_se/9a0000.i2c/i2c-14/14-006f/ufcs/ufcs/wakeup u:object_r:sysfs_wakeup:s0 @@ -151,6 +157,8 @@ genfscon sysfs /devices/platform/soc/a94000.i2c/i2c-9/9-004b/wakeup u:object_r:s genfscon sysfs /devices/platform/soc/a94000.spi/spi_master/spi1/spi1.0/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/aab0000.qcom,venus/subsys10/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/aab0000.qcom,venus/subsys9/wakeup u:object_r:sysfs_wakeup:s0 +genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_0_geni_se/a80000.i2c/i2c-4/4-0010/wakeup u:object_r:sysfs_wakeup:s0 +genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_0_geni_se/a90000.spi/spi_master/spi0/spi0.0/synaptics_tcm_hbp.0/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a80000.i2c/i2c-10/10-0028/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a80000.i2c/i2c-11/11-0028/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a80000.i2c/i2c-6/6-0028/wakeup u:object_r:sysfs_wakeup:s0 @@ -159,6 +167,7 @@ genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a80000.i2c/i2c- genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a80000.i2c/i2c-9/9-0028/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a8c000.i2c/i2c-10/10-000e/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a8c000.i2c/i2c-11/11-000e/wakeup u:object_r:sysfs_wakeup:s0 +genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a8c000.i2c/i2c-13/13-000e/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a8c000.i2c/i2c-15/15-000e/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a8c000.i2c/i2c-9/9-000e/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a90000.i2c/i2c-7/7-004b/wakeup u:object_r:sysfs_wakeup:s0 @@ -166,9 +175,11 @@ genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a90000.i2c/i2c- genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a90000.spi/spi_master/spi0/spi0.0/synaptics_tcm_hbp.0/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a90000.spi/spi_master/spi0/spi0.0/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a90000.spi/spi_master/spi1/spi1.0/synaptics_tcm_hbp.0/wakeup u:object_r:sysfs_wakeup:s0 +genfscon sysfs /devices/platform/soc/ac0000.qcom,qupv3_1_geni_se/a9c000.qcom,qup_uart/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/b0000000.qcom,cnss-qca6490/subsys10/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/b0000000.qcom,cnss-qca6490/subsys9/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/c42d000.qcom,spmi/spmi-0/0-00/c42d000.qcom,spmi:qcom,pmk8350@0:pon_pbs@800/wakeup u:object_r:sysfs_wakeup:s0 +genfscon sysfs /devices/platform/soc/c42d000.qcom,spmi/spmi-0/0-00/c42d000.qcom,spmi:qcom,pmk8550@0:pon_hlos@1300/c42d000.qcom,spmi:qcom,pmk8550@0:pon_hlos@1300:pwrkey-resin/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/c42d000.qcom,spmi/spmi-0/0-00/c42d000.qcom,spmi:qcom,pmk8550@0:pon_pbs@800/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm7250b@2:qcom,qpnp-smb5/power_supply/ac/wakeup u:object_r:sysfs_wakeup:s0 genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,qpnp-smb5/power_supply/ac/wakeup u:object_r:sysfs_wakeup:s0 diff --git a/sepolicy/qti/vendor/hal_camera_default.te b/sepolicy/qti/vendor/hal_camera_default.te index 8b3b357..358153e 100644 --- a/sepolicy/qti/vendor/hal_camera_default.te +++ b/sepolicy/qti/vendor/hal_camera_default.te @@ -16,6 +16,7 @@ allow hal_camera_default self:capability ipc_lock; allow hal_camera_default system_server:binder call; allow hal_camera_default hal_oplus_olc_aidl_service:service_manager find; +allow hal_camera_default osense_service:service_manager find; allow hal_camera_default vendor_hal_orms_hwservice:hwservice_manager find; allow hal_camera_default vendor_hal_osense_hwservice:hwservice_manager find; diff --git a/sepolicy/qti/vendor/hal_lineage_touch_default.te b/sepolicy/qti/vendor/hal_lineage_touch_default.te index 91f35ba..0c667f4 100644 --- a/sepolicy/qti/vendor/hal_lineage_touch_default.te +++ b/sepolicy/qti/vendor/hal_lineage_touch_default.te @@ -1,5 +1,6 @@ allow hal_lineage_touch_default hal_oplus_touch_aidl_service:service_manager find; binder_call(hal_lineage_touch_default, hal_oplus_touch_aidl) +binder_use(hal_lineage_touch_default) rw_dir_file(hal_lineage_touch_default, vendor_proc_display) diff --git a/sepolicy/qti/vendor/hal_oplus_esim_aidl.te b/sepolicy/qti/vendor/hal_oplus_esim_aidl.te new file mode 100644 index 0000000..26d5b71 --- /dev/null +++ b/sepolicy/qti/vendor/hal_oplus_esim_aidl.te @@ -0,0 +1,23 @@ +type hal_oplus_esim_aidl, domain; +binder_use(hal_oplus_esim_aidl) + +type hal_oplus_esim_aidl_exec, exec_type, vendor_file_type, file_type; +init_daemon_domain(hal_oplus_esim_aidl) + +add_service(hal_oplus_esim_aidl, hal_oplus_esim_aidl_service) + +allow hal_oplus_esim_aidl esim_det_device:chr_file rw_file_perms; +allow hal_oplus_esim_aidl esim_en_device:chr_file rw_file_perms; +allow hal_oplus_esim_aidl esim_gpio_device:chr_file rw_file_perms; + +allow hal_oplus_esim_aidl mnt_vendor_file:dir search; +allow hal_oplus_esim_aidl oplus_reserve_file_type:dir search; +rw_dir_file(hal_oplus_esim_aidl, oplus_reserve_radio_file_type) + +allow hal_oplus_esim_aidl block_device:dir search; +allow hal_oplus_esim_aidl vendor_reserve_partition:blk_file rw_file_perms; + +allow hal_oplus_esim_aidl self:qipcrtr_socket create_socket_perms_no_ioctl; + +set_prop(hal_oplus_esim_aidl, vendor_oplus_esim_prop) +set_prop(hal_oplus_esim_aidl, vendor_radio_prop) diff --git a/sepolicy/qti/vendor/horae.te b/sepolicy/qti/vendor/horae.te new file mode 100644 index 0000000..d332abd --- /dev/null +++ b/sepolicy/qti/vendor/horae.te @@ -0,0 +1,4 @@ +hal_client_domain(horae, vendor_hal_oplus_charger) + +r_dir_file(horae, vendor_proc_oplus_version) +rw_dir_file(horae, proc_horae) diff --git a/sepolicy/qti/vendor/init.te b/sepolicy/qti/vendor/init.te new file mode 100644 index 0000000..3c5027f --- /dev/null +++ b/sepolicy/qti/vendor/init.te @@ -0,0 +1 @@ +allow init vendor_reserve_partition:{ blk_file lnk_file } relabelto; diff --git a/sepolicy/qti/vendor/oplus_touchdaemon.te b/sepolicy/qti/vendor/oplus_touchdaemon.te index 8c1417a..523391c 100644 --- a/sepolicy/qti/vendor/oplus_touchdaemon.te +++ b/sepolicy/qti/vendor/oplus_touchdaemon.te @@ -25,9 +25,10 @@ allow oplus_touchdaemon vendor_persist_oplus_touch_file:dir rw_dir_perms; allow oplus_touchdaemon vendor_persist_oplus_touch_file:file create_file_perms; rw_dir_file(oplus_touchdaemon, proc_bus_input) +rw_dir_file(oplus_touchdaemon, proc_horae) rw_dir_file(oplus_touchdaemon, vendor_data_file) rw_dir_file(oplus_touchdaemon, vendor_proc_display) -rw_dir_file(oplus_touchdaemon, vendor_proc_oplus_touch) +set_prop(oplus_touchdaemon, ctl_stop_prop) set_prop(oplus_touchdaemon, system_oplus_touch_prop) set_prop(oplus_touchdaemon, vendor_oplus_touch_prop) diff --git a/sepolicy/qti/vendor/property.te b/sepolicy/qti/vendor/property.te index 924138e..e963cbc 100644 --- a/sepolicy/qti/vendor/property.te +++ b/sepolicy/qti/vendor/property.te @@ -1,3 +1,6 @@ +# eSIM +vendor_internal_prop(vendor_oplus_esim_prop) + # Fingerprint vendor_internal_prop(vendor_fingerprint_prop) @@ -10,6 +13,9 @@ vendor_internal_prop(vendor_modem_prop) # RIL vendor_internal_prop(vendor_nw_exported_system_prop) +# Thermal +vendor_internal_prop(vendor_thermal_engine_prop) + # Touch vendor_internal_prop(vendor_oplus_touch_prop) diff --git a/sepolicy/qti/vendor/property_contexts b/sepolicy/qti/vendor/property_contexts index b8311b3..79dff7b 100644 --- a/sepolicy/qti/vendor/property_contexts +++ b/sepolicy/qti/vendor/property_contexts @@ -12,6 +12,9 @@ vendor.oppo.camera. u:object_r:vendor_camera_prop:s0 # Display vendor.dps.dump.composerpid u:object_r:vendor_display_prop:s0 +# eSIM +ro.vendor.oplus.esim.support u:object_r:vendor_oplus_esim_prop:s0 + # Fingerprint persist.vendor.fingerprint. u:object_r:vendor_fingerprint_prop:s0 persist.vendor.side.fp.near.feature.support u:object_r:vendor_fingerprint_prop:s0 @@ -44,6 +47,9 @@ vendor.gsm.serial u:object_r:vendor_nw_exported_system_prop:s0 # Sensors ro.vendor.oplus.sensor. u:object_r:vendor_sensors_prop:s0 +# Thermal +vendor.thermal-engine.completed u:object_r:vendor_thermal_engine_prop:s0 + # Touch vendor.oplus.touch. u:object_r:vendor_oplus_touch_prop:s0 vendor.oplus.touchDaemon. u:object_r:vendor_oplus_touch_prop:s0 diff --git a/sepolicy/qti/vendor/rild.te b/sepolicy/qti/vendor/rild.te index ec99146..9bd2653 100644 --- a/sepolicy/qti/vendor/rild.te +++ b/sepolicy/qti/vendor/rild.te @@ -1,5 +1,6 @@ allow rild mnt_vendor_file:dir search; -allow rild oplus_reserve_file:dir search; +allow rild oplus_reserve_file_type:dir search; +rw_dir_file(rild, oplus_reserve_radio_file_type) allow rild vendor_proc_display:file r_file_perms; diff --git a/sepolicy/qti/vendor/service.te b/sepolicy/qti/vendor/service.te index 45a0d52..53cd3b6 100644 --- a/sepolicy/qti/vendor/service.te +++ b/sepolicy/qti/vendor/service.te @@ -21,6 +21,9 @@ type hal_oplus_displaypanel_aidl_service, hal_service_type, service_manager_type # Display (Pixelworks) type hal_display_iris_aidl_service, hal_service_type, service_manager_type; +# eSIM +type hal_oplus_esim_aidl_service, hal_service_type, service_manager_type; + # Fingerprint Pay type hal_fingerprintpay_service, hal_service_type, service_manager_type; @@ -32,7 +35,6 @@ type hal_oplus_olc_aidl_service, hal_service_type, service_manager_type; # OSENSE type hal_oplus_osense_aidl_service, hal_service_type, service_manager_type; -type osense_service, system_server_service, service_manager_type; # Performance type hal_oplus_performance_aidl_service, hal_service_type, service_manager_type; diff --git a/sepolicy/qti/vendor/service_contexts b/sepolicy/qti/vendor/service_contexts index f3cef94..c9f63b6 100644 --- a/sepolicy/qti/vendor/service_contexts +++ b/sepolicy/qti/vendor/service_contexts @@ -24,6 +24,9 @@ vendor.oplus.hardware.displaypanelfeature.IDisplayPanelFeature/default u:objec # Display (Pixelworks) vendor.pixelworks.hardware.display.IIris/default u:object_r:hal_display_iris_aidl_service:s0 +# eSIM +vendor.oplus.hardware.esim.IOplusEsim/default u:object_r:hal_oplus_esim_aidl_service:s0 + # Fingerprint Pay vendor.oplus.hardware.biometrics.fingerprintpay.IFingerprintPay/default u:object_r:hal_fingerprintpay_service:s0 @@ -31,7 +34,6 @@ vendor.oplus.hardware.biometrics.fingerprintpay.IFingerprintPay/default u:obj vendor.oplus.hardware.olc2.IOplusLogCore/default u:object_r:hal_oplus_olc_aidl_service:s0 # OSENSE -osensemanager u:object_r:osense_service:s0 vendor.oplus.hardware.osense.client.IOsenseAidlHalReporter/default u:object_r:hal_oplus_osense_aidl_service:s0 # Performance diff --git a/sepolicy/qti/vendor/subsystem_daemon.te b/sepolicy/qti/vendor/subsystem_daemon.te new file mode 100644 index 0000000..3d45ec9 --- /dev/null +++ b/sepolicy/qti/vendor/subsystem_daemon.te @@ -0,0 +1,22 @@ +type subsystem_daemon, domain; +binder_use(subsystem_daemon) + +hal_server_domain(subsystem_daemon, vendor_hal_subsys) + +type subsystem_daemon_exec, exec_type, vendor_file_type, file_type; +init_daemon_domain(subsystem_daemon) + +binder_call(vendor_hal_subsys_client, vendor_hal_subsys_server) +binder_call(vendor_hal_subsys_server, vendor_hal_subsys_client) + +hal_attribute_service(vendor_hal_subsys, hal_subsys_service) + +allow subsystem_daemon block_device:dir r_dir_perms; +allow subsystem_daemon self:qipcrtr_socket create_socket_perms_no_ioctl; +allow subsystem_daemon vendor_reserve_partition:blk_file r_file_perms; +allow subsystem_daemon vendor_sysfs_soc_sensitive:file r_file_perms; + +set_prop(subsystem_daemon, vendor_nw_exported_system_prop) +set_prop(subsystem_daemon, vendor_radio_prop) + +rw_dir_file(subsystem_daemon, vendor_olog_file) diff --git a/sepolicy/qti/vendor/vendor_hal_imsrtp.te b/sepolicy/qti/vendor/vendor_hal_imsrtp.te index ee527c0..9e56130 100644 --- a/sepolicy/qti/vendor/vendor_hal_imsrtp.te +++ b/sepolicy/qti/vendor/vendor_hal_imsrtp.te @@ -1,5 +1,5 @@ add_service(vendor_hal_imsrtp, hal_imsrtp_service) -allow vendor_hal_imsrtp hal_subsys_service:service_manager find; +hal_client_domain(vendor_hal_imsrtp, vendor_hal_subsys) get_prop(vendor_hal_imsrtp, boot_status_prop) diff --git a/sepolicy/qti/vendor/vendor_init.te b/sepolicy/qti/vendor/vendor_init.te index 098fee8..0734e98 100644 --- a/sepolicy/qti/vendor/vendor_init.te +++ b/sepolicy/qti/vendor/vendor_init.te @@ -2,4 +2,7 @@ allow vendor_init proc_sched:file w_file_perms; allow vendor_init vendor_proc_display:file w_file_perms; set_prop(vendor_init, system_oplus_project_prop) +set_prop(vendor_init, vendor_camera_prop) +set_prop(vendor_init, vendor_fingerprint_prop) set_prop(vendor_init, vendor_oplus_touch_prop) +set_prop(vendor_init, vendor_thermal_engine_prop) diff --git a/sepolicy/qti/vendor/vendor_qti_init_shell.te b/sepolicy/qti/vendor/vendor_qti_init_shell.te index 938bee0..2c5c088 100644 --- a/sepolicy/qti/vendor/vendor_qti_init_shell.te +++ b/sepolicy/qti/vendor/vendor_qti_init_shell.te @@ -1,9 +1,11 @@ allow vendor_qti_init_shell proc_cmdline:file r_file_perms; allow vendor_qti_init_shell proc_page_cluster:file create_file_perms; +allow vendor_qti_init_shell vendor_olog_file:file create_file_perms; allow vendor_qti_init_shell vendor_proc_camera:file create_file_perms; -allow vendor_qti_init_shell vendor_qmcs_file:dir r_file_perms; -allow vendor_qti_init_shell vendor_spunvm_file:dir r_file_perms; +allow vendor_qti_init_shell vendor_olog_file:dir rw_dir_perms; +allow vendor_qti_init_shell vendor_qmcs_file:dir r_dir_perms; +allow vendor_qti_init_shell vendor_spunvm_file:dir r_dir_perms; create_dir_file(vendor_qti_init_shell, mnt_vendor_file) diff --git a/sepolicy/qti/vendor/vendor_thermal-engine.te b/sepolicy/qti/vendor/vendor_thermal-engine.te index a3cd9ed..559505d 100644 --- a/sepolicy/qti/vendor/vendor_thermal-engine.te +++ b/sepolicy/qti/vendor/vendor_thermal-engine.te @@ -1 +1,3 @@ r_dir_file(vendor_thermal-engine, vendor_sysfs_usb_supply) + +set_prop(vendor_thermal-engine, vendor_thermal_engine_prop) diff --git a/vintf/device_framework_matrix.xml b/vintf/device_framework_matrix.xml index efff044..79db1c2 100644 --- a/vintf/device_framework_matrix.xml +++ b/vintf/device_framework_matrix.xml @@ -84,7 +84,7 @@ </hal> <hal format="aidl" optional="true"> <name>vendor.oplus.hardware.charger</name> - <version>1-7</version> + <version>1-8</version> <interface> <name>ICharger</name> <instance>default</instance> |
