496 Commits

Author SHA1 Message Date
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
Android (Google) Code Review
4527acb0c3 am 856dd8a6: Merge change 4952 into donut
Merge commit '856dd8a60a70a5b7dca2bf2114872ce063e2ad60'

* commit '856dd8a60a70a5b7dca2bf2114872ce063e2ad60':
  Helper API cleanup.  Allows multiple helpers to function,
2009-06-22 13:20:31 -07:00
Android (Google) Code Review
856dd8a60a Merge change 4952 into donut
* changes:
  Helper API cleanup.  Allows multiple helpers to function, because they'll always go in the same order, and this lets us not have to write headers to keep them paired.
2009-06-22 13:18:09 -07:00
Joe Onorato
06290a4bb9 Helper API cleanup. Allows multiple helpers to function,
because they'll always go in the same order, and this lets
us not have to write headers to keep them paired.
2009-06-22 13:02:24 -07:00
Android (Google) Code Review
92eef877ca am 07a5f126: Merge change 4754 into donut
Merge commit '07a5f126df2cf0dbeb7096535ae634ea8eaeb306'

* commit '07a5f126df2cf0dbeb7096535ae634ea8eaeb306':
  At boot time, add additional per-device information to the
2009-06-22 10:56:47 -07:00
Android (Google) Code Review
07a5f126df Merge change 4754 into donut
* changes:
  At boot time, add additional per-device information to the kernel randomness pool.  This helps increase the quality / uniqueness of the random numbers, and is especially important during the device's first boot, when insufficient randomness is available.
2009-06-22 10:55:25 -07:00
Android (Google) Code Review
72875cc599 am 6bf1208c: Merge change 4827 into donut
Merge commit '6bf1208c58ab2c39f95c733a22df882c7a59f4fc'

* commit '6bf1208c58ab2c39f95c733a22df882c7a59f4fc':
  Fix issue with shared user permissions.
2009-06-22 10:41:07 -07:00
Android (Google) Code Review
6bf1208c58 Merge change 4827 into donut
* changes:
  Fix issue with shared user permissions. just look in the requested permissions of packages within shared user setting rather than the granted permissions
2009-06-22 10:39:15 -07:00
Nick Kralevich
b8cba95ffd At boot time, add additional per-device information to the
kernel randomness pool.  This helps increase the
quality / uniqueness of the random numbers, and is especially
important during the device's first boot, when insufficient
randomness is available.
2009-06-22 10:37:50 -07:00
Android (Google) Code Review
8afc1e97e0 am b92c45a4: Merge change 4831 into donut
Merge commit 'b92c45a4bc4331378a31bb4bc84de02fa631a247'

* commit 'b92c45a4bc4331378a31bb4bc84de02fa631a247':
  Add app version to the backup metadata
2009-06-19 16:44:10 -07:00
Suchi Amalapurapu
b97b8f8806 Fix issue with shared user permissions.
just look in the requested permissions of packages within shared user setting rather than the granted permissions
2009-06-19 16:02:27 -07:00
Christopher Tate
6aa41f4c57 Add app version to the backup metadata
We now record the version number of the app (drawn from its manifest versionCode
attribute) along with its signatures.  At restore time, we compare the version
associated with the restore set with the version present on the device.  If the
restore set is from a newer version of the app than is present on device, we do
not perform the restore operation.

Also fix the pending-backup iteration in 'dumpsys backup'.
2009-06-19 15:24:51 -07:00
Android (Google) Code Review
cd83fd74ad Merge change 4815
* changes:
  GoogleFeedback handles errors in core apps.
2009-06-19 13:59:48 -07:00
Jacek Surazski
82a73dfb27 GoogleFeedback handles errors in core apps.
Adds support for system properties:
  ro.error.receiver.system.apps - default error report receiver for system apps
  ro.error.receiver.default - fallback error report receiver
2009-06-19 22:05:02 +02:00
Dianne Hackborn
c13713519d am 3d74bb4a: Add "why?" button to low battery dialog.
Merge commit '3d74bb4ab27ae9601f5c9c3706fad287845fb672'

* commit '3d74bb4ab27ae9601f5c9c3706fad287845fb672':
  Add "why?" button to low battery dialog.
2009-06-19 11:49:27 -07:00
Dianne Hackborn
3d74bb4ab2 Add "why?" button to low battery dialog.
This takes the user to the power usage activity.
2009-06-19 11:46:58 -07:00
Suchi Amalapurapu
c73e9ad55a am bc806f65: Remove deprecated api. Aptly rename freeStorageWithIntent to freeStorage.
Merge commit 'bc806f65edc33f6eda0f475ac84e5e037a013a90'

* commit 'bc806f65edc33f6eda0f475ac84e5e037a013a90':
  Remove deprecated api. Aptly rename freeStorageWithIntent to freeStorage.
