Commit Graph

4726 Commits

Author SHA1 Message Date
Craig Mautner
007751276c Merge "Notify ViewRootImpl when it's safe to modify Canvas." into klp-dev 2013-08-19 23:13:47 +00:00
Craig Mautner
bc57cd1b24 Notify ViewRootImpl when it's safe to modify Canvas.
When Activity.convert{To|From}Translucent() is called the
ViewRootImpl is now notified when it is safe to convert the Canvas
from translucent to opaque and back to translucent. This will make
it possible to save resources when compositing opaque layers.

Fixes bug 10349536.

Change-Id: I7282aee1d54601fb00611d20be204bf164d873f6
2013-08-19 15:47:42 -07:00
Alan Viverette
92d2a31807 Merge "Remove duplicate sealed node checks, add missing checks" into klp-dev 2013-08-19 19:50:29 +00:00
Alan Viverette
df39cb9b05 Remove duplicate sealed node checks, add missing checks
Change-Id: Icbe79ba4b74776f845b43f261624d0dbeda4250b
2013-08-19 12:28:04 -07:00
Alan Viverette
77b2a86144 Merge "Fix padding resolution" into klp-dev 2013-08-17 02:00:39 +00:00
Romain Guy
83aec80fb4 Merge "Fix hardware layers lifecycle Bug #10075732" into klp-dev 2013-08-17 01:41:28 +00:00
Romain Guy
46bfc48110 Fix hardware layers lifecycle
Bug #10075732

Hardware layers could survive across EGL terminate events.

Change-Id: Ie8565d55cb29fe6625fa1584d695edfecd37ab5e
2013-08-16 18:38:29 -07:00
Alan Viverette
7b1a6f76de Fix padding resolution
BUG: 10361243
Change-Id: I61b03c08b45ca9c921bf787274bdbb3f174bbc7e
2013-08-16 15:03:35 -07:00
Chet Haase
199acdfcc9 Better Transition interruption
Previously, a running transition on a scene root would simply
be canceled when a new transition was started. This would result in
abrupt scene changes, especially in generic use cases where apps/widgets
would spawn multiple transitions in successive rendering frames due to
small changes in view properties.

The new approach is to check all running animations against new transitions.
If there are overlapping properties that are being set to different values,
the new animations win and the old ones are canceled. If the end values are the
same, the new animations are noop'd and the old ones are allowed to continue
as-is.

There was also improvement to capturing state while other transitions are
running, necessary in this new world where old transitions are allowed to
continue running. Now, transitions are pause()'d while values are captured,
then resume()'d after capturing is done. This allows the system to see what the
real view properties are, instead of the mid-animation values.

Change-Id: I8e77fb9c1967087a682bb26a45763005f5ca9179
2013-08-16 13:22:36 -07:00
Satoshi Kataoka
69da2690e5 Add an API supportsSwitchingToNextInput
To let the system know an IME supports switching to a next input method

Bug: 8364845
Change-Id: Iabf4f106893ee6a262ad0cd44dbec0c661bf0ff2
2013-08-15 16:11:41 +09:00
Alan Viverette
70e907f51f Merge "Prevent refocus after entering touch mode" into klp-dev 2013-08-15 00:01:03 +00:00
Alan Viverette
76e696f6d2 Merge "Add motion event forwarding hidden APIs to View" into klp-dev 2013-08-14 23:01:56 +00:00
Alan Viverette
6fb3b9eb28 Add motion event forwarding hidden APIs to View
Change-Id: Ia7ab5496f8064c96b34912b5f5e9af6fd0978b34
2013-08-14 14:57:13 -07:00
Alan Viverette
973f3b4ebf Prevent refocus after entering touch mode
BUG: 10210009
Change-Id: I9a5d7016728cc7d1fb1c759708b6df41c81865bb
2013-08-13 16:57:28 -07:00
John Spurlock
7facd7f6f1 Sysui flag-related doc fixes.
Add new flags to existing flag listings, fix a broken @link, and
tweak wording.

Change-Id: Iebc4f5fc1c6fc3f8685c6252f88d8044fe08b79d
2013-08-13 17:34:04 -04:00
Michael Wright
51b4a40ef5 Merge "Expose vendor and product IDs for InputDevices" into klp-dev 2013-08-13 00:04:08 +00:00
Michael Wright
54e56946d1 Expose vendor and product IDs for InputDevices
Change-Id: I08665a41e474cbedd10b342eeae20d2ca7c03ac0
2013-08-12 16:39:59 -07:00
Chet Haase
2b2d313e86 Merge "Reduce amount of invalidation when old-style animations are running" into klp-dev 2013-08-09 22:50:35 +00:00
Chet Haase
2632b5d0d2 Reduce amount of invalidation when old-style animations are running
Previously, old animations (view.animation.*) would cause invalidations on
both the area of the child view and then the entire parent area. There's no
reason for the second invalidation; only the child area need be redrawn.

Issue #10229470 Old animation code in View.draw() may be invalidating too much

Change-Id: I4d0d16321e20b2f34dc579eacf5d3841aed33d6d
2013-08-09 15:05:14 -07:00
keunyoung
f6c7a5fd66 Merge "add local focus mode and input event injection API to Window" into klp-dev 2013-08-09 21:51:30 +00:00
Alan Viverette
be11c364e7 Merge "Fix padding adjustment for scrollbars in View, FastScroller" into klp-dev 2013-08-09 20:46:02 +00:00
Alan Viverette
26bb253b40 Fix padding adjustment for scrollbars in View, FastScroller
BUG: 10224791,10248282
Change-Id: Ia89d2cbea163b7cad567ea37161552c1cfd66045
2013-08-09 10:40:50 -07:00
keunyoung
30f420fd6a add local focus mode and input event injection API to Window
- This enables keyboard navigation for window without focus.
 - FLAG_LOCAL_FOCUS_MODE puts window into local focus mode.
 - Application needs to put window in local focus mode, control focus, and
   inject events to make dpad navigation work.
 - Window in local focus mode does not interact with window manager or ime
   regarding focus related events.
 - Also renamed ViewRootImpl.dispatchKey to dispatchInputEvent to allow both key and touch events injection.

Change-Id: I8e8561f29e0dade3797fb7ae3ee7690e6b7f8895
2013-08-08 19:45:21 -07:00
Fabrice Di Meglio
4155e2e175 Fix bug #10210182 CTS: android.widget.cts.TextViewTest#testDrawableResolution is failing on KLP
This issue has been actually revealed by a fix for bug #7034321 (Need Drawable RTL support)
where I identified an issue with Drawables resolution in TextView (was missing a call to
resetResolvedDrawables() and resolveDrawables()).

- add missing resetResolvedDrawables() and resolveDrawables() in TextView.setRelativeDrawablesIfNeeded()
- fix View.resolveDrawables():

this was a bit trycky as View.resolveDrawables() was wrongly supposing that the layout direction was
resolved and it could access View.getLayoutDirection() and could position the PFLAG2_DRAWABLE_RESOLVED
bit.

Dont forget that resolution of RTL properties (layoutDirection, Drawables ...) is happening in
View.measure() but in our case (TexView constructor) we still need to resolve the Drawables.

So now, be sure that we cannot resolve the Drawable if layout direction has not being resolved and the
raw layout direction is LAYOUT_DIRECTION_INHERIT.

But we can also "cheat" if the raw layout direction is LAYOUT_DIRECTION_LTR or LAYOUT_DIRECTION_RTL
or LAYOUT_DIRECTION_LOCALE as its resolution will give the same value :-)

Change-Id: I7a242d918697e1e1c2febf229e8edf1866b855be
2013-08-08 18:22:08 -07:00
Jesse Hall
6a6bc216d1 Use new ISurfaceComposer::destroyDisplay method
Bug: 10191053
Change-Id: I3ecc6880db4a4c77c6db4e8b50faa9b4021d17c6
2013-08-08 15:44:15 -07:00
Satoshi Kataoka
b3c21ac7c6 Reduce the transaction fee of getEnabledInputMethodSubtypeList
Bug: 8467480
Change-Id: If18cce8fbe567df51f29adcdcedff3f743460b8b
2013-08-08 11:32:31 +09:00
Romain Guy
cb883303f9 Only destroy remote graphic buffers
Bug #9795157

Change-Id: Ia7a39d3ef40994fede185482a5b4ca5500249b34
2013-08-07 15:42:29 -07:00
Ken Wakasa
c3a1914bd7 Revert "Reduce the transaction fee of getEnabledInputMethodSubtypeList"
This reverts commit e9a6f9713c.

Change-Id: I611d31086d4f02aae5c7021ac92975bd92a59f34
2013-08-07 15:03:24 +00:00
Satoshi Kataoka
e9a6f9713c Reduce the transaction fee of getEnabledInputMethodSubtypeList
Bug: 8467480
Change-Id: Ic1fddfe433e097041fcb09d1fd341d77d7d8b13b
2013-08-07 17:12:58 +09:00
John Spurlock
166bc5b664 Merge "Introduce new transparent bars sysui flags." 2013-08-06 22:29:17 +00:00
Mathias Agopian
52a9a10b6b Clearly separate consumer and producer interfaces
Bug: 9265647
Change-Id: Ic68e91788d0a05251e1d2fb9f9d4de403c7099bf
2013-08-06 13:07:42 -07:00
John Spurlock
e1f366faf8 Introduce new transparent bars sysui flags.
Two new public sysui flags for views to request transparent
bars:
  View.SYSTEM_UI_FLAG_TRANSPARENT_STATUS
  View.SYSTEM_UI_FLAG_TRANSPARENT_NAVIGATION

This first change simply introduces the flags at the framework
level, and makes the requisite layout tweaks to WM.

As part of this change, expunge the term "hideybars" from the
codebase. The flag to declare support for transient bars is called:
  View.SYSTEM_UI_FLAG_ALLOW_TRANSIENT

Final visuals/transitions between opaque/transparent bars will be
done as a subsequent change. Right now the transparent style is
identical to the transient bars.

