Renamed the RestoreSession performRestore() method to restoreAll(), and
added a new restorePackage() method that only restores the single
specified app. In order to restore an app other than itself, the
caller must hold the android.permission.BACKUP permission.
This change also introduces dataset tracking: the Backup Manager
persistently remembers both the current backup dataset's identity
and that of the "ancestral" dataset, i.e. the one most recently used
for a whole-device restore such as performed by SetupWizard. When a
single package is restored via restorePackage(), the selection of
most-recent dataset to use is this:
1. The data from the currently-active backup dataset, if such exists.
An app that has ever backed up data will therefore get its last-
known-good data.
2. The app's data from the ancestral dataset, if such exists. This
covers the case of a factory reset followed by reinstallation of
an app at a later time. The app had not yet backed anything up
post-wipe, but the old data is in the ancestral dataset and should
be brought forward when the app reappears.
3. If neither 1. nor 2. exist, there is no data to restore, so just
skip it and return failure.
Note that the infrastructure to automatically attempt a restore after
an application has been installed does not yet exist; that's coming.
Change-Id: I0ba170df9885128000c46ed28d3dddda3a63a143
The new flag, DISABLE_NOTIFICATION_TICKER, will be used by
the car dock app (in conjunction with DISABLE_EXPAND) to
minimize distractions to the driver.
It may also be used by the secure lockscreen to avoid
leaking personal information when the screen is on but the
device is locked (e.g. when the desk dock app is running).
Change-Id: Ibc8efde7da7501767163ae0a75f7c369b824e2a2
Note that Rfc822Tokenizer.tokenize(CharSequence text) is already in the SDK
and it just wraps the version I am unhiding.
Change-Id: I1ac3b405a04df960fc1e65ca4797d6f5adf85dc4
Move ContentLoader and FileLoader to this new way
as they involves IO. Will work on CacheLoader later.
Change StreamLoader to contain a Handler instead of
derive from a Handler so that the Handler can be
created in the thread where load() is called.
Rename StreamLoader's old "LoadListener mHandler"
to mLoadListener.
Remove unused import and unreachable exception.
Fix http://b/issue?id=2158613
This improved page_cycler performance in moz/intl by
10-30% as we are not blocked by IO any more.
This adds three new features:
- <original-package android:name="com.foo" /> manifest tag.
This allows an .apk to specify another package it originally came from,
propagating all state and data from the old to new package.
- <adopt-permissions android:name="com.foo" /> manifest tag.
In some more complicated cases, a new .apk may be a combination
of multiple older .apks that each declared their own permissions.
This allows you to propagate the permissions from these other
.apks into the new one.
- A new system/etc/updatecmds directory.
You can place files here which describe data files to move from
one package to another. (See below for details.)
Also in this change: we now clean up the data directories of
.apks that disappear from the system image, and some improvements
to logging and reporting error messages.
A typical file in the updatecmds directory looks like this:
-------
com.google.android.gsf:com.google.android.providers.talk
databases/talk.db
com.google.android.gsf:com.google.android.googleapps
databases/gls.db
-------
This says that for com.google.android.sfs, there are two packages to
move files from:
From com.google.android.providers.talk, the file databases/talk.db.
From com.google.android.googleapps, the file databases/gls.db
As part of moving the file, its owner will be changed from the old
package to whoever is the owner of the new package's data directory.
If those two files had existed, after booting you would now have the
files:
/data/data/com.google.android.gsf/databases/talk.db
/data/data/com.google.android.gsf/databases/gls.db
Note that all three of these facilities assume that the older .apk
is completely removed from the newer system. The WILL NOT work
correctly if the older .apk still remains.
This setting, like BACKUP_ENABLE, should never be set directly in the secure
settings database. Instead, it should be manipulated through the new IBackupManager
method setAutoRestore(boolean).
Change-Id: I5c3226ca85b6148bb756d753d7f9e4ea76e878c4
Remove this class, again, and change the webkit uses of it to use the
one in android-common. Remove class from preloaded-classes as well.
Change-Id: Ic0d4835e77180d299bc2c22b7c8780861b4781ee
This restores this class to android.webkit, but leaves a copy in
android-common while I figure out how to move it correctly.
This reverts commit 7ad12a5f44253dc535f9a25ceb029579b40c43b1.
Change-Id: I1d0a3efe34764058b979c6987e6e774f64d02b8c
As part of this, make it possible for DRT to configure the timeout threshold between sending touch events to WebCore as the Layout Tests only synthesize single events, not a stream. Because of this, they often get dropped by the WebView for coming too quickly.
Skip the multi touch test as we don't support multi touch in the Browser.
Change-Id: I7b9830f43181fea33206825b49ef2e294269b4dd
Revert the frameworks/base part of the change so we can "do not merge" the external/webkit change and get the build working again. We can then later resolve
the conflict in external/webkit in master directly.
This reverts commit 9ecd9437ed57bedfa2a7626430be03f4924f6b42, reversing
changes made to 019fe73ddbf52edd1819e1d85a0b242ebccc7fc3.
Change-Id: Id1404fb056b033ebd60529dd326ec9a3c32f94b0
Merge commit '4ed2b1c34b2dd0e2bd2f403a6f3de0bdbf473b98' into eclair-mr2-plus-aosp
* commit '4ed2b1c34b2dd0e2bd2f403a6f3de0bdbf473b98':
Pass touch event time from Java to WebKit