Commit Graph

1758 Commits

Author SHA1 Message Date
Dianne Hackborn
58b8684177 Merge "Fix issue #4770360: older app compatibility mode is really tiny on ICS phones" 2011-06-23 12:13:06 -07:00
Dianne Hackborn
2b31d53161 Fix issue #4770360: older app compatibility mode is really tiny on ICS phones
We were applying the density compat mode scaling multiple times to
display metrics, causing bad values.

Change-Id: Iafafd9a5e94b9d774cd2715bf968e91602a1bd82
2011-06-23 12:00:54 -07:00
Grace Kloba
cf559377b7 Add onSurfaceTextureUpdated to the TextureView listener.
The app needs a way to throttle the producer side. Expose this to enable it.

Change-Id: I04b6a3fc444117a9fc2449fb87c3c834247c8ef1
2011-06-22 23:05:40 -07:00
Romain Guy
8b4512ef20 Merge "Prevent possible NPE in TextureView" 2011-06-22 21:02:31 -07:00
Romain Guy
1ec3a58bcd Prevent possible NPE in TextureView
Change-Id: I539813d614c7eb1f68dad6b605cbad5b5144c5e9
2011-06-22 21:01:58 -07:00
Romain Guy
c2e0a1f1cd Merge "Add the ability to specify the opacity of a TextureView" 2011-06-22 20:59:46 -07:00
Romain Guy
a9489274d6 Add the ability to specify the opacity of a TextureView
TextureView assumes its content is opaque by default.

Change-Id: Iba873423566a5b67c388081838bd910dceba32ba
2011-06-22 20:58:11 -07:00
Chet Haase
ef716baaa0 Merge "Fix flashing artifacts caused by invalidation bugs" 2011-06-22 17:17:02 -07:00
Chet Haase
ad4f70306b Fix flashing artifacts caused by invalidation bugs
Therea re 2 fixes here:
- We sometimes cleared a flag in ViewAncestor too soon that controlled
how invalidated areas were redrawn (related to whether the invalidates
happened on opaque views or not).
- TransitionDrawable was always setting/restoring alpha values on its
drawables every time it was drawn. setAlpha on BitmapDrawable causes
an invalidation, so essentially this was an infinite invalidation/redrawing
loop. The fix was to notice when the animation was done and to simply
draw the appropriate drawable[s].

Change-Id: I1849a5a909b0039a0e9bce0aa3cfc33c50f8f854
2011-06-22 15:53:53 -07:00
Romain Guy
c989d867f2 Collapse UI events in TextureView.
Change-Id: Ia6c0cef0f694edc4b685c1ade1a9ba509a51e541
2011-06-22 15:01:07 -07:00
Adam Powell
a3e3c533ee Fix bug 4807086 - Options menu panel too narrow in landscape
Now that landscape on phones uses the config_prefDialogWidth setting
to restrict the default size of dialog windows, the options menu panel
was affected.

Restrict the ratcheting preferred width feature based on the width
LayoutParam only, and respect the LayoutParams width provided by panel
windows.

Change-Id: Idc62f41910f6f22dc50cab978c5642bb0a8dbdaf
2011-06-22 11:21:54 -07:00
satok
8969d9924c Revert "Create TextServiceManager and SpellCheckerService"
This reverts commit eaddb89486.
2011-06-22 16:41:58 +09:00
satok
f86ee14f6a Merge "Create TextServiceManager and SpellCheckerService" 2011-06-22 00:02:55 -07:00
Jeff Brown
87b7f805b9 Send hover to all children under pointer.
Previously we only sent hover to the topmost child, but this doesn't
handle cases where multiple children are overlapped to achieve
certain special effects.  Now we send hover to all children until
one of them handles it.

Also moved the call to send the accessibility event into the
main dispatch function so that we can send the accessibility event
for all innermost hovered views even when setHovered() might
not be called.

