159 Commits

Author SHA1 Message Date
Android (Google) Code Review
f923ed6ff7 am 5502f04c: Merge change 4709 into donut
Merge commit '5502f04c1dcf2b1918858bacb99fb0480a711707'

* commit '5502f04c1dcf2b1918858bacb99fb0480a711707':
  backup stuff
2009-06-18 19:04:56 -07:00
Joe Onorato
5d605dc56b backup stuff 2009-06-18 18:41:11 -07:00
Christopher Tate
c452b4e86e am e9190a27: Base64 the keys to make filenames in LocalTransport
Merge commit 'e9190a2750e1fb67e300d2c128227cc9b7339efe'

* commit 'e9190a2750e1fb67e300d2c128227cc9b7339efe':
  Base64 the keys to make filenames in LocalTransport
2009-06-17 22:45:46 -07:00
Android (Google) Code Review
c0f088b06b am 3c2f8e66: Merge change 4456 into donut
Merge commit '3c2f8e6651178742bc685e7bd62fa8a6ca409a74'

* commit '3c2f8e6651178742bc685e7bd62fa8a6ca409a74':
  Replace the stub GoogleTransport with callout to the
2009-06-17 21:49:56 -07:00
Joe Onorato
72dcea1eed am 83248c43: backup fixes:
Merge commit '83248c432ffe2e2a17abbc8e4960c26574b46bca'

* commit '83248c432ffe2e2a17abbc8e4960c26574b46bca':
  backup fixes:
2009-06-17 21:49:50 -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
251c89c0a7 am 5f15d151: checkpoint BackupDatAInput / RestoreHelper
Merge commit '5f15d151b5101fadfe6cba1e8f4aa6367e8c603e'

* commit '5f15d151b5101fadfe6cba1e8f4aa6367e8c603e':
  checkpoint BackupDatAInput / RestoreHelper
2009-06-17 15:38:08 -07:00
Christopher Tate
1bd88ca88f am aa088447: Hold the current transport instantiated all the time.
Merge commit 'aa088447baadd2e0bbcfd18cc529645610c13ddc'

* commit 'aa088447baadd2e0bbcfd18cc529645610c13ddc':
  Hold the current transport instantiated all the time.
2009-06-17 15:37:53 -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
Android (Google) Code Review
714000456b am febde5fc: Merge change 4389 into donut
Merge commit 'febde5fc290eb422f78b47f393dc451394751d59'

* commit 'febde5fc290eb422f78b47f393dc451394751d59':
  More bmgr work; fix clear-data signalling
2009-06-16 16:43:17 -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
dac6f5fc33 am 8e55eac9: Bring the test transport\'s restore code into line
Merge commit '8e55eac96d768a4de68a091f57487deadf6d0a87'

* commit '8e55eac96d768a4de68a091f57487deadf6d0a87':
  Bring the test transport's restore code into line
2009-06-15 12:55:03 -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
daf701fa62 am 2fdd428e: Fix some backup reader/writer issues; make local transport do backup
Merge commit '2fdd428e0f18384160f7c38ce3a2cd9ba7e7b2c2'

* commit '2fdd428e0f18384160f7c38ce3a2cd9ba7e7b2c2':
  Fix some backup reader/writer issues; make local transport do backup
  Fix the jni initializer.
  Add RestoreFileHelper, BackupDataInput, and add java wrappers for the methods on BackupDataOutput.
  Fix bug #1812041: activity manager crash with bad args.
  Journal backup requests so that they won't be lost in a crash
  Fix data connection issues.
2009-06-14 21:13:03 -07:00
Ramanan Rajeswaran
859f1b0b6f am e8939bb8: resolved conflicts for merge of a798dd86 to donut
Merge commit 'e8939bb8f1453b44788d4475a8263082d858e533'

* commit 'e8939bb8f1453b44788d4475a8263082d858e533':
  AI 149797: Have SetupWizard pull the Terms of Service from the web using a new URL
2009-06-14 20:49:44 -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
0c32f14ef1 am 9bbc21a7: Flesh out restore interface on manager; work up most of LocalTransport
Merge commit '9bbc21a773cbdfbef2876a75c32bda5839647751'

* commit '9bbc21a773cbdfbef2876a75c32bda5839647751':
  Flesh out restore interface on manager; work up most of LocalTransport
