diff options
author | xiaowang <xiaowang@codeaurora.org> | 2020-09-11 11:02:27 +0800 |
---|---|---|
committer | xiaoyang wang <xiaowang@codeaurora.org> | 2020-09-25 09:09:24 +0000 |
commit | 4855bc8639422ada472ed94712f3acb87ca029c9 (patch) | |
tree | 911b1df1136c675f8144c85df315d6dd4c1b4232 /rs/java/android/renderscript/ProgramStore.java | |
parent | 1e24903fd72058f93615bf3ff5733e5bdbdc9950 (diff) |
BT: Process BT enable and disable messages in order.
Issue:
When switch airplane mode on/off quickly and repeatedly,
finally the BT state may be incorrect.
Issue Reproduce:
Precondition:
BT is ON
Steps:
1. Turn on airplane mode
2. Turn off airplane mode
3. Quickly and repeatedly above step1 and step2
Observed Result:
BT state is ON after step2 or OFF after step3.
Expected Result:
BT state is OFF when airplane mode is ON.
State is ON when airplane mode is OFF.
Root Cause:
Currently MESSAGE_ENABLE and MESSAGE_DISABLE are handled serially.
But they might be delayed to handle depends on current BT state and
delayed messages: MESSAGE_HANDLE_DISABLE_DELAYED, MESSAGE_HANDLE_ENABLE_DELAYED.
There could be chance for them to get processed ouf of order and finally lead to incorrect BT state.
Fix:
1. Send enable or disable messages regardless of BT state when airplane mode off or on.
2. Keep at most one enable or disable message in message queue
3. Ensure enable and disable messages are handled orderly according to
the order when enterning the queue.
4. The change also fix issue: BT can't open after network reset.
Change-Id: Ifc56f8510512a5ecc9806c0d07be05f95649352a
CRs-Fixed: 2763994
Diffstat (limited to 'rs/java/android/renderscript/ProgramStore.java')
0 files changed, 0 insertions, 0 deletions