Change-Id: I6fb8b974db44b594c441deafc012b8415afdfac7
2011-06-21 21:15:07 -07:00
Jeff Brown
194f4a7afd Merge "Only handle onHoverEvent in actionable views." 2011-06-21 21:12:24 -07:00
Jeff Brown
32b6328b0c Merge "Fix taint and nesting bugs." 2011-06-21 21:12:19 -07:00
Fabrice Di Meglio
aa4d46bb12 Merge "Fix bug #4796027 left/right padding regression after recent View change (part 2)" 2011-06-21 19:49:41 -07:00
Fabrice Di Meglio
f9e36506f1 Fix bug #4796027 left/right padding regression after recent View change (part 2)
- revert previous fix (transforming >=0 to >0)
- initialize mUserPaddingStart and mUserPaddingEnd to -1 in the specific View(Context context) constructor
- cache mUserPaddingStart and mUserPaddingEnd a bit earlier in View(Context context, AttributeSet attrs, int defStyle) constructor
- cache also mUserPaddingStart and mUserPaddingEnd in setPaddingRelative()

Change-Id: Ibe398da7af35f77655d7006444fa49c9c5387f62
2011-06-21 19:43:03 -07:00
Jeff Brown
10b6290c5f Only handle onHoverEvent in actionable views.
Modified onHoverEvent so that a view only has its state changed to
hovered when the view is clickable.  The intent is to prevent labels
from taking hover focus away from their containing view group despite
not being actionable in any way.  The child will still receive
a hover event but, if it does not handle the event (returns false),
the hover event will bubble up to its parent and ancestors allowing
them a chance to handle the event instead.

The new onHoverEvent semantics are better because now they closely
mirror those of onTouchEvent.  This makes it straightforward to
implement views that respond to hover by changing their visual
appearance (such as by making buttons glow when hovered).

Added onInterceptHoverEvent to enable ViewGroups to explicitly
intercept hover events within their bounds.

Exposed the new hover event API for real.

Change-Id: I63195c8f5c74b859f6047487f9a0f703e8f40ffe
2011-06-21 18:58:20 -07:00
Jeff Brown
738e7e431c Fix taint and nesting bugs.
Tainted events should still be processed, even if we don't bother
the developer with the details.

The check for nested calls to the event verifier must incorporate
the event type because different event types might be overridden
in different subclasses so the nesting depths may vary.

Change-Id: If2fb213e07db783a0bd1da97bb12aad93126d712
2011-06-21 18:58:20 -07:00
Fabrice Di Meglio
374d757e9c Merge "Fix bug #4796027 left/right padding regression after recent View change" 2011-06-21 17:55:50 -07:00
Fabrice Di Meglio
f8ed444fad Fix bug #4796027 left/right padding regression after recent View change
- mUserPaddingStart and mUserPaddingEnd had be be greater than 0 for overriding

Change-Id: I588a9971bf73aa9461716cfd5a006373a14408f8
2011-06-21 17:53:03 -07:00
Svetoslav Ganov
86398bda3d AccessiblityNodeInfo#findAccessibilityNodesByText returns null if non found.
1. Updated the code to return empty list instead.

2. Updated the doc to explain that the search is done in the
   sub-tree rooted at the info whose method is called.

Change-Id: I560d2563ed4772305bf2d7919560ef19baa30a1d
2011-06-21 17:38:48 -07:00
Svetoslav Ganov
34e350daf8 ListView do not fire accessibility hover events.
1. AccessibilityEvent was incorrectly setting the
   connection of an owned AccessibilityRecord after
   the record is initialized since during initialization
   the record may become sealed.

bug:4724101

Change-Id: I39087dc8023c62252f31431ece23de901dc45972
2011-06-20 21:51:34 -07:00
Adam Powell
b53a68bbd9 Fix bug 4738084 - Padding calculation regression
Make sure user padding values aren't clobbered during construction.

