455 Commits

Author SHA1 Message Date
Christopher Tate
1c502a4624 am 49401ddb: Revamp backup scheduling policy
Merge commit '49401ddb9ac11ad5caead4e4cefcaa81d2418ed2'

* commit '49401ddb9ac11ad5caead4e4cefcaa81d2418ed2':
  Revamp backup scheduling policy
2009-07-02 15:23:49 -07:00
Christopher Tate
b0b659a8aa am ce0bf069: Use secure settings for backup enable / transport selection
Merge commit 'ce0bf069fe8c5c93f91cb70b0cd9365245d144c1'

* commit 'ce0bf069fe8c5c93f91cb70b0cd9365245d144c1':
  Use secure settings for backup enable / transport selection
2009-07-02 15:23:45 -07:00
Android (Google) Code Review
f73a65c2d7 am 65363830: Merge change 5854 into donut
Merge commit '65363830c1e5ca8c59b6e12b4b43a3f03688ca2e'

* commit '65363830c1e5ca8c59b6e12b4b43a3f03688ca2e':
  Run backups at background priority
2009-07-01 22:44:37 -07:00
Android (Google) Code Review
d96e0b0cf1 am 6e1647a2: Merge change 5829 into donut
Merge commit '6e1647a212317f4ee8bcc23948b6621a59172954'

* commit '6e1647a212317f4ee8bcc23948b6621a59172954':
  Fix issue #1673793: Theme styles don't apply.
2009-07-01 22:43:58 -07:00
Dianne Hackborn
8ec5b83fc8 Merge commit '1dac277f' into manualmerge
Required rewriting the okay battery broadcast stuff.

Conflicts:
	services/java/com/android/server/status/StatusBarPolicy.java
2009-07-01 21:19:35 -07:00
Christopher Tate
3b0b1a11d6 am 72d19aa5: Tighten up the metadata backup logic
Merge commit '72d19aa51e90d45c7895629db78e548da2f6d469'

* commit '72d19aa51e90d45c7895629db78e548da2f6d469':
  Tighten up the metadata backup logic
2009-07-01 16:01:48 -07:00
Christopher Tate
49401ddb9a Revamp backup scheduling policy
We now schedule a periodic check of pending backups; if any apps have requested
a backup since the last check, we perform all of the pending backups.  The
periodic backup scheduling matches the enable/disable state of the backup
manager; while backups are disabled entirely there are no periodic wakeups.

The period is set here to one hour.  If an external caller (transport, the
'bmgr' command line tool, etc) requests an immediate backup pass, that is
performed and then the periodic backup check is rescheduled using that pass as
the starting point of a new interval.
2009-07-01 12:38:06 -07:00
Christopher Tate
ce0bf069fe Use secure settings for backup enable / transport selection 2009-07-01 11:45:57 -07:00
Christopher Tate
a2b2223817 am 6f317426: Don\'t issue a deletion for the global metadata backup
Merge commit '6f317426e49e73ef3e50d8839877504039cd2fca'

* commit '6f317426e49e73ef3e50d8839877504039cd2fca':
  Don't issue a deletion for the global metadata backup
2009-07-01 11:19:15 -07:00
Android (Google) Code Review
01ecd7bcd1 am ab4748c6: Merge change 5694 into donut
Merge commit 'ab4748c62d106d9cbc27c88ccd3d2bbda8e451bd'

* commit 'ab4748c62d106d9cbc27c88ccd3d2bbda8e451bd':
  Implement persistent enable/disable of the backup manager
2009-07-01 00:07:35 -07:00
Dianne Hackborn
6463ff2468 resolved conflicts for merge of 66c2942a to master 2009-06-30 16:52:32 -07:00
Christopher Tate
7958834e0e Run backups at background priority 2009-06-30 16:11:49 -07:00
Android (Google) Code Review
6e1647a212 Merge change 5829 into donut
* changes:
  Fix issue #1673793: Theme styles don't apply.
2009-06-30 14:04:55 -07:00
Dianne Hackborn
1dac277f93 Implement issue #1943927 (need notification in status bar when adb is active)
This is a little hacky -- we just assume that if adb is enabled and power
is connected through usb, then it is active.

The icons and text are temporary until final design is provided.
2009-06-30 13:40:51 -07:00
Dianne Hackborn
de7faf658c Fix issue #1673793: Theme styles don't apply.
It turns out this was not a problem in the resource code at all.  Rather,
the system process has a cache of pre-loaded attributes it uses to avoid
continually reloading things as it needs them.  Well it turns out this
cache wasn't flushed after a package was uninstalled or a configuration
changed, so you could re-install an app where you change its style resources
so its theme now points to one that is inconsistent in the cache.

