• Home
  • History
  • Annotate
  • only in /frameworks/base/core/tests/coretests/src/android/content/
History log of /frameworks/base/core/tests/coretests/src/android/content/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a3e90798b7ad3ed62e5b31842c699b2f98bd457b 18-Oct-2012 Kenny Root <kroot@google.com> Robustly add symlink and add for non-primary users

Amazingly, some apps still don't use the nativeLibraryPath. So add a lib
symlink for non-primary users to fix that.

Also, there was an error when the symlink existed that it would give up.
This shouldn't really happen, but in that case, just remove it and
create a new one to be safe.

Also, move the downgrade code to the appropriate place. This downgrade
case triggered the above symlink existing bug.

Bug: 7318366
Bug: 7371571
Change-Id: Ia175b36d98f00bdc2f2433b909aafd524eb34d15
m/PackageManagerTests.java
9dbbfcda81f251f23aded866f7f9d49d8a744c75 28-Sep-2012 Ben Gruver <bgruv@google.com> Merge "Pass the originating uid to the package verifier" into jb-mr1-dev
625239a05401bbf18b04d9874cea3f82da7c29a1 27-Sep-2012 Jeff Sharkey <jsharkey@android.com> Migrate more Secure settings to Global.

Migrate networking, storage, battery, DropBox, and PackageManager
related Secure settings to Global table.

Bug: 7232014, 7231331, 7231198
Change-Id: I772c2a9586a2f708c9db95622477f235064b8f4d
m/PackageManagerTests.java
37d83a3caf138e35fa1a355787d20c351f6b37a6 27-Sep-2012 Ben Gruver <bgruv@google.com> Pass the originating uid to the package verifier

Bug: 6923241
Change-Id: I85a3e0d53b469543cb0551d3a440d2663b5d0697
m/VerificationParamsTest.java
16aa9736175f5bbe924a6e5587a2ca47c2dd702b 18-Sep-2012 Christopher Tate <ctate@google.com> Per-user content observer APIs

Callers with INTERACT_ACROSS_USERS_FULL permission can now observe content
for a given user's view (and can notify content uri changes targeted to a
specific user). An observer watching for UserHandle.USER_ALL will see all
notifications for the given uri across all users; similarly, a notifier
who specifies USER_ALL will broadcast the change to all observers across
all users.

The API handles both USER_ALL or USER_CURRENT, and explicitly forbids
any other "pseudouser" designations.

This CL also revs the Settings provider to notify with USER_ALL for
changes to global settings, and with only the affected user's handle
for all other changes.

Bug 7122169

Change-Id: I94248b11aa91d1beb0a36432e82fe5725bb1264f
bserverNodeTest.java
e15bdc2da4c74c8d16db8c1d067a42c4767d1003 17-Sep-2012 Kenny Root <kroot@google.com> Add test for failed dexopt

Bug: 7010829
Change-Id: Ie0616ff2c3739ad73733857de6d04243b2be2fca
m/PackageManagerTests.java
13d428e8306d1bb1a3017045bc5d2f76edec32df 13-Sep-2012 rich cannings <richc@google.com> Send more information to verifiers

Send package name, version code and the uid of the application requesting the
install to package verifiers.

Bug: 7164155
Change-Id: I2464dc5d4551f60b4f38f7982495a8920c83e1cd
m/VerificationParamsTest.java
ddbe50df2ca70700a46e5849347989b520d1113e 06-Sep-2012 Kenny Root <kroot@google.com> Move native libraries to /data/app-lib

Instead of unpacking libraries into /data/data/<appname>/lib, unpack
them into /data/app-lib so that multi-user applications can use the same
libraries.

Change-Id: I636dafb5a9eea8cf5a41f1360698e7695455f385
m/PackageManagerTests.java
7e921a157d1aca97506302637d4f3843ddc2b982 09-Sep-2012 Kenny Root <kroot@google.com> Add more testing for native libraries

Make sure that native library paths have the correct permissions and
owners. Also make it easier to do a "String#startsWith" test so we can
get better errors when it fails.

Change the observer to have more sane semantics with a CountDownLatch
instead of weird synchronization on a local variable.

Change-Id: I2437e5ea886d6e6cb8b4edeab80d6053b79857d4
m/PackageManagerTests.java
25c925e6659e57f1cc8fef83be07f3917a108e3c 09-Sep-2012 Kenny Root <kroot@google.com> Throw ALL the exceptions! (in the PackageManagerTests)

Change all the test method headers to throw Exception so we don't have
to try to catch anything during the tests. Catching an exception might
mask an error during the tests.

Also fix a lot of formatting errors that have built up over the years.
This includes 3-space indentations instead of 4-space, missing spaces
between braces and parens, too-long lines, wrapping when it isn't
needed, etc.

Change-Id: Ifccea5f0706b6f9235f37974a5f80bee76c654dd
m/PackageManagerTests.java
7de350a91301985b7f2d9f28edde5aade8495d9b 08-Sep-2012 Nick Kralevich <nnk@google.com> installd: fix forward locking symlink

installd was not creating a compatibility symlink when
installing a forward locked application. Fix.

Bug: 7121527
Change-Id: Ied507ab2b759d8658af563e6ac8f0dbb0d286cce
m/PackageManagerTests.java
7767eac3232ba2fb9828766813cdb481d6a97584 24-Aug-2012 Dianne Hackborn <hackbod@google.com> Keep track of whether an app is installed for each user.

This add a new per-user state for an app, indicating whether
it is installed for that user.

All system apps are always installed for all users (we still
use disable to "uninstall" them).

Now when you call into the package manager to install an app,
it will only install the app for that user unless you supply
a flag saying to install for all users. Only being installed
for the user is just the normal install state, but all other
users have marked in their state for that app that it is not
installed.