2009-06-19 10:38:45 -07:00
Suchi Amalapurapu
bc806f65ed Remove deprecated api. Aptly rename freeStorageWithIntent to freeStorage. 2009-06-19 10:25:37 -07:00
Android (Google) Code Review
061c3b5058 am fd5f0875: Merge change 4721 into donut
Merge commit 'fd5f087536dcb04ac9c46f2b19f87a37455390b0'

* commit 'fd5f087536dcb04ac9c46f2b19f87a37455390b0':
  Make signature checks on restore work with unsigned apps
2009-06-18 20:51:09 -07:00
Christopher Tate
20efdf6b56 Make signature checks on restore work with unsigned apps 2009-06-18 19:42:24 -07:00
Android (Google) Code Review
8dbbe3b52f am 63e7155c: Merge change 4696 into donut
Merge commit '63e7155c7d1d0c3f0027400aa09e9a45f648a80d'

* commit '63e7155c7d1d0c3f0027400aa09e9a45f648a80d':
  Fix targetSdkVersion, make resize mode a flag, delayed dexopt, easy ApplicationInfo.
2009-06-18 19:35:32 -07:00
Android (Google) Code Review
63e7155c7d Merge change 4696 into donut
* changes:
  Fix targetSdkVersion, make resize mode a flag, delayed dexopt, easy ApplicationInfo.
2009-06-18 19:33:33 -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
Christopher Tate
610a0af4e3 am abce4e87: Use signatures on restore
Merge commit 'abce4e8714bed26a2b37b20ad3f02cf619d71c9a'

* commit 'abce4e8714bed26a2b37b20ad3f02cf619d71c9a':
  Use signatures on restore
2009-06-18 18:42:02 -07:00
Joe Onorato
5d605dc56b backup stuff 2009-06-18 18:41:11 -07:00
Christopher Tate
abce4e8714 Use signatures on restore
On restore now, the backup manager gets the signature blocks corresponding to
the restore set from the transport.  It then validates those signatures against
the on-device app signatures, and refuses to restore data to an app whose
on-device sig block does not match the backup image's.

Also actually implement 'bmgr transport N' so that we can select the local
transport easily during runtime.
2009-06-18 18:38:02 -07:00
Dianne Hackborn
5c1e00b14d Fix targetSdkVersion, make resize mode a flag, delayed dexopt, easy ApplicationInfo.
- Fix a bug where targetSdkVersion could not be set if minSdkVersion.  Stupid, stupid.
  Also make sure to fail if minSdkVersion is for a code name.  Really stupid.

- Change the API for resize compatibility mode to be a bit in the flags field, instead
  of a separate boolean.

- Implement delayed dexopting, to avoid the looong full dexopt during boot.  This is
  only enabled for "eng" builds.  When in this mode, the activity manager will make
  sure that a dexopt has been done before loading an .apk into a process, and will
  try to avoid displaying ANRs if they are due to the dexopt causing some operation
  to take longer than it normally would (though I make no guarantees about this
  totally working).

- Add API to Context to get the ApplicationInfo for its package, for easy access to
  things like targetSdkVersion.
2009-06-18 17:10:57 -07:00
Android (Google) Code Review
5c2f39af8d am 167dbe0b: Merge change 4670 into donut
Merge commit '167dbe0bf1f8d807d1ced400f146b7780eb6c721'

* commit '167dbe0bf1f8d807d1ced400f146b7780eb6c721':
  Update RandomBlock to use RandomAccessFile.  This helps
2009-06-18 17:07:29 -07:00
Android (Google) Code Review
167dbe0bf1 Merge change 4670 into donut
* changes:
  Update RandomBlock to use RandomAccessFile.  This helps prevent certain unusual conditions from corrupting the entropy file.  (for example, if Android should happen to crash while a write is in progress)
2009-06-18 17:05:19 -07:00
Android (Google) Code Review
e4839c4325 am 07eac016: Merge change 4682 into donut
Merge commit '07eac016446c63711bebe6e553e98c02d1fe55a5'

* commit '07eac016446c63711bebe6e553e98c02d1fe55a5':
  Store the app signatures as part of the backup set
2009-06-18 16:17:12 -07:00
Android (Google) Code Review
07eac01644 Merge change 4682 into donut
* changes:
  Store the app signatures as part of the backup set
2009-06-18 16:15:47 -07:00
Christopher Tate
6785dd8420 Store the app signatures as part of the backup set
Under a pseudo-app for the Package Manager, we store the app signatures for all
participating applications installed on the device.  At restore time we will
restore this first, then ensure that the current on-device signature chain is
compatible with the one in the backup set.  If there's a mismatch, this may be a
spoof attempt and we will refuse to restore that app's data.

