Commit Graph

4539 Commits

Author SHA1 Message Date
Romain Guy
6080940411 Merge "Add PerfHUD ES profiling capabilities" 2013-05-23 19:50:58 +00:00
Romain Guy
e9bc11f712 Add PerfHUD ES profiling capabilities
The eglGetSystemTimeNV extension can be used to enable profiling
in PerfHUD ES. When the delta of two calls to eglGetSystemTimeNV
equals 0, we now cancels display lists updates. This allows the
tool to redraw the same frame several times in a row to run its
analysis.

For better results profiling should only be attempted after
setting viewroot.profile_rendering to true using adb shell
setprop.

Change-Id: I02e3c237418004cff8d6cb0b9a37126efae44c90
2013-05-23 12:50:13 -07:00
Romain Guy
0c63d7c239 am 469cc57c: am 2f35d244: Merge "Avoid extraneous EGL surface allocations Bug #8667873" into jb-mr2-dev
* commit '469cc57ca77687420246dd679e94eb242fcec41d':
  Avoid extraneous EGL surface allocations Bug #8667873
2013-05-21 19:12:50 -07:00
Romain Guy
469cc57ca7 am 2f35d244: Merge "Avoid extraneous EGL surface allocations Bug #8667873" into jb-mr2-dev
* commit '2f35d2441e59b996a56653881fdc2f52d4eeb644':
  Avoid extraneous EGL surface allocations Bug #8667873
2013-05-21 19:11:16 -07:00
Romain Guy
2f35d2441e Merge "Avoid extraneous EGL surface allocations Bug #8667873" into jb-mr2-dev 2013-05-22 02:08:24 +00:00
Romain Guy
370ab062a0 Avoid extraneous EGL surface allocations
Bug #8667873

windowShouldResize means we need to layout the window, it doesn't mean
the dimensions of the surface have changed. We should only check the
width and the height. With this fix we can avoid a surface allocation
every time the window shade is opened or closed.

Change-Id: I8afe97b820a865723f2aab7a5aa4ddc8eaaec6e1
2013-05-21 12:15:07 -07:00
Romain Guy
49f2e4098d Merge "Destroy display lists when running complete memory trims Bug #8833153" 2013-05-21 18:25:14 +00:00
Romain Guy
779321fde1 Destroy display lists when running complete memory trims
Bug #8833153

Display lists ops might now keep references to GL resources so they
must be destroyed when the EGL context goes away.

Change-Id: I0feb18f5539b345234a58dafa6f0775d7d7460dc
2013-05-20 16:23:34 -07:00
Svetoslav Ganov
f1cfdcee27 am 5315953b: am 78a4630e: Merge "Taking into account data change for AbsListView when prefetching node infos." into jb-mr2-dev
* commit '5315953b86ee7ca29756504535e124b053286623':
  Taking into account data change for AbsListView when prefetching node infos.
2013-05-20 15:46:18 -07:00
Svetoslav Ganov
5315953b86 am 78a4630e: Merge "Taking into account data change for AbsListView when prefetching node infos." into jb-mr2-dev
* commit '78a4630edaa11846b09bdad84bac18a0441c500a':
  Taking into account data change for AbsListView when prefetching node infos.
2013-05-20 15:43:36 -07:00
Svetoslav Ganov
78a4630eda Merge "Taking into account data change for AbsListView when prefetching node infos." into jb-mr2-dev 2013-05-20 22:41:28 +00:00
Chet Haase
4e239aeed3 am e8d6dc4c: am 865cffc7: Merge "Add null check in ViewOverlay" into jb-mr2-dev
* commit 'e8d6dc4cad65c8c29c365d71d2255eb637581fdb':
  Add null check in ViewOverlay
2013-05-20 13:44:59 -07:00
Chet Haase
e8d6dc4cad am 865cffc7: Merge "Add null check in ViewOverlay" into jb-mr2-dev
* commit '865cffc7cece8f10a9e6aab1e89a92c8794cb279':
  Add null check in ViewOverlay
2013-05-20 13:43:36 -07:00
Chet Haase
d8b0b23324 Add null check in ViewOverlay
View.getOverlay().clear() can failed with an NPE if there are
no drawables in the overlay. Fix: add a null check before dereferencing
the mDrawables field.

Issue #8895794 getOverlay.clear() crashes if drawables were not added previously

