The problem is that the code in AudioPolicyManagerBase::checkAndSetVolume() that forces
voice volume to max when setting bluetooth SCO volume is not called if the bluetooth stream
volume did not actually change. So even if we re apply volumes when switching to bluetooth
device, the volume voice volume is not changed and remains what it was when routed to earpiece
What makes things worse on Passion is that stream volumes are limited when connected to bluetooth
and their actual value does not change as soon as they exceed the limit threshold.
Change-Id: Id7c317db45b392a1c20dca2859678e3c64a371ed
In some situations, the supplicant stays in a DORMANT
state. This prevents a connections to a network.
As long as the driver is started and we are not in scan-only
mode, issue a reconnect to get supplicant out of DORMANT
state.
Upon failures and network disable, supplicant should get
into an INACTIVE state.
Bug: 3236920
Change-Id: If32b5bfb7fea6c69c4a461db0b2012875b6273b5
Be compatible with the old DownloadProvider behavior of being able to
operate on content URIs returned from .insert()
Bug: 3242328
Change-Id: I7dad15ac0fefa867c3c8a33a579fc9899ac80262
For bug #3164802.
CallManager allow a new phone call only if ALL of the following are true:
- Phone is not powered off
- There's no incoming or waiting call
- There's available call slot in either foreground or background
- The foreground call is ACTIVE or IDLE or DISCONNECTED.
Change-Id: I0124d600fd8c63b8c608301f3889b3faec47f1db
There is a bug in the way audio policy manager handles A2DP interface suspend/restore
when SCO is used. This bug is not new but has been triggered by a change in the timing
of the events received by audio policy manager when a call is setup and torn down
introduced by commit 164a8f86c7e48992691368c4895709c3bdb835a4.
The fix consists in grouping the control of A2DP suspended state in a single function
that is called systematically when conditions affecting this state are changed:
- call state change
- device connection/disconnection
- change in forced usage.
Change-Id: I46ee2399ee5547b60511fc6cfd32e2720091b0f8
+ Also fix race between ending and changing (holding/unholding) a SIP call.
+ Remove an unused method.
Bug : 3128233
Change-Id: Ie18d8333a88f0d9906d54988243d909b58e07e4b
The worksource reporting gets blocked by the
statetracker lock which can cause system restarts when
done from broadcastreceiver thread
Bug: 3153787
Change-Id: Ie70687e7453a1c3618bac1424562be44762b2c9d
whether a physical sensor needed to be active or not was managed by
a simpe reference counter; unfortunatelly nothing prevented it to
get out of sync if a sensor was disabled more than once.
sensorservice already maintainted a list of all the "clients"
connected to a physical sensor; we now use that list to determine if
a sensor should be enabled. This can never be "out-of-sync" since
this is the only data structure linking a sensor to a user of that
sensor.
also removed the isEnabled() method, which was never used and
implemented wrongly (since it didn't take into account that a sensor
could be disabled for a client but not of another).
Change-Id: I789affb877728ca957e99f7ba749def37c4db1c7
Most accelerometers have 8-bits accuracy so we beed to
reject 48dB in thestop-band, which requires a 4-th order
filter at the cut-off frequency we're using.
Change-Id: Ic00421d38d751641f86b1f3ad7663e6b44a91198
- upadte documentation for rotation vector
- update method dealing with rotation vector to deal with 4 components
- virtual rotation-vector sensor reports all four components
- improve SensorManager documentation layout
Whent he 4-th component of the rotation-vector is present, we can save
a square-root when computing the quaternion or rotation matrix from it.
Change-Id: Ia84d278dd5f0909fab1c5ba050f8df2679e2c7c8