Commit Graph

983 Commits

Author SHA1 Message Date
Gilles Debunne
c35a829b10 Modified OverScroller curves
When OverFlinged, the scroller goes back to the edge using a spline
instead of a parabolic curve. This ensures that the final velocity of
this movement is null, thus removing the visual discontinuity that can
be observed with the current version.

Bouncing coefficient is deprecated. Changed doc accordingly.

New more expressive spline tension tuning coefficients.
These were tuned to match the one used before the refactoring of CL 81532.

Change-Id: I80dbccebea11544595935077463ad7737c3392e9
2010-12-10 16:04:06 -08:00
Gilles Debunne
cf9cf2f40e New API in InputConnection to signal IME's text correction.
Scafolding so that the IME team can start working on this feature.

The animation part in the TextView is missing.

Change-Id: I8225538564370fba1500e3539742a8ab79bdd199
2010-12-10 11:31:59 -08:00
Adam Powell
20232d0f7c Holo scrollbars and related tweaks.
Added setting for placing vertical scrollbars on left or right.

Added setting for showing fast scroll persistently.

Fixed a bug where inset padding was miscalculated for horizontal scroll bars.

Fixed a bug where padded ListViews would draw fading edges incorrectly

Change-Id: I1f8499895272d42598b4b3fd3375301115def461
2010-12-09 22:47:20 -08:00
Dianne Hackborn
a64f506941 Merge "Fix issue #3272051: Use backward transition when going backwards." 2010-12-09 19:25:17 -08:00
Dianne Hackborn
7da6ac33a9 Fix issue #3272051: Use backward transition when going backwards.
Also know as:

Issue #3272051 Contacts edit view: Tapping the in-app back button
results in a forward transition

Yeah more complexity in deciding which animation to use.

Also reduce complexity in deciding which app's animation set to use,
to balance things out (and make it have less stupid behavior).

Change-Id: I78c6c5c5249a96206f7e03ce587c1dcb9a7dc14f
2010-12-09 19:22:04 -08:00
Romain Guy
af636ebf5f Don't set the invisible flag when saving an empty layer.
Bug #3270371

Change-Id: I65e85671c2fb70d74553c91213e5e759e0ac64ee
2010-12-09 17:47:21 -08:00
Mathias Agopian
d211230633 remove support for PUSH_BUFFER surfaces and overlays
the same functionality is now supported through
the h/w composer HAL, and YUV support in the GPU.

Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
2010-12-08 16:13:59 -08:00
Romain Guy
f8d47b88dc Merge "Fallback to software rendering when eglMakeCurrent fails. Bug #3200621" 2010-12-08 11:49:41 -08:00
Romain Guy
9745fae73b Fallback to software rendering when eglMakeCurrent fails.
Bug #3200621

Change-Id: Id8a455e64a1af23840752124b49c070c00e5e2a6
2010-12-08 11:39:15 -08:00
Dianne Hackborn
0aae2d4e00 Rework activity lifecycle so onSaveInstanceState() is after onPause().
The goal is to fix a bunch of fragment-related bugs caused by various
things trying to do fragment transactions after onPause()...  which
currently throws an exception, since this is after the activity's state
has been saved so the new fragment state can be lost.

The basic change is relatively simple -- we now consider processes
hosting paused or stopping activities to be unkillable, and the client
code now does the onSaveInstanceState() as part of stopping the
activity.

For compatibility, if an app's targetSdkVersion is < HONEYCOMB, the
client side will still call onSaveInstanceState() prior to onPause()
and just hold on to that state until it needs to report it in once
being stopped.

Also included here is a change to generate thumbnails by taking
screenshots.  The code for generating thumbnails by re-rendering
the view hierarchy is thus removed.

Change-Id: Iac1191646bd3cadbfe65779297795f22edf7e74a
2010-12-08 00:35:27 -08:00
Mathias Agopian
f9e2ca326f Merge "resolved conflicts for merge of a0f011ff to master" 2010-12-07 22:57:04 -08:00
Mathias Agopian
669084dbe6 resolved conflicts for merge of a0f011ff to master
Change-Id: I4c17021fc269ce66c98cc345353600eda332f980
2010-12-07 22:53:40 -08:00
Romain Guy
dde4c35385 Merge "Correctly release the OpenGL Canvas on EGL error." 2010-12-07 20:15:29 -08:00
Romain Guy
67f27952c1 Correctly release the OpenGL Canvas on EGL error.
Change-Id: Ib31fd8445f7ce5f7aa7e0205de0e7db80d024fc2
2010-12-07 20:12:50 -08:00
Jeff Brown
49ed71db42 Add support for fallback keycodes.
This change enables the framework to synthesize key events to implement
default behavior when an application does not handle a key.
For example, this change enables numeric keypad keys to perform
their associated special function when numlock is off.