2009-06-11 00:56:29 -07:00
Android (Google) Code Review
a50b795161 am b6391d63: Merge change 3857 into donut
Merge commit 'b6391d6377883586995127c9926c1b5b8035fd60'

* commit 'b6391d6377883586995127c9926c1b5b8035fd60':
  Allow arrays of values for power profile data.
2009-06-11 00:45:27 -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
1b2e618bdf am 9e09e0f4: Merge change 3724 into donut
Merge commit '9e09e0f439ab30b8856d46827623652d09b7477b'

* commit '9e09e0f439ab30b8856d46827623652d09b7477b':
  zygote: Add CAP_SYS_NICE to system server capabilities
2009-06-10 11:06:54 -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
21444c5427 am df01deaa: More restore plumbing, plus add suggested-backoff to transport API
Merge commit 'df01deaacff82b918b4f0ba774d5ad3087543629'

* commit 'df01deaacff82b918b4f0ba774d5ad3087543629':
  More restore plumbing, plus add suggested-backoff to transport API
2009-06-10 10:59:20 -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
Android (Google) Code Review
a92f696407 am d2d058b7: Merge change 3506 into donut
Merge commit 'd2d058b7d657e73255c3665c8b2f63845a8d25d0'

* commit 'd2d058b7d657e73255c3665c8b2f63845a8d25d0':
  Revamp IRestoreSession a bit
2009-06-08 16:42:21 -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
bd235f10a9 am 8c850b79: Add IRestoreSession interface for the restore flow
Merge commit '8c850b792f2d371fd8a4aff146d9d757ee982539'

* commit '8c850b792f2d371fd8a4aff146d9d757ee982539':
  Add IRestoreSession interface for the restore flow
2009-06-07 21:04:39 -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
53c31ed1ff am b4a6188a: Add rough-draft restore API set to IBackupTransport
Merge commit 'b4a6188a74273611abcae05f3a3b1f0547548301'

* commit 'b4a6188a74273611abcae05f3a3b1f0547548301':
  Add rough-draft restore API set to IBackupTransport
2009-06-07 15:35:14 -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
Android (Google) Code Review
4dde34b2f0 am da55569b: Merge change 3417 into donut
Merge commit 'da55569b0aaf98ff4d472d85ae1b038e76e1e9c3'

* commit 'da55569b0aaf98ff4d472d85ae1b038e76e1e9c3':
  Adjust IBackupTransport interface
2009-06-07 14:12:04 -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
ce74edc7ea 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-04 09:57:18 -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
138197f961 am eaeb663b: Track activity foreground CPU usage for battery stats.
Merge commit 'eaeb663bcd7a82b654954b42663232cbd7bef7e7'

* commit 'eaeb663bcd7a82b654954b42663232cbd7bef7e7':
  Track activity foreground CPU usage for battery stats.
2009-06-03 16:21:13 -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
Android (Google) Code Review
32ca6011df am 2ba3223c: Merge change 2855 into donut
Merge commit '2ba3223cc9a4deb2980ba3c15a9b25c5652166a8'

* commit '2ba3223cc9a4deb2980ba3c15a9b25c5652166a8':
  Add a new method to load html data into the WebView.
2009-06-02 00:36:35 -07:00
Ramanan Rajeswaran
8cb6617107 Add a new method to load html data into the WebView. 2009-06-01 14:43:44 -07:00
Android (Google) Code Review
85a2fb07c2 am 145c989c: Merge change 2569 into donut
Merge commit '145c989cafe72d99af120044fed256ac2f982568'

* commit '145c989cafe72d99af120044fed256ac2f982568':
  Fix a hang during bootup.
2009-05-27 16:01:09 -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
Android (Google) Code Review
a742dc421b am fea1a459: Merge change 2364 into donut
Merge commit 'fea1a459aaebc5fd66b12520312ddbe09547f094'

* commit 'fea1a459aaebc5fd66b12520312ddbe09547f094':
  Initial checkin for App Fuel Gauge infrastructure.
2009-05-22 19:41:36 -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
8fe20fc21e am aa983388: Merge change 1932 into donut
Merge commit 'aa9833885d89d42a0cd0b4202485e67b63d51412'

* commit 'aa9833885d89d42a0cd0b4202485e67b63d51412':
  Qualify a type and add some explanatory comments.
2009-05-20 16:14:16 -07:00