Commit Graph

2611 Commits

Author SHA1 Message Date
Jeff Brown
fa8b27c858 Improve responsiveness by always consuming batched events.
Change-Id: I2eb88f8fde97ce0cd820f39da4ebe8698a7db95c
2012-03-29 18:58:29 -07:00
Jeff Brown
a08f3e866a Merge "Enable vsync traversals by default." 2012-03-29 15:12:33 -07:00
Fabrice Di Meglio
e32a4ac8d3 Merge "Improve FocusFinder for RTL support" 2012-03-29 13:46:30 -07:00
Jeff Brown
ebb2d8d708 Enable vsync traversals by default.
Improved how the various callbacks are managed and sequenced
to reduce code duplication.

Added a heuristic to avoid postponing traversals until
the next vsync frame if we did not actually do any drawing during
the previous frame.  This helps in the very common case where
drawing occurs in response to input.

Change-Id: I277d9eeaf50408f8745a3cfd181db1d140770658
2012-03-29 13:10:55 -07:00
Chet Haase
f1260aac0e Merge "Disable DisplayList properties pending fixes for AlphaAnimation" 2012-03-29 09:45:38 -07:00
Chet Haase
76240dafe8 Disable DisplayList properties pending fixes for AlphaAnimation
The new DisplayList properties design has ordering conflicts with the
way that alpha works with old animations (AlphaAnimation). This CL
disables DiksplayList properties while I'm working on a fix and some
more thorough tests for old animations-vs-DL properties in general.

Change-Id: I8f6893138f939171491c2ec3c889214ee55d17b7
2012-03-29 09:42:34 -07:00
satok
6183cd64a9 Take sentence-level spell checking APIs public
Bug: 6136149

Change-Id: I772164d9c67e95876c228efcce2356a81a06be4f
2012-03-29 18:16:32 +09:00
Romain Guy
244ada1d35 Refactor GLES20Canvas/HardwareRenderer JNI layers
GLES20Canvas defined several JNI functions used only by HardwareRenderer.
Now that we have a JNI layer dedicated to HardwareRenderer we should
host the renderer related methods there.

Change-Id: I0bcb4ad0bcc1c4a37290df10c1685f2cfe5504ca
2012-03-28 16:41:26 -07:00
Fabrice Di Meglio
7e0a372978 Improve FocusFinder for RTL support
- fix some issues introduced in the previous CL

Change-Id: Ib679e9f66b029506c7e07e44b8fef176ad262585
2012-03-27 19:04:38 -07:00
Chet Haase
b85967b9af Re-enabling DisplayList properties
Several issues came up after DisplayList properties were enabled,
so they were disabled pending fixes. Those issues have been fixed, so
DisplayList properties are once again being enabled by default. This
CL both re-enables these properties (in View.java and DisplayListRenderer.h)
and fixes the various issues that enabling them caused the first time around.

Related issues (all currently marked as Fixed, though that was simply because
DL properties were disabled - this CL provides the real fixes now that
DL properties are enabled by default):
Issue #6198276 Text input broken
Issue #6198472 Native crash at pc 00076428 in many different apps in JRM80
Issue #6204173 Date/time picker isn't rendering all parts of UI
Issue #6203941 All Apps overscroll effect is rendered weirdly/has flickering
Issue #6200058 CAB rendering issue - not drawing items?
Issue #6198578 Front camera shows black screen after taking picture.
Issue #6232010 Layers not recreated when children change (DisplayList properties)

