78 Commits

Author SHA1 Message Date
Amith Yamasani
3718aaabe6 Allow arrays of values for power profile data.
Parse arrays for data that has different levels with non-linear
power increase.
Track radio data awake_time from kernel and mobile/total data
transfers.
Use dummy values for default power_profile.xml. Actual values will
be in a product overlay.
2009-06-10 19:45:28 -07:00
Android (Google) Code Review
9e09e0f439 Merge change 3724 into donut
* changes:
  zygote: Add CAP_SYS_NICE to system server capabilities
2009-06-10 11:05:05 -07:00
Christopher Tate
df01deaacf More restore plumbing, plus add suggested-backoff to transport API
Adds most of the code for a background-thread restore process, structured much
like the backup thread.  Broke some common functionality out into a helper
function for doing a synchronous wait for a requested agent to attach.

Added a method to IBackupTransport whereby the transport will be asked for
an opinion on whether this is a good time for a backup to happen.  It will
reply with the results of its policymaking around backoff intervals, time-of-day
selection, etc.
2009-06-10 10:53:24 -07:00
San Mehat
1caefa6c40 zygote: Add CAP_SYS_NICE to system server capabilities
Signed-off-by: San Mehat <san@google.com>
2009-06-10 09:09:51 -07:00
Christopher Tate
9b3905c4a2 Revamp IRestoreSession a bit
We now supply an array of RestoreSet objects instead of wacky Bundle
shenanigans.  Also, pushed beginRestoreSession() out to the BackupManager
concrete interface class so that SetupWizard can use it.

(beginRestoreSession() is @hide, non-privileged apps cannot use it.  It's
also guarded by android.permission.BACKUP enforcement.)
2009-06-08 16:01:24 -07:00
Christopher Tate
8c850b792f Add IRestoreSession interface for the restore flow
Restore is a fairly complicated, somewhat stateful process, so we introduce
a new interface to encapsulate the various bits and pieces into a nicely
separable component.  In particular, this will make it much cleaner to
open and interrogate an expensive-to-construct transport and then reuse it
for the actual restore process itself.
2009-06-07 19:33:20 -07:00
Christopher Tate
b4a6188a74 Add rough-draft restore API set to IBackupTransport
* getAvailableBackups returns the list of backup sets available for restore

* getAppSet() returns the set of apps available from a given backup set

* getRestoreData() streams the full backup data for a given application
(within a given backup set) into a FD; that data will be handed to the
app's backup agent for processing.
2009-06-07 15:30:44 -07:00
Christopher Tate
7b88128e08 Adjust IBackupTransport interface
Instead of just passing a package name to performBackup, pass the whole
PackageInfo struct, explicitly including the list of signatures for the package.
No need to make each transport look this up individually when it's a necessary
part of the backup payload for each app.
2009-06-07 13:55:42 -07:00
Christopher Tate
043dadc751 More backup work
* Put in some permission enforcement around agent connection notification
  and full-backup scheduling.
* Full backup now applies to any package, not just backup participants who
  have declared their own android:backupAgent
* The process of running the backup operation on the set of apps who have
  been queued for it is now done in a separate thread, with a notification
  mechanism from the main Backup Manager service to pass along new-agent
  binding knowledge.  There's no longer one do-backup message on the primary
  Handler per target application.
* The new backup thread sets up the desired transport now and passes
  along the newly backed-up data to it for each backup target.  Two
  transports have been defined so far, GoogleTransport and AdbTransport;
  both are stubs at present.

Note that at present the backup data output file seems to be properly
created, but after doBackup() is called on the test app's agent it's
still zero size.
2009-06-03 20:42:15 -07:00
Amith Yamasani
eaeb663bcd Track activity foreground CPU usage for battery stats.
Track the foreground CPU time of an activity so that we can tell if apps are
spending more time in the background compared to foreground.
Update power profile values for screen backlight and GPS.
Fix some javadoc bugs (milliseconds vs. microseconds).
2009-06-03 15:38:24 -07:00
Ramanan Rajeswaran
8cb6617107 Add a new method to load html data into the WebView. 2009-06-01 14:43:44 -07:00
Amith Yamasani
c33fe6c9a7 Fix a hang during bootup.
Some data was not being written to the battery stats during shutdown. So there was insufficient
data when reading back at bootup.
2009-05-27 15:29:04 -07:00
Amith Yamasani
244fa5c05b Initial checkin for App Fuel Gauge infrastructure.
This adds the PowerProfile class and data file that provides power consumption numbers
for different subsystems. Also added Audio/Video subsystems to track on a per UID basis.
2009-05-22 14:36:07 -07:00
Android (Google) Code Review
aa9833885d Merge change 1932 into donut
* changes:
  Qualify a type and add some explanatory comments.
2009-05-20 15:28:36 -07:00
Robert Greenwalt
58ff0217a6 Increment BatteryStatsImpl's VERSION.
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.
2009-05-19 15:53:54 -07:00
Android (Google) Code Review
2f11599eb3 Merge change 1579 into donut
* changes:
  Teleca 2b changes
