175 Commits

Author SHA1 Message Date
Christopher Tate
7f94b60c6d am 5cb400bd: Keep track of backup state independently for each transport
Merge commit '5cb400bd72726c22f641f334951b35ce2ddcfeef'

* commit '5cb400bd72726c22f641f334951b35ce2ddcfeef':
  Keep track of backup state independently for each transport
2009-06-25 16:15:54 -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
Android (Google) Code Review
2383415ab9 am f881762f: Merge change 5351 into donut
Merge commit 'f881762f97c74253bbc7f629380bb65739457041'

* commit 'f881762f97c74253bbc7f629380bb65739457041':
  Add a method to Process to get uid for a pid.
2009-06-25 00:47:51 -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
Android (Google) Code Review
cc79800a74 am 5416d7c9: Merge change 5317 into donut
Merge commit '5416d7c905e723a978ac29ccaf22a91b76e9d5c2'

* commit '5416d7c905e723a978ac29ccaf22a91b76e9d5c2':
  Start backing up wallpaper
2009-06-24 18:48:39 -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
Android (Google) Code Review
e23ad63adf am 67669c9c: Merge change 5196 into donut
Merge commit '67669c9c1753b062fe2a71f89b589d01b32ba0f7'

* commit '67669c9c1753b062fe2a71f89b589d01b32ba0f7':
  Modify the IBackupTransport API to support bulk restore operations.
2009-06-24 17:39:15 -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
Android (Google) Code Review
4c74637833 am 3e376a74: Merge change 5171 into donut
Merge commit '3e376a74b3edd8c311e8d69ca5baf986c9da4a06'

* commit '3e376a74b3edd8c311e8d69ca5baf986c9da4a06':
  Track native processes and airplane mode.
2009-06-24 15:45:49 -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
Dianne Hackborn
3618160a1a am 2e418428: Possibly fix an issue where we thought an app was always using GPS.
Merge commit '2e418428987132ea66533cbc05f9c526eb59519a'

* commit '2e418428987132ea66533cbc05f9c526eb59519a':
  Possibly fix an issue where we thought an app was always using GPS.
2009-06-23 13:08:40 -07: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
Android (Google) Code Review
fc542816ba Merge change 4939
* changes:
  mods so that we can search mms messages
2009-06-23 10:04:38 -07:00
Christopher Tate
5196d12a12 am 3a31a93b: Add some global metadata to the restore set
Merge commit '3a31a93b8a195ae2d0180e6dfbf292da2e581f50'

* commit '3a31a93b8a195ae2d0180e6dfbf292da2e581f50':
  Add some global metadata to the restore set
2009-06-22 15:19:51 -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
Mark Wagner
f4f8a7fe46 mods so that we can search mms messages 2009-06-22 14:55:17 -07:00
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