The application is informed that it is processing a fallback keypress
so it can choose to ignore it.

Added a new keycode for switching applications.

Added ALT key deadkeys.

New default key mappings:
- ESC -> BACK
- Meta+ESC -> HOME
- Alt+ESC -> MENU
- Meta+Space -> SEARCH
- Meta+Tab -> APP_SWITCH

Fixed some comments.
Fixed some tests.

Change-Id: Id7f3b6645f3a350275e624547822f72652f3defe
2010-12-07 17:35:26 -08:00
Romain Guy
dbf78bdb7a Fix possible NPE in ViewRoot with GL rendering enabled.
Bug #3257222

Change-Id: Ic11cbe5f06311627eb7eac4dfa8864b43651d904
2010-12-07 17:04:03 -08:00
Mathias Agopian
a0f011ff49 am 05813b0e: Merge changes I244b5469,I32044e91 into gingerbread
* commit '05813b0eb92cb1bc79607ee402f14ca1e4b43f6d':
  [3253328, 3171580] Treat GONE and INVISIBLE views the same when calculating transparent regions
  [3171580] Fix two typos related to fixed-size buffers
2010-12-07 14:20:14 -08:00
Michael Jurka
4d2bd4c9ae fixing getLocationInWindow
- takes into account mTranslationX/Y

Change-Id: I7d622fe9e8b5e021f8585894b72ffd82c087cc57
2010-12-03 18:05:12 -08:00
Mathias Agopian
e33811512e [3253328, 3171580] Treat GONE and INVISIBLE views the same when calculating transparent regions
We only used to check for INVISIBLE, which prevented some Surfaceview
optimization to take place.

Change-Id: I244b54696d861a022ca1c334ff61ab7efb899587
2010-12-03 17:35:06 -08:00
Chet Haase
f2f7d8f9dd Fix invalidation issue for optimized/GL case.
The bug caused intermittent artifacts where some apps would not get
repainted until some overall screen invalidation occurred.

Change-Id: I82a3294429f15fe51cc8f4b47134e3b5540cb240
2010-12-03 14:35:29 -08:00
Dianne Hackborn
189ee18d6c Implement smarter sizing of WRAP_CONTENT windows.
This extends the view hierarchy's measure pass to allow view to
propagate up to their parent additional information besides just
their measured size.  They can now report that their measured width
and/or height should be larger than the size their parent is
limiting them to (even though by definition they need to contrain
their reported measurements to the limits imposed by the parent).

ViewRoot uses this information to determine if it should remeasure
the window with a larger size limit to try to make it fit.

Change-Id: I90af3b7a8ec45d0a5c003fb009857025209d83eb
2010-12-03 10:46:18 -08:00
Jeff Brown
9065504a63 Improve support for external keyboards.
Use Vendor ID, Product ID and optionally the Version to
locate keymaps and configuration files for external devices.

Moved virtual key definition parsing to native code so that
EventHub can identify touch screens with virtual keys and load
the appropriate key layout file.

Cleaned up a lot of old code in EventHub.

Fixed a regression in ViewRoot's fallback event handling.

Fixed a minor bug in FileMap that caused it to try to munmap
or close invalid handled when released if the attempt to map
the file failed.

Added a couple of new String8 conveniences for formatting strings.

Modified Tokenizer to fall back to open+read when mmap fails since
we can't mmap sysfs files as needed to open the virtual key
definition files in /sys/board_properties/.

Change-Id: I6ca5e5f9547619fd082ddac47e87ce185da69ee6
2010-12-02 16:01:32 -08:00
Romain Guy
7d69594580 Skip DIRTY_OPAQUE optimizations when ViewRoot changes the dirty region.
Bug #3159481

Change-Id: I97d6517f4648b3efe8b13a277e0374844a4d8455
2010-12-02 00:11:12 -08:00
Michael Jurka
67f23ba649 Revert "Re-add performance optimization in View"
Found reproducible cases of Launcher freezing up due to this change

