The previous implementation used a database for storing all of its state, which could cause
a significant amount of IO activity as its tables were updated through the stages of a sync.
This new implementation replaces that in-memory data structures, with hand-written code
for writing them to persistent storage.
There are now 4 files associated with this class, holding various pieces of its state that
should be consistent. These are everything from a main XML file of account information that
must always be retained, to a binary file of per-day statistics that can be thrown away at
any time. Writes of these files as scheduled at various times based on their importance of
the frequency at which they change.
Because the database no longer exists, there needs to be a new explicit interface for
interacting with the sync manager database. This is provided by new APIs on IContentService,
with a hidden method on ContentResolver to retrieve the IContentService so that various
system entities can use it. Other changes in other projects are required to update to the
new API.
The goal here is to have as little an impact on the code and functionality outside of
SyncStorageEngine, though due to the necessary change in API it is still somewhat extensive.
Author: Christopher Tate <ctate@google.com>
Date: Mon May 4 16:38:11 2009 -0700
IBackupService now passes ParcelFileDescriptors rather than int fds
The outlines of backup state file / data file handling are now in place as well
in the BackupManagerService.
Author: Christopher Tate <ctate@google.com>
Date: Thu Apr 30 12:40:19 2009 -0700
Hide the backup stuff for now
Also adjust based on comments:
+ changed service intent string to conform to usage guidelines
+ only publish the IBackupService binder when invoked with the right
intent action
+ docs tweaks
Merge commit '636274185ed5ee75faf6ef4d84bbb7d5b0371248'
* commit '636274185ed5ee75faf6ef4d84bbb7d5b0371248':
Fixes 1830181. Tapping disabled items in a ListView would cause the framework to take a code path that wasn't resetting the mMotionCorrection variable if it had been previously set. This would force ListView to apply a scroll to its children even though it was unnecessary. This simple fix prevents the issue by resetting mMotionCorrection appropriately.
* changes:
Fixes 1830181. Tapping disabled items in a ListView would cause the framework to take a code path that wasn't resetting the mMotionCorrection variable if it had been previously set. This would force ListView to apply a scroll to its children even though it was unnecessary. This simple fix prevents the issue by resetting mMotionCorrection appropriately.
Merge commit '724561cc20e259888986cbb0be2fdab4d142d869'
* commit '724561cc20e259888986cbb0be2fdab4d142d869':
Fixes external #2575 (http://code.google.com/p/android/issues/detail?id=2575). HorizontalScrollView was comparing the measured height of its child to its width.
Merge commit '7ff943673e48a912eb7cc5add08e206c2c25d68e'
* commit '7ff943673e48a912eb7cc5add08e206c2c25d68e':
Debug: Add setPropertiesOn(), and @hide it for now
Merge commit '6a1ae64f7735a3817713a223096bf8034f78a620'
* commit '6a1ae64f7735a3817713a223096bf8034f78a620':
Fix another HTML formatting in android.os.AsyncTask
Merge commit '854c8c78c1bce214f6479772d94147070ec6764f'
* commit '854c8c78c1bce214f6479772d94147070ec6764f':
make AutoCompleteTextView take the alternate anchor view into account when computing the max available space on screen.
Copy 3.xml to 4.xml, and patch 4.xml to deal with the fact that
Config.DEBUG's value is no longer actually fixed. We don't want
to modify 3.xml directly, because it's the official cupcake API.
Update current.xml to reflect the differences between 3.xml and 4.xml
and to reflect the new deprecation states.
The deprecated fields should be @hidden if possible before the
next API release, but it can't be done yet because there are
SDK-linked platform apps that use some of the deprecated fields.
Signed-off-by: Dave Bort <dbort@android.com>
Merge commit '9a81736176f507489f262344b6e3d55bbe53be7c'
* commit '9a81736176f507489f262344b6e3d55bbe53be7c':
Add the ability to specify the onClick handler with XML. The new android:onClick attribute defines the name of the method in the Activity to invoke when the button is clicked. The method has to be public and get one View parameter.
Merge commit '980d12b13bad50d6fbb50f3fe8f8dbc451a7d87c'
* commit '980d12b13bad50d6fbb50f3fe8f8dbc451a7d87c':
Fix typo in exception message and add a new exception if the user tries to use the same child as both the handle and content for the SlidingDrawer.
* changes:
Fix typo in exception message and add a new exception if the user tries to use the same child as both the handle and content for the SlidingDrawer.
Also adjust based on comments:
+ changed service intent string to conform to usage guidelines
+ only publish the IBackupService binder when invoked with the right
intent action
+ docs tweaks
Also tweak the dataChanged() api to have the client supply a package name. We
don't necessarily TRUST this, but we use it to narrow the set of packages requesting
a backup pass, no longer blithely scheduling a pass for all packages associated
with the caller's uid.