Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit fa2944d9 authored by Yong Zhang's avatar Yong Zhang Committed by Wink Saville
Browse files

Replace loop-delay in setPowerStateToDesired() with async approach

Issues to be addressed:
The method setPowerStateToDesired() in CdmaServiceStateTracker class sends
a msg to CdmaDataConnectionTracker class to deactive data call, and then starts
a loop which calls SystemClock.sleep() to wait for several seconds.The purpose
of this is to wait for data-disconnection before sending RADIO_POWER off request.
However, the CdmaServiceStateTracker and CdmaDataConnectionTracker are running in
the same process so that the CdmaDataConnectionTracker is not able to process the
message to deactive data before the loop ends.

The patch includes the following changes:
1) In setPowerStateToDesired() in CdmaServiceStateTracker, replace implementation
   of loop-delay by sending a delayed msg to set RADIO_POWER off.

2) In CdmaDataConnectionTracker, when getting EVENT_DISCONNECT_DONE, call a new
   method in CdmaServiceStateTracker to process pending request to turn RADIO_POWER
   off.
parent e6a9bcb7
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment