Commit Graph

2015 Commits

Author SHA1 Message Date
Romain Guy
8d8533a9f0 Merge "Implement saveLayer*() correctly" 2011-08-25 11:46:25 -07:00
Romain Guy
189887e0ae Implement saveLayer*() correctly
When the Rect parameter is null, the layer's bounds must match the
clip rect.

Change-Id: Idbb3973af039bf319e840d1095b7037bf1015f35
2011-08-25 11:45:13 -07:00
Svetoslav Ganov
12bde60b39 Merge "Intra-process view hierarchy interrogation does not work." 2011-08-25 08:54:29 -07:00
satok
1e3fac8bc6 Merge "Add functions to enable / disable spell checker" 2011-08-25 01:21:05 -07:00
satok
a33c4fc5be Add functions to enable / disable spell checker
Bug: 5057977

Change-Id: I2b27bd5f55feb305368034d7e95f83257ac4b3e6
2011-08-25 17:08:19 +09:00
Chet Haase
c93fcdce22 Merge "Fix issue with views becoming visible with stale content." 2011-08-25 00:54:14 -07:00
Chet Haase
4324eadc89 Fix issue with views becoming visible with stale content.
An earlier fix nooop'd invalidate calls on non-visible views. This
caused an issue where changes to the view while it was not visible
(such as changing the text of a TextView) would not get picked up
by the invalidation process.

The fix is to automatically invalidate() a view when it becomes
visible, to account for any changes that may have occurred to its
content while it was not visible.

Change-Id: Ia0f8fb42ca627b5a38f08761fa622b23f2dfa38b
2011-08-24 21:31:03 -07:00
Dianne Hackborn
6ff0037792 Merge "Fix to show the correct HW accel background in the preview window." 2011-08-24 20:56:05 -07:00
Dianne Hackborn
07213e6d88 Fix to show the correct HW accel background in the preview window.
Also tweak wallpaper service to do a cleaner transition to a
static wallpaper.

Change-Id: I876a32091f92dd5a529d7fd809d3b8e730bb7d2a
2011-08-24 20:05:39 -07:00
Gilles Debunne
f874c4f934 Merge "Spell checking in TextViews" 2011-08-24 17:53:42 -07:00
Dianne Hackborn
c2644096b7 Merge "Fix issue #5050039: Launcher is sometimes rendering underneath the system/status bar" 2011-08-24 17:39:07 -07:00
Romain Guy
c39e8e89eb Merge "Add OpenGL backend to ImageWallpaper Bug #5204874" 2011-08-24 17:09:30 -07:00
Romain Guy
407ec78b82 Add OpenGL backend to ImageWallpaper
Bug #5204874

Currently disabled.

Change-Id: I5e7b35dce2981b0691f107e39c6394b260466543
2011-08-24 17:06:58 -07:00
Dianne Hackborn
fa6b35be12 Fix issue #5050039: Launcher is sometimes rendering underneath the system/status bar
It looks like this is caused by the change in HC to stop activities when
the screen is off.  ViewRootImpl (a.k.a. ViewRoot) has special code to
avoid doing work when it is stopped, and it is now stopped when the screen
is off.  The problem here is if the window's activity is stopped when the
window is first displayed, then it would never do the initial fitSystemWindows()
with the status bar offsets given by the window manager, and never do this
again until the status bar changes.

Also included here is some re-arranging of the code dealing with the offsets
changing, because it was dealt with in two places and only one had a bunch of
code dealing with HW accelerated drawing and performing the fade transition
between states.  Now all of that is unified into one place.

