Commit Graph

1255 Commits

Author SHA1 Message Date
Gilles Debunne
1cafde04c5 Moved Paste popup window up in TextView
Bug 3228601

A tap on the insertion handle displays the paste popup immediately.
Tapping again hides the popup.
Bug 3248651

Change-Id: I5a501b3ebe36e23cbbf0f1b3d588884c6ecd1d56
2010-12-06 12:37:24 -08:00
Gilles Debunne
cb60e2acf6 Merge "Made TextView use the new localState API for drag info" 2010-12-06 10:22:12 -08:00
Adam Powell
3f7f7ac30a Add dividers to action bar navigation. Lighter dividers for holo themes.
Change-Id: I879dbd815a891fe5db20678b674a9cee63a5e1ae
2010-12-05 16:44:38 -08:00
Adam Powell
da13dbae6f Fix bug 3214215 - ListView should stay scrolled to the bottom in transcript mode after a resize
Change-Id: Iaccc61d9b38e7add44216f3e39b196623773af91
2010-12-05 13:47:23 -08:00
Adam Cohen
26e30bb7fe Preventing StackView auto-advance during / near interaction
Change-Id: Ieea5492933b87f1eb30703a23c90f53869f92c20
2010-12-03 18:36:57 -08:00
Gilles Debunne
aaa8479a97 Made TextView use the new localState API for drag info
Change-Id: I5448bd45d20fab5a541382e101556f5c9d8ea1e4
2010-12-03 16:10:26 -08:00
Amith Yamasani
4838548209 Added to SearchView : getQuery() and setOnSearchClickListener()
Bug: 3083393
Bug: 3172295
2010-12-03 15:21:07 -08:00
Amith Yamasani
968ec93839 Use SearchView in SearchDialog for legacy apps using the old model.
Bug: 3140925

Removed all the code from SearchDialog that is already in SearchView
and moved more stuff into SearchView.

SearchDialog layout changed to be more like a Holo.Light themed action mode.
Search field is right justified and limited to 500dip.

