3367 Commits

Author SHA1 Message Date
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
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
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
949fc0efc3 Merge "frameworks/base: Fix to release references to previous live wallpaper" 2010-12-23 14:17:54 -08:00
Vairavan Srinivasan
fdfc1b27fe frameworks/base: Fix to release references to previous live wallpaper
The service connection to the previous live wallpaper is unbound when
a new wallpaper is effective. Although the service connection is
unbound it is not disconnected and its reference to wallpaper's
service and engine is still effective. This adds up to the total
JNI references and causes dalvik (hosting system_server) to abort.
Fix is to release the references in clearWallpaperComponentLocked.

Change-Id: Idd2bab83a56d2e6c6dd7ab9be08d5e14887aa384
2010-12-23 14:05:44 -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
Mattias Petersson
33b432476e Improve performance of WindowState.toString()
This fix improves the performance by caching the string that should
be returned, and reuse it next time if possible.
This will make it faster to switch between activities, approximately
half the time to create the new view when changing from landscape to
portrait. Also, the time for starting a new application is be reduced
as WindowState.toString is being called thousands of times in this
case.

Change-Id: I2b8b9bc1e251d1af43b6c85f049c01452f2573a2
2010-12-21 10:15:11 +01:00
Jean-Baptiste Queru
e78a000955 resolved conflicts for merge of 4b94c451 to stage-korg-master
Change-Id: I07b974f96ca598677e58623050e4668822e68f23
2010-12-13 13:06:13 -08:00
Hakan Still
b247536aa3 Added dropbox broadcast notification
To monitor the dropbox an application have to either poll the dropbox
and keep track of all entries or observ the /data/system/dropbox
directory. The later requires that the application runs as system-user.
This commit adds that a broadcast intent is sent when something is written
to the dropbox and an application can just listen on this intent and
then reads the entry with help of the DropboxManager class.
The application have to hold the permission android.permission.READ_LOGS
to get the intent.

Change-Id: I1f77f206a243df69f4ed5306078c47f7bf6181ec
2010-12-08 13:19:33 +01:00
Jean-Baptiste Queru
4a88013a4a resolved conflicts for merge of bf1439c5 to stage-korg-master
Change-Id: Iab543a7ee449025f1df5d58afaa8f8fdd4809c99
2010-12-02 15:16:53 -08:00
Mike Playle
c6ded10dd1 Preserve flags field of event passed to injectKeyEvent()
This patch allows users of WindowManagerService.injectKeyEvent() to
set flags on the key event being injected.

In particular this allows long presses (FLAG_LONG_PRESS) to be
injected into the window manager.
2010-12-02 16:25:46 +00:00
Brad Fitzpatrick
bf44ebae04 am 9de93424: Merge "Without SD card the shutdown sequence was delayed"
* commit '9de93424cc05446e3a216f406c55a3937c028416':
  Without SD card the shutdown sequence was delayed
2010-11-10 11:07:18 -08:00
Johan Alfven
5d0db4d356 Without SD card the shutdown sequence was delayed
If the memory card is not inserted (or removed) from
the phone the shut down process is very long. It
takes almost 24 seconds. For the phone with memory
card the averige is 5-6 seconds

Make sure to send onShutDownComplete even if an SD
card is not mounted and no unmount is done.

Change-Id: I0e79b82e294a971f5e7144cdd3cc16b7ff414b9c
2010-11-09 10:32:25 +01:00
Kenny Root
8806fc729b am 70fc04c8: Reorganize PackageManager dump to avoid NPE
* commit '70fc04c84db8f99ac2ac60fd9719b91057aacc9b':
  Reorganize PackageManager dump to avoid NPE
2010-11-05 13:58:20 -07:00
Kenny Root
70fc04c84d Reorganize PackageManager dump to avoid NPE
versionCode and mVersionName were added recently but ps.pkg can be null
in some situations. Move them to where it will check before
dereferencing it.

Bug: 3152896
Change-Id: If992a1f29ac7b8f595f847b7743fd2374662bb6e
2010-11-05 11:59:45 -07:00
Jeff Brown
7ab5d2d951 am a87ea46c: Fix bugs related to cheek event suppression.
* commit 'a87ea46cb023763e0a9b0222da20b0a354f79d8d':
  Fix bugs related to cheek event suppression.
2010-11-01 21:02:05 -07:00
Jeff Brown
a87ea46cb0 Fix bugs related to cheek event suppression.
Two issues:

1. First, due to an inverted conditional in the input dispatcher, we were
   reporting touches as long touches and vice-versa to the power manager.

2. Power manager user activity cheek event suppression also suppresses touch
   events (but not long touch or up events).  As a result, if cheek event
   suppression was enabled, touches would not poke the user activity timer.
   However due to the above logic inversion, this actually affected long
   touches.  Net result, if cheek suppression was enabled in the power manager
   and you held your thumb on the screen long enough, the phone would
   go to sleep!

Cheek event suppression is commonly turned on when making a phone call.
Interestingly, it does not seem to get turned off afterward...

