Several functions operate on variables to which access needs to be
synchronized. However, it happens that the functions in question
are only ever called from places which have already synchronized.
Therefore, nothing is really wrong, but the functions ought to
have 'Locked' appended to their names, to indicate that it is the
caller's responsibility to synchronize before calling them.
Change-Id: I44e7dc0dff6da9436677cb10908dce41ffeba195
There exists a race condition when starting a process that recently has died.
If the ActivityManager receives the death notification for the died process
after the new process has been started but before an application thread has
been attached to the new process will the newly created process be removed
during the cleanup of the died process. If this happens when sending a broadcast
could it result in an ANR.
This is solved by doing the clean up before starting a new process that uses
the same process record.
Merge commit 'ee3bbefd34fd5330ebbc59175a328197ab7526af' into eclair-plus-aosp
* commit 'ee3bbefd34fd5330ebbc59175a328197ab7526af':
Don't crash the system process when apps give us a bad foreground service notification.
Merge commit 'b1c4a2a3b37fccf68e6a9563cccf1685df2bf3e7' into eclair-plus-aosp
* commit 'b1c4a2a3b37fccf68e6a9563cccf1685df2bf3e7':
Fix issue #2364506: Phone locked up while listening to music and attempting to download an update
Make sure the application is always given the most recent configuration
when launcher. Use the current configuration, instead of whatever happens
to be set by the app, for reporting what it was launched with.
Change-Id: I2ffe306f56cc9092b640546dd0a28d2c29b9c0b3
Merge commit 'ae952b3bcc3eb744cceb5cd0ae65b2c7a83f9de7' into eclair-plus-aosp
* commit 'ae952b3bcc3eb744cceb5cd0ae65b2c7a83f9de7':
If the usage stats file doesn't exist in the first place there is no need to
Merge commit 'ab5efde8dcdfcafea7e9d95350e18022b1adc679' into eclair-plus-aosp
* commit 'ab5efde8dcdfcafea7e9d95350e18022b1adc679':
Work on issue 2259506: camera ANRed and then device runtime restarted
Merge commit '826d17c0690e086ed96f43714d731ec6e0ddcf96' into eclair-plus-aosp
* commit '826d17c0690e086ed96f43714d731ec6e0ddcf96':
A little more on #2256270: Package manager sends bad broadcasts when components change
Merge commit '2ade6421f2d6dd615b559c951deace7143958b90' into eclair-plus-aosp
* commit '2ade6421f2d6dd615b559c951deace7143958b90':
Debugging for issue #2250075: Desk dock clock app sometimes doesn't
You can no longer receive CONFIGURATION_CHANGED in a manifest, which is really really
bad (launching apps every time the screen is rotated!). A new LOCALE_CHANGED broadcast
is sent that you can receive in a manifest.
Change-Id: I80022375f0716db2e672382a29db3cea1af74702
This adds a history of the last 100 broadcasts that is printed in the
debug log, to be able to see what recently happened at the time the
bug report was taken. Also does some optimization of the printing of
the broadcast records to make it feasible to print this number of
entries. (We kind-of need to do this because there are some broadcasts
like SIG_STR and SYNC_STATE_CHANGED that are being broadcast a LOT.)
Change-Id: I775e1ec0f63369c8bca8c83cee27b95ddc5ec450
Merge commit 'bf50200ba494db0ac2ce655a95f76640f49355ee' into eclair-plus-aosp
* commit 'bf50200ba494db0ac2ce655a95f76640f49355ee':
When tasks are moved to top or bottom, the app tokens are being rearranged.
The window token rearrangement is defered if an animation is
underway. Force a focus recomputation when the window tokens are finally
rearranged so that we have a valid focused window.
Merge commit '4ab2c7770c8e55072ee7a083fa84e318e07c8c3e' into eclair-plus-aosp
* commit '4ab2c7770c8e55072ee7a083fa84e318e07c8c3e':
Fix for 2221718: Hang in BatteryStatsService.noteBluetoothOn
Merge commit 'fb872d1af3c775114ac7d241eb1924a9aafbb9df' into eclair-plus-aosp
* commit 'fb872d1af3c775114ac7d241eb1924a9aafbb9df':
Fix a race that kept the locale picker from working under heavy CPU load.
The locale picker and the activity transition would both change the
configuration, and depending upon the timing, the activity transition
would undo what the locale picker had just done. Usually it worked right,
but would often fail if the user changed locales just after a data wipe,
when the media scanner was working hard in the background to index
the contents of the SD card.
http://b/issue?id=2216298
Merge commit 'f37447bad3773b62176baa837908daf6edb44273' into eclair-plus-aosp
* commit 'f37447bad3773b62176baa837908daf6edb44273':
Proper fix for zero signal strength and no_service. Fixes#2176141
Track phone service state changes and use a separate timer for out-of-service
since the hunting can timeout on some devices.
Store the timeout value in the config.xml, as it is device/network specific.
Settings App will also change to use the hunting duration to compute the cost
of zero signal.
Merge commit '2c6c5e6e49795e6e24cd089c9018377d837ba931' into eclair-plus-aosp
* commit '2c6c5e6e49795e6e24cd089c9018377d837ba931':
Fix issue #2176944: Need API so browser, others can determine memory size of device
- Don't crash if the service's app process doesn't have a thread (this
can happen if we are currently starting the process and then try to
start the service again).
- Be more robust about deciding to start a service's process: try each
time it is started; the startProcess call will take care of ignoring
it if the process is already started.
- Fix some issues where we would leave dead processes on the low memory
list.
Change-Id: I490e01ba7b45adc191bab7ace377b6873e284897
Merge commit '68d881cf2d2b252f6f795cd64d43e316a1d736e5' into eclair-plus-aosp
* commit '68d881cf2d2b252f6f795cd64d43e316a1d736e5':
Fix issue #2166755: BroadcastReceiver trying to return result during a non-ordered broadcast
Merge commit '48e6725c828a8d420d43925b0c9a9a915a8c4e2f' into eclair-plus-aosp
* commit '48e6725c828a8d420d43925b0c9a9a915a8c4e2f':
Work on issue #2163789: Way too much logging
Don't hold a lock when the activity thread is telling the activity manager
to release a provider.
This requires that the activity manager now keep a reference count on the
providers, because without the lock it is possible for activity thread to
call in to request the provider again before it has finished telling
about the release.
Change-Id: I5f912903891f4edae85e28819d4e6f14b8f2e688
Tell the broadcast receiver whether it is getting an initial sticky value,
so it will be quiet about attempts to do ordered broadcast stuff.
Note that the original bug being reported was not actually a crash, just
an error log. So all we are doing here is making the log quieter.
Change-Id: Iaf1b718d82093ec1197142410a64feff47eb3859
Merge commit 'e88846eeaf70f9f4299af9e3d54ba5dacede42b6' into eclair-plus-aosp
* commit 'e88846eeaf70f9f4299af9e3d54ba5dacede42b6':
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
Merge commit '436344ae12c819f58306ceb94241a266141e1218' into eclair-plus-aosp
* commit '436344ae12c819f58306ceb94241a266141e1218':
Turn off most of the backup-related debug logging
The core logging in BackupManagerService and in the Google backup transport are
still enabled at this point.
Change-Id: I10abfa565bbd1097dd3631051b6aca163e4af33a
Merge commit '48e9a0dd66b832cfaf668deba584394eba0ffdfc' into eclair-plus-aosp
* commit '48e9a0dd66b832cfaf668deba584394eba0ffdfc':
Fix issue #2150258: Suggestions become inactive and do not respond when pressed.
Merge commit '094e3e0bcc81a795f35ac2ea218d0fc0109100cf' into eclair-plus-aosp
* commit '094e3e0bcc81a795f35ac2ea218d0fc0109100cf':
Check if rename of backed up file fails before persisting new changes.
If not these system services will end up with inconsistent settings files
when the device runs out of storage.
Delete mangled settings file in PackageManager if the current write fails
so that we don't end up overwriting the backed up version with the
mangled version
Include null check when retrieving fwd locked resource for an existing package