Commit Graph

4114 Commits

Author SHA1 Message Date
Romain Guy
da805b149f am c5801680: Merge "Tag HardwareRenderers with a name to help debugging"
# Via Android (Google) Code Review (1) and Romain Guy (1)
* commit 'c580168011334db756f5e68aa005d20bace69171':
  Tag HardwareRenderers with a name to help debugging
2013-01-31 23:06:13 -08:00
Romain Guy
ef35927abc Tag HardwareRenderers with a name to help debugging
The name of the renderer is the same as the window it belongs to.

Change-Id: Ie9adc0a1978afa026923ea41f5540eda6ba65a92
2013-01-31 19:07:29 -08:00
Svetoslav
5a2f6bee86 am f48a2d30: Merge "Add accessibility actions for text editing."
# Via Android (Google) Code Review (1) and Svetoslav (1)
* commit 'f48a2d30c5d5f7c167310ff9ca1cd2310121be7c':
  Add accessibility actions for text editing.
2013-01-30 23:55:44 -08:00
Svetoslav
f48a2d30c5 Merge "Add accessibility actions for text editing." 2013-01-31 07:53:43 +00:00
Svetoslav
7c51284d80 Add accessibility actions for text editing.
Currently text editing is pretty hard (certain operations even
impossible) for a blind person. To address the issue this change
adds APIs that enable an accessibility service to perform basic
text editing operations such as copy, paste, cut, set selection,
extend selection while moving at a given granularity.

The new APIs enable an accessibility service to expose a gesture
driven efficient text editing facility.

bug:8098384

Change-Id: I82b200138a3fdf4c0c316b774fc08a096ced29d0
2013-01-30 23:47:17 -08:00
Derek Sollenberger
2dbd185fd0 resolved conflicts for merge of c93c6aa5 to master-chromium
Change-Id: I51429ed5359355025f873ccab11bfabbbe772a46
2013-01-30 14:32:29 -05:00
Chris Craik
c93c6aa555 Merge "Object-based DisplayList recording" 2013-01-30 18:42:56 +00:00
Satoshi Kataoka
fc14e1c7a2 am da01da17: Merge "Do not turn on imes unexpectedly with unit tests"
# Via Android (Google) Code Review (1) and Satoshi Kataoka (1)
* commit 'da01da176d4798d293c90d6280ddc59c780baaa3':
  Do not turn on imes unexpectedly with unit tests
2013-01-29 18:45:36 -08:00
Satoshi Kataoka
da01da176d Merge "Do not turn on imes unexpectedly with unit tests" 2013-01-30 02:41:47 +00:00
Michael Wright
414297828c am 8c47e856: Merge "Changes documention for how input buttons should be labelled"
# Via Android (Google) Code Review (1) and Michael Wright (1)
* commit '8c47e856b067057b5fcbb6eccfc79d1da4cff8f1':
  Changes documention for how input buttons should be labelled
2013-01-29 11:18:31 -08:00
Michael Wright
8c47e856b0 Merge "Changes documention for how input buttons should be labelled" 2013-01-29 19:09:09 +00:00
Svetoslav
e1c4b5c64d am e340e68f: Merge "Update JavaDoc"
# Via Android (Google) Code Review (1) and Svetoslav (1)
* commit 'e340e68f1fe9c539606ad1ec2b76a3edb8f835bd':
  Update JavaDoc
2013-01-29 03:26:29 -08:00
Svetoslav
14ff996ce8 Update JavaDoc
Change-Id: I9644677eb715de1c4ba2f1608b38980f02bdf75d
2013-01-29 03:21:37 -08:00
Guang Zhu
cf55195281 am 6b30ba86: fix the build
# Via Guang Zhu
* commit '6b30ba86a4bfdbe5d87fed29720c4b4431d3685b':
  fix the build
2013-01-29 00:45:26 -08:00
Guang Zhu
6b30ba86a4 fix the build
broken docs

Change-Id: I802d33c8ef2147adf36a495145a615cb206b9936
2013-01-29 00:36:42 -08:00
Michael Wright
6b57bde221 Changes documention for how input buttons should be labelled
Change-Id: I7920d1359950f04a3eb63c36abbcc3d54faac068
2013-01-28 20:37:03 -08:00
Svetoslav Ganov
984019868a am d0fd5464: Merge "Adding UI test automation APIs."
# Via Android (Google) Code Review (1) and Svetoslav (1)
* commit 'd0fd54648ca6249f56cf469c57181b5a7bbb71d0':
  Adding UI test automation APIs.
