Commit Graph

2578 Commits

Author SHA1 Message Date
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
Romain Guy
51e4d4db29 Better implementation to clear display lists
Change-Id: I58f9af4bae70a8117db1455a50c0c5daf19b2f4a
2012-03-15 18:30:47 -07:00
Romain Guy
c6e8811cb4 Merge "Postpone DisplayList recycling when detached from window" 2012-03-15 16:20:25 -07:00
Romain Guy
bc7616eae9 Postpone DisplayList recycling when detached from window
This was causing a crash in apps that remove views during a draw pass.

Change-Id: I1c4621639fe920291b2c6fb7bfd17a69101a1329
2012-03-15 15:56:11 -07:00
Chet Haase
e82a54aedc Merge "Fix bug with transform Animations" 2012-03-15 09:25:35 -07:00
Chet Haase
bcbec0ccd0 Fix bug with transform Animations
A recent change to enable View properties at the native DisplayList level
mistakenly cuased Animation transforms get be ignored for any View with
a DisplayList. The correct code should have checked whether DL properties
were enabled for the view (disabled by default for now).

Issue #6173975 Animations are gone

Change-Id: I5d5f53f854fb1b533a3150158e84392d7283d2a8
2012-03-15 09:22:17 -07:00
Michael Jurka
605eabf6a2 Merge "Fix hardware layer redraw bug" 2012-03-13 19:56:33 -07:00
Michael Jurka
952e02b430 Fix hardware layer redraw bug 2012-03-13 18:35:10 -07:00
Chet Haase
a1cff5043d Handle view properties at the native level
Basic functionality of handling View properties (transforms,
left/right/top/bottom, and alpha) at the native DisplayList level.
This logic is disabled for now (via compile-time flags in View.java and
DisplayListRenderer.h) as we continue work on it (there is no advantage
to the new approach until we optimize invalidation and rendering paths
to use the new code path).

Change-Id: I370c8d21fbd291be415f55515ab8dced6f6d51a3
2012-03-12 15:41:48 -07:00
Fabrice Di Meglio
25182b8af9 Merge "Improve View Javadoc for padding" 2012-03-12 14:51:55 -07:00
Fabrice Di Meglio
30a21e1bfe Improve View Javadoc for padding
Change-Id: Ib7c8ee5bcde57e112ba0bb700fed9f2a135b1cdb
2012-03-12 14:07:42 -07:00
Jeff Brown
a8c67eb904 Merge "Add Java wrappers for new atrace functionality." 2012-03-12 13:25:27 -07:00
Fabrice Di Meglio
05f692e805 Merge "Make Gravity RTL APIs public" 2012-03-12 10:54:42 -07:00
Fabrice Di Meglio
e8dc07dcdb Make Gravity RTL APIs public
- also move unit tests to CTS
- also small improvement for View Javadoc

Change-Id: I166d5a10f4a00f1b46c90468c8b11906b438e1ea
2012-03-09 17:32:16 -08:00
Ken Wakasa
384f8bad60 Add missing bullet points in javadoc of InputMethodManager.java
Change-Id: I2e9c04569b52705972d5a67b17d48405315dd3d3
2012-03-10 10:05:57 +09:00
Romain Guy
5a5dc1c634 Merge "Use the actual screen size for the max bitmap cache size." 2012-03-09 16:59:35 -08:00
Romain Guy
887c2eea31 Use the actual screen size for the max bitmap cache size.
Change-Id: I2177f91aea7c449c377fde6337180d15487cecef
2012-03-09 16:57:58 -08:00
Ken Wakasa
559c4841a6 Merge "Fix obvious typos under frameworks/base/core" 2012-03-09 15:52:06 -08:00
Jeff Brown
481c1570dc Add Java wrappers for new atrace functionality.
Instrument a few parts of the input dispatcher and the
view hierarchy.

Change-Id: I49285c9fb3502253baa1ffed60f521b8c24fccaf
2012-03-09 15:43:50 -08:00
Jeff Brown
3162225d51 Merge "Don't remove all animation callbacks if action/who was null." 2012-03-09 15:12:30 -08:00
Jeff Brown
43ea54bdc3 Don't remove all animation callbacks if action/who was null.
Fixes a bug in View.removeCallbacks and View.unscheduleDrawable
where it was possible for the caller to remove all animation
callbacks if it happened to specify an action or who parameter
of null.

Also refactored the callback queueing code in Choreographer
to make it more intent revealing although the behavior remains
the same.

Bug: 6144688
Change-Id: Iba29dcda6b3aaad73af664bb63feab65ae3483e5
2012-03-09 14:41:50 -08:00
Svetoslav Ganov
2bff640779 Merge "Adding an announcement type accessibility event and a method on View to announce." 2012-03-09 12:00:13 -08:00
Svetoslav Ganov
51ab90cab1 Adding an announcement type accessibility event and a method on View to announce.
1. The need for sending an accessibility event to announce a context change
   which does not cleanly fit into the existing UI transition UI events has
   come quite a few time in application development. To avoid retrofitting
   accessibility event types that do not semantically match the intent to
   just announce a short message this patch is adding specialized event type.
   Also a helper method on View is added to sheild developers from knowing
   how to construct and send such an event.

bug:5977979

Change-Id: Iaf5f620426f8616be67fbf243a02ad5b606c949b
2012-03-09 11:47:17 -08:00
Ken Wakasa
f76a50ce8f Fix obvious typos under frameworks/base/core
Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
2012-03-09 22:48:43 +09:00
Jeff Brown
df813c03b1 Merge "Use the Choreographer for Drawable animations." 2012-03-08 16:28:48 -08:00
Romain Guy
1e3d313c78 Fix the docs
Change-Id: I73bcb684eac01db870936aa5e29df930b5432833
2012-03-08 15:55:56 -08:00
Romain Guy
bb9908b828 Dispatch screen state change events to Views
Bug #6120957

Using this new callback, views can interrupt and resume their
animations or other periodic tasks based on the current state
of the display.

Change-Id: I398f4abd421e9c5f207107bf1009a7b92cf45daa
2012-03-08 15:05:12 -08:00
Fabrice Di Meglio
3bef5e9f3a Merge "Fix View padding resolution" 2012-03-08 11:14:11 -08:00
Romain Guy
250069bf6b Merge "Ignore draw requests when the display is off" 2012-03-08 10:47:02 -08:00
satok
2428ccbbde Fix spell checker framework
Change-Id: I281d031259dd220936832668e7a4556473ccb2ce
2012-03-08 18:52:21 +09:00
Jeff Brown
7ae9d5faad Use the Choreographer for Drawable animations.
Change-Id: Ifcbf33434bf3c32d1900fd0b3f5bde004604ce8a
2012-03-07 19:02:51 -08:00
Fabrice Di Meglio
509708deb8 Fix View padding resolution
- make setPadding() and setPaddingRelative() share same code

Change-Id: Iaefa82deb29d9efd6b3f88c751daf503c6b8f774
2012-03-07 18:01:14 -08:00
Michael Jurka
1ce1307641 Merge "Don't draw layers in buildLayer()" 2012-03-07 11:25:20 -08:00
Dianne Hackborn
5eb37241fe Merge "Work on more low memory reporting to apps." 2012-03-06 19:06:25 -08:00