429 Commits

Author SHA1 Message Date
Dianne Hackborn
6d92cde287 am 35f4d32d: Merge "frameworks/base: Track owner in appropriate owners list of Uri"
* commit '35f4d32dc2f0c383323e780ecc7e2764704c5d2c':
  frameworks/base: Track owner in appropriate owners list of Uri
2011-01-22 11:50:41 -08:00
Vairavan Srinivasan
91c12c27ef frameworks/base: Track owner in appropriate owners list of Uri
The owner isn't kept track it URI's writeOwners when
grantUriPermissionUncheckedLocked is invoked to provide both
read and write access to the URI. Fix is to check for both
read and write permissions and add owner to appropriate lists.

Change-Id: Id23688b96aefeb0a4911ee52ad47124bc5904fa0
2011-01-21 18:26:06 -08:00
Dianne Hackborn
a9d8a69a04 am 9aac2e2b: Merge "Referencing of "r.record.name" is occured, when "r.record" is null." into gingerbread
* commit '9aac2e2b9541c424ca02483631b08949f0e90c8c':
  Referencing of "r.record.name" is occured, when "r.record" is null.
2011-01-09 13:56:07 -08:00
lge-aosp
c712204d91 Referencing of "r.record.name" is occured, when "r.record" is null.
Change-Id: I625e45923a7fd9f4ac8eb434ed07d452f8e1e0b6
2011-01-09 12:38:34 -08:00
Mattias Petersson
5f619b7d95 Avoiding cyclic references when unbinding from a service
Cyclic references can occur between a Service object held by an
application and a ServiceRecord object held by the system server.
A part of the problem is that binders are leaked and since many binders
are implemented by inner classes of services these services are also leaked.
This causes low memory problems. The solution is: When a Service is beeing
destroyed, go through the ServiceRecord's all IntentBindRecord and set its
binder references to null. This allows the binder and the service object to
be garbage collected.

Change-Id: I5a257521964851f34c08ffb3908feaad96b1bafe
2011-01-07 07:56:46 +01:00
Johannes Carlsson
73fef3c7c0 am b5a8654d: Clear reference to the IIntentReceiver in order to avoid memory leak
* commit 'b5a8654dea9ea8443b41f8ff3668ae4074e13a07':
  Clear reference to the IIntentReceiver in order to avoid memory leak
2011-01-05 19:13:29 -08:00
Johannes Carlsson
b5a8654dea Clear reference to the IIntentReceiver in order to avoid memory leak
When using sendOrderedBroadcast(..) with a BroadcastReceiver the
BroadcastReceiver instance was not released. The reason for this was that
the resultTo field in the BroadcastRecord kept a reference until it was pushed
out of the mBroadcastHistory. This reference in turn kept a reference to the
process side IIntentReceiver (implemented in ReceiverDispatcher$InnerReceiver).
This in turn had a strong reference (through mStrongRef) to the Context.

In order to keep the debug output the resultTo is also kept as a String in the
new resultToString variable.

Change-Id: I4382a22a541c27b3694fb2b78a04ee820b235f8f
2011-01-05 18:59:07 -08:00
Dianne Hackborn
4302886f8f am c91f9fe5: Merge "Avoiding cyclic references when unbinding from a service" into gingerbread
* commit 'c91f9fe542fd1ca9d6da432faeba60d35c4d5c49':
  Avoiding cyclic references when unbinding from a service
2011-01-05 18:55:57 -08:00
Mattias Petersson
3996b41610 Avoiding cyclic references when unbinding from a service
Cyclic references can occur between a Service object held by an
application and a ServiceRecord object held by the system server.
A part of the problem is that binders are leaked and since many binders
are implemented by inner classes of services these services are also leaked.
This causes low memory problems. The solution is: When a Service is beeing
destroyed, go through the ServiceRecord's all IntentBindRecord and set its
binder references to null. This allows the binder and the service object to
be garbage collected.

Change-Id: I5a257521964851f34c08ffb3908feaad96b1bafe
2011-01-05 15:34:11 -08:00
Johannes Carlsson
5897591537 Clear reference to the IIntentReceiver in order to avoid memory leak
When using sendOrderedBroadcast(..) with a BroadcastReceiver the
BroadcastReceiver instance was not released. The reason for this was that
the resultTo field in the BroadcastRecord kept a reference until it was pushed
out of the mBroadcastHistory. This reference in turn kept a reference to the
process side IIntentReceiver (implemented in ReceiverDispatcher$InnerReceiver).
This in turn had a strong reference (through mStrongRef) to the Context.

