On some devices, certain input and output mixer controls share the same
endpoint, which means that if an input stream is disabled (and the mixer
is updated), that shared endpoint may be disabled as well.
This would result in no audio, because no one is aware that the output
stream in fact does still need the shared endpoint to be enabled.
We prevent this by enabling the output mixers after disabling input mixers,
if any.
Change-Id: I4d80fcd0648a11099f27177da3cd29095b6a8c34
(cherry picked from commit 507e8ce5bffb36fae8b1cd4e5498fa19a6273ee6)
Parses a DTBH image and outputs the information needed
for samsung_dtb.h and dumps all DTBs contained in the file.
Change-Id: Ia724f25c3b33423baeefec85c9b0d42967fce6f2
(cherry picked from commit 25b3f58c5bb9e9cfd2f0282047a2ea13141496cc)
OUI a0:c9:a0 was observed on hero devices bought in December 2017
Change-Id: I0a2404780b1b5b017bb89468d235a2174a245989
(cherry picked from commit 939c81d0e0581a08b896636ce0f1d5bb96946dc9)
Another herolte user observed OUI 8c:45:00
Change-Id: I7eaf4fef29c6dbc6a962de0ff745c9703f65fcfc
(cherry picked from commit 70d3e3166f748e96f72c1c96aa2971f4981e9981)
This should now support both old and new headsets,
as we rely on codec negotiation in the bluetooth
stack for narrow/wide band switching.
Change-Id: Ie9d308dfc55726fd1591a7d158f610bd267340e6
(cherry picked from commit d462f7b86e957f858959ef5d80fd1744689ee6ea)
Previously, we would only end the voice call once the next output
stream happened (and parameters would be set).
Change-Id: Id0d2711605e57ad69d9b26b36afb562444349358
(cherry picked from commit 5169e86c10b7429b01d6ab0500a0509141dcbfe1)
The whole code block was no-op, since we would override
(in|out)_snd_device at a later point anyways.
Change-Id: Ieb2b0918c9c72f18d195d6b34b5c9768fce130b3
(cherry picked from commit f33a728b205f7656ca6211a07e3dd69c623b75ca)
* Apply the default Oreo theme and inherit the layouts from Google
for the Settings app, in order to keep UI consistency.
* Get rid of SettingsDrawerActivity as it no longer fits in.
* Add required appcompat and preference support libraries.
* Integrate into display settings category using IA.
Change-Id: I8438e0ebec27085df2be4668f8f7170d2010fb20
* Only macloader should ever write to this, but others (e.g,
libbt-vendor.so) read from it. 0644 is more than enough.
Change-Id: I3d2fb3dfec1ba81c9c382ed18c93114e641df4a0
Samsung does this in the macloader service,
but this is the more appropriate place for
our platform.
Change-Id: I6335fea1d73d48f3c3f9938f33b536c5cda52acb
if a kernel device returns an I/O error, it is better not to chew
the CPU resources retrying I/O operation on a not ready device.
Fixes periodical 100%-core load in audioserver after a voice call
completion.
Change-Id: I2b66ffd18c85823a11e50598a6b4e3c0245a0083
The all_ranges structure has one entry less than MAX_TYPES because
semcove type is not defined there, but there's no check for NULL and if
the mac isn't found it segfaults.
Change-Id: Ie218ea0a82b03992085db0f2d1cfc7079e7415a0
On some devices, like SM-T805 (Galaxy Tab S 10.5 LTE), the RIL client
code produces errors "SendOemRequestHookRaw: No token" due to large
amount of tokens allocated by OEM messages requiring no response from
RIL daemon (like set call audio path, set call volume, set mite etc).
The indicator of an OEM message with no response expected is:
RegisterRequestCompleteHandler(client, REQ_XXX, NULL);
inside the RIL client message method. To prevent the token pool from
overflows, the proposed patch de-registers the token and frees its call
history if the handler for this message req_id is set to NULL.
Change-Id: Id414263bf471115797cae1a9ed628249734b9347