Commit Graph

2865 Commits

Author SHA1 Message Date
Victoria Lease
72b8fc7e6d Merge "Revert "Fix fake bold for fallback fonts in frameworks."" into jb-dev 2012-06-11 15:21:39 -07:00
Victoria Lease
aa0980afab Revert "Fix fake bold for fallback fonts in frameworks."
This reverts commit b26fa0ce68
2012-06-11 14:46:04 -07:00
Chet Haase
913bf80416 Merge "Don't allow apps to request scrolls to out-of-bounds positions" into jb-dev 2012-06-10 12:30:33 -07:00
Chet Haase
0061e16e53 Don't allow apps to request scrolls to out-of-bounds positions
An app was requesting smooth scrolling to a view position beyond the
number of items in the list. This caused our setup logic to execute on
every frame, waiting for the target view to be added.

This fix clamps the requested target position to the number of items
actually in the list.

Issue #6572175 Messaging: Sometimes conversation doesn't scroll when focus is brought to the compose field

Change-Id: I23707aeb213e67af4297713a03c2f5b446c8e2b6
2012-06-08 15:01:56 -07:00
Victoria Lease
b26fa0ce68 Fix fake bold for fallback fonts in frameworks.
This change is analogous to Ic0e9f1bbd8cae9fdd3a6d1d015bb9224c8be545c
in WebView, and depends upon the same Skia change that that CL makes
use of.

This flips the "fake bold" flag on for bold fonts in
TextView.setTypeface(), with the expectation that Skia will ignore
the flag if the final typeface used to render the glyphs is already
bold. It also does the same for StyleSpans, TextAppearanceSpans,
TypefaceSpans, and the Switch widget.

With this, fake bold should work uniformly across all scripts - if
fake bold works for a primary typeface, it should also work for all
fallback typefaces.

Bug: 6629786
Change-Id: Id3b8639ab0df83052ffd82809cb12adaacc1d46b
2012-06-08 13:52:17 -07:00
Gilles Debunne
78c6aeeffa Merge "Fixed cast exception with selectable text." into jb-dev 2012-06-07 14:15:40 -07:00
Adam Powell
4c38fe369f Merge "Protect against bogus input for ListViews" into jb-dev 2012-06-07 12:12:00 -07:00
Gilles Debunne
857c341dfe Fixed cast exception with selectable text.
Bug 6550358

The EditText constructor now calls setTextIsSelectable, which uses
getText where the cast exception happens because the EditText is not
yet fully built and its text does not have the right type.

Fixed by using mText directly instead of getText().

Change-Id: I52a2720ae99475881f210ac74464728cab92147e
2012-06-07 10:51:06 -07:00
Adam Powell
28048d011c Protect against bogus input for ListViews
Guard against cases where ListView might receive touch events while
detached.

Update ListMenuPresenter to dispatch a data set change when the
backing menu is changed.

Bug 6543282

Change-Id: If2fb9b6aa3cf4a1b7070a7cd0de0edf0fc2f4cca
2012-06-06 22:47:56 -07:00
Dianne Hackborn
636fd528f7 Docs (mostly): enumerate JELLY_BEAN target SDK changes.
Okay this isn't entirely docs.  I have un-hidden the new permission
for binding to accessibility services; we were going to go out with
it hidden since it didn't go into factory ROM, but now that we are
doing other things we might as well expose it.

Also changed a log from E to W, since it is not an error.

Change-Id: I9226c95e3b63e12218fe41dc3f4290d9824a9e5c
2012-06-06 11:36:49 -07:00
Svetoslav Ganov
1f3484430e Merge "NullPointerException in AbsListView.focusSearch()." into jb-dev 2012-06-04 23:07:26 -07:00
Satoshi Kataoka
69609ed402 Merge "Do not run the spell checker in SearchView" into jb-dev 2012-06-04 22:42:00 -07:00
Satoshi Kataoka
9ce1116ee8 Do not run the spell checker in SearchView
Bug: 6603925
Change-Id: I75972185fb4d802f2a90649002e722ca4b676c42
2012-06-05 12:22:38 +09:00
Svetoslav Ganov
3016c1ae6a NullPointerException in AbsListView.focusSearch().
1. One of the loops was using the last visible position
   as its end boundary as opposed to the child count
   minus one.