In order to keep the debug output the resultTo is also kept as a String in the
new resultToString variable.

Change-Id: I4382a22a541c27b3694fb2b78a04ee820b235f8f
2011-01-04 09:15:09 +01:00
Dianne Hackborn
cc43401cd1 am 6eef0ca5: Merge "frameworks/base: Fix to release references in ActivityManagerService" into gingerbread
* commit '6eef0ca59438a15d14be8a72b6b29f01da91a5b8':
  frameworks/base: Fix to release references in ActivityManagerService
2010-12-23 14:22:32 -08:00
Vairavan Srinivasan
a207ce2aba frameworks/base: Fix to release references in ActivityManagerService
ServiceRecord's bindings is a hashmap to keep track of all active
bindings to the service. This is not cleared when the service is
brought down by activity manager. This adds up the references to
IntentBindRecords and its references to ServiceRecord. Fix is to
clear the bindings.

ServiceRecord's restarter is a reference to the service and is not
cleared when the service is brought down by activity manager. This
adds up the references to ServiceRecord. Fix is to set the reference
to null when the service is brought down by activity manager.

Change-Id: Ica448cd5f60192c8adb23209b5d0e2cf0c04e446
2010-12-23 14:16:56 -08:00
Vairavan Srinivasan
50b9b94411 frameworks/base: Fix to release references in ActivityManagerService
ServiceRecord's bindings is a hashmap to keep track of all active
bindings to the service. This is not cleared when the service is
brought down by activity manager. This adds up the references to
IntentBindRecords and its references to ServiceRecord. Fix is to
clear the bindings.

ServiceRecord's restarter is a reference to the service and is not
cleared when the service is brought down by activity manager. This
adds up the references to ServiceRecord. Fix is to set the reference
to null when the service is brought down by activity manager.

Change-Id: Ica448cd5f60192c8adb23209b5d0e2cf0c04e446
2010-12-23 13:51:48 -08:00
Dianne Hackborn
78e9f4cbae am e4a59519: Fix issue #3154576: battery stats checkin should include UID -> packages+ map
* commit 'e4a5951925f16f18dae91ed65567e96528f17fee':
  Fix issue #3154576: battery stats checkin should include UID -> packages+ map
2010-12-13 14:37:09 -08:00
Dianne Hackborn
e4a5951925 Fix issue #3154576: battery stats checkin should include UID -> packages+ map
Includes some other small fixes to battery collection and a few
other things.

Output of package info looks like this:

5,0,i,uid,1000,com.android.settings
5,0,i,uid,1000,com.android.providers.subscribedfeeds
5,0,i,uid,1000,com.android.providers.settings
5,0,i,uid,1000,com.android.server.vpn
5,0,i,uid,1000,android
5,0,i,uid,1000,com.android.systemui
5,0,i,uid,1000,com.google.android.backup
5,0,i,uid,1001,com.android.phone
5,0,i,uid,1001,com.android.providers.telephony
5,0,i,uid,1022,com.android.nfc
5,0,i,uid,10021,com.google.android.location
5,0,i,uid,10021,com.google.android.syncadapters.calendar
5,0,i,uid,10021,com.google.android.gsf
5,0,i,uid,10021,com.google.android.syncadapters.contacts
5,0,i,uid,10026,com.android.providers.downloads.ui
5,0,i,uid,10026,com.android.providers.media
5,0,i,uid,10026,com.android.providers.drm
5,0,i,uid,10026,com.android.providers.downloads
5,0,i,uid,10032,com.android.launcher
5,0,i,uid,10039,com.google.android.gm
5,0,i,uid,10041,com.google.android.gallery3d
5,0,i,uid,10049,com.android.providers.calendar

Change-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d
2010-12-13 14:31:40 -08:00
Jean-Baptiste Queru
66a5d695ed resolved conflicts for merge of b4ae2f1b to gingerbread-plus-aosp
Change-Id: I9d4e2649375d9262efe8aaade0778f638d04afa8
2010-10-25 17:27:16 -07:00
Dianne Hackborn
9c7489f8bd am 38993d8d: Merge "Fix issue #3122240: Expose xlarge in GB." into gingerbread 2010-10-22 14:03:08 -07:00
Dianne Hackborn
5383f502e4 Fix issue #3122240: Expose xlarge in GB.
Plus some other small API cleanup.

