| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...content provider and updating its oom adj
This introduces the concept of an "unstable" reference on a content
provider. When holding such a reference (and no normal stable ref),
the content provider dying will not cause the client process to be
killed.
This is used in ContentResolver.query(), .openAssetFileDescriptor(),
and .openTypedAssetFileDescriptor() to first access the provider
with an unstable reference, and if at the point of calling into the
provider we find it is dead then acquiring a new stable reference
and doing the operation again. Thus if the provider process dies
at any point until we get the result back, our own process will not
be killed and we can safely retry the operation.
Arguably there is still the potential for a race -- if somehow the
provider is killed way late by the OOM killer after the query or
open has returned -- but this should now be *extremely* unlikely.
We also continue to have the issue with the other calls, but these
are much less critical, and the same model can't be used there (we
wouldn't want to execute two insert operations for example).
The implementation of this required some significant changes to the
underlying plumbing of content providers, now keeping track of the
two different reference counts, and managing them appropriately. To
facilitate this, the activity manager now has a formal connection
object for a client reference on a content provider, which hands to
the application when opening the provider.
These changes have allowed a lot of the code to be cleaned up and
subtle issues closed. For example, when a process is crashing, we
now have a much better idea of the state of content provider clients
(olding a stable ref, unstable ref, or waiting for it to launch), so
that we can correctly handle each of these.
The client side code is also a fair amount cleaner, though in the
future there is more than should be done. In particular, the two
ProviderClientRecord and ProviderRefCount classes should be combined
into one, part of which is exposed to the ContentResolver internal
API as a reference on a content provider with methods for updating
reference counts and such. Some day we'll do that.
Change-Id: I87b10d1b67573ab899e09ca428f1b556fd669c8c
|
|
|
|
|
|
|
| |
We have an API and some stuff that purports to this, but no real
implementation yet.
Change-Id: I93555440014a50fdf79fa3f65318d90fb82265b4
|
|\ |
|
| |
| |
| |
| |
| | |
Bug: 6427830
Change-Id: I39451bb1e1d4a8d976ed1c671234f0c8c61658dd
|
|/
|
|
| |
Change-Id: Ic9f8ab9f8110f08bb3c00725cfce5b8ee7b766f3
|
|
|
|
|
|
| |
Bug 5826326
Change-Id: If7e4c48a4369c1056dee5a2049c891bb6ab7d8d0
|
|
|
|
|
|
|
|
|
| |
Some tests do not have a no argument constructor. If they don't
have one, then try a constructor with a String argument. A lot
of CTS tests from open source projects have different practices
and may not have a no arg constructor.
Change-Id: I87c490c22347a2f4b03c3125308be0d2259f9208
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Broadcast intents that get sent out when users are added/removed/switched.
More work on generating user-specific information in package manager queries.
APIs to update user name and query a user by id.
Removed Package.mSetStopped and mSetEnabled, since they're not user specific.
User removal:
- Cleanup ActivityManager, PackageManager, WallpaperManager, AppWidgetService
and AccountManager.
- Shutdown processes belonging to the user.
Don't show vibrate option in long-press power if there's no vibrator.
Lock the screen when switching users, to force unlocking.
Change-Id: Ib23a721cb75285eef5fd6ba8c7272462764038fa
|
|
|
|
| |
Change-Id: I5d77682cf662cc88e3d182501c78bb77805e74d1
|
|
|
|
|
|
|
| |
A test case that measures bandwidth metrics when annotated with
android.test.BandwidthTest and adds the metrics to the status bundle
Change-Id: I085110c66c7fcf651aefeeac3d4cdf5bd438ff67
|
|
|
|
|
|
|
|
| |
This will be used to allow new features to be requested... such as,
say, a special kind of animation. Right now there are no options
defined.
Change-Id: I4eb6f27275cdd4bf186f6da316ab93a2372ad4b7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are permissions that an application can request, but won't
normally be granted. To have the permission granted, the user
must explicitly do so through a new "adb shell pm grant" command.
I put these permissions in the "development tools" permission
group. Looking at the stuff there, I think all of the permissions
we already had in that group should be turned to development
permissions; I don't think any of them are protecting public APIs,
and they are really not things normal applications should use.
The support this, the protectionLevel of a permission has been
modified to consist of a base protection type with additional
flags. The signatureOrSystem permission has thus been converted
to a signature base type with a new "system" flag; you can use
"system" and/or "dangerous" flags with signature permissions as
desired.
The permissions UI has been updated to understand these new types
of permissions and know when to display them. Along with doing
that, it also now shows you which permissions are new when updating
an existing application.
This also starts laying the ground-work for "optional" permissions
(which development permissions are a certain specialized form of).
Completing that work requires some more features in the package
manager to understand generic optional permissions (having a
facility to not apply them when installing), along with the
appropriate UI for the app and user to manage those permissions.
Change-Id: I6571785c6bb5f6b291862b7a9be584885f88f3a5
|
|
|
|
|
|
|
|
|
|
| |
Some changes in AppWidgetService were interfering with widget permissions.
Added some hidden methods in Context to communicate the requesting user
information instead of using the calling uid.
Bug: 6019296
Change-Id: I5e519fd3fbbfa5b3fcc5c297b729c671dac8e7c7
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Allow each user to have their own wallpaper (live or static).
- Migrate old wallpaper on upgrade.
- Update SystemBackupAgent to backup/restore from primary user's
new wallpaper directory.
Reduce dependency on Binder.getOrigCallingUser() by passing the
userId for bindService.
Change-Id: I19c8c3296d3d2efa7f28f951d4b84407489e2166
|
|
|
|
|
| |
Bug: 5943637
Change-Id: I12a339f285f4db58e79acb5fd8ec2fc1acda5265
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added new API to enable cancelation of SQLite and content provider
queries by means of a CancelationSignal object. The application
creates a CancelationSignal object and passes it as an argument
to the query. The cancelation signal can then be used to cancel
the query while it is executing.
If the cancelation signal is raised before the query is executed,
then it is immediately terminated.
Change-Id: If2c76e9a7e56ea5e98768b6d4f225f0a1ca61c61
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Added BandwidthTest annotation and BandwidthTestRunner to start
and stop the network traffic profiler
Change-Id: Id29ac21ab99ff36bd864121276db59b61eb6e154
|
|/
|
|
| |
Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug: 5332296
Ensure that there is always an owner for each CursorWindow
and that references to each window are acquired/released
appropriately at all times.
Added synchronization to CursorToBulkCursorAdaptor to
prevent the underlying Cursor and CursorWindow from being
remotely accessed in ways that might violate invariants,
resulting in leaks or other problems.
Ensured that CursorToBulkCursorAdaptor promptly releases
its references to the Cursor and CursorWindow when closed
so they don't stick around longer than they should, even
if the remote end hangs onto the IBulkCursor for some reason.
CursorWindow respects Parcelable.FLAG_WRITE_RETURN_VALUE
as an indication that one reference to the CursorWindow is
being released. Correspondingly, CursorToBulkCursorAdaptor
acquires a reference to the CursorWindow before returning
it to the caller. This change also prevents races from
resulting in the transfer of an invalid CursorWindow over
the wire.
Ensured that BulkCursorToCursorAdaptor promptly releases
its reference to the IBulkCursor when closed and throws
on attempts to access the cursor while closed.
Modified ContentProviderNative to handle both parts of
the wrapping and unwrapping of Cursors into IBulkCursors.
This makes it a lot easier to ensure that the right
things happen on both ends. Also, it turns out that
the only caller of IContentProvider.bulkQuery was
ContentProviderNative itself so there was no need
to support bulkQuery on ContentProviderProxy and it was
just getting in the way.
Implement CloseGuard on CursorWindow.
Change-Id: Ib3c8305d3cc62322f38a06698d404a2989bb6ef9
|
|
|
|
|
|
|
|
|
|
| |
* Verifiers can be specified in the AndroidManifest.xml
* Those verifiers can respond to the new Intent action
* PackageManager API for those verifiers: verifyPendingInstall
Change-Id: I4892bce2e6984871e6e93c60a1ca0dae145f5df5
|
|\
| |
| |
| |
| |
| |
| | |
ics-factoryrom
* commit '9c711282ad234e104c34eb4408d85fc1bb149ded':
Unhide new PackageManager APIs for API 14
|
| |
| |
| |
| | |
Change-Id: I83110285ccee39a4cd872a1c2af8357f541833d4
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| | |
Added the ability for the test runner to return the bundle object
so the tests can get access to input arguments
Change-Id: I73a704bb2279238bd91a376aacecbe5f607af649
|
|/
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this, some SSL code fails with an exception:
java.io.FileNotFoundException: /system/etc/security/cacerts.bks: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:410)
at java.io.FileInputStream.<init>(FileInputStream.java:78)
at java.io.FileInputStream.<init>(FileInputStream.java:105)
at org.apache.harmony.xnet.provider.jsse.DefaultSSLContextImpl.getTrustManagers(DefaultSSLContextImpl.java:115)
at org.apache.harmony.xnet.provider.jsse.SSLContextImpl.<init>(SSLContextImpl.java:71)
at org.apache.harmony.xnet.provider.jsse.OpenSSLContextImpl.<init>(OpenSSLContextImpl.java:34)
at org.apache.harmony.xnet.provider.jsse.DefaultSSLContextImpl.<init>(DefaultSSLContextImpl.java:59)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at java.security.Provider.newInstance(Provider.java:989)
... 15 more
Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:98)
at libcore.io.IoBridge.open(IoBridge.java:393)
... 24 more
Change-Id: I91de30746c1355ff9e0c2a9479392a50fe45aa23
|
|
|
|
|
|
|
| |
Allow a package verifier to approve or disapprove of a package being
installed.
Change-Id: Ibfea0f2b1aaa4ab1589a4e59f96144702b9bf94b
|
|
|
|
| |
Change-Id: I798fed657ccdc27430edc07d1e911b34c45426b5
|
|
|
|
| |
Change-Id: Iaaabd47d4074f936a811fc1b6575088d70842564
|
|
|
|
|
|
|
|
| |
Applications now get the display size from the window manager. No
behavior should be changed yet, this is just prep for some real
changes.
Change-Id: I2958a6660895c1cba2b670509600014e55ee9273
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some API stubs for managing users and storing their details.
List of users is stored in an xml file.
Each user's properties are stored in a separate xml file.
Some unit tests for modifying the XML files.
Change-Id: If2ce2420723111bd426f6762def3c2afc19a0ae5
|
|/
|
|
|
|
| |
since before 1.0.
Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
git cherry-pick --no-commit a80febd83c8bf0b6717da2a7136179bdc906a5b7
git cherry-pick --no-commit 5e642b41cf44c5da7afdd95ab3d5e2bdbf7b31dd
git cherry-pick --no-commit 4886db14c9eee4b6fee69bd54c57c5af04709c4c
git cherry-pick --no-commit 560c685e448769904047507b9484ce8111967d7e
git cherry-pick --no-commit 63dde7a2fcfa53dc531558635b64cea613d3cdb4
git cherry-pick --no-commit 74e5cb91060a379d98dd3a333b5f231bfb4f502e
git cherry-pick --no-commit 1cc8c9708b555e2e338b7798d38887a2fefcfea6
git cherry-pick --no-commit 09625a21f5abe0c0db15757f58585d552d62c3d7
git cherry-pick --no-commit fcb02dfe0f5a2bb7c07e6d6fc69f756a484b5458
git cherry-pick --no-commit a68cb7fa3ab42854768b8145ff85231663770292
git cherry-pick --no-commit 716beb1c131dd2c6b805d4f681debaa20075010c
git cherry-pick --no-commit 8c29b1097a7afe3a77e27546a56e396f3620a4ec
git cherry-pick --no-commit 9c6a1a55d1c8086c1cc57464eea43725694ff70c
git cherry-pick --no-commit b14f5ea5c57acdd009ba5b51f1bbe430f3d353b8
Change-Id: I8cc94175441b009e23549762d6baee1dbace4881
|
|\
| |
| |
| |
| |
| |
| | |
SingleLaunchActivityTestCase."
* commit '79b66725b7755e403e10a9d073121789f09b1a9e':
Fix of tearDown() in SingleLaunchActivityTestCase.
|
| |\
| | |
| | |
| | |
| | | |
* commit 'e0537f1859664ba9c9cf87eb9d6dc3c16986dbb8':
Fix of tearDown() in SingleLaunchActivityTestCase.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Before a suite of SingleLaunchActivityTestCase tests are run,
an activity is started. The activity is supposed to close
when all the tests in the suite have run. The activity is
however finished one test too early. This causes problems
for the last test.
Change-Id: Ie9fb2df350a70f827495a0dc30952e30fbe491e0
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
* commit '524133cc793b5e372cc97c62653281605f57b5b3':
Remove API that snuck into MockPackageManager
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We didn't release the get/setPackageObbPath API, but it snuck into
MockPackageManager. However, it is not usable as a developer anyway.
Removing it so it doesn't stay in the API forever.
Change-Id: Ia569754691dc3a9f2672c1f25e4e08d780db6028
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | | |
* commit '34d2b41e48281d1df2c844e004740f008e699093':
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
|
| |\ \ \
| | |/ /
| | | /
| | |/
| |/|
| | |
| | | |
gingerbread
* commit 'e8c04db71e347396e9537ead7113ba9f46706e44':
Add the {get,set}PackageObbPaths calls to API
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add getPackageObbPaths() and setPackageObbPaths() to the public API.
Bug: 3214719
Change-Id: Icb9f2f92f8c59bb3d31317f609854e81abbd1449
|
| | |
| | |
| | |
| | | |
Change-Id: Ie2a660cce1d00f924c9fde5c6a00776307e5e1c7
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We didn't release the get/setPackageObbPath API, but it snuck into
MockPackageManager. However, it is not usable as a developer anyway.
Removing it so it doesn't stay in the API forever.
Cherry-pick from gingerbread
Change-Id: I2083a8f398d983d53661c33270854442e34f9bc9
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 5d40fe9c6846ba765072e50ed1254293cb9195e4.
Change-Id: Ie41010c92fb860b19a12bcf63f6fe95ffa68da81
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also hide the bitmap thumbnail stuff, we can't support it in its
current form.
And fix some bugs with propagating paths to native code. Yikes!
Change-Id: I13ab37ddbdba5c073489cba5eab035117d3c1574
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add getPackageObbPaths() and setPackageObbPaths() to the public API.
Bug: 3214719
Change-Id: I8627b5f674a795d5780eb5c08911419110670a41
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If you test case is declaring a non-primitive constant,
this method would clear out the constant between
individual tests.
Change-Id: I570f2bbbbbb0a170bf63b7473b4aaf84869e93e0
|