2013-01-28 19:23:22 -08:00
Svetoslav Ganov
d0fd54648c Merge "Adding UI test automation APIs." 2013-01-29 03:16:40 +00:00
Romain Guy
55dccf3e98 am 29e4aa7a: Merge "Reinitialize hardware renderer after eglTerminate() Bug #8066455"
# Via Android (Google) Code Review (1) and Romain Guy (1)
* commit '29e4aa7abe6b0c62f31fb23b8572cd5b91f08f5c':
  Reinitialize hardware renderer after eglTerminate() Bug #8066455
2013-01-28 14:10:16 -08:00
Romain Guy
3696779bca Reinitialize hardware renderer after eglTerminate()
Bug #8066455

ViewRootImpl was properly detecting that the renderer was not
ready to draw but would simply schedule another frame, thus sending
the systemui into an inifite redraw loop. This change reinitializes
the renderer if needed (if the renderer is requested but not enabled.)

This CL also fixes an issue caused by the default wallpaper. Since it
never calls eglTerminate(), managed contexts are never reclaimed.

Change-Id: Idb8caa672be8ee35f6e6a7e942d9abd8aa100967
2013-01-28 14:04:07 -08:00
Siva Velusamy
bc0ed2ce8b am a6a5c8f6: Merge "Support invoking view methods from hierarchy viewer"
# Via Android (Google) Code Review (1) and Siva Velusamy (1)
* commit 'a6a5c8f6b66c0750a28d2ad9cba18d0c730c4393':
  Support invoking view methods from hierarchy viewer
2013-01-28 10:12:04 -08:00
Siva Velusamy
a6a5c8f6b6 Merge "Support invoking view methods from hierarchy viewer" 2013-01-28 18:03:35 +00:00
Satoshi Kataoka
f1367b7e90 Do not turn on imes unexpectedly with unit tests
Bug: 7872918

Change-Id: Ie1d74c9fac27de140e7aa85f2eaefcb89aa06ea7
2013-01-28 19:25:55 +09:00
Dianne Hackborn
7af76f20cd am d8ba6cc9: Merge "Add new API to propagate contextual data to the assist action"
# Via Android (Google) Code Review (1) and Dianne Hackborn (1)
* commit 'd8ba6cc9217e2e042106870e9d2e70cfd80426d6':
  Add new API to propagate contextual data to the assist action
2013-01-23 14:51:07 -08:00
Dianne Hackborn
f9c5e0fe83 Add new API to propagate contextual data to the assist action
When launching an assist, we have a new API allowing the
current foreground activity/application to provide additional
arbitrary contextual information that is stuffed in the
assist intent before it is launched.

Change-Id: I0b2a6f5a266dc42cc0175327fa76774f814af3b4
2013-01-23 14:39:13 -08:00
Svetoslav Ganov
80943d8daa Adding UI test automation APIs.
This change adds APIs support for implementing UI tests. Such tests do
not rely on internal application structure and can span across application
boundaries. UI automation APIs are encapsulated in the UiAutomation object
that is provided by an Instrumentation object. It is initialized by the
system and can be used for both introspecting the screen and performing
interactions simulating a user. UI test are normal instrumentation tests
and are executed on the device.

UiAutomation uses the accessibility APIs to introspect the screen and
a special delegate object to perform privileged operations such as
injecting input events. Since instrumentation tests are invoked by a shell
command, the shell program launching the tests creates a delegate object and
passes it as an argument to started instrumentation. This delegate
allows the APK that runs the tests to access some privileged operations
protected by a signature level permissions which are explicitly granted
to the shell user.

The UiAutomation object also supports running tests in the legacy way
where the tests are run as a Java shell program. This enables existing
UiAutomator tests to keep working while the new ones should be implemented
using the new APIs. The UiAutomation object exposes lower level APIs which
allow simulation of arbitrary user interactions and writing complete UI test
cases. Clients, such as UiAutomator, are encouraged to implement higher-
level APIs which minimize development effort and can be used as a helper
library by the test developer.

The benefit of this change is decoupling UiAutomator from the system
since the former was calling hidden APIs which required that it is
bundled in the system image. This prevented UiAutomator from being
evolved separately from the system. Also UiAutomator was creating
additional API surface in the system image. Another benefit of the new
design is that now test cases have access to a context and can use
public platform APIs in addition to the UiAutomator ones. Further,
third-parties can develop their own higher level test APIs on top
of the lower level ones exposes by UiAutomation.