Change-Id: I1a3c60f510f99224cccac9cc3f838f04141064f8
2010-10-22 12:59:20 -07:00
Dianne Hackborn
964eb4389b am 42499170: Implement issue #3094621 and #3094609 - wipe sd card
Merge commit '424991704b5fb7a64f6cf0fcc3f4b1aabbf2a2e0' into gingerbread-plus-aosp

* commit '424991704b5fb7a64f6cf0fcc3f4b1aabbf2a2e0':
  Implement issue #3094621 and #3094609 - wipe sd card
2010-10-16 16:51:13 -07:00
Dianne Hackborn
424991704b Implement issue #3094621 and #3094609 - wipe sd card
3094621: add "wipe sd card" option to factory data reset
3094609: collapse unmount/format into one command

Also since we have decided that it is important to consider
the Crespo storage as internal storage, DevicePolicyManager
gets a new API to be able to wipe it.  (No big deal, since
all of the work for this is now done in the implementation
of the new UI.)

Change-Id: I32a77c410f710a87dcdcbf6586c09bd2e48a8807
2010-10-16 16:32:15 -07:00
Jeff Brown
6ba052b484 am c1a564b1: Merge "Add support for secure system overlays. (DO NOT MERGE)" into gingerbread
Merge commit 'c1a564b108c511c0bdd699567c245b031930e718' into gingerbread-plus-aosp

* commit 'c1a564b108c511c0bdd699567c245b031930e718':
  Add support for secure system overlays.  (DO NOT MERGE)
2010-10-15 18:40:39 -07:00
Dianne Hackborn
13e46665ff am 736f5ec4: Merge "Work on issue #3101415: Crespo apps seem to have their UID changed over time." into gingerbread
Merge commit '736f5ec476526f3431d81dec5fb695bdee27e21a' into gingerbread-plus-aosp

* commit '736f5ec476526f3431d81dec5fb695bdee27e21a':
  Work on issue #3101415: Crespo apps seem to have their UID changed over time.
2010-10-15 18:24:49 -07:00
Dianne Hackborn
10d48f26e7 am efb58101: Debug logs for issue #3101415: Apps seem to have their UID changed over time.
Merge commit 'efb581018bbede2ecdc76bcd9722ded5b6903254' into gingerbread-plus-aosp

* commit 'efb581018bbede2ecdc76bcd9722ded5b6903254':
  Debug logs for issue #3101415: Apps seem to have their UID changed over time.
2010-10-15 18:22:25 -07:00
Jeff Brown
2d3f159aa9 Add support for secure system overlays. (DO NOT MERGE)
This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.

Bug: 3098519
Change-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07
2010-10-15 16:03:35 -07:00
Dianne Hackborn
8bdf5935c0 Work on issue #3101415: Crespo apps seem to have their UID changed over time.
fsync!

Change-Id: Ie6c5397202579935ac69bf61d3e7b3081ecf269c
2010-10-15 14:46:33 -07:00
Dianne Hackborn
efb581018b Debug logs for issue #3101415: Apps seem to have their UID changed over time.
- Activity manager now prints the pid doing a startActivity request.
- Package manager now remembers messages about problems it has parsing
  packages.xml.

Change-Id: I11a75aa3953dbfa5dd41cfbdf69116c764ec228f
2010-10-15 11:22:17 -07:00
Dianne Hackborn
4ce930da99 am 259c8499: Merge "Fix issue #3089800: adb shell am -W causes ActivityManager crash" into gingerbread
Merge commit '259c849989ccd30b0bb4569d11f125ed2c0c1911' into gingerbread-plus-aosp

* commit '259c849989ccd30b0bb4569d11f125ed2c0c1911':
  Fix issue #3089800: adb shell am -W causes ActivityManager crash
2010-10-12 19:08:49 -07:00
Dianne Hackborn
ba0492d5ed Fix issue #3089800: adb shell am -W causes ActivityManager crash
Change-Id: I5508afeb523d84e552117f94c8b70e2bae2c33fa
2010-10-12 19:01:46 -07:00
Vairavan Srinivasan
d6499dc69f frameworks/base: Handle null from topRunningNonDelayedActivityLocked
startActivityUncheckedLocked tries to move the target task to front
when it is not at front. topRunningNonDelayedActivityLocked is used
to find the current task, however null value isn't handled. This
null causes an unhandled exception leading to the android framework
reboot.