When you call the package manager APIs for information about
apps, uninstalled apps are treated as really being not visible
(somewhat more-so than disabled apps), unless you use the
GET_UNINSTALLED_PACKAGES flag.

If another user calls to install an app that is already installed,
just not for them, then the normal install process takes place
but in addition that user's installed state is toggled on.

The package manager will not send PACKAGE_ADDED, PACKAGE_REMOVED,
PACKAGE_REPLACED etc broadcasts to users who don't have a package
installed or not being involved in a change in the install state.
There are a few things that are not quite right with this -- for
example if you go through a full install (with a new apk) of an
app for one user who doesn't have it already installed, you will
still get the PACKAGED_REPLACED messages even though this is
technically the first install for your user. I'm not sure how
much of an issue this is.

When you call the existing API to uninstall an app, this toggles
the installed state of the app for that user to be off. Only if
that is the last user user that has the app uinstalled will it
actually be removed from the device. Again there is a new flag
you can pass in to force the app to be uninstalled for all users.

Also fixed issues with cleaning external storage of apps, which
was not dealing with multiple users. We now keep track of cleaning
each user for each package.

Change-Id: I00e66452b149defc08c5e0183fa673f532465ed5
m/PackageManagerTests.java
0c3804950236fe170ebf6cc7a5f1e3e305b8f315 21-Aug-2012 Dianne Hackborn <hackbod@google.com> Improve multi-user app management.

Introduce API to get per-user storage information, keep track
of services associated with users, and various small cleanup.

Change-Id: I5d4e784e7ff3cccfed627d66a090d2f464202634
m/AppCacheTest.java
706e8ba26bf0de19ad5f736516dae40c4c88c2d7 20-Aug-2012 rich cannings <richc@google.com> Pass URLs to package verifiers

This change passes the originating URL and accompanied referrer to
package verifiers, when available.

Bug: 6544677
Change-Id: I9ebc71bc13f549bd88267e444816151a99bda000
m/VerificationParamsTest.java
f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8 16-Aug-2012 Dianne Hackborn <hackbod@google.com> Rename UserId to UserHandle.

This is the start of turning this into a formal public API.

Change-Id: I5786d2c320f1de41a06ed5d0f65adb68967287a0
m/AppCacheTest.java
535d3b3f3363af6a5f2acb620542baec4cb96b45 16-Jun-2012 Kenny Root <kroot@android.com> am 0cf34218: Merge "Adding test cases for getInstalledPackages"

* commit '0cf342184e030ee6f65d87eeba48484725910a8b':
Adding test cases for getInstalledPackages
f2f1b6c94685147a6260cc70909247a96bcbe81f 26-May-2011 Martin Wallgren <martin.wallgren@sonyericsson.com> Adding test cases for getInstalledPackages

There was an earlier fix for a case where the binder
heap would run out of space when calling the
getInstalledPackages. This could happen when there were
a lot of installed packages.

This change adds some test cases to verify that fix.

Change-Id: I8e0c5f674bf2098adcff6d40893f94162961031f
m/PackageManagerTests.java
103d53005e7a3c2735f4ac76fa9b795a7e7e39d7 10-May-2012 Kenny Root <kroot@google.com> Use long instead of int for file offsets

Use long instead of int so we don't run into a 2GB file limit.

Fix possible overflows in offset and length.

Change-Id: Idb3a34f5600f9c2372b9c89256f21757049fa43b
m/LimitedLengthInputStreamTest.java
ceb1b0bfaea56251796b08c07b963de7403d84eb 24-Apr-2012 Anonymous Coward <nobody@android.com> Add encryption parameters to package installation

Change-Id: Ic9f8ab9f8110f08bb3c00725cfce5b8ee7b766f3
m/ContainerEncryptionParamsTest.java
m/LimitedLengthInputStreamTest.java
m/MacAuthenticatedInputStreamTest.java
dc47556cb37b6f25faceb5eb97cef60d384b55fb 05-May-2012 Fred Quintana <fredq@google.com> fix expedited syncs. there were times when an expedited sync wouldn't
correctly preempt non-expedited syncs

Change-Id: Ia88ce6504c06d7c8e50e40362e8bf2b85bd0934b
yncStorageEngineTest.java
bf023589b3d9994f43823c7cb0450d278b084f9b 03-May-2012 Kenny Root <kroot@google.com> Fix some problems with ASECs

On devices that had external storage, permissions weren't set correctly
on non-forward-locked applications. Also, moving forward locked
applications didn't work since DefaultContainerService wasn't able to
read it.

Fixed some faulty unit tests as well.

Bug: 6427212
Change-Id: I5c1f0bf5278549069c78939f0708c4c43a7d4006
m/PackageManagerTests.java
6dceb88f1c7c42c6ab43834af2c993d599895d82 12-Apr-2012 Kenny Root <kroot@google.com> Allow forward locked apps to be in ASECs

We couldn't put forward-locked apps in ASEC containers before since we
didn't have any permissioned filesystems. This adds the ability for
forward-locked applications to be in ASEC containers.

This means that forward locked applications will be able to be on the SD
card now.

This change also removes the old type of forward-locking that placed
parts of apps in /data/app-private. Now all forward-locked applications
will be in ASEC containers.

Change-Id: I17ae0b0d65a4a965ef33c0ac2c47e990e55707ad
m/PackageHelperTests.java
m/PackageManagerTests.java
b7c24702c26c7824f025d603d703ddf2f19ddb30 15-Apr-2012 Kenny Root <kroot@google.com> Better error reporting for PackageManager tests

The unit tests were eating failure reasons. Remove some assertions so
the useful messages percolate up to the JUnit report.

Change-Id: Ica8efe403ca3eb4f0c4f2a18939a22085f74a08f
m/PackageManagerTests.java
483f3b06ea84440a082e21b68ec2c2e54046f5a6 14-Mar-2012 Amith Yamasani <yamasani@google.com> Package restrictions per user

Packages can be enabled/disabled per user.
This requires maintaining stopped/launched states and
enabled / disabled components and packages per user.

Refactored pm.Settings and PackageSettingsBase to keep
track of states per user.

Migrated the stopped-packages.xml to users/<u>/package-restrictions.xml

Changed intent resolution to handle individual user restrictions.
Bunch of IPackageManager calls now have a userId argument.
Make AppWidgetService handle removals of packages.

Added some tests for pm.Settings and PackageManager.

Change-Id: Ia83b529e1df88dbcb3bd55ebfc952a6e9b20e861
m/AppCacheTest.java
04e0d265e3385e9d1fbc35e43c4e8caffbbe3290 14-Feb-2012 Amith Yamasani <yamasani@google.com> Make SyncManager and AccountManagerService multi-user aware.

AccountManagerService
- Maintain multiple account lists, one per user
- Keep multiple databases of accounts
- Account db moved to /data/system/users/<userid>/

SyncManager
- SyncStorageEngine keeps track of multiple users' accounts.
- SyncQueue maintained as a single instance, queueing requests from
multiple users.
- Changed some methods to take userId arguments
- Removed some deadc0de
- Store the userId in the SyncOperation, so we know which provider
instance to bind to when queued operations are processed.

ContentService
- Pass along the userid to sync manager calls.

ActivityManagerService:
- Fixed a bug in cancelIntentSender
- Don't bring other user's task forward when resetting tasks.

Updated tests

Change-Id: If317340ef68e902787aa3f5ceb4cf96f14aea695
yncOperationTest.java
yncStorageEngineTest.java
a0f264e1afa3c0a00a5af0db362f884b122d978d 14-Sep-2011 Kenny Root <kroot@google.com> Be more forgiving in parsing verifier IDs

RFC 4648's Base32 is made to be forgiving for users doing manual entry
of the digits. For this reason we want to be able to parse lowercase
letters as uppercase and number 0 (zero) as letter O along with number
1 (one) as letter I.

Change-Id: Ide760aff84f97c3e06af8bf8d006f36c74033a41
m/VerifierDeviceIdentityTest.java
0aaa0d931716e9f57a1d84d795fab2df75092756 13-Sep-2011 Kenny Root <kroot@google.com> Add verifier device identity

This adds a special device identifier that is usable only for device
validation. The user will be presented with this number encoded in
easily-transcribable Base32 in the Developer options of Settings.

Change-Id: I4843f55ee90d689a51d0269b22454ca04c1be7ec
m/ManifestDigestTest.java
m/PackageManagerTests.java
m/VerifierDeviceIdentityTest.java
13c7197da8a16f77f6398708a6314c80cb01e0d1 08-Sep-2011 Ben Komalo <benkomalo@google.com> Revert encryption mapping for device wipes.

External storage volumes that were emulated+encrypted needed to have
their encryption mapping removed so that it doesn't try to encrypt the
volume after formatting them.

This just wires through an argument through vold, and assumes that vold
will do the right thing even if there is no encryption mapping set.

Bug: 5017638
Change-Id: I858fae3d12cb415bc34637f520f71220ad9daaad
m/PackageManagerTests.java
bcc954d772e8cd5ef640060cbc0be50e7e4778f2 09-Aug-2011 Kenny Root <kroot@google.com> Manifest digest stored during package scanning

This allows things that scanned an APK to pass a hash of the manifest to
others that would then be able to compare it.

Change-Id: I465f5edf3acab2a952c3d321c8df2247ffe012ea
m/ManifestDigestTest.java
1ebd74acf9977daa42133507e970dab88e08f0ef 04-Aug-2011 Kenny Root <kroot@google.com> Better error codes for missing files

Make sure that files that don't exist aren't returning bogus 'out of
space' error codes.

Add some Javadoc so I can remember what each thing does in an IDE.

Add copyright header to NativeLibraryHelper

Bug: 3375299
Change-Id: Iac46019160921daca65b21d38897e5165063316e
m/PackageManagerTests.java
1b64e0d8657463c0f7ce9b068a16a522cdfe7d28 18-Jul-2011 Dianne Hackborn <hackbod@google.com> Work on death recipient leaks in Activity Manager and Content Service.

This should fix a leak of process death recipients in the activity manager.

Also add debugging of content observers to try to track down what looks
like a leak of them in the content service.

Change-Id: Id6823679493ef0cde5307bb66490ebe31b878556
bserverNodeTest.java
a47f45e4829f812ff47f9e5c9370b02284d92ae8 15-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Introduce LocalUtil and getLayoutDirectionFromLocale() now use likelySubtags

- move code from Configuration to LocaleUtil
- move unit tests

Change-Id: Ic14b0131894a0c5618f00d4acb3edb0daadefe01
es/ConfigurationTest.java
7a736fbf69dd6f03db968d7d8182024eebc0e508 10-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Update Configuration for renaming and fixes

- rename layoutDirection to textLayoutDirection
- rename constants for being clear that they cannot be used (work in progress)
- fix a few issues concerning default switch case and relation to Locale

Change-Id: Icfe9a9b5c0d1c0e28e5a893549b437fc4fa5df82
es/ConfigurationTest.java
7194efd394ce0b38a74bab87206adfd9ff823742 09-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Add Configuration.getLayoutDirectionFromLocale()

- returns LAYOUT_DIRECTION_UNDEFINED / LAYOUT_DIRECTION_LTR / LAYOUT_DIRECTION_RTL depending on the Locale
- add unit tests

