9560 Commits

Author SHA1 Message Date
Dianne Hackborn
ae5811c714 Merge "Fix (mostly) issue #5109947: Race condition between retrieving a..." into jb-dev 2012-05-29 15:51:24 -07:00
Nick Pelly
96e4ae6c9f am 82b3b1bc: Merge "Make location providers upgradeable." into jb-dev
* commit '82b3b1bce9665a68b32ab0d7393ea63425677f70':
  Make location providers upgradeable.
2012-05-29 15:30:01 -07:00
Nick Pelly
82b3b1bce9 Merge "Make location providers upgradeable." into jb-dev 2012-05-29 15:28:00 -07:00
John Spurlock
960779d3bb Dock: Renable desk-dock apps
Revert to pre-dreams behavior. DeskClock once again launches the correct
activity (instead of Screensaver) when desk-dock is attached.

Bug: 6559590
Change-Id: I32a03a25469f17b5e87e16831839ec757d56c90b
2012-05-29 18:19:57 -04:00
Craig Mautner
d1b1bef463 am de1ddd0f: Merge "Better handle changing app transitions." into jb-dev
* commit 'de1ddd0f93fae6ba517d516993e7fb495424f574':
  Better handle changing app transitions.
2012-05-29 13:55:23 -07:00
Craig Mautner
de1ddd0f93 Merge "Better handle changing app transitions." into jb-dev 2012-05-29 13:53:06 -07:00
Dianne Hackborn
6ae8d18218 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
2012-05-29 13:33:09 -07:00
Craig Mautner
1d961d46d6 Better handle changing app transitions.
When we are in the middle of an app transition and need to change to a
new one we were not ending the old one in a clean state. Also,
wallpapers were defaulting to the wrong animation in certain
situations.

Remove ':' style iterators.

Fixes bug 6486708.

Change-Id: Ied17e8410486020295db380ff68df5dad08bc5cc
2012-05-29 13:00:25 -07:00
Craig Mautner
dfcdde7902 am 1dee8974: Merge "Track animating apps up until animation starts." into jb-dev
* commit '1dee8974693fff55e276e0aed1202e43904bb944':
  Track animating apps up until animation starts.
2012-05-29 11:48:45 -07:00
Craig Mautner
1dee897469 Merge "Track animating apps up until animation starts." into jb-dev 2012-05-29 11:45:16 -07:00
Craig Mautner
06a94f710d Track animating apps up until animation starts.
ActivityStack sets the mNextAppTransition value before moving the apps
to their proper position. This makes the test for mNextAppTransition
being TRANSITION_UNSET incorrect. Better to just look for animating.

Fixes bug 6565418.

Change-Id: I4651b7d3678e46fc712a8e901992fb01b94c415e
2012-05-29 10:46:00 -07:00
Nick Pelly
00355d5a59 Make location providers upgradeable.
Use config_netowrkLocationProviderPackageName and
config_geocodeProviderPackageName as intial packages. If another
package exists (or is later installed) that also implements a
provider, and has the same signatures as the original providers,
and has a hgiher version number, then use that instead.

The old code used a funky fix of package name substring checks
and service checks that was broken and not upgradeable.

Bug: 6499445
Change-Id: Ic58f09cf85d31d9abf47707093e22f31dda25cf0
2012-05-29 13:36:46 +02:00
Zhenghua Wang
edded60d18 Input: Fix some Applications ANR issue in monkey test
Issue Description:
When do monkey test on some applications, there is big probability get ANR issue. one example is as following:
    adb shell monkey -p com.google.android.street -v 500000

Root Cause:
situation 1. InputDispatcher Thread calls findTouchedWindowTargetsLocked routine, there is a AMOTION_EVENT_ACTION_DOWN event
             and it can find a splittable touched window for this event , then mTouchState.split set to true.

situation 2. WMS Thread calls setInputWindows routine and all TouchedWindows associated with mTouchState are removed ,
             mTouchState.split status still keep true.