bug:6610451

Change-Id: I600545ca3f64d1e982f909f893e5d34570ec5c8b
2012-06-04 19:47:46 -07:00
Svetoslav Ganov
30384653d2 Merge "Focus search in AbsListView returns invisible views." into jb-dev 2012-06-04 08:17:26 -07:00
Svetoslav Ganov
b1fa98bb1c Focus search in AbsListView returns invisible views.
1. The focus search algorithm considers only visible
   views, specifically when adding focusables. Since
   AbsListView implements a custom focus search strategy
   for better user experience it also has to return
   only views that are visible.

bug:6543878

Change-Id: I6207c29402e4ac6190c1e65d042e04449aa75ef8
2012-06-03 22:04:44 -07:00
Svetoslav Ganov
b552d89e90 Double input focus and focus movement in list not working.
1. The clearFocus routine in ViewGroup was clearing the pointer
   to the descendant which has focus after calling clear focus
   on that child. However, currently clearing the focus of a view
   causes the view that loses focus to try to give the focus to
   the first focusable which potentially sets the pointer to the
   child that has input focus in the ViewGroup but the ViewGruop
   essentially clears that pointer. This resulted in having two
   focused views at the same time in some cases.

2. AbsListView was not calling the super implementation of add
   focusables if the focus type was not accessibility.

bug:6559819

Change-Id: I478dfed000b5de3f9b15e12eb82aa3d34c2301e4
2012-06-02 14:35:13 -07:00
Svetoslav Ganov
a90e4512ab Calling the correct method when adding accessibility focusables.
1. Since we added explicit accessibility focusable attribute when
   adding focusables views that do so should call this method. Some
   views were not updated to do so.

bug:6581924

Change-Id: Id64c0b2d76e5269ebf3fbe17203e73b174bdb843
2012-06-01 19:02:42 -07:00
Dianne Hackborn
ea01e4a2d5 Merge "Survey says: NIET!" into jb-dev 2012-06-01 14:13:08 -07:00
Dianne Hackborn
4034bc431d Survey says: NIET!
Bug: 6593206
Change-Id: I5390609a5615d6aff1793a9bc361012a0cea330b
2012-06-01 13:38:48 -07:00
Svetoslav Ganov
00ca7a8827 Merge "Accessibility focus traversal of lists inconsistent." into jb-dev 2012-06-01 08:52:19 -07:00
Svetoslav Ganov
2dda468606 Accessibility focus traversal of lists inconsistent.
1. Now the list traversal forward is the exact opposite
   of the traversal backward.

2. The focus search starts from the view against which
   the call is made as opposed to the one that has focus.
   This is now consistent with the rest of the focus search.

bug:6537747

Change-Id: Ida6a696636a3099531155fcbff256f71264f5008
2012-05-31 20:16:40 -07:00
Svetoslav Ganov
f14c078ccc Merge "Don't mark list headers or invalid items as disabled." into jb-dev 2012-05-30 17:47:02 -07:00
alanv
325ea8deb8 Don't mark list headers or invalid items as disabled.
Bug: 6581689
Change-Id: I4088cdc7e785e60fe7e30807cdf045131584f29d
2012-05-30 15:36:18 -07:00
Fabrice Di Meglio
f053e2367d Merge "Fix bug #6567507 [Bidi] - Cursor is sometimes not visible on EditText" into jb-dev 2012-05-30 15:31:23 -07:00
Fabrice Di Meglio
0ed59fae6f Fix bug #6567507 [Bidi] - Cursor is sometimes not visible on EditText
- take the hint layout primary horizontal offset if needed

