346acb123dd87396726941b484be6fdd5cd4ea44 |
|
16-Oct-2012 |
Christopher Tate <ctate@google.com> |
Sanity-check erroneous backup agent instantiations Two distinct changes: Fix a bug seen in the wild where a newly-launched application will be spuriously asked to instantiate a backup agent. What was happening there is that some Activity Manager state was being left stale in certain circumstances, and then in combination with app uninstall / install, there could be a case where uid reuse wound up looking like an app identity match. We now positively verify before instantiating the agent that the intended backup target package is uid-compatible with the app process that the instantiation was requested of. The incomplete bookkeeping in the Activity Manager has also been tightened up, and the Backup Manager is more aggressive about cleaning up pending operations pertaining to apps being uninstalled. Bug 5874010 Change-Id: Ic389f4a96c9dcd0ba6b3962b579084033d8ae9f8
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
a8a9bd65bf5865d83ef44f54552ca39522bfbcf0 |
|
10-Oct-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #7311376: Add API to allow apps to know if they are... ...running as the foreground user Add UserManager.isUserRunning() which is the public version of the existing method on ActivityManager. Also add UserManager.isUserRunningOrStopping() since that seems like it will be useful. And fix the internal function that returns the array of currently running users to not include stopped users. Change-Id: I84672fa8748fc027fd402729586b5603f640e498
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
5fe7e2a3043d6a8ca933c77ccf95c791b57b221a |
|
04-Oct-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #6968859: home not exiting an ANR'd dream Add a new call to the activity manager for the input dispatcher to report about any pid having an ANR. This has a new feature where it can also tell the activity manager that it is above the system alert layer, so the activity manager can pop its ANR dialog on top of everything if it needs to. (Normally we don't want these dialogs appearing on top of the lock screen.) Also fixed some debugging stuff here and there that was useful as I was working on this -- windows now very clearly include their uid, various system dialogs now have titles so you know what they are in the window manager, etc. Change-Id: Ib8f5d29a5572542cc506e6d338599ab64088ce4e
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1 |
|
28-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #7211769 and #7244492, thrash around on #7226656. Issue #7211769: Crash dialog from background user has non-working "report" The report button now launches the issue reporter for the correct user. Also for crashes on background users, either disable the report button, or simply don't show the dialog depending on the build config. Issue #7244492: Bugreport button in Quick Settings doesn't actually do anything Now they do. Issue #7226656: second user seeing primary user's apps I haven't had any success at reproducing this. I have tried to tighten up the path where we create the user to ensure nothing could cause the user's applications to be accessed before the user it fully created and thus make them installed... but I can't convince myself that is the actual problem. Also tightened up the user switch code to use forground broadcasts for all of the updates about the switch (since this is really a foreground operation), added a facility to have BOOT_COMPELTED broadcasts not get launched for secondary users and use that on a few key system receivers, fixed some debug output. Change-Id: Iadf8f8e4878a86def2e495e9d0dc40c4fb347021
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
b12e1354f25f04e9c9a71da76c6fca858b7d39d0 |
|
26-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Maybe fix issue #7211766: bindService() to User u0 While u10 is... ...Forground Sometimes Doesn't Take The main change here is a one-liner in ActiveServices to check the uid when deciding whether to remove an item from mPendingServices. This could cause the problem being seen -- if the same service for two users is starting at the same time, the second one would blow away the pending start of the first one. Unfortunately I have had trouble reproducing the bug, so I don't know if this is actually fixing it. It's a bug, anyway. The reason so much has changed here is because I spread around logging and printing of the user ID associated with operations and objects to make it easier to debug these kind of multi-user things. Also includes some tweaks to the oom manager to allow more background processes (I have seen many times in logs where we thrash through processes because the LRU list is too short), plus to compensate an additional time-based metric for when to get rid of background processes, plus some new logic to try to help things like Chrome keep around their service processes. Change-Id: Icda77fb2a1dd349969e3ff2c8fff0f19b40b31d3
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
ea7e91514ee1968d15713e82a5cca745e2c46a05 |
|
25-Sep-2012 |
Amith Yamasani <yamasani@google.com> |
AppInfo from Notifications for secondary users Required wiring up startActivitiesAsUser() Bug: 7224950 Also fix a bug in navigateUp in secondary user Change-Id: I114ae2de0457362d62e899fdb94b12239a3eb778
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
6d51571835737c7502a2e111ee9dc2527ebad984 |
|
21-Sep-2012 |
Jeff Sharkey <jsharkey@android.com> |
Allow acquiring ContentProviders across users. Otherwise services like SystemUI will always open content://-style Uris as USER_OWNER. Surfaces through createPackageContextAsUser() which points all ContentResolver operations towards a given user. Start using in RemoteViews, so that Notifications correctly resolve image Uris to the sending user. Also add user support for "content" shell tool. Bug: 7202982 Change-Id: I8cb7fb8a812e825bb0b5833799dba87055ff8699
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
c72fc674a33b8d17585764d09d3bb6c77d7d947e |
|
20-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Implement multi-user PackageMonitor. New APIs let you indicate what user(s) to monitor, and tell you what user is changing when receiving a callback. Fix package manager to only deliver package brpadcasts to the running users. (This isn't really a change in behavior, since the activity manager would not deliver to stopped users anyway). Make sure all broadcasts that package monitor receives also include user information for it to use. Update wallpaper service to (hopefully) now Really Correctly monitor package changes per user. Change-Id: Idd952dd274abcaeab452277d9160d1ae62919aa0
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
15491c6a728131e322c45bc440500a8a78e4a410 |
|
19-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Switch to showing top-most thumbnail of recent apps. The way it should have been, and with the new recents enter animation the way it must be. Added a new method to retrieve this thumbnail, since it would be less efficient to use the existing API (which always returns the "base" thumbnail). Probably at some point that existing API should be tweaked to always return the top thumbnail instead, but that is for a later time. Also removed code that would clear the thumbnail associated with an activity when it is resumed. I don't think there should ever be a reason to clear a thumbnail -- it's much better to have *something* for the task, even if it is a little out of date. Change-Id: I83e6ca6403eb2df5e4de3009dfe8c210e8cf8d5b
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
ad9b32115bf8c84a93ab30e6f30f8c46e86d7244 |
|
18-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Try again to fix issue #6912004:tap on gmail notification sends me to home screen Add a new call to the activity manager to tell it when the activity is resumed, so it can mark its state as dirty then instead of when it first tries to create it. Also tweak things to update the LRU list for the upcoming activity at the point we start pausing the current activity, to avoid an inefficiency where we may decide to kill the process of the upcoming activity if it is at the end of the LRU list. Change-Id: Ia6dc8c34dc6d4b085a1efbe3a5d5f47721d55078
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
5dc5a00e7ebadc085ded7e29feacd17e53698486 |
|
16-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
More multi-user stuff. - New public APIs to find out when a user goes to the foreground, background, and is first initializing. - New activity manager callback to be involved in the user switch process, allowing other services to let it know when it is safe to stop freezing the screen. - Wallpaper service now implements this to handle its user switch, telling the activity manager when it is done. (Currently this is only handling the old wallpaper going away, we need a little more work to correctly wait for the new wallpaper to get added.) - Lock screen now implements the callback to do its user switch. It also now locks itself when this happens, instead of relying on some other entity making sure it is locked. - Pre-boot broadcasts now go to all users. - WallpaperManager now has an API to find out if a named wallpaper is in use by any users. Change-Id: I27877aef1d82126c0a1428c3d1861619ee5f8653
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
1676c856d61b97c871dc2be0cb1f1fb1e12e24e9 |
|
10-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Flesh out multi-user in am commands. Now we default to the current user instead of user 0 for most commands (except where we can do the command for all users). Many more commands take a user argument: force-stop, kill, profile, dumpheap. Improved help text. Change-Id: I719a13b4d31b668f57ca21e51d7043ac3e0d4e1b
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
5e03e2ca7d25b899b129baad2dd5eca6bf99d88a |
|
06-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
More multi-user stuff: - New (hidden) isUserRunning() API. - Maintain LRU list of visited users. - New FLAG_IS_DATA_ONLY for ApplicationInfo. - Clean up pending intent records when force-stopping a user (or package). (Also fixes bug #6880627: PendingIntent.getService() returns stale intent of force stopped app) - Fix force-stopping when installing an app to do the force-stop across all users for that app. - When selecting which processes to kill during a force stop, do this based on the actual packages loaded in the process, not just process name matching. - You can now use --user option in am when starting activities, services, and instrumentation. - The am --user option accepts "current" and "all" as arguments. - The pm uninstall command now uninstalls for all users, so it matches the semantics of the install command. - PhoneWindowManager now explicitly says to start home in the current user. - Activity manager call to retrieve the MIME type from a content provider now takes a user argument, so it will direct this to the proper user. - The package manager uninstall paths are now implemented around PackageSetting, not PackageParser.Package. This allows them to work even if the application's apk has been removed (in which case it only exists as a PackageSetting, not the PackageParser.Package parsed from the apk). Change-Id: I3522f6fcf32603090bd6e01cc90ce70b6c5aae40
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
20e809870d8ac1e5b848f2daf51b2272ef89bdfc |
|
01-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Add registering for explicit users. New API to register as an explicit user, which allows you to also select ALL to see broadcasts for all users. New BroadcastReceiver API to find out which user the broadcast was sent to. Use this in app widget service to handle per-user package broadcasts and boot completed broadcasts correctly. Change-Id: Ibbe28993bd4aa93900c79e412026c27863019eb8
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
4120375d46091df8527bb701882e056fbb0e6b06 |
|
31-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Remove Binder.getOrigCallingUid(). Replaced all remaining places that used it with explicit user specification. While doing this, I ran into stuff that was creating PendingIntent objects (that now need to specify the explicit user they are for), which are also posting notifications... but have no way to specify the user for the notification. So the notification manager in the system process now also gets a formal concept of a user associated with the notification, which is passed in to all the necessary aidl calls. I also removed the old deprecated aidl interface for posting/cancelling notifications, since we now always need a user supplied. There is more work that needs to be done here, though. For example I think we need to be able to specify USER_ALL for a notification that should be shown to all users (such as low storage or low battery). Along with that, the PendingIntent creation needs to be tweaked to be able to handle USER_CURRENT by evaluating the user at the point the pending intent is sent. That's for another change, however. Change-Id: I468e14dce8def0e13e0870571e7c31ed32b6310c
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
5ac72a29593ab9a20337a2225df52bdf4754be02 |
|
30-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Improve multi-user broadcasts. You can now use ALL and CURRENT when sending broadcasts, to specify where the broadcast goes. Sticky broadcasts are now correctly separated per user, and registered receivers are filtered based on the requested target user. New Context APIs for more kinds of sending broadcasts as users. Updating a bunch of system code that sends broadcasts to explicitly specify which user the broadcast goes to. Made a single version of the code for interpreting the requested target user ID that all entries to activity manager (start activity, send broadcast, start service) use. Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
80a4af2bbc6af42ae605e454bf89558e564f5244 |
|
28-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Start implementing concept of "running" users. The activity manager now keeps track of which users are running. Initially, only user 0 is running. When you switch to another user, that user is started so it is running. It is only at this point that BOOT_COMPLETED is sent for that user and it is allowed to execute anything. You can stop any user except user 0, which brings it back to the same state as when you first boot the device. This is also used to be able to more cleaning delete a user, by first stopping it before removing its data. There is a new broadcast ACTION_USER_STOPPED sent when a user is stopped; system services need to handle this like they currently handle ACTION_PACKAGE_RESTARTED when individual packages are restarted. Change-Id: I89adbd7cbaf4a0bb72ea201385f93477f40a4119
/frameworks/base/core/java/android/app/ActivityManagerNative.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
/frameworks/base/core/java/android/app/ActivityManagerNative.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
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
8264408f5995534f8e3147b001664ea0df52aaa5 |
|
03-Aug-2012 |
Amith Yamasani <yamasani@google.com> |
Start the correct settings from the status bar. Added a new method to Context: startActivityAsUser() requiring the INTERACT_ACROSS_USERS_FULL permission. Show the correct Recents list, based on current user. Added a getRecentTasksForUser() in ActivityManager. Hidden and requires the INTERACT_ACROSS_USERS_FULL permission. Change-Id: If5b56465efdd3ead36601a3b51ed4af157bbf35c
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
1927ae8a56a010919a7535231fa0f7db70f7e152 |
|
23-Jun-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #6717667: expanded notification actions don't work on the lock screen FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS was a mistake. Instead, and the infrastructure for the status bar to take care of closing and hiding things itself when you press these buttons, just like it does for the main Intent of the notification. Bug: 6717667 Change-Id: I1b22186e0cedc05f46a1a3ec78053a72afaf61b1
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
6ae8d1821822296df0606c9cd1c46708cc21cb58 |
|
23-May-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix (mostly) issue #5109947: Race condition between retrieving a... ...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
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
5320eb8938098c9824093f7f842a0a97bbc190a4 |
|
18-May-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix activity resolver, issues #6519130 and #6507239 6519130: Starting ResolverActivity with no arguments crashes system_server 6507239: ResolverActivity may bypass signature permissions Change-Id: I64534f781bc6b7eb45e85dbe3a55d351ee28e85c
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
ecc5a9cca000b62d2a649b795460fd791a206a89 |
|
27-Apr-2012 |
Dianne Hackborn <hackbod@google.com> |
Add new Activity.finishAffinity() method. It's cool! Change-Id: I9fdcd9535b7f1ca2b311d3a1b23e5d058977b095
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
ff5b158f69bf453cf1fdedd175a09482c65f2bf2 |
|
13-Apr-2012 |
Dianne Hackborn <hackbod@google.com> |
Keep activities stopped while the lock screen is up. Tell the activity manager when the lock screen is shown, so it can keep itself (mostly) in sleep mode during this time, having the foreground actvities remain in their stopped state. Change-Id: I71c86d3298f23a98014d7ae36fd540c9df9a64e6
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
c4a07d1caa9befd4fa8165ff05fa5e92480d8e27 |
|
06-Apr-2012 |
Christopher Tate <ctate@google.com> |
Attribute alarm broadcast wakelocks to the sender Wakelock usage for the purpose of sending an alarm broadcast is now attributed to the application which posted the alarm, not to the OS. Bug 5911317 Change-Id: I8cb79c3bd5db467388716ab68285f4ab0bfe468b
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
dd8fab2629131b09367df747afd9a61e42dd1992 |
|
23-Mar-2012 |
Adam Powell <adamp@google.com> |
TaskStackBuilder and Activity navigation features for framework Promote navigation helpers from the support library to the core platform. The support library's meta-data element has been replaced with a first-class parentActivityName attribute. This attribute is valid on both activity and activity-alias elements. An activity-alias will inherit the target activity's parentActivityName if one is not explicitly specified. Automatic Up navigation for Activities Add the public method onNavigateUp() to Activity. The default implementation will use the metadata supplied in the manifest about an activity's hierarchical parent (parentActivityName) to do the right thing. If any activities in the parent chain require special Intent arguments, the Activity subclass should override onNavigateUp() to properly implement Up navigation for the app, supplying such arguments as needed. If automatic Up navigation within the same task can't find an activity matching the supplied intent in the current task stack, it will act as an in-app "home" and return to the root activity (presumably the app's front page) in that task. (From this state, pressing "back" with default behavior will return to the launcher.) Change-Id: If163e27e59587f7af36975a09c986cb117ec3bc6
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
52f1d752f90579c9b57e3350393a029cf72138d0 |
|
29-Mar-2012 |
Amith Yamasani <yamasani@google.com> |
Show the current user in power menu Shows a little indicator next to the current user in the power menu when multi-user is enabled. Fixed a bug where Settings was sometimes being launched in the wrong process when there are 2 instances running. Change-Id: Iaf2a00f6d1871fd2a88d8982439e445423bb2896
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
69f819b397e5e4b50b1931da6ef1caba0229640a |
|
23-Mar-2012 |
Jeff Sharkey <jsharkey@android.com> |
Merge "Include GIDs for unenforced permissions."
|
8078d8c8a282ca81344febe7256f63b1e805e3aa |
|
20-Mar-2012 |
Dianne Hackborn <hackbod@google.com> |
Add new thumbnail animation. Use it for recent tasks switching. Not perfect yet by far, but something. Also fix issue #6186758: Twitter crashes after tapping on a tweet on JRM75D Change-Id: I49bf6c94aafde875ac652dedaf96d6c08cc9e7d2
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
b9a070189c2280a6356a8abb9483b517a41e14c3 |
|
23-Mar-2012 |
Jeff Sharkey <jsharkey@android.com> |
Include GIDs for unenforced permissions. When READ_EXTERNAL_STORAGE isn't enforced, grant its GID to all launched processes. When changing enforcement, kill all processes below foreground adjustment, causing them to be relaunched with update GIDs. Bug: 6131916 Change-Id: I6d83efc937919f13a1a7d9caac902e572869406a
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
7a2195cdd33f27c79eda343defc1f7ccf59cc8ac |
|
20-Mar-2012 |
Dianne Hackborn <hackbod@google.com> |
Start using the new activity options argument. New class lets you make an options bundle defining a custom animation, as an alternative to Activity.overridePendingTransition(). Change-Id: I8e209bf52398a98ab9f1bcafa1ec0a580dae57c0
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
a4972e951bf2bdb7afdafee95b3ab0c15b8bacae |
|
14-Mar-2012 |
Dianne Hackborn <hackbod@google.com> |
Add new "options" argument to all startActivity APIs. 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
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
92a8b22e7410e74e1cba1b856333116652af8a5c |
|
10-Mar-2012 |
Siva Velusamy <vsiva@google.com> |
ActivityManager: add option to allow OpenGL trace. This patch adds an option to enable tracing of OpenGL functions. OpenGL tracing can be enabled by passing "--opengl-trace" option to am start. This option requires either a device in debug mode, or that the application itself has debug permission set. Change-Id: I77788bfe97c9108943b1f947ce81afe8293d78a0
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
27ff913d56de8400083a13fc572e2812b32c890c |
|
06-Mar-2012 |
Dianne Hackborn <hackbod@google.com> |
Work on more low memory reporting to apps. There are now some new trim memory levels that are sent to non-background applications as RAM becomes low. There is a new API for an application to retrieve information about memory trimming and such on demand. Fixed various checks against the memory trim level to be robust (not compare against exact values). Change-Id: Ifd1c6151124350168aef20a94e517166fd2e03eb
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
25872aa3ef189ae5506a923398af11ce5eb1a9b9 |
|
04-Feb-2012 |
Svetoslav Ganov <svetoslavganov@google.com> |
Adding shell commands for modifying content. 1. Added methods to the ActivityManagerService remote interface that allow accessing content providers outside of an application. These methods are guarded by an internal signature protected permission which is given to the shell user. This enables a shell program to access content providers. 2. Implemented a shell command that takes as input as standart fagls with values and manipulates content via the content provider mechanism. Change-Id: I2943f8b59fbab33eb623458fa01ea61a077b9845
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
37ce3a8af6faab675319d0803b288ab1dddc76be |
|
06-Feb-2012 |
Amith Yamasani <yamasani@google.com> |
Multi-user - wallpaper service - 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
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
21fbd1f7da53dc044737803dccddf8099f1fc1e9 |
|
10-Feb-2012 |
Dianne Hackborn <hackbod@google.com> |
Some cruft removal. Change-Id: If4a94bfd4a033748eb13e8f3ff25e24382746778
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
742a67127366c376fdf188ff99ba30b27d3bf90c |
|
04-May-2011 |
Amith Yamasani <yamasani@google.com> |
Multi-user - 1st major checkin Switching activity stacks Cache ContentProvider per user Long-press power to switch users (on phone) Added ServiceMap for separating services by user Launch PendingIntents on the correct user's uid Fix task switching from Recents list AppWidgetService is mostly working. Commands added to pm and am to allow creating and switching profiles. Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
e4d4fbc8c0257a79d9c6091cea2c264415bd2733 |
|
08-Nov-2011 |
Dianne Hackborn <hackbod@google.com> |
Add drop box reports of low memory. We are tagging these as "watchdog" to make them visible in the reporting tools. Also new am command to kill all background processes, mostly to make it easier to test this stuff. Change-Id: Ib9dc4747cd8bd44156fdf11d6a087cd4272203eb
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
90c52de28691ca0bbbf7c039ef20f85ce46882cc |
|
23-Sep-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #5173952: Opening a Notification From Lock Screen... ...Should Skip Unsecure Lockscreen (ICS) Also while I am in there, clean up logging of intent objects to include even less sensitive information, while showing the true Intent in dump output (since apps can't get to that). Change-Id: I35fed714645b21e4304ba38a11ebb9c4c963538e
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
661cd52e0e1d527132eb1cae604d3e64da7ec0cb |
|
22-Aug-2011 |
Dianne Hackborn <hackbod@google.com> |
Add progress dialog for booting after an upgrade. This introduces a new facility for code during the boot process to display messages to the user through a progress dialog. This is only for use when performing longer-than-usual post-upgrade operations such as running dexopt on applications or upgrading databases. Change-Id: I0e78439ccec3850fb67872c22f235bf12a158dae
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
62f20ecf492d2b29881bba307c79ff55e68760e6 |
|
16-Aug-2011 |
Dianne Hackborn <hackbod@google.com> |
Add new am option to profile the launching of an activity. Change-Id: Ie71a8043eafe41f53a0b3dbb5170276d87acbc9b
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
b437e090ec03a2bab10bdfcb9484577a7f34e157 |
|
06-Aug-2011 |
Dianne Hackborn <hackbod@google.com> |
Improved memory use reporting. Change-Id: I38e53e6228bba92a142bafeedb5af8df4e4e5724
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
9a8c5cefcab3d5dec6ff63f0e99553e1aa9a4af8 |
|
22-Jul-2011 |
Romain Guy <romainguy@google.com> |
Ouput looper traces as traceview traces Change-Id: I96c8e85fd7497d970febbf6f5aefc4ab903add8e
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
7eabe55db6b113f83c2cefcd06812648927de877 |
|
21-Jul-2011 |
Romain Guy <romainguy@google.com> |
Add looper profiling to adb shell am To profile the looper, run the following command: adb shell am profile looper start <process> <file> adb shell am profile looper stop <process> Change-Id: I781f156e473d7bdbb6d13aaffeeaae88bc01a69f
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
31ca854cdba31ec6ab089af743a8701a6192e07e |
|
19-Jul-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #4976176: Font size setting does not persist Change-Id: Id58caf990bdd3aac5ea97aaba45652ffad1f678a
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
6c418d585e0a91054b168fde3130188afd006c98 |
|
29-Jun-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #4902856: Don't let apps register non-explicit PendingIntents Location manager now checks for such intents, and logs a warning when they are given to it. Nothing thrown yet, it needs to check the targetSdkVersion of the caller somehow. When sending the pending intent, we require that the recipient hold the appropriate permission. This should pretty much close the security hole. Includes a bunch of infrastructure in the activity manager needed to support all this. Change-Id: I4dba7a98a7b8bbb9e347666451aa9cb1efad1848
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
36f80f3a5a3de42d4e7ca4b53d4aa3e567f4df6f |
|
01-Jun-2011 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of 590ec479 to master Change-Id: I30503da6a73b9cb15eee66a67c75d50ccdc4b9f0
|
36cd41f8efa6f6a683d3353d309ff548295af9e9 |
|
26-May-2011 |
Dianne Hackborn <hackbod@google.com> |
Spiffy new compatibility mode UI. Change-Id: I1207eaafae59a434fcc979ad60a83e2d685288af
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
a4620793038b9a9163b26c6ece882cb454fcbf87 |
|
21-May-2011 |
Jeff Sharkey <jsharkey@android.com> |
Observe screen on/off events in NetworkPolicy. The POLICY_REJECT_BACKGROUND policy requires that network traffic be blocked when a UID goes into the background. Even if the UID has an activity in the foreground, it's considered "background" if the screen is turned off. This changes watches for SCREEN_ON/OFF broadcasts, and rule generation now observes screen state. It also introduces an observer pattern so that ActivityManager doesn't directly know about NetworkPolicy, and moves the service management into SystemServer. Change-Id: Ie7a84929d3ca60ae4578d47e19d5a8da10fd8d58
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
3d0724dc220a2e027b9e38f61c39c84c28a505d5 |
|
13-May-2011 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of 0e59729b to master Change-Id: I2d3a6bddf66b1df0c101c45ea2fec1cf65caf01b
|
0f1de9adde0b52d2a385a76232bd7ac30c3eeea2 |
|
12-May-2011 |
Dianne Hackborn <hackbod@google.com> |
New compat mode front end: UI and persistence. Adds a really crappy UI for toggling compat mode. Persists compat mode selection across boots. Turns on compat mode by default for newly installed apps. Change-Id: Idc83494397bd17c41450bc9e9a05e4386c509399
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
aa9d84c37e05f696ec158dac98ce38cf41e18314 |
|
10-May-2011 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of 05be6d6f to master Change-Id: Ic6a6c5bb300f6f1d43f9ed550b284282b4f16212
|
e2515eebf42c763c0a2d9f873a153711778cfc17 |
|
28-Apr-2011 |
Dianne Hackborn <hackbod@google.com> |
Better compat mode part one: start scaling windows. First step of improving app screen size compatibility mode. When running in compat mode, an application's windows are scaled up on the screen rather than being small with 1:1 pixels. Currently we scale the application to fill the entire screen, so don't use an even pixel scaling. Though this may have some negative impact on the appearance (it looks okay to me), it has a big benefit of allowing us to now treat these apps as normal full-screens apps and do the normal transition animations as you move in and out and around in them. This introduces fun stuff in the input system to take care of modifying pointer coordinates to account for the app window surface scaling. The input dispatcher is told about the scale that is being applied to each window and, when there is one, adjusts pointer events appropriately as they are being sent to the transport. Also modified is CompatibilityInfo, which has been greatly simplified to not be so insane and incomprehendible. It is now simple -- when constructed it determines if the given app is compatible with the current screen size and density, and that is that. There are new APIs on ActivityManagerService to put applications that we would traditionally consider compatible with larger screens in compatibility mode. This is the start of a facility to have a UI affordance for a user to switch apps in and out of compatibility. To test switching of modes, there is a new variation of the "am" command to do this: am screen-compat [on|off] [package] This mode switching has the fundamentals of restarting activities when it is changed, though the state still needs to be persisted and the overall mode switch cleaned up. For the few small apps I have tested, things mostly seem to be working well. I know of one problem with the text selection handles being drawn at the wrong position because at some point the window offset is being scaled incorrectly. There are probably other similar issues around the interaction between two windows because the different window coordinate spaces are done in a hacky way instead of being formally integrated into the window manager layout process. Change-Id: Ie038e3746b448135117bd860859d74e360938557
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
0c5001d776d56bae02a5cc2663286a125d99bc5e |
|
13-Apr-2011 |
Dianne Hackborn <hackbod@google.com> |
Add APIs to remove tasks. You can remove sub-tasks inside of a task, or an entire task. When removing an entire task, you can have its process killed as well. When the process is killed, any running services will get an onTaskRemoved() callback for them to do cleanup before their process is killed (and the service possibly restarted). Or they can set a new android:stopWithTask attribute to just have the service automatically (cleanly) stopped at this point. Change-Id: I1891bc2da006fa53b99c52f9040f1145650e6808
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
beb182a4945b9b762fac77edd1183897bcac5b32 |
|
11-Apr-2011 |
Amith Yamasani <yamasani@google.com> |
Merge "Package manager changes to store and update user information."
|
4b2e934928a2eb65927bd39197198c28c49efb94 |
|
31-Mar-2011 |
Amith Yamasani <yamasani@google.com> |
Package manager changes to store and update user information. 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
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
bcbab3684349353ee8cab30b556001824d0e7ccf |
|
09-Apr-2011 |
Dianne Hackborn <hackbod@google.com> |
Merge "Rework thumbnails in activity manager."
|
f26fd99a7c2f554b0297760bb66336473c7db61f |
|
09-Apr-2011 |
Dianne Hackborn <hackbod@google.com> |
Rework thumbnails in activity manager. We now only keep a thumbnail for the task, not for each activity. However if you use FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, we will make a new secondary thumbnail for that series of activities. There is a new API for the app to get these secondary thumbnails. Also set a default thumbnail size for non-xlarge screens so we have thumbnails on phones. (We need some smarter code in the platform for computing the actual thumbnail dimensions of the current device). And add a test app to show recent tasks + thumbnails. Change-Id: Ic36759f6635522118a2cb7f156662229a610c492
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09 |
|
07-Apr-2011 |
Joe Onorato <joeo@google.com> |
Remove the deprecated things from Config.java. These haven't been working since before 1.0. Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
648251710162cdaf7371012a1cbb79b9bc5bc0e4 |
|
03-Mar-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #3485923: Gmail crash Allow application to try to recover if a surface OOM error happens on the client side. Change-Id: I0308bd99647a35e4bcac448340b7fc6330a828f6
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
d94df45b3d1ab4004ef517acfc56a9310330f8d8 |
|
17-Feb-2011 |
Dianne Hackborn <hackbod@google.com> |
Rework thumbnail API to not suffer from IPC failures. Thumbnails are now requested separately, so we don't exceed the IPC buffer size limit. Also implement issue #3349553: Please provide a hook to intercept fragment-breadcrumb clicks And maybe fix issue #3439199: Music Notification does not turn on when app switching out of Music app Change-Id: Ie939e78cc8ded07b18112760e053185947549f61
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
4eba96bb314d8ff773ea33d6cb3179f25751ecce |
|
21-Jan-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #3377999: Activities need to be stopped when sleeping This is a band-aid over the existing kludgy stopping mechanism where the semantics of stop are different in the activity manager than in the clients. This change is intended to be as unobtrusive as possible, only impacting the sleep case. I have a different change that completely reworks how we stop activities to simply this all a lot by unifying the semantics between the server and client. However, it is too late in HC for such an extensive change. Later I'll revert this one and put in the better solution. Change-Id: Id77f2db1ec83469cdd888acb8fbc4679daa7766e
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
0aae2d4e0075fd699cf40b26dca0eb2c3b3e37d2 |
|
08-Dec-2010 |
Dianne Hackborn <hackbod@google.com> |
Rework activity lifecycle so onSaveInstanceState() is after onPause(). The goal is to fix a bunch of fragment-related bugs caused by various things trying to do fragment transactions after onPause()... which currently throws an exception, since this is after the activity's state has been saved so the new fragment state can be lost. The basic change is relatively simple -- we now consider processes hosting paused or stopping activities to be unkillable, and the client code now does the onSaveInstanceState() as part of stopping the activity. For compatibility, if an app's targetSdkVersion is < HONEYCOMB, the client side will still call onSaveInstanceState() prior to onPause() and just hold on to that state until it needs to report it in once being stopped. Also included here is a change to generate thumbnails by taking screenshots. The code for generating thumbnails by re-rendering the view hierarchy is thus removed. Change-Id: Iac1191646bd3cadbfe65779297795f22edf7e74a
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
663f4f33e23551ef4047e39d0c3d645269e32c2a |
|
24-Nov-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Misc ActivityManagerNative cleanup. Change-Id: Ib1fba1a72d074a12b44cce64741071815cb680f3
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
621e17de87f18003aba2dedb719a2941020a7902 |
|
23-Nov-2010 |
Dianne Hackborn <hackbod@google.com> |
Implement issue #3221502: New APIs to support new back stack / task navigation What this adds: - A new Intent activity flag to completely replace an existing task. - A new Intent activity flag to bring the current home task up behind a new task being started/brought to the foreground. - New versions of startActivity() that take an array of Intents to be started, allowing applications to start a task in a specific state. - A public moveTaskToFront() method on ActivityManager, with a new flag that allows the caller to have the task moved to the front with the current home task immediately behind it. Change-Id: Ie8028d09acffb5349d98043c67676daba09f75c8
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
a1b0d6966e45e847aa47cc35eac8ea4e624d6a99 |
|
08-Oct-2010 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of efa4f7f8 to master Change-Id: I00dff76594326a6f6e69515a9cba673602ed269d
|
3c4c2b7e6f0674068d13b42d4dcf0fd009df0c49 |
|
06-Oct-2010 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #3001368: API REVIEW: android.app.Activity Bye bye, lots of junk. Change-Id: Idd72fc525851277362b2a1ff3bb0f7865fe655fd
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
90f4aafa336d9f2f07281ead3c846d323a710015 |
|
27-Sep-2010 |
Dianne Hackborn <hackbod@google.com> |
Implement permission granting in clipboard. Change-Id: I9a7a949d1aaf4b3beabceaf807fb7d3b040e4ea8
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
cca1f0e3476edd09cdd81b075a6b7780a2959b46 |
|
27-Sep-2010 |
Dianne Hackborn <hackbod@google.com> |
Allow all apps to call ContentResolver.getType(). I can't find the bug number for this, but it is needed for some things we are doing where the app building an intent may not have access to the URI in the data field. This is for HC, but doing in GB to avoid introducing integration issues. Change-Id: I0cac971854198b18775d2a73deb80f23431bfbe2
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
8313fc7e94e46e5cc09f457a15a771a325b9f74f |
|
27-Sep-2010 |
Dianne Hackborn <hackbod@google.com> |
Allow all apps to call ContentResolver.getType(). I can't find the bug number for this, but it is needed for some things we are doing where the app building an intent may not have access to the URI in the data field. This is for HC, but doing in GB to avoid introducing integration issues. Change-Id: I0cac971854198b18775d2a73deb80f23431bfbe2
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
d02bdaab495641ab50e2123fdfd99a819cc40540 |
|
26-Aug-2010 |
Daniel Sandler <dsandler@android.com> |
Remove experimental immersive mode support. DO NOT MERGE Bug: 2949215 Change-Id: I7d998ef571ef7e149bb96261430e92150b80b77d
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
c8f8497b9cac63a923dbdb1c08e247ba32c19e5e |
|
26-Aug-2010 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of 66d633d2 to master Change-Id: I6c38d7c4d127954dfca17082215c587a3cd4a586
|
7e269644fcc319835f1e7f762f3cbd8087e3e22f |
|
26-Aug-2010 |
Dianne Hackborn <hackbod@google.com> |
Don't retain global ref to last inflated context. Also rework URI permission granting to support upcoming clipboard use. Change-Id: I9842920350955531c5a511c2ecc5215e8c783343
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
86dde2d64c7eadc06a17aeb486c669ce4b53d13c |
|
31-Jul-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
am e2d33bbc: am d2165cfc: Merge "StrictMode: time violations in Binder calls" into gingerbread Merge commit 'e2d33bbc496192d49c1e48baad446d8d0720d301' * commit 'e2d33bbc496192d49c1e48baad446d8d0720d301': StrictMode: time violations in Binder calls
|
cb9ceb1029036363a81952d8ed5dfcbc83e6ff72 |
|
29-Jul-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
StrictMode: time violations in Binder calls Change-Id: I5796993dce98be722cf679b78acaf0c9de0ba461
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
824c510752fd6a30cdba5ed7324cb80a5043ce26 |
|
10-Jul-2010 |
Andy McFadden <fadden@android.com> |
Allow "am" to initiate heap dumps. This was mostly cloned from the "am profile" implementation. It's intended to replace the old "kill -10" approach used by "runhat". We could really use a native heap dump, so I pass a "managed" flag through that indicates whether we want to dump the native or managed heap. We don't currently have a native heap dump-to-file function, so it currently just logs a warning. (android.ddm.DdmHandleNativeHeap.getLeakInfo is a good start -- it copies /proc/maps and then calls get_malloc_leak_info to get some goodies. Needs some formatting to make it human-readable. I didn't want to cram all that into this change.) It would be useful if "am" didn't exit until the heap dump operation completed, but I'm not sure how to do that. Bug 2759474. Change-Id: I46bc98067738d8c72ac0fc10002ca67bb4929271
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
c27181c7f3e11170ec82807cfa416f0a906ff574 |
|
30-Jun-2010 |
Christopher Tate <ctate@google.com> |
Remove memory monitoring from the system watchdog This was originally written as an in-case-we-need-it facility, but was never actually used in production. It also soaked up a surprising amount of cpu on occasion, as well as doing sketchy things like demoting the system_server's primary looper thread to the background cgroup at times. Change-Id: I9a81a8d1e9caea9e0a1277d97785fe96add438d7
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
9d39d0cb361c5d3bba04a6bacf299be2162a6e92 |
|
25-Jun-2010 |
Dianne Hackborn <hackbod@google.com> |
Make bad notifications crash their application. Implement notification manager handling of bad notifications, to call a new activity manager to have the owner's process crashed (if there is one). Change-Id: Ib15e8d0c598756f3b39c99cc2045c18e054daf6b
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
69a4817e3e1e368e758ff8c238deb5ee26963c04 |
|
23-Jun-2010 |
Daniel Sandler <dsandler@android.com> |
Immersive activity API. An Activity can declare itself to be "immersive" either by setting android:immersive="true" in AndroidManifest or by calling setImmersive(true). Immersive activities "should" not be interrupted, for example by Notifications with an associated fullScreenIntent. (In the future we may even prevent any non-system application from successfully calling startActivity() if the foreground activity is immersive.) Notifications with FLAG_HIGH_PRIORITY set will be shown to the user in some less-obtrusive way if the frontmost activity is immersive. Change-Id: I8d0c25cc4e22371c27cbf2bb6372d2c95d57b2d7
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
46d42387464a651268648659e91d022566d4844c |
|
11-Jun-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
More StrictMode work, handling violations in ActivityManagerService. Also starts to do duplicate-suppression. Change-Id: I0502f6ab6c45fa319298de4874ecfe44b7829d21
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
438d0595121a7a2cdf19741e76e3c0e21a5c173d |
|
10-Jun-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Introduce "StrictMode" This is a new public API for developers to opt-in to strict rules about what they're allowed to do on certain threads. (this is the public face of the @hide dalvik.system.BlockGuard, added recently...) In practice this will be used for developers to opt-in to declaring that they don't want to be allowed to do various operations (such as disk I/O or network operations) on their main UI threads. (these operations are often accidental, or even when they are fast come with a good chance of being slow or very slow in some cases....) Implementation wise, this is just a thread-local integer that has a bitmask of the things that aren't allowed, and more bits for saying what the violation penalty is. The penalties, of which multiple can be chosen, include: * logging * dropbox uploading for analysis/reporting * annoying dialog * full-on crashing These are all only very roughly implemented at this point, but all parts now minimally work end-to-end now, so this is a good checkpoint commit before this gets too large. Future CLs will polish all the above 4 penalties, including checksumming of stacktraces and minimizing penalties for duplicate violations. Change-Id: Icbe61a2e950119519e7364030b10c3c28d243abe
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
860755faa6bdd3c2aeae49c05b87b5bc080ae60c |
|
04-Jun-2010 |
Dianne Hackborn <hackbod@google.com> |
Add support for heavy-weight applications. Only one can be running at a time, their process can not be killed, and a notification is posted while it is running. Change-Id: I843015723947e0c934ae63a1aeee139327c0bc01
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
f7f5dda5e54da53b98f1504672a422a484496531 |
|
23-Mar-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
Add new activity manager method to get list of running applications installed on sdcard. Use new method in UsbStorageActivity. Fix moving dex files. moveDex should be suffixed with LI since it uses Installer Change-Id: Id5ef0254578e84b9aae2c2ac44f722eb5a0fda1c
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
2ccda4dc8d800c3592b4bd4d1d70a064d98dd4fe |
|
23-Mar-2010 |
Dianne Hackborn <hackbod@google.com> |
Improve switching to car mode, retain night mode option. Fiddle with how we go into car mode to try to ensure we get a clean transition. Also have the system take care of remembering the night mode setting so it will stay at what you want. Change-Id: Icb94fdd961c7a192f7707ec71544485a1ea12455
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
e99bb5f10b90736d10cee9729b56cba156fc0921 |
|
19-Mar-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
Add new method call back in MountService. PackageManager invokes this call back when its done handling the media status update. Add new uid check for updateExternalMediaStatus Change killPids method in ActivityManager. Remove mountsd command in Pm.java We cannot arbitrarily enable/disable packages in PackageManager now. Change-Id: I28dcba4afd2b4486f68abdaa1628a31b66544c91
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
061d58a10122b2ef56d4c2ed46090add16fb5b17 |
|
13-Mar-2010 |
Dianne Hackborn <hackbod@google.com> |
Fix problem with starting a translucent activity in onCreate(). Fixes issue #2437252: Starting activity by means of startActivityForResult causes 5 seconds delay if "android:windowIsTranslucent" is true The optimization to avoid showing an activity window when a new activity is being started was a little too aggressive. Now it avoids doing this if there is not actually a fullscreen activity on top to cover it. Change-Id: I630e37a1f1d3b874b5a25572cbf887cebc2e3e91
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
8f7f35e0ccd91c964b9d3eeef81ff829622dfa74 |
|
26-Feb-2010 |
Dianne Hackborn <hackbod@google.com> |
Add new -W option to Am to wait for the start to complete.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
9327f4f671de3cbb795612bf4f314ceff88de865 |
|
29-Jan-2010 |
Dianne Hackborn <hackbod@google.com> |
More device policy work: clarify password modes, monkeying. Clarifies what the password modes mean, renaming them to "quality" and updating their documentation and the implementation to follow. Also adds a facility to find out if a monkey is running, which I need for the api demo to avoid letting it wipe the device.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
03abb8179f0d912e6dabfc0e2b0f129d85066d17 |
|
05-Jan-2010 |
Dianne Hackborn <hackbod@google.com> |
Kill the task killers. The ActivityManager.restartPackage() API is now deprecated, and no longer allows applications to mess up the state of other applications. This was being abused by task killers, causing users to think their other applications had bugs. A new API is introduced for task killers, ActivityManager.killBackgroundProcesses(), which allows these applications to kill processes but only the same amount that the out of memory killer does, thus causing no permanent damage. The old restartPackage() API is now a wrapper for calling this new API. There is also a new private forceStopPackage() API that is used for the system's force stop UI which does what the old restartPackage() API did.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
60d8762413e8daba5f73559786312a9ec5e3b827 |
|
17-Dec-2009 |
Dan Egnor <egnor@google.com> |
DropBox logging of app & system server crashes. The crashes are also reported to the event log (and of course the main logcat, like they always have been). Ordinary Log.e(t,m,e) isn't dropboxed but there's a new Log.wtf() which always is. (Still @pending in this change.) Add a hook to IPowerManager to crash the system server on demand (only for apps with REBOOT permission, since it's basically a restart). This is not exposed in PowerManager, must be invoked directly -- mostly this is there so "Bad Behavior" in dev tools can do it.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
b7f0367cec1c744aa66ef397b0244e25d507491c |
|
10-Dec-2009 |
Dan Egnor <egnor@google.com> |
Eliminate CrashData and friends. (CrashData was a custom-marshalled crash-info class used for a server crash reporting system I am deprecating). Use ApplicationErrorReport.CrashInfo instead to report crash details (mostly the stack trace) from RuntimeInfo to ActivityManagerService, since we're likely to need the crash information in that form anyway. Remove the (long-disabled) flags and support for the "Debug" button in the crash dialog. Further gut the ICheckinService interface by removing the crash-reporting APIs (and everything that calls them), plus the synchronous checkin() method (which has been stubbed out for a while now). A new dropbox-based crash reporting system is in the works, but not part of this change.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
e88846eeaf70f9f4299af9e3d54ba5dacede42b6 |
|
01-Oct-2009 |
Dianne Hackborn <hackbod@google.com> |
Semi-workaround for #2027266: app drawer showing up on the side of the screen (when booted while docked) This isn't really a fix, but we now have the activity report the configuration it actually launched in, so the activity manager will later adjust it if needed. Should help us recover from hitting the race in this particular case. Change-Id: I3bb83a48c2d692b4cb1822d8ae7d924cfa9187b2
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
3b3e145d3c41fd68974e08f799b1fd1f8f060cf0 |
|
25-Sep-2009 |
Dianne Hackborn <hackbod@google.com> |
A variety of work on animations. - The lock screen now fades in and out. - Fixed a bug where we would accidentally freeze the screen when switching to an activity with a different orientation than the current (but the screen itself is in the current orientation). This would mess up the animations on the car dock. - New API to force a particular animation for an activity transition (untested). - New wallpaper animations. - Resources now uses the next API version when in a development build, to help applications being developed against such builds. Change-Id: I2d9998f8400967ff09a04d693dc4ce55f0dbef5b
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
fa82f22f1d8c4c828bdf9b670006be4f4fec772e |
|
18-Sep-2009 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #2093608: Calendar widget takes a few seconds to launch Avert your eyes! The key change here is that RemoteViews can now call a Context API to start its pending intent, which inside of the activity manager we can use to determine to cancel the timeout delay for external entities to disrupt the home screen. Change-Id: If097cf7478cbed7a3c04a304050bd7fd5703d197
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
4f21c4cf077cfee5b35a56703618115614bc40f2 |
|
17-Sep-2009 |
Dianne Hackborn <hackbod@google.com> |
Add API to retrieve memory used by running processes. Change-Id: I9c1935c2ef3c78bd67ec4dfd811a1caaab4514c3
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
bcbcaa7edd32ba67c6290d79f7e7821c4b5b39ac |
|
10-Sep-2009 |
Dianne Hackborn <hackbod@google.com> |
Wallpapers, animations, pending intent. Some more tweaks and fixes to wallpapers. Make sure wallpapers are told they are not visible when the screen is off. Add some new animations for transitions across tasks, and fiddle with many of the existing animations. Clean up the relationship between translucent activities and animations. Add new API to start a PendingIntent from an activity. Change-Id: Ie0bf45fe44081bb6982c75361257a55d9cd9d863
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
dd9b82c283815747b75fe4434c65e4b6c9c9b54f |
|
03-Sep-2009 |
Dianne Hackborn <hackbod@google.com> |
Add better service reporting. This will be used elsewhere. Change-Id: Id561fa7fed5eb65446312cb697813483903d33a6
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
a34f1ad7c3a68d971e6332aa2fb1c16d083920b3 |
|
02-Sep-2009 |
Dianne Hackborn <hackbod@google.com> |
Fiddle system boot ordering. This makes the system a little more careful to not start third party code until it is ready to. Also fix a little bug in SyncManager that would cause it to crash during boot if sync was in a failure state. Change-Id: Ib2d287d8441d155d393fe740a5f98690895fd358
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
5e1ab335e6e8fbfa19c64d53880a22f472010953 |
|
02-Sep-2009 |
Christopher Tate <ctate@android.com> |
Expand apps' control over the settings restore process Applications can now specify two more aspects of the restore process: whether they need to run with their own custom Application subclass rather than being launched in the usual restricted mode during restore, and whether it's okay for the backup manager to kill the app process once restore has completed. The new manifest attributes for these are, respectively, android:restoreNeedsApplication and android:killAfterRestore. If unspecified in the manifest, restoreNeedsApplication is false, and killAfterRestore is true. In order to support kill-after-restore cleanly, this change also adds a new system-process-only interface to the Activity Manager, which will schedule a "commit suicide" event on the target app's main thread looper. The framework backup agents have been given the appropriate new backup attributes as well.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
3025ef332c29e255388f74b2afefe05f64bce07c |
|
01-Sep-2009 |
Dianne Hackborn <hackbod@google.com> |
Various infrastructure to support a running services UI. Some of this is temporary (in particular the two approaches for getting process memory, one working but horrible, the other not working but preferred) until I figure out the best way to do it. Change-Id: I8c8f25062d481fcea22a47d459b083d2fd8a5040
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
f6f9f2d0256930ce0bb4913b2260b8480914edc2 |
|
22-Aug-2009 |
Dianne Hackborn <hackbod@google.com> |
Add more control over a service's start state. One of the problems I have been noticing is background services sitting around running and using resources. Some times this is due to the app developer doing this when they shouldn't, but there are also a number of issues with the current Service interaction model that make it very difficult (or impossible) to avoid getting services stuck in the started state. This is a change/enhancement to the Service API to try to address this. The main change is that Service.onStart() has been deprecated, replaced with a new Service.onStartCommand() that allows the service to better control how the system should manage it. The key part here is a new result code returned by the function, telling the system what it should do with the service afterwards: - START_STICKY is basically the same as the previous behavior, where we usually leave the service running. The only difference is that it if it gets restarted because its process is killed, onStartCommand() will be called on the new service with a null Intent instead of not being called at all. - START_NOT_STICKY says that, upon returning to the system, if its process is killed with no remaining start commands to deliver, then the service will be stopped instead of restarted. This makes a lot more sense for services that are intended to only run while executing commands sent to them. - START_REDELIVER_INTENT is like START_NOT_STICKY, except if the service's process is killed before it calls stopSelf() for a given intent, that intent will be re-delivered to it until it completes (unless after 4 or more tries it still can't complete, at which point we give up). Change-Id: I978f5ca420d70023d1b5e7f97de639d09381f8ad
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
d8a43f61680bacf0d4b52a03ff3c7a07307377fc |
|
18-Aug-2009 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #2047139: Remove Service.setForeground() This API is becoming seriously abused, so now it is deprecated and has become a no-op. As an alternative, there is now a new API that allows you to make a service be in the foreground but requires providing a persistent notification to go along with this state, allowing the user to know about and control it.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
a6ddc8af22af6bce879c5bf906aad16c0b3d6b01 |
|
29-Jul-2009 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #1999179: search -> click result -> press home = search dialog is shown then hidden Re-arrange various things to ensure that the search dialog is told about system windows being closed before it is told about the navigation back to home.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
261e66acd1963d9c404fd2d3ddc6ef99ccd745cf |
|
28-Jul-2009 |
Suchi Amalapurapu <asuchitra@google.com> |
Fix resource code and version attributes Create a new package setting object for updated system apps rather than moving around the same setting. This updates the resource, code and version correctly. For updating system packages, disable the package first which removes the entry from internal structures, create a new package setting, add it to list of user id's then rest of installation steps, kill the process if needed via ActivityManager then add this setting if everything was successful. This also fixes issues with updating values prematurely. When a new version of system package is available via OTA, just physically remove entries for pkg. Note that the component and other info will be eventually updated later on when scanning the package. Also move certificate verification slightly ahead before scanning packages. Some null checks New api's in ActivityManager to kill an application pkg before finishing installation
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
2d91af06082d10759793a79d17afdfbdc65a37ed |
|
16-Jul-2009 |
Dianne Hackborn <hackbod@google.com> |
Issue #1969025: need api for launching intent as if it were coming from another component And now there is.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0 |
|
13-Jul-2009 |
Dianne Hackborn <hackbod@google.com> |
Add reporting of activity movement for search manager. This adds a new API with the activity manager to find out about movement between activities. For my sanity, the old IActivityWatcher is now renamed to IActivityController, and the new activity movement interface is named IActivityWatcher. This changes the search manager itself to use the new API to manage its state. Note that there are still problems when going back to the search dialog after it was hidden -- the suggestions window no longer appears until you explicitly dismiss and re-show it.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
9c8dd55a9d829c29a3feee9469d8c2f27a9f5516 |
|
24-Jun-2009 |
Dianne Hackborn <hackbod@google.com> |
Fix bug 1829561 ("am profile" with bad filename kills process). The am command is now the one that takes care of opening the target file, handling the opened file descriptor to the process that will be profiled. This allows you to send profile data to anywhere the shell can access, and avoids any problems coming up from the target process trying to open the file.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
1ccac75e1f1b97eccb916a8de04fc1012b30f6e5 |
|
12-Jun-2009 |
Suchi Amalapurapu <asuchitra@google.com> |
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.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
181fafaf48208978b8ba2022683ffa78aaeddde1 |
|
14-May-2009 |
Christopher Tate <ctate@google.com> |
Retool the backup process to use a new 'BackupAgent' class Backups will be handled by launching the application in a special mode under which no activities or services will be started, only the BackupAgent subclass named in the app's android:backupAgent manifest property. This takes the place of the BackupService class used earlier during development. In the cases of *full* backup or restore, an application that does not supply its own BackupAgent will be launched in a restricted manner; in particular, it will be using the default Application class rather than any manifest-declared one. This ensures that the app is not running any code that may try to manipulate its data while the backup system reads/writes its data set.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
95fc68f24a2a93e5664e2234abcfe479d385cc05 |
|
20-May-2009 |
Dianne Hackborn <hackbod@google.com> |
Fix issue where apps could prevent the user from going home. Now we have a 5-second time after home is pressed, during which only the home app (and the status bar) can switch to another app. After that time, any start activity requests that occurred will be executed, to allow things like alarms to be displayed. Also if during that time the user launches another app, the pending starts will be executed without resuming their activities and the one they started placed at the top and executed.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
55280a91884b9256e8db6af6a09f28b3feeaa9d8 |
|
08-May-2009 |
Dianne Hackborn <hackbod@google.com> |
Improve shutdown process to send broadcast for applications. This introduces a new class in the base platform for performing a clean shutdown (which was copied from the classes in the policies). It includes new features to send a shutdown broadcast for applications to do cleanup, and ot have the activity manager pause the current activity before proceeding with the shutdown. These facilities are also use to write at the most recent stat files for sync, battery and user activity.
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2 |
|
06-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@136745
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
d24b8183b93e781080b2c16c487e60d51c12da31 |
|
11-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@130745
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
f013e1afd1e68af5e3b868c26a653bbfb39538f8 |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/core/java/android/app/ActivityManagerNative.java
|