cherry-pick https://android-git.corp.google.com/g/#change,29843 from eclair-mr2
This will cherry-pick SHA1: 58def690a87b4aa2c01331c06b61e457198de0ea
This will workaround the following three bugs which are occuring because
the webview DB is getting corrupted:
http://b/issue?id=2338178http://b/issue?id=2278210http://b/issue?id=2405650
Here are the comments from the eclair-mr2 CL:
If openOrCreateDatabase() throws an exception, delete
the old db and re-do it. If it still fails, something
bad happens, like the directory may have the different
permission. Let it throw as WebView needs the db.
Fix http://b/issue?id=2179339
Change recommendAppInstallLocation api
add code to parse new attribute.
Define flags in PackageInfo
Add new settings attributes for enabling setting and value for install location
Some tests
The policy for install location: if explicitly set in manifest as internal only we try to install the app only on internal storage. if set to preferExternal, we try to install it on sdcard if possible. If not we fall back to internal.
If the user enables setting SET_INSTALL_LOCATION(which will always
be set to false in final release builds) and sets a prefered location, we try
to honour it.
when injecting a Key, Pointer and Trackball events into the UI across
applications, the corresponding methods throw SecurityException with
incorrect permission message.
INJECT EVENT permission should be INJECT_EVENTS
LocationManagerService now uses new Java interface LocationProviderInterface
rather than LocationProviderProxy to refer to location providers internally.
LocationProviderProxy and the ILocationProvider binder interface are only
used for location providers implemented as services (NetworkLocationProvider)
Built-in location providers (GpsLocationProvider and mock providers) now just
implement LocationProviderInterface rather than using a Binder interface and proxy object.
Delete obsolete and unused TestLocationProvider class.
Change-Id: Id800e7c1864f7c666f8e37125c05896493b9c8c4
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit 'e524ff534e1aabc45819e978c26bf61d9b71f444'
* commit 'e524ff534e1aabc45819e978c26bf61d9b71f444':
Add generated html docs for SampleSyncAdapter and CubeLiveWallpaper. Add article for live wallpaper.
Merge commit '859f455645bc49e32330108b1ea9f85ffb80a2cd' into eclair-plus-aosp
* commit '859f455645bc49e32330108b1ea9f85ffb80a2cd':
Add generated html docs for SampleSyncAdapter and CubeLiveWallpaper. Add article for live wallpaper.
This file contains uid + debugFlag + dataPath information for
each non-system installed package. It is meant to be used later
from native code and thus needs to be considerably simpler to
parser than packages.xml.
The file should only be readable by non-system userIds, and its
format is essentially line-based with each line like:
<pkgName> <uid> <debugFlag> <dataDir>
With:
<pkgName> as the package name
<uid> as the application-specific user id
<debugFlag> either 0 or 1. 1 if the package is debuggable
<dataDir> path to the package's data directory
We need the debug flag to allow 'run-as' to only allow
commands to be executed on debuggable packages, even on
production devices.
Just like with db_operation, operations over 100ms are always logged,
while operations under that are subsampled.
This will help with performance analysis, getting real-world
performance numbers from dogfooders.
In locales that use month numbers instead of names, use *just* the number
instead of also the word for month to be consistent with the other fields,
which also show just a number instead of a number plus the word for day
or year.
Bug 2289276
This is to capture recently added top level domains.
modified: common/java/com/android/common/Patterns.java
modified: common/tests/src/com/android/common/PatternsTest.java