69 Commits
vic ... bka

Author SHA1 Message Date
02d5796d3a Revert "dolby: Use new method to listen for preference changes"
This reverts commit 2ac524b54c.
2026-01-09 15:04:14 +09:00
Bruno Martins
c0de818eba dolby: Apply Expressive theme
Change-Id: I03c814b97c8401428f2b358d065a99503df9d1cc
2026-01-02 08:32:29 +09:00
Bruno Martins
4609a70e95 dolby: Convert for M3E support
Change-Id: Ib4d1088f5be3fc2b5c2ff90d5cd1b86603551037
2026-01-02 08:32:29 +09:00
Bruno Martins
2ac524b54c dolby: Use new method to listen for preference changes
Usage of addOnSwitchChangeListener(OnCheckedChangeListener) is
deprecated. The Javadoc explicitly says:

  Use setOnPreferenceChangeListener(OnPreferenceChangeListener) instead.

Change-Id: I71e0e3f86ff339a312cac1e09106f6d5d15b7e43
Signed-off-by: basamaryan <basam.aryan@gmail.com>
2026-01-02 08:32:29 +09:00
f42bd8b0b0 dolby: Move to PreferenceFragmentCompat
PreferenceFragment was deprecated in API level 28.

https://developer.android.com/jetpack/androidx/releases/preference#1.1.0

Change-Id: Ie8a4b04bd588afbbbc5882349ddbc05f988f80bf
Signed-off-by: AnierinB <anierin@evolution-x.org>
Signed-off-by: basamaryan <basam.aryan@gmail.com>
2026-01-02 08:32:29 +09:00
3e5a418ec2 Revert "dolby: Implement DSPVolumeSynchronizer"
* DSPVolumeSynchronizer is already in Evolution-X-Devices/hardware/xiaomi

This reverts commit 23662b74ac.
2025-12-05 14:15:55 +00:00
Pranav Vashi
a87374584b dolby: Update layout to material expressive design
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-09-16 14:52:27 +09:00
swiitchOFF
823cb93c6e dolby: Update readme 2025-08-29 09:47:11 +05:30
someone5678
298cc0e0a2 dolby: Create missing dolby related directory 2025-08-29 09:36:28 +05:30
swiitchOFF
9bb5037bc0 dolby: Patch vendor.dolby.media.c2@1.0-service with libshim_dolby
08-25 13:26:29.598  1006  1006 F libc    : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 1006 (vendor.dolby.me), pid 1006 (vendor.dolby.me)
08-25 13:26:29.731  3084  3084 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-25 13:26:29.731  3084  3084 F DEBUG   : crDroid Version: '11.8'
08-25 13:26:29.731  3084  3084 F DEBUG   : Build fingerprint: 'Xiaomi/vili/vili:14/UKQ1.231207.002/V816.0.10.0.UKDMIXM:user/release-keys'
08-25 13:26:29.731  3084  3084 F DEBUG   : Revision: '0'
08-25 13:26:29.731  3084  3084 F DEBUG   : ABI: 'arm64'
08-25 13:26:29.731  3084  3084 F DEBUG   : Timestamp: 2025-08-25 13:26:29.665897496+0530
08-25 13:26:29.731  3084  3084 F DEBUG   : Process uptime: 10s
08-25 13:26:29.731  3084  3084 F DEBUG   : Cmdline: /vendor/bin/hw/vendor.dolby.media.c2@1.0-service
08-25 13:26:29.731  3084  3084 F DEBUG   : pid: 1006, tid: 1006, name: vendor.dolby.me  >>> /vendor/bin/hw/vendor.dolby.media.c2@1.0-service <<<
08-25 13:26:29.731  3084  3084 F DEBUG   : uid: 1046
08-25 13:26:29.731  3084  3084 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000000
08-25 13:26:29.731  3084  3084 F DEBUG   : Cause: null pointer dereference
08-25 13:26:29.731  3084  3084 F DEBUG   :     x0  b400006f05b52fc0  x1  0000007fc905ed10  x2  0000006f45b59a90  x3  0000007fc905ecd8
08-25 13:26:29.731  3084  3084 F DEBUG   :     x4  0000000000000028  x5  0200006ef5b52470  x6  0000000000000000  x7  0000000000000000
08-25 13:26:29.731  3084  3084 F DEBUG   :     x8  00000000ffffffff  x9  00000000eff00000  x10 0000006fe69e4fa4  x11 0000000012b97fad
08-25 13:26:29.731  3084  3084 F DEBUG   :     x12 0000000000028003  x13 b400006ef5b528e0  x14 0000000000000024  x15 000000000000005f
08-25 13:26:29.731  3084  3084 F DEBUG   :     x16 0000006fe5ebd230  x17 0000006fede1ca84  x18 0000006fef730000  x19 0000000000000000
08-25 13:26:29.731  3084  3084 F DEBUG   :     x20 b400006f05b52eb0  x21 0000006d55852090  x22 0000006fef2fff00  x23 0000000000000000
08-25 13:26:29.731  3084  3084 F DEBUG   :     x24 0000006fef2fff00  x25 b400006d55b59140  x26 0000000000000001  x27 0000000000000000
08-25 13:26:29.731  3084  3084 F DEBUG   :     x28 0000000000000000  x29 0000007fc905ece0
08-25 13:26:29.731  3084  3084 F DEBUG   :     lr  0000006fe5e915f4  sp  0000007fc905ece0  pc  0000006fede1caa0  pst 0000000080001000
08-25 13:26:29.731  3084  3084 F DEBUG   : 7 total frames
08-25 13:26:29.731  3084  3084 F DEBUG   : backtrace:
08-25 13:26:29.731  3084  3084 F DEBUG   :       #00 pc 0000000000010aa0  /vendor/lib64/libutils.so (android::RefBase::decStrong(void const*) const+28) (BuildId: 2fd112063e39cb6f651b185f9e6234f2)
08-25 13:26:29.731  3084  3084 F DEBUG   :       #01 pc 00000000000515f0  /vendor/lib64/android.hardware.media.c2@1.0.so (android::hardware::media::c2::V1_0::BnHwComponentStore::_hidl_createInterface(android::hidl::base::V1_0::BnHwBase*, android::hardware::Parcel const&, android::hardware::Parcel*, std::__1::function<void (android::hardware::Parcel&)>)+376) (BuildId: f0d25f49428387d313920490e7ec7c8c)
08-25 13:26:29.731  3084  3084 F DEBUG   :       #02 pc 00000000000525f0  /vendor/lib64/android.hardware.media.c2@1.0.so (android::hardware::media::c2::V1_0::BnHwComponentStore::onTransact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+1004) (BuildId: f0d25f49428387d313920490e7ec7c8c)
08-25 13:26:29.731  3084  3084 F DEBUG   :       #03 pc 000000000008ab7c  /vendor/lib64/libhidlbase.so (android::hardware::BHwBinder::transact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+92) (BuildId: 1d845c84de7e27fc2c78f04ee8f4aae0)
08-25 13:26:29.731  3084  3084 F DEBUG   :       #04 pc 0000000000042eac  /vendor/lib64/libhidlbase.so (android::hardware::IPCThreadState::joinThreadPool(bool)+1344) (BuildId: 1d845c84de7e27fc2c78f04ee8f4aae0)
08-25 13:26:29.731  3084  3084 F DEBUG   :       #05 pc 000000000000124c  /vendor/bin/hw/vendor.dolby.media.c2@1.0-service (main+500) (BuildId: 394e52c5b5064b9f64c91bd2d615f078)
08-25 13:26:29.731  3084  3084 F DEBUG   :       #06 pc 0000000000055160  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+116) (BuildId: b310372d5ddccd24fca9f3a465bff80c)

Co-Authored-By: ZiadTamer <ziadtamer150@gmail.com>
Signed-off-by: swiitchOFF <120115258+swiitchOFF@users.noreply.github.com>
2025-08-25 16:31:42 +05:30
swiitchOFF
0c9ddc4349 dolby: configs: Enable ac4
* Sony Dolby Atmos have working ac4 on Tidal/Hotstar
2025-08-22 13:27:38 +05:30
Pranav Vashi
9034fe64c9 dolby: Fix compilation error in TooltipIconButton
Fixes: TooltipIconButton.kt:30:44: error: unresolved reference: rememberPlainTooltipPositionProvider