Change-Id: Ib5c4dd990278e1fd8bb9ba4f4b6940a62dba91e3
2012-05-29 20:32:51 -07:00
Svetoslav Ganov
a5c896afe8 Merge "Updating the behaviour of accessibility text iterators." into jb-dev 2012-05-29 17:30:16 -07:00
Svetoslav Ganov
39f2aee640 Updating the behaviour of accessibility text iterators.
1. Iterators were skipping content on reversing direction.

2. The cursor was positioned at the beginning of the next text segment
   when moving forward and at end of the previous text segment when moving
   backwards. This is incorrect and now the cursor is positioned at the
   end of the segment when moving forward and at the beginning when moving
   backward.

3. The cursor position was not properly set when reaching the end/start
   of the text.

4. The iterators were reporting strictly the next/previous segment even
   if the cursor is within such a segment. Thus, when traversing some
   content may be skipped. Now moving forward moves the selection to
   the next segment end and the start position is either the old index
   if it was within a segment or the start of the segment. Same in
   reverse.

bug:6575099

Change-Id: Ib48a649cec53910339baf831a75e26440be6e576
2012-05-29 15:16:19 -07:00
Gilles Debunne
2427192e58 Fix for IOOB in SearchView
Bug 6476578

The latest bug report show a query.length() of 33 while
mQueryTextView.length() is 0 on line 514.

I can see 2 reasons which can explain this discrepancy:
- the mQueryTextView has a filter, which alters the text.
- some asynchronous event (IME?) changes the text in the mean time.

I would favor the second one, which seems to break a lot of single
thread assumptions in the code and generates other IOOB exceptions.

Note that depending on what they are used for, it may be more consistent
to use mQueryTextView.getText() instead of query in the following
assignment.

Change-Id: Ie8a5486b11a80543f8f90980454933c5a74c073e
2012-05-25 14:04:05 +02:00
satok
f927e17ae5 Use correct spell check locale
Bug: 6542210
Change-Id: I414aa2321f30e396996d90fb8e90c1dbb3bb7b9e
2012-05-24 16:52:54 +09:00
Adam Powell
75ac4e8479 Merge "Fix a bug with deferred position scrolling in lists while data changes are pending" into jb-dev 2012-05-23 17:49:21 -07:00
Adam Powell
161abf3d44 Fix a bug with deferred position scrolling in lists while data changes
are pending

Save the pending position scroll until the data change is actually
serviced before posting it to run. This avoids handler loops on
GONE subtrees or when the view is detached.

Bug 6547649

Change-Id: Iab108cfcb7dd11ece703762d311a5f5985f38c3b
2012-05-23 17:24:27 -07:00
Svetoslav Ganov
748ee2e82a ActivityChooser view not handling its removal and relayout properly.
1. ActivityChooserView did not hide the popup window when detached.

bug:6544220

2. ActivityChooserView was calling show popup when it was already
   showing it resulting in an incrrect update and losing one item
   per rotation.

bug:6522041

Change-Id: Iec1682ca5d27e38caf57214fa86060edf82a2166
2012-05-23 15:21:16 -07:00
Craig Mautner
85aea36649 Merge "Remove Popup immediately rather than defer it." into jb-dev 2012-05-23 10:47:46 -07:00
Craig Mautner
b82d074038 Remove Popup immediately rather than defer it.
Delaying the popup by using removeView instead of removeViewImmediate
caused an error when the removal was actually executed after the parent
window was deleted along with the popup.

Fixes bug 6407801.

Change-Id: Ieb17d58467aaf16e1a24f47187f52766d694ba32
2012-05-23 10:15:09 -07:00
Adam Cohen
662e4a456b Merge "Fix ANR which could occur for collection widgets with very large items" into jb-dev 2012-05-22 14:41:54 -07:00
Adam Cohen
35fbe2a592 Fix ANR which could occur for collection widgets with very large items
-> We cache RemoteViews which populate the AdapterViews, but only
   up to a total memory amount of 2MB. The remainder of the cache
   is pruned out. If _every_ item is greater than 2MB, we were failing
   to prune the last item, leaving the framework in a loop on a bg
   thread, but holding a lock required by the main thread.

