11083 Commits

Author SHA1 Message Date
Amith Yamasani
db6a14cc85 Fix crashes when quickly adding and removing users
Make USER_REMOVED an ordered broadcast and send it before the user's
state is completely removed from the system. This gives services the
opportunity to clean up their state, while still having access to the
user's directory and UserInfo object (such as serial number).

Tell SyncManager to skip over dying/partially created users.

Improve UserManager tests, waiting for users to be removed fully.

Bug: 7382252

Change-Id: I93cfb39c9efe6f15087bf83c569a2d154ef27168
2012-10-19 16:23:30 -07:00
Svetoslav Ganov
9823723d0f Merge "Cannot pan in browser if magnification is enabled." into jb-mr1-dev 2012-10-19 14:46:40 -07:00
John Spurlock
8c82025650 Merge "Frameworks base: Promote dream setting defaults to config." into jb-mr1-dev 2012-10-19 11:00:00 -07:00
Craig Mautner
0ed07a0a30 Merge "Allow getDisplayContentLocked to return null..." into jb-mr1-dev 2012-10-19 09:27:06 -07:00
John Spurlock
ed108f3d12 Frameworks base: Promote dream setting defaults to config.
So that:
 - the values can be shared (to fix assoc bug)
 - the values can be customized in product overlays

Bug:7373284
Change-Id: I37f037082523a3d975f6014f36afa28c60117372
2012-10-19 11:32:03 -04:00
Michael Jurka
738cfc9105 Fixing wallpaper flash when going in/out of Recents
Bug: 7372516
Bug: 7216872

Change-Id: I2a2308a85caf9f2ad2d382c709e5f8867bd060be
2012-10-19 16:58:50 +02:00
Svetoslav Ganov
ff6c329f61 Cannot pan in browser if magnification is enabled.
1. We cache some events to see if the user wants to trigger magnification. If no
   magnification is triggered we inject these events with adjusted time and down
   time to prevent subsequent transformations being confused by stale events.
   After the cached events, which always have a down, are injected we need to also
   update the down time of all subsequent non cached events.

bug:7379388

Change-Id: I41d8b831cc1016a0ee8f9c5ef5f42eb60a6f64d9
2012-10-19 02:15:44 -07:00
Jeff Brown
1d2b445d74 Merge "Reduce auto-brightness jitter." into jb-mr1-dev 2012-10-18 23:23:57 -07:00
Jeff Sharkey
5831159b8d Merge "More migration to Global settings." into jb-mr1-dev 2012-10-18 23:23:16 -07:00
Jeff Brown
ce78b02617 Merge "Fix deadlock." into jb-mr1-dev 2012-10-18 23:22:02 -07:00
Jeff Brown
4f0e969eab Reduce auto-brightness jitter.
Apply additional hysteresis controls to prevent repeated brightness
changes within a short interval.

Bug: 7266090
Change-Id: I73122457f6f3200c80188d3716ce2baf38f6a0a6
2012-10-18 18:45:55 -07:00
Jeff Brown
6669250034 Fix deadlock.
The display manager must never call into the activity manager with
its lock held.  Make it clear that the adapters are constructed
while holding the syncroot lock.

Bug: 7377631
Change-Id: I1557313cbb31dcad9b5a46919a88a5a1c1af3e9b
2012-10-18 17:37:39 -07:00
Kenny Root
cea3743499 Try to free cache before giving up on install
Try to get installd to free up cache before giving up when there is too
little space free.

Bug: 7232123
Change-Id: Ie3c8ca8dfc190abbb9a29a7baee31f32e9de7d69
2012-10-18 17:21:59 -07:00
Jeff Sharkey
8d9a1f66d9 More migration to Global settings.
Bug: 7375796
Change-Id: I3954ce141ad30073896090a28eee743ba15fd736
2012-10-18 15:38:14 -07:00
Kenny Root
a3e90798b7 Robustly add symlink and add for non-primary users
Amazingly, some apps still don't use the nativeLibraryPath. So add a lib
symlink for non-primary users to fix that.

