Commit Graph

5629 Commits

Author SHA1 Message Date
Andrew Solovay
353886b2dd am e67416ec: am 4859a612: Merge "docs: Clarified how to find out when a switch is toggled" into mnc-preview-docs
* commit 'e67416eccc6092e2fce3619b2244deda36fabd26':
  docs: Clarified how to find out when a switch is toggled
2015-07-14 20:22:59 +00:00
Andrei Stingaceanu
a9b9907f3c Merge "Fix insertion handle disappearing in extract mode" into mnc-dev 2015-07-14 09:57:24 +00:00
Julia Reynolds
fbd0a444e7 Merge "Remove personal/device group from sideloading screen." into mnc-dev 2015-07-13 17:34:20 +00:00
Julia Reynolds
9a5c9118ce Remove personal/device group from sideloading screen.
Also ignore the requestedPermissionFlags of yet to be installed
packages when trying to determine if a permission is new.

Bug: 22229417

Change-Id: I59d579cdc42d64bcfdefdb06e1576959355bb7a4
2015-07-13 08:46:29 -04:00
Andrei Stingaceanu
cfa13a77ed Fix insertion handle disappearing in extract mode
In extract mode, on every screen touch
TextView#setExtractedText gets called which calls
SpannableStringBuilder#sendTextChanged which in turn stops
the action mode. As a fix, if the text is the same only
copy the spans without replacing everything.

Bug: 22315095
Change-Id: I28da760b3dc11e1cfbaf720e547bd817c5b89d7e
2015-07-13 11:14:43 +01:00
Mady Mellor
1c277ca8cd Merge "Fix: line slop shouldn't always increase / decrease by one line" into mnc-dev 2015-07-11 00:30:33 +00:00
Mady Mellor
a9f07ccf38 Merge "Fix line slop issue at end of line for Thai & CJK" into mnc-dev 2015-07-11 00:26:35 +00:00
Mady Mellor
a6a0f7829f Fix line slop issue at end of line for Thai & CJK
Previously touch slop for line movement was based on the line position
of the HandleView, not the previous line touched.

Thai and CJK languages don't have a space at the end of a line so
the handle jumps to the beginning of the next line. This meant that
when calculating the touch slop it'd be from the incorrect line.

This CL tracks the previous line touched and uses that instead to
calculate touch slop and applies it to the selection and insertion
handles.

Note this is *not* added to the drag accelerator because
it does not have the problem of the handle jumping to the next line
since it has no handles.

Bug: 21925162
Change-Id: If4b231725c06489ec780a5b5a308ceffee804c20
2015-07-10 16:43:32 -07:00
John Reck
5a1356916d Improve ImageView drawable re-use
Bug 22403868

Initial attempt only helped if setImageBitmap() was the only
thing called but during new-loading content it's common for a
placeholder to be set via setImageDrawable.

Tweak ImageView slightly to just have a BitmapDrawable that it
lazy-creates but will hold on to for any subsequent calls
to setImageBitmap

Change-Id: I7380521c7b363d458e4cda041f1f8b2b1fb3a93a
2015-07-10 10:08:01 -07:00
John Reck
b7ba1220a3 Teach ImageView to recycle internal drawables
Bug: 22289362

It's pretty common for ImageView#setBitmap to be called
repeatedly. Avoid re-creating the BitmapDrawable in this scenario
as that has high object churn of semi-expensive objects like
Paint.

Change-Id: Ib77719cd0366d02c1a42f774850bf3b9caa9c288
2015-07-09 17:40:41 -07:00
Mady Mellor
80679071ab Fix: line slop shouldn't always increase / decrease by one line
Touch slop is from the bottom (or top) of the line + line height / 2.
It only makes sense to apply touch slop if the user is within a line
from the previous line. Additionally, not doing this can cause some
undesirable behavior if the user moves very quickly and the selection
catches up with a weird line by line selection increase, potentially
even having the selection be stalled until a next move event.

This CL alters the logic so that if the user isn't within one line
of the previous selection, it'll just use whatever line the user is
currently on.

