7399 Commits

Author SHA1 Message Date
Jeff Brown
780c46fc91 Don't wait until boot timeout if there is no wallpaper.
When launching only core apps, the wallpaper service
is not started.  Without this change the WM waits
up to 30 seconds for the wallpaper window to be created even
though it will never happen.  This introduces a significant
delay before the boot animation is dismissed so the user can
enter a decryption password.

Bug: 6263070
Change-Id: Ia975127a0bf09cf99818f7cc4fd6c0264b740ec6
2012-06-24 13:51:41 -07:00
Jeff Brown
08a746a0c6 Don't enable input dispatch until display enabled.
Bug: 6263070
Change-Id: I05d036fc1d9ec06d164d6743d45bb3f199cfab47
2012-06-24 12:23:58 -07:00
Hiroshi Lockheimer
5beeb04b52 Merge "Don't display based on a dummy animation." into jb-dev 2012-06-22 15:33:15 -07:00
Craig Mautner
9c5bf3b36f Don't display based on a dummy animation.
The Starting window was being made visible early because the app
token had the dummy animation set. When the real animation started
the Starting window picked it up and became transparent causing
the underlying window to become visible again => jank.

Fixes bug 6691421.

Change-Id: I95fe88d2887760e6da3adedeb6be300eb6755283
2012-06-22 15:19:13 -07:00
Michael Jurka
ab779e0bb2 Merge "Increase bitmap memory cap for widgets (Bug 6597440)" into jb-dev 2012-06-22 14:38:12 -07:00
Winson Chung
e92aad432a Increase bitmap memory cap for widgets (Bug 6597440)
Change-Id: I4149b8c5f204f10ebf0ef1f8d03709c0559178d0
2012-06-22 14:12:39 -07:00
Dianne Hackborn
0b9b053ce6 Merge "Don't crash in window manager if we fail getting .apk resources." into jb-dev 2012-06-22 10:38:45 -07:00
Craig Mautner
f412095686 Fix starting window problems.
Three problems fixed:
1. When one Activity took over for another Activity not all of the
starting window state was being copied over. Now copying over more
parameters.

2. When the visibility of an Activity was being changed the dummy
animation was overwriting the existing animation. If that animation
was the starting window animating then it started over when the
dummy animation was assigned. Now the dummy animation no longer
replaces an existing starting window animation.

3. The test for whether to animate away the starting window only
looked to see if the Activity had already drawn a window but did
not include the starting window. This caused the starting window
to immediately be hidden when the Activity was removed if no
windows were drawn, thereby exposing the fading window behind.
Now the starting window is included in the hasAppShownWindows test
and is animated away if it is exposed.

Fixes bug 6691421.

Change-Id: I4d32a1546c201652574a44d9e7f2752f1f1eb5a6
2012-06-21 18:25:39 -07:00
Dianne Hackborn
0b800190d7 Don't crash in window manager if we fail getting .apk resources.
This normally shouldn't noramlly happen, but it can in the case of
bug 6647334 (crash in LoadedApk.makeApplication) where the package
manager information becomes inconsistent, and it could also happen
if an app was uninstalled or started updating at just the right
time during a launch.

Bug: 6647334
Change-Id: Iba22efe1d646cdac46099b2135466309577dfa54
2012-06-21 15:29:36 -07:00
Dianne Hackborn
f530ac323b Fix issue #6700897: Activity paused by activating the...
...lock screen does not response to onNewIntent()

We now keep activities stopped even while the lock screen is
displayed.  (We used to keep them stopped while the screen was
off, and then resume the top activity when the screen was turned
on even though they are covered by the lock screen.)

When a new intent is being delivered to an application, if it
is not resumed it is held in a pending list until the next
time the activity is resumed.  Unfortunately that means for
the case where the activity is being held stopped due to the
screen off or lock screen, it will not receive any new intents,
even though it is at the top of the stack.

Fix this by adding an additional condition that allows the new
intent to be delivered immediately if the activity manager is
sleeping and the target activity is at the top of the stack.

Also some debug output improvements, since pending new intents
were not being included in the debug output, making it impossible
to see we were in that situation.