Also, there was an error when the symlink existed that it would give up.
This shouldn't really happen, but in that case, just remove it and
create a new one to be safe.

Also, move the downgrade code to the appropriate place. This downgrade
case triggered the above symlink existing bug.

Bug: 7318366
Bug: 7371571
Change-Id: Ia175b36d98f00bdc2f2433b909aafd524eb34d15
2012-10-18 15:12:09 -07:00
Svetoslav Ganov
80ce3d8746 Merge "Magnifier not respecting RTL/LTR direction and keyguard dialogs not properly centered." into jb-mr1-dev 2012-10-18 15:00:18 -07:00
Craig Mautner
be2a4a5e62 Merge "When removing windows remove from resize list." into jb-mr1-dev 2012-10-18 14:46:13 -07:00
Craig Mautner
2d5618c221 Allow getDisplayContentLocked to return null...
... and check for null returns. This prevents DisplayContent objects
from containing null Display references.

Bug: 7368565 fixed.
Change-Id: I830fb4c1349204c366193657a95a92c48ccee66c
2012-10-18 14:16:43 -07:00
Jeff Hamilton
e09aed49e3 Merge "Changes to support updating location providers." into jb-mr1-dev 2012-10-18 12:45:02 -07:00
Svetoslav Ganov
444e8aabc1 Magnifier not respecting RTL/LTR direction and keyguard dialogs not properly centered.
1. When magnifier, if a dialog that popped up is wider than the scree we pan to its upper
   left corner. We now show the upper right corner if the locale direction is RTL.

2. Keyguard dialogs are not centered since they are used as a sign to recompute the
   magnified area but an unnecessary else statement prevents such dialogs from being
   properly show via a pan.

bug:7374331

Change-Id: I285e46b822a29f0082c502cb642f9da32dabfe6a
2012-10-18 12:15:02 -07:00
Christopher Tate
1ea75b88b7 Merge "Sanity-check erroneous backup agent instantiations" into jb-mr1-dev 2012-10-18 12:07:03 -07:00
Victoria Lease
588fb15d16 Merge "LocationManager permissions cleanup" into jb-mr1-dev 2012-10-18 11:02:52 -07:00
Amith Yamasani
0141faecc3 Merge "Allow services to query the info for a dying user." into jb-mr1-dev 2012-10-18 10:48:21 -07:00
Craig Mautner
860f660a0f When removing windows remove from resize list.
Windows remained in the resized list if they were removed during
rotations.

Bug: 7372289 fixed.
Change-Id: I41f949b7836b08b33d4d178e9aa016548328749a
2012-10-18 09:38:10 -07:00
Victoria Lease
37425c3475 LocationManager permissions cleanup
This commit is the result of a comprehensive permissions review for
MR1 release. It addresses a number of deviations from spec and from
MR0's behavior, bringing MR1 into sync with both.

It also cleans up the concept of "location resolution permission",
representing it internally as an enumerated access level to reduce
reliance on cumbersome string manipulation. There's a function to
convert the enum int into a permission string where needed, too.

Additionally, this confines caller-identity-sensitive calls to the
hopefully-obviously-named "getCallerAllowedResolutionLevel()". This
should make it much easier to prove correctness with respect to
accidentally calling functions that depend upon the caller's identity
after identity has already been shed by Binder.clearCallingIdentity().

Change-Id: I446169aee8fb2fde26ac6d04b479b40253782acb
2012-10-18 09:13:39 -07:00
Jeff Brown
88c66cbb00 Merge "Dream when user activity times out while docked if appropriate." into jb-mr1-dev 2012-10-18 00:08:18 -07:00
Jeff Brown
586503d51f Merge "Add special mirroring modes for demonstration purposes." into jb-mr1-dev 2012-10-18 00:06:48 -07:00
Jeff Hamilton
fbadb69978 Changes to support updating location providers.
This reverts commit 20de160ca32a8f2936a80ffd70551a22e2371d25.