Change-Id: I9b2a63036450915681ba3a89a0911e2490063702
2013-05-20 07:57:02 -07:00
Svetoslav Ganov
50776863a2 Taking into account data change for AbsListView when prefetching node infos.
We are prefetching accessibility node infos to minimize the number of IPC
calls when an accessibility service introspects the screen. It is however,
possible that the view we are prefetching is a child of an AbsListView whose
adapter changed its data but the AbsListView still did not perform a layout
pass to sync its children with the new adapter state. This may lead to an
exeption when trying to query for the state of a child's position. If the
data of the adapter is changed and the layout pass still not performed,
we return null for the AbsLIstView's children. When the layout pass
completes we already notify the accessibliity layer so it will be able to
refetch the children of the AbsListView.

bug:8433433

Change-Id: I56313c721aef3848b15fad50027d068ba1d291f7
2013-05-17 18:36:57 -07:00
Romain Guy
aa29a97f6d Clear display lists when a View becomes GONE/INVISIBLE
We force an invalidate whenever a View becomes VISIBLE so there is
no need to keep the display list object while the view is either
GONE or INVISIBLE. In particular this clears the lists of references
kept by GLES20DisplayList, which helps the GC free large objects
such as Bitmaps.

Change-Id: Ifde0cb40baa1f35e5e6439d3bf8eab3c4c1270f0
2013-05-17 17:07:47 -07:00
Chet Haase
f27796cbbe am 944a8725: am bee0495f: Merge "Dirty rect must expand, not contract." into jb-mr2-dev
* commit '944a8725e6e2ccb310c9515c9067f995c034b724':
  Dirty rect must expand, not contract.
2013-05-15 13:49:48 -07:00
Chet Haase
944a8725e6 am bee0495f: Merge "Dirty rect must expand, not contract." into jb-mr2-dev
* commit 'bee0495fa17b7e385d880f18e510e295c000cfa9':
  Dirty rect must expand, not contract.
2013-05-15 13:35:09 -07:00
Chet Haase
5495c72612 Dirty rect must expand, not contract.
Different devices have different precision, leading to different pixels
being touched during rendering operations. We need to ensure that the
dirty rect we draw with (and which gets erased on the following frame)
encompasses all possible pixels instead of some ideal rounded rectangle.

The bug from this code led to dropped-pixels artifacts on some devices,
where we'd scale a view, drawing it into some pixels, then invalidate
that same area on the next frame, but the invalidation rectangle didn't
cover the same pixels as the device drew into.

The fix is to floor() the left/top pixels and ceil() the right/bottom
pixels of the transformed invalidation rectangle.

Issue #8971348 dropped pixel artifacts during some scaling operations

Change-Id: Iedb1afd5621dff43bf7a3919bdbd8d2251647fd2
2013-05-14 21:19:48 -07:00
Svetoslav
06ccc77f48 am 80127981: am c0a979ce: Merge "Fixing the accessibility text traversal in extend mode." into jb-mr2-dev
* commit '80127981f85a0be842007596830c1675a9a3665e':
  Fixing the accessibility text traversal in extend mode.
2013-05-14 11:09:35 -07:00
Svetoslav
80127981f8 am c0a979ce: Merge "Fixing the accessibility text traversal in extend mode." into jb-mr2-dev
* commit 'c0a979ce30cf9b96c0a84d0679aeeef7153a22fa':
  Fixing the accessibility text traversal in extend mode.
2013-05-14 11:07:08 -07:00
Svetoslav
c0a979ce30 Merge "Fixing the accessibility text traversal in extend mode." into jb-mr2-dev 2013-05-14 17:39:36 +00:00
John Spurlock
04db1762fb Window manager cleanup.
Specifically:
 - Fix policy vs wm lock management issues.
 - Share runnable to avoid allocation.
 - Remove unused noop runnable.
 - Make sure to handle status bar = null case.
 - Fix javadoc typo.

Bug: 8890313
Change-Id: I242eaef8e946025f6885d6dba3225722fb0ca7ce
2013-05-13 17:24:24 -04:00
Kristian Monsen
155d965ab0 am 3d1edc03: am 6e7ed13b: Merge "Fix for bug 8623163: Call view methods on the UI thread" into jb-mr2-dev
* commit '3d1edc033ff00430e1f8118cd871d9996b7172a1':
  Fix for bug 8623163: Call view methods on the UI thread
2013-05-13 02:34:39 -07:00
Kristian Monsen
3d1edc033f am 6e7ed13b: Merge "Fix for bug 8623163: Call view methods on the UI thread" into jb-mr2-dev
* commit '6e7ed13b12edc9e02580a273c3aa546e62231b5a':
  Fix for bug 8623163: Call view methods on the UI thread
