111 Commits

Author SHA1 Message Date
Amith Yamasani
3f7e35c2c7 Bluetooth at command tracking. 2009-07-20 12:38:55 -07:00
Suchi Amalapurapu
2bf761c202 Fix couple of issues in DatePicker
The NumberPicker's listener needs to be invoked only if
the current value changes when validating input.
This removes the some unwanted duplicate calls to onChanged.
Adjust day for month and leap years. note that updateDaySpinner
directly sets the value on day picker and doesn't invoke the
listener twice
2009-07-14 15:37:20 -07:00
Karl Rosaen
6a109b4874 Use MeasureSpec.getWidth instead of default display in lock pattern widget. 2009-07-10 16:10:10 -07:00
Christopher Tate
ee0e78af5a Add a "clear backed-up data" method to the backup mechanism
It's now possible to ask that the backup manager wipe the saved data for a given
application from the backing store.  LocalTransport implements this now but the
Google backend does not yet.  When the data is wiped, the on-device backup state
is also wiped to ensure that the next backup pushes all necessary data.

Bmgr has not yet been modified to actually call into this method, but it will
be soon.
2009-07-02 11:30:29 -07:00
Tammo Spalink
c25dbf88fc add comment about endianness 2009-06-28 16:01:58 +08:00
Android (Google) Code Review
ae3522734e Merge change 5192 into donut
* changes:
  make BitwiseInputStream.read return int
2009-06-26 14:41:51 -07:00
Christopher Tate
5cb400bd72 Keep track of backup state independently for each transport
Backup transports now provide the Backup Manager with a suggested name with
which it can disambiguate any transport-specific bookkeeping that it needs to
maintain.  The Manager keeps separate application backup 'state blobs' for each
transport now, preventing things from getting out of step if the device is
switched among multiple transports.

Also, the metadata backup agent is always invoked now on each backup pass.  This
is cheap when there is nothing to do, but also strongly ensures that we never
wind up in a situation where a given transport destination has not been given
all of the metadata necessary for the backup set.
2009-06-25 16:09:03 -07:00
Amith Yamasani
819f928f6a Add a method to Process to get uid for a pid.
Use the uids to track native processes. Cache the uids to avoid
checking /proc every time.
2009-06-24 23:26:29 -07:00
Christopher Tate
111bd4acdb Start backing up wallpaper
This CL does the following:
   + adds an AbsoluteFileBackupHelper class for managing backup of files
     known by absolute path, not based off of the app's getFilesDir() root
   + bumps up the collection interval from its testing-only default of 1 second
     to 3 minutes
   + adds a SystemBackupAgent class to the main system package and names it as
     the android:backupAgent for the main OS package.  Right now this agent
     only backs up & restores the wallpaper file.
   + amend the Wallpaper Service to inform the Backup Manager when the wallpaper
     changes.

On the subject of the 3-minute collection interval before the backup actually
occurs:  this can be short-circuited from an adb shell.  Running the command
'bmgr run' will cause the Backup Manager to kick off any pending backup
operations immediately.
2009-06-24 18:45:56 -07:00
Dan Egnor
efe52647f6 Modify the IBackupTransport API to support bulk restore operations.
Change the BackupManagerService and LocalTransport to support the new API.
2009-06-24 16:49:44 -07:00
Amith Yamasani
32dbefda71 Track native processes and airplane mode.
Turn signal strengths on/off when toggling airplane mode.
2009-06-24 11:17:36 -07:00
Tammo Spalink
326c66d888 make BitwiseInputStream.read return int
Keep the maximum access 8 bits to avoid dealing with
endianness issues.
2009-06-24 14:42:33 +08:00
Dianne Hackborn
2e41842898 Possibly fix an issue where we thought an app was always using GPS.
There may be some race conditions in the gps provider where it can cause a uid
to be double booked for gps usage and never released.  Address this by tweaking
some locking (so mLocation and the uid array are protected by a lock both when
reading and writing).  Also add some code to log a warning if someone tries to
note a particular uid multiple times, since the code will break in that case.