Change-Id: I8b5f9ec342208ecb20d3e6a60d26cf7c6112ec8b
2012-03-27 08:17:54 -07:00
Romain Guy
1fc18056eb Merge "Fix constants to be unique" 2012-03-26 17:15:57 -07:00
Romain Guy
c553fea6b0 Fix constants to be unique
Change-Id: Ia3736bc35c9ff7b52f0f20c274cd302bfb180fa7
2012-03-26 17:09:19 -07:00
Fabrice Di Meglio
81e829e02e Merge "Fix bug #6213159 FocusFinder should be able to take care of Views direction" 2012-03-26 17:06:11 -07:00
Romain Guy
56485fe628 Merge "Use a status_t return type for GL functors" 2012-03-26 16:51:22 -07:00
Romain Guy
6554943a1d Use a status_t return type for GL functors
WebView needs more fine-grained control over the behavior of the
framework upon execution of the display lists. The new status_t
allows WebView to requests its functor to be re-executed directly
without causing a redraw of the entire hierarchy.

Change-Id: I97a8141dc5c6eeb6805b6024cc1e76fce07d24cc
2012-03-26 16:45:05 -07:00
Fabrice Di Meglio
0adcd07ccb Merge "Improve View layoutDirection resolution" 2012-03-26 14:06:56 -07:00
Fabrice Di Meglio
9b0e599120 Merge "Fix View textDirection refresh" 2012-03-26 12:40:35 -07:00
Fabrice Di Meglio
827d5c09fb Fix View textDirection refresh
- the refresh was no more done correctly after the use of display lists

Change-Id: I5c74bbe565c603fe2e7fd793dd49c3b20036e04b
2012-03-26 12:15:42 -07:00
satok
83e675f5ec Support UntranslatableReplacementStringInSubtypeName
Bug: 6210256

Change-Id: I54016f2dcfc6563ed3753e1d4fa1bbd2cfb9d08c
2012-03-26 12:30:23 +09:00
Romain Guy
d4577c0c29 Merge "Destroy the hardware renderer when ViewRootImpl's die is post-poned Bug #6109035" 2012-03-23 19:05:50 -07:00
Romain Guy
a998dff5d4 Destroy the hardware renderer when ViewRootImpl's die is post-poned
Bug #6109035

ViewRootImpl.die() can be invoked in such a way that doDie() will be
executed later. On memory limited device, an eglTerminate() may happen
before doDie() is executed which leads to unstable behaviors. This
change makes sure the renderer is destroyed as soon as possible.

Change-Id: I3322410cdd744b464951e2055aeade6069d1d673
2012-03-23 19:04:36 -07:00
Fabrice Di Meglio
702e8f9b92 Fix bug #6213159 FocusFinder should be able to take care of Views direction
- use RTL layout direction as input to decide what to do

Change-Id: Ied825963992e5406f546a937857c5ca4101977bb
2012-03-23 18:19:10 -07:00
Fabrice Di Meglio
22ab7751d4 Improve View layoutDirection resolution
- make it similar to textDirection
- unhidde also new API: resolveLayoutDirection()

Change-Id: I43c2c2ef32ed6d1f3586781a063271b72e90b9a3
2012-03-23 16:39:26 -07:00
Dianne Hackborn
8078d8c8a2 Add new thumbnail animation.
Use it for recent tasks switching.

Not perfect yet by far, but something.

Also fix issue #6186758: Twitter crashes after tapping on a tweet on JRM75D

Change-Id: I49bf6c94aafde875ac652dedaf96d6c08cc9e7d2
2012-03-23 14:13:13 -07:00
Fabrice Di Meglio
2c4eabced0 Merge "Reduce memory footprint for View (part 2)" 2012-03-23 11:12:29 -07:00
satok
460f457e4a Merge "Re-start input when the IME is deactivated but window is focused" 2012-03-22 22:48:24 -07:00
Romain Guy
4d992dbe41 Merge "Don't make GLRenderer aware of GLES20Renderer" 2012-03-22 19:19:02 -07:00
Romain Guy
5d6999e1ca Don't make GLRenderer aware of GLES20Renderer
Change-Id: Ic9bab34070a3046b9252f6fd576b4d40553374fc
2012-03-22 19:16:40 -07:00
Kevin Hester
b85c933d85 Do not allow Surface creation on machines without SurfaceFlinger
We will fail later anyways, but this change makes it much easier to track
down places where we are inadvertently doing operations that depend on the
flinger.

