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.
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.
and when data roaming is enabled reset the retry manager.
This change also refactors mRetryMgr to DataConnectionTracker
removing it from Cdma and Gsm data connection trackers child classes.
Decode the url before passing down to the local loaders since they do not decode
the url themselves. This was creating a crash on youtube.com since the data url
was percent-encoded and failing to parse from base64.
- Recover if a live wallpaper is crashing repeatedly.
- Don't crash when someone tries to set a static wallpaper.
- Make the static wallpaper update correctly when the image changes.
this would happen is the window is made visible but the client didn't render yet into it. This happens often with SurfaceView.
Instead of filling the window with solid black, SF would simply ignore it which could lead to more disturbing artifacts.
in theory the window manager should not display a window before it has been drawn into, but it does happen occasionnaly.
Merge commit '94ff3f1f08805b68c5524b39024968aebcdc83ee' into eclair
* commit '94ff3f1f08805b68c5524b39024968aebcdc83ee':
Fix handling of reference XML file in layout files
Merge commit 'e1b63d224a0a68191f087186c470cde317e3fa76' into eclair
* commit 'e1b63d224a0a68191f087186c470cde317e3fa76':
Mock ServiceManager and AccesibilityManager to make the view renders in ADT
Packages that do not use android.permission.BACKUP_DATA will neither be backed
up nor restored. That permission is currently signature-only. In the future if
access to the backup/restore infrastructure is made available to arbitrary 3rd
party applications, the permission checks (and indeed, the permission itself)
can simply be removed.
Setting max_retires to infinite sets mRetryForever to true and therefore
isRetryNeeded will always be true. This is better than an alternative
which is to set max_retires to a large value such as 2147483647.