10951 Commits

Author SHA1 Message Date
Craig Mautner
e6f7d5054a Fix problems with IME layers.
The query WindowState.isDisplayed did not take into account being
displayed due to app animations.

When an existing input method target was animating away the logic
for detecting if it was still on screen was faulty. This led to
assigning the input method to a layer below its target and obscuring
the input method until the animation was complete.

Bug: 7296703 fixed.
Change-Id: Ib00db4f21b726ed57d25d6a1e796b65a7d45ee97
2012-10-08 10:34:17 -07:00
Amith Yamasani
9c2a38ed10 Merge "Fix resource reading for secondary users" into jb-mr1-dev 2012-10-07 22:53:18 -07:00
Amith Yamasani
64442c1155 Fix resource reading for secondary users
Bug: 7086881

Load resources for the correct user.

Also clean up package monitoring and locking.
Added dump method to SearchManagerService.

Sneaking in a change to make crash dialogs visible to current user.

Change-Id: Id56dd15428d66084de995e28be242db27c15fda3
2012-10-07 15:56:34 -07:00
Dianne Hackborn
b52b6bf138 Merge "Fix issue #7295951: Mako asks which Launcher to use at every re-boot" into jb-mr1-dev 2012-10-07 15:48:39 -07:00
Jeff Brown
8b9cf1c800 Reduce screen on latency, eliminate flashes.
Always use the ElectronBeam now, even when we are only animating
the backlight so that we will have a black surface remaining
on the screen after the screen turns off.

When turning on the screen, keep the black surface showing until
we unblock screen on then dismiss it as usual.

This change eliminates the flashing of old display content when
the screen is turned on.  It also helps to conceal some of the
latency of turning the screen on.  We always turn the screen on
immediately (even when screen on has nominally been blocked) and
rely on the black surface to hide the screen contents until the
last moment.  Dismissing the black surface is practically
instantaneous compared to turning the screen on.

Bug: 7299370
Bug: 7139924
Change-Id: I57d13287acd05bd0a48811095bb02dc7bc7cbeb6
2012-10-07 14:54:17 -07:00
Dianne Hackborn
6309271f7b Fix issue #7295951: Mako asks which Launcher to use at every re-boot
A couple problems:

- We need to clear app preferences later, now that we have encrypted apps.
- The multi-user implementation of this would allow different preferred
  apps from different users to potentially interefere with each other.
  They are not completely separate data structures.

Change-Id: Id4f1ebb6414fdf30ff1049adaa1efe83dabac01a
2012-10-07 14:45:35 -07:00
Craig Mautner
138f272bfc Merge "Save resized windows even if freezing." into jb-mr1-dev 2012-10-07 11:50:55 -07:00
Craig Mautner
33877e15b8 Merge "Adds showWhenLocked attribute to Activities." into jb-mr1-dev 2012-10-07 11:48:50 -07:00
Jeff Brown
140cdb7a5d Merge "Allow the dim brightness to be brighter than the minimum." into jb-mr1-dev 2012-10-06 22:53:40 -07:00
Craig Mautner
ade0a9a938 Save resized windows even if freezing.
During app freezes resized windows were being dropped if the freeze
window timed out. This fix adds windows to the list of resized
windows but does not notify the clients of the resize until freezing
is completed.

Bug: 7094175 fixed.
Change-Id: Iee1f5f532a0e661fbf900e4540146ae4b645d68e
2012-10-06 13:55:07 -07:00
Craig Mautner
5962b12bed Adds showWhenLocked attribute to Activities.
The new attribute allows an Activity such as the alarm to appear
on all users screens.

Bug: 7213805 fixed.
Change-Id: If7866b13d88c04af07debc69e0e875d0adc6050a
2012-10-06 13:09:58 -07:00
Jeff Brown
b76eebff47 Allow the dim brightness to be brighter than the minimum.
Defines the lower end of the allowable screen brightness range
as the lesser of the dim level, the user brightness setting
minimum value and the lowest auto-brightness level.

