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:
Wink Saville
2009-08-15 11:15:26 -07:00
parent ad4d9e5beb
commit e6a9bcb7e8

View File

@ -498,7 +498,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
protected void restartRadio() {
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);
/* Note: no need to call setRadioPower(true). Assuming the desired
* radio power state is still ON (as tracked by ServiceStateTracker),