Zero query dropdown added to SearchView (causing some problems with Gmail,
but that may be an existing issue that's only now showing up due to this change)

Holo.Light search views assets still need to be updated, as the contrast is too low.
2010-12-03 11:18:25 -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
Joe Onorato
2e585f7e22 Make AbsSeekBar support having setThumb called after initialization is done.
Change-Id: Ic7c2e1a4ec067f50a95aaff924bbd7bc453a575f
2010-12-02 16:52:17 -08:00
Gilles Debunne
f4dceb1946 Customized text selection action mode.
Refactored to use a custom Callback instance instead.

This instance can be shared by different TextView, which no longer have to
be overloaded.

Change-Id: I4749905d8e2057dab2b3ded62bd7c388d13d4e57
2010-12-02 10:24:03 -08:00
Romain Guy
eeb55e673f Don't reset ListView when changing the divider drawable.
Bug #3245172

Change-Id: I36e20bc63e503ffff9c2354e7cc48e5574bb0c4a
2010-12-02 00:12:46 -08:00
Adam Powell
fcca00accb Update themes; dialogs, metrics
Add divider attributes to LinearLayout, plus styles for borderless
buttons. Update text field assets.

Change-Id: I673acab1692cc028a0327e8c154069253a4d52e8
2010-12-01 23:23:21 -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
2825366c56 A double tap starts selection when done on text only.
Change-Id: Id758645d1ebf482a09e35b158e8665d1153db498
2010-12-01 13:53:27 -08:00
Gilles Debunne
2226a19f70 Refactor onDrop in TextView
Change-Id: Ied80565852a452c15c7b7a66cbb05965bead04cd
2010-12-01 13:28:49 -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
Gilles Debunne
0eb704ca7a Tap inside text selection dismisses selection.
Change-Id: I8ccc952940d3f1b3a52d506f750019a892380f40
2010-12-01 10:33:26 -08:00
Gilles Debunne
8e06a63099 Selection in URL, email, phone, date, numbers selects all
Change-Id: Ide3603404f356564e294b7698b52c2d55e314db9
2010-11-30 12:51:24 -08:00
Gilles Debunne
d803cdef9a Selection handles no longer fade out.
This fade out was mainly introduced for forms with selectAllOnFocus fields, where
is hide some content. These no longer trigger selection mode and hence do not display
the handles.

Handles will be visible as long as selection mode goes on.

Change-Id: Ib8c2cc97308a91722f69aa0bb0caccb21d94c2c4
2010-11-30 12:11:15 -08:00
Gilles Debunne
d1dc72a081 Long press in empty space stops text selection
Bug 3240058

Change-Id: I888ee691a0fdc89895db43f9ed01acebf7a0b6d3
2010-11-30 10:51:43 -08:00
Gilles Debunne
458f4633b8 Merge "Dragging inside the same TextView is a move instead of a copy." 2010-11-30 10:07:41 -08:00
Adam Powell
12190b36a9 Add the Switch widget
Switch is hidden currently; it will be used in SystemUI and preferences.

Change-Id: I2cd8458783f938f00f5ee5e7a67fb5a90404797d
2010-11-29 19:14:58 -08:00
Gilles Debunne
4ae0f29d26 Dragging inside the same TextView is a move instead of a copy.
Change-Id: I0edbe601455a951354e8671b8bd4d7e6afd6f439
2010-11-29 19:01:09 -08:00
Romain Guy
6d95662f98 Put @ViewDebug.ExportedProperty back on TextView.mText
Change-Id: I68d36ebad07b4ad828c245e1d57ebe0effcc4239
2010-11-29 17:41:48 -08:00
Svetoslav Ganov
206316a61f New Number picker widget
Change-Id: I834e725b58682e7a48cc3f3302c93c57b35d4e27
2010-11-29 15:47:55 -08:00
Gilles Debunne
8df09a0906 SelectAllOnFocus switches to highlighted mode, not text selection mode
Change-Id: Ia0adf561f207e0a82d9588471823da7f5b2f1799
2010-11-29 14:57:12 -08:00
Gilles Debunne
f076eebd05 Restore isTextEditable() method meaning.
Change-Id: I52a4e71026396b27ed804d94e8373487a2645212
2010-11-29 11:42:55 -08:00
Gilles Debunne
0a2aa40363 Paste popup shows up after a delay on tap. Immediately if there is a recent copy/cut.
Change-Id: Ib13f7731eb9b25c39c1b962763b3d16310fe2923
2010-11-29 11:23:24 -08:00
Gilles Debunne
2a7f346ff1 Handle hiding timer reset on every move.
updatePosition is the centralized place where this should happen.

Change-Id: If4aab404ab0f3988af96b8d2cb1b41f39f4afa50
2010-11-24 16:56:24 -08:00
Gilles Debunne
c4440f039e Lazy creation of selection and insertion handles.
Change-Id: I960f6988e8f4c6f933a40fca7dc860e58a6b67d3
2010-11-24 16:24:47 -08:00
Mindy Pereira
4e30d89ced Per designers, update the algorithm for when effect is clipped or stretched.
New algo is:
1) if view width < MIN_WIDTH (currently 300px), clip glow and edge to fit
2) else stretch glow and edge to fill width
3) make alpha and height of edge and glow 30% "more intense"

Change-Id: I8f121bb165a8fb835bc33950dbedd1bc80c5df65
2010-11-24 16:09:03 -08:00
Gilles Debunne
2880294cc6 Lazily create the paste popup window.
Change-Id: I271a790bd652cdcdc221896ede9f99858a24cc7a
2010-11-24 14:16:14 -08:00
Gilles Debunne
9948ad7b37 Long press in empty space moves cursor and shows Paste affordance.
Change-Id: I487e9028201a90da76dff5390a64d2d57e7723ea
2010-11-24 14:00:46 -08:00
Gilles Debunne
e587d838e9 Comments on lazy controllers initialization.
Also a couple of bug fixes where the field value was used instead of the
get method().

Change-Id: Ia2c63158febc136065a6e12755c88e6d23ce6cc1
2010-11-24 13:48:24 -08:00
Gilles Debunne
af150b5bbd Merge "Long press starts a new selection if one is already started." 2010-11-23 17:29:17 -08:00
Gilles Debunne
710a910e73 Long press starts a new selection if one is already started.
Change-Id: Ide525ff0021cf145bb5d2b8db2d09b7b7909289b
2010-11-23 17:09:15 -08:00
Brad Fitzpatrick
ce81f3a955 StrictMode.Span annotations for ScrollView.
Between the animation system, ListView, and this, we can now account
for the large majority of animations in-flight at any point and annotate
StrictMode violations accordingly.