Bug: 7295909
Change-Id: I7a72b4611631f9e51578205ff12898c5bae02b1b
2012-10-06 12:37:47 -07:00
Svetoslav Ganov
1ad0fd9c04 Merge "Accessibility active window not updated on time." into jb-mr1-dev 2012-10-06 12:17:56 -07:00
Svetoslav Ganov
f81dc4c08b Merge "Screen magnification cannot be engaged in landscape on a phone." into jb-mr1-dev 2012-10-06 12:11:29 -07:00
Dianne Hackborn
52177738e8 Merge "Fix issue #7296314, issue #7296314." into jb-mr1-dev 2012-10-06 11:08:17 -07:00
Dianne Hackborn
4c1e3183ba Fix issue #7296314, issue #7296314.
7296314 Crashing dreams are stuck
7296510 Transition from lock screen to dreaming is really bad

The window layer for dreams is now moved down below the keyguard,
so that some of the expected stuff like crash and ANR dialogs can
be seen on top of them.  While doing this, I reorganized how we
define the layers so the constants are just in the switch statement,
so it is much less crazy-making trying to read how things go
together.

We now have some special cases for when a dream is being shown
to turn off its animation if the keyguard is currently shown.
Since we know it will be hiding the keyguard we need it to be
shown immediately so that you don't see whatever is behind it.

Cleaned up some handling of when the lock screen is displayed
while a FLAG_SHOW_WHEN_LOCKED window is displayed, so that the
lockscreen doesn't transiently get shown and mess up the fullscreen
or system UI state.  This also fixes problems with any normal
activity that is doing this.

Hid the methods on DreamService for setting lights out mode.  It
doesn't make sense to have such methods on DreamService, because
you can just as well do that on your own View that is showing the
dream content, and when you can do that you can fully participate
in the (required) interactions about it such as being told when
the mode goes away.

The DreamService method for going fullscreen now uses the window
flag for doing this, which is what you want, because you want this
state to persistent on that window and not get knocked out if
something above the window tickles the system UI state.

Also fixed the problem where dreams that hid the status bar would
have a jerky animation when going away, since they were causing the
activity behind them to be layed out without the lock screen.  This
is a kind-of ugly special case in the window manager right now to
just not layout windows that are behind a dream.  Good enough for MR1.

Change-Id: Ied2ab86ae068b1db0ff5973882f6d17b515edbcd
2012-10-05 20:38:31 -07:00
Jeff Brown
4d12d5be8f Merge "Recover from bad input event timestamps from the kernel." into jb-mr1-dev 2012-10-05 19:44:36 -07:00
Svetoslav Ganov
a7bcb546bc Screen magnification cannot be engaged in landscape on a phone.
1. The reason is that the screen magnifier computes that the whole
   screen is not magnifiable. The miscalculation was caused due to
   an incorrect assumption that the non-magnified area is only at
   the bottom. In fact, on a phone in landscape the non-magnified
   area is both on the right and at the bottom. This change adds
   a correct algorithm for computing the magnified region.

2. Increasing the delay for computing the magnified area when the
   keyguard goes away to allow all windows hidden by the keyguard
   to be shown. In rare occasions the previous delay was not long
   enough resulting in a state where the keyboard is considered
   a part of the magnified region.

3. Removed some dead code.

bug:7293097

Change-Id: Ic5ff91977df8bcf4afd77071685c3eb20555d4f3
2012-10-05 19:39:26 -07:00
Jeff Brown
f33b2b2b24 Recover from bad input event timestamps from the kernel.
This can happen due to a race when the input device is
opened or if the kernel happens to be missing the required
Android patches to set the timestamp correctly.

