9344 Commits

Author SHA1 Message Date
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
Jeff Brown
22aa512026 Capture input dispatcher's last ANR state in bug report.
Some ANR bugs are very difficult to localize because by the time
the bug report has been captured, the relevant information is
gone.  Work around this by capturing a log of the input dispatcher's
state at the exact time of the ANR before anything has changed
and include this information in the bug report.

Also fixed a nit related to some format strings that had
improper field widths specified.

Bug: 6680398
Change-Id: I5323bf18ec5e47a767cd053209753cc46852bf4c
2012-06-17 15:51:30 -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
Jeff Sharkey
6c0b4f393a Clear identity when snoozing limit.
Continues to check MANAGE_NETWORK_POLICY permission.  This allows
SystemUI to invoke snoozeLimit() without CONNECTIVITY_INTERNAL.

Bug: 6653091
Change-Id: I464bf62b79f2647c6b6db151251a0036897d0cc0
2012-06-12 21:06:30 -07:00
Craig Mautner
2ec541fa4b Do not hide animating window behind keyguard.
The transition from clock to keyguard when restarting the device
was janky. The cause was that the clock app was animating away
which kept the adjustWallpaperWindowsLocked() method from setting
the keyguard as the new mWallpaperTarget. At the same time the
WindowAnimator saw that the keyguard was readyToDisplay() which
set mForceHiding true causing the clock to become hidden. Since
the clock was mWallpaperTarget the wallpaper was hidden at the
same time.

This fix does not allow mForceHiding to hide an animating
window.

Fixes bug 6649988.

Change-Id: Ie5cb0dfcc987d5ee1ad2351cf520629b8e301a2b
2012-06-12 19:18:21 -07:00
Craig Mautner
1c9581023c Merge "Set detached wallpaper on the scale up animation." into jb-dev 2012-06-12 19:04:01 -07:00
Jeff Sharkey
f6f7f1d2dc Low disk space string change, surface state.
Surface current low disk state through IPackageManager for use in
Settings app.

Bug: 6576409
Change-Id: I9ae9ce99a2faa3015a237036c03567d1ae11628f
2012-06-12 17:12:08 -07:00
Craig Mautner
a803371535 Set detached wallpaper on the scale up animation.
This keeps the background wallpaper from disappearing when expanding an
app that has a wallpaper background (e.g. clock).

Fixes bug 6649988. The second half of the bug, the first half will be
reissued as a new bug.

Change-Id: I209c9038469e4133586a927c92ef64ae43fb937f
2012-06-12 15:50:45 -07:00
Craig Mautner
4d6a0df379 Merge "Do not cancel animations when switching." into jb-dev 2012-06-12 15:45:37 -07:00
Christopher Tate
4cabbef826 Merge "Make sure to stop noHistory="true" activities properly" into jb-dev 2012-06-12 13:38:56 -07:00
Christopher Tate
5007ddded6 Make sure to stop noHistory="true" activities properly
The code was correctly inducing a 'finish' when such an activity was
being stopped, but then was not continuing with the rest of the stop
bookkeeping at that point.  In some circumstances this could result
in an inconsistent state, with the activity marked as finishing but
neither in the foreground nor stopped.

Bug 6585403

Change-Id: Ib5c5be885bc6534e099e040d87a8589f7b7454ce
2012-06-12 13:08:18 -07:00
Craig Mautner
9fec779587 Do not cancel animations when switching.
Was canceling ongoing animations when starting a new animation which
caused the window of the first animation to restart. This looked
janky. The original cancellation was put in to stop the incorrect
animation being selected when quickly switching between an incoming
app and the homescreen. Reversing the cancellation no longer exposes
the original problem it was put in to fix.

One way to duplicate what this is fixing.
1. Slow down animations to 10x.
2. Run ApiDemos/App/Alert Dialogs/List dialog
3. Tap outside the list dialog and then tap the home button.
Tapping outside the list dialog causes the list dialog to animate
away. Tapping the home button then causes the app to animate away.
Before this fix the list dialog would revert to full size before
the app animates away. With this fix the list dialog continues its
original animation as the app animates away.

Fixes bug 6600726.

Change-Id: I29c940254808a321c3b6c2e4f4b7c78a72b47899
2012-06-12 11:13:41 -07:00
Jeff Brown
265f1ccc51 Improve ANR diagnostics.
When an ANR occurs, log the associated reason.

When an event takes too long to process (currently more than 2 seconds)
log basic information about the event including how long it actually
took.

