That'll make it stop trying to interpret older records with the new format.
Also applied other comments involving name changes to remove un-needed 'Wifi' labels in WifiManager API, etc.
Merge commit '15e74b9da8b4cda11ee54da1e77a02d1a86c944a'
* commit '15e74b9da8b4cda11ee54da1e77a02d1a86c944a':
Temporarily suppress flaky test LocationManagerProximityTest until test harness support can be rolled out.
Fix build breakage
Revise the ImageButton class description to include information
Record statistics about whether HTTP connections are reused.
Merge commit 'd1f7b3a5720a4d6d92c4eea5a1fe812a790a7442'
* commit 'd1f7b3a5720a4d6d92c4eea5a1fe812a790a7442':
New feature to track down #1846038. Adds the ability to export flags encoded in int values so as to make them human readable in HierarchyViewer.
* changes:
New feature to track down #1846038. Adds the ability to export flags encoded in int values so as to make them human readable in HierarchyViewer.
* changes:
Add wifi multicast filter api (enable/disable). Fixes 1833432. Automatically re-disables any request when the app exits/crashes. Also hooked into Battery Stats for power managment analysis.
This introduces a new class in the base platform for performing a clean
shutdown (which was copied from the classes in the policies). It
includes new features to send a shutdown broadcast for applications
to do cleanup, and ot have the activity manager pause the current
activity before proceeding with the shutdown. These facilities are
also use to write at the most recent stat files for sync, battery
and user activity.
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 '2bc9e139655666e3c6a58d8fa74a12111b06cafd'
* commit '2bc9e139655666e3c6a58d8fa74a12111b06cafd':
TypedProperties: add getStringInfo() to help deal with null strings
Merge commit '52a3cb53ddcce049d2e804c3042514df576cb5b9'
* commit '52a3cb53ddcce049d2e804c3042514df576cb5b9':
TypedProperties: change the file format to be a subset of Java
Types and constants are now case-sensitive.
Types come first.
Newlines are ignored, but semicolons are required.
Comments are now Java-style, not sh-style.
unset() now looks like a method instead of a pseudotype.
Signed-off-by: Dave Bort <dbort@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.
There are three major classes of changes here:
- Avoid writing lines where their values are often empty, false, or some other typical thing.
- Use partial writes to the PrintWriter to avoid creating temporary strings.
- Use StringBuilder where we need to generate real String objects (and where possible cache the result).
The 50 methods that appeared on the GC stacks of the most applications
require 13KB of native heap for their uncompressed register maps, and
the full set took 5ms to uncompress. Pre-computation doesn't represent
a significant improvement in space or time, at the cost of a big pile
of strings in ZygoteInit.
I'm leaving the method in ZygoteInit, but it's not called, and the
static final String[] of method descriptors is empty. We may want to
revisit this later.
BUG=1729570
Automated import of CL 144931
The usage stats service now collects per-activity launch time stats. There are a number of fixes and improvements to its statistics management and collection; it now operates its calendar in GMT and ensures that for checkin purposes it always reports one day and only one complete day to the checkin service.
Also change the checkin option from "-c" to "--checkin" since it is really a special thing.
2 levels as recorded at plug and unplug events. During charge cycles this would be useful because it would tell us
what the start and end levels were in the last discharge cycle. However during a discharge cycle this information could
be misleading as it would give you the level at the last unplug event (beginning the the discharge cycle) and last plug
event (end of the previous discharge cycle).
Now we are still keeping track of 2 values, but they are "discharge cycle start level" and "discharge cycle current level".
During a discharge cycle this will give you the level the current discharge cycle started at, and the current level. During
a charge cycle the same data will be supplied as before (the start/end of the last discharge cycle).
Original author: emillar
Automated import of CL 144410
2 levels as recorded at plug and unplug events. During charge cycles this would be useful because it would tell us
what the start and end levels were in the last discharge cycle. However during a discharge cycle this information could
be misleading as it would give you the level at the last unplug event (beginning the the discharge cycle) and last plug
event (end of the previous discharge cycle).
Now we are still keeping track of 2 values, but they are "discharge cycle start level" and "discharge cycle current level".
During a discharge cycle this will give you the level the current discharge cycle started at, and the current level. During
a charge cycle the same data will be supplied as before (the start/end of the last discharge cycle).
B=144249
Automated import of CL 144333
- We define HttpRequest and HttpResponse protocol buffers.
The RMQ mechanism is *not* used for these (though the
messages define rmq id fields in case we want to start).
- GTalkHttpClient will send an http request over the
connection to MCS if:
- gtalk_tunnel_http in gservices is turned on
- the request destination is the android proxy
- it can make a connection to gtalkservice
The request falls back to using GoogleHttpClient if it can't
be processed over the MCS connection.
A few shortcuts are taken with cookie handling, but these
are okay for the envisioned usage.
Original author: dougz
Merged from: //branches/donutburger/...
Automated import of CL 144094
- We define HttpRequest and HttpResponse protocol buffers.
The RMQ mechanism is *not* used for these (though the
messages define rmq id fields in case we want to start).
- GTalkHttpClient will send an http request over the
connection to MCS if:
- gtalk_tunnel_http in gservices is turned on
- the request destination is the android proxy
- it can make a connection to gtalkservice
The request falls back to using GoogleHttpClient if it can't
be processed over the MCS connection.
A few shortcuts are taken with cookie handling, but these
are okay for the envisioned usage.
Automated import of CL 144044