Change-Id: I90d1610e0bf50ccb10f058fb2b6c6d8ff34eec3b
2011-06-20 16:29:05 -07:00
Fabrice Di Meglio
d8703a9824 Add View paddingStart and paddingEnd
- use a lazy padding resolution (because layout direction is lazyly resolved too)
- cache resolved layout direction as getResolvedLayoutDirection() will be more called
- enable resetting layout direction cache if needed
- update unit tests

Change-Id: I30ce19e3100cc137f84e60163b60e1577ff61819
2011-06-20 11:11:05 -07:00
satok
eaddb89486 Create TextServiceManager and SpellCheckerService
Bug: 4176026

Spec of TextServiceManager
- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
    for each locale

Spec of SpellCheckerService
- Returns whether the given string is a correct word or not
- Returns Suggestions for the given string

Change-Id: Ia25e7b4f308778891929e31b8cbd741f6848cce4
2011-06-20 23:00:30 +09:00
Romain Guy
98769300af Merge "Add error checking to LayerRenderer::copyLayer" 2011-06-17 17:47:59 -07:00
Romain Guy
d6b2a00dd4 Add error checking to LayerRenderer::copyLayer
This method is invoked by TextureView.getBitmap() and failures must be
caught to avoid leaving the GL context in a potentially bad state.

Change-Id: I620de395ba1bc20154de58c81963223dc55cac78
2011-06-17 17:45:59 -07:00
Chet Haase
1790a10eea Merge "Invisible views can't start animations" 2011-06-17 16:00:57 -07:00
Romain Guy
ee452bcc06 Merge "Fix rendering issue with paths when the stroke width is 0" 2011-06-17 15:49:22 -07:00
Romain Guy
98029c825b Fix rendering issue with paths when the stroke width is 0
Change-Id: I5d8ac23dc69e9e17df4ef6b5195186b5207e2524
2011-06-17 15:47:07 -07:00
Chet Haase
c8a9a70c5f Invisible views can't start animations
The invalidation logic was broken for invisible views, causing
a problem when an animation was set to start on an invisible view
(to fade it in), but the view would not propagate the invalidation
event that would trigger the start of the animation rendering.
Fix: reset the DRAWN flag when a view becomes invisible to allow
the invalidation logic to work as intended.

Change-Id: Ibf49c6e8b39506a92a6e5f45cb8a12626ae4f931
2011-06-17 14:35:09 -07:00
Amith Yamasani
4f844e2636 Merge "Inform the InputMethodManager that a focused view has been attached." 2011-06-17 14:29:17 -07:00
Amith Yamasani
4503c8dd71 Inform the InputMethodManager that a focused view has been attached.
This enables new fragments or views that have a focused EditText to register
the view with the input method framework as the served view.

Change-Id: I260439223b56626f2e57bd778bbe5194ed44e361
2011-06-17 12:36:14 -07:00
Chet Haase
b47f2f9533 Merge "Fix crash in ViewPropertyAnimator for unparented view." 2011-06-16 14:06:36 -07:00
Chet Haase
3a000a52d6 Fix crash in ViewPropertyAnimator for unparented view.
Mechanism for removing possible earlier animations should
call removeCallbacks on the view, not on the (possibly null)
handler of the view.

Change-Id: I76c6f0bea5e009be9197a6e49e9360ed9ef1a9cb
2011-06-16 14:03:08 -07:00
Fabrice Di Meglio
7e27e489d8 Merge "Introduce LocalUtil and getLayoutDirectionFromLocale() now use likelySubtags" 2011-06-15 17:49:24 -07:00
Svetoslav Ganov
fa59d178bb Merge "Invisible views should not be visible to accessibility services (interrogation)" 2011-06-15 17:30:10 -07:00
Svetoslav Ganov
ea1da3d2e6 Invisible views should not be visible to accessibility services (interrogation)
1. Infisible children of a ViewGroup are reported by View group
   while constructing an AccessibilityNodeInfo.

2. AncestorView does not check whether a found view is shown before
   returining it or perform action on it.