Change-Id: I4372734eb011cbf6270f39ba815e696b04f2352f
es/ConfigurationTest.java
8f7aad147d790b25bae7301827e070df72690341 05-Apr-2011 Brad Fitzpatrick <bradfitz@android.com> am f7a34b15: am e558a000: Merge "Avoid crash in system server when mounting container"

* commit 'f7a34b15986f8c00bc6fb941a40f9acbe2c21aff':
Avoid crash in system server when mounting container
a20c8ef471666cf8b0dca91a8739ff18af1741a5 09-Feb-2011 Fredrik Helmer <fredrik.helmer@sonyericsson.com> Avoid crash in system server when mounting container

A race condition when mounting a container in PackageHelper may cause
the system_server to crash (uncaught exception). Calling methods are
prepared to handle null, so return null instead.

Change-Id: I852ee21a2d847e37d81c1b900c27ddf94ef24fcb
m/PackageHelperTests.java
c39bb4aaa7be1b9b0cc9fb0b1f03d54f7609ffeb 28-Feb-2011 Kenny Root <kroot@google.com> Switch to returnCode for IPackageDeleteObserver

Before the IPackageDeleteObserver only knew whether the deletion
succeeded or failed, but not the reason why.

Bug: 2520191
Change-Id: I1f0d7c04f06c539660b6e17e7e133defb0f61b5b
m/PackageManagerTests.java
db569b49180621c01fa55db88ed92071aae9b3bb 01-Feb-2011 Dianne Hackborn <hackbod@google.com> am 6cf32312: Merge "Do not check features in PackageManagerService" into honeycomb

* commit '6cf32312aaee6716ffd1df7098838b08d80054e4':
Do not check features in PackageManagerService
b04ec6a8a7e6a684eb4b8d434c87b76bbac9c80c 01-Feb-2011 Dianne Hackborn <hackbod@google.com> am 7a7ed2b2: Merge "Do not check features in PackageManagerService DO NOT MERGE" into gingerbread

* commit '7a7ed2b21233480d63a1f6b3830e3b0c1c6a3298':
Do not check features in PackageManagerService DO NOT MERGE
4c3915a0f73e51d0c70d93fe5b9ed125d5739b93 01-Feb-2011 Kenny Root <kroot@google.com> Do not check features in PackageManagerService

PackageManagerService shouldn't check features that a package declares
that it uses because this will cause problems in the future when we add
more features that older phones didn't explicitly declare. We must rely
on markets to know about phones and filter them for us to avoid this
situation.

Bug: 3409434
Change-Id: I419a5b936be3572b83a485081a6c81b2f1c8741c
m/PackageManagerTests.java
fa2ae1ad1ad2f6c905a9de713038338a24d9ae7c 01-Feb-2011 Kenny Root <kroot@google.com> Do not check features in PackageManagerService DO NOT MERGE

PackageManagerService shouldn't check features that a package declares
that it uses because this will cause problems in the future when we add
more features that older phones didn't explicitly declare. We must rely
on markets to know about phones and filter them for us to avoid this
situation.

Bug: 3409434
Change-Id: I0d51b2de33d8110edc6824af4b5b8c901f96077f
m/PackageManagerTests.java
a33dd09b5cc62b50afc3a15cd8b67b5344756f1e 17-Jan-2011 Kenny Root <kroot@google.com> am d6c54d97: Merge "Revert "Add the {get,set}PackageObbPaths calls to API"" into honeycomb

* commit 'd6c54d97867edd566700c535f3edf57dd4396350':
Revert "Add the {get,set}PackageObbPaths calls to API"
a1cbb94dbc9a82d4eb3a47242fe161af21803858 17-Jan-2011 Kenny Root <kroot@google.com> Revert "Add the {get,set}PackageObbPaths calls to API"

This reverts commit 5d40fe9c6846ba765072e50ed1254293cb9195e4.

Change-Id: Ie41010c92fb860b19a12bcf63f6fe95ffa68da81
m/PackageManagerTests.java
e26aa3f78a33af5720e141e98a1ab0c77ef0456d 17-Jan-2011 Kenny Root <kroot@google.com> am 34d2b41e: Revert "Add the {get,set}PackageObbPaths calls to API"

* commit '34d2b41e48281d1df2c844e004740f008e699093':
Revert "Add the {get,set}PackageObbPaths calls to API"
34d2b41e48281d1df2c844e004740f008e699093 17-Jan-2011 Kenny Root <kroot@google.com> Revert "Add the {get,set}PackageObbPaths calls to API"

This reverts commit 6c4d904851772313930f800ac7c323cf90c709bb.

Going with a different tactic that doesn't dump stuff on
PackageManagerService.

Bug: 3214719
Change-Id: I0bbeccf3c21d264deda4256eb53713d2c98284f4
m/PackageManagerTests.java
d9fa11b446da5dbc92776518c20bab1f04e55537 14-Jan-2011 Kenny Root <kroot@google.com> am 312206b9: Merge "Add the {get,set}PackageObbPaths calls to API" into honeycomb

* commit '312206b98749bbe395416634e6e82bd242b1d5f2':
Add the {get,set}PackageObbPaths calls to API
5d40fe9c6846ba765072e50ed1254293cb9195e4 14-Jan-2011 Kenny Root <kroot@google.com> Add the {get,set}PackageObbPaths calls to API

Add getPackageObbPaths() and setPackageObbPaths() to the public API.

Bug: 3214719
Change-Id: I8627b5f674a795d5780eb5c08911419110670a41
m/PackageManagerTests.java
470750793b6e930a323ee63cbed05c43dc435ba1 13-Jan-2011 Kenny Root <kroot@google.com> am e8c04db7: Merge "Add the {get,set}PackageObbPaths calls to API" into gingerbread