The restore side of this is not implemented, but the Package Manager agent is
here as well as the backup side theoretically pushing the data now.
2009-06-18 15:58:25 -07:00
Nick Kralevich
2854254c2f Update RandomBlock to use RandomAccessFile. This helps
prevent certain unusual conditions from corrupting the
entropy file.  (for example, if Android should happen to
crash while a write is in progress)
2009-06-18 15:23:17 -07:00
Android (Google) Code Review
a791bc070f am 5ad76ef5: Merge change 4521 into donut
Merge commit '5ad76ef5ee1b437b4c07ed0be78ec7cc16c81dfe'

* commit '5ad76ef5ee1b437b4c07ed0be78ec7cc16c81dfe':
  load entropy data at boot.  Periodically write entropy data to disk.
2009-06-18 12:00:41 -07:00
Android (Google) Code Review
5ad76ef5ee Merge change 4521 into donut
* changes:
  load entropy data at boot.  Periodically write entropy data to disk.
2009-06-18 11:58:54 -07:00
Nick Kralevich
4fb256117c load entropy data at boot. Periodically write entropy data to disk. 2009-06-18 11:00:19 -07:00
Dianne Hackborn
abb01dba70 am c14b9ccd: Extend Intent/Uri conversion for use by Browser
Merge commit 'c14b9ccdf13163cae5ce5d21bcf377010b37594b'

* commit 'c14b9ccdf13163cae5ce5d21bcf377010b37594b':
  Extend Intent/Uri conversion for use by Browser
2009-06-17 22:45:54 -07:00
Android (Google) Code Review
cc4b106f73 am e64bb1dd: Merge change 4579 into donut
Merge commit 'e64bb1dd9ed68281af9968cf2cd23b4e49ead76c'

* commit 'e64bb1dd9ed68281af9968cf2cd23b4e49ead76c':
  Fix issue #1924851
2009-06-17 22:45:51 -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
Dianne Hackborn
c14b9ccdf1 Extend Intent/Uri conversion for use by Browser
This introduces a new Uri form of Intent with an "intent:" scheme, and a
corresponding update to the parser to handle these, so that the browser
can use this generic facility for starting activities based on the links
that are clicked and allow for web pages to link to arbitrary intents.

There is also a new "package" field on Intent which allows you to limit
the components it finds to a given package.  This replaces the new method
that was added to PackageManger for doing this when resolving activities,
and implements it for all Intent queries against the package manager.
2009-06-17 21:48:14 -07:00
Android (Google) Code Review
e64bb1dd9e Merge change 4579 into donut
* changes:
  Fix issue #1924851
2009-06-17 21:40:20 -07:00
Dianne Hackborn
760ec4a095 Fix issue #1924851
We now only increment the launch count when we are launching from one package
to another.  Also the individual components in a package now have a count
of the number of times they have been entered, which likewise is only updated
when going to one component from another.

This requires a new data format (all old data is wiped) and new checkin
dump format (tools must be updated to read it).
2009-06-17 21:36:52 -07:00
Android (Google) Code Review
2420186c89 am 5553f152: Merge change 3936 into donut
Merge commit '5553f1528e94377ae5adf423e91331f5eb57dd44'

* commit '5553f1528e94377ae5adf423e91331f5eb57dd44':
  add exception message to ApplicationErrorReport
2009-06-17 18:46:17 -07:00
Suchi Amalapurapu
e1fae30e20 Merge commit '0781df94' into manualmerge
Conflicts:
	Android.mk
	api/current.xml
2009-06-17 18:24:44 -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
Android (Google) Code Review
5cc37854d4 am 07ca8c71: Merge change 4438 into donut
Merge commit '07ca8c71f47ac8c61b3aef0210e44d2c48e62e48'

* commit '07ca8c71f47ac8c61b3aef0210e44d2c48e62e48':
  Fix many of the ANRs introduced by scheduling classes.
2009-06-17 15:39:06 -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
Jacek Surazski
f829a78f6c add exception message to ApplicationErrorReport
useful signal for clustering
2009-06-17 21:48:17 +02:00
Suchi Amalapurapu
1ccac75e1f Remove circular dependency in PackageManager. api freeStorage uses PendingIntent from android.app
Create a new public IntentSender class that can be used by PackageManager instead.
This new class uses IIntentSender internally and can only be created by PendingIntent for now.
Provide a new getIntentSender api in PendingIntent to create an instance of this class.
Move IIntentSender and IIntentReceiver from android.app to android.content
Change imports of IIntentSender and IIntentReceiver to reflect the new package name
The PackageManager api has been named as freeStorageWithIntent and will be renamed as freeStorage
once the older api(which has been deprecated) will be removed shortly.
2009-06-17 11:31:26 -07:00
Christopher Tate
ff4a203c78 am 63d27000: Allow privileged callers to schedule a backup pass for any app.
Merge commit '63d2700036d0f73cbde27f0fa724d30045b4bb07'

* commit '63d2700036d0f73cbde27f0fa724d30045b4bb07':
  Allow privileged callers to schedule a backup pass for any app.
2009-06-17 10:48:22 -07:00