Change-Id: I7554622a406f4a56dc8471a39cbd4ad73c0daede
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-05-27 15:16:47 +05:30
Bruno Martins
ff98f55a64 dolby: Migrate MainSwitchBar and Switch to Material3
This follows Settings style updates for Android U.

Change-Id: Id6d3e7f193b6ef9fa6419d164265062328eb9170
2025-05-27 14:52:43 +05:30
Abhay Singh Gill
d520bfc991 dolby: DolbyManager: Add custom profile
Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
2025-05-27 14:52:37 +05:30
Abhay Singh Gill
898b66db90 dolby: DolbyManager: Add icons for dolby profiles
Also nuke voice profile and fixup some strings.

Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
2025-05-27 14:52:32 +05:30
Abhay Singh Gill
ba30d4f198 dolby: DolbyManager: Make bass enhancer available on speakers as well
Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
2025-05-27 14:52:24 +05:30
Sarthak Roy
756f07541f dolby: DolbyManager: Fix building in Android 15
Change-Id: Ie4e312bce0232c7a55ed2c29c8442f886f5aabd9
2025-05-27 14:52:16 +05:30
Adithya R
8d1f1dec6f dolby: DolbyManager: Add intelligent equalizer setting
Move preference-related classes to a new package while we're at it,
to reduce code clutter.
Also fix graphical equlizer

Change-Id: I2430e8ab9b6758503ce1777ec985a3e400b55b8e
2025-05-27 14:52:05 +05:30
Aditya R
708d38f721 dolby: Switch to DolbyManager
Based on existing dirac implementation and observing stock
sound effects app and daxservice.

History -
- Allow bass enhancer to use in speaker also
- Remove deprecated PlainTooltipBox
- Fix build with kotlinc 1.9.0
- Add launcher icon
- Introduce graphical equalizer
- Do not set volume leveler amount
- Restore all settings upon bootup
- Rewrite in Kotlin
- Restore dolby profile on audio changes
- Guard debug logging
- Implement profile-specific Dolby settings
- Remove play/pause hack while toggling Dolby
- Set proper summary for dolby settings
- Always refresh playback if status changed
- Introduce Dolby Atmos

Co-authored-by: Henrique Silva <jhenrique09.mcz@hotmail.com>
Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Co-authored-by: Fabian Leutenegger <fabian.leutenegger@bluewin.ch>
Co-authored-by: basamaryan <basam.aryan@gmail.com>
Co-authored-by: Ghosuto <clash.raja10@gmail.com>
2025-05-27 14:51:19 +05:30
swiitchOFF
5d570a07fe dolby: Kill XiaomiDolby 2025-05-27 14:46:27 +05:30
swiitchOFF
7a34fbab8f dolby: Update readme 2025-05-12 20:12:05 +05:30
swiitchOFF
80dde88580 dolby: configs: Rework on dax-default 2025-05-03 21:45:59 +05:30
Adithya R
b78ed962c9 dolby: Properly update profile preference summary
When profile is changed to known from unknown, the preference didn't
get updated.

Change-Id: Ic5e41f8c853187272d00178c7de02551f16350f9
2025-05-01 08:36:58 +05:30
Adithya R
0aa344b92c dolby: Add support for Custom profile
This appears to be present in all devices' dolby configurations.

Change-Id: I651a5f0f64144bbda6de863989043f9daf40b213
2025-05-01 08:36:29 +05:30
Adithya R
21b1b920de dolby: Make sure to persist value after toggling QS tile
Toggling the switch pref automatically sets the shared pref for us, but
toggling the QS tile does no such thing so we gotta do it ourselves.

Change-Id: Iac881ed654bf4eb76b111fc87667f16476d11522
2025-05-01 08:35:42 +05:30
Fabian Leutenegger
97abb34497 dolby: Update EqualizerScreen background color for 15
Switch to MaterialTheme settingsBackground for EqualizerScreen background color

Change-Id: I546e3528814276eb857a650cb6c173d914550fb5
2025-05-01 08:35:36 +05:30
swiitchOFF
f102f6b9b0 Revert "dolby: DolbyManager: Fix building in Android 15"
This reverts commit efb871f672.
2025-05-01 08:35:03 +05:30
swiitchOFF
caedc60497 dolby: Update readme 2025-04-30 11:11:25 +05:30
Pranav Vashi
97387bcbb5 dolby: Fix compilation error in TooltipIconButton
Fixes: TooltipIconButton.kt:30:44: error: unresolved reference: rememberPlainTooltipPositionProvider

Change-Id: I7554622a406f4a56dc8471a39cbd4ad73c0daede
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-04-30 11:07:24 +05:30
swiitchOFF
e33ef72395 dolby: Enable ELF checks for libspatialaudio 2025-03-30 23:22:04 +05:30
New Author Name
6cc96db8d4 dolby: Link dolby blobs against v33 libstagefright_foundation
* fixes crashes and absurdly high CPU usage while using dolby

Co-authored-by: Woomymy <woomy@woomy.be>
2025-03-30 23:21:30 +05:30
swiitchOFF
6a92f5625e dolby: Enable elf checks
* Properly link dolby libs against v33 libstagefright_foundation
2025-03-26 06:29:52 +05:30
New Author Name
5bddfe4ab8 dolby: configs: Kang dax-default from https://github.com/reiryuki/Dolby-Atmos-Sony-Xperia-5-V-Magisk-Module 2025-03-25 20:01:31 +05:30
New Author Name
a6202e7f90 dolby: Switch to Sony Dolby Atmos
* Based on c2 audio decoders

Co-Authored-By: Saku <saku-bruh@proton.me>
Co-Authored-By: ahnet-69 <syedmusicrealise@gmail.com>
Co-Authored-By: HELLBOY017 <abhaygill017@gmail.com>
Signed-off-by: swiitchOFF <120115258+swiitchOFF@users.noreply.github.com>
2025-03-12 18:44:06 +05:30
New Author Name
00d74c76bc dolby: Apply NLSound 4.1
Ref:
https://github.com/Briclyaz/NLSound_module_QCom

Applied with slight modification:
sed -i 's/<mi-dv-leveler-steering-enable value="true"/<mi-dv-leveler-steering-enable value="false"/g' dax-default.xml
sed -i 's/<mi-ieq-steering-enable value="true"/<mi-ieq-steering-enable value="false"/g' dax-default.xml
sed -i 's/<mi-surround-compressor-steering-enable value="true"/<mi-surround-compressor-steering-enable value="false"/g' dax-default.xml
sed -i 's/<mi-adaptive-virtualizer-steering-enable value="true"/<mi-adaptive-virtualizer-steering-enable value="false"/g' dax-default.xml
sed -i 's/<reverb-suppression-enable value="true"/<reverb-suppression-enable value="false"/g' dax-default.xml
sed -i 's/<mi-dialog-enhancer-steering-enable value="true"/<mi-dialog-enhancer-steering-enable value="false"/g' dax-default.xml
sed -i 's/<dialog-enhancer-enable value="true"/<dialog-enhancer-enable value="false"/g' dax-default.xml
sed -i 's/<mi-virtualizer-binaural-steering-enable value="true"/<mi-virtualizer-binaural-steering-enable value="false"/g' dax-default.xml
sed -i 's/<peak-value value=".*"/<peak-value value="256"/g' dax-default.xml
sed -i 's/<surround-decoder-enable value="true"/<surround-decoder-enable value="false"/g' dax-default.xml
sed -i 's/<hearing-protection-enable value="true"/<hearing-protection-enable value="false"/g' dax-default.xml
sed -i 's/<volume-leveler-enable value="true"/<volume-leveler-enable value="false"/g' dax-default.xml
sed -i 's/<height-filter-mode value=".*"/<height-filter-mode value="0"/g' dax-default.xml
sed -i 's/<volume-leveler-compressor-enable value="true"/<volume-leveler-compressor-enable value="false"/g' dax-default.xml
sed -i 's/<complex-equalizer-enable value="true"/<complex-equalizer-enable value="false"/g' dax-default.xml
sed -i 's/<regulator-enable value="true"/<volume-leveler-enable value="false"/g' dax-default.xml
sed -i 's/<regulator-speaker-dist-enable value="true"/<regulator-speaker-dist-enable value="false"/g' dax-default.xml
sed -i 's/<regulator-sibilance-suppress-enable value="true"/<regulator-sibilance-suppress-enable value="false"/g' dax-default.xml
sed -i 's/bass-mbdrc-enable value="true"/bass-mbdrc-enable value="false"/g' dax-default.xml
sed -i 's/threshold_low=".*" threshold_high=".*"/threshold_low="0" threshold_high="0"/g' dax-default.xml
sed -i 's/isolated_band="true"/isolated_band="false"/g' dax-default.xml
sed -i '/endpoint_type="headphone"/,/<\/tuning>/s/<audio-optimizer-enable value="true"/<audio-optimizer-enable value="false"/g' dax-default.xml
sed -i '/<output-mode>/,/<\/output-mode>/d' dax-default.xml
sed -i '/<mix_matrix>/,/<\/output-mode>/d' dax-default.xml