* commit 'e8c04db71e347396e9537ead7113ba9f46706e44':
Add the {get,set}PackageObbPaths calls to API
c31e095e2b3b6966f97766a7deee44fe0b92f96b 13-Jan-2011 Kenny Root <kroot@google.com> am e7b2310a: Merge "Make sure AppCacheTest casts to long" into honeycomb

* commit 'e7b2310a856889aa1e683104039033ada3f6b696':
Make sure AppCacheTest casts to long
6c46760b723cf010a456f71b5d3013bff60f33d8 12-Jan-2011 Kenny Root <kroot@google.com> Make sure AppCacheTest casts to long

AppCacheTest was multiplying two integers that were too large for
devices that had more free space than 32-bits could represent.

Hopefully no one releases devices with 1TB soon.

The testAppCacheClear test doesn't work currently because it has an
"imax" attribute that doesn't allow the disk to be filled up entirely.
It only writes a couple hundred MB before it gives up.

Bug: 3216419
Change-Id: Ie371f42211bab65f2c767b36d9837ce76922501e
m/AppCacheTest.java
aee96e9773c0bddc64f80c4d9ebc0b132726ea1d 12-Jan-2011 Kenny Root <kroot@google.com> am 5e9ba49f: Merge "Skip SD card tests on devices without SD cards" into honeycomb

* commit '5e9ba49f5efed4f0adc7ffcf5052668cdfd92a25':
Skip SD card tests on devices without SD cards
3c6768958433a7a1f1724ab97481b2c8affcfba1 12-Jan-2011 Kenny Root <kroot@google.com> Skip SD card tests on devices without SD cards

Tests were giving false failures when they should instead be skipped.
Forcing an install to an SD card on a device without one shouldn't count
as a failure. It's expected behavior.

Bug: 3216422
Change-Id: Ia523861d1331e74c76b434f7ba73b642d474a9cc
m/PackageManagerTests.java
43194ce05eef26665572fb248a108fd24d247a8f 12-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 52d70722: am cb842753: Merge "Closing cursor in finalizer to avoid GREF and fd leak in acore"

* commit '52d70722654548d156bd7a1cb8c1f05b94b09f06':
Closing cursor in finalizer to avoid GREF and fd leak in acore
52d70722654548d156bd7a1cb8c1f05b94b09f06 10-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am cb842753: Merge "Closing cursor in finalizer to avoid GREF and fd leak in acore"

* commit 'cb8427538dfdc5eae941e377b11bfd11a95fc5a5':
Closing cursor in finalizer to avoid GREF and fd leak in acore
872a52c6b637faf75262b83fe68ff4e0d9fe044c 20-Dec-2010 Johannes Carlsson <johannes.carlsson.x@sonyericsson.com> Closing cursor in finalizer to avoid GREF and fd leak in acore

The finalize() call did not clean up completely, this eventually
caused the android.process.acore to crash since it ran out of fds
and GREF to increased above 2000 if an application forgot to close
its cursor objects. A warning was also added when this happens so
that application developers can correct their mistake. The
included test case tries to verify that the finalizer works as
expected by creating a bunch of Cursor objects without closing
them (without this fix the acore process crashes after about 400
iterations and the test case ends with "Process crashed").

Change-Id: I11e485cef1ac02e718b2742108aa88793666c31d
ontentResolverTest.java
6c4d904851772313930f800ac7c323cf90c709bb 19-Nov-2010 Kenny Root <kroot@google.com> Add the {get,set}PackageObbPaths calls to API

Add getPackageObbPaths() and setPackageObbPaths() to the public API.

Bug: 3214719
Change-Id: Icb9f2f92f8c59bb3d31317f609854e81abbd1449
m/PackageManagerTests.java
1683afac148f5bce186f7af7a6a8ea6294ecd379 07-Jan-2011 Kenny Root <kroot@google.com> Fix check for required features

The required features check was in an null check for usesLibraries, so
it wasn't checking for required features when an application did not use
a library.

Bug: 3331713
Change-Id: I96d366ba00d4962b84f3796be97e2b622eb331a5
m/PackageManagerTests.java
d41fe75f09fa09fc708d389572639511d745c20e 22-Dec-2010 Alon Albert <aalbert@google.com> Improved ignore-backoff handling
Allow a non-epidited ignore-backoff op to pass through
an expidited backed off op.

To do this, I first refactored the complicated if statement:

if (best == null
|| ((bestSyncableIsUnknownAndNotARetry == syncableIsUnknownAndNotARetry)
? (best.expedited == op.expedited
? opRunTime < bestRunTime
: op.expedited)
: syncableIsUnknownAndNotARetry)) {
best = op;
bestSyncableIsUnknownAndNotARetry = syncableIsUnknownAndNotARetry;
bestRunTime = opRunTime;
}

Into a more readable:
boolean setBest = false;
if (best == null) {
setBest = true;
} else if (bestSyncableIsUnknownAndNotARetry == syncableIsUnknownAndNotARetry) {
if (best.expedited == op.expedited) {
if (opRunTime < bestRunTime) {
// if both have same level, earlier time wins
setBest = true;
}
} else {
if (op.expedited) {
setBest = true;
}
}
} else {
if (syncableIsUnknownAndNotARetry) {
setBest = true;
}
}
if (setBest) {
best = op;
bestSyncableIsUnknownAndNotARetry = syncableIsUnknownAndNotARetry;
bestRunTime = opRunTime;
}

The refactoring was all done automatically with IntelliJ to avoid human error
in the conversion.

After verifying this code still behaved as expected including the error
condition in the bug, I added handling for the cases when a non-expidited op
may override an expedited op if certain conditions occur, specificaly, if the
expidited op is backed off and the non-expidited op is not.

Finally, refactored to make it testable and added tests and logging.