This reverts commit 62490bd358.

Change-Id: I1b10e05ee9f0c43566b53c7a11e61fc168d17a75
2010-12-02 00:06:26 -08:00
Christopher Tate
407b4e91fe API CHANGE: drags can now carry an originator-only object payload
When calling startDrag(), the app can now supply an Object to be passed
along in every DragEvent that the app winds up receiving itself.  This
object is *not* passed to any other applications; it's strictly app-
local.  The purpose is to allow state tracking/management to be done
directly through the drag mechanism rather than requiring out-of-band
code.

An example of the utility here might be TextEdit widgets.  A drag that
starts in one TextEdit but ends in a different one should be treated as
a copy/paste operation, where the originating TextEdit is not altered.
However, a drag that starts and ends in the *same* TextEdit is a 'move'
operation within that TextEdit; the text is removed from its original
position and inserted at the drop point.  To support this easily, the
drag/drop code in TextEdit can now pass a pointer to the originating
view as the local state object.  Then, the drop recipient could tell
whether the drag started within the same TextEdit without needing to
implement any other out-of-band state tracking.

This CL (and its accompanying CLs in a few other packages where the
startDrag() API is being used) adds the new local-state parameter to
the API, but does not actually change the behavior of any existing
clients.

Change-Id: Icba73b2ab4a650b7a94485a19633065b0ef9058c
2010-12-01 14:45:06 -08:00
Gilles Debunne
fff4ab09b6 Refactored OverScroller
Restored the interpolator and a constructor with 4 parameters.

New spline coefficients, spline computation moved to MagneticOverScroller, which has been
renamed SplineOverScroller.

Change-Id: If1ab2653bb998600e9c5d6f46dfd6cd30fa44efc
2010-12-01 11:41:42 -08:00
Dianne Hackborn
0f761d6b8f Implement issue #3201795: Improve transition when keyboard comes up
ViewRoot now does a fade animation between a snapshot of the previous
layout to the new one when its content rect changes.

Also tweaked some things in the window manager to fix problems in
deciding when to animate the movement of a window and when not to.

Change-Id: I9b4b3bd53c8258bd39a2f2fc315e77cfc56a409c
2010-12-01 11:00:42 -08:00
Jeff Brown
46a5ae6dd7 Fix documentation bug.
Change-Id: Idd8857087a61e357466c8db60d56075637240c5d
2010-11-30 19:52:29 -08:00
Jeff Brown
1f2451007c Ensure the ShortcutManager uses the correct key character map.
The ShortcutManager used to only receive the key code of the key event
that triggered the shortcut.  This change now provides the shortcut
manager with the whole key event so it can look up the associated
character using the correct key character map.

To make this more efficient, added a mechanism for recycling
key events.  At the moment it is only used by key events owned by the
system process, since clients of the existing API (such as Views)
might continue to hold on to key events after dispatch has finished so
they would break if the key event were recycled by the framework.

Deprecated KeyCharacterMap.BUILT_IN_KEYBOARD.

Change-Id: I4313725dd63f2be01c350c005a41c7fde9bc67e8
2010-11-30 18:50:17 -08:00
Michael Jurka
62490bd358 Re-add performance optimization in View
- undoing change 79897

Change-Id: I52eb1247c4fead5e4203d7e7200129aa815e7c9b
2010-11-30 13:49:24 -08:00
Chet Haase
7306668586 animation bugfix plus xml resources for new View properties
There was a bug around animation duration where it was possible,
for small durations or large inter-frame times, to calculate
fractions outside of the 0-1 range, causing bad value calculations.

Unrelated: new View properties for translation, scale, and rotation
were added in this release. This commit addes XML resources for
those properties.

Change-Id: Ieaf5dd729588adb2a40656aa82beecc3576f4af5
2010-11-30 11:11:43 -08:00
Dianne Hackborn
fefc0743f8 Merge "Auto-show IME for dialogs on large screens." 2010-11-29 22:56:03 -08:00
Dianne Hackborn
7d3a5bcf30 Auto-show IME for dialogs on large screens.
On a large screen the IME is not going to as significantly
cover a pan & scan window, so allow it to auto-show if the
app hasn't otherwise specified its visibility.

Also some fixes here and there.

