A hack that when restartRadio is called the CdmaDataConnectionTracker
to retry a connection and possibly reconnect after a temporary data loss. The root cause appears to be because DEACTIVATE and POWER_RADIO_OFF are sent back to back and POWER_RADIO_OFF completes before DEACTIVATE. When this happens CdmaDataConnectionTracker won't attempt to reestablish a data connection until a voice call terminates. At this time it appears the better solution is have CdmaDataConnectionTracker wait for DEACTIVATE to complete before issuing POWER_RADIO_OFF, this fix will be implemented in the near future.
This commit is contained in:
@ -498,7 +498,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
|
|||||||
|
|
||||||
protected void restartRadio() {
|
protected void restartRadio() {
|
||||||
Log.d(LOG_TAG, "************TURN OFF RADIO**************");
|
Log.d(LOG_TAG, "************TURN OFF RADIO**************");
|
||||||
cleanUpConnection(true, Phone.REASON_RADIO_TURNED_OFF);
|
cleanUpConnection(true, Phone.REASON_CDMA_DATA_DETACHED);
|
||||||
phone.mCM.setRadioPower(false, null);
|
phone.mCM.setRadioPower(false, null);
|
||||||
/* Note: no need to call setRadioPower(true). Assuming the desired
|
/* Note: no need to call setRadioPower(true). Assuming the desired
|
||||||
* radio power state is still ON (as tracked by ServiceStateTracker),
|
* radio power state is still ON (as tracked by ServiceStateTracker),
|
||||||
|
Reference in New Issue
Block a user