Change-Id: I7d699d38d602abda322b414bdd718857a0bbaaa8
2025-01-29 03:49:45 +05:30
Alcatraz323
23662b74ac dolby: Implement DSPVolumeSynchronizer
Some Xiaomi devices have a speaker that needs a framework to cooperate
with DSP to synchronize volume so that the DSP can limit bass when the
volume is high to prevent distortion.

Change-Id: I750803d94161e1e7482552d2a39566f42e82fc0a
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-01-23 04:50:45 +05:30
Pranav Vashi
65d7336949 dolby: Exempt installing package in clone or private space
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-01-08 06:13:35 +05:30
New Author Name
0befa6aa8c dolby: Update profiles overlay for moto dolby
Change-Id: Ided92625cb73f530656e86929b3ba70fea1e940d
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2024-12-27 19:30:37 +05:30
New Author Name
6d89341732 dolby: XiaomiDolby: Make bass enhancer available on speakers as well
Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
2024-12-26 15:22:45 +05:30
swiitchOFF
f5fb608d13 dolby: Feels better
[1]: cleanup and organize
[2]: using patched blobs from here 40faff25cd
2024-12-26 15:22:08 +05:30
swiitchOFF
6cc95d2a09 dolby: Update Credits 2024-12-09 22:12:54 +05:30
New Author Name
048d3bfbe3 dolby: Initialized Spatial Audio
Signed-off-by: userariii <abhattacharjee717@gmail.com>
Signed-off-by: swiitchOFF <120115258+swiitchOFF@users.noreply.github.com>
2024-12-06 12:32:59 +05:30
swiitchOFF
fac9089afd dolby: Sorry LDAC & LHDC
mistake beef2e28a1
2024-12-06 12:32:53 +05:30
swiitchOFF
724f607cb8 dolby: configs: Switch back to CN dax-default
[1]: Also Forcefully disable volume leveler
2024-12-03 05:39:47 +05:30
johnmart19
da758a7873 dolby: configs: Enable bass-enhancer for Headphones, Speakers, and "Other" devices
Original commit:
d6e99e9cd1

Change-Id: If32d0e1c2ddad5d8668c83bfbfcd04c36fa80552
Signed-off-by: someone5678 <nemui3353@gmail.com>
2024-11-25 19:20:34 +05:30
New Author Name
a54c599e2b dolby: configs: Forcefully disable volume leveler
sed -i "/volume-leveler-enable/ s/true/false/g" configs/audio/dax-default.xml

Change-Id: I7ceb29291a9e55036d57975f5a28a149c7fcb435
2024-11-25 17:31:31 +05:30
New Author Name
9c8b952778 dolby: Replace nuwa libs with Moto
* Also Kill nuwa Dolby spatial audio support
2024-11-25 17:31:09 +05:30
New Author Name
9bce0718c3 dolby: overlay: Add empty Dolby specific frameworks overlay 2024-11-24 13:52:15 +05:30
New Author Name
4401819065 dolby: Update readme 2024-11-22 01:05:46 +05:30
New Author Name
6fe60d867d dolby: Update from nuwa V14.0.9.0.UMBEUXM
* Also Import 32-bit blobs
2024-11-22 01:05:32 +05:30
Mudit200408
beef2e28a1 dolby: Add LDAC & LHDC codecs
* I know it's Placebo xD
2024-11-19 23:47:29 +05:30
Sarthak Roy
efb871f672 dolby: DolbyManager: Fix building in Android 15
Change-Id: Ie4e312bce0232c7a55ed2c29c8442f886f5aabd9
2024-11-09 19:24:26 +05:30
New Author Name
1f2bc3d255 dolby: Switch to XiaomiDolby
Based on hardware/xiaomi

History -
- Enable TARGET_USES_DOLBY
- Add intelligent equalizer setting
- Remove deprecated PlainTooltipBox
- Introduce graphical equalizer
- Add launcher icon
- fixup! Restore all settings upon bootup
- Override AudioFx
- Use all shared resources from devicesettings
- Fix build with kotlinc 1.9.0
- Restore current profile _after_ resetting profiles
- Do not set volume leveler amount
- Restore all settings upon bootup
- Rewrite in Kotlin
- Revert "Re-enable speaker virtualization after bootup"
- Convert to SwitchPreferenceCompat
- Migrate to CompoundButton.OnCheckedChangeListener
- Enable use_resource_processor for all sysui deps
- Introduce Dolby Atmos

Co-authored-by: Henrique Silva <jhenrique09.mcz@hotmail.com>
Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Co-authored-by: Fabian Leutenegger <fabian.leutenegger@bluewin.ch>
Co-authored-by: basamaryan <basam.aryan@gmail.com>
2024-10-28 13:33:07 +05:30
Abhay Singh Gill
7870b8a0c7 dolby: Remove owner from soong modules
* also kill OnePlus DaxUI

Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
2024-10-28 13:32:36 +05:30
New Author Name
6ad0f598e9 dolby: Add dolby volume listener 2024-10-24 18:41:42 +05:30
New Author Name
174e52ec51 dolby: Add support for Dolby spatial audio 2024-10-24 18:41:34 +05:30
New Author Name
881bb90ebe dolby: Build some libs for QPR3 2024-10-24 13:01:00 +05:30
swiitchOFF
3fa57e3935 dolby: update from MIUI CN 14 2024-10-24 13:00:54 +05:30
swiitchOFF
07b0a125fd dolby: Update readme 2024-03-16 18:58:29 +05:30
New Author Name
fe709e060d dolby: update dax-default from stock
* Extract From vili-user 13 TKQ1.220829.002 V14.0.16.0.TKDEUXM release-keys
2024-03-16 18:48:10 +05:30
Lunarixus
e96e8c76fd dolby: Add Remove Packages for Dolby Environment 2024-03-16 09:38:34 +05:30
Abhay Singh Gill
31843fb4e7 dolby: DaxUI: Fix clipped dialogue enhancer seekbar thumb 2024-03-16 01:33:37 +05:30
New Author Name
f167291caf dolby: Link dolby blobs against v33 libstagefright_foundation
* fixes crashes and absurdly high CPU usage while using dolby

Co-authored-by: Woomymy <woomy@woomy.be>
2024-03-16 01:32:39 +05:30
swiitchOFF
773b6cba9e dolby: Import vili blobs
* Extract From vili-user 13 TKQ1.220829.002 V14.0.16.0.TKDEUXM release-keys
2024-03-16 01:23:06 +05:30
swiitchOFF
04bec17707 dolby: cleanup for Re-Base 2024-03-16 01:12:21 +05:30
swiitchOFF
a952ccb07b dolby: oneplus>xiaomi 2024-03-15 14:06:50 +05:30
Abhay Singh Gill
d2d27807cc dolby: Add path variable 2024-03-15 14:02:46 +05:30
Abhay Singh Gill
667b4721be dolby: Update readme 2024-03-15 14:02:41 +05:30
Abhay Singh Gill
258557eec9 dolby: DaxUI: Add more switches
For:-
• volume leveler
• surround virtualizer
• bass enhancer

Signed-off-by: Abhay Singh Gill <abhaygill017@gmail.com>
2024-03-15 14:02:31 +05:30
46 changed files with 1476 additions and 969 deletions

View File

@@ -14,3 +14,349 @@
soong_namespace {
}
cc_prebuilt_library_shared {
name: "libdapparamstorage",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm: {
srcs: ["proprietary/vendor/lib/libdapparamstorage.so"],
shared_libs: ["libcutils", "libutils", "liblog", "libc++", "libc", "libm", "libdl", ],
},
android_arm64: {
srcs: ["proprietary/vendor/lib64/libdapparamstorage.so"],
shared_libs: ["libcutils", "libutils", "liblog", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "both",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libdlbpreg",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm: {
srcs: ["proprietary/vendor/lib/libdlbpreg.so"],
shared_libs: ["liblog", "libutils", "libcutils", "libaudioutils", "libstagefright_foundation-v33", "libc++", "libc", "libm", "libdl", ],
},
android_arm64: {
srcs: ["proprietary/vendor/lib64/libdlbpreg.so"],
shared_libs: ["liblog", "libutils", "libcutils", "libaudioutils", "libstagefright_foundation-v33", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "both",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "vendor.dolby.hardware.dms@2.0",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm: {
srcs: ["proprietary/vendor/lib/vendor.dolby.hardware.dms@2.0.so"],
shared_libs: ["libhidlbase", "liblog", "libutils", "libcutils", "libc++", "libc", "libm", "libdl", ],
},
android_arm64: {
srcs: ["proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0.so"],
shared_libs: ["libhidlbase", "liblog", "libutils", "libcutils", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "both",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libdlbdsservice",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm64: {
srcs: ["proprietary/vendor/lib64/libdlbdsservice.so"],
shared_libs: ["libutils", "libstagefright_foundation-v33", "liblog", "libxml2", "libcrypto", "libdapparamstorage", "libsqlite", "libhidlbase", "vendor.dolby.hardware.dms@2.0", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "64",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "liboem_specific",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm64: {
srcs: ["proprietary/vendor/lib64/liboem_specific.so"],
shared_libs: ["libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "64",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "vendor.dolby.hardware.dms@2.0-impl",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm64: {
srcs: ["proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so"],
shared_libs: ["libhidlbase", "libutils", "liblog", "libdapparamstorage", "libdlbdsservice", "vendor.dolby.hardware.dms@2.0", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "64",
prefer: true,
soc_specific: true,
}
cc_prebuilt_binary {
name: "vendor.dolby.hardware.dms@2.0-service",
owner: "xiaomi",
target: {
android_arm64: {
srcs: ["proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service"],
shared_libs: ["liblog", "libutils", "libhidlbase", "libdapparamstorage", "libdlbdsservice", "vendor.dolby.hardware.dms@2.0", "vendor.dolby.hardware.dms@2.0-impl", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "64",
strip: {
none: true,
},
prefer: true,
relative_install_path: "hw",
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libcodec2_soft_ac4dec",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm64: {
srcs: ["proprietary/vendor/lib64/libcodec2_soft_ac4dec.so"],
shared_libs: ["libhidlbase", "vendor.dolby.hardware.dms@2.0", "libdeccfg", "libstagefright_foundation-v33", "libcutils", "libbase", "liblog", "libcodec2", "libcodec2_vndk", "libutils", "libcodec2_soft_dolby", "libcodec2_store_dolby", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "64",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libcodec2_soft_ddpdec",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm64: {
srcs: ["proprietary/vendor/lib64/libcodec2_soft_ddpdec.so"],
shared_libs: ["libhidlbase", "vendor.dolby.hardware.dms@2.0", "libdeccfg", "libstagefright_foundation-v33", "libcutils", "libbase", "liblog", "libcodec2", "libcodec2_vndk", "libutils", "libcodec2_soft_dolby", "libcodec2_store_dolby", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "64",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libcodec2_soft_dolby",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm64: {
srcs: ["proprietary/vendor/lib64/libcodec2_soft_dolby.so"],
shared_libs: ["libbase", "libcodec2", "libcodec2_vndk", "libutils", "libcutils", "liblog", "libstagefright_foundation-v33", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "64",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libcodec2_store_dolby",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm64: {
srcs: ["proprietary/vendor/lib64/libcodec2_store_dolby.so"],
shared_libs: ["libbase", "liblog", "libcodec2", "libcodec2_vndk", "libutils", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "64",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libdeccfg",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm64: {
srcs: ["proprietary/vendor/lib64/libdeccfg.so"],
shared_libs: ["libhidlbase", "vendor.dolby.hardware.dms@2.0", "libdapparamstorage", "libcutils", "libutils", "liblog", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "64",
prefer: true,
soc_specific: true,
}
cc_prebuilt_binary {
name: "vendor.dolby.media.c2@1.0-service",
owner: "xiaomi",
target: {
android_arm64: {
srcs: ["proprietary/vendor/bin/hw/vendor.dolby.media.c2@1.0-service"],
shared_libs: ["libshim_dolby", "libbase", "liblog", "libcodec2", "libutils", "android.hardware.media.c2@1.0", "android.hardware.media.c2@1.1", "android.hardware.media.c2@1.2", "libcodec2_hidl@1.0", "libcodec2_hidl@1.1", "libcodec2_hidl@1.2", "libcodec2_vndk", "libhidlbase", "libavservices_minijail", "libbinder", "libcodec2_store_dolby", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "64",
strip: {
none: true,
},
prefer: true,
relative_install_path: "hw",
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libdlbvol",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm: {
srcs: ["proprietary/vendor/lib/soundfx/libdlbvol.so"],
shared_libs: ["liblog", "libutils", "libcutils", "libaudioutils", "libstagefright_foundation-v33", "libdlbpreg", "vendor.dolby.hardware.dms@2.0", "libc++", "libc", "libm", "libdl", ],
},
android_arm64: {
srcs: ["proprietary/vendor/lib64/soundfx/libdlbvol.so"],
shared_libs: ["liblog", "libutils", "libcutils", "libaudioutils", "libstagefright_foundation-v33", "libdlbpreg", "vendor.dolby.hardware.dms@2.0", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "both",
relative_install_path: "soundfx",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libswdap",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm: {
srcs: ["proprietary/vendor/lib/soundfx/libswdap.so"],
shared_libs: ["liblog", "libutils", "libcutils", "libaudioutils", "libdapparamstorage", "libhidlbase", "libstagefright_foundation-v33", "libdlbpreg", "vendor.dolby.hardware.dms@2.0", "libc++", "libc", "libm", "libdl", ],
},
android_arm64: {
srcs: ["proprietary/vendor/lib64/soundfx/libswdap.so"],
shared_libs: ["liblog", "libutils", "libcutils", "libaudioutils", "libdapparamstorage", "libhidlbase", "libstagefright_foundation-v33", "libdlbpreg", "vendor.dolby.hardware.dms@2.0", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "both",
relative_install_path: "soundfx",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libswgamedap",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm: {
srcs: ["proprietary/vendor/lib/soundfx/libswgamedap.so"],
shared_libs: ["liblog", "libutils", "libcutils", "libaudioutils", "libdapparamstorage", "libhidlbase", "vendor.dolby.hardware.dms@2.0", "libc++", "libc", "libm", "libdl", ],
},
android_arm64: {
srcs: ["proprietary/vendor/lib64/soundfx/libswgamedap.so"],
shared_libs: ["liblog", "libutils", "libcutils", "libaudioutils", "libdapparamstorage", "libhidlbase", "vendor.dolby.hardware.dms@2.0", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "both",
relative_install_path: "soundfx",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libswvqe",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm: {
srcs: ["proprietary/vendor/lib/soundfx/libswvqe.so"],
shared_libs: ["liblog", "libutils", "libcutils", "libaudioutils", "libdapparamstorage", "libhidlbase", "vendor.dolby.hardware.dms@2.0", "libc++", "libc", "libm", "libdl", ],
},
android_arm64: {
srcs: ["proprietary/vendor/lib64/soundfx/libswvqe.so"],
shared_libs: ["liblog", "libutils", "libcutils", "libaudioutils", "libdapparamstorage", "libhidlbase", "vendor.dolby.hardware.dms@2.0", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "both",
relative_install_path: "soundfx",
prefer: true,
soc_specific: true,
}
cc_prebuilt_library_shared {
name: "libspatialaudio",
owner: "xiaomi",
strip: {
none: true,
},
target: {
android_arm: {
srcs: ["proprietary/vendor/lib/soundfx/libspatialaudio.so"],
shared_libs: ["libaudioutils", "libcutils", "liblog", "libc++", "libc", "libm", "libdl", ],
},
android_arm64: {
srcs: ["proprietary/vendor/lib64/soundfx/libspatialaudio.so"],
shared_libs: ["libaudioutils", "libcutils", "liblog", "libc++", "libc", "libm", "libdl", ],
},
},
compile_multilib: "both",
relative_install_path: "soundfx",
prefer: true,
soc_specific: true,
}

View File

@@ -13,7 +13,8 @@
android:icon="@mipmap/ic_launcher"
android:allowBackup="false"
android:label="@string/dolby_title"
android:persistent="true">
android:persistent="true"
android:theme="@style/Theme.SubSettingsBase.Expressive">
<receiver
android:name=".BootCompletedReceiver"
@@ -26,7 +27,6 @@
<activity
android:name=".DolbyActivity"
android:label="@string/dolby_title"
android:theme="@style/Theme.SubSettingsBase"
android:exported="true">
<intent-filter>
<action android:name="com.android.settings.action.IA_SETTINGS" />
@@ -50,7 +50,6 @@
<activity
android:name=".geq.EqualizerActivity"
android:label="@string/dolby_preset"
android:theme="@style/Theme.SubSettingsBase"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

View File

@@ -16,7 +16,7 @@ class DolbyActivity : CollapsingToolbarBaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
fragmentManager.beginTransaction()
supportFragmentManager.beginTransaction()
.replace(com.android.settingslib.collapsingtoolbar.R.id.content_frame, DolbySettingsFragment(), TAG)
.commit()
}

View File

@@ -17,13 +17,13 @@ import android.widget.Toast
import androidx.preference.ListPreference
import androidx.preference.Preference
import androidx.preference.Preference.OnPreferenceChangeListener
import androidx.preference.PreferenceFragment
import androidx.preference.SwitchPreferenceCompat
import co.aospa.dolby.DolbyConstants.Companion.dlog
import co.aospa.dolby.R
import com.android.settingslib.widget.MainSwitchPreference
import com.android.settingslib.widget.SettingsBasePreferenceFragment
class DolbySettingsFragment : PreferenceFragment(),
class DolbySettingsFragment : SettingsBasePreferenceFragment(),
OnPreferenceChangeListener, CompoundButton.OnCheckedChangeListener {
private val switchBar by lazy {
@@ -57,8 +57,8 @@ class DolbySettingsFragment : PreferenceFragment(),
findPreference<Preference>(DolbyConstants.PREF_RESET)!!
}
private val dolbyController by lazy { DolbyController.getInstance(context) }
private val audioManager by lazy { context.getSystemService(AudioManager::class.java) }
private val dolbyController by lazy { DolbyController.getInstance(requireContext()) }
private val audioManager by lazy { requireContext().getSystemService(AudioManager::class.java) }
private val handler = Handler()
private var isOnSpeaker = true
@@ -83,13 +83,14 @@ class DolbySettingsFragment : PreferenceFragment(),
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
dlog(TAG, "onCreatePreferences")
addPreferencesFromResource(R.xml.dolby_settings)
val profile = dolbyController.profile
preferenceManager.preferenceDataStore = DolbyPreferenceStore(context).also {
preferenceManager.preferenceDataStore = DolbyPreferenceStore(requireContext()).also {
it.profile = profile
}
setPreferencesFromResource(R.xml.dolby_settings, rootKey)
val dsOn = dolbyController.dsOn
switchBar.addOnSwitchChangeListener(this)
switchBar.setChecked(dsOn)
@@ -101,7 +102,7 @@ class DolbySettingsFragment : PreferenceFragment(),
summary = "%s"
value = profile.toString()
} else {
summary = context.getString(R.string.dolby_unknown)
summary = getString(R.string.dolby_unknown)
}
}
@@ -116,8 +117,8 @@ class DolbySettingsFragment : PreferenceFragment(),
dolbyController.resetProfileSpecificSettings()
updateProfileSpecificPrefs()
Toast.makeText(
context,
context.getString(R.string.dolby_reset_profile_toast, profilePref.summary),
requireContext(),
getString(R.string.dolby_reset_profile_toast, profilePref.summary),
Toast.LENGTH_SHORT
).show()
true
@@ -191,8 +192,8 @@ class DolbySettingsFragment : PreferenceFragment(),
}
private fun updateProfileSpecificPrefs() {
val unknownRes = context.getString(R.string.dolby_unknown)
val headphoneRes = context.getString(R.string.dolby_connect_headphones)
val unknownRes = getString(R.string.dolby_unknown)
val headphoneRes = getString(R.string.dolby_connect_headphones)
val dsOn = dolbyController.dsOn
val currentProfile = dolbyController.profile

View File

@@ -6,21 +6,20 @@
package co.aospa.dolby.preference
import android.content.Context
import android.media.AudioAttributes
import android.media.AudioDeviceCallback
import android.media.AudioDeviceInfo
import android.media.AudioManager
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.view.View
import android.widget.CompoundButton
import android.widget.CompoundButton.OnCheckedChangeListener
import android.widget.Toast
import androidx.preference.ListPreference
import androidx.preference.Preference
import androidx.preference.Preference.OnPreferenceChangeListener
import androidx.preference.PreferenceFragment
import androidx.preference.SwitchPreferenceCompat
import co.aospa.dolby.DolbyConstants
import co.aospa.dolby.DolbyConstants.Companion.PREF_BASS
import co.aospa.dolby.DolbyConstants.Companion.PREF_DIALOGUE
import co.aospa.dolby.DolbyConstants.Companion.PREF_ENABLE
@@ -36,47 +35,33 @@ import co.aospa.dolby.DolbyConstants.Companion.dlog
import co.aospa.dolby.DolbyController
import co.aospa.dolby.R
import com.android.settingslib.widget.MainSwitchPreference
import com.android.settingslib.widget.SettingsBasePreferenceFragment
class DolbySettingsFragment : PreferenceFragment(),
OnPreferenceChangeListener, CompoundButton.OnCheckedChangeListener {
class DolbySettingsFragment : SettingsBasePreferenceFragment(),
Preference.OnPreferenceChangeListener, CompoundButton.OnCheckedChangeListener {
private val switchBar by lazy {
findPreference<MainSwitchPreference>(PREF_ENABLE)!!
}
private val profilePref by lazy {
findPreference<ListPreference>(PREF_PROFILE)!!
}
private val presetPref by lazy {
findPreference<Preference>(PREF_PRESET)!!
}
private val ieqPref by lazy {
findPreference<DolbyIeqPreference>(PREF_IEQ)!!
}
private val stereoPref by lazy {
findPreference<ListPreference>(PREF_STEREO)!!
}
private val dialoguePref by lazy {
findPreference<ListPreference>(PREF_DIALOGUE)!!
}
private val bassPref by lazy {
findPreference<SwitchPreferenceCompat>(PREF_BASS)!!
}
private val hpVirtPref by lazy {
findPreference<SwitchPreferenceCompat>(PREF_HP_VIRTUALIZER)!!
}
private val spkVirtPref by lazy {
findPreference<SwitchPreferenceCompat>(PREF_SPK_VIRTUALIZER)!!
}
private val volumePref by lazy {
findPreference<SwitchPreferenceCompat>(PREF_VOLUME)!!
}
private val resetPref by lazy {
findPreference<Preference>(PREF_RESET)!!
}
private val appContext: Context
get() = requireContext().applicationContext
private val dolbyController by lazy { DolbyController.getInstance(context) }
private val audioManager by lazy { context.getSystemService(AudioManager::class.java) }
private val handler = Handler()
private val switchBar by lazy { findPreference<MainSwitchPreference>(PREF_ENABLE)!! }
private val profilePref by lazy { findPreference<ListPreference>(PREF_PROFILE)!! }
private val presetPref by lazy { findPreference<Preference>(PREF_PRESET)!! }
private val ieqPref by lazy { findPreference<DolbyIeqPreference>(PREF_IEQ)!! }
private val stereoPref by lazy { findPreference<ListPreference>(PREF_STEREO)!! }
private val dialoguePref by lazy { findPreference<ListPreference>(PREF_DIALOGUE)!! }
private val bassPref by lazy { findPreference<SwitchPreferenceCompat>(PREF_BASS)!! }
private val hpVirtPref by lazy { findPreference<SwitchPreferenceCompat>(PREF_HP_VIRTUALIZER)!! }
private val spkVirtPref by lazy { findPreference<SwitchPreferenceCompat>(PREF_SPK_VIRTUALIZER)!! }
private val volumePref by lazy { findPreference<SwitchPreferenceCompat>(PREF_VOLUME)!! }
private val resetPref by lazy { findPreference<Preference>(PREF_RESET)!! }
private val dolbyController by lazy(LazyThreadSafetyMode.NONE) {
DolbyController.getInstance(appContext)
}
private val audioManager by lazy(LazyThreadSafetyMode.NONE) {
appContext.getSystemService(AudioManager::class.java)
}
private val handler = Handler(Looper.getMainLooper())
private var isOnSpeaker = true
set(value) {
@@ -100,26 +85,29 @@ class DolbySettingsFragment : PreferenceFragment(),
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
dlog(TAG, "onCreatePreferences")
addPreferencesFromResource(R.xml.dolby_settings)
setPreferencesFromResource(R.xml.dolby_settings, rootKey)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val profile = dolbyController.profile
preferenceManager.preferenceDataStore = DolbyPreferenceStore(context).also {
preferenceManager.preferenceDataStore = DolbyPreferenceStore(appContext).also {
it.profile = profile
}
val dsOn = dolbyController.dsOn
switchBar.addOnSwitchChangeListener(this)
switchBar.setChecked(dsOn)
switchBar.isChecked = dsOn
profilePref.onPreferenceChangeListener = this
updateProfileIcon(profile)
profilePref.setEnabled(dsOn)
profilePref.isEnabled = dsOn
profilePref.apply {
if (entryValues.contains(profile.toString())) {
summary = "%s"
value = profile.toString()
} else {
summary = context.getString(R.string.dolby_unknown)
summary = getString(R.string.dolby_unknown)
}
}
@@ -135,21 +123,21 @@ class DolbySettingsFragment : PreferenceFragment(),
dolbyController.resetProfileSpecificSettings()
updateProfileSpecificPrefs()
Toast.makeText(
context,
context.getString(R.string.dolby_reset_profile_toast, profilePref.summary),
appContext,
getString(R.string.dolby_reset_profile_toast, profilePref.summary),
Toast.LENGTH_SHORT
).show()
true
}
audioManager!!.registerAudioDeviceCallback(audioDeviceCallback, handler)
audioManager?.registerAudioDeviceCallback(audioDeviceCallback, handler)
updateSpeakerState()
updateProfileSpecificPrefs()
}
override fun onDestroyView() {
dlog(TAG, "onDestroyView")
audioManager!!.unregisterAudioDeviceCallback(audioDeviceCallback)
audioManager?.unregisterAudioDeviceCallback(audioDeviceCallback)
super.onDestroyView()
}
@@ -168,35 +156,13 @@ class DolbySettingsFragment : PreferenceFragment(),
updateProfileIcon(profile)
updateProfileSpecificPrefs()
}
PREF_SPK_VIRTUALIZER -> {
dolbyController.setSpeakerVirtEnabled(newValue as Boolean)
}
PREF_HP_VIRTUALIZER -> {
dolbyController.setHeadphoneVirtEnabled(newValue as Boolean)
}
PREF_STEREO -> {
dolbyController.setStereoWideningAmount(newValue.toString().toInt())
}
PREF_DIALOGUE -> {
dolbyController.setDialogueEnhancerAmount(newValue.toString().toInt())
}
PREF_BASS -> {
dolbyController.setBassEnhancerEnabled(newValue as Boolean)
}
PREF_VOLUME -> {
dolbyController.setVolumeLevelerEnabled(newValue as Boolean)
}
PREF_IEQ -> {
dolbyController.setIeqPreset(newValue.toString().toInt())
}
PREF_SPK_VIRTUALIZER -> dolbyController.setSpeakerVirtEnabled(newValue as Boolean)
PREF_HP_VIRTUALIZER -> dolbyController.setHeadphoneVirtEnabled(newValue as Boolean)
PREF_STEREO -> dolbyController.setStereoWideningAmount(newValue.toString().toInt())
PREF_DIALOGUE -> dolbyController.setDialogueEnhancerAmount(newValue.toString().toInt())
PREF_BASS -> dolbyController.setBassEnhancerEnabled(newValue as Boolean)
PREF_VOLUME -> dolbyController.setVolumeLevelerEnabled(newValue as Boolean)
PREF_IEQ -> dolbyController.setIeqPreset(newValue.toString().toInt())
else -> return false
}
return true
@@ -205,18 +171,21 @@ class DolbySettingsFragment : PreferenceFragment(),
override fun onCheckedChanged(buttonView: CompoundButton, isChecked: Boolean) {
dlog(TAG, "onCheckedChanged($isChecked)")
dolbyController.dsOn = isChecked
profilePref.setEnabled(isChecked)
profilePref.isEnabled = isChecked
updateProfileSpecificPrefs()
}
private fun updateSpeakerState() {
val device = audioManager!!.getDevicesForAttributes(ATTRIBUTES_MEDIA)[0]
isOnSpeaker = (device.type == AudioDeviceInfo.TYPE_BUILTIN_SPEAKER)
val devices = audioManager
?.getDevicesForAttributes(ATTRIBUTES_MEDIA)
.orEmpty()
val firstType = devices.firstOrNull()?.type
isOnSpeaker = (firstType == AudioDeviceInfo.TYPE_BUILTIN_SPEAKER)
}
private fun updateProfileSpecificPrefs() {
val unknownRes = context.getString(R.string.dolby_unknown)
val headphoneRes = context.getString(R.string.dolby_connect_headphones)
val unknownRes = getString(R.string.dolby_unknown)
val headphoneRes = getString(R.string.dolby_connect_headphones)
val dsOn = dolbyController.dsOn
val currentProfile = dolbyController.profile
@@ -226,15 +195,15 @@ class DolbySettingsFragment : PreferenceFragment(),
)
val enable = dsOn && (currentProfile != -1)
presetPref.setEnabled(enable)
spkVirtPref.setEnabled(enable)
ieqPref.setEnabled(enable)
dialoguePref.setEnabled(enable)
volumePref.setEnabled(enable)
bassPref.setEnabled(enable)
resetPref.setEnabled(enable)
hpVirtPref.setEnabled(enable && !isOnSpeaker)
stereoPref.setEnabled(enable && !isOnSpeaker)
presetPref.isEnabled = enable
spkVirtPref.isEnabled = enable
ieqPref.isEnabled = enable
dialoguePref.isEnabled = enable
volumePref.isEnabled = enable
bassPref.isEnabled = enable
resetPref.isEnabled = enable
hpVirtPref.isEnabled = enable && !isOnSpeaker
stereoPref.isEnabled = enable && !isOnSpeaker
if (!enable) return
@@ -260,9 +229,9 @@ class DolbySettingsFragment : PreferenceFragment(),
}
}
spkVirtPref.setChecked(dolbyController.getSpeakerVirtEnabled(currentProfile))
volumePref.setChecked(dolbyController.getVolumeLevelerEnabled(currentProfile))
bassPref.setChecked(dolbyController.getBassEnhancerEnabled(currentProfile))
spkVirtPref.isChecked = dolbyController.getSpeakerVirtEnabled(currentProfile)
volumePref.isChecked = dolbyController.getVolumeLevelerEnabled(currentProfile)
bassPref.isChecked = dolbyController.getBassEnhancerEnabled(currentProfile)
// below prefs are not enabled on loudspeaker
if (isOnSpeaker) {
@@ -282,7 +251,7 @@ class DolbySettingsFragment : PreferenceFragment(),
}
hpVirtPref.apply {
setChecked(dolbyController.getHeadphoneVirtEnabled(currentProfile))
isChecked = dolbyController.getHeadphoneVirtEnabled(currentProfile)
summary = null
}
}

View File

@@ -3,7 +3,7 @@ Sony Dolby
Getting Started
---------------
For dolby media codecs to work add this line in your media codecs config (should be in vendor partition) and make sure your device supports c2 codecs. :-
For dolby media codecs to work add this line in your media codecs config (should be in vendor partition) :-
```bash
<Include href="media_codecs_dolby_audio.xml" />
@@ -42,4 +42,20 @@ DEVICE_MANIFEST_FILE +=
The only change done above is changing := symbol to += so that manifest can't be overriden from device tree in BoardConfig makefile.
At the end an example commit to properly implement it in your device tree could be :-
https://github.com/Neoteric-OS/device_nothing_Pong/commit/cefa46567c04770e492351e51dd96cfae80e34fb
[**1**] https://github.com/Spanish-or-Vanish/android_device_xiaomi_sm8350-common/commit/8ece9a976087ed03f1adb447d0ac2a3f5f1a0d3c
[**2**] https://github.com/Spanish-or-Vanish/android_device_xiaomi_sm8350-common/commit/f5abe4a589d54d8363b0f3458e09e3c069cf6384
#### Tip pick anyone for Reference:
https://dumps.tadiphone.dev/dumps/xiaomi/vili/-/blob/missi_phone_global-user-14-UKQ1.231207.002-V816.0.5.0.UKDMIXM-release-keys/aosp-device-tree/proprietary-files.txt#L2072
https://github.com/Spanish-or-Vanish/android_device_xiaomi_sm8350-common/commit/6a8f6aae347f9f864f17f2dfa5d541f83ab5b170
https://github.com/Spanish-or-Vanish/android_device_xiaomi_sm8350-common/commit/5c593cbd2c19d571b7e62ea4bd6b8c864a4e1d9e
# Credits:
* [**HELLBOY017**](https://github.com/HELLBOY017)
* [**adithya2306**](https://github.com/adithya2306)
* [**johnmart19**](https://github.com/johnmart19)
* [**userariii**](https://github.com/userariii)
* [**saku-bruh**](https://github.com/saku-bruh)
* [**ahnet-69 · he/him**](https://github.com/ahnet-69)

View File

@@ -0,0 +1,10 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := RemovePackagesDolby
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_TAGS := optional
LOCAL_OVERRIDES_PACKAGES += Music MusicFX AudioFX
LOCAL_UNINSTALLABLE_MODULE := true
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := /dev/null
include $(BUILD_PREBUILT)

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Feature for devices with a head tracker sensor. -->
<permissions>
<feature name="android.hardware.sensor.dynamic.head_tracker" />
</permissions>

File diff suppressed because it is too large Load Diff

View File

@@ -1,30 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 The Android Open Source Project
<!--
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
This file was modified by Dolby Laboratories, Inc. The portions of the
code that are surrounded by "DOLBY..." are copyrighted and
licensed separately, as follows:
(C) 2018 Dolby Laboratories, Inc.
All rights reserved.
This program is protected under international and U.S. Copyright laws as
This program is protected under international and U.S. copyright laws as
an unpublished work. This program is confidential and proprietary to the
copyright owners. Reproduction or disclosure, in whole or in part, or the
production of derivative works therefrom without the express permission of
the copyright owners is prohibited.
Copyright (C) 2020-2021 by Dolby Laboratories,
All rights reserved.
-->
<Included>
@@ -51,5 +35,13 @@
</Type>
</MediaCodec>
<!-- DOLBY_UDC END -->
<!-- DOLBY_AC4 -->
<MediaCodec name="c2.dolby.ac4.decoder" type="audio/ac4">
<Alias name="OMX.dolby.ac4.decoder" />
<Limit name="channel-count" max="16" />
<Limit name="sample-rate" ranges="48000" />
<Limit name="bitrate" range="16000-2688000" />
</MediaCodec>
<!-- DOLBY_AC4 END -->
</Decoders>
</Included>

129
dolby.mk
View File

@@ -21,63 +21,110 @@ DOLBY_PATH := hardware/dolby
PRODUCT_SOONG_NAMESPACES += \
$(DOLBY_PATH)
# Build codec2 packages
PRODUCT_PACKAGES += \
libavservices_minijail.vendor \
libcodec2_hidl@1.2.vendor \
libcodec2_soft_common.vendor
# Enable codec support
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := true
# SEPolicy
BOARD_VENDOR_SEPOLICY_DIRS += $(DOLBY_PATH)/sepolicy/vendor
# HIDL
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DOLBY_PATH)/configs/vintf/dolby_framework_matrix.xml
DEVICE_MANIFEST_FILE += \
$(DOLBY_PATH)/configs/vintf/vendor.dolby.hardware.dms@2.0-service.xml \
$(DOLBY_PATH)/configs/vintf/vendor.dolby.media.c2@1.0-service.xml
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DOLBY_PATH)/dolby_framework_matrix.xml
DEVICE_MANIFEST_FILE += $(DOLBY_PATH)/vendor.dolby.hardware.dms@2.0-service.xml
DEVICE_MANIFEST_FILE += $(DOLBY_PATH)/vendor.dolby.media.c2.xml
# Configs
PRODUCT_COPY_FILES += \
$(DOLBY_PATH)/configs/dax/dax-default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/dolby/dax-default.xml \
$(DOLBY_PATH)/configs/media/media_codecs_dolby_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_dolby_audio.xml
$(DOLBY_PATH)/configs/dax-default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/dolby/dax-default.xml \
$(DOLBY_PATH)/configs/media_codecs_dolby_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_dolby_audio.xml
# Dolby VNDK libs
PRODUCT_COPY_FILES += \
prebuilts/vndk/v33/arm/arch-arm-armv7-a-neon/shared/vndk-core/libstagefright_foundation.so:$(TARGET_COPY_OUT_VENDOR)/lib/libstagefright_foundation-v33.so \
prebuilts/vndk/v33/arm64/arch-arm64-armv8-a/shared/vndk-core/libstagefright_foundation.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libstagefright_foundation-v33.so
PRODUCT_PACKAGES += \
libstagefright_foundation-v33
# Dolby
PRODUCT_PACKAGES += \
libshim_dolby
# Init
PRODUCT_PACKAGES += \
init.dolby.rc
# Overlays
PRODUCT_PACKAGES += \
DolbyFrameworksResCommon
# Spatial Audio
PRODUCT_COPY_FILES += \
$(DOLBY_PATH)/configs/android.hardware.sensor.dynamic.head_tracker.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.dynamic.head_tracker.xml \
# Spatial Audio: optimize spatializer effect
PRODUCT_PROPERTY_OVERRIDES += \
audio.spatializer.effect.util_clamp_min=300
# Spatial Audio: declare use of spatial audio
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_enabled=true \
ro.audio.headtracking_enabled=true \
ro.audio.spatializer_transaural_enabled_default=false \
persist.vendor.audio.spatializer.speaker_enabled=true \
# Spatial Audio Proprietary blobs
PRODUCT_PACKAGES += \
libspatialaudio
# Media (C2)
PRODUCT_PACKAGES += \
android.hardware.media.c2@1.0.vendor \
android.hardware.media.c2@1.1.vendor \
android.hardware.media.c2@1.2.vendor \
libcodec2_hidl@1.2.vendor \
libsfplugin_ccodec_utils.vendor \
libcodec2_soft_common.vendor
# Codec2 Props
PRODUCT_VENDOR_PROPERTIES += \
ro.vendor.dolby.dax.version=DAX3_3.7.0.8_r1
vendor.audio.c2.preferred=true \
debug.c2.use_dmabufheaps=1 \
vendor.qc2audio.suspend.enabled=true \
vendor.qc2audio.per_frame.flac.dec.enabled=true
# Dolby Props
PRODUCT_VENDOR_PROPERTIES += \
ro.vendor.dolby.dax.version=DAX3_3.7.0.8_r1 \
vendor.audio.dolby.ds2.hardbypass=false \
vendor.audio.dolby.ds2.enabled=false
# Remove Packages for Dolby Support
PRODUCT_PACKAGES += \
RemovePackagesDolby
# DolbyManager
PRODUCT_PACKAGES += \
DolbyManager
# Proprietary-files
# Dolby Proprietary blobs
PRODUCT_COPY_FILES += \
$(DOLBY_PATH)/proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.dolby.hardware.dms@2.0-service \
$(DOLBY_PATH)/proprietary/vendor/bin/hw/vendor.dolby.media.c2@1.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.dolby.media.c2@1.0-service \
$(DOLBY_PATH)/proprietary/vendor/etc/init/vendor.dolby.hardware.dms@2.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.dolby.hardware.dms@2.0-service.rc \
# Codec2 (Dolby)
PRODUCT_COPY_FILES += \
$(DOLBY_PATH)/proprietary/vendor/etc/init/vendor.dolby.media.c2@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.dolby.media.c2@1.0-service.rc \
$(DOLBY_PATH)/proprietary/vendor/lib/libdapparamstorage.so:$(TARGET_COPY_OUT_VENDOR)/lib/libdapparamstorage.so \
$(DOLBY_PATH)/proprietary/vendor/lib/libdlbpreg.so:$(TARGET_COPY_OUT_VENDOR)/lib/libdlbpreg.so \
$(DOLBY_PATH)/proprietary/vendor/lib/soundfx/libdlbvol.so:$(TARGET_COPY_OUT_VENDOR)/lib/soundfx/libdlbvol.so \
$(DOLBY_PATH)/proprietary/vendor/lib/soundfx/libswdap.so:$(TARGET_COPY_OUT_VENDOR)/lib/soundfx/libswdap.so \
$(DOLBY_PATH)/proprietary/vendor/lib/soundfx/libswgamedap.so:$(TARGET_COPY_OUT_VENDOR)/lib/soundfx/libswgamedap.so \
$(DOLBY_PATH)/proprietary/vendor/lib/soundfx/libswvqe.so:$(TARGET_COPY_OUT_VENDOR)/lib/soundfx/libswvqe.so \
$(DOLBY_PATH)/proprietary/vendor/lib/vendor.dolby.hardware.dms@2.0.so:$(TARGET_COPY_OUT_VENDOR)/lib/vendor.dolby.hardware.dms@2.0.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/libcodec2_soft_ac4dec.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libcodec2_soft_ac4dec.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/libcodec2_soft_ddpdec.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libcodec2_soft_ddpdec.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/libcodec2_soft_dolby.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libcodec2_soft_dolby.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/libcodec2_store_dolby.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libcodec2_store_dolby.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/libdapparamstorage.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdapparamstorage.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/libdeccfg.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdeccfg.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/libdlbdsservice.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdlbdsservice.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/libdlbpreg.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdlbpreg.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/soundfx/libdlbvol.so:$(TARGET_COPY_OUT_VENDOR)/lib64/soundfx/libdlbvol.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/soundfx/libswdap.so:$(TARGET_COPY_OUT_VENDOR)/lib64/soundfx/libswdap.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/soundfx/libswgamedap.so:$(TARGET_COPY_OUT_VENDOR)/lib64/soundfx/libswgamedap.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/soundfx/libswvqe.so:$(TARGET_COPY_OUT_VENDOR)/lib64/soundfx/libswvqe.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so:$(TARGET_COPY_OUT_VENDOR)/lib64/vendor.dolby.hardware.dms@2.0-impl.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0.so:$(TARGET_COPY_OUT_VENDOR)/lib64/vendor.dolby.hardware.dms@2.0.so
PRODUCT_PACKAGES += \
libdapparamstorage \
libdlbpreg \
vendor.dolby.hardware.dms@2.0 \
libdlbdsservice \
liboem_specific \
vendor.dolby.hardware.dms@2.0-impl \
vendor.dolby.hardware.dms@2.0-service \
libcodec2_soft_ac4dec \
libcodec2_soft_ddpdec \
libcodec2_soft_dolby \
libcodec2_store_dolby \
libdeccfg \
vendor.dolby.media.c2@1.0-service \
libdlbvol \
libswdap \
libswgamedap \
libswvqe \

View File

@@ -12,7 +12,6 @@
<version>1.0</version>
<interface>
<name>IComponentStore</name>
<instance>dolby</instance>
<instance>default1</instance>
</interface>
</hal>

17
libshims/Android.bp Normal file
View File

@@ -0,0 +1,17 @@
//
// Copyright (C) 2023 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
cc_library_shared {
name: "libshim_dolby",
srcs: ["libshim_dolby.cpp"],
compile_multilib: "64",
shared_libs: [
"liblog",
"libdl",
"libc",
],
vendor: true,
}

View File

@@ -0,0 +1,27 @@
//
// SPDX-FileCopyrightText: The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
#include <log/log.h>
#include <dlfcn.h>
extern "C" void _ZNK7android7RefBase9incStrongEPKv(void* thisptr, const void* id) {
if (!thisptr) {
ALOGE("DolbyShim: incStrong called on nullptr!");
return;
}
typedef void (*RealFunc)(void*, const void*);
static RealFunc real = (RealFunc)dlsym(RTLD_NEXT, "_ZNK7android7RefBase9incStrongEPKv");
if (real) real(thisptr, id);
}
extern "C" void _ZNK7android7RefBase9decStrongEPKv(void* thisptr, const void* id) {
if (!thisptr) {
ALOGE("DolbyShim: decStrong called on nullptr!");
return;
}
typedef void (*RealFunc)(void*, const void*);
static RealFunc real = (RealFunc)dlsym(RTLD_NEXT, "_ZNK7android7RefBase9decStrongEPKv");
if (real) real(thisptr, id);
}

View File

@@ -0,0 +1,4 @@
runtime_resource_overlay {
name: "DolbyFrameworksResCommon",
product_specific: true,
}

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.overlay.dolby">
<overlay
android:isStatic="true"
android:priority="300"
android:targetPackage="android" />
</manifest>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- The default value for whether head tracking for
spatial audio is enabled for a newly connected audio device -->
<bool name="config_spatial_audio_head_tracking_enabled_default">true</bool>
</resources>

0
proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service vendored Executable file → Normal file
View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

6
rootdir/etc/Android.bp Normal file
View File

@@ -0,0 +1,6 @@
prebuilt_etc {
name: "init.dolby.rc",
src: "init.dolby.rc",
sub_dir: "init",
soc_specific: true
}

View File

@@ -0,0 +1,4 @@
on early-boot
# Dolby
mkdir /data/vendor/dolby 0770 media media
mkdir /data/vendor/multimedia 0775 system system

View File

@@ -1 +0,0 @@
hal_client_domain(audioserver, hal_dms)

View File

@@ -1,8 +1,6 @@
# Data files
/data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0
# Dolby Files
/data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0
# Dolby
/vendor/bin/hw/vendor\.dolby\.hardware\.dms@2\.0-service u:object_r:hal_dms_default_exec:s0
# Dolby Vision
/vendor/bin/hw/vendor\.dolby\.media\.c2@1\.0-service u:object_r:mediacodec_exec:s0
/(system/vendor|vendor)/bin/hw/vendor\.dolby\.media\.c2@1\.0-service u:object_r:mediacodec_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.dolby\.hardware\.dms@2\.0-service u:object_r:hal_dms_default_exec:s0

View File

@@ -1,2 +1,4 @@
allow hal_audio_default hal_dms_hwservice:hwservice_manager find;
binder_call(hal_audio_default, hal_dms_default)
hal_client_domain(hal_audio_default, hal_dms)

View File

@@ -1,19 +1,11 @@
type hal_dms_default, domain;
hal_server_domain(hal_dms_default, hal_dms)
type hal_dms_default_exec, exec_type, file_type, vendor_file_type;
allow hal_dms_default hal_dms_default_exec:file { read getattr map execute open entrypoint };
type hal_dms_default_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(hal_dms_default)
allow hal_dms_default vendor_audio_prop:property_service set;
allow hal_dms_default vendor_audio_prop:file { read open getattr map };
allow hal_dms_default vendor_data_file:file { rw_file_perms create unlink };
allow hal_dms_default vendor_data_file:dir { rw_file_perms add_name remove_name };
allow hal_dms_default property_socket:sock_file write;
allow hal_dms_default init:unix_stream_socket connectto;
allow hal_dms_default mediacodec:binder call;
binder_call(hal_dms_default, hal_audio_default)
binder_call(hal_dms_default, platform_app)

View File

@@ -1,2 +0,0 @@
# dms
allow init hal_dms_default:process { siginh rlimitinh transition };

View File

@@ -1,2 +1,3 @@
allow mediacodec hal_dms_hwservice:hwservice_manager find;
binder_call(mediacodec, hal_dms_default)
hal_client_domain(mediacodec, hal_dms)

View File

@@ -1,2 +1,4 @@
allow platform_app hal_dms_hwservice:hwservice_manager find;
binder_call(platform_app, hal_dms_default)
get_prop(platform_app, audio_config_prop)
hal_client_domain(platform_app, hal_dms)

3
sepolicy/vendor/priv_app.te vendored Normal file
View File

@@ -0,0 +1,3 @@
# Dolby
allow priv_app hal_dms_hwservice:hwservice_manager find;
binder_call(priv_app, hal_dms_default)