Change-Id: I2a43cda50483e28a4456846d8b3ccb30d7cf110e
2010-10-11 11:22:57 -07:00
Jean-Baptiste Queru
779d1778b6 am bd1454f5: Merge "Include debugger connection status in error entry"
Merge commit 'bd1454f5005619b69d887fee6a7a4891b3323d18' into gingerbread-plus-aosp

* commit 'bd1454f5005619b69d887fee6a7a4891b3323d18':
  Include debugger connection status in error entry
2010-10-10 17:00:59 -07:00
Dianne Hackborn
e89bf50261 am ef083ec0: Merge "Work on issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider" into gingerbread
Merge commit 'ef083ec008a3ec69180340912e7f0137472c97d9' into gingerbread-plus-aosp

* commit 'ef083ec008a3ec69180340912e7f0137472c97d9':
  Work on issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider
2010-10-07 07:15:57 -07:00
Dianne Hackborn
043fcd9847 Work on issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider
Exposes an Intent I need (okay it fixes an unrelated thing in the power widget),
and fixes some dump output.

Change-Id: I51d6c93a6ac879bab64e9d5aa21129e2bbcd461b
2010-10-06 14:27:34 -07:00
Dianne Hackborn
efa4f7f87d am 4e6baf24: Merge "Fix issue #3001368: API REVIEW: android.app.Activity" into gingerbread
Merge commit '4e6baf2473e522e6d53afa01348c564148bfbad7' into gingerbread-plus-aosp

* commit '4e6baf2473e522e6d53afa01348c564148bfbad7':
  Fix issue #3001368: API REVIEW: android.app.Activity
2010-10-05 18:59:57 -07:00
Dianne Hackborn
3c4c2b7e6f Fix issue #3001368: API REVIEW: android.app.Activity
Bye bye, lots of junk.

Change-Id: Idd72fc525851277362b2a1ff3bb0f7865fe655fd
2010-10-05 18:07:54 -07:00
Dianne Hackborn
cb9f1e4d30 am 6f7e10ca: Merge "Make it easier to figure out whether an app can go on sd card." into gingerbread
Merge commit '6f7e10ca0aa869c4b3ed4c37e56cf9d471fd9283' into gingerbread-plus-aosp

* commit '6f7e10ca0aa869c4b3ed4c37e56cf9d471fd9283':
  Make it easier to figure out whether an app can go on sd card.
2010-10-04 23:04:53 -07:00
Dianne Hackborn
54e570f78b Make it easier to figure out whether an app can go on sd card.
Change-Id: I9195a0881b2c435b138f39c2ab1505dc820caf10
2010-10-04 18:35:10 -07:00
Dianne Hackborn
6a3eddb469 am 0a69f597: Merge "Rub in a little \'ol log-b-gone." into gingerbread
Merge commit '0a69f597604254bc37721b135ab612eaacdd0cbd' into gingerbread-plus-aosp

* commit '0a69f597604254bc37721b135ab612eaacdd0cbd':
  Rub in a little 'ol log-b-gone.
2010-09-30 19:12:11 -07:00
Dianne Hackborn
cef65eeb03 Rub in a little 'ol log-b-gone.
Mmmmmm...  great fresh scent!

Change-Id: I050e70b31b5d4a9c6731f15a4b51a3620a33a78d
2010-09-30 18:27:22 -07:00
Dianne Hackborn
b763a6dc41 am 08cf57d7: Merge "Fixes to granting URI permissions - take into account path perms." into gingerbread
Merge commit '08cf57d791e50ecafe2728a7617a6487aeb6d6d5' into gingerbread-plus-aosp

* commit '08cf57d791e50ecafe2728a7617a6487aeb6d6d5':
  Fixes to granting URI permissions - take into account path perms.
2010-09-28 11:32:38 -07:00
Dianne Hackborn
48058e8536 Fixes to granting URI permissions - take into account path perms.
Change-Id: I8073061a578eda90dadd3b0b909047aae0d64f2d
2010-09-28 11:20:21 -07:00
Christian Lindeberg
03d2ca6ee0 Include debugger connection status in error entry
Include the debugger connection status when adding error entry
to DropBox if debugger is connected, "Debugger: Connected".

This can be useful to sort out crashes comming from developers
vs from regular usage.

