Commit Graph

3286 Commits

Author SHA1 Message Date
Romain Guy
95fc7a246f Merge "Remove ViewTreeObserver allocations" 2012-06-12 15:27:06 -07:00
Romain Guy
c39ed4a6e5 Remove ViewTreeObserver allocations
A couple of allocations remain to handle possibly recursive listeners.

Change-Id: I72fd271c2fc4f4ad427a27e0665f780cae117aea
2012-06-12 15:23:52 -07:00
Dianne Hackborn
5ef59976b1 am f59467b3: am aabd9c23: Merge "Fix issue #6634325: View.setKeepScreenOn and..." into jb-dev
* commit 'f59467b3d6c5df8bf90de799e212275e5c26de86':
  Fix issue #6634325: View.setKeepScreenOn and...
2012-06-12 13:01:12 -07:00
Jeff Brown
d3f97dc0fb am 14afbba6: am ea6b8188: Merge "Improve ANR diagnostics." into jb-dev
* commit '14afbba66355fab168bed25c9bab33058372584a':
  Improve ANR diagnostics.
2012-06-12 13:01:06 -07:00
Jeff Brown
2dc7232140 am 62007aba: am 519e91ef: Merge "Detect bad behavior earlier in Choreographer." into jb-dev
* commit '62007aba1998055cf6ab3e610ed97dbe06341056':
  Detect bad behavior earlier in Choreographer.
2012-06-12 13:00:40 -07:00
Romain Guy
bc62684f02 am 265888fe: am 6b5caee4: Merge "Prevent crash in WebView when disabling the hw renderer Bug #6596807" into jb-dev
* commit '265888fe6a57d5b77279c97b68cfa25865267e6b':
  Prevent crash in WebView when disabling the hw renderer Bug #6596807
2012-06-12 13:00:28 -07:00
Svetoslav Ganov
23ef5fcff4 am 5d15f40a: am f372e331: Merge "NPE when iterating by character and word in Launcher widgets." into jb-dev
* commit '5d15f40a19be01fa9c5a9674b31b6b18774cbeac':
  NPE when iterating by character and word in Launcher widgets.
2012-06-12 13:00:25 -07:00
Jeff Brown
681f745916 am 7d9a18ee: Merge "resolved conflicts for merge of 926a5c50 to jb-dev-plus-aosp" into jb-dev-plus-aosp
* commit '7d9a18eeb684e87da5a907c96d25da21918119b5':
  Remove edge slop handling from ScaleGestureDetector.
2012-06-12 12:41:11 -07:00
Dianne Hackborn
aabd9c230f Merge "Fix issue #6634325: View.setKeepScreenOn and..." into jb-dev 2012-06-12 10:40:11 -07:00
Dianne Hackborn
9d0908919a Fix issue #6634325: View.setKeepScreenOn and...
...MediaPlayer.setScreenOnWhilePlaying seem broken

We need to correctly clear the keep screen on flag when the view
hierarchy request is gone...  and to do that, we need to keep the
actual state of the flag requested by the app.  Also when the app
changes its state, we need to compute the proper value based on
both the app request and any requests in the view hierarchy.

Bug: 6634325
Change-Id: I060e9a34a10faffbaa77c06098cf21298bb4969f
2012-06-11 18:35: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
Jeff Brown
519e91ef84 Merge "Detect bad behavior earlier in Choreographer." into jb-dev 2012-06-11 15:59:48 -07:00
Jeff Brown
4fdf9c6e2a Detect bad behavior earlier in Choreographer.
Detect wonky vsync timestamps (should they occur) and
warn loudly about them.

Warn when too many frames are skipped.  The threshold is pretty
conservative right now (only warn if at least 30 frames are skipped)
but it can be adjusted using system property.  Even skipping just a
couple of frames is enough to generate noticeable jank.
The threshold is currently intended to help track down bigger problems
such when an app does too much work on the UI thread.

Bug: 6574842
Change-Id: I4aac7e5e17d1fb51adb0510e318a72a28b3775ed
2012-06-11 15:25:48 -07:00
Romain Guy
6b5caee490 Merge "Prevent crash in WebView when disabling the hw renderer Bug #6596807" into jb-dev 2012-06-11 14:15:40 -07:00
Svetoslav Ganov
f372e331e4 Merge "NPE when iterating by character and word in Launcher widgets." into jb-dev 2012-06-11 14:06:29 -07:00
Romain Guy
527ee91b60 Prevent crash in WebView when disabling the hw renderer
Bug #6596807