Change-Id: I9828f02664cc622dbf186effb1f685a8aa4456a1
2011-08-24 17:03:54 -07:00
Svetoslav Ganov
8bd69610aa Intra-process view hierarchy interrogation does not work.
The content retrieval APIs are synchronous from a client's
perspective but internally they are asynchronous. The client thread
calls into the system requesting an action and providing a callback
to receive the result after which it waits up to a timeout for that
result. The system enforces security and then delegates the request
to a given view hierarchy where a message is posted (from a binder
thread) describing what to be performed by the main UI thread the
result of which it delivered via the mentioned callback. However,
the blocked client thread and the main UI thread of the target view
hierarchy can be the same one, for example an accessibility service
and an activity run in the same process, thus they are executed on the
same main thread. In such a case the retrieval will fail since the UI
thread that has to process the message describing the work to be done
is blocked waiting for a result is has to compute! To avoid this scenario
when making a call the client also passes its process and thread ids so
the accessed view hierarchy can detect if the client making the request
is running in its main UI thread. In such a case the view hierarchy,
specifically the binder thread performing the IPC to it, does not post a
message to be run on the UI thread but passes it to the singleton
interaction client through which all interactions occur and the latter is
responsible to execute the message before starting to wait for the
asynchronous result delivered via the callback. In this case the expected
result is already received so no waiting is performed.

bug:5138933

Change-Id: I382e2d8689f5189110226613c2387f553df98bd3
2011-08-24 16:26:43 -07:00
Dianne Hackborn
a4bacb8b74 Fix animation scale to also scale start offset.
Also more better info in meminfo dump.

Change-Id: I45ab41821cd8dd81b61605de6a0cf7074e76c71a
2011-08-24 15:12:38 -07:00
Chet Haase
4694b7f186 Merge "Fix docs for fill behavior in Animation class." 2011-08-24 11:38:23 -07:00
Chet Haase
d8991c4ab0 Fix docs for fill behavior in Animation class.
Change-Id: I9230e9b9841dbecead51a6716195749b0c5a0e39
2011-08-24 07:20:53 -07:00
satok
ada8c4e6a3 Add functions to set / get SpellCheckerSubtype
Change-Id: I977326879fe201c4dee4a87da361217175eb6041
2011-08-24 16:00:55 +09:00
Dianne Hackborn
29aae6f36e Fix issue #4279860: previous UI flashes before showing lock screen...
...(when turning display on after recently turning it off)

Also clean up when we decide to turn the screen on to improve that
transition.  There are still problems here with turning it on
before the wallpaper gets dispayed.

Change-Id: I2bc56c12e5ad75a1ce5a0546f43a845bf0823e66
2011-08-23 17:44:52 -07:00
Chet Haase
09d569a57e Merge "Fix invalidation roundoff error with old animations" 2011-08-23 15:11:48 -07:00
Chet Haase
530b22ab4e Fix invalidation roundoff error with old animations
We need to add .5 to the width/height of invalidation areas to
avoid truncation errors.

Change-Id: Iaa2407a91a6a7f6d729af21d45e77e436197df11
2011-08-23 14:36:55 -07:00
Gilles Debunne
6435a56a8c Spell checking in TextViews
New UX interactions (the Paste action is no longer displayed after a delay)
suggestionEnabled flag replaced by existing input type flag.
removeSpans fixed in SpannableStringBuilder to always send notifications
SuggestionSpan handled by TextView instead of SpannableStringBuilder

New span update algorithm to correctly handle edition around word boundaries.

Change-Id: I52c01172f19e595fa512e285a565a3fd97c3c50e
2011-08-23 13:13:54 -07:00
Amith Yamasani
defa12e95b Merge "Adjust slider range to be one more than max for base 1 volumes." 2011-08-23 12:13:07 -07:00
Amith Yamasani
d47a3aee7a Adjust slider range to be one more than max for base 1 volumes.
Bug: 5191642
Change-Id: Id479ce584753fbb56feed22a8506579f2d9e35fd
2011-08-23 11:11:35 -07:00
Mathias Agopian
67403e096e BLUR_BEHIND flag is not supported anymore
Bug: 5185650
Change-Id: I56541d4967b90b150a734be1bbeff696eb6a4fb3
2011-08-22 20:03:58 -07:00
Fabrice Di Meglio
c2d256b415 Merge "Improve TextDirection resolution" 2011-08-22 16:24:43 -07:00
Chet Haase
9af1d28082 Merge "Fix invalidation bug with INVISIBLE views." 2011-08-22 15:19:56 -07:00
Chet Haase
a68c5cf8a1 Fix invalidation bug with INVISIBLE views.
There was a bug in the invalidation code that prevented some
animations fropm starting. An INVISIBLE view would mark some dirty
flags then propagate the invaliation up the parent hierarchy. This would
cause a redraw of the hierarchy, but would not include the invisible
view (invisible children do not get drawn). Thus the flags wouldn't get cleared.