Bug: 7242814
Change-Id: I9ec49a14feb835b6683186fc6da4a74ae19fbae2
2012-10-18 01:28:10 -05:00
Amith Yamasani
1638931166 Allow services to query the info for a dying user.
This allows services watching for USER_REMOVED to fetch the serialNumber of a dying user.

Also fix an AIOOBE when building the userId array, typically on cleanup.

Bug: 7368826
Change-Id: I24e52278af8353b5744372127da4bf4fafc89baa
2012-10-17 21:20:14 -07:00
Jeff Brown
ec6aa59454 Dream when user activity times out while docked if appropriate.
If the user has requested that dreams start when docked and a user
activity timeout occurs, then start dreaming assuming all of the
other usual conditions are appropriate for dreaming (the device is
powered, etc.).

Previously dreams only started when the device was initial docked
but not if the device fell asleep while remaining docked.

Bug: 7281240
Change-Id: I72c3f854fd1ae8e6615f4fa6e4c4ecd8de37c84b
2012-10-17 20:30:25 -07:00
Jeff Brown
23fa0320b8 Merge "Add a notification icon when connected to wireless display." into jb-mr1-dev 2012-10-17 18:42:25 -07:00
Jeff Brown
27f1d674bf Add special mirroring modes for demonstration purposes.
Assume rotation of HDMI display is portait.
$ adb shell setprop persist.demo.hdmirotation portrait

Don't lock rotation while HDMI is plugged in.
$ adb shell setprop persist.demo.hdmirotationlock false

Hide secondary displays from apps but continue mirroring to them.
$ adb shell setprop persist.demo.singledisplay true

Bug: 7326281
Change-Id: I8f9a3b0bc19821a3a01043b0f516806dac82ce53
2012-10-17 18:41:31 -07:00
Jeff Brown
a7f9c966bc Add a notification icon when connected to wireless display.
Bug: 7350174
Change-Id: I18481e2a1445b0aa3340e5d9b02511394521e50e
2012-10-17 15:50:06 -07:00
Christopher Tate
346acb123d Sanity-check erroneous backup agent instantiations
Two distinct changes:

Fix a bug seen in the wild where a newly-launched application will be
spuriously asked to instantiate a backup agent.  What was happening
there is that some Activity Manager state was being left stale in certain
circumstances, and then in combination with app uninstall / install, there
could be a case where uid reuse wound up looking like an app identity
match.

We now positively verify before instantiating the agent that the intended
backup target package is uid-compatible with the app process that the
instantiation was requested of.  The incomplete bookkeeping in the
Activity Manager has also been tightened up, and the Backup Manager is
more aggressive about cleaning up pending operations pertaining to
apps being uninstalled.

Bug 5874010

Change-Id: Ic389f4a96c9dcd0ba6b3962b579084033d8ae9f8
2012-10-17 13:36:15 -07:00
Amith Yamasani
b6c171b1af Merge "Do cleanup when Stopping users" into jb-mr1-dev 2012-10-16 21:41:28 -07:00
Svetoslav Ganov
05ad745ff6 Merge "Long press not working if explore by touch and magnification are on." into jb-mr1-dev 2012-10-16 19:50:22 -07:00
Craig Mautner
e13ae64850 Merge "Use parent window to evaluate show-to-all-users." into jb-mr1-dev 2012-10-16 18:58:58 -07:00
Svetoslav Ganov
72e3512960 Long press not working if explore by touch and magnification are on.
1. In the magnifier we are caching the touch events until we figure
   out whether the user is triple tapping to enable magnification.
   If the user is not trying to engage magnification we deliver the
   stashed events. However, these events are stale and the subsequent
   transformations such as the touch explorer get confused when trying
   to detect a tap since the delay is longer than the tap slop.
   This change compensates for the time the events were cached
   before sending them to the next transformation in the chain.