Bug: 22385003
Change-Id: I4f37988893868e5e2b7925314fe824c3da9c1b97
2015-07-09 16:05:36 -07:00
Andrew Solovay
07e7021e06 docs: Clarified how to find out when a switch is toggled
Per Chris, the existing doc was incorrect: you *can't* check for a
button press and a switch flip the same way. (The button triggers a
click event, but the switch does not.) Chris suggested that we just
remove the reference to onClick and suggest using a listener for
both kinds of buttons (ToggleButton and Switch).

Also pulled one note out of a section where it didn't fit (the bit
about changing a button/switch's state programmatically didn't have
much to do with listening for clicks) and put it at the top, and I
fixed a Javadoc typo for a relevant class that I happened to notice.

See first comment for doc stage location.

bug: 20625504
Change-Id: I9c8975111381e5b169f6a61454ef3a93da635759
2015-07-09 13:22:31 -07:00
Julia Reynolds
279678e1ff Merge "Show a default icon for permissions that lack a group." into mnc-dev 2015-07-09 18:58:13 +00:00
Julia Reynolds
d1af446feb Show a default icon for permissions that lack a group.
Bug: 22229417
Change-Id: I82e12504adcca5d3fb6902109a3d7075a4739843
2015-07-09 14:56:46 -04:00
Narayan Kamath
14b5039477 Reduce overly aggressive use of narrowAm / narrowPm.
Increase threshold to 4 from 2. Given that this threshold is
applied independently, we now have a few more languages where we
use a mixture of narrow and regular AM/PM markers. Those languages
are : Bodo (brx), Cherokee (chr), Ewe (ee), German Swiss (gsw, not de-CH)
and Makonde (kde).

I've included a full table of diffs in the commit message.

bug: 22208502