Later, an animation to fade the view in (making it VISIBLE on start) would
be started on the view. But the invalidation triggered by that animation would
not propagate because the invisible view would see that it was already
invalidated, and wouldn't send the message along. No invalidation means no drawing,
so the animation wouldn't start because the invalidation didn't make it's way up to the
top and the child's parent did not redraw.

The fix is to noop the invalidate() call for GONE/INVISIBLE views which do not
have animations set on them. Making these views VISIBLE later will trigger
an invalidation, as will starting an animation on them, so the behavior should
not change except for the buggy situation.

Change-Id: I7a26a4bc7823f08fef56e52648e77ca256df6858
2011-08-22 14:27:51 -07:00
Dianne Hackborn
661cd52e0e Add progress dialog for booting after an upgrade.
This introduces a new facility for code during the boot process
to display messages to the user through a progress dialog.  This
is only for use when performing longer-than-usual post-upgrade
operations such as running dexopt on applications or upgrading
databases.

Change-Id: I0e78439ccec3850fb67872c22f235bf12a158dae
2011-08-22 13:42:05 -07:00
Alexandre Elias
c01391fb4e Minor fixes to SurfaceTexture transform matrix.
- Sometimes, the applyUpdate was applied through draw() and the
  underlying matrix was not updated in time, causing "jitter".  Add a
  matrix update call in draw().

- Switch to invalidateParentIfNeeded() in setTransform().

Change-Id: I1cf9cdfe78f9d989821cdc9600984fc826430211
2011-08-19 16:53:42 -07:00
Fabrice Di Meglio
a646145c33 Improve TextDirection resolution
- remove unuseful heuristics
- tune Javadoc

Change-Id: Id72a158b3a17a528423d278b1cbfd95b8c2951b5
2011-08-19 16:19:37 -07:00
Jeff Brown
65fd251c39 Input system bug fixes, particularly for stylus.
Bug: 5049148

Finished stylus support, including support for indirect stylus
and mouse tools.

Added TILT axis.  When stylus tilt X/Y is available, it is transformed
into an orientation and tilt inclination which is a more convenient
representation and a simpler extension to the exiting API.

Touch devices now only report touch data using a single input
source.  Previously touch devices in pointer mode would report
both absolute touch pad data and cooked pointer gestures.
Now we just pick one.  The touch device switches modes as needed
when the focused application enables/disables pointer gestures.
This change greatly simplifies the code and reduces the load
on the input dispatcher.

Fixed an incorrect assumption that the value of ABS_(MT_)DISTANCE
would be zero whenever the stylus was in direct contact.  It appears
that the correct way to determine whether the stylus is in direct
contact (rather than hovering) is by checking for a non-zero
reported pressure.

Added code to read the initial state of tool buttons and axis values
when the input devices are initialized or reset.  This fixes
problems where the input mapper state might have the wrong initial
state.

Moved responsibility for cancelling pending inputs (keys down,
touches, etc.) to the InputDispatcher by sending it a device reset
notification.  This frees the InputReader from having to synthesize
events during reset, which was cumbersome and somewhat brittle
to begin with.

Consolidated more of the common accumulator logic from
SingleTouchInputMapper and MultiTouchInputMapper into
TouchInputMapper.

Improved the PointerLocation output.