Note that StrictMode.Span goes out of its way to not allocate memory
and is very light-weight, especially on user builds where it's a
no-op.

I've tested this with the LOG_V debugging in StrictMode and I think
I've gotten all the entry/exit cases of ScrollView's animations.  At
least, I'm not able to get it out-of-sync at least, even with
orientation changes during scroll/fling, etc.  It's possible I missed
a path, but that should show up as excessive false positives during
dropbox uploads if so.

Change-Id: I3b0545111a775d9fa8e171f2a190031f1b56c4c0
2010-11-23 12:44:08 -08:00
Mindy Pereira
a5531d784b Update edge and glow rendering to match new specs.
Change-Id: Id2ad0ff4fa78617cb79475952e9ce561ee8fec10
2010-11-23 11:12:20 -08:00
Adam Powell
637d337b58 Merge overscrolling from gingerbread.
Change-Id: I3eb4413261b38ddd8c609d6153bdfd4ae46c6a0f
2010-11-23 09:30:10 -08:00
Leon Scroggins
1ca5626351 Alter the Layout of WebTextView to match webkit.
Bug:3085564

In order to treat the selection handles properly, the text in
WebTextView needs to line up with the text in webkit.  Use the
line spacing style, or the paint if none provided, to determine
the spacing for WebTextView's Layout.  When no line spacing is
provided, use the floating point values of ascent and descent,
rather than the rounded result, to determine spacing.

Requires a change in external/webkit:
https://android-git.corp.google.com/g/#change,80641

Change-Id: I51081835e128a0e938028c7c7aeb5111aa5f072c
2010-11-22 09:37:57 -05:00
Erik
b43d6a30ad b/3215774 Fix scrollMode notifications
When transitioning from a fling to a touch the mode was being set
to idle instead of ending up in scroll. This corrects the
notifications to get sent in the correct order.

Change-Id: Ideed6e4064b2be62788307f4232015fa88e101b4
2010-11-19 16:42:43 -08:00
Gilles Debunne
77b25a34a2 Keyboard is not displayed when selecting read-only text.
Change-Id: Id8d1fb7ebd85a36a1e587b4e2bbbabf82aa1bdd7
2010-11-19 13:31:45 -08:00
Brad Fitzpatrick
5e9d94505b Fix AbsListView StrictMode.Span end point on flings.
Noticed after logs showed a ton of false positives, I went back and
looked at the history.  During the review of the previous CL, I
accidentally moved the finish() of the fling animation tracking inside
the PROFILE_FLINGING block, which is normally off.

Re-tested this CL with StrictMode debugging enabled and it now always
propertly resets to 0 animations in flight when no animations are
running.

Change-Id: Ie9746df36e2ec3f82679b20e91e3d93c05b863d4
2010-11-19 12:03:22 -08:00
Kenny Root
9c950b41c5 Merge "Use different version of CLDR data in DatePicker" 2010-11-19 09:11:42 -08:00
Adam Cohen
9c295482dd Fixing issue #3200503
-StackView was using the wrong view to draw the click feedback

Change-Id: Ibb0a24af2d740fd1e3f6a6345518d730b66673f4
2010-11-18 15:29:03 -08:00
Jeff Brown
6b53e8daa6 Added support for full PC-style keyboards.
BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout.  This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic".  For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways.  The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled.  This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
2010-11-18 09:49:03 -08:00
Gilles Debunne
04cdb78c6a New spline physics for list fling motion.
Change-Id: I72216acb29f1cd475682141701e1f2e56f52d527
2010-11-17 17:22:01 -08:00
Adam Powell
8c3e0fc84f Fix bug 3207067 - adjust AbsListView content pop-in when clipToPadding=false
Known issue: Dividers are not drawn on top. This should be handled
once overscroll is merged in.

Change-Id: I778703601183f919e7c4345cfc4af6036b4ada4e
2010-11-17 16:01:37 -08:00
Gilles Debunne
d348bb4fef Changes to scrolling physics
Spline curve for Scroller fling motion (debunne)

Flywheel motion for AbsListView

Change-Id: Ic1f226878745ff4c302dc6bd0752868fa182dd7b
2010-11-17 12:16:09 -08:00