1,5c1,5
<     L= af AM= v , PM= n
<     L= af-NA AM= v , PM= n
<     L= af-ZA AM= v , PM= n
<     L= agq AM= a , PM= p
<     L= agq-CM AM= a , PM= p
---
>     L= af AM= vm. , PM= nm.
>     L= af-NA AM= vm. , PM= nm.
>     L= af-ZA AM= vm. , PM= nm.
>     L= agq AM= a.g , PM= a.k
>     L= agq-CM AM= a.g , PM= a.k
9,10c9,10
<     L= am AM= ጠ , PM= ከ
<     L= am-ET AM= ጠ , PM= ከ
---
>     L= am AM= ጥዋት , PM= ከሰዓት
>     L= am-ET AM= ጥዋት , PM= ከሰዓት
68,71c68,71
<     L= br AM= am , PM= gm
<     L= br-FR AM= am , PM= gm
<     L= brx AM= a , PM= p
<     L= brx-IN AM= a , PM= p
---
>     L= br AM= A.M. , PM= G.M.
>     L= br-FR AM= A.M. , PM= G.M.
>     L= brx AM= फुं , PM= p
>     L= brx-IN AM= फुं , PM= p
84,85c84,85
<     L= chr AM= a , PM= p
<     L= chr-US AM= a , PM= p
---
>     L= chr AM= ᏌᎾᎴ , PM= p
>     L= chr-US AM= ᏌᎾᎴ , PM= p
114,119c114,119
<     L= ee AM= a , PM= p
<     L= ee-GH AM= a , PM= p
<     L= ee-TG AM= a , PM= p
<     L= el AM= π , PM= μ
<     L= el-CY AM= π , PM= μ
<     L= el-GR AM= π , PM= μ
---
>     L= ee AM= ŋdi , PM= p
>     L= ee-GH AM= ŋdi , PM= p
>     L= ee-TG AM= ŋdi , PM= p
>     L= el AM= π.μ. , PM= μ.μ.
>     L= el-CY AM= π.μ. , PM= μ.μ.
>     L= el-GR AM= π.μ. , PM= μ.μ.
144c144
<     L= en-GB AM= a , PM= p
---
>     L= en-GB AM= a.m. , PM= p.m.
153c153
<     L= en-IE AM= a , PM= p
---
>     L= en-IE AM= a.m. , PM= p.m.
215c215
<     L= eo AM= a , PM= p
---
>     L= eo AM= atm , PM= ptm
314,315c314,315
<     L= ga AM= a , PM= p
<     L= ga-IE AM= a , PM= p
---
>     L= ga AM= a.m. , PM= p.m.
>     L= ga-IE AM= a.m. , PM= p.m.
318,323c318,323
<     L= gl AM= a , PM= p
<     L= gl-ES AM= a , PM= p
<     L= gsw AM= a , PM= p
<     L= gsw-CH AM= a , PM= p
<     L= gsw-FR AM= a , PM= p
<     L= gsw-LI AM= a , PM= p
---
>     L= gl AM= a.m. , PM= p.m.
>     L= gl-ES AM= a.m. , PM= p.m.
>     L= gsw AM= a , PM= nam.
>     L= gsw-CH AM= a , PM= nam.
>     L= gsw-FR AM= a , PM= nam.
>     L= gsw-LI AM= a , PM= nam.
328,329c328,329
<     L= gv AM= a , PM= p
<     L= gv-IM AM= a , PM= p
---
>     L= gv AM= a.m. , PM= p.m.
>     L= gv-IM AM= a.m. , PM= p.m.
352,353c352,353
<     L= ig AM= a , PM= p
<     L= ig-NG AM= a , PM= p
---
>     L= ig AM= A.M. , PM= P.M.
>     L= ig-NG AM= A.M. , PM= P.M.
356,357c356,357
<     L= is AM= f. , PM= e.
<     L= is-IS AM= f. , PM= e.
---
>     L= is AM= f.h. , PM= e.h.
>     L= is-IS AM= f.h. , PM= e.h.
374,375c374,375
<     L= kde AM= a , PM= p
<     L= kde-TZ AM= a , PM= p
---
>     L= kde AM= Muhi , PM= p
>     L= kde-TZ AM= Muhi , PM= p
409,410c409,410
<     L= kw AM= a , PM= p
<     L= kw-GB AM= a , PM= p
---
>     L= kw AM= a.m. , PM= p.m.
>     L= kw-GB AM= a.m. , PM= p.m.
414,415c414,415
<     L= lag AM= a , PM= p
<     L= lag-TZ AM= a , PM= p
---
>     L= lag AM= TOO , PM= MUU
>     L= lag-TZ AM= TOO , PM= MUU
435,436c435,436
<     L= luy AM= a , PM= p
<     L= luy-KE AM= a , PM= p
---
>     L= luy AM= a.m. , PM= p.m.
>     L= luy-KE AM= a.m. , PM= p.m.
459,465c459,465
<     L= mr AM= स , PM= सं
<     L= mr-IN AM= स , PM= सं
<     L= ms AM= PG , PM= p
<     L= ms-Latn AM= PG , PM= p
<     L= ms-Latn-BN AM= PG , PM= p
<     L= ms-Latn-MY AM= PG , PM= p
<     L= ms-Latn-SG AM= PG , PM= p
---
>     L= mr AM= स , PM= म.उ.
>     L= mr-IN AM= स , PM= म.उ.
>     L= ms AM= PG , PM= PTG
>     L= ms-Latn AM= PG , PM= PTG
>     L= ms-Latn-BN AM= PG , PM= PTG
>     L= ms-Latn-MY AM= PG , PM= PTG
>     L= ms-Latn-SG AM= PG , PM= PTG
474,476c474,476
<     L= nb AM= a , PM= p
<     L= nb-NO AM= a , PM= p
<     L= nb-SJ AM= a , PM= p
---
>     L= nb AM= a.m. , PM= p.m.
>     L= nb-NO AM= a.m. , PM= p.m.
>     L= nb-SJ AM= a.m. , PM= p.m.
490,491c490,491
<     L= nmg AM= a , PM= p
<     L= nmg-CM AM= a , PM= p
---
>     L= nmg AM= maná , PM= kugú
>     L= nmg-CM AM= maná , PM= kugú
515,516c515,516
<     L= ps AM= a , PM= p
<     L= ps-AF AM= a , PM= p
---
>     L= ps AM= غ.م. , PM= غ.و.
>     L= ps-AF AM= غ.م. , PM= غ.و.
527,530c527,530
<     L= qu AM= a , PM= p
<     L= qu-BO AM= a , PM= p
<     L= qu-EC AM= a , PM= p
<     L= qu-PE AM= a , PM= p
---
>     L= qu AM= a.m. , PM= p.m.
>     L= qu-BO AM= a.m. , PM= p.m.
>     L= qu-EC AM= a.m. , PM= p.m.
>     L= qu-PE AM= a.m. , PM= p.m.
572,573c572,573
<     L= si AM= පෙ , PM= ප
<     L= si-LK AM= පෙ , PM= ප
---
>     L= si AM= පෙ , PM= ප.ව.
>     L= si-LK AM= පෙ , PM= ප.ව.
576,577c576,577
<     L= sl AM= d , PM= p
<     L= sl-SI AM= d , PM= p
---
>     L= sl AM= dop. , PM= pop.
>     L= sl-SI AM= dop. , PM= pop.
582,586c582,586
<     L= so AM= a , PM= p
<     L= so-DJ AM= a , PM= p
<     L= so-ET AM= a , PM= p
<     L= so-KE AM= a , PM= p
<     L= so-SO AM= a , PM= p
---
>     L= so AM= sn. , PM= gn.
>     L= so-DJ AM= sn. , PM= gn.
>     L= so-ET AM= sn. , PM= gn.
>     L= so-KE AM= sn. , PM= gn.
>     L= so-SO AM= sn. , PM= gn.
616,617c616,617
<     L= te AM= ఉ , PM= సా
<     L= te-IN AM= ఉ , PM= సా
---
>     L= te AM= [AM] , PM= [PM]
>     L= te-IN AM= [AM] , PM= [PM]