Change-Id: I5ead9c5e7b77f212df5b2a5f6e770596cd2226f3
2013-08-06 14:17:22 -04:00
Alan Viverette
2191a0c857 Merge "Move caption style to its own class, add presets" 2013-08-05 18:32:20 +00:00
Craig Mautner
5c7132560a Merge "Add force default orientation." 2013-08-03 22:32:04 +00:00
Jeff Brown
7d00affce6 Support public virtual displays.
Refactor the new private virtual display API to also support
creating public virtual displays with various characteristics.
This feature requires special permissions and is only intended
for use by the system.

Change-Id: I44dd19f37cf76ea6d6e313afe42f4a412bd96663
2013-08-02 21:11:07 -07:00
Alan Viverette
43a1e3d319 Move caption style to its own class, add presets
BUG: 9926077
Change-Id: I14e809c5a95103e57d30f4273399e9914af52b56
2013-08-02 16:45:03 -07:00
Craig Mautner
46ac6fa614 Add force default orientation.
Devices can be configured to remain in their default landscape or
portrait orientation by setting config_forceDefaultOrientation true
in overlay/.../values/config.xml.

Activities that desire to run in the non-default orientation are
supported by creating a logical display within the physical display.
Transitions to and from the activity perform a crossfade rather than
the normal rotation animation.

Also, improve SurfaceTrace debug output.

Fixes bug 9695710.

Change-Id: I053e136cd2b9ae200028595f245b6ada5927cfe9
2013-08-02 16:23:58 -07:00
Satoshi Kataoka
1a4645d030 Merge "Small cleanup on InputMethodInfo" 2013-08-02 03:22:26 +00:00
Satoshi Kataoka
660e6c96e3 Small cleanup on InputMethodInfo
Change-Id: I7879a8d9fe83fcd7362ecc4ab60460a3212ac8c4
2013-08-02 11:55:57 +09:00
Fabrice Di Meglio
3f5a90b2fb Add automatic Drawable mirroring capability when in RTL layout direction
- default value is "no mirroring"
- introduce android:autoMirrored as a new attribute for Drawable,
BitmapDrawable, LayerDrawable, StateListDrawable and NinePatchDrawable
- setting android:autoMirrored="true" means that the drawable will
be mirrored when the layout direction is RTL (right-to-left)
- also fix an issue with ImageView drawable layout direction not
updated correctly when RTL properties were changed

See bug #7034321 Need Drawable RTL support

Change-Id: If595ee5106c786f38e786d3a032e182f784a9d97
2013-08-01 15:15:10 -07:00
Satoshi Kataoka
dc8abf6cee Cleanup InputMethodSubtype and add "isAsciiCapable".
Bug: 8364845
Change-Id: Ic3ace4b6e0432d56696bcbc0be336aec1dc744a5
2013-08-01 17:17:48 +09:00
Chet Haase
b63425e4e7 Merge "Fix lazy measure logic to not use obsolete values" 2013-07-26 00:27:50 +00:00
Chet Haase
1f99240c64 am d766d71a: am d547bcec: Merge "Return the actual interpolator of the ViewPropertyAnimator"
* commit 'd766d71a4ccb2d2a6966b2319f272f64fdcbfa7d':
  Return the actual interpolator of the ViewPropertyAnimator
2013-07-25 17:04:16 -07:00
Chet Haase
deababcd53 Fix lazy measure logic to not use obsolete values
Issue #10022821 Lazy measure broken

Change-Id: I618ed5e80291304b5430c853d51e70e09f057e4c
2013-07-25 16:06:48 -07:00
Cyril Mottier
d40acfb89e Return the actual interpolator of the ViewPropertyAnimator
The implementation of getInterpolator() was always returning null
(probably a quick copy-paste from the default Animator implementation).
This patch fixes the problem by returning the interpolator set by
setInterpolator(TimeInterpolator) or the default one if none has been
set yet.

This patch also avoid creating multiple instances of ValueAnimator in 
order to retrieve some default values.

Change-Id: I8880f419f021a8b980fb32bebe927915fde19bf7
2013-07-25 10:08:29 +02:00
Alan Viverette
ed7821a60c Use clearFocus() when entering touch mode
Calling unFocus() leaves the view hierarchy in an inconsistent
state. This is okay in ViewGroup, where the state is manually
updated, but causes issues in ViewRootImpl.

BUG: 9983358
Change-Id: Id63e62962d895e6bd4f816f202dcf77254ceab4e
2013-07-24 15:49:23 -07:00
Alan Viverette
87c79a18fe Merge "Add secure settings for captions" 2013-07-24 18:16:16 +00:00
Alan Viverette
ef79380d2f Add secure settings for captions
BUG: 9926077
Change-Id: I202aef88943e1f884e5bd4c112f081b8b4b76ada
2013-07-23 14:15:28 -07:00
Michael Wright
b1f5585f89 Merge "Add controller numbers for gamepads / joysticks" 2013-07-23 20:52:57 +00:00
Michael Wright
ac6c78b6ee Add controller numbers for gamepads / joysticks
Change-Id: I30ac9add6a2473a5ebd83a022c571545e61d1136
2013-07-23 13:50:10 -07:00