2013-05-13 02:33:01 -07:00
Kristian Monsen
6e7ed13b12 Merge "Fix for bug 8623163: Call view methods on the UI thread" into jb-mr2-dev 2013-05-13 09:30:07 +00:00
Svetoslav
abad55d860 Fixing the accessibility text traversal in extend mode.
We added APIs to allow an accessibility service to extend the
selection while moving the cursor at a given granularity such
as word, character, etc. The problem is that the traversal was
extending only the end of the selection while moving forward
and the start of the selection while moving backward. This leads
to a case in which the user cannot shrink/extend the selection
because for example instead of shrinking the end of the selection
the implementation was extending the start.

Now extending the selection moves only the selection end. This is
the same behavior as text view using a keyboard.

Tests: https://googleplex-android-review.googlesource.com/#/c/307062

bug:8839844

Change-Id: Id6965b102647df909f61301fcc8ec05458dd5881
2013-05-10 20:14:40 -07:00
Craig Mautner
e555d16421 am c3797f40: am 4754f401: Merge "Avoid NullPointerException in getHandler()"
* commit 'c3797f40c1a8a8f7ca72816642110221933ff8fd':
  Avoid NullPointerException in getHandler()
2013-05-10 15:17:00 -07:00
Svetoslav
6f3a6a453a am 1e4c6589: am b3c2b21b: Merge "Accessibility should not query for list items when data set changed." into jb-mr2-dev
* commit '1e4c6589941e459871eed6e9d4675b05d977325c':
  Accessibility should not query for list items when data set changed.
2013-05-10 15:16:57 -07:00
Craig Mautner
c3797f40c1 am 4754f401: Merge "Avoid NullPointerException in getHandler()"
* commit '4754f401a912305e1ceec04b62ad9b9f7d3c2ff6':
  Avoid NullPointerException in getHandler()
2013-05-10 13:34:23 -07:00
Svetoslav
1e4c658994 am b3c2b21b: Merge "Accessibility should not query for list items when data set changed." into jb-mr2-dev
* commit 'b3c2b21b5ba30d82938ae2ef93d8120f5fd0cc80':
  Accessibility should not query for list items when data set changed.
2013-05-10 13:10:41 -07:00
Svetoslav
b3c2b21b5b Merge "Accessibility should not query for list items when data set changed." into jb-mr2-dev 2013-05-10 20:06:42 +00:00
Chet Haase
2d4edcf2e1 am a9d5adea: am fb32c824: Merge "Fix start delay jank in ViewPropertyAnimator" into jb-mr2-dev
* commit 'a9d5adea9e9676d19b7a50ce3d6c673c16ee7a6d':
  Fix start delay jank in ViewPropertyAnimator
2013-05-09 16:28:33 -07:00
Chet Haase
a9d5adea9e am fb32c824: Merge "Fix start delay jank in ViewPropertyAnimator" into jb-mr2-dev
* commit 'fb32c82412111983236f44cbc8fd90f113d7ea34':
  Fix start delay jank in ViewPropertyAnimator
2013-05-09 16:23:29 -07:00
Chet Haase
fb32c82412 Merge "Fix start delay jank in ViewPropertyAnimator" into jb-mr2-dev 2013-05-09 22:09:18 +00:00
Chet Haase
dcfbd6a2c9 Fix start delay jank in ViewPropertyAnimator
Issue #8892620 start delay jank in ViewPropertyAnimator

Change-Id: I17a57ac3351fb2c1516b594d135aa9ce9f78c88e
2013-05-09 14:40:21 -07:00
John Spurlock
68fcaa2c0b Merge "Navigation hideybar via new system ui opt-in flag." 2013-05-09 13:39:24 +00:00
Michael Jurka
82f92ee5bd am 7741b63c: am 6dee0a0f: Merge "Fix bug where thumbnails flashed more often in Recents" into jb-mr2-dev
* commit '7741b63c5a8e14b5123c4b735dc768cf55fa2ed5':
  Fix bug where thumbnails flashed more often in Recents
2013-05-08 15:05:18 -07:00
Fabrice Di Meglio
8be78240f3 am 6eb036e7: am 366b97ba: Merge "Fix bug #8839681 Reversed Textbox focus order on RTL and android:imeOptions="flagNoExtractUi"" into jb-mr2-dev
* commit '6eb036e7894758bcc357fc282070aa8677227ce1':
  Fix bug #8839681 Reversed Textbox focus order on RTL and android:imeOptions="flagNoExtractUi"
