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.
Merge commit '7db486058cf4fce4be04e13d1ec6b7cf404d3e38'
* commit '7db486058cf4fce4be04e13d1ec6b7cf404d3e38':
Config: Add ConfigBuildFlags, and change it based on TARGET_BUILD_TYPE
Merge commit '15e3d0f082d551f8819fbe4b0d502cc108627876'
* commit '15e3d0f082d551f8819fbe4b0d502cc108627876':
location: Use ILocationProvider Binder interface for all location providers.
This change eliminates the LocationProviderImpl class which had been used
for location providers running in the system process.
Now the LocationProvider base class is only used to implement the
LocationManager.createProvider() method for retrieving provider information.
Added a new IGpsStatusProvider interface for providers that serve GPS status.
Signed-off-by: Mike Lockwood <lockwood@android.com>
This change adds a sketched outline of the backup system architecture, with
all of the major pieces represented other than client-side helpers for
specific types of data. IBackupManager and BackupService are public so that
we can write test apps against SDK-domain symbols from the outset.
What code exists in this change hasn't been tested and may crash. It's the
beginnings of the real implementation but of course is barely begun.
Currently, the docs that are specific to each SDK release -- downloading, installing, upgrading, requirements -- are stored in a directory with release-derived name, such as "1.1_r1". This change lets documents use generic links to point into the most recent version specific docs, eg href="{@docRoot}sdk/{sdkCurrent}/installing.html" instead of href="{@docRoot}sdk/1.1_r1/installing.html".
Original author: ddougherty
Merged from: //branches/cupcake/...
Automated import of CL 147054
Currently, the docs that are specific to each SDK release -- downloading, installing, upgrading, requirements -- are stored in a directory with release-derived name, such as "1.1_r1". This change lets documents use generic links to point into the most recent version specific docs, eg href="{@docRoot}sdk/{sdkCurrent}/installing.html" instead of href="{@docRoot}sdk/1.1_r1/installing.html".
Original author: ddougherty
Merged from: //branches/cupcake/...
Original author: android-build
Automated import of CL 147058
Currently, the docs that are specific to each SDK release -- downloading, installing, upgrading, requirements -- are stored in a directory with release-derived name, such as "1.1_r1". This change lets documents use generic links to point into the most recent version specific docs, eg href="{@docRoot}sdk/{sdkCurrent}/installing.html" instead of href="{@docRoot}sdk/1.1_r1/installing.html".
BUG=1790234
Automated import of CL 147053
This fixes a hack that was added when NetworkLocationManager was moved out of the framework.
This also lays the groundwork for supporting location providers outside of the system process.
BUG=1729031
Original author: lockwood
Automated import of CL 144664
This fixes a hack that was added when NetworkLocationManager was moved out of the framework.
This also lays the groundwork for supporting location providers outside of the system process.
BUG=1729031
Automated import of CL 144663
IExtendedNetworkService has 4 MMI service interface used by PhoneUtils to put DCM related nw service.
void setMmiString(String number);
CharSequence getMmiRunningText();
CharSequence getUserMessage(CharSequence text);
void clearMmiString();
And the service is bind via "com.android.ussd.IExtendedNetworkService".
Original author: johnwang
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143331
IExtendedNetworkService has 4 MMI service interface used by PhoneUtils to put DCM related nw service.
void setMmiString(String number);
CharSequence getMmiRunningText();
CharSequence getUserMessage(CharSequence text);
void clearMmiString();
And the service is bind via "com.android.ussd.IExtendedNetworkService".
Original author: johnwang
Merged from: //branches/cupcake/...
Automated import of CL 143181