bug:4672230
Change-Id: Ic620ea71b7755c598407bdd813a2beeee400c89c
2011-06-15 17:28:10 -07:00
Romain Guy
e5e0c50f7d Properly refcount SurfaceTexture in the JNI layer.
Change-Id: I4b4c8020c13b8d6ce0d302fe42410033bf5785a6
2011-06-15 16:14:26 -07:00
Fabrice Di Meglio
a47f45e482 Introduce LocalUtil and getLayoutDirectionFromLocale() now use likelySubtags
- move code from Configuration to LocaleUtil
- move unit tests

Change-Id: Ic14b0131894a0c5618f00d4acb3edb0daadefe01
2011-06-15 16:12:32 -07:00
Jeff Brown
474dcb5c3d Add support for disabling pointer gestures.
Made it possible for individual windows to disable pointer gestures
while the window has focus using a private API.

Cleaned up the InputReader configuration code to enable in-place
reconfiguration of input devices without having to reopen them all.
This change makes changing the pointer speed somewhat nicer since the
pointer doesn't jump back to the origin after each change.

Change-Id: I9727419c2f4cb39e16acb4b15fd7fd84526b1239
2011-06-14 22:07:31 -07:00
Romain Guy
77a811610f Add TextureView.getBitmap()
This API can be used to get a Bitmap copy of the content of a
TextureView.

Change-Id: I07522216c353720fba5cab333174f58f484eb911
2011-06-14 17:06:53 -07:00
Fabrice Di Meglio
c0053223be Add View.getResolvedLayoutDirection()
- update Callback2 interface
- update Gravity.getAbsoluteGravity() and Gravity.apply() to be more generic
 by changing "boolean isRtl" parameter to "int layoutDirection"
- fix BiDiTests for RTL FrameLayout

Change-Id: I97bb456c22d5fd3ecb34f08564ce4dbed37e7459
2011-06-14 16:16:39 -07:00
Jeff Brown
3e234ba1fb Merge "Allow touches to slide out of the navigation bar." 2011-06-13 20:30:09 -07:00
Adam Powell
2714abff5c Merge "Expose api on View to determine if the view can be scrolled." 2011-06-13 18:45:40 -07:00
Jeff Brown
98db5fabda Allow touches to slide out of the navigation bar.
Change-Id: I73cabba3d62f47829bf6217700ace56a27c42b1d
2011-06-13 18:05:18 -07:00
Adam Powell
6915944fc7 Expose api on View to determine if the view can be scrolled.
Change-Id: I41783237a975151392faec04c6a85803ebbccfb4
2011-06-13 17:54:55 -07:00
Svetoslav Ganov
eeee4d2c01 Final polish of the interrogation feature.
1. Added a new event type for notifying client accessibilitiy
   services for changes in the layout. The event is fired at
   most once for a given time frame and is delivered to clients
   only if it originates from the window that can be interrogated.

2. Exposed the findByText functionality in AccessibilityNodeInfo.
   This is very useful for an accessibility service since it allows
   searching for something the user knows is on the screen thus
   avoiding touch exploring the content. Touch exploring is
   excellent for learning the apps but knowing them search is
   much faster.

3. Fixed a bug causing an accessibiliby service not to receive
   the event source in case of more than one service is registered
   and one of them does not have paermission to interrogate the window.
   The same event was dispatched to multiple services but if one
   of them does not have interrogation permission the event is
   modified to remove the source causing subsequent serivices not
   to get the later.

4. Moved the getSource setSource methods to AccessibilityRecord
   instead in AccessibilityEvent.

5. Hiden some protected members in AccessibilityRecod which should
   not be made public since getters exist.

6. Added the View absolute coordinates in the screen to AccessibilityNodeInfo.
   This is needed for fast computation of relative positions of
   views from accessibility - common use case for the later.

7. Fixed a couple of marshalling bugs.

8. Added a test for the object contract of AccessibilityNodeInfo.

Change-Id: Id9dc50c33aff441e4c93d25ea316c9bbc4bd7a35
2011-06-10 21:10:46 -07:00