This is mostly a problem for developers, where they continually install
new versions of an app where resources have changed.  This could possibly
show up when updating an app on a normal phone, although the problem would
eventually correct itself since this cache uses weak references.

Anyway, the cache is now reworked to be flushed appropriately.

This change also includes an update to aapt to be able to dump the
contents of bags in resources.
2009-06-30 13:27:30 -07:00
Christopher Tate
72d19aa51e Tighten up the metadata backup logic
We now store the app version codes and and global OS incremental version name in
the PM backup state and the actual backup record.  We then use that information
to trigger a re-backup of the metadata if the OS revision changes in any way, or
to back up single apps' metadata if we notice that they've been upgraded.
2009-06-30 12:52:54 -07:00
Christopher Tate
5e79e32357 am 91717497: Use system properties to track the current transport
Merge commit '9171749700853305f3e6abbcdbd9e02f3a71d459'

* commit '9171749700853305f3e6abbcdbd9e02f3a71d459':
  Use system properties to track the current transport
2009-06-29 20:20:20 -07:00
Christopher Tate
f9435d7521 am f7c886b4: Respect android:allowClearUserData=false during restore
Merge commit 'f7c886b4fe27cd9ab4a9991958ff931054556a24'

* commit 'f7c886b4fe27cd9ab4a9991958ff931054556a24':
  Respect android:allowClearUserData=false during restore
2009-06-29 20:17:47 -07:00
Android (Google) Code Review
ff35c1d787 am bd1e8aa5: Merge change 5569 into donut
Merge commit 'bd1e8aa502a6d9231e2a1399cee18debcf70b3d6'

* commit 'bd1e8aa502a6d9231e2a1399cee18debcf70b3d6':
  Trim some superfluous imports.