A crash would occur in the following situation:
- WebView registers a functor with the hardware renderer
- The hardware renderer gets disabled
- WebView attemps to unregister its functor

Unregistering the functor fails because the hardware renderer is now disabled.
When the renderer becomes enabled again, the functor is invoked, which leads
to a native crash.

This change simply allows functors to always be unregistered, even when the
renderer is disabled. A disabled renderer only means that it will not be used
for rendering; as such, unregistering a functor is a valid operation and
should be allowed.

Change-Id: I0ff897a0cca7e048c609033215cd0f7f5c940bcc
2012-06-11 13:24:30 -07:00
Svetoslav Ganov
bbd31559f3 NPE when iterating by character and word in Launcher widgets.
1. The character and word iterators were use the application
   context to keep track of locale changes. However, for widgets
   the context from which the app context is obtained is custom
   created therefore the app context is null and the iterators
   code does not expect that. Now we are caching the locale
   and update it when the configuration changes.

bug:6642281

Change-Id: I3fd201ab9e4efd79e3bdc8afd8ee644e4354a7fb
2012-06-11 12:18:09 -07:00
Jeff Brown
926a5c507b Merge "Remove edge slop handling from ScaleGestureDetector." into jb-dev 2012-06-11 11:46:42 -07:00
Svetoslav Ganov
a656414e94 am 3dbb70ec: am 86bbf705: Merge "Settings crash after enabling TalkBack accessibility." into jb-dev
* commit '3dbb70ec9c593e11dd19efa528a99e9ec21d63e0':
  Settings crash after enabling TalkBack accessibility.
2012-06-10 09:57:18 -07:00
Svetoslav Ganov
3dbb70ec9c am 86bbf705: Merge "Settings crash after enabling TalkBack accessibility." into jb-dev
* commit '86bbf70587602c1fd86fce1a2a4be78da45aaedc':
  Settings crash after enabling TalkBack accessibility.
2012-06-10 09:53:17 -07:00
Jeff Brown
076f17375b Remove edge slop handling from ScaleGestureDetector.
The edge slop code could violate invariants of ScaleGestureDetector,
such as the assumption that if an ACTION_POINTER_DOWN is observed
or if getPointerCount() >= 2, then there must be at least two
active pointers to choose from.  But due to the edge slop handling,
it was possible for findNewActiveIndex to return -1 in this
case, resulting in a crash.

Bug: 6613154
Change-Id: I4e08e38a49ab27dac1be9484e19de086bc43624a
2012-06-08 16:40:01 -07:00
Svetoslav Ganov
ee33ad24cd Settings crash after enabling TalkBack accessibility.
1. AccessibilityInput filter was not checking whether the touch
   explorer instance is not null before passing it an accessibility
   event. If the accessibility event is dispatched before the input
   filter is installed but after it is created we runt into this
   case.

2. Added a missing null check in accessibility node info.

bug:6635089

Change-Id: Ia389dc1f427427eb73794f6331ccb870e0b44c55
2012-06-08 16:09:36 -07:00
Svetoslav Ganov
4210a6f08b am 8114f439: am ddbcce81: Merge "Cannot interact with dialogs when IME is up and on not touch explored popups." into jb-dev
* commit '8114f439fe8b409a00ac704b37128922690e2186':
  Cannot interact with dialogs when IME is up and on not touch explored popups.
2012-06-07 14:00:29 -07:00
Svetoslav Ganov
8114f439fe am ddbcce81: Merge "Cannot interact with dialogs when IME is up and on not touch explored popups." into jb-dev
* commit 'ddbcce81acaa744d35c727d9a530b04255fab5af':
  Cannot interact with dialogs when IME is up and on not touch explored popups.
2012-06-07 13:53:39 -07:00
Svetoslav Ganov
ddbcce81ac Merge "Cannot interact with dialogs when IME is up and on not touch explored popups." into jb-dev 2012-06-07 13:50:58 -07:00
Svetoslav Ganov
86783474fd Cannot interact with dialogs when IME is up and on not touch explored popups.
1. If the last touch explored location is within the active window we
   used to click on exact location if it is within the accessibility
   focus otherwise in the accessibility focus center. If the last touch
   explored location is not within the active window we used to just
   click there. This breaks in the case were one has touch explored
   at a given place in the current window and now a dialog opens *not*
   covering the touch explored location. If one uses swipes to move
   accessibility focus i.e. to traverse the dialog without touching
   it one cannot activate anything because the touch explorer is using
   the last touch explored location that is outside of the active
   window e.g the dialog.

   The solution is to clear the last touch explored location when a
   window opens or accessibility focus moves. If the last touch
   explored location is null we are clicking in the accessibility
   focus location.