bug:8028258

Also this change adds the fully qualified resource name of the view's
id in the emitted AccessibilityNodeInfo if a special flag is set while
configuring the accessibility service. Also added is API for looking
up node infos by this id. The id resource name is relatively more stable
compared to the generaed id number which may change from one build to
another. This API facilitate reuing the already defined ids for UI
automation.

bug:7678973

Change-Id: I589ad14790320dec8a33095953926c2a2dd0228b
2013-01-22 17:56:53 -08:00
Siva Velusamy
f9455fafb6 Support invoking view methods from hierarchy viewer
This CL adds support for invoking any view method with
primtive arguments, and setting layout parameters from
the debugger (hierarchy viewer).

requestLayout() and invalidate() are now just implemented
using the more generic invokeMethod() command.

Change-Id: Icffda251728a4963b35266786b0b6143bae7fe8e
2013-01-22 17:25:46 -08:00
Chris Craik
2af4635e4a Object-based DisplayList recording
bug:8037003

Changes the DisplayList from using stream read/write commands to use an array of
objects manually allocated on a linear buffer.

Depends on frameworks/native change https://googleplex-android-review.googlesource.com/#/c/257695/ which adds LinearAllocator

Also changes drawRects to use float count instead of rect count, to be more like drawLines/drawPoints

Change-Id: Ia2e4a11acd8f0a757042a05cbc9e7563cb73ee47
2013-01-22 13:47:03 -08:00
Dake Gu
ef1215d98b am ebf7c743: am 85a06152: am fe88f1be: Merge "Fix bug of SimulatedTrackball" into jb-mr1-aah-dev
* commit 'ebf7c74361baefb826591bd90cdacd9244a2eb59':
  Fix bug of SimulatedTrackball
2013-01-18 14:08:22 -08:00
Dake Gu
ebf7c74361 am 85a06152: am fe88f1be: Merge "Fix bug of SimulatedTrackball" into jb-mr1-aah-dev
* commit '85a06152ce9b7d3a198639eb1918a9c2a3fd34d4':
  Fix bug of SimulatedTrackball
2013-01-18 14:01:57 -08:00
Dake Gu
85a06152ce am fe88f1be: Merge "Fix bug of SimulatedTrackball" into jb-mr1-aah-dev
* commit 'fe88f1be3d197987a874f6c29fefdeb11db183f6':
  Fix bug of SimulatedTrackball
2013-01-18 13:26:02 -08:00
Dake Gu
f8739b992f Fix bug of SimulatedTrackball
Simulated trackball should not generate KeyEvent if dispatchGenericMotionEvent
returns true

b/8022205

Change-Id: I1857e25407c508c98ef4db85fe146b1e25a0803e
2013-01-17 18:15:44 -08:00
Romain Guy
e9a983b444 am b12db26f: Merge "Implement clipRect with a transform, clipRegion & clipPath Bug #7146141"
* commit 'b12db26fec178794915d819c3dd64f13d788c461':
  Implement clipRect with a transform, clipRegion & clipPath Bug #7146141
2013-01-17 15:50:17 -08:00
Romain Guy
8ce00301a0 Implement clipRect with a transform, clipRegion & clipPath
Bug #7146141

When non-rectangular clipping occurs in a layer the render buffer
used as the stencil buffer is not cached. If this happens on a
View's hardware layer the render buffer will live for as long
as the layer is bound to the view. When a stencil buffer is
required because of a call to Canvas.saveLayer() it will be allocated
on every frame. A future change will address this problem.

If "show GPU overdraw" is enabled, non-rectangular clips are not
supported anymore and we fall back to rectangular clips instead.
This is a limitation imposed by OpenGL ES that cannot be worked
around at this time.

This change also improves the Matrix4 implementation to easily
detect when a rect remains a rect after transform.

Change-Id: I0e69fb901792d38bc0c4ca1bf9fdb02d7db415b9
2013-01-17 15:39:31 -08:00
Siva Velusamy
0e4a842732 am 281184fb: Merge "Support hierarchy viewer commands via DDM"
* commit '281184fb86a1866b3e8f8a0d8b38a1aa934849dc':
  Support hierarchy viewer commands via DDM
