Commit Graph

2502 Commits

Author SHA1 Message Date
Chet Haase
0d29936ec3 Fix bug in LayoutTransition for INVISIBLE views
When a view is becoming VISIBLE or INVISIBLE in a container with a
LayoutTransition, animations run to fade the view in and out and also
to run 'changing' animations on the view's other siblings. This logic
also cancels any running 'changin' animations to account for new ones
running.

However, in the specific case of INVISIBLE changes, there will be no
layout changes in the container - layout has already accounted for that
view (unlike in the case of GONE views); the visibility is just a matter of
drawing the view (or not). Therefore, we're canceling 'changing' animations
that should continue running and not replacing them with any other animations,
since new animations would only be started on layout chnages which are not
forthcoming.

One artifact seen from this bug is that the navigation bar buttons sometimes
disappear when changing orientation. This is because the menu button may
toggle between VISIBLE and INVISIBLE, causing animations on the other
buttons to get canceled, which leaves those views in a completely wrong
state.

The right thing to do is to avoid canceling in-process 'changing' animations
and to skip the logic of setting up new 'changing' animations which won't fire
anyway.

There is some minor API work in here because we did not previously have the
necessary information in LayoutTransition to know whether a view was being
hidden or shown to/from the INVISIBLE state.

Issue #5911213: LayoutTransitions ending in an odd state

Change-Id: I5c60c8583c8ea08965727b4ef17b550c40a3882c
2012-01-30 07:53:59 -08:00
Gilles Debunne
566e8baf43 Merge "Fix for IOOB when suggestions have disappeared" 2012-01-27 13:54:50 -08:00
Gilles Debunne
ea1181220d Merge "Handle tap and move cursor before showing suggestions" 2012-01-27 13:54:42 -08:00
Gilles Debunne
e93c51713c Merge "Modified algorithm to remove duplicated suggestions" 2012-01-26 14:09:20 -08:00
Gilles Debunne
7af1f9669b Fix for IOOB when suggestions have disappeared
This new test is required since the suggestion popup is now triggered by a
Runnable. We have to make sure there is still at least one SuggestionSpan
at that position.

Change-Id: I5c84ba0ca412f51a0201bee5c2e63b5bd3717338
2012-01-25 17:06:38 -08:00
Gilles Debunne
868121f296 Handle tap and move cursor before showing suggestions
Otherwise the suggestions do not correspond to the tapped location.

Change-Id: Id0bd87931e73513ca7e50c6212a17b0fc7d6179d
2012-01-25 15:38:27 -08:00
Gilles Debunne
6e0b22bea9 Modified algorithm to remove duplicated suggestions
Bug 5916225

Duplicates were removed when received from SpellChecker, in a way
that could move the top candidates lower in the list.

Moved that code to the part that creates the actual suggestion list,
to make it more generic. The order of the first SuggestionSpan is
guaranteed to be respected.

Also mentionned non null suggestions and fixed a problem in SuggestionSpan
constructor.

Change-Id: Iaa3b1b84ae512451e439e5c5e63448c2a19145b5
2012-01-25 15:07:50 -08:00
Gilles Debunne
954325ed26 TextView's display list updated on layout
Bug 5903021

We need to invalidate the DL at anytime the layout is changed.

Change-Id: Ief06c988b88cdf1b35fe8ce9bac1243326ea44c4
2012-01-25 11:57:09 -08:00
satok
f43305fb05 Do not spell check when the keyboard language is not supported by the current spell checker
Bug: 5787064
Change-Id: I54a3955220bbe3dae999f6634ccd734e658e45c0
2012-01-25 16:05:11 +09:00
Svetoslav Ganov
3ad774667d Merge "Fixing a typo in the NumberPicker documentation." 2012-01-24 17:02:23 -08:00
Svetoslav Ganov
7caffbcd6a Merge "NumberPicker should not throw an exception if no enough values for wrapping." 2012-01-24 15:27:12 -08:00
Svetoslav Ganov
08a9e9f20a Fixing a typo in the NumberPicker documentation.
Change-Id: I3a76923d468ddd01cd1ed5521992479cee82c6f0
2012-01-24 14:32:20 -08:00
Adam Powell
37e800d688 Merge "Update ShareActionProvider to clear the sharing activity when the task is reset." 2012-01-24 13:58:41 -08:00
Svetoslav Ganov
15a7bc62e1 Merge "Removing unused imports and swiching off deprecated APIs" 2012-01-24 13:57:05 -08:00
Svetoslav Ganov
aa47a6b35a Removing unused imports and swiching off deprecated APIs
Change-Id: I08fd2c17bcad42f0216b140c0511f48a782c8018
2012-01-24 13:55:35 -08:00
Adam Powell
314419ccb9 Update ShareActionProvider to clear the sharing activity when the task
is reset.

As per platform guidelines, when launching a sharing activity the Intent
flag FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET should be used.