Change-Id: Id87dd3a41b54f4d1e76535c80439e2436346a607
2015-07-09 10:01:31 +00:00
Mady Mellor
84005b4049 Merge "Use hint text to position handle / floating tool bar popups" into mnc-dev 2015-07-09 00:06:13 +00:00
Mady Mellor
ff66ca5038 Use hint text to position handle / floating tool bar popups
In situations where the hint text does not match the direction of
the TextView's primary selection, when you copy text, and long press
in that EditText to paste, the cursor would use the direction of the
hint text to be placed, whereas the handle and floating tool bar
used the TextView's direction to be placed so they wouldn't match.

This CL updates the handle view and floating tool bars to use the
hint text direction when appropriate.

Bug: 21480429
Change-Id: I8090a5b2738c035522c307535ffa165ca024e811
2015-07-08 12:31:45 -07:00
Dianne Hackborn
f2474d336a Merge "Implement better handling of text in assist." into mnc-dev 2015-07-07 23:51:06 +00:00
Dianne Hackborn
6f0fdc4167 Implement better handling of text in assist.
TextView is now much smarter about the text it reports, limiting it
to what is visible (plus a bit more).  Also add a facility for it to
report where the lines of text are, both as offsets in the text string
and their baselines on screen.

Part of fixing issue #22328792: Fix scalability issues in AssistStructure

Change-Id: Idddb8c3a3331355f381e2d4af06d520fe7c7ce8e
2015-07-07 16:47:37 -07:00
Alan Viverette
f12c91f5e6 Merge "Remember focused child during layout when adapter has stable IDs" into mnc-dev 2015-07-07 23:26:36 +00:00
Alan Viverette
8830db0a6a Merge "Never fully detach header or footer views in AbsListView" into mnc-dev 2015-07-07 21:08:32 +00:00
Alan Viverette
1638133b3f Never fully detach header or footer views in AbsListView
AbsListView has special handling of header and footer views that avoids
full attachment; however, we still need to fully detach and reattach
non-header/footer views that cannot be recycled.