Change-Id: I10227ec59c43454e06e6870633f53426f4d78b83
2010-11-29 22:52:12 -08:00
satok
af4bf400ab Fix a bug of equals in InputMethodSubtype
Change-Id: I68b4726bedfb55d4737cf859ad3cb54bc19f9511
2010-11-30 14:02:49 +09:00
Dianne Hackborn
711e62a84f Fix issue #3225529: AlertDialogs are squishing their content views
ViewRoot is now smarter about measuring WRAP/WRAP windows.

Change-Id: I690fc78ddbe252d7c8070edb8e7352aec6c67ce9
2010-11-29 18:06:36 -08:00
Dianne Hackborn
f9d0be917b Implement rotation animations.
This introduces a small new feature for ScaleAnimation allowing
the scaling factor to be expressed as a percentage of the object
(which is the same as the existing float interpretation), a
percentage of the container, or a fixed dimension.  Maybe not
useful for anything else, but I needed it for this.

Also fix a bug in how transformation matrices were propagated
from the Animation to Surface Flinger, so that rotate and skew
animations will actually work. :p

Change-Id: I301f4caa2147aa35564b5e511cb9c0b368d2425d
2010-11-28 18:28:57 -08:00
satok
440aab54ca Removed InputMethodSubtypePicker
Change-Id: I08abac5d65a30c02cc671f4f70e93df25b6c8a92
2010-11-25 19:53:56 +09:00
Brad Fitzpatrick
c1a968a8ed Option to enable StrictMode flashing on userdebug builds.
Change-Id: Ifc8e733ea0e0f6bda234a18ad84bcd230879e802
2010-11-24 13:41:48 -08:00
Joe Onorato
7750c2ac61 Merge "this should be @hidden" 2010-11-24 11:15:07 -08:00
Joe Onorato
a89e903fd4 this should be @hidden
Change-Id: Ib372fa15a5284b30e2edef5a1d90544eb2166ee4
2010-11-24 11:13:44 -08:00
Dianne Hackborn
a111187a5b Change rotation freeze to all be implemented in window manager.
Lots of work for no visible change in behavior, but now we can
do some fancier stuff...

Also allow rotation in all 4 directions.

Change-Id: I7e5e9537c5e359f69b83c10f65cc1ce95f371461
2010-11-24 10:41:07 -08:00
Joe Onorato
29fc2c9705 Allow status bar panels to be on top of the status bar.
Change-Id: I3c74ece5f7042e6302717f4263746d59d5447ec9
2010-11-24 10:26:50 -08:00
satok
2820351489 Add an API to set InputMethodAndSubtype
Change-Id: I66f1a4c8e0d98705614f12a737e7efcd0263b72a
2010-11-24 12:28:45 +09:00
satok
f3db1af8d5 Change return type of getShortcutInputMethodsAndSubtypes to Map<InputMethodInfo, List<InputMethodSubtype>>
bug: 3201828

- Brushed up the code

Change-Id: I11ad9d1d749bd8947144ca7f1676bab3cf777fd6
2010-11-24 06:32:44 +09:00
Adam Powell
637d337b58 Merge overscrolling from gingerbread.
Change-Id: I3eb4413261b38ddd8c609d6153bdfd4ae46c6a0f
2010-11-23 09:30:10 -08:00
Brad Fitzpatrick
6804433b0a StrictMode visual notification support.
Change-Id: I64a5adb683060d9649f1132414547bb3c346a2a8
2010-11-22 19:39:52 -08:00
satok
4e4569dab5 Add an API to get shortcut IMEs
- If there are no selected shortcut IMEs, the most applicable voice input will be selected as a shortcut IME

Change-Id: Ibd0f7ef5101013569c303820a3adc9038a97356d
2010-11-23 10:26:11 +09:00
Brian Carlstrom
8c62c1d6b9 Merge "Adding CloseGuard to Animation to find forgotten animations" 2010-11-19 16:28:30 -08:00
Brian Carlstrom
877e0b99ee Adding CloseGuard to Animation to find forgotten animations
Change-Id: I90df2c8a88dd75550431b7db63242db1a1b2f16a
2010-11-19 16:16:46 -08:00
Christopher Tate
855e4c9884 Hide DragEvent pool implementation and add docs
Change-Id: Idaead8ab604c69d6dbc1bd5de3afa86e1fae8396
2010-11-19 15:32:09 -08:00