Change-Id: I30bd3d20eb75aee7943b681dc2d9c7f44a04e919
2012-01-24 13:46:45 -08:00
Svetoslav Ganov
3f9c9eab7b NumberPicker should not throw an exception if no enough values for wrapping.
1. The selector wheel was throwing an exception if a client requires that it
   wraps its selector wheel if the number of values is less that the number
   of values shown in the wheel.  While wrapping makes no sense if the all
   possible values are already shown, we should not throw an exception,
   rather to ignore the request.

bug:5911190

Change-Id: Icd90cd39f66d9f39939801752bf1eb1eef8fe757
2012-01-24 12:09:11 -08:00
Gilles Debunne
a54b9641cd Merge "Restored selectAllOnFocus" 2012-01-24 10:42:09 -08:00
Adam Cohen
cbe2f48d3f Merge "Fix issue 5905210, AdapterViewAnimator sending negative index to Adapter" 2012-01-23 19:23:06 -08:00
Adam Cohen
d0c735fccc Fix issue 5905210, AdapterViewAnimator sending negative index to Adapter
Change-Id: I6c1a3c17f1009d9512328f5844e17025f95a216c
2012-01-23 19:12:22 -08:00
Gilles Debunne
4bb2833fa6 Restored selectAllOnFocus
Bug introduced in recent refactoring
https://android-git.corp.google.com/g/#/c/158896/

Do not move cursor when selectAllOnFocus and focus just happened.
The didTouchFocusSelect() condition was not copied over from ArrowKeyMM.

Change-Id: Id01d225c436ae3dd97c5d77d5dac5d0690d7de76
2012-01-23 18:35:37 -08:00
Gilles Debunne
822b8f0cfa Double tap to select enabled on suggestions
Using a runnable to schedule the action, interrupted by any other
touch event, enabling a catch of a double tap to trigger text selection
instead.

Change-Id: I21f8b9fdfad0036d6970f5dbfe6d72dd3eff35a1
2012-01-20 14:07:19 -08:00
Gilles Debunne
2f9510ca50 Merge "Touch moves cursor in text refactored" 2012-01-20 14:06:19 -08:00
Gilles Debunne
1d98303ab6 Merge "AOOB in AutoComplete" 2012-01-20 10:27:10 -08:00
Gilles Debunne
92db51938f Make sure text selection always starts
When text can indeed be selected, we should always initiate
a text selection on long press. When the WordIterator fails
(for instance if the text is entirely made of punctuation
characters, maybe also with foreign languages), we select
one character.

Change-Id: I842507f7cbaed9a924d3176ea8ed6586f3548366
2012-01-19 17:36:45 -08:00
Gilles Debunne
004b02d626 Touch moves cursor in text refactored
Code was moved back from the movement method to the touch event code in TextView.

Change-Id: I7dc0d957554ddce08e810d20e0385f98802ef1a4
2012-01-19 14:18:17 -08:00
Gilles Debunne
b3ca0fe66c Merge "Touch slop added to double tap detection" 2012-01-19 10:23:32 -08:00
Gilles Debunne
bdf7f96580 Merge "Fixes around extract mode" 2012-01-19 10:23:18 -08:00
Gilles Debunne
f0d3b7ff72 AOOB in AutoComplete
Bug 5749557

Not clear how we can get an AOOB in that case.
tmp will always have the right length, and indeed the stack
trace attached to that bug shows a correct size of 10.

However, there is an index issue when we build the new
completion array. i is not the correct index to use.

Note however that the original buildDropDown method mentioned
is no longer present in the file. I tried to backtrack, but
the use of arraycopy always seemed correct.

Change-Id: Idf749c74b38923b5d18596c8e8f6ea887cc897d6
2012-01-18 18:39:10 -08:00
Gilles Debunne
c171402318 Touch slop added to double tap detection
Similar to what is done in GestureDetector

Removed all gesture constants. Only one one them is used on MOVE
(added an early exit test), the 2 others on UP or DOWN where
performance is not such an issue.

Change-Id: Icd58ead5078f94f86786f934ddf81aa5ec9bf549
2012-01-18 14:40:53 -08:00
Svetoslav Ganov
0764dee89c Merge "AccessibilityEvent/AccessibilityNodeInfo class name property should be set to only framework classes." 2012-01-17 17:25:56 -08:00
Adam Cohen
792840d48a Merge "Hinting RemoteViewsAdapter as to which views are visible" 2012-01-17 15:25:22 -08:00
Adam Cohen
b967392e01 Hinting RemoteViewsAdapter as to which views are visible
-> This prevents collection widgets from flashing loading
   views when they are updated with new content

Change-Id: I1241ff9a09edfd990ad03f76449d18b9359246b4
2012-01-17 15:21:34 -08:00
Svetoslav Ganov
8a78fd4d95 AccessibilityEvent/AccessibilityNodeInfo class name property should be set to only framework classes.
AccessibilityEvent and AccessibilityNodeInfo have a property className which is set to the source
Java class. This is problematic since leads to leaking private classes which would allow an
accessibility service to load classes from other packages. This is strongly undesirable since
not trusted code can be loaded, and hence executed, in the accessibility service. To address
that the class name is set to the most concrete framework class extended by the info/event
source.