Change-Id: I5df82ac21657f1c82e05fd8bf21474e883f44e6f
2012-06-21 14:17:48 -07:00
Jeff Brown
8e306a68e8 Don't reset brightness to 0 on initial boot.
Bug: 6705012
Change-Id: I8114fda081784abbe720d5eaa637aa5234b5a947
2012-06-20 19:46:32 -07:00
satok
56802678a7 Merge "Workaround: Never reset the default IME if the system is not ready" into jb-dev 2012-06-20 13:01:09 -07:00
Charles Chen
d0d3a85065 Merge "Fixing gesture recognition configuration in TouchExplorer." into jb-dev 2012-06-20 12:12:07 -07:00
Dianne Hackborn
0fa4d30b03 Merge "Fix issue #6686339: 2 taps required to launch notification..." into jb-dev 2012-06-20 12:06:38 -07:00
satok
4c0e7152e7 Workaround: Never reset the default IME if the system is not ready
Bug: 6685037
Change-Id: Ifb311f85154beadd4787ec73669bedfdf1f5172d
2012-06-21 02:22:24 +09:00
Dianne Hackborn
6e2281d44c Fix issue #6686339: 2 taps required to launch notification...
...or settings from lock screen

When a window is drawn, the code to determine whether it should now
be shown was calling WindowState.isReadyForDisplay().  Part of the
condition of this function is that it is not ready if a policy is
forcing the window to be hidden -- which is the case when the lock
screen is shown.  As a result, we wouldn't show the window at that
point, so wouldn't tell the activity manager that the token's windows
are visibible, and wouldn't tell the lock screen to go away.

This adds a new variation WindowState.isReadyForDisplayIgnoringKeyguard(),
which is the same as the original method but ignores the policy visibility
for app windows.  This allows windows to be go through the complete
path of handling when the window is finally drawn and telling the
activity manager about it, even if behind the lock screen.  By making it
a separate function, we don't impact any other code that is calling the
old function and may be relying on its behavior.

Also cleaned up a little of the dumpsys output.  Most important, the
new ANR section is now moved to the top, since we want
"adb shell dumpsys window" to still give a nice summary of what we
normally care about -- the window stack and important global state.

Change-Id: Ica3ea85ce46f3f5f5cd2cc30fbd9de13d3885a57
2012-06-19 17:54:24 -07:00
Casey Burkhardt
ea6fbc0981 Fixing gesture recognition configuration in TouchExplorer.
This fix adjusts the sensitivity of the gesture recognizer by
eliminating gesture rotation in the recognition process.

Bug:6697119
Change-Id: Ic767f513c05210b27e583338c4f0adcaa1c4c625
2012-06-19 16:31:54 -07:00
Craig Mautner
5785e05d44 Merge "Clear sendingToBottom when animation is complete." into jb-dev 2012-06-19 15:08:41 -07:00
Craig Mautner
3f99fde465 Clear sendingToBottom when animation is complete.
Was counting on moving the app to the top to clear the flag
indicating that the app was being sent to the bottom. Since this
did not always happen the sendingToBottom flag was occasionally
left set. In this case the focus was skipped for that app and
consequently input was never propagated to it.

This fix clears the sendingToBottom flag each time the app
animations are completed.

Fixes bug 6691421.

Change-Id: I6f851dc5bedca95182db8490d87c876a71ad5fde
2012-06-19 14:10:01 -07:00
Jeff Sharkey
0abe556d28 Handle SCREEN_ON/OFF broadcasts without blocking.
NetworkPolicy currently uses a single background thread to process
various broadcasts.  When processing other broadcasts, this thread
can block our handling of SCREEN_ON/OFF, which are sent as ordered
broadcasts.

This change moves SCREEN_ON/OFF handling to the main thread, and
dispatches a one-way message to the background thread, allowing the
ordered broadcast to always proceed.

Bug: 6677047
Change-Id: I52de2c7b75beb8059bb87e123689ba4a9c4ae349
2012-06-19 13:32:22 -07:00
Craig Mautner
89f5a4624b Merge "More paths for turning on screen immediately." into jb-dev 2012-06-18 18:01:53 -07:00
Craig Mautner
75fc9de258 More paths for turning on screen immediately.
This fix forces the path through the updateLightsLocked method to turn
the screen on immediately if mWaitingForFirstLightSensor is true. Also
do not clear mWaitingForFirstLightSensor if mPreparingForScreenOn
is true. Wait until it turns false.

Fixes bug 6612418.

Change-Id: I03407e748cce4906a73de1f15df1654649b133c4
2012-06-18 16:53:27 -07:00
Dianne Hackborn
1991850de7 Merge "Implement issue #6680894: Provide a way to configure app defaults..." into jb-dev 2012-06-18 16:19:56 -07:00
Dianne Hackborn
fc8b7fe026 Implement issue #6680894: Provide a way to configure app defaults...
...for a smoother OOB experience