Bug: 7291243
Change-Id: If4319440eaff2889147c86296abd39efc5664346
2012-10-05 19:33:28 -07:00
Amith Yamasani
b71ccfcf9b Merge "Fix widget cross-talk between users due to Settings widget" into jb-mr1-dev 2012-10-05 19:13:46 -07:00
Svetoslav Ganov
f772cba597 Accessibility active window not updated on time.
1. The active window is the one the user is touching or the one
   that has input focus. It has to be made current immediately
   after the user has stopped touching the screen because if the
   user types with the IME he should get a feedback for the
   letter typed in the text view which is in the input focused
   window. Note that we always deliver hover accessibility events
   (they are a result of user touching the screen) so change of
   the active window before all hover accessibility events from
   the touched window are delivered is fine.

bug:7296890

Change-Id: I1ae87c8419e2f19bd8eb68de084c7117c66894bc
2012-10-05 18:56:26 -07:00
Satoshi Kataoka
f948500239 Merge "Fix the issue on the input method switch picker" into jb-mr1-dev 2012-10-05 17:59:09 -07:00
Amith Yamasani
8320de8e29 Fix widget cross-talk between users due to Settings widget
Bug: 7247911
Bug: 7294899

Also did some cleanup of unused code that resulted from refactoring
the app widget service. Fixed a few more ambiguous calls that weren't
using the correct user id.
Added some logging and improved the dump() formatting.

Change-Id: I27abb5c6341458e1e50a2cc9ab67e8de573ab283
2012-10-05 17:24:37 -07:00
Jeff Brown
fdcb2257d2 Merge "Fix a deadlock involving BatteryService." into jb-mr1-dev 2012-10-05 17:11:14 -07:00
Jeff Brown
605ea69ab1 Fix a deadlock involving BatteryService.
The PowerManager may call into the BatteryService while
holding its locks.  We need to be careful that the BatteryService
doesn't call into other services, particularly the ActivityManager
while holding its own locks.

Bug: 7298218
Change-Id: Ibf8ab13224f204a9857825265e864f93583bce8e
2012-10-05 16:33:10 -07:00
Craig Mautner
2874a54068 Merge "Add flag for displaying non-user's Windows to user." into jb-mr1-dev 2012-10-05 16:14:12 -07:00
Jeff Sharkey
d7eece3448 Merge "Clear identity when requesting current user." into jb-mr1-dev 2012-10-05 16:14:12 -07:00
Jeff Sharkey
b78738fa06 Clear identity when requesting current user.
Bug: 7298189
Change-Id: Ie9c160f12067f1b9426acbfee67ef81e8f5f7992
2012-10-05 16:03:01 -07:00
Jeff Brown
0728206a11 Merge "Ensure that dreams show while docked." into jb-mr1-dev 2012-10-05 16:01:52 -07:00
Jeff Sharkey
aa99257dec Merge "Only play notification sounds for active user." into jb-mr1-dev 2012-10-05 15:35:14 -07:00
Craig Mautner
88400d3a31 Add flag for displaying non-user's Windows to user.
Created a new flag that indicates that a window should be shown
to all users. For the flag to be valid the owner of the window
must have system permissions.

Also separated system window types into those that show to all
users (e.g. StatusBar, Keyguard, ....) and those that appear only
to the owning users (e.g. Drag, ANR, TOAST, ...). Those that appear
only to their owner can override their default behavior using
the new flag (e.g. LowBattery).

Fixes bug 7211965.

Change-Id: I1fdca25d57b7b523f0c7f8bceb819af656c388d4
2012-10-05 15:29:25 -07:00
Jeff Sharkey
8637bd9766 Only play notification sounds for active user.
Bug: 7298302
Change-Id: I1e176f7b17bb51b878f2e8b345804780df92d487
2012-10-05 15:29:01 -07:00
Jeff Brown
9fca9e9698 Ensure that dreams show while docked.
Fixed a race between the UiModeManagerService and PowerManagerService
both of which are trying to wake the device when docked / powered.