Change-Id: I595d3647f7fd7cb1e3eff8b3c76b85043b5fe2f0
2011-08-19 15:02:26 -07:00
Amith Yamasani
baf6dbfa93 Dismiss the volume overlay dialog when user touches above the dialog as well.
Bug: 5165168
Change-Id: Ib343c3b88371cb93f8241b1085d1a2f36a77b1ac
2011-08-18 17:40:29 -07:00
Chet Haase
4abe2ac244 Merge "Fix potential null deref in ViewGroup when running transition" 2011-08-17 18:38:46 -07:00
Chet Haase
1abf7fa1d1 Fix potential null deref in ViewGroup when running transition
Change-Id: I9075c4a05e19122592145468e220afa43faee540
2011-08-17 18:31:56 -07:00
Fabrice Di Meglio
3de510313a Merge "Fix bug #5175022 Easy mode in MeasuredText.setPara() is no more used" 2011-08-17 17:30:46 -07:00
Fabrice Di Meglio
4b60c30838 Fix bug #5175022 Easy mode in MeasuredText.setPara() is no more used
- use the real TextDirectionHeuristics constants
- make more formal that LayoutDirection should be resolved BEFORE TextDirection
- reset TextDirection if LayoutDirection is recomputed
- remove non used TextDirectionHeuristic.isRtl(CharSequence...)

Change-Id: I1d53a7e3ee324cfd27785bb4d715d93de8d9ff4d
2011-08-17 17:15:12 -07:00
Daniel Sandler
351eb33d84 Merge "Allow views to setSystemUiVisibility() with the same value and have it work." 2011-08-17 16:21:38 -07:00
Daniel Sandler
fad9555217 Allow views to setSystemUiVisibility() with the same value and have it work.
This will save apps the trouble of having to first remove
the lights-out or hide-navigation flags before reapplying
them (in situations where the system UI has decided to
override those flags).

Bug: 5052456
Change-Id: I31f6ca9105379ae5f0216ebe3c39fc8d5d935f92
2011-08-17 14:29:10 -04:00
Romain Guy
4f536b3ba8 Merge "Prevent NPE in HardwareRenderer Bug #5169815" 2011-08-16 14:30:50 -07:00
Romain Guy
86e3e22ba8 Prevent NPE in HardwareRenderer
Bug #5169815

Change-Id: I168b61f3a6cea679e455cf28282b69bb7f3072e5
2011-08-16 14:30:08 -07:00
Romain Guy
2ce81fcd7d Merge "Add an API to set the transform on a TextureView's surface texture. Bug #5156689" 2011-08-16 13:56:38 -07:00
Romain Guy
302a9df1d5 Add an API to set the transform on a TextureView's surface texture.
Bug #5156689

Change-Id: I635a625885c9b832a60d44ece0de7613ceb84109
2011-08-16 13:55:02 -07:00
Adam Powell
e43fca9957 Offer a masked version of setUiOptions for windows to only modify certain flags.
Change-Id: I36aaff982767f8984c468e8c13f8d5ec8c3c0040
2011-08-16 13:07:22 -07:00
Jeff Brown
4dfbec2665 Find next focus id from inside-out.
Bug: 5165543

This change fixes some problems when the view hierarchy contains
duplicate ids, such as when ListViews contain nested custom views.
If the custom views contain next focused id hints, then the system
should prefer the other views within the ListView item over any
other views outside of the ListView item.

Change-Id: I5653ff6bac0bf9f08bd6ecbe5a3bb22ea47ab566
2011-08-15 14:55:37 -07:00
Adam Powell
e21f89c802 Merge "Fix bug 5159596 - Slider grabs touch point when trying to scroll a list" 2011-08-15 10:29:10 -07:00
Jeff Sharkey
f2452b997c Merge "Change Preferences padding to match UI spec." 2011-08-14 21:18:02 -07:00
Jeff Brown
8b65c902ee Merge "Use PARCELABLE_WIRTE_RETURN_VALUE flag in InputChannel. Bug: 5161290" 2011-08-14 20:13:19 -07:00
Adam Powell
1029866a12 Fix bug 5159596 - Slider grabs touch point when trying to scroll a list
SeekBar widgets were not good citizens when placed in scrolling containers.
Detect when a SeekBar being touched is in a scrolling container and fall
back to a touch slop-based method for beginning a drag. Taps along the
seek bar itself will still change the value on touch up, even if the touch
slop never initiated a proper drag.

Factor out the code used to determine scrolling container status in View
into something that can be reused elsewhere in the framework; leave it
@hidden for now.

Change-Id: I59a21e8ab2c3b0092fafedbcd6ae1ee15f45971c
2011-08-14 18:29:23 -07:00