situation 3. InputDispatcher Thread calls findTouchedWindowTargetsLocked routine, there is a AMOTION_EVENT_ACTION_POINTER_DOWN event
             and it can find found touched window, exit window loop in following code :
                  if (windowInfo->visible) {
                    if (! (flags & InputWindowInfo::FLAG_NOT_TOUCHABLE)) {
                        isTouchModal = (flags & (InputWindowInfo::FLAG_NOT_FOCUSABLE
                                | InputWindowInfo::FLAG_NOT_TOUCH_MODAL)) == 0;
                        if (isTouchModal || windowInfo->touchableRegionContainsPoint(x, y)) {
                            if (! screenWasOff
                                    || (flags & InputWindowInfo::FLAG_TOUCHABLE_WHEN_WAKING)) {
                                newTouchedWindowHandle = windowHandle;
                            }
                            break; // found touched window, exit window loop
                        }
                    }

situation 4. The following code will have problem after situation 3 in below conditions:
             newTouchedWindowHandle doesn't support split , isSplit is true ( last time touched window is splittable )
             mTempTouchState.getFirstForegroundWindowHandle will always return NULL due to situation 2

            // Figure out whether splitting will be allowed for this window.
            if (newTouchedWindowHandle != NULL
                    && newTouchedWindowHandle->getInfo()->supportsSplitTouch()) {
                // New window supports splitting.
                isSplit = true;
            } else if (isSplit) {
                // New window does not support splitting but we have already split events.
                // Assign the pointer to the first foreground window we find.
                // (May be NULL which is why we put this code block before the next check.)
                newTouchedWindowHandle = mTempTouchState.getFirstForegroundWindowHandle();
            }

            The window says it does not want to support splitting, so the touches should go to one of the previously split windows except
            that there are none, which result to "goto Unresponsive" in findtouchedWindowTargetsLocked routine.
            This is not the correct behavior because the user did actually touch something.

situation 5. InputDispatcher Thread will call dispatchOnce repeated to try to dispatch this AMOTION_EVENT_ACTION_POINTER_DOWN event,
             then ANR timeout ( 5000ms ) will be exceeded after several times "goto Unresponsive"in findtouchedWindowTargetsLocked routine.

Solution:
In situation 4 we should drop the touch. If the newly touched window was splittable then we wouldn't drop the touch.
It's only when the newly touched window was not splittable where we will drop the touch.

Change-Id: Iab2c06ce0597ac77eb886ccd9d84646c86723bdb
Author: Jeffrey Brown <jeffbrown@android.com>
Author: Erjun Ding <erjunx.ding@intel.com>
Author: Zhenghua Wang <zhenghua.wang@intel.com>
Author: Jack Ren <jack.ren@intel.com>
Author: Bruce Beare <bruce.j.beare@intel.com>
2012-05-28 21:56:03 +08:00
Jeff Brown
9026fecd51 am d4cf7e7b: Merge "Don\'t ANR on hover, scroll or if a window goes away." into jb-dev
* commit 'd4cf7e7b06e6870d447dbed2683b8849cfe5336b':
  Don't ANR on hover, scroll or if a window goes away.
2012-05-25 18:41:20 -07:00
Jeff Brown
d4cf7e7b06 Merge "Don't ANR on hover, scroll or if a window goes away." into jb-dev 2012-05-25 18:38:24 -07:00
Jean-Baptiste Queru
c6df8417ea am 541803cc: am fd63c857: Merge "Wipe the user data out in any case."
* commit '541803ccc530b8cc1d8d95aa5a82ebc191fc218c':
  Wipe the user data out in any case.
2012-05-25 08:13:03 -07:00
Jean-Baptiste Queru
fd63c85742 Merge "Wipe the user data out in any case." 2012-05-25 07:31:27 -07:00
Jeff Brown
8249fc6183 Don't ANR on hover, scroll or if a window goes away.
Prevents ANR on hover or scroll events.

Prevents ANR in the case where one finger touches a window which
is subsequently removed then a second finger comes along and tries
to touch something.

Change-Id: I985ccb70cd86659992328f14f8a705f3f05ea2e5
2012-05-24 19:34:39 -07:00
Craig Mautner
013772f2d6 am 2af7b915: Merge "Redraw all windows earlier in power on sequence." into jb-dev
* commit '2af7b9151f8df3581e38847ac711185426df5dea':
  Redraw all windows earlier in power on sequence.
2012-05-24 17:52:23 -07:00
Craig Mautner
2af7b9151f Merge "Redraw all windows earlier in power on sequence." into jb-dev 2012-05-24 17:48:44 -07:00
Craig Mautner
3d7b7d59c8 Redraw all windows earlier in power on sequence.
Send a message to all windows to redraw before notifying
PhoneWindowManager of screen on. This minimizes the delay in
screen update that causes the keyguard clock to display the old time
before displaying the current time.

Fixes bug 6381021.

Change-Id: Ida7071e7dac2284540f101c5d004511b52133b91
2012-05-24 15:38:54 -07:00
Robert Greenwalt
8a9d8f068c am 1ed1de7a: Merge "Modify logging to debug this issue" into jb-dev
* commit '1ed1de7ab2ae03f82500dbf6272bf036d89bd0c9':
  Modify logging to debug this issue
2012-05-24 12:30:20 -07:00
Robert Greenwalt
1ed1de7ab2 Merge "Modify logging to debug this issue" into jb-dev 2012-05-24 12:27:23 -07:00
Jeff Sharkey
a3a7bcbda4 am 6385ff51: Merge "Advise persist threshold outside NPMS lock." into jb-dev
* commit '6385ff511dd998f1fbb189621270e2c19577f66e':
  Advise persist threshold outside NPMS lock.
2012-05-24 11:42:53 -07:00
Jeff Sharkey
6385ff511d Merge "Advise persist threshold outside NPMS lock." into jb-dev 2012-05-24 11:38:12 -07:00
Robert Greenwalt
5a0c320a82 Modify logging to debug this issue
Logging exec time on startUsingNetworkFeature as we've had some reports suggesting it's
causing ANRs.
Remove some logging from NDC so it's local log is more useful.

bug:6492166
Change-Id: I258ff6c59bff2c65935242d50496d84720c5d493
2012-05-24 10:47:10 -07:00
Fabrice Di Meglio
07e28d1e9b am 0100625b: Merge "Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)" into jb-dev
* commit '0100625bb316ecbd99873b72756ffba8613c3456':
  Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)