This change fixes the logic inversion and exempts touches from the cheek
suppression.  The reason we do the latter is because the old behavior
was actually harmful in other ways too: a touch down would be suppressed
but not a long touch or the touch up.  This would cause bizarre behavior
if you touched the screen while it was dimmed.  Instead of brightening
immediately, it would brighten either when you lifted your finger or
300ms later, whichever came first.

Bug: 3154895
Change-Id: Ied9ccec6718fbe86506322ff47a4e3eb58f81834
2010-11-01 20:51:58 -07:00
Mike Lockwood
1b571bd3e9 am 1d28a840: Merge "Location Manager: Fix LocationManager.getBestProvider filtering." into gingerbread 2010-10-26 08:36:24 -07:00
Joe Onorato
a1e7474498 am 11e2e9b0: Merge "Don\'t turn the button backlights on if the screen is off. Part 2." into gingerbread 2010-10-26 07:24:41 -07:00
Mike Lockwood
9e3191d16c Location Manager: Fix LocationManager.getBestProvider filtering.
getBestProvider should only return location providers that the client
has permission to use.

BUG: 3124614

Change-Id: I065091d0445092563bc53fb4f7d93a1ab6bebb9a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-26 10:01:55 -04: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
Jean-Baptiste Queru
b4ae2f1ba4 Merge "frameworks/base: Handle null from topRunningNonDelayedActivityLocked" 2010-10-25 15:32:12 -07:00
Joe Onorato
06eb33acb7 Don't turn the button backlights on if the screen is off. Part 2.
These are the logs from when I just reproduced it here.  This means that we got an event after the
screen turned off.  So isScreenTurningOffLocked() is working, but we need to also check that we're
not off.  This bug is happening because lightSensorChangedLocked is calling
mButtonLight.setBrightness() directly instead of going through updateLightsLocked, which is where
I added that check to not turn the buttons on of the screen is off.

D/PowerManagerService( 1243): onSensorChanged: light value: 1280
I/power   ( 1243): *** set_screen_state 0
D/PowerManagerService( 1243): enableLightSensor false
D/PowerManagerService( 1243): onSensorChanged: light value: 320
D/PowerManagerService( 1243): lightSensorChangedLocked 320
D/PowerManagerService( 1243): lcdValue 55
D/PowerManagerService( 1243): buttonValue 255
D/PowerManagerService( 1243): keyboardValue 0
D/SurfaceFlinger( 1243): About to give-up screen, flinger = 0x8dcf! 0

Bug: 3117801
Change-Id: I722d66cafba71b183cc987b7383d4ad7e171ba82
2010-10-25 14:21:06 -07:00
Mike Lockwood
6c8d8d8927 am 8c32bddf: Merge "GPS: Disable verbose logging" into gingerbread
Merge commit '8c32bddfac259543f4ed87341fce42bc5ed60506' into gingerbread-plus-aosp

* commit '8c32bddfac259543f4ed87341fce42bc5ed60506':
  GPS: Disable verbose logging
2010-10-25 13:55:27 -07:00
Mike Lockwood
4a7b65e0d5 GPS: Disable verbose logging
BUG: 3127049

Change-Id: I9efd9eb7ff69724b133f3b70c52e173f49ddfbc5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-25 16:35:55 -04:00
Joe Onorato
b34fe2f025 am 60607a90: Make sure that when the screen is off, we don\'t try to turn the buttons on too.
Merge commit '60607a9012c9b7d39bef8fcf0284772f1b061efc' into gingerbread-plus-aosp

* commit '60607a9012c9b7d39bef8fcf0284772f1b061efc':
  Make sure that when the screen is off, we don't try to turn the buttons on too.
2010-10-24 09:25:49 -07:00
Joe Onorato
60607a9012 Make sure that when the screen is off, we don't try to turn the buttons on too.
Bug: 3117801
Change-Id: I763f114a2b0426660d29bbda04ea7db12c1137e8
2010-10-23 14:49:57 -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
Mike Lockwood
d78c8d8bb9 am f6572e7e: Merge "GPS: Fix network type logic in requestRefLocation" into gingerbread
Merge commit 'f6572e7ee413a87f5d243b3d44f798260ac1a18b' into gingerbread-plus-aosp

* commit 'f6572e7ee413a87f5d243b3d44f798260ac1a18b':
  GPS: Fix network type logic in requestRefLocation
2010-10-22 09:03:17 -07:00
Mike Lockwood
edc0f3876c GPS: Fix network type logic in requestRefLocation
Change-Id: I20ef81bcf029b289389dba57e6cf457fda5acbf4
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-22 09:16:17 -04:00
Dianne Hackborn
eb5aeae676 am fdbb2168: Merge "Adjust boundaries for screen sizes." into gingerbread
Merge commit 'fdbb2168f7a9a202ee9406d65e7ef98a6745b488' into gingerbread-plus-aosp

* commit 'fdbb2168f7a9a202ee9406d65e7ef98a6745b488':
  Adjust boundaries for screen sizes.
2010-10-21 20:18:11 -07:00
Dianne Hackborn
b51dc0fe2a Adjust boundaries for screen sizes.
Part of issue #3116702: New manifest tags for supported screen sizes

Kind-of.

If you turn your head side-ways.