bug:6620911

2. There is a bug in the window manager that does not notify a
   window that its location has changed (bug:6623031). This breaks
   accessibility interaction with dialogs that have input because
   when the IME is up the dialog is moved but not notified. Now
   the accessibility layer gets incorrect location for the
   accessibility focus and the window bounds.

   The soluion is when the accessibility manager service calls
   into the remove thress to obtain some accessibility node infos
   it passes the window left and top which it gets from the
   window manager. These values are used to update the attach info
   window left and top so all accessibility node infos emitted
   from that window had correct bounds in screen coordinates.

bug:6620796

Change-Id: I18914f2095c55cfc826acf5277bd94b776bda0c8
2012-06-07 12:02:16 -07:00
Chet Haase
9dc7d19309 am b4b0a7fe: am a1723d18: Merge "Revert "Remove ViewTreeObserver allocations"" into jb-dev
* commit 'b4b0a7fea8735dc7de4bdcfe5e7f065a39ee8e2d':
  Revert "Remove ViewTreeObserver allocations"
2012-06-07 11:34:52 -07:00
Chet Haase
b4b0a7fea8 am a1723d18: Merge "Revert "Remove ViewTreeObserver allocations"" into jb-dev
* commit 'a1723d18662d1316f931a6b4b3ee6ddc42743ee4':
  Revert "Remove ViewTreeObserver allocations"
2012-06-07 11:30:00 -07:00
Chet Haase
a1723d1866 Merge "Revert "Remove ViewTreeObserver allocations"" into jb-dev 2012-06-07 11:27:26 -07:00
Chet Haase
89b8838496 am ca43c961: am 44b2fe3f: Track canvas clearing for swap buffers logic.
* commit 'ca43c96127e9f7cdab8ee70638a2445347eebd08':
  Track canvas clearing for swap buffers logic.
2012-06-07 09:51:07 -07:00
Chet Haase
ca43c96127 am 44b2fe3f: Track canvas clearing for swap buffers logic.
* commit '44b2fe3fc114ee5f7273c6b0fee2cc999bf244a2':
  Track canvas clearing for swap buffers logic.
2012-06-07 09:45:16 -07:00
Chet Haase
0f8ffd8374 Revert "Remove ViewTreeObserver allocations"
This reverts commit b999cc118f.

There was an assumption in this earlier change that observer dispatching could not be
recursive - we could only ever have one iteration on the observer listener list. This
assumption broke down in a specific app, and maybe in more, so reverting the change for now.
We should probably find a way to accomplish the same allocation-minimizing goal without
causing exceptions when violating our assumptions.

Issue #6620795 [Application compatibility] Lufthansa app crashes

Change-Id: I1c1f9ad329c14398feb0e74ce77e1a07111f7d1f
2012-06-07 08:00:49 -07:00
Chet Haase
44b2fe3fc1 Track canvas clearing for swap buffers logic.
A previous fix made it necessary for a frame to render something to GL
in order to cause a call to eglSwapBuffers(). Besides the calls being
tracked as part of issuing a DisplayList, there is also a potential call
to clear the canvas (via glClear()) on non-opaque surfaces. This call is also
good to track, since a surface that gets cleared without any other drawing operations
is worth flipping to the screen (to erase old contents on that surface).

This fix tracks the status of the pre-draw operations to find out whether
glClear() was called and then sets the drawing status appropriately.

Issue #6606422 QuickContact dismissal is janky again (Tracking)

Change-Id: I5fcaccfdc9293dd46b83f2fc279730a5d2740ebf
2012-06-07 06:25:04 -07:00
Chris Craik
4e772cb938 am 6d99a024: am 8f1f714f: Merge "Revert "Add more temporary logging for investigating detachFunctor"" into jb-dev
* commit '6d99a024647ff845179311d611dcf031965ba96d':
  Revert "Add more temporary logging for investigating detachFunctor"
2012-06-06 16:52:16 -07:00
Chris Craik
6d99a02464 am 8f1f714f: Merge "Revert "Add more temporary logging for investigating detachFunctor"" into jb-dev
* commit '8f1f714f831bf8bf10f94211c42e36ef2851810d':
  Revert "Add more temporary logging for investigating detachFunctor"
