components by apps which could result in thrashing on the PackageManager. For apps that
do not want to be restarted when such a broadcast is sent, we can just aggregate these broadcasts and
handle them at one go.
Changes include:
New structure to hold pending broadcasts by class name. If a component is enabled or disabled frequently
aggregate component enabled/disabled settings in this structure in a 10 second window and then
send out the accumulated list of broadcasts to the ActivityManager.
A new Handler implementation handles this message
Add new attribute name EXTRA_CHANGED_COMPONENT_NAME in broadcast intent Intent.ACTION_PACKAGE_CHANGED for
additional information for apps like Launcher.
Rename a couple of parameters, the names were too jarring.
Merge commit '9756a70bd92fb844d2fd8346cc4bb6c8bb768c4b' into eclair-plus-aosp
* commit '9756a70bd92fb844d2fd8346cc4bb6c8bb768c4b':
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.
Merge commit 'd31825c6ff83a3e336efc97ced1b205fe65b11a9' into eclair-plus-aosp
* commit 'd31825c6ff83a3e336efc97ced1b205fe65b11a9':
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
Merge commit '84c4548d046c7426cd346602cec18b98fdcdbf3c' into eclair-plus-aosp
* commit '84c4548d046c7426cd346602cec18b98fdcdbf3c':
LocationManagerService: Remove caching of last known locations to flash.
LocationManagerService: Add null pointer check and remove useless finalize() method.
Merge commit 'b0a054048329c31948c2f5dbcc11b6f99e454177' into eclair-plus-aosp
* commit 'b0a054048329c31948c2f5dbcc11b6f99e454177':
SensorService: call close_data_source when we have no more sensor clients.
Merge commit '2d93a11663d1d872bc7e9d6512a445fa84148583' into eclair-plus-aosp
* commit '2d93a11663d1d872bc7e9d6512a445fa84148583':
Do not send dock state changed broadcasts until the system has finished booting.
Merge commit '284ac93aa30642fda87d5c40263a1263677c21cd' into eclair-plus-aosp
* commit '284ac93aa30642fda87d5c40263a1263677c21cd':
More work on wallpapers: animations, lifecycle, scaling, etc.
Yet more work on improving the behavior of wallpapers. This fixes a few
problems in their lifecycle (corresponding change in the picker also
required for this), makes their animations better for hardware that supports
alpha fades, adds animations for the wallpapers themselves, eliminates
fixed size wallpapers, and adjusts the API for retrieving a wallpaper
bitmap to take care of scaling the raw wallpaper image to match the current
desired width and height.
Change-Id: If1c0aaceba4ea4e175dcb7a8416ca7ddbb9bfa6f
This introduces a new mechanism to define features associated with
a platform, query the current device for the available features,
and enforce that apps requiring features that aren't available can't
be installed.
Also now allows uses-library to specify that a library is optional,
so the lack of such a library will not prevent the app from being
installed (but if it does exist it will be correctly linked into
the app).
Change-Id: I5b369b46cfa0b3d37c9e08fd14ef1098a978e67b
Merge commit 'd6ac7c73e17f0ce0cc3b1290760c4f67cafcdec5' into eclair-plus-aosp
* commit 'd6ac7c73e17f0ce0cc3b1290760c4f67cafcdec5':
Fix issue #2069662: The wallpaper doesn't move along with the home screen
Merge commit '6391830d103ccb19465c69660065c22c2711dcfd' into eclair-plus-aosp
* commit '6391830d103ccb19465c69660065c22c2711dcfd':
Don't activate keyguard if screen is turned off while proximity sensor is active.
Merge commit '18ad9f657bda79069233c0b8e1476888ffd894d4' into eclair-plus-aosp
* commit '18ad9f657bda79069233c0b8e1476888ffd894d4':
Only allow system code to call LocationManager.sendNiResponse()
Merge commit '1e0f7627389a18d7a2ea74d7a5fb2c251de56a56' into eclair-plus-aosp
* commit '1e0f7627389a18d7a2ea74d7a5fb2c251de56a56':
Make SINGLE_TOP work with CLEAR_TOP.
Merge commit 'aa0a3b09e7a2947130e9a98c459a63349ef2d339' into eclair-plus-aosp
* commit 'aa0a3b09e7a2947130e9a98c459a63349ef2d339':
Various tweaks to try to improve low memory behavior.
Merge commit '25b9cec8de75bd38c4868515e611cd69aff524ca' into eclair-plus-aosp
* commit '25b9cec8de75bd38c4868515e611cd69aff524ca':
PowerManagerService: Disallow all user activity when in proximity wake lock.
Merge commit '49c22570bb8717bb678dbd8bae6692bb585370fc' into eclair-plus-aosp
* commit '49c22570bb8717bb678dbd8bae6692bb585370fc':
LocationManager: Fix problem replacing GPS and network providers with a mock provider.
Merge commit '7566c1debebe072af76411e11d96810fd1409482' into eclair
* commit '7566c1debebe072af76411e11d96810fd1409482':
LocationManager: Fix problem replacing GPS and network providers with a mock provider.
- Reduce the amount that we ask processes to GC after a significant
operation occurs, but introducing a minimum time between GCs and
using this in various ways to schedule them.
- Don't spam all of the processes with onLowMemory(). Now deliver
these using the same gc facility, so we do the processes one at a
time, and don't allow the same process to get this call more than
once a minute.
- Increase the time a service must run before we will reset its
restart delay to 30 minutes (from 10).
- Increase the restart delay multiplication factor from 2 to 4.
- Ensure that we don't restart more than one service every 10 seconds
(unless some external event causes a service's process to be started
for some other reason of course).
- Increase the amount of time that a service must run before we
decide to lower it to a background process.
And some other things:
- Catch IllegalArgumentException in ViewRoot like we do for no
resources to avoid the system process crashing.
- Fix a number of places where we were missing breaks between the
activity manager's message dispatch func(!!).
- Fix reason printed for processes in the background.
- Print the list of processing waiting to GC.
Merge commit 'cc907741b9b7344820ffbc8d68992567d74d0f4b' into eclair-plus-aosp
* commit 'cc907741b9b7344820ffbc8d68992567d74d0f4b':
Simplify data icons of CDMA in status bar.