Change-Id: I446f1e2eadba1ce284c93ff9fb0197bb0e6b0fca
2010-10-21 15:34:47 -07:00
Tony Wu
b09773dee0 Fix isUsbMassStorageConnected() will always return true
After UMS mounted, isUsbMassStorageConnected() will always return true even if USB is disconnected.
It's because mUmsEnabling will always be ture.

Change-Id: Ib24b2359ea2684eb0a9faeb880f383e87630e6e1
2010-10-20 10:17:28 -07:00
Joe Onorato
368fdba47a am bdf1706a: Merge "Reduce logging." into gingerbread
Merge commit 'bdf1706ac680c0fe74765b8d6d34823b8ac05306' into gingerbread-plus-aosp

* commit 'bdf1706ac680c0fe74765b8d6d34823b8ac05306':
  Reduce logging.
2010-10-19 12:29:43 -07:00
Joe Onorato
431bb22695 Reduce logging.
Remember, the system and main logs are
    - Shared resources
    - Primarily for recording problems
    - To be used only for large grained events during normal operation

Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
2010-10-19 15:08:05 -04:00
Chris Tate
a30c88359f am 18580319: DO NOT MERGE. Turn down backup logging for release.
Merge commit '1858031946b3627b599475c5894655362e510351' into gingerbread-plus-aosp

* commit '1858031946b3627b599475c5894655362e510351':
  DO NOT MERGE.  Turn down backup logging for release.
2010-10-19 12:04:44 -07:00
Chris Tate
1858031946 DO NOT MERGE. Turn down backup logging for release.
Change-Id: Ib9f4fd15981fcf52b5d5912995c1891836303427
2010-10-19 11:22:03 -07:00
Kenny Root
c0e9787293 am 928b0748: Merge "Don\'t symlink native library paths for old apps" into gingerbread
Merge commit '928b07480bc5372f2b959bce7b4a3b49651b49b8' into gingerbread-plus-aosp

* commit '928b07480bc5372f2b959bce7b4a3b49651b49b8':
  Don't symlink native library paths for old apps
2010-10-19 09:33:30 -07:00
Kenny Root
928b07480b Merge "Don't symlink native library paths for old apps" into gingerbread 2010-10-19 09:28:28 -07:00
Kenny Root
e68d58a298 Don't symlink native library paths for old apps
Apps that existed in an ASEC container before we put native libraries
in the ASEC container will have their native libraries in the
/data/data/<app>/lib directory. Don't try to symlink to the ASEC
container's library directory in this case.

Bug: 3108230
Change-Id: I32167341cc8ff8c005e50f456ee7c783bfb0bf22
2010-10-18 16:55:27 -07:00
Mike Lockwood
8333d59133 am 5d5a9db5: Merge "GPS: Enable some more logging" into gingerbread
Merge commit '5d5a9db514a9cf42fbc189fc3af6da602d89b747' into gingerbread-plus-aosp

* commit '5d5a9db514a9cf42fbc189fc3af6da602d89b747':
  GPS: Enable some more logging
2010-10-18 15:20:31 -07:00
Mike Lockwood
5d5a9db514 Merge "GPS: Enable some more logging" into gingerbread 2010-10-18 15:14:46 -07:00
Mike Lockwood
b8d9033d99 GPS: Enable some more logging
Change-Id: I7d13c859002fa96fa8c361c0c709931c6b12eb99
Signed-off-by: Mike Lockwood <lockwood@google.com>
2010-10-18 17:59:48 -04:00
Mike Lockwood
11eada780d am ba2ec2b4: Merge "Enable framework GPS and location manager logging" into gingerbread
Merge commit 'ba2ec2b44f33f55ff8507199e4e8b108a4bec7b1' into gingerbread-plus-aosp

* commit 'ba2ec2b44f33f55ff8507199e4e8b108a4bec7b1':
  Enable framework GPS and location manager logging
2010-10-18 14:19:09 -07:00
Mike Lockwood
ba2ec2b44f Merge "Enable framework GPS and location manager logging" into gingerbread 2010-10-18 14:16:15 -07:00
Mike Lockwood
2d4d1bf14b Enable framework GPS and location manager logging
Change-Id: Id54fc01e7288e7d90d7b76824b708bcb2ee88333
Signed-off-by: Mike Lockwood <lockwood@google.com>
2010-10-18 17:06:26 -04:00
Joe Onorato
5747eebf6e am a8d477f0: Merge "Pressing the power button quickly needs to turn the screen on and off correctly." into gingerbread
Merge commit 'a8d477f0d7fd0cf01c47e37c59f26c5fa4d1cf42' into gingerbread-plus-aosp

* commit 'a8d477f0d7fd0cf01c47e37c59f26c5fa4d1cf42':
  Pressing the power button quickly needs to turn the screen on and off correctly.
2010-10-18 13:16:42 -07:00
Joe Onorato
3d3db601cd Pressing the power button quickly needs to turn the screen on and off correctly.
This does the animation with the power manager lock held, which isn't great, but is safe.

Bug: 3102208
Change-Id: Ib0af3fab1cf6ba47053c10ae8b701376d63802ff
2010-10-18 16:08:16 -04: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