Finally, fix a problem in the battery stats where we weren't allowing a new Uid
structure to be created in many cases for calls coming in.
2009-06-23 12:51:06 -07:00
Christopher Tate
3a31a93b8a Add some global metadata to the restore set
In addition to the signatures of each participating application, we now also
store the versionCode of each backed-up package, plus the OS version running on
the device that contributed the backup set.  We also refuse to process a backup
from a later OS revision to an earlier one, or from a later app version to an
earlier.

LocalTransport has been modified as well to be more resilient to changes in the
system's use of metadata pseudopackages.
2009-06-22 15:14:04 -07:00
Joe Onorato
5d605dc56b backup stuff 2009-06-18 18:41:11 -07:00
Christopher Tate
e9190a2750 Base64 the keys to make filenames in LocalTransport 2009-06-17 20:11:03 -07:00
Android (Google) Code Review
3c2f8e6651 Merge change 4456 into donut
* changes:
  Replace the stub GoogleTransport with callout to the GoogleTransportService (which lives in vendor/google). Use the Google transport by default. Also, fix a bug: Thread.run() != Thread.start()
2009-06-17 19:31:36 -07:00
Dan Egnor
87a02bcf68 Replace the stub GoogleTransport with callout to the
GoogleTransportService (which lives in vendor/google).
Use the Google transport by default.
Also, fix a bug: Thread.run() != Thread.start()
2009-06-17 18:23:05 -07:00
Joe Onorato
83248c432f backup fixes:
- BackupTestAgent calls the DispatchHelper
- Make BackupAgent.onRestore take a BackupDataInput, not just a
  generic ParcelFileDescriptor.
2009-06-17 17:57:30 -07:00
Joe Onorato
5f15d151b5 checkpoint BackupDatAInput / RestoreHelper 2009-06-16 18:46:50 -07:00
Christopher Tate
aa088447ba Hold the current transport instantiated all the time.
We no longer instantiate the transport just for the duration of handling a
backup or restore operation.  Instead, we hold the object forever (replacing it
if instructed to do so).  This makes it easier for transports to watch system
state and help set backup timing policy.

Also fixes up the IBackupTransport documentation a bit.
2009-06-16 18:25:46 -07:00
Christopher Tate
f68eb500f9 More bmgr work; fix clear-data signalling
The 'list sets' and 'restore token#' commands from bmgr now do what they are
supposed to.  At this point we see the restore target's data being cleared
properly and its agent being launched and invoked for restore.
2009-06-16 13:58:17 -07:00
Christopher Tate
8e55eac96d Bring the test transport's restore code into line
It now reconstructs the backup data stream as it was originally structured, no
longer assuming that its backed-up records can simply be concatenated into the
destination stream.
2009-06-15 12:33:51 -07:00
Christopher Tate
2fdd428e0f Fix some backup reader/writer issues; make local transport do backup
As of this change, LocalTransport is successfully propagating data changes from
the backup data format into a repository stored in /cache/backup/[packagename].
Each backup key gets a separate file there for ease of manipulation and testing.

The general semantics of BackupDataReader have been tweaked, too; it now just
returns simple "we're done with the data" when it hits the end, even if no
footer has been found, because on the writing side the footer isn't being
written.  Also, reading an entity now merely requires a "big enough" buffer, not
an exactly-sized one.

This is all a work in progress, but this is at least working now for purposes of
this local transport.

Still to do: proper change vs deletion detection, as well as expanding the data
format itself to include necessary metadata etc.
2009-06-14 19:39:29 -07:00
Ramanan Rajeswaran
e8939bb8f1 resolved conflicts for merge of a798dd86 to donut 2009-06-12 09:49:16 -07:00
Ramanan Rajeswaran
a798dd8629 AI 149797: Have SetupWizard pull the Terms of Service from the web using a new URL
which allows us to set the language and country (based on MCC otherwise
  locale country). If we are unable to retrieve the ToS, or verify the
  content, we load the default ToS (en_US) from the device.
  BUG=1856455

Automated import of CL 149797
2009-06-11 14:43:15 -07:00
Christopher Tate
9bbc21a773 Flesh out restore interface on manager; work up most of LocalTransport 2009-06-10 20:38:54 -07:00
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