2013-01-16 14:26:05 -08:00
Siva Velusamy
281184fb86 Merge "Support hierarchy viewer commands via DDM" 2013-01-16 22:23:55 +00:00
Siva Velusamy
945bfb6068 Support hierarchy viewer commands via DDM
Hierarchy Viewer currently interfaces to the host via a socket
opened by ViewServer which resides in the WindowManagerService.
Since this has access to all windows, it is enabled only on
debug builds.

This CL adds necessary support to DDM to handle all the commands
required for Hierarchy Viewer. It only misses two commands that
are sent to the Window Manager (which we don't have access to
from the applications).

A future CL will remove the ViewServer functionality.

Change-Id: I1dae316a00737b0cae4e640ccc97bf9bb1d05973
2013-01-16 09:13:06 -08:00
Romain Guy
616a87736d am 61840eb0: Merge "Preliminary Support for region clipping"
* commit '61840eb03882e1a964ae971725bd21229c3db42c':
  Preliminary Support for region clipping
2013-01-15 10:28:01 -08:00
Romain Guy
61840eb038 Merge "Preliminary Support for region clipping" 2013-01-15 10:25:00 -08:00
Jeff Brown
31ea5707fa am 9afb2e1a: Optimize focused input event dispatch in view root. DO NOT MERGE
* commit '9afb2e1a95b92d5dfb0612bbb606a09aa528ee5d':
  Optimize focused input event dispatch in view root. DO NOT MERGE
2013-01-14 17:26:22 -08:00
Jeff Brown
9afb2e1a95 Optimize focused input event dispatch in view root. DO NOT MERGE
The efficiency of key, trackball and generic motion event
dispatch is greatly influenced by the IME dispatch cycle.
This change simplifies the dispatch of focused input events
and avoids causing event processing to be requeued on the
handler and delayed unnecessarily.

Bug: 7984576
Change-Id: Id82624a3f32c05efe6ee5c322bd55bf2ab21525d
2013-01-14 15:55:35 -08:00
Jeff Brown
b2e6538c59 am 22a94cb0: Merge "Optimize focused input event dispatch in view root."
* commit '22a94cb03ad39c5256608e4954fe4e85179d9ed6':
  Optimize focused input event dispatch in view root.
2013-01-14 15:46:16 -08:00
Jeff Brown
22a94cb03a Merge "Optimize focused input event dispatch in view root." 2013-01-14 15:44:08 -08:00
Jeff Brown
29c0ed2c13 Optimize focused input event dispatch in view root.
The efficiency of key, trackball and generic motion event
dispatch is greatly influenced by the IME dispatch cycle.
This change simplifies the dispatch of focused input events
and avoids causing event processing to be requeued on the
handler and delayed unnecessarily.

Bug: 7984576
Change-Id: Id82624a3f32c05efe6ee5c322bd55bf2ab21525d
2013-01-14 15:31:36 -08:00
Romain Guy
735738c4dd Preliminary Support for region clipping
Region clipping, using Canvas.clipPath or Canvas.clipRegion, requires
a stencil buffer to be always present. In addition, extra wiring is
required in JNI and display lists.

This change only adds the necessary JNI/C++ APIs and some extra
plumbing to start the real work on properly supporting region
clipping.

A new debug define called DEBUG_CLIP_REGIONS can be used to draw
the current clip region. It is off by default, as is region
clipping.

The default implementation of clipPath() and clipRegion(), now
in native, mimics the previous Dalvik implementation to prevent
regressions.

Change-Id: I7903e7cfd7412b9b9b622566d4dbfce7bdcec00c
2013-01-14 14:27:54 -08:00
Fabrice Di Meglio
c6a207c67b am 9003007d: Merge "Fix Volume icons for RTL languages"
* commit '9003007d35c6ae1cdeac4ca831a036292b7089e9':
  Fix Volume icons for RTL languages
2013-01-11 11:16:49 -08:00
Fabrice Di Meglio
9003007d35 Merge "Fix Volume icons for RTL languages" 2013-01-11 11:10:00 -08:00
Romain Guy
7962964a68 am fff06e97: Merge "Add a new type of profiling graph: lines"
* commit 'fff06e97e3e4e22271ec41ac0c44036aad3141fe':
  Add a new type of profiling graph: lines
2013-01-10 18:45:03 -08:00
Romain Guy
fff06e97e3 Merge "Add a new type of profiling graph: lines" 2013-01-10 18:41:37 -08:00
Romain Guy
48ef4a92a4 Add a new type of profiling graph: lines
Change-Id: I0e67d7227016fe37011e17d04220a200a6a5fba0
2013-01-10 18:38:46 -08:00