2009-06-29 20:17:42 -07:00
Christopher Tate
6f317426e4 Don't issue a deletion for the global metadata backup
We were accidentally submitting a deletion for the global metadata key in the
PM backup handling (it was falling into the usual "here's a package that we said
we'd backed up last time, but now it's no longer on device" code).  Don't do
that any more, i.e. actually keep the global metadata key in the backup set.
Oops.
2009-06-29 18:52:55 -07:00
Android (Google) Code Review
f6ff591dec am 72eb0aca: Merge change 5483 into donut
Merge commit '72eb0acad5cffc57ce5006f6deab29ee259e461e'

* commit '72eb0acad5cffc57ce5006f6deab29ee259e461e':
  Expand support for different screen sizes.
2009-06-29 16:37:17 -07:00
Dan Egnor
8c3fc63576 am 156411df: Use a long for restore token
Merge commit '156411df4627336b246db78cddca8248ed615b67'

* commit '156411df4627336b246db78cddca8248ed615b67':
  Use a long for restore token
2009-06-29 16:37:02 -07:00
Christopher Tate
f35b2f382c am 8a27f923: Don\'t crash in various ways when using backup services too early
Merge commit '8a27f923eb9dbbe3c2d0184e82d9f1a98f1e4cdc'

* commit '8a27f923eb9dbbe3c2d0184e82d9f1a98f1e4cdc':
  Don't crash in various ways when using backup services too early
2009-06-29 16:36:52 -07:00
Christopher Tate
6ef58a1509 Implement persistent enable/disable of the backup manager
Backup & restore is still enabled by default, but with the expectation that it
will be enabled during the course of the Setup Wizard or some other privileged
entity that has notified the user about the ramifications.  While disabled,
data-changed notices will still be collected, but no backup pass will be
scheduled.  When the backup manager is later enabled, any pending data-changed
notices will then be processed and the apps invoked for backup.
2009-06-29 15:33:27 -07:00
Android (Google) Code Review
66c2942a11 Merge change 5605 into donut
* changes:
  Fix issue #1943706 (Applying the monkey to GoogleVoice causes SecurityException)
2009-06-29 11:57:33 -07:00
Christopher Tate
9171749700 Use system properties to track the current transport
This change retools the transport selection mechanism a fair bit.  Transports
are now specified by name rather than by numeric ID, and the name of the
currently selected transport is stored in a persistent system property under the
name "persist.service.bkup.trans".

The name -> IBackupTransport translation is now handled by maintaining a map
from the names to the live IBackupTransport objects that correspond.  The Google
transport service observer now registers and unregisters the transport as the
service goes up and down.

The bmgr command has been expanded to include real transport interrogation and
selection by name, and some documentation has been written for it.
2009-06-26 21:14:41 -07:00
Dianne Hackborn
2bd33d74ae Fix issue #1943706 (Applying the monkey to GoogleVoice causes SecurityException)
Fiddle around with event dispatching to remove calling permissions when we
enter event injection, and prevent callers from going to the PhoneWindowManager's
event processing code unless they are allowed at that point.
2009-06-26 18:59:01 -07:00
Christopher Tate
f7c886b4fe Respect android:allowClearUserData=false during restore
Ordinarily we wipe the data of apps we are restoring.  This is problematic for
packages that expect that their data can never be wiped back to nothing,
especially system packages, so we now respect the android:allowClearUserData
manifest attribute.
2009-06-26 15:34:09 -07:00
Christopher Tate
466ef345d1 Trim some superfluous imports. 2009-06-26 14:41:57 -07:00
Android (Google) Code Review
72eb0acad5 Merge change 5483 into donut
* changes:
  Expand support for different screen sizes.
2009-06-26 13:46:07 -07:00
Dianne Hackborn
723738cfae Expand support for different screen sizes.
Applications can now declare that they support small, normal, or
large screens.  Resource selection can also be done based on these
sizes.  By default, pre-Donut apps are false for small and large,
and Donut or later apps are assumed to support all sizes.  In either
case they can use <supports-screens> in their manifest to declare
what they actually support.
2009-06-26 13:37:05 -07:00
Dan Egnor
156411df46 Use a long for restore token 2009-06-26 13:25:27 -07:00
Christopher Tate
8a27f923eb Don't crash in various ways when using backup services too early
BackupManager now no longer tries to use a null service binder if it's used
early during the boot process.  ActivityManagerService no longer tries to
dereference null pointers if bind/unbind semantics get out of step due to things
being run too early.
2009-06-26 12:20:10 -07:00
Christopher Tate
0d8dc14256 am 7d562ec3: Add a new IRestoreObserver callback class to the restore process
Merge commit '7d562ec393d54dd9ef387c49d1283243bfdbd2b1'

* commit '7d562ec393d54dd9ef387c49d1283243bfdbd2b1':
  Add a new IRestoreObserver callback class to the restore process
2009-06-25 18:13:19 -07:00
Christopher Tate
7d562ec393 Add a new IRestoreObserver callback class to the restore process
The observer is told when restore begins how many packages are being restored.
It then gets an onUpdate() call telling it that the Nth package is now
undergoing restore.  Ultimately, its restoreFinished() callback is invoked,
passing a simple success/fail error code, to let it know that the restore
operation has concluded.
2009-06-25 18:09:28 -07:00
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
1af846b979 Merge change 5376
* changes:
  WifiService: Update all scan result values in our scan result cache.
2009-06-25 13:07:38 -07:00
Dan Egnor
e0ef37b8e5 am 6f21128d: Switch the default transport to GOOGLE.
Merge commit '6f21128d1fc949828b1a4c2a0023f07bfd280e2e'

* commit '6f21128d1fc949828b1a4c2a0023f07bfd280e2e':
  Switch the default transport to GOOGLE.
2009-06-25 12:12:30 -07:00
Dan Egnor
6f21128d1f Switch the default transport to GOOGLE. 2009-06-25 12:07:58 -07:00
Mike Lockwood
1a645058a8 WifiService: Update all scan result values in our scan result cache.
Previously only the level was being updated, resulting in out of date values
being left in the cache.
Patch was provided by Motorola.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-06-25 13:01:12 -04: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
Android (Google) Code Review
5416d7c905 Merge change 5317 into donut
* changes:
  Start backing up wallpaper
2009-06-24 18:46:59 -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
ecf2b68d83 am 7941e903: Merge change 5091 into donut
Merge commit '7941e903c973af66075bbd4fa4bcadf021a61ccc'

* commit '7941e903c973af66075bbd4fa4bcadf021a61ccc':
  * new screen resolution support impl.
2009-06-24 17:56:05 -07:00
Android (Google) Code Review
7941e903c9 Merge change 5091 into donut
* changes:
  * new screen resolution support impl.   * use full window for activities, and shift & clip the content   * refactored the compatibility code, and introdcued Translator class to handle cooridnate translations.   * removed a workaround to handle an activity with configChagne=rotation in old implementation.   * I'll fix background issue on rotation in next CL.
2009-06-24 17:53:57 -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
Android (Google) Code Review
67669c9c17 Merge change 5196 into donut
* changes:
  Modify the IBackupTransport API to support bulk restore operations. Change the BackupManagerService and LocalTransport to support the new API.
2009-06-24 16:52:16 -07:00