Bug: 22239425
Bug: 22238597
Bug: 22214485
Change-Id: Iae5f954fc76522c0a52d0c25e19985ae0196efa2
2015-07-07 11:04:32 -07:00
Andrei Stingaceanu
bc687f96c7 Merge "Drag handles persist after lost focus in extracted mode" into mnc-dev 2015-07-07 09:14:37 +00:00
Alan Viverette
2b460d08dc Remember focused child during layout when adapter has stable IDs
Ensures behavior is consistent between accessibility focus retention and
keyboard focus retention. Attempts to retain focus when possible.

Bug: 22207825
Change-Id: I62360892f52d456e2128f93a2dbf18f2bc934ef3
2015-07-06 11:01:50 -07:00
Abodunrinwa Toki
8fbe1a0cfc Merge "Add accessibility actions for the PROCESS_TEXT feature." into mnc-dev 2015-07-02 02:29:34 +00:00
Keisuke Kuroyanagi
f3be3ddfd8 Merge "Fix: Selection handles can remain on home screen." into mnc-dev 2015-07-01 22:44:53 +00:00
Dianne Hackborn
de15edaa9b Work on issue #21589105: Scope WRITE_SETTINGS and SYSTEM_ALERT_WINDOW...
...to an explicit toggle to enable in Settings

Add a new permission flag, saying the permission can be automatically
granted to pre-api-23 apps.  Apply this to SYSTEM_ALERT_WINDOW.

Change-Id: I24a0ceabe7e9f5e458a864d30eda2696ad14a699
2015-07-01 12:37:00 -07:00
Andrei Stingaceanu
99d3bbdcbf Drag handles persist after lost focus in extracted mode
If extracted mode is to be started and we already had a
selection made do not start the action mode but only the
selection. Non-extracted mode keeps the current behavior.

Bug: 22100966
Change-Id: Iad9a95c28474a68dc4fbc7032cbab1dc6e234d45
2015-07-01 15:59:41 +01:00
Keisuke Kuroyanagi
4712b8ef9e Fix: Selection handles can remain on home screen.
This happened as selection handles are shown even when
selection action mode is not active.

Bug: 22188927
Change-Id: Ifd88b91d98cc6f9b0c578e782144b6eee1bdeec9
2015-07-01 20:06:51 +09:00
Doris Liu
e08f3b3ff5 Merge "Resolve CompoundButton's foreground drawable for layout direction change" into mnc-dev 2015-06-30 21:42:43 +00:00
Doris Liu
99aa13ec10 Merge "Allow null child view when checking whether divider should draw" into mnc-dev 2015-06-30 21:35:09 +00:00
Doris Liu
f102d4266b Allow null child view when checking whether divider should draw
The beginning divider should draw before the first child that is not
set to GONE. Incidentally, there needs to be a check for such a child,
which involves checking the visibility of all the children with lower
indices. This CL takes into account the scenarios where children with
lower indices could be null, in which case we'll treat them as if they
were GONE.

Bug: 22199594
Change-Id: Iefc73ef87beec219898c967b9a3ccebd1e3b5b4c
2015-06-30 13:57:28 -07:00
Alan Viverette
b35e866713 Merge "Handle null argument in ImageView.setImageIcon()" into mnc-dev 2015-06-30 20:53:31 +00:00
Alan Viverette
6ef129e09d Handle null argument in ImageView.setImageIcon()
Provides consistency with setImageDrawable(). Also updates docs and
annotations for setImageZzz() methods that can take null.

Bug: 21664964
Change-Id: Ia9b7f8ee9edb23eeea457520bea4dd261decc794
2015-06-30 13:32:27 -07:00
Maxim Bogatov
7a2e4b8f80 Merge "Let TextView clear accessibility selection index" into mnc-dev 2015-06-30 18:45:52 +00:00
Doris Liu
3380e69f55 Resolve CompoundButton's foreground drawable for layout direction change
This CL adds a step to resolve CompoundButton's foreground drawable when
layout direction has been changed. Prior this CL, only background drawable
of the button resolves its layout direciton in respond to system wide
layout direction change. This CL makes the foreground and background
drawables consistent in layout direciton.