2013-05-08 15:04:33 -07:00
Alan Viverette
5e6fbf2694 am fa4c935e: am 239a0c0e: Ensure ViewRootImpl.setAccessibilityFocus() doesn\'t crash when reentrant.
* commit 'fa4c935edcfa09bb53a3aac411a285842a00ddee':
  Ensure ViewRootImpl.setAccessibilityFocus() doesn't crash when reentrant.
2013-05-08 15:03:49 -07:00
Svetoslav
5b578daac9 Accessibility should not query for list items when data set changed.
AbsListView is backed by an adapter. After the adapter data changes
the view sets a flag that its state is dirty and requests a layout.
If an accessibility service asks for the state of a list item at
this point, it may incur an error since the views and the adapter
are not in sync.

Now if an accessibility service queries for a list item when the
data set is changed and the item views are dirty, we pretend the
children do not exist. After the layout happens, we notify the
accessibility layer that the screen content changed so it can
refetch the views if desired (this notification mechanism is
already in place in AbsListView#handleDataChanged()).

bug:8433433

Change-Id: I4287a0ac2ef6bb33f1f988d5ddad973556c305ca
2013-05-08 14:23:38 -07:00
Michael Jurka
7741b63c5a am 6dee0a0f: Merge "Fix bug where thumbnails flashed more often in Recents" into jb-mr2-dev
* commit '6dee0a0fe68096a6714b7d570241f61e4d6ea20a':
  Fix bug where thumbnails flashed more often in Recents
2013-05-08 14:10:44 -07:00
Michael Jurka
f42d9010f1 Fix bug where thumbnails flashed more often in Recents
Bug: 8867698

Change-Id: I2773601d83507dbb55c3a1d0b723e3853e22d352
2013-05-08 20:48:36 +02:00
Fabrice Di Meglio
6eb036e789 am 366b97ba: Merge "Fix bug #8839681 Reversed Textbox focus order on RTL and android:imeOptions="flagNoExtractUi"" into jb-mr2-dev
* commit '366b97ba25de237c42c815c5e8ca36303ce104df':
  Fix bug #8839681 Reversed Textbox focus order on RTL and android:imeOptions="flagNoExtractUi"
2013-05-08 11:17:25 -07:00
Fabrice Di Meglio
366b97ba25 Merge "Fix bug #8839681 Reversed Textbox focus order on RTL and android:imeOptions="flagNoExtractUi"" into jb-mr2-dev 2013-05-08 17:56:17 +00:00
John Spurlock
ad3e6cb4db Navigation hideybar via new system ui opt-in flag.
Apps using SYSTEM_UI_FLAG_HIDE_NAVIGATION to hide the nav bar
or SYSTEM_UI_FLAG_FULLSCREEN to hide the status bar can now
opt into hideybars by also using a new public sysui flag:
  View.SYSTEM_UI_FLAG_ALLOW_OVERLAY

When opting in, apps accept the fact that bars can be overlayed
over their content, but gain the ability to use the entire gesture
space - something that was not possible before, particularly when
hiding the nav bar.

Swiping from the nav bar edge of the screen will reveal the new hidey
version of the nav bar, if applicable.

Bug: 8682181
Change-Id: I6405bee50e6516667ba6b9a62d4f1e43490b5562
2013-05-08 12:22:16 -04:00
Alan Viverette
fa4c935edc am 239a0c0e: Ensure ViewRootImpl.setAccessibilityFocus() doesn\'t crash when reentrant.
* commit '239a0c0e6a6fc36025fdb1c662e1c7acaec144bb':
  Ensure ViewRootImpl.setAccessibilityFocus() doesn't crash when reentrant.
2013-05-07 17:43:18 -07:00
Alan Viverette
239a0c0e6a Ensure ViewRootImpl.setAccessibilityFocus() doesn't crash when reentrant.
Internal state must be cleared before calling any methods on the focus
host, since the method may be called again from the host and attempt to
recycle the same AccessibilityNodeInfo twice.

BUG: 8856860
Change-Id: I0410989fd6f3ce3ce29de8edebdfbf3847188843
2013-05-07 17:17:35 -07:00
Fabrice Di Meglio
3167c88c2c Fix bug #8839681 Reversed Textbox focus order on RTL and android:imeOptions="flagNoExtractUi"
- make SequentialFocusComparator RTL-aware

Change-Id: I3d9cc81f777d16933a8e1b69f8ed63efa5be0925
2013-05-07 15:46:22 -07:00
Romain Guy
fd06074c68 am c4818d86: am 4c95c537: Merge "Optimize list view scrolls Bug #8108706" into jb-mr2-dev
* commit 'c4818d860b90813bde082c381de933933abc574c':
  Optimize list view scrolls Bug #8108706
2013-05-07 10:25:20 -07:00