Change-Id: I0574a25a59ebec6586ae223fff6605c0fee953c3
2012-05-22 14:10:14 -07:00
Svetoslav Ganov
084c63eb6a Merge "Fix accessibility actions in AbsListView." into jb-dev 2012-05-21 18:15:48 -07:00
Svetoslav Ganov
4ce106f5cf Merge "Fixing some minor issues in accessibility focus." into jb-dev 2012-05-21 15:55:28 -07:00
Svetoslav Ganov
f76a83cfcf Fixing some minor issues in accessibility focus.
1. Now accessibility focus does not drag input focus and
   vice versa. Having the two focuses chase each other
   can lead to some pathological cases. For example, a
   container is input focusable and manages input focus
   for its children i.e. as soon as it gets input focus
   it sets input focus to a child. Now assume input and
   accessibility focus are on a child and focus search
   finds the parent to take accessibility focus, now
   putting accessibility focus to the parent will put
   input focus there and the parent will put input focus
   to the child which as a result will put accessibility
   focus there, thus resulting in traversal loop.

bug:6522900

2. Fixed asymmetrical behavior of accessibility focus search
   for AbsListView.

bug:6520016

3. Fixed accessibility focus search getting stuck in an
   empty AbsListView.

bug:6520049

Change-Id: Ia26e5be7b5a9f340f873861ff466c787467b98dc
2012-05-21 15:32:28 -07:00
Svetoslav Ganov
de83e7aa32 Merge "Make TextView respect ACCESSIBILITY_SPEAK_PASSWORD preference." into jb-dev 2012-05-21 15:08:53 -07:00
alanv
7d62419c85 Make TextView respect ACCESSIBILITY_SPEAK_PASSWORD preference.
Bug: 6523447
Change-Id: I2610b558395dc53a74b5c8c36c09673898da44f2
2012-05-21 14:23:17 -07:00
Romain Guy
46a8b1acdb Merge "Remove unused, obsolete debug code" into jb-dev 2012-05-21 13:40:41 -07:00
Daniel Sandler
2926948d20 Merge "Add RemoteViews.setViewPadding()." into jb-dev 2012-05-21 13:37:16 -07:00
Romain Guy
13b907353f Remove unused, obsolete debug code
All these features have either been abandonned and left un-maintained
for years or can be replaced by systrace.

Change-Id: I42e4579a8078744047e5fe08a7a15254970b09bc
2012-05-21 13:29:06 -07:00
Daniel Sandler
99d1f74864 Add RemoteViews.setViewPadding().
Bug: 6519374
Change-Id: I29ad738d741153a9d9e74c9e2ac110a8b97f046b
2012-05-21 16:15:06 -04:00
Daniel Sandler
90497c18f7 Merge "Remotable view method for TextView.setTextSize(int, float)." into jb-dev 2012-05-21 12:12:13 -07:00
Daniel Sandler
7264f71399 Remotable view method for TextView.setTextSize(int, float).
The only remotable method on TextView is setTextSize(float)
which assumes "sp" dimensions, making it tricky to get exact
text sizes.

Bug: 6519374
Change-Id: I961bbdd607ca6786c0630ff1ce19186f54f6f31f
2012-05-21 14:51:51 -04:00
Philip Milne
b65408fc0f Doc changes for GridLayout.
Add some javadoc to explain orientation property properly.

Change-Id: I1e2092f32fe2f524eda7d1c46c6daad571733c1f
2012-05-21 10:46:56 -07:00
Jeff Brown
51f2430217 Support toast cancellation.
Change-Id: Idd00b9c6e3049822e437afaf56351575a5c167df
2012-05-20 12:09:37 -07:00