Bug: 16376848
Change-Id: I9a4eb1e010e6ab61ef8684005508bd36486ec1f3
2015-06-30 11:26:47 -07:00
Abodunrinwa Toki
deaf0dbe49 Add accessibility actions for the PROCESS_TEXT feature.
Also refactored the code so that PROCESS_TEXT-related code is shared
by menu item actions and accessibility actions.

Bug: 21890235
Change-Id: Ie932fa9bb5cd3d8bd29f8c82695f3c7490693cbd
2015-06-29 17:34:11 -07:00
Alan Viverette
a1b647c883 Merge "Always remeasure ListView scrap used to obtain minimum width" into mnc-dev 2015-06-29 19:39:29 +00:00
Seigo Nonaka
e96b1c6f82 Merge "Fix crash due to reverse selection." into mnc-dev 2015-06-29 03:02:45 +00:00
Maxim Bogatov
1fa819b337 Let TextView clear accessibility selection index
b/22101633

Change-Id: I861cb705d78b2ed1cf0fab0dab36df3fac7d8256
2015-06-26 16:36:28 -07:00
Mady Mellor
11b64410d9 Merge "Text selection: fix snapping to words when words break across lines" into mnc-dev 2015-06-26 22:36:44 +00:00
Abodunrinwa Toki
1223a75a67 Merge "TextView: add the "Share" accessibility action." into mnc-dev 2015-06-26 22:32:26 +00:00
Mady Mellor
a526683d12 Text selection: fix snapping to words when words break across lines
Some languages do break words across lines and words can break between
lines with hyphenation. If a word has only one character on the current
line with the rest of the characters on the next line, the user would
be unable to move the cursor to the end of the word.

Rather than judging if a user is far enough into a word by using the
full word length, this CL amends the logic to only use the characters
that are on the current line of the word, if the user is far enough into
these characters the handle jumps to the next line to the end of the
word position.

Bug: 21400624
Change-Id: I8b96eb83bea08d9794d1e9db74066bcc3e168ac0
2015-06-26 14:28:12 -07:00
Abodunrinwa Toki
0e5c603192 TextView: add the "Share" accessibility action.
Bug: 21891817
Change-Id: I99b7489845b2103c18fd74d15d0050c34f37ca67
2015-06-26 14:25:15 -07:00
Mady Mellor
450176c52c Merge "Fix: Text selection handles shouldn't be shown in accessibility mode" into mnc-dev 2015-06-26 21:21:56 +00:00
Alan Viverette
2ea329290c Always remeasure ListView scrap used to obtain minimum width
Also turns off ViewPager debug, enabled the scroll indicator on the
DatePicker's year list, and updates the year label's TextView ID to
something more reasonable. Some code cleanup inside ListView.

Bug: 20110431
Change-Id: If1dba955094524d69cc297d7a567a182cef7f11d
2015-06-26 13:31:50 -07:00
Mady Mellor
29f37e1597 Merge "Text selection: When user reaches midpoint jump to end of word" into mnc-dev 2015-06-26 17:38:08 +00:00
Mady Mellor
10f9251736 Merge "Text selection: Fix word boundaries for languages without spaces" into mnc-dev 2015-06-26 17:33:22 +00:00
Mady Mellor
011a42dee7 Fix: Text selection handles shouldn't be shown in accessibility mode
If you select some text normally while in accessibility mode, it
should be cleared and handles should not show if you initiate text
selection using the accessibility context menu.

Bug: 22071639
Change-Id: I32b966e771ba5715a0ab370e6aa602398e5ec534
2015-06-26 09:51:35 -07:00
Seigo Nonaka
084b7a15c9 Merge "Do not show selection action mode when the TextView is not shown." into mnc-dev 2015-06-26 05:10:35 +00:00