bug:5878943

Change-Id: I7b3114ece8772ea2773f5151e21b8a6f2006882a
2012-01-17 14:51:45 -08:00
Gilles Debunne
14568c3f76 Fixes around extract mode
Stop selection mode after Edit/Copy while in extracted mode.

The selection mode was started by a long press in the ExtractedEditText.
Selection Copy in the menu simply sends the id to the context menu.
SelectionMode is not stopped in the underlying text since it was not
started there. Stop it directly in the ExtractedEditText.

Cut and paste do stop the mode because the text is modified.

Change-Id: Id7dbfa99de404c4eb85ced9627c99af4895ac628
2012-01-13 16:23:35 -08:00
Gilles Debunne
b35ab7b729 Sub display list in TextView
TextView uses a sub-display list to 'cache' the rendering of its
text. This saves time when drawing an editable text, where the blinking
cursor forces a re-draw twice per second, which creates pauses during
scrolling.

Added a sub-display list invalidation when an appearance span is
modified/added/removed.

Also added an invalidation of the display list when selection range
is changed.

Change-Id: I41e8068a12902b8a745c5bb77de8c77def76a270
2012-01-12 15:56:37 -08:00
Fabrice Di Meglio
7d5178e9fb Merge "Add textDirection="locale"" 2012-01-09 10:46:03 -08:00
Romain Guy
bc5d876df0 Avoid allocating when performing the measure/layout passes
Change-Id: I94faa9167d632ff5a1d05f795a2c4dcc0f02348c
2012-01-06 18:06:58 -08:00
Marco Nelissen
9cd7bde1ff New UX calls for dialogs without titles.
b/5753055

Change-Id: I86ba0f937f71db56b3ea77752b2b30929b791a04
2012-01-06 15:42:02 -08:00
Fabrice Di Meglio
4c1e00a8c2 Add textDirection="locale"
- also fix and update unit tests
- see bug #5242821

Change-Id: I29e029bab8ade336a430f9a2a5073caaf11b8dda
2012-01-06 11:29:18 -08:00
Joe Fernandez
2b07267753 am 201469f5: am bb7f590a: Merge "docs: Add developer guide cross-references, Project ACRE, round 4" into ics-mr1
* commit '201469f54522436be79d4d6665721049bfc74320':
  docs: Add developer guide cross-references, Project ACRE, round 4
2011-12-22 15:59:34 -08:00
Joe Fernandez
3aef8e1d1b docs: Add developer guide cross-references, Project ACRE, round 4
Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
2011-12-22 15:08:23 -08:00
Gilles Debunne
cd76a4da3e Merge "Rationalize blinking cursor test." 2011-12-20 10:46:42 -08:00
Chet Haase
baea244a9f Fix ViewAnimator.getDisplayedChild() bug
Adding a view above the currently displayed child in a ViewAnimator
will cause the displayed child index to become stale, because it is
not incremented to reflect the new position of the currently displayed
view. This fix adds logic to the addView() override to increment the
index correctly.

Change-Id: I9c756ce51a8e8dcbeef8f0e4fbb3704482c21e9d
2011-12-20 08:59:12 -08:00
Gilles Debunne
545c4d4438 Rationalize blinking cursor test.
Moved full test into shouldBlink() to make the condition consistent.

Change-Id: Id8abf38e180e1a00eb132476f102361f0feb56da
2011-12-14 14:12:13 -08:00
Gilles Debunne
6e87ecbb1d am 2450b36a: am 19636dc4: Merge "Do not spell check the foreground ExtractEditText." into ics-mr1
* commit '2450b36a3696bc5afdf2a0f2af8b2008efb8a7b0':
  Do not spell check the foreground ExtractEditText.
2011-12-13 15:59:26 -08:00
Gilles Debunne
770f0fa92e Do not spell check the foreground ExtractEditText.
Bug 5755099

In extracted text mode, we spell check the background and the foreground
edit text. All changes in the background are already propagated to the
foreground, and updates on the foreground may trigger a spell check
of the entire text since we use setText.

Change-Id: Ie44c3d9113258082ac6df5890851d0e21c702ea2
2011-12-13 14:47:26 -08:00
Gilles Debunne
249d1e827a Re-synced MR1 and master for SpellChecker
Some auto-merges got lost, re-syncing master with the latest
and greatest from MR1.

Change-Id: Ifc0b5d1fd2e11e68d219c3f491f37d4c047579a0
2011-12-12 20:06:31 -08:00
Gilles Debunne
a4b1b8ab3c am 7ffadba5: am 1fb90497: Merge "Text blinking cursor hard to see." into ics-mr1
* commit '7ffadba5dfbeeaa93a9559ca3eaf1a7719426a5f':
  Text blinking cursor hard to see.
2011-12-12 17:49:29 -08:00
Gilles Debunne
c1761e7fe1 Fixed build after merge
Change-Id: Ifac89a70afa82047d97994860c6e58954f5d91d0
2011-12-12 16:11:47 -08:00