Bug: 3128963

Change-Id: I131cbcec6073ea5fe425f6b5aa88ca56c02b6598
yncQueueTest.java
0c4d04ac2e8aa62560d8d767fa1c87e5361b0b08 04-Nov-2010 Fred Quintana <fredq@google.com> allow sync adapter authors to control more policies

- let the SyncManager know that the SyncAdapter can handle
parallel syncs even within sync adapter types
- allow indicating that the sync adapter should be auto
initialized without requiring the sync adapter to run first.
When this setting is used then setIsSyncable(1) is automatically
called for the sync adapter.

Change-Id: Ib40eba95c2556eaee4bb0fe715f379af1b72b84a
yncOperationTest.java
7e118b5ba06fd285a2bef593f481571903b22421 24-Nov-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2898737 (add unit tests for SyncOperation.toKey())

Change-Id: I25ae95c9ca67ae5dcb71ff427d976e3e93b48125
yncOperationTest.java
553a53ef9ff789dff8b5a74dfea4d6f37feeb263 04-Nov-2010 Ficus Kirkpatrick <ficus@android.com> Make saveRecentQuery() async.

Bug: 3163612
Change-Id: Idd3c1925e0f1dc3272dd1303d8f2907c5c5fca8b
earchRecentSuggestionsProviderTest.java
5bc3addb453ba1daad366862a24be654a06ff447 10-Oct-2010 Kenny Root <kroot@google.com> am 0689b60b: am 54e01e0f: Merge "Symlink application lib directory when on SD card" into gingerbread

Merge commit '0689b60b8644d7c4c76e5cdf7e6ce5cc4c5be124'

* commit '0689b60b8644d7c4c76e5cdf7e6ce5cc4c5be124':
Symlink application lib directory when on SD card
6a6b007c77e5cab7ee435506a4f65824f52028b6 08-Oct-2010 Kenny Root <kroot@google.com> Symlink application lib directory when on SD card

This will help legacy games that use dlopen() to directly access the
/data/data/<app>/lib directory before the
ApplicationInfo.nativeLibraryDir was part of the API.

Change-Id: Ie9f3e7239b6334708b5d086ffafe66a507f6d9da
m/PackageManagerTests.java
c5610a4c1308e2d52108131fbdef35e432a414b6 07-Oct-2010 Kenny Root <kroot@google.com> am cfc80bd5: am 2c3360fe: Merge "Remove lingering system app native libs in /data" into gingerbread

Merge commit 'cfc80bd5c1e4f0207357b288b1b7b8374a31ba70'

* commit 'cfc80bd5c1e4f0207357b288b1b7b8374a31ba70':
Remove lingering system app native libs in /data
c7912274b0e08365561531183bf2af106a48ec69 07-Oct-2010 Brett Chabot <brettchabot@android.com> am 111a4135: am b9a40068: Merge "Failing test cleanup." into gingerbread

Merge commit '111a4135d84485eff85bbca6a96cd91886deb7ba'

* commit '111a4135d84485eff85bbca6a96cd91886deb7ba':
Failing test cleanup.
918339ab8255f8e1d03d8448ab1d9036c7c15173 05-Oct-2010 Fred Quintana <fredq@google.com> Make a separate active sync queue for initialization and regular syncs.

This entails allowing multiple syncs to happen in parallel, with
different limits for regular and initialization syncs.

Change-Id: I0e47c6515af5c98faf899f91855b342b0d0c708c
yncQueueTest.java
831baa2e2566bf1d243c06918672abd5ff786105 05-Oct-2010 Kenny Root <kroot@google.com> Remove lingering system app native libs in /data

If a system app had a lingering native library in /data/data/<app>/lib,
it would prefer that over the one in /system/lib due to recent changed
in the Dalvik JNI class loading code.

To "fix" that we need to check if there are any native libraries in a
/data/data/<app>/lib directory for any non-updated system apps and
delete them during scanning.

Change-Id: If3a22e41a8531e9e5a44ba001dcea46253d47d45
m/PackageManagerTests.java
2ad24f944ee68c6e14f3a214f0eef60f8cdb9eb8 05-Oct-2010 Brett Chabot <brettchabot@android.com> Failing test cleanup.

Change-Id: I7cabc6ff2ec1fcb80dede5da03b03622a5bae021
yncStorageEngineTest.java
43480d7b4d8a8cc4806627f91a53966b8c3c5442 23-Sep-2010 Kenny Root <kroot@google.com> am 2b1ffce1: am 7f459df9: Merge "Better errors in PackageManagerTests" into gingerbread

Merge commit '2b1ffce18301ae051a70a85254133c29b9381593'

* commit '2b1ffce18301ae051a70a85254133c29b9381593':
Better errors in PackageManagerTests
94e0acbf2f2b74a89c4ab0c81a4c1330964bde5f 22-Sep-2010 Kenny Root <kroot@google.com> Better errors in PackageManagerTests

PackageManagerTests was catching assertion errors and just spitting out
a generic "Hey, there was an error!" message. This eliminates that and
adds some expected outcomes in the assertions.

Change-Id: I27baa3c57c85b0cae4ea76aaf1e2a9b61b2c32b7
m/PackageManagerTests.java
6c8beb0cb4eb41e4d33dd928fd87c0d504495127 31-Aug-2010 Kenny Root <kroot@google.com> am 8a5ab396: am 2e86809b: Merge "Native libraries on SD" into gingerbread

Merge commit '8a5ab396cf4f3bb76a3e820f16f946e313b73fcf'

* commit '8a5ab396cf4f3bb76a3e820f16f946e313b73fcf':
Native libraries on SD
0ac83f5a7c05ff5b7e213e5953590bfbeb4efb43 31-Aug-2010 Kenny Root <kroot@google.com> Native libraries on SD