Change-Id: If38a1a10061a594dba5c220a86b32eec7b5ec901
2012-03-22 15:09:40 -07:00
Fabrice Di Meglio
b934db7e3e Reduce memory footprint for View (part 2)
- make textDirection use private bits field
- update layoutDirection usage of private bits

Change-Id: Ib9f4da58dbb74f410fb9d3be3c26ef02579aaf1d
2012-03-22 13:40:29 -07:00
Chet Haase
ad13c81371 Disable DisplayList properties
DisplayList properties are (again) disabled by default, via flags in
View.java and DisplayListRenderer.h. There are various artifacts to
chase down before enabling by default.

Issue #6198472 Native crash at pc 00076428 in many different apps in JRM80
Issue #6204173 Date/time picker isn't rendering all parts of UI
Issue #6203941 All Apps overscroll effect is rendered weirdly/has flickering
Issue #6200058 CAB rendering issue - not drawing items?
Issue #6198578 Front camera shows black screen after taking picture.

Change-Id: I045dc82ce1d85fedbae3bb88eb2a2dfb6891d41f
2012-03-22 08:33:09 -07:00
satok
31e4e14994 Re-start input when the IME is deactivated but window is focused
Bug: 6188159
Change-Id: I9189e6d2ac90aa8c621fdb44989728101e00329d
2012-03-22 15:34:16 +09:00
Jeff Brown
9ea77fc821 Avoid calling into JNI if not needed.
Short-circuit a few MotionEvent JNI calls in simple cases.

Change-Id: I6c97c06b5a5fd203a423dc88f428637b9dec71ae
2012-03-21 19:49:54 -07:00
Chet Haase
b6f90cf846 Merge "Fix Animation bugs from DisplayList properties integration" 2012-03-21 11:34:16 -07:00
Chet Haase
89b7f2e3be Fix Animation bugs from DisplayList properties integration
The new DisplayList properties functionality does not currently handle Animation
(android.view.animation) functionality, so we fall back to the previous approach
of redrawing the DisplayList when an Animation changes alpha/transform data for
a View. The DL code was not, however, correctly using that logic, so that
the Animation transform information was being ignored, or at least not set
correctly on the DisplayList during redraws.

This fix accounts for Animation changes and sets up the DisplayList correctly.

Change-Id: I9f6e0382b05d0627f4779f30e74641dedcc77f82
2012-03-21 11:32:02 -07:00
Craig Mautner
006f0e41ab Override not drawing to screen when screen is off.
A new test had been added to performDraw to provide an early return if
the screen was off. Drawing should have proceeded however if
mReportNextDraw is set. Otherwise views that turn on the screen (such
as the alarm) are not shown.

Fixes bug 6168158.

Change-Id: If9013d9dbd39d60ee1de8aeb3e0c1facbc5a7db5
2012-03-21 11:00:32 -07:00
Romain Guy
e979e62ac7 Code cleanup
Change-Id: I390e92b4a778bd9dcde6535178c1a6b204b29fe4
2012-03-20 13:50:27 -07:00
Svetoslav Ganov
eb0b1da78f Merge "Revamp of the NumberPicker widget." 2012-03-20 12:14:37 -07:00
Svetoslav Ganov
d11e6151fe Revamp of the NumberPicker widget.
1. The number picker no longer shows up and down arrows, it
   has only three touch targets which are the currently selected number
   in the middle with a lesser one above and greater below, now what
   you touch is what you get, flingability and long press are still
   supported.

2. Removed the restriction for a View with an AccessibilityNodeProvider
   to not have any concrete children. If the View has a provider, then
   this provider is responsible for creating the AccessibilityNodeInfos
   for all its descendants, concrete and virtual. The number picker is
   a good example for such a case - it has a concrete input view and
   two virtual buttons as its children. This is a safe change since
   this behavior has not been released.

3. This patch also fixes bug where the number picker is stretched too
   much in the Theme theme.