2012-06-06 16:47:57 -07:00
Chris Craik
8f1f714f83 Merge "Revert "Add more temporary logging for investigating detachFunctor"" into jb-dev 2012-06-06 16:45:04 -07:00
Chris Craik
932b7f6765 Revert "Add more temporary logging for investigating detachFunctor"
bug:6608646

This reverts commit 8857b2f76a

Change-Id: I1563b5974c52b84201ae448298f804eb0dcc235d
2012-06-06 14:02:55 -07:00
Svetoslav Ganov
5fccbbebdf am cf27a374: am 538252cd: Merge "Removing leftover code to sync accessibility and input focus." into jb-dev
* commit 'cf27a3743941d9ccb1d20a294085819049fac028':
  Removing leftover code to sync accessibility and input focus.
2012-06-06 11:02:13 -07:00
Svetoslav Ganov
cf27a37439 am 538252cd: Merge "Removing leftover code to sync accessibility and input focus." into jb-dev
* commit '538252cd37945612a4761ff03d87022d56e33b96':
  Removing leftover code to sync accessibility and input focus.
2012-06-06 10:57:50 -07:00
Svetoslav Ganov
538252cd37 Merge "Removing leftover code to sync accessibility and input focus." into jb-dev 2012-06-06 10:55:12 -07:00
Svetoslav Ganov
462a7284b5 Removing leftover code to sync accessibility and input focus.
1. We have decided to let the accessibility services take care
   for syncing accessibility and input focus. Some apps may
   move input focus when a given view takes input focus which
   dragging accessibility focus can lead to a loop in the
   focus traversal. This change removes some leftover sync
   code.

bug:6616861

Change-Id: I57cb44e315a386d13596794d3767b559e9ee3d99
2012-06-05 21:10:04 -07:00
Adam Powell
b85afc25d5 resolved conflicts for merge of 1178569b to master
Change-Id: If2bb6ccaee99bcf199cd93f24eba217fe6ff485e
2012-06-05 20:08:41 -07:00
Adam Powell
1178569b26 am f6452d0c: Merge "More fun with MediaRouter" into jb-dev
* commit 'f6452d0cac64b72005af330411b5a895f0038312':
  More fun with MediaRouter
2012-06-05 19:29:57 -07:00
Adam Powell
f6452d0cac Merge "More fun with MediaRouter" into jb-dev 2012-06-05 19:27:49 -07:00
Adam Powell
690ffb4e1f More fun with MediaRouter
Add action provider, button, and styles. Extend ActionProvider to
allow for getting references to MenuItem instances.

Implement toggle mode for the MediaRouteButton/ActionProvider. Dialog
selection yet to come.

Change-Id: Ibe3188570f503bbf8dd00cf154663435656a7171
2012-06-05 19:15:57 -07:00
Svetoslav Ganov
7510230583 am f1abc425: am cab5b8a9: Merge "Nodes with contentDescription should always be important for accessibility." into jb-dev
* commit 'f1abc4253111907ffb8e5ba19dffa8d00d92fc45':
  Nodes with contentDescription should always be important for accessibility.
2012-06-05 16:02:17 -07:00
Svetoslav Ganov
f1abc42531 am cab5b8a9: Merge "Nodes with contentDescription should always be important for accessibility." into jb-dev
* commit 'cab5b8a91d6fbcbb694284038f5529ff02f10f78':
  Nodes with contentDescription should always be important for accessibility.
2012-06-05 15:57:25 -07:00
Svetoslav Ganov
cab5b8a91d Merge "Nodes with contentDescription should always be important for accessibility." into jb-dev 2012-06-05 15:55:42 -07:00
Svetoslav Ganov
e47957a0bb Nodes with contentDescription should always be important for accessibility.
1. Now after setting the content description on a view we mark is as
   important for accessibility of the current important for accessibility
   mode of that view is auto.

2. Minor tweak to a touch explorer coefficient to make performing double
   tapping easier.

bug:6615353

Change-Id: I3b477f533a3ebde85d425caf32ace5e851240f88
2012-06-05 14:48:58 -07:00
Chris Craik
3683fe8328 am 34e5f5a5: am 3676b137: Merge "Add more temporary logging for investigating detachFunctor" into jb-dev
* commit '34e5f5a534d915f253ae51cbcfe15c12e25a78a4':
  Add more temporary logging for investigating detachFunctor
2012-06-05 12:35:24 -07:00