* Add native library tests during package move

* Fix omission that let PackageSettings and ApplicationInfo get out of
sync.

Change-Id: Ic4958f971cb2c9cfd270522fdc120b4031c1124a
m/PackageManagerTests.java
818c830c59fb8fb0fe7576f1e5a073ab599227c8 28-Aug-2010 Kenny Root <kroot@google.com> am 83285781: am 7046bd92: Merge "Allow native shared libraries in ASEC containers" into gingerbread

Merge commit '8328578152fbfd23952a6cda4b2e60853d78eb74'

* commit '8328578152fbfd23952a6cda4b2e60853d78eb74':
Allow native shared libraries in ASEC containers
85387d7ba36e56b291cbde87acb5a5b2200fe01c 26-Aug-2010 Kenny Root <kroot@google.com> Allow native shared libraries in ASEC containers

This change moves the native library handling earlier in the package
installation process so that it may be inserted into ASEC containers
before they are finalized in the DefaultContainerService.

Note that native libraries on SD card requires that vold mount ASEC
containers without the "noexec" flag on the mount point.

Change-Id: Ib34b1886bf6f94b99bb7b3781db6e9b5a58807ba
m/PackageManagerTests.java
a006b47298539d89dc7a06b54c070cb3e986352a 14-Apr-2010 Bjorn Bringert <bringert@android.com> New API and implementation of DB and memory-backed FDs

This depends on a kernel patch that implements read(2)
in the ashmem driver.

Bug http://b/issue?id=2595601

Change-Id: Ie3b10aa471aada21812b35e63954c1b2f0a7b042
emoryFileProvider.java
emoryFileProviderTest.java
d7b421b4de68d803252a5d9b3cb0106731217ad7 05-Aug-2010 Kenny Root <kroot@google.com> Fix up PackageManager tests

PackageManagerTests was trying to mount and unmount the media without
waiting for the correct state to arrive. It was proceeding with any
state transition.

Some tests had their own volume mounting and unmounting code that was
flawed, so switch it to the more robust mountMedia() and unmountMedia()
implementations.

Change-Id: If464927bb09dd15cb040c6cce195a6ad8452de95
m/PackageManagerTests.java
f76c56bcaa9df1d1afa711177f813dc63f399795 27-Jul-2010 Brett Chabot <brettchabot@android.com> Frameworks core tests size cleanup.

Adjust test sizes to better align with the test's runtime.
Also do some import cleanup and migrate to non-deprecated classes.

Change-Id: Ib2b190ddbe84f9ea8f5d6d3604bd4855d00df7a9
rickDeniedTest.java
emoryFileProviderTest.java
yncStorageEngineTest.java
m/AppCacheTest.java
m/ComponentTest.java
m/PackageManagerTests.java
fb7bacf6ba9504f3a863dc954b6147985fc74778 18-May-2010 Suchi Amalapurapu <asuchitra@google.com> Uncomment a test that was marked as STOPSHIP
Add MediumTest tag

Change-Id: I0699d168d7ec70c076f4713e0e405c0779a290c6
m/PackageManagerTests.java
9a212adcffbc4b32d51f512889b33ba584647aa9 18-May-2010 Suchi Amalapurapu <asuchitra@google.com> Fix 2641875
Initialize the cache path only if the container exists.
This did exist before but was somehow removed.
Fix a known test failure as well.

Change-Id: I63219369b0e7abca4919fbde2a04035a0fea9e35
m/PackageManagerTests.java
1ace5bc070b7271a3f5835b13e326875785f718c 13-May-2010 Suchi Amalapurapu <asuchitra@google.com> Fix 2672155
Check the code path when enabling disabling packages.

Add unit test

Change-Id: I0f0f482a3735234eab3f63ba1f6462574b70144e
m/PackageManagerTests.java
edb979a331ba3cdb12e9b7ce3944611cff1b51aa 22-Apr-2010 Neal Nguyen <tommyn@google.com> Re-enabling unit tests for PackageManager/Apps on SD.

Change-Id: I305d2e6d96418ab5b2df0ee7a31261180676204f
m/PackageManagerTests.java
315a5fb91dbafe6073435a13d937cee9d26877f6 13-Apr-2010 Suchi Amalapurapu <asuchitra@google.com> Dont fall back to installing on sdcard when internal storage is filled up
when the install location is set to internal only. Similary if install
location is set to external only(via adb), dont fall back to installing on
internal storage if sdcard is filled up.
If nothing is specified ie install location is set to let system decide,
we just check on internal storage.
Fix tests

Change-Id: I7400ccc131782d9c45284bd9ebd0dee43a3b412b
m/PackageManagerTests.java
40e472521a544f26cb6956995788f7c36fff1404 08-Apr-2010 Suchi Amalapurapu <asuchitra@google.com> Fix 2579461
Move install location values to secure settings.
Diable attribute for UI. Set default value to auto.
Add command line interface to set install location via pm.

Change-Id: I80e97b3d24845adad7102f40dcbe238f00efa406
m/PackageManagerTests.java
30f775b12ac7d0ff39eef201f997fe54ac60465a 06-Apr-2010 Suchi Amalapurapu <asuchitra@google.com> Fix 2578016.

Add some checks before moving package.
Checkin test code.
Regenerate test apks

Change-Id: I769ece128fefd3429ce93208a77d887c7759d2e1
m/PackageManagerTests.java
0dc59e78e18493aecd37427531d093e800846c3e 02-Apr-2010 Brett Chabot <brettchabot@android.com> More framework tests cleanup.

Move all tests for android.* classes from tests/AndroidTests and
tests/CoreTests into framework/base/<core|graphics>/tests.

Consolidate all tests for java.* classes to tests/CoreTests.
Eventually hopefully these will be moved to dalvik/ somewhere.