2009-05-18 22:26:25 -07:00
Wink Saville
e9b06d754a Teleca 2b changes 2009-05-18 21:47:50 -07:00
Dan Egnor
3c1664216d Qualify a type and add some explanatory comments. 2009-05-18 17:59:55 -07:00
Dan Egnor
ec144d6553 Record statistics about whether HTTP connections are reused. 2009-05-18 12:35:09 -07:00
Android (Google) Code Review
d1f7b3a572 Merge change 1704 into donut
* 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.
2009-05-14 15:47:37 -07:00
Romain Guy
809a7f6080 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. 2009-05-14 15:44:42 -07:00
Android (Google) Code Review
2a5cfe5192 Merge change 1590 into donut
* 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.
2009-05-14 13:24:52 -07:00
Marco Nelissen
fafb16c5ae Fix typo 2009-05-14 12:57:52 -07:00
Robert Greenwalt
5347bd4cda 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.
2009-05-13 15:10:16 -07:00
Dianne Hackborn
55280a9188 Improve shutdown process to send broadcast for applications.
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.
2009-05-08 12:59:21 -07:00
Christopher Tate
e10be80787 Sketch out the IBackupTransport api 2009-05-07 17:22:16 -07:00
Dianne Hackborn
231cc608d0 Rewrite SyncStorageEngine to use flat files and in-memory data structures.
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.
2009-05-05 15:40:53 -07:00
Android (Google) Code Review
2bc9e13965 Merge change 841 into donut
* changes:
  TypedProperties: add getStringInfo() to help deal with null strings
2009-04-30 16:31:00 -07:00
Android (Google) Code Review
52a3cb53dd Merge change 840 into donut
* changes:
  TypedProperties: change the file format to be a subset of Java
2009-04-30 16:30:14 -07:00
Marco Nelissen
d859331229 Don't crash when /proc/wakelocks can't be opened. Might make board bringup easier.
Verified with simulator, which doesn't have /proc/wakelocks
2009-04-30 14:48:49 -07:00
Dave Bort
4b0ebef18d TypedProperties: add getStringInfo() to help deal with null strings
Signed-off-by: Dave Bort <dbort@android.com>
2009-04-29 17:09:56 -07:00
Dave Bort
5b6f8d865d 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>
2009-04-29 17:08:08 -07:00
Christopher Tate
487529a70c First baby steps towards settings backup
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.
2009-04-29 14:49:30 -07:00
Android (Google) Code Review
5616a7d1de Merge change 459 into donut
* changes:
  TypedProperties: initial commit
2009-04-23 14:22:58 -07:00
Dianne Hackborn
1d442e0d99 More optimization of dumpsys output.
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).
2009-04-22 18:03:21 -07:00
Dave Bort
c4d6dd0bbc TypedProperties: initial commit 2009-04-22 17:51:50 -07:00
Evan Millar
4482d8c8e4 Merge branch 'readonly-p4-donut' into donut 2009-04-18 12:27:51 -07:00
Evan Millar
c64edde69d AI 146853: Add kernel wakelock data to batteryinfo dump.
BUG=1755458

Automated import of CL 146853
2009-04-18 12:26:32 -07:00
Tammo Spalink
e564b19ed2 replaced integer * and % with shift operations, for performance 2009-04-16 14:48:19 +08:00
Tammo Spalink
83917db040 Initial code for cdma sms encode and decode, in java, with simple tests.
(direct cherry-pick of master 42/42/8)
2009-04-14 10:01:23 +08:00
Dianne Hackborn
6447ca30b8 Fix issue #1769910 (Track activity launch times)
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.
2009-04-07 19:50:08 -07:00
Evan Millar
633a1740ce AI 144333: Change the way the battery level tracking code works in BatteryStats. Before we simply kept track of the last
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
2009-04-02 16:36:33 -07:00
Doug Zongker
0fc2c1392a AI 144044: First cut of tunneling HTTP requests over gtalk connection:
- 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
2009-04-01 12:01:43 -07:00
Dianne Hackborn
617f877c06 AI 143800: am: CL 143748 Fix issue #1743326 (More battery stats)
Adds stats for:
  - Number of raw user events that have happened in the system.
  - Number of times user activity has been reported, dividied by UID and type of activity.
  - Duration of screen brightness levels in 4 buckets.
  - Per-UID tracking of who has turned on Wifi and how long we can attribute it being on because of them.
  Original author: hackbod
  Merged from: //branches/cupcake/...

Automated import of CL 143800
2009-03-31 15:04:46 -07:00
Satoshi Kataoka
05a3c6870c AI 143196: am: CL 142964 Add a function to clear styles in EditStyledText.
Add a function to change getBackground color.
  Add a function to check whether EditStyledText has styled text or not.
  Refactor function and variable names for readability.
  Original author: satok
  Merged from: //branches/cupcake/...

Automated import of CL 143196
2009-03-27 17:27:28 -07:00
Dianne Hackborn
88fb1069bf AI 143147: Manual integration
Automated import of CL 143147
2009-03-27 14:59:22 -07:00
Romain Guy
870a2b0156 Automated import from //branches/donutburger/...@142470,142470 2009-03-24 22:46:33 -07:00
Dianne Hackborn
627bba736d Automated import from //branches/donutburger/...@142347,142347 2009-03-24 22:32:56 -07:00
Dianne Hackborn
d906b720b8 Automated import from //branches/donutburger/...@141515,141515 2009-03-24 20:26:37 -07:00
Bob Lee
886f3d69b7 Automated import from //branches/donutburger/...@141355,141355 2009-03-24 20:06:51 -07:00