bug:7362365

Change-Id: Idd8539ffed7ba4892c5a916bd34910fd2ef50f75
2012-10-16 18:26:57 -07:00
Laurent Tu
de5c3a0451 Merge "Handle unknown case in LocationManager.getProvider" into jb-mr1-dev 2012-10-16 17:27:09 -07:00
Jeff Brown
645b05a6e4 Merge "Blank all displays including Wifi Display when screen is off." into jb-mr1-dev 2012-10-16 17:22:40 -07:00
Jeff Brown
8ec0943a79 Blank all displays including Wifi Display when screen is off.
Calling blank() on Surface Flinger to turn the screen off is not
enough to ensure that the content is blanked to all virtual displays.
What's more, the black surface left in place by the ElectronBeam may
not completely hide the content (particularly if the display orientation
changes).  To fix this for real, we'll want to move the display power
management code from the power manager into the display manager
but we don't have time for that.

As a work around, force all displays to show an empty layer stack
with no surfaces on it while blanked.

Bug: 7311959
Change-Id: I870c985f9e76f3f2322e5d83cdbbed9ed15b9f10
2012-10-16 16:19:23 -07:00
Craig Mautner
341220fd09 Use parent window to evaluate show-to-all-users.
When a window is attached to another window use the parent window's
attributes to determine whether the child window should be shown
to all users.

Bug: 7328633 fixed.
Change-Id: I9601c149af87f624378e6895063bb3179d4f845e
2012-10-16 15:20:09 -07:00
Laurent Tu
b7f9d25497 Handle unknown case in LocationManager.getProvider
If a provider is unknown, return null in
LocationManagerService.getProviderProperties() instead of throwing a
security exception, so that LocationManager.getProvider() returns null
in this case, as specified by the javadoc.

Bug: 7359960
Change-Id: I1b8b74745f66717a3439a1d353a46a23272cc313
2012-10-16 14:25:00 -07:00
Svetoslav Ganov
964629aca8 Merge "Occasionally triple tap on the keyboard toggles screen magnification." into jb-mr1-dev 2012-10-16 14:20:45 -07:00
Craig Mautner
dc9e13b30a Merge "Perform all layouts within first loop." into jb-mr1-dev 2012-10-16 13:46:46 -07:00
Craig Mautner
417b05912a Merge "Revert app freeze timeout delay." into jb-mr1-dev 2012-10-16 13:39:47 -07:00
Craig Mautner
a13a41dc0e Perform all layouts within first loop.
Do not begin animation while layout requests are still
outstanding.

Bug: 7333622 fixed.
Change-Id: I77c2cdc123c1e26f9661feade0d9a1843c75d5f6
2012-10-16 12:54:48 -07:00
Svetoslav Ganov
55468c64bc Occasionally triple tap on the keyboard toggles screen magnification.
1. Sometimes unlocking the device when the IME is up and triple tapping on the keyboard
   toggles screen magnification. The core reason is that when the kayguard window is
   shown we hide all other windows and when it is hidden we show these windows. We did
   not notify the screen magnifier for windows being shown and hidden. Also when the
   windows are shown we may reassign layers to put the IME or the wallpaper in the
   right Z order. The screen magnifier is now notified upon such layer reassignment
   since window layers are used when computing the magnified region.

bug:7351531

Change-Id: I0931f4ba6cfa565d8eb1e3c432268ba1818feea6
2012-10-16 11:11:39 -07:00
Craig Mautner
a4942c9fb9 Revert app freeze timeout delay.
Speed up of wallpaper loading on Manta means this workaround is no
longer necessary.

Bug 7354440 fixed.

Change-Id: Ic0ad3c689abb5342fb29c824857db9d5c2d45008
2012-10-16 09:06:53 -07:00
Daniel Sandler
1f0752993f Merge "Allow any user to clear a notification targeted at USER_ALL." into jb-mr1-dev 2012-10-15 22:23:29 -07:00