Commit Graph

4815 Commits

Author SHA1 Message Date
Chet Haase
d73d34c873 Merge "Use transition-only alpha property for fading transitions" into klp-dev 2013-09-18 17:51:34 +00:00
Chet Haase
4fa809fe74 Merge "Fix leak fix in ViewTreeObserver" into klp-dev 2013-09-18 17:48:38 +00:00
Chet Haase
c46181a963 Use transition-only alpha property for fading transitions
The original bug is fixed already, but showed up some problems in
the underlying fade-transition implementation. This fix addresses
those and other issues. The biggest part of the change should help
transition robustness in general, as it removes the dependency on the
public 'alpha' property of views and uses, instead, a new hidden property
on views called 'transitionAlpha'. This is a value which is normally
opaque (1), but which can be used by transitions (only) to animate the
translucency of views without disturbing the actual 'alpha' value which
might be manipulated outside of transitions. This should make transitions
much more robust in general.

In implementing and testing this overall fix, I noticed a couple of things
about transitions that were simply wrong (such as starting fades from the
wrong start value, and incorrectly avoiding transitions on some views
that didn't happen to have ids), and those are fixed in this CL as well.

Issue #10726905 ActionBar weirdness in People app
Issue #10727937 Menu items in gallery appear in faded color after selecting an image/album by long press

Change-Id: If1618446db10c1bfcff4761449241de4f559afc1
2013-09-18 08:55:47 -07:00
Chet Haase
fc343967c8 Fix leak fix in ViewTreeObserver
The leak fix of the CopyOnWriteArray in ViewTreeObserver was
too aggressive, always clearing the shadow copy when it should only
have cleared it when needed. The way it works now, we will always
clear the listeners for ViewTreeObserver after the listeners
are processed.

Issue #10815924 ViewTreeObserver leak fix too aggressive

Change-Id: Iff0095d73beb38e52b0a5ae6b6378afec4458fd3
2013-09-18 08:44:33 -07:00
Mindy Pereira
9f1221f87e Add isQuickScaleEnabled to ScaleGestureDetector
Change-Id: I23dabb8bec69573ca833e06a4fd36435c75d7d04
2013-09-17 10:50:06 -07:00
Chet Haase
7660d121b2 Plug leaks in transitions
Transitions were leaking views due to TransitionsValues holding references
to views/parents. The references were fine, but the retention of the transition
objects themselves were not. There were a few different places that needed to
be plugged:
- clones were not making new copies of some fields, leading to caching references
in the original object (which was then cloned later to other clones)
- Visibility was using a persistent field to cache temporary values. This transition,
when cloned, would retain these instances, keeping references to views
- ViewTreeObserver had a bug that would leak listeners

Issue #10749071 Activity instance leak between TransitionManager and InputMethodManager

Change-Id: I1d5d457dc5e020c7b9e8392a95e3b2c488461119
2013-09-14 12:06:18 -07:00
Chet Haase
5fd37236df Only buildLayer() on attached views
A recent change to ViewPropertyAnimator.withLayer() builds the layer
immediately after creating it. This works in general, but if the view
is not attached, buildLayer() throws an exception.

The fix is to ensure that the view is attached before calling buildLayer().

Issue #10750925 Dialer crashed and phone dropped while on call

Change-Id: I801c835a0f5cb81e159fe90c157c122cf2d0da01
2013-09-13 19:01:52 -07:00
Jean Chalard
940a2ad69e Merge "Don't send the same values to onUpdateSelection repeatedly" into klp-dev 2013-09-13 02:16:47 +00:00
Alan Viverette
2a65a2839e Merge "Add live region politeness to View, AccessibilityNodeInfo" into klp-dev 2013-09-13 01:45:10 +00:00
Alan Viverette
77e9a28e2f Add live region politeness to View, AccessibilityNodeInfo
Alters the content change API to contain a bit mask of types of
changes represented by the event. Live regions send CONTENT_CHANGED
events immediately. Removes unused APIs for EXPANDABLE/EXPANDED.

BUG: 10527284
Change-Id: I21523e85e47df23706976dc0a8bf615f83072c04
2013-09-12 17:16:09 -07:00
Svetoslav
651dd4e6ee Remove unneeded print APIs and update the min margins APIs.
1. Removed unneeded code in Resolution that was storing its
   label as resource and package name. We do not have predefined
   resolutions, therefore we always persist the label.

2. Renamed the print attribute margins to minMargins to reflect
   that these are the minimal margins the printer support. Updated
   the docs as well.

3. Renamed the create method of all builder to build.

bug:10727487

Change-Id: Ie72ab8aaa5215b8bd2853885011b3b4efa4deb2e
2013-09-12 16:58:58 -07:00
Jeff Brown
2626766095 Merge "Make View onKeyUp symmetric with onKeyDown." into klp-dev 2013-09-12 20:53:16 +00:00
Jean Chalard
c743cb9477 Don't send the same values to onUpdateSelection repeatedly
If the IME is repeatedly changing the text in its
onUpdateSelection handler, this will crash it with a
stack overflow exception. It's better than the old behavior,
which would result in a busyloop likely to make the
device completely unresponsive.

Bug: 10301239
Change-Id: I170cfb8ef20fc056d4725931890a987aefcaea8b
2013-09-12 16:52:56 +09:00
Jeff Brown
fb07349c07 Make View onKeyUp symmetric with onKeyDown.
Properly use KeyEvent.isConfirmKey() in both methods.

Change-Id: Id87158f2163f75af20350dc445df6a59f7190752
2013-09-11 20:51:13 -07:00
Mindy Pereira
af2d8bbdbd Merge "Scale feels too quick in relation to movement" into klp-dev 2013-09-11 23:33:02 +00:00
Igor Murashkin
2cad64c0fb Merge "Surface: Change OutOfResourcesException to be a runtime exception" into klp-dev 2013-09-11 18:28:07 +00:00
Chet Haase
c19d683d9e Merge "Build layer immediately when setting it in ViewPropertyAnimator" into klp-dev 2013-09-11 14:14:06 +00:00
Chet Haase
74d31d106b Build layer immediately when setting it in ViewPropertyAnimator
Previously, withLayer() would simply set the layer type in the runnable
called in onAnimationStart(). Now we also call buildLayer(), to get it
out of the way prior to the view drawing for the first time after the
animation begins.

Issue #9422420 ViewPropertyAnimator.withLayer() should build layer immediately

Change-Id: I99923a234f7ca1ec0b6f1b0bf28b62a71ab7eb4d
2013-09-10 17:05:44 -07:00
Jeff Brown
dc6fd0a20a Merge "Propagate input ANR reason to activity manager log." into klp-dev 2013-09-10 23:52:53 +00:00
Jeff Brown
bd181bb832 Propagate input ANR reason to activity manager log.
Make it a little easier to diagnose input dispatch timeouts by
providing the detailed reason as the ANR annotation in the log.

Bug: 10689184
Change-Id: Ie18fd9ad066b0673d1f57c030e027ad0085f4650
2013-09-10 16:44:24 -07:00
Igor Murashkin
a86ab640f7 Surface: Change OutOfResourcesException to be a runtime exception
- Deprecates SurfaceTexture.OutOfResourcesException, it wasn't used
- Make all JNI code throw only Surface.OutOfResourcesException
- Get rid of redundant SurfaceControl.OutOfResourcesException

Bug: 10566539
Change-Id: I58126260771b9ccff6a69c672ce7719b9f98138d
2013-09-09 21:53:59 -07:00
Jeff Brown
392c76b1f6 Merge "Clarify InputDevice#getControllerNumber documentation" into klp-dev 2013-09-10 03:35:55 +00:00
Mindy Pereira
24870ce4f2 Scale feels too quick in relation to movement
Reduce scale factor in relation to amount of y movement

Change-Id: Iaf351edb2eb1a67f542aa9b3aa3587fc231f8c5c
2013-09-09 18:06:19 -07:00
Chet Haase
bce89a4269 Merge "Add updateListener to ViewPropertyAnimator" into klp-dev 2013-09-09 23:03:28 +00:00
Chet Haase
d94b1e11b9 Merge "Show view overlays in hierarchyviewer" into klp-dev 2013-09-09 21:10:56 +00:00
Svetoslav Ganov
3bbd3aea60 Merge "AccessibilityNodeInfo incorrectly cloned." into klp-dev 2013-09-09 21:06:38 +00:00
Svetoslav Ganov
6685f1bace AccessibilityNodeInfo incorrectly cloned.
The code that creates a clone of an AccessibilityNodeInfo was not cloning
the extension objects (CollectionInfo, CollectionItemInfo, and RangeInfo)
and as a result if the original accessibility node info is recycled the
extension objects of the clone are also recycled and now if one tries to
recycle the clone gets an exception that the extension objects are already
recycled. Fun!

bug:10642952

Change-Id: I84192466bff0e865de04b79079e6ceecdffb37a6
2013-09-09 13:43:21 -07:00
Alan Viverette
013634cc44 Merge "Add WebVTT caption renderer" into klp-dev 2013-09-09 20:31:14 +00:00
Chet Haase
87f4ae67c8 Add updateListener to ViewPropertyAnimator
New method setUpdateListener() on ViewPropertyAnimator that will
send out update events to the provided listener.

Issue #10118113 Offer update listener on ViewPropertyAnimator

Change-Id: Ib9f8fc6dbbc3c1c58113246d9a3b01e7ac27b14c
2013-09-09 10:44:07 -07:00
Chet Haase
bbddd49d6d Merge "Propagate pivot values of 0 to native layer" into klp-dev 2013-09-09 17:36:48 +00:00
Chet Haase
183e2a351d Propagate pivot values of 0 to native layer
Logic in pivotXY setters noops when the new value equals
the previous value. However, the initial value is "0" even
though we actually use a value of the view's midpoint by
default. If an app sets a new value of 0, we don't send it
down to the native layer because it's the same as the initial
value, even though we're actually using a midpoint value instead.
This causes a conflict between the matrix used for invalidations
(which use the actual values the app set) and the matrix used
for rendering (which uses the default midpoint values).

The fix is to make sure we send down the initial value, even when it
equals the default value, by checking to see whether this is the
first time we're setting the pivot.

Issue #9337635 Clipping and bad rendering of view corners when y pivot is set

Change-Id: I4aa20c4a3c9a866ca17df3e067232b832d0ef504
2013-09-09 08:39:35 -07:00
Michael Wright
edaf6af16a Merge "Remove tap to click from touch nav devices" into klp-dev 2013-09-07 02:04:46 +00:00
Michael Wright
7b4f60deb2 Merge "Special case game controller fallback keys for Japan" into klp-dev 2013-09-07 02:04:20 +00:00
Alan Viverette
d43daf361e Add WebVTT caption renderer
Currently missing support for region anchor points, robust layout
when snapping to lines, and vertical text.

BUG: 10260603
Change-Id: I3463b4aa0039442159144e66922d67f5dfee58ed
2013-09-06 18:06:23 -07:00
Adam Powell
b8b017cb68 Merge "Add a minimum timeout for double-tap in GestureDetector" into klp-dev 2013-09-06 18:15:28 +00:00
Chet Haase
68bf5bd385 Show view overlays in hierarchyviewer
ViewOverlays can hold Drawables and Views. But none of these things
show up in hierarchyviewer, so what you see on the screen is not necessarily
what you see in hierarchyviewer.

This CL adds logic to ViewDebug to enable these views/drawables to be displayed.

Issue #8943158 plumb overlay views through into hierarchy viewer

Change-Id: I020e85530a68390b37986269fa3e9e7e43725bab
2013-09-05 16:27:28 -07:00
Adam Powell
af1785f0b5 Add a minimum timeout for double-tap in GestureDetector
Prevent noisy falsing. Minimum timeout is currently 40ms and can be
tuned for later. Consider un-hiding the ViewConfiguration query method
later.

Bug 10476944

Change-Id: Ib470735ec929b0b358fca4597e92dc81084e675f
2013-09-05 13:44:45 -07:00
Adam Powell
a73c3a5488 Merge "Add View#cancelPendingInputEvents API" into klp-dev 2013-09-05 19:37:51 +00:00
Chet Haase
e8222dddaf Change build version from KEY_LIME_PIE to KITKAT
Issue #10631619 Change build version to KitKat

Change-Id: I6ad13f6169ad74204078d36929479998b498ad8b
2013-09-05 08:44:33 -07:00
Adam Powell
1487466dc2 Add View#cancelPendingInputEvents API
This API allows an application to cancel deferred high-level input
events already in flight. It forms one tool of several to help apps
debounce input events and prevent things like multiple startActivity
calls, FragmentTransactions, etc. from executing when only one was
desired since it's otherwise not desirable for things like click
events to fire synchronously.

Change-Id: I60b12cd5350898065f0019d616e24d779eb8cff9
2013-09-05 00:55:20 +00:00
Chet Haase
d82c8ac4db Transition API changes from API council recommendations
Issue #10460684 KLP API Review: android.view.transition and android.animation
Issue #10570740 Transitions: inflate transition targets from xml

Change-Id: I7a3f6d3aece2fcafc5efd555d033f79e86635c98
2013-09-04 14:46:38 -07:00
Romain Guy
cb039124c1 Merge "Don't draw with invalid display lists Bug #10301674" into klp-dev 2013-09-04 21:16:23 +00:00
Romain Guy
f66645671f Don't draw with invalid display lists
Bug #10301674

Change-Id: I900322dcb9b53f0eb82741c94d4ab1eaf939259e
2013-09-04 14:14:07 -07:00
Chet Haase
5f25f7c373 Merge "Perform layout and invalidation after bringChildToFront()" into klp-dev 2013-09-04 21:13:31 +00:00
Chet Haase
cb96db8d14 Perform layout and invalidation after bringChildToFront()
Previously, calls to ViewGroup.bringChildToFront() or View.bringToFront()
would need to be followed by calls to requestLayout() and invalidate()
to force the container to redraw with the new child ordering. This
change calls requestLayout() and invalidate() automatically.

Issue #8667065 bringtoTop does not work

Change-Id: Id37ce7a64dead82119e49f7a1b28385cf0d1f20d
2013-09-04 11:28:57 -07:00
Scott Main
703b34bb13 am f579f134: am e0718c04: am 605d56c0: Merge "clarify javadoc for constructors. bug: 10563421" into jb-mr2-docs
* commit 'f579f134ee9495571899be958983a1a242457603':
  clarify javadoc for constructors. bug: 10563421
2013-09-04 09:19:46 -07:00
Scott Main
f579f134ee am e0718c04: am 605d56c0: Merge "clarify javadoc for constructors. bug: 10563421" into jb-mr2-docs
* commit 'e0718c044bc81db0334f2973b9884b968c18ce07':
  clarify javadoc for constructors. bug: 10563421
2013-09-04 09:17:05 -07:00
Romain Guy
3e8105e212 Merge "Update Bitmap.Config.ARGB_4444 documentation Bug #10510122" into klp-dev 2013-09-03 21:41:39 +00:00
Michael Wright
10fac45b6f Clarify InputDevice#getControllerNumber documentation
Bug: 10461158
Change-Id: I7a4e6e3eb09daa48ed72d2acf9638d8cf54d86ef
2013-09-03 12:38:10 -07:00
Romain Guy
25ba1c8694 Update Bitmap.Config.ARGB_4444 documentation
Bug #10510122

ARGB_4444 is deprecated and always replaced with ARGB_8888.

Change-Id: I0da96216af701a7df00ad35913066fbfa997d790
2013-09-03 11:50:23 -07:00