bug:6177794
bug:5728294

Change-Id: I5fb370fe0b864a156f5f2aaf2de5f55f6b6d4e84
2012-03-20 12:13:06 -07:00
Fabrice Di Meglio
6077fc9b7f Merge "Reduce memory footprint for View" 2012-03-20 11:48:50 -07:00
Fabrice Di Meglio
edc1e59b34 Reduce memory footprint for View
- make layout direction use private bit fields
- fix also some Javadoc issues

Change-Id: I977a328d671b91aa82cb275767e3575f78695508
2012-03-20 11:45:36 -07:00
Svetoslav Ganov
52c1055462 Merge "Revert "Revamp of the NumberPicker widget."" 2012-03-19 20:03:45 -07:00
Svetoslav Ganov
efd1c67779 Revert "Revamp of the NumberPicker widget."
This reverts commit 912ab8506a
2012-03-19 20:03:29 -07:00
Svetoslav Ganov
ca07bc1d35 Merge "Revamp of the NumberPicker widget." 2012-03-19 18:56:51 -07:00
Romain Guy
0084322750 Merge "Pre-scale bitmaps on the native heap" 2012-03-19 18:52:09 -07:00
Romain Guy
7b2f8b8fb7 Pre-scale bitmaps on the native heap
Change-Id: I9819b532b89a997ab775b31ffee46445f1d16e20
2012-03-19 18:47:06 -07:00
Chet Haase
bdd896c264 Enable DisplayList properties
This CL simply enables DisplayList property functionality. The code for
this feature is already there, but it's been disabled by default pending further
testing and analysis. This change sets these build-type flags to true
so that all hw-accelerated apps will now use DisplayList properties by default.

In particular, this feature enables a fast-path for changes that affect the
handful of View properties involved in animations (alpha, translationX, etc.).
Setting these properties now gets propagated to the native DisplayList associated
with the View, avoiding costly recreation of the SDK-level DisplayList and
also enabling faster invalidation of the view hierarchy.

Change-Id: Ic99c8f28fa9183f2e54e9e4860b333eb9c540f7c
2012-03-19 13:40:49 -07:00
Svetoslav Ganov
912ab8506a Revamp of the NumberPicker widget.
1. The number picker no longer shows up and down arrows, it
   has only three touch targets which are the currently selected number
   in the middle with a lesser one above and greater below, now what
   you touch is what you get, flingability and long press are still
   supported.

2. Removed the restriction for a View with an AccessibilityNodeProvider
   to not have any concrete children. If the View has a provider, then
   this provider is responsible for creating the AccessibilityNodeInfos
   for all its descendants, concrete and virtual. The number picker is
   a good example for such a case - it has a concrete input view and
   two virtual buttons as its children. This is a safe change since
   this behavior has not been released.

3. This patch also fixes bug where the number picker is stretched too
   much in the Theme theme.

bug:6177794
bug:5728294

Change-Id: Id8c0b3549174b9599f971d6e3086ca427cfbaa39
2012-03-19 13:02:22 -07:00
Chet Haase
4bf8b20995 Merge "Optimizing DisplayList properties" 2012-03-16 09:21:14 -07:00
Chet Haase
9d1992deae Optimizing DisplayList properties
DisplayList properties are still disabled default (flags in View.java
and DisplayListRenderer.h). When they are enabled, and when a View has
a DisplayList, invalidations due to property changes are now optimized
to avoid causing DisplayList recreation. This eliminates the drawing step
of invalidation (due to changes in these properties), only requiring
issuing the previously-created DisplayList to the GL renderer. Invalidation
is slightly faster (less overhead as we walk up the hierarchy), getDisplayList()
is potentially much faster (going down to ~0ms), depending on the complexity
of the View being redrawn and the size of the invalidated hierarchy.

Change-Id: I57587d5b810c3595bdd72a6c52349c2a3d1bdf25
2012-03-16 09:14:52 -07:00