Change-Id: Ic309066c63778af1577f2b91a95ffca0bd40338c
2010-09-28 14:52:20 +02:00
Dianne Hackborn
a8bce7c8ac am d8691d73: Merge "Allow all apps to call ContentResolver.getType()." into gingerbread
Merge commit 'd8691d73d158acd9ffc63748126e822afd656707' into gingerbread-plus-aosp

* commit 'd8691d73d158acd9ffc63748126e822afd656707':
  Allow all apps to call ContentResolver.getType().
2010-09-27 12:45:31 -07:00
Dianne Hackborn
8313fc7e94 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
2010-09-26 21:31:47 -07:00
Jeff Brown
ca25d2c31d am 4d94a766: Fixed some timeout and lock reentrance issues with broadcasts.
Merge commit '4d94a766c3f7cf32dd3f5d543048fa801ad22813' into gingerbread-plus-aosp

* commit '4d94a766c3f7cf32dd3f5d543048fa801ad22813':
  Fixed some timeout and lock reentrance issues with broadcasts.
2010-09-24 16:07:24 -07:00
Jeff Brown
4d94a766c3 Fixed some timeout and lock reentrance issues with broadcasts.
When starting a broadcast, the ActivityManagerService posts a delayed
BROADCAST_TIMEOUT_MSG to handle timeouts.  If a premature timeout occurs,
we post a new BROADCAST_TIMEOUT_MSG to extend the timeout time for the
current receiver.  However, if the current receiver does timeout, the
message is consumed and no replacement is ever posted.

To fix the dropped timeouts, we track whether we have a pending broadcast
timeout message and setup a new one when we begin working on the next receiver.

As a last resort, performNextBroadcast contains code to detect whether
a broadcast appears to be hung (timeout handling failed).  If so, it
calls broadcastTimeout to cause it to timeout immediately.
However, performNextBroadcast is holding on to the ActivityManagerService
lock while doing this but broadcastTimout expected to be called
while the lock was not held since after updating the broadcast record state,
it calls appNotResponding.

To fix the unintentended lock reentrance, changed broadcastTimeout to
assume the lock is already held (and the callers ensure this) then
added code to perform the ANR asynchronously.

Renamed a few methods to add "Locked" suffixes where appropriate and added
a few comments for tricky areas uncovered during review.

Change-Id: I3cb5b06d6b6a4a338f32c0998db721f6acf3b082
2010-09-24 16:00:25 -07:00
Joe Onorato
982c07e908 am cbb7b05e: Merge "Crash apps when they provide bad notifications instead of crashing the system process." into gingerbread
Merge commit 'cbb7b05e35368b104c27089f5f16640680f567c2' into gingerbread-plus-aosp

* commit 'cbb7b05e35368b104c27089f5f16640680f567c2':
  Crash apps when they provide bad notifications instead of crashing the system process.
2010-09-23 16:55:22 -07:00
Joe Onorato
cbb7b05e35 Merge "Crash apps when they provide bad notifications instead of crashing the system process." into gingerbread 2010-09-23 16:52:28 -07:00
Joe Onorato
eaa0718780 Crash apps when they provide bad notifications instead of crashing the system process.
Bug: 2958415
Change-Id: I9cbef340fb20a64eca8493950b814399c26ce197
2010-09-23 16:49:20 -07:00
Dianne Hackborn
8952a4488e am 287952c3: Fix issue #3022508: Crash during media scan
Merge commit '287952c35e148811c106bc0f5036eabf20f71562' into gingerbread-plus-aosp

* commit '287952c35e148811c106bc0f5036eabf20f71562':
  Fix issue #3022508: Crash during media scan
2010-09-23 16:04:23 -07:00
Dianne Hackborn
287952c35e Fix issue #3022508: Crash during media scan
Don't kill processes for excessive wake lock use, even if they
are in the background, as long as they have running services.

Also fix some problems with this, such as not noting the kill
in battery stats.

And add killing of processes for cpu usage as well, along with
some optimizations to computing CPU usage.

And fix BatteryWaster to be better behaving for testing these
cases.

Add new "monitor" command to am to watch as the activity manager
does stuff (so we can catch things at the point of ANR).

Finally some miscellaneous debug output for the stuff here, as
well as in progress debugging of an ANR.

Change-Id: Ib32f55ca50fb7486b4be4eb5e695f8f60c882cd1
2010-09-23 15:59:28 -07:00