2012-05-24 10:45:54 -07:00
Fabrice Di Meglio
0100625bb3 Merge "Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)" into jb-dev 2012-05-24 10:42:23 -07:00
Jeff Sharkey
e19f39b79c Advise persist threshold outside NPMS lock.
Bug: 6492166
Change-Id: Ibebdc7e9b8cae27c12fd7b61b53ab60287a0364d
2012-05-24 10:21:16 -07:00
Amith Yamasani
d4cb08df75 Merge "FileInputStream is not closed in "UserManager.java : readUserList()"" 2012-05-24 09:42:29 -07:00
satok
1323644014 am 7018a90c: Fix the issue on matching the locale in TextServicesManagerService
* commit '7018a90c323a7f0deb37939d5505ff112ac637f5':
  Fix the issue on matching the locale in TextServicesManagerService
2012-05-24 03:35:55 -07:00
satok
7018a90c32 Fix the issue on matching the locale in TextServicesManagerService
Bug: 6542210

Change-Id: I42d84b684d5689e8fceecb705bb51d19d847477a
2012-05-24 18:21:45 +09:00
Craig Mautner
ca414550d3 am 67e6070f: Merge "Change method of tracking moving AppWindowTokens." into jb-dev
* commit '67e6070fa10bbd313c8ebe0de4e0440b688c569e':
  Change method of tracking moving AppWindowTokens.
2012-05-23 18:34:19 -07:00
Craig Mautner
270db71381 am 9cf5831f: Merge "Fix jank when launching apps that show wallpaper." into jb-dev
* commit '9cf5831f2b94f5e2edd7fd87abef4e9fac8aa82d':
  Fix jank when launching apps that show wallpaper.
2012-05-23 18:31:25 -07:00
Craig Mautner
67e6070fa1 Merge "Change method of tracking moving AppWindowTokens." into jb-dev 2012-05-23 18:30:25 -07:00
Craig Mautner
9cf5831f2b Merge "Fix jank when launching apps that show wallpaper." into jb-dev 2012-05-23 18:29:39 -07:00
Craig Mautner
ef25d7a019 Change method of tracking moving AppWindowTokens.
Stop trying to keep track of the AppTokens that have been moved
to the top and bottom and then try and match the WindowStates when
transitions are goodToGo. Instead rebuild the WindowState order based
on the AppToken order when we are goodToGo.