Remove tests/AndroidTests entirely.

Change-Id: I86584d086ab7bd045bb38a10b699907805298a95
rickDeniedTest.java
yncQueueTest.java
m/AppCacheTest.java
m/ComponentTest.java
m/PackageManagerTests.java
ae18171acd3c70fc6d27fc6bbe85828e0f928fad 30-Mar-2010 Suchi Amalapurapu <asuchitra@google.com> Change certificate policy.

The certificates of the package and its shared user certificates
are initialized only when installing the package.

When scanning the packages, the certificates are collected from the apk
if the time stamp changes. If not the one's from
PackageSetting(read from packages.xml) are reused.

Removed mergeSignatures and updateSignatures since we don't support
this any more.
Also fix some bugs related to reinstalling failed upgrades.

Some unit tests.

Change-Id: Ibdeff170bd386d723f774136b18e0ad59d9cdabb
m/PackageManagerTests.java
77c560f3d7891d9ae1ad714b5f65a22ff4f4c06b 30-Mar-2010 Fred Quintana <fredq@google.com> - changed periodic sync scheduling to just creating pending
and changed the "get next operation to sync" logic just look
at pending syncs, rather than them and periodic syncs
- made syncoperation dup-detection ignore the initialization
sync extra
- made the sync dispatcher treat initialization syncs as just
a regular sync request and also made it explicitly set or
clear the initialization extra based on whether the sync
adapter was in the syncable or unknown state
- change the getNextSync logic to prioritize syncable "unknown"
syncs above everything else (since they should be fast and
are important)
- make it reschedule completed initialization syncs if the
sync adapter is now marked syncable
- fix some logging in SyncStorageEngine
- change SyncStorageEngine to not reuse authority ids when one
is removed

http://b/issue?id=2531359
http://b/issue?id=2429638

Change-Id: I79805b582da74f4f0b6193eafaff24c2371d51e8
yncStorageEngineTest.java
a3de74555120cc4dc205a3f93ef44c843b8d64a8 25-Mar-2010 Brett Chabot <brettchabot@android.com> Move PackageManagerTests and AsecTests.

Remove PackageManagerTests test's from continuous due to flakiness.

merged from abandoned master.

Change-Id: I0a542df9df572c37bd1aa987cdc9fb2f95001a7c
m/PackageManagerTests.java
fb084400d6afa6443a421117fbcaee0265d38fb6 24-Mar-2010 Fred Quintana <fredq@google.com> fix bug where sync settings set lost upon upgrade from donut and eclair
to froyo

- intepret a missing syncavble attribute from donut as "unsynced"
rather than the traditional "true"
- copy the sync settings from the authorities "contacts" and "calendar"
to "com.android.contacts" and "com.android.calendar" if the latter
don't already have settings
- delay the database cleanup until after boot completed, which will give
the GoogleLoginService accounts migration code a chance to run; this
was causing all the settings to get removed upon a donut to froyo upgrade

Change-Id: I8795e97ba0c9b930d1a50784229ca9ab15dff9d2
http://b/issue?id=2531359
yncStorageEngineTest.java
c2e4691d788088b22eadc9b2d35e9bdf0b6a0ffc 16-Mar-2010 Fred Quintana <fredq@google.com> - make the SyncManager add periodic syncs when it upgrades from a
version of the accounts.xml file that pre-dated periodic syncs,
e.g. eclair or early froyo. http://b/2515823
- make the AccountManagerService dump() use a getAccounts call that
doesn't check the GET_ACCOUNTS permission to make it useful
in "adb bugreport"
- add some logging to SyncManager to help track down a problem

Change-Id: Icb646909074e2d327d71f6bb39cf06b6fac29e77
yncStorageEngineTest.java
002ffad599964653186c01f8e07fadc82dc0acee 02-Mar-2010 Fred Quintana <fredq@google.com> change ObserverNode.binderDied() to lock the root node before manipulating
the observers tree by calling removeObserverLocked()

http://b/issue?id=2457485
bserverNodeTest.java
c5d1c6db61f208b206b260f897bb5bbc64be4d97 27-Jan-2010 Fred Quintana <fredq@google.com> add sync polling

- added the ability to specify that a sync (of account/authority/extras)
should occur at a given frequency
- the existing daily poll code was replaced with seeding each
account/authority with a 24 hour periodic sync
- enhanced the "adb shell dumpsys content" output to show the
periodic syncs and when they will next run
yncStorageEngineTest.java
1a44d5dcabc18cd5ef111f732ccff91683a1a093 13-Jan-2010 Neal Nguyen <tommyn@google.com> Phase 2 of test cleanup: moving test files from AndroidTests closer to their sources.

Most of these are file moves; a couple notable exceptions are the changes due to the move, and fixing up test code:
- database/DatabaseCursorTest.java
- database/DatabaseStatementTest.java
- net/UriTest.java
ssetTest.java
ontentQueryMapTest.java
ontentTests.java
emoryFileProvider.java
emoryFileProviderTest.java
1d3165f10b12165f02b7015ac1a817c5f60e6399 12-Jan-2010 Neal Nguyen <tommyn@google.com> Phase 2 of test file cleanup: relocating test files from FrameworkTest closer to their sources in core.

In addition to the file moves, the package names of the tests have been updated and adjusted to match their new locations.
ontentProviderOperationTest.java
earchRecentSuggestionsProviderTest.java
22e31e5b609136d5bf7d77b1dccd6b042b83ebdf 07-Jan-2010 Neal Nguyen <tommyn@google.com> Moving framework core tests closer to their source files.

Phase 2 of test case cleanup; distributing CoreTests files closer to their respective sources under frameworks.
bserverNodeTest.java
yncStorageEngineTest.java