Way provided.

Put your defaults in system/etc/preferred-apps/*.xml.

Figure out what to put there with "adb shell dumpsys package preferred-xml".

Bug: 6680894
Change-Id: Ia06bb0061876274a5f80bf06d1ba5ad155edc323
2012-06-18 15:38:12 -07:00
Jeff Brown
ee17241487 Fix an NPE and possible unsynchronized call of Locked method.
Bug: 6680398
Change-Id: Id5ef4fa82b2a5ef5e9c3934ca95156143f91e5e2
2012-06-18 12:59:13 -07:00
Jeff Brown
d7a04de167 Capture window manager's last ANR state in bug report.
Currently just grabbing the window state but we could grab
other things as part of the last ANR report.

Bug: 6680398
Change-Id: I23aa70907b1bdcb21c8acc556fde196ca790ef6a
2012-06-17 15:55:46 -07:00
Dianne Hackborn
2fe8fb276c Fix issue #6664140: Time to lock should work even Stay awake...
...in Developer options is on

Don't respect stay awake while on as long as a time to lock limit
is being enforced.  When we start enforcing one, make sure the
setting is off (since we won't be respecting it anyway).

Bug: 6664140
Change-Id: Id07cb528afa0c64c7766341841c51771f507121d
2012-06-15 17:23:16 -07:00
Dianne Hackborn
6e3d6daa37 Fix issue #6636731: Mariner animation ring gets stuck
Weren't cleaning out any ActivityOptions that are still attached
to a finishing activity.

Bug: 6636731
Change-Id: If0520bbcbf1d4ce19d46ff769918893cefda9c87
2012-06-15 12:12:56 -07:00
Dianne Hackborn
734f0214ec Merge "Help out issue #6654729: CAB + screen off during playback" into jb-dev 2012-06-14 21:33:48 -07:00
Dianne Hackborn
b80395c17d Help out issue #6654729: CAB + screen off during playback
People generally expect, if they are using FLAG_KEEP_SCREEN_ON,
that the screen won't immediately dim after it is cleared, even
if it has been passed the user activity timeout since the last
user interaction.  So include the flag to reset the user activity
timeout when releasing its wake lock.

Change-Id: If7a8fea8faef3edbf13dff10a2f248adc9e3ff0b
2012-06-14 19:38:20 -07:00
Christopher Tate
0e44a6beea Merge "Don't finish noHistory="true" activities behind the lock screen" into jb-dev 2012-06-14 19:35:58 -07:00
Christopher Tate
7661bc6c5a Merge "Run the screen on/off broadcasts at foreground priority" into jb-dev 2012-06-14 17:34:28 -07:00
Christopher Tate
2cb1357d1b Run the screen on/off broadcasts at foreground priority
Bug 6643559

Change-Id: I392f11dabea518238d0f4336c3663bf5c7d46146
2012-06-14 17:00:48 -07:00
Christopher Tate
d3f175c817 Don't finish noHistory="true" activities behind the lock screen
The foreground activity is stopped when the device goes to sleep,
and started again when the device is unlocked.  We now distinguish
this case from a "normal" stop, and do not finish() a foreground
noHistory="true" activity inappropriately when the device sleeps.
We also detect the case where an activity is started while the
device is still asleep, in which case the foreground noHistory
activity is cleaned up as part of bringing the new activity to
the foreground.

Bug 6657549

Change-Id: I9c6a0830aed0e47e4207b62803b90067c8486112
2012-06-14 16:51:58 -07:00
Daniel Sandler
68a808bc70 Merge "Show even fewer notifications in Setup." into jb-dev 2012-06-14 16:07:45 -07:00
Craig Mautner
8b9c6d51d5 Merge "Expose apps when keyguard animating." into jb-dev 2012-06-14 14:55:19 -07:00
Michael Jurka
a676cdab11 Merge "Tweak recents launch app animation" into jb-dev 2012-06-14 14:33:55 -07:00
Craig Mautner
f03e4c55fc Expose apps when keyguard animating.
Continuing in the trend of not hiding apps while the keyguard is
animating.

Fixes bug 6653600.

Change-Id: I151315084a13dcec061d2d6edccd31e1133610f4
2012-06-14 14:11:27 -07:00
Daniel Sandler
590d515d91 Show even fewer notifications in Setup.
Restricting to pkg="android" didn't filter out things like
open wifi networks, etc. So now we have a whitelist:
notifications must be sent the "android" pseudo-package,
*and* they must have one of these "kind" tags:

  - android.system.imeswitcher (IME switcher, needed by SUW)
  - android.system.update (OTAs)

Note that OTAs currently use a fullScreenIntent, so they
bypass this logic anyway, but for consistency's sake we now
allow OTA icons in the status bar explicitly.

Bug: 6645469
Change-Id: Ib2e2f22d7a0817a1acaf8137ed4f3c7d3ddf8af5
2012-06-14 16:10:13 -04:00
Michael Jurka
b9a38c57fc Tweak recents launch app animation
- Sometimes the black background would flash; changing
animation durations to make this much less likely
- Fixing issue in Recents where we sometimes forgot
to disable drawing caches on views after enabling them
2012-06-14 11:57:50 -07:00
Svetoslav Ganov
9b1767bbb4 Merge "Active window not updated window not updated properly." into jb-dev 2012-06-14 10:48:09 -07:00
Svetoslav Ganov
5d043ce8cc Active window not updated window not updated properly.
1. Accessibility allows querying only of the active window.
   The active window is the one that has input focus or the
   one the user is touching. Hence, if the user is touching
   a window that does not have input focus this window is
   the active one and as soon as the user stops touching
   it the active window becomes the one that has input
   focus. Currently the active window is not updated properly
   when the user lifts his finger. This leads to a scenario
   of traversal actions sent to the wrong window and the user
   being stuck.

   The reason is that the last touch explored event that is
   used to determine where to click is cleared when accessibility
   focus moves but this event is also used to determine when to
   send the hover exit and touch exploration gesture end events.
   The problem is that the last hover event is cleared before
   it is used for sending the right exit events, thus the event
   stream is inconsistent and the accessibility manager service
   relies on this stream to update the active window. Now we
   are keeping separate copies of the last touch event - one
   for clicking and one for determining the which events to
   inject to ensure consistent stream.

bug:6666041

Change-Id: Ie9961e562a42ef8a9463afacfff2246adcb66303
2012-06-14 10:40:12 -07:00
Svetoslav Ganov
52d3465d05 Merge "If a gesture cannot be detected the device should transition to touch exploration state." into jb-dev 2012-06-14 10:03:59 -07:00
Nick Pelly
bfd125a0bf Merge "Fix NPE when public API removeProximityAlert() used before addProximityAlert()." into jb-dev 2012-06-14 08:34:13 -07:00
Svetoslav Ganov
95068e5d1b If a gesture cannot be detected the device should transition to touch exploration state.
1. We are deciding whether the user is performing a gesture or an exploration based
   on the gesture velocity. If we are detecting gesture we do the recognition at the
   gesture end which is when the finger goes up. This is better than having a mode
   toggle gesture for exploring and gestures detection. However, it is possible that
   the user really wanted to perform an exploration but was moving too fast and
   unless he lifts his finger the device is in gesture detection mode. This is
   frustrating since the user has no feedback and assumes exploration does not
   work.

   We want to perform gesture detection only for a maximal time frame and if the
   user did not lift his finger we transition into touch exploration state.

bug:6663173

Change-Id: I954ff937cca902e31b51325d1e1dfce84d239624
2012-06-13 21:14:16 -07:00
Nick Pelly
01ed75c82f Fix NPE when public API removeProximityAlert() used before addProximityAlert().
Bug: 6313992
Change-Id: I905ad9ea771286727ce4a3a2334f2a0dac967c3d
2012-06-13 16:45:27 -07:00
Craig Mautner
4323d6ea51 Merge "Do not hide animating window behind keyguard." into jb-dev 2012-06-13 15:27:51 -07:00
Craig Mautner
f8d05b4ea6 Merge "Update wallpaper visibility at time of hide/show." into jb-dev 2012-06-13 14:09:08 -07:00
Jeff Sharkey
963218905a Merge "Clear identity when snoozing limit." into jb-dev 2012-06-13 12:06:10 -07:00
Craig Mautner
507a2ee12b Update wallpaper visibility at time of hide/show.
Call the Window client method dispatchAppVisibility when hiding or
showing wallpaper rather than wait until the next call to
performLayoutAndPlaceSurfaces.

Fixes bug 6645473.

Change-Id: I363f69f8db0affff92308e11ce52546401959d8f
2012-06-13 08:39:38 -07:00