Dump the contents of the inbound, outbound and wait queues as part
of dumpsys input.

Bug: 6574842
Change-Id: I9ab754c320f609cb86fe266c469a61e7032dfed6
2012-06-11 18:05:31 -07:00
Craig Mautner
0fa77c1e0f Remove over aggressive optimization.
It turns out that sometimes the wallpaper target is migrated to the
bottom of the window stack and then mWallpaperTarget is set to null.
In particular this happens when the launcher all-apps screen is
brought up. When this happens the layer of the wallpaper is
correctly set below the previous wallpaper target.

An optimization in WindowAnimator was keeping the layer update from
propagating to the Surface object. This fix removes that optimization.

Fixes bug 6631717.

Change-Id: I800dd043ce8df83b4e5edbf710503135396bc01e
2012-06-11 16:30:48 -07:00
Craig Mautner
c38869abe5 Revert "Merge errors."
This reverts commit b0419a52008e57475ee254def1da20451da22d4c.
2012-06-11 16:30:48 -07:00
Craig Mautner
a5bbb8987b Merge errors.
Change-Id: I33d0b1aa5dc5018cc879d2e9878e4825adaa4074
2012-06-11 16:30:48 -07:00
Michael Jurka
64dbcd64be Merge "Tweak recents out animation a bit more" into jb-dev 2012-06-11 16:17:35 -07:00
Michael Jurka
c016aaaa42 Tweak recents out animation a bit more
Bug: 6490204

-Fading to black in the recents layer
-Tweaking duration and interpolators
-Removing some unnecessary debug exceptions (Bug: 6642072)

Change-Id: Iba18fade7f874078111fc1d79a81830ee07617d4
2012-06-11 15:23:20 -07:00
Dianne Hackborn
409d563b51 Merge "DO NOT MERGE: Cherry-pick 2ed524966d3c4bd04ea5f54026ed59558d73cd44 to JB." into jb-dev 2012-06-11 13:20:35 -07:00
Craig Mautner
47adf865bd Merge "Fix exposing wallpaper on rotations and other." into jb-dev 2012-06-11 13:10:01 -07:00
Vairavan Srinivasan
ac5f998396 DO NOT MERGE: Cherry-pick 2ed524966d3c4bd04ea5f54026ed59558d73cd44 to JB.
This was contributed from AOSP, a fix to the management of URI write
permissions.  This is a very blatant bug, and with the new Intent ClipData
and other stuff we are making much more use of write permissions in JB,
so it is well worth taking.

Change-Id: I58c86119b4d5c13fefd090944bea139803df1a48
2012-06-11 13:06:41 -07:00
Chia-chi Yeh
d667aebfb3 Merge "VPN: move VpnDialogs away from system uid." into jb-dev 2012-06-11 11:49:46 -07:00
Craig Mautner
b9836b9185 Fix exposing wallpaper on rotations and other.
1. Rotations do not go through standard closing of animations so the
wallpaper was not being hidden when the wallpaper target surface was
destroyed. This fix adds hiding the wallpaper when the wallpaper
target is destroyed.

2. The wallpaper target is nulled when switching from launcher home
screen to launcher all apps. In this case the wallpaper remains
visible but below visible layers. It should be hidden so that when
those layers adjust it is not exposed. (Separate fix for adjusting
wallpaper in this case will come).

Fixes bug 6629464.

Change-Id: I522f97dafc0cdcc0f933a825ec9a29d8f63590b5
2012-06-11 11:40:09 -07:00
Dianne Hackborn
a7e3a1e0e7 Merge "Include important native processes in watchdog stacks." into jb-dev 2012-06-11 10:37:51 -07:00
Svetoslav Ganov
b7726159e3 Merge "Crash in the touch explorer." into jb-dev 2012-06-10 09:59:24 -07:00
Dianne Hackborn
f72467ad98 Include important native processes in watchdog stacks.
Helps us track down deadlocks involving native service processes.

Bug: 6615693
Change-Id: I580047550772e29586195a8cf440141574e3f40c
2012-06-08 18:36:48 -07:00
Svetoslav Ganov
e45c0b230b Crash in the touch explorer.
1. The touch explorer was notified for accessibility events from
   a binder thread which was poking the internal state of the
   latter which by design is not tread safe. Since the touch
   explorer is expected to be running only on the main thread
   the accessibility manager service delivers the accessibility
   events to the explorer on that thread.

bug:6635496

Change-Id: Ifdc5329e4be8e485d7f77f0fb472184494fa0d15
2012-06-08 17:49:52 -07:00