When moving AppWindowTokens lower in mAppTokens create a new ArrayList
of AppWindowTokens to keep track of the apps in Z order while
animating.

Fixes bug 6481078.

Change-Id: I29b33a507b45752f15feb10a9f4b47a3f5eb9f0e
2012-05-23 17:07:36 -07:00
Craig Mautner
8e4df6c1e2 Fix jank when launching apps that show wallpaper.
Do not create a StartingWindow for apps that show wallpaper.
Fix handling of obscure case where found wallpaper is hidden.

Fixes bug 6484034.

Change-Id: I07181c4aea56fa9e530df0c95d886fe8ad61ec9d
2012-05-23 16:57:23 -07:00
Fabrice Di Meglio
13fe2a5330 Fix bug #6522190 MountService should respond to configuration changes ("INTERNAL STORAGE" string should be translated dynamically)
- use an ID instead of a String for StorageVolume description
- use this ID for getting the correct localized version of the description string

Change-Id: I30f3080fce2c889be38bfdf9f5121dffcf8a99e8
2012-05-23 16:38:09 -07:00
Svetoslav Ganov
97490bc65a am 2205d204: Merge "System accessibility state update postponed if UI test autmation is running." into jb-dev
* commit '2205d20421994d4e31994c298a22cb8fd9232fb6':
  System accessibility state update postponed if UI test autmation is running.
2012-05-23 16:05:07 -07:00
Svetoslav Ganov
4074e8a3f4 System accessibility state update postponed if UI test autmation is running.
1. If a UI test automation accessibility service is connected to the
   system we pospone state updates in the AccessibilityManagerService
   for the moment the UI automations service dies or is disconnected.

bug:6540522

Change-Id: I48ddf603b53d2158a00edcf8ad05cfe2575d4d75
2012-05-23 13:12:13 -07:00
Craig Mautner
b53437c51b am 53d003f0: Merge "Modify auto brightness to return to dim level." into jb-dev
* commit '53d003f0e77291e7382c4871e0828014b470ab9f':
  Modify auto brightness to return to dim level.
2012-05-23 11:24:38 -07:00
Craig Mautner
53d003f0e7 Merge "Modify auto brightness to return to dim level." into jb-dev 2012-05-23 11:22:04 -07:00
Svetoslav Ganov
d52a4f68ea am 64a03875: Merge "Perform an action in AccessibilityManagerSerivce using wrong process id." into jb-dev
* commit '64a03875897afe07b731eaf66969e87362a1a740':
  Perform an action in AccessibilityManagerSerivce using wrong process id.
2012-05-22 18:29:50 -07:00
Svetoslav Ganov
64a0387589 Merge "Perform an action in AccessibilityManagerSerivce using wrong process id." into jb-dev 2012-05-22 18:26:44 -07:00
Svetoslav Ganov
9bf21873c9 Perform an action in AccessibilityManagerSerivce using wrong process id.
1. We are passing the interrogating process id in the remote
   accessibility requests to catch the query from the same
   thread. While all other methods were doing this correctly
   somehow the perform action is using the incorrect process id.

bug:6534935

Change-Id: Icef50833903c562758d51ef316b60c53c7a336c0
2012-05-22 18:08:02 -07:00
Dianne Hackborn
ddf573d609 am 2d243bc6: Merge "Fix issue #5680541: onStartInputView called upon focus loss" into jb-dev
* commit '2d243bc62a899f7af77886a2a2a82872d63226bb':
  Fix issue #5680541: onStartInputView called upon focus loss
2012-05-22 17:10:31 -07:00
Dianne Hackborn
2d243bc62a Merge "Fix issue #5680541: onStartInputView called upon focus loss" into jb-dev 2012-05-22 17:07:50 -07:00
Craig Mautner
9441a930ff am 208236dd: Merge "Pull showStrictModeViolation off of local threads." into jb-dev
* commit '208236dd9600efb125639bf7ca5715fb341ee8d8':
  Pull showStrictModeViolation off of local threads.
2012-05-22 16:56:50 -07:00
Craig Mautner
208236dd96 Merge "Pull showStrictModeViolation off of local threads." into jb-dev 2012-05-22 16:54:09 -07:00