Bug: 7281240
Change-Id: Ia41fef48f17f2a2eb56549437d295f9a86c95af2
2012-10-05 15:21:06 -07:00
Jeff Brown
3f1246a29b Merge "Coordinate screen on with the window manager." into jb-mr1-dev 2012-10-05 14:55:26 -07:00
Jeff Brown
c38c9be031 Coordinate screen on with the window manager.
Bug: 7267457
Change-Id: Ic2c322253639e1f0b2e4e72a7b145025d0240f93
2012-10-05 14:39:23 -07:00
Dianne Hackborn
7ef38ea9e5 Merge "Fix issue #7275122: Wall paper jank when switching users" into jb-mr1-dev 2012-10-05 12:54:52 -07:00
Dianne Hackborn
bce0cbb40d Fix issue #7275122: Wall paper jank when switching users
Change-Id: I2677c7641a01b4afe89db29cb5fc1af876f9d078
2012-10-05 11:06:53 -07:00
Satoshi Kataoka
3ba439d648 Fix the issue on the input method switch picker
Bug: 7292731
Change-Id: I8cb51dd01e4c467fff511d4ecee79426f9b2ed80
2012-10-05 19:01:06 +09:00
Jeff Hamilton
20de160ca3 Revert "Changes to support updating location providers."
This reverts commit c19efc204aee1f0f3164dc21bd2ef3fdd4259c71.
2012-10-05 02:32:52 -05:00
Matthew Xie
d21b483904 Merge "Add multi user support for bluetooth" into jb-mr1-dev 2012-10-04 23:21:34 -07:00
Daniel Sandler
f5e2b2c26c Merge "DreamService API revisions." into jb-mr1-dev 2012-10-04 20:56:08 -07:00
Daniel Sandler
2d78490292 DreamService API revisions.
Reduce reliance on Service interface overrides, instead
steering clients to the DreamService-specific lifecycle
hooks:

  onAttachedToWindow .. onDreamingStarted ..
  onDreamingStopped .. onDetachedFromWindow

The old Dream.java is finally gone now too.

Bug: 7281802
Change-Id: Ib7802c3397fde60ad1132fa49831da182eef4d7a
2012-10-04 23:38:15 -04:00
Jeff Brown
a07b1fffbe Merge "Support animating just the backlight when turning off." into jb-mr1-dev 2012-10-04 20:20:25 -07:00
Jeff Brown
29126cf0f7 Merge "Ensure we send at least one wakeup/gotosleep transition." into jb-mr1-dev 2012-10-04 20:19:31 -07:00
Jeff Brown
a52772ff26 Support animating just the backlight when turning off.
Bug: 7224614
Change-Id: Ic9fa7a9e458c89d347b03bce6829f952bdf3b6a5
2012-10-04 18:39:24 -07:00
Matthew Xie
fca9d63635 Add multi user support for bluetooth
Create a BLUETOOTH_STACK permission to share between all users of
Bluetooth apk. Bluetooth Manager binds to apk of current user
bug 6925422

Change-Id: I2df5546e977c2d77bc66d97d12479d933826922a
2012-10-04 18:35:42 -07:00
Jeff Hamilton
82b946496e Merge "Changes to support updating location providers." into jb-mr1-dev 2012-10-04 18:23:45 -07:00
Amith Yamasani
c192c649ba Merge "Fix serial number assignment for new user on a freshly wiped device" into jb-mr1-dev 2012-10-04 18:03:47 -07:00
Jeff Brown
5430835934 Ensure we send at least one wakeup/gotosleep transition.
This fixes an issue where the device would not lock immediately
when the user quickly pressed power off / power on even if
configured to do so.  We were suppressing the screen off
and wake up broadcast in this case.

Now we make sure to always send at least one broadcast to
indicate the transition.  We still collapse back-to-back
full cycle transitions though so as not to end up enqueuing
useless broadcasts.

Bug: 7061116
Change-Id: I7211c5fd963c271c2b0aceb4d2f746063c629079
2012-10-04 18:03:11 -07:00
Adam Cohen
327424d69b Merge "Plumbing to allow keyguard to be shown with user switcher (issue 7175023)" into jb-mr1-dev 2012-10-04 18:01:09 -07:00