History log of /frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6c2a016fb00482339dc66b93822042f9f9e2424f 18-Aug-2014 Jin Cao <jinyan@google.com> [Quantum chips] change chips into ReplacementSpan

There seems to be an issue with ImageSpan where it
sets the default text cursor size to the height of
the ImageSpan. In this CL I changed the chips to
extend ReplacementSpan and simply draw the chip
ourselves by overriding the draw method.

b/16700424

Change-Id: I66a8bf3068e24a669121c7323323fd03138ca7b3
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
219cbfbd7806b17ce10ba2cfb3f0cd45d167d46c 04-Jun-2014 Régis Décamps <regisd@google.com> Allow to paste text or html into a chip

Allows to paste into a chip HTML mime content, as long as
it can be represented by text.

This resolves the inability to paste email addresses copied from
a web page, with content text/html.

Also, fix an IndexOutfOfBounds bug when there is no selection.

Bug: 13361722 users cannot paste html content in chip
Change-Id: I31434105e4326d78e99df338f81d9e56fc5b83c5

Conflicts:
src/com/android/ex/chips/RecipientEditTextView.java
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
a21fd887528a3b985f71decb2a19c917c2fcbd55 10-Aug-2014 Jin Cao <jinyan@google.com> [Quantum chips] code cleanup and restyling

Cleaned up the variable placements in RecipientEditTextView
and removed some outdated functionality.

Updated the style for alternate/single recipient dropdown
to redline.

b/16851158

Change-Id: I0829be08cbf6d603c4b029aec820937379c5dad2
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
9b166209d723ed996243de5d89b489f3992daf0e 08-Aug-2014 Jin Cao <jinyan@google.com> More chip dropdown fix

Don't explicitly set chip popup width since
the width should inherit from the anchor view.

b/16851158

Change-Id: Id83d5dee1a2c44859e83d3862ada5f6e40b97065
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
d36bf69b90b3441a3edff76ebd8c2adfeee4deab 08-Aug-2014 Jin Cao <jinyan@google.com> Merge "Don't use textpaint for drawing icons" into ub-chips-cranbrook
809c595762c1d5adfe93d61eafa5fc9aa48c7de3 08-Aug-2014 Jin Cao <jinyan@google.com> Don't use textpaint for drawing icons

When drawing icons we set various shaders and
attributes to convert sq icon to circle. These
attributes are applied directly on the TextPaint
and are never reset. As a result, we see tiny fonts.

b/16700424

Change-Id: I9ffd07d64fa5c3dee6a5b312195e54559a73413d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
4de6a53de8959dc20bfb05e7b54cb47ccc5367ec 08-Aug-2014 Jin Cao <jinyan@google.com> Support custom popup anchor in RecipientEditTextView

b/16851158

Change-Id: Icb4c511671c512e6095c8fa9607dc4d898ba2b08
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
4d0425d48a54b684d7c1af824b14b3bdf0cfa4ce 07-Aug-2014 Jin Cao <jinyan@google.com> Merge "Ensure delete listener is set for chips" into ub-chips-cranbrook
a20a8d02c0b6a9440a61870ee6c7a6b6c92fbf4b 07-Aug-2014 Jin Cao <jinyan@google.com> Ensure delete listener is set for chips

When the app overrides the default DropdownLayouter,
make sure that we always set the delete listener.

b/16851158

Change-Id: I7794ef2051b837de0722df2033fe531cf4cc01f4
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
33515e70c6dc7b488bc0aa62f6a009bec4bf8812 06-Aug-2014 Jin Cao <jinyan@google.com> [Quantum chips] draw chips programmatically

Why use assets when we can draw chips background programmatically.
Even better, it's faster (maybe) and more space efficient (def).

b/16732676

Change-Id: Ib8dac66eb7e04bf0da08aa9cabe6349402484c5c
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
142f4c5623ade2c55d2a8de7e6a5fedf17bccc96 07-Aug-2014 Andrew Sapperstein <asapperstein@google.com> Merge "Don't use "done" for string name." into ub-chips-cranbrook
f585f36afd00a3591dc71ce6acef00dd718c6287 07-Aug-2014 Andrew Sapperstein <asapperstein@google.com> Don't use "done" for string name.

Change-Id: Ied4449f02ef5683764fcfeb9b95b6d0c665c1132
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
bf84bd8f061da4f5a494d20192eae53db9867785 31-Jul-2014 Jin Cao <jinyan@google.com> Chips show icon even if name is null

Not sure why this was added or why it was working before.
A recipient's name can be null but it can have a valid
destination, in which case we still want to show the icon.

In any case, based on the comments it says we only not
show the icon for generated/invalid contacts, so I'm
removing the check for empty name.

b/16383133

Change-Id: I16642986e503a51e52275118bea05f34973817b6
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
6fc1fee597ebe3c30ebe5efebb4d6ea105641e0f 30-Jul-2014 Jin Cao <jinyan@google.com> [Quantum] update alt/single chips to quantum

Updated UI for alternates/single chips dropdown.

Not included: X button next to selected chip for removal.

b/15934812

Change-Id: Id34e28f1783f85ffbe33f82b1d230c3def27589a
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
58d541de27090b4bd55746368b3b3b1486a7c094 30-Jul-2014 Jin Cao <jinyan@google.com> [Quantum chips] restyle recipient chips to quantum

Restyle recipient chips to quantum redlines, also
remove padding style from non-autocomplete dropdowns.

b/15934812

Change-Id: I28eef0f4b9d622f81782d12f279e78af10c14458
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
4db8cccf3332ad7c6fb1915f9f0f169953c3953a 30-Jul-2014 Jin Cao <jinyan@google.com> [Quantum chips] add delete button in dropdown

For single/alternate recipient dropdown there is
now a delete button next to the currently selected
contact for easier removal of the selected chip.

b/16383133

Change-Id: Ied238b91b42673142de88a159b50772bd6b7b937
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
15259d5bab45b9e561d33e5d1d23df3a1476a430 10-Jul-2014 Scott Kennedy <skennedy@google.com> Use a better y offset algorithm

This gives us a much better vertical centering of text.

Change-Id: I09651e1a222cef2b60f4f59cb67ae01530e27cd2
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
b232e5c33e1e2879c7bc8e96a1b9c41c4fa41244 10-Jul-2014 Scott Kennedy <skennedy@google.com> Update assets/dimensions/defaults to match Material spec

Change-Id: I0d39a630492b08cd647bb39c2aab1bc4a86b8aee
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
50429c51adbd79c5d7dd5beb2c267daf9465f20f 13-Jun-2014 Andrew Sapperstein <asapperstein@google.com> Update suggestions for every character.

b/15519050

notifyDataSetChanged was getting called in
bad places if the image was already cached.

Change-Id: Ibd4a21a634e8668c5936145fda52aa7e5f4e5c1f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
5c49b0ed416aa5dfc144b95ee9bf9a7d9f420bd3 10-Jun-2014 Kaikai Wang <kaikai@google.com> Merge "Adding the ability to remove chips that match a given ReicipientEntry" into ub-chips-bagotville
cd980d9f73bfa02155f7bb092ae1fb212ed6e8e2 10-Jun-2014 Kaikai Wang <kaikai@google.com> Adding the ability to remove chips that match a given ReicipientEntry

Change-Id: I3ae8e495429eef9c5fb21e84a25c81dd6188d0be
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
3e05cfa55dbb8840adaf3dfcf31a5a30ce129c9e 05-Jun-2014 Kevin Lin <linkevin@google.com> Add a callback to RecipientEditTextView for whenever it creates a chip.

BUG 14279330

Change-Id: Ia50dee1ce0bd35eb913ee360bf6814dbb66baf76
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
52e4814f46230835ed48d7561de8359b79b978cd 05-Jun-2014 Jin Cao <jinyan@google.com> Ensure that invalidate is called on main thread

Sometimes the chips span is constructed on a background
task and then rendered on the UI at a later time. For those
cases, the async loader callback will happen on a non-main
thread. This causes invalidate to crash since it can't be
called from non-main threads.

Change-Id: Icfdfb84ceae74032ca0b51a872fbf02fe6a72418
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0efdc53cd0d040c1a27a7d39003916e54e284be2 05-Jun-2014 Jin Cao <jinyan@google.com> Add failure callback for loading avatar async

b/15431889

Change-Id: I554745b0aa3d754343076105bb1dbb11258b28c3
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
e35d6c58053991c82893d173643dc0b867be0a8f 04-Jun-2014 Jin Cao <jinyan@google.com> Invalidate each chip if it loads avatar on background

The chip might not redraw itself when it loads the avatar
asynchronously (works for Gmail, but it seems to not work
on some other projects that use chips). Let's just force
redraw the individual chip's view upon loading.

Change-Id: I3647591fc4c09ad895a58ed67b02fa71bddbe173
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
82d388545ba0b52854801c946ed2f62e05e7b563 03-Jun-2014 Jin Cao <jinyan@google.com> Fixed bug with null origPhoto

Since we no longer use thumbnailPhotoUri, we can safely take it out.
This will fix the bug where origPhotoBytes is null and thumbnailUri
is also null (cause nullpointer, which causes the chip to not be drawn
on the screen).

b/15402474

Change-Id: Ia2d995b90c02123499e71ec1ac98c9ad07a10d35
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
35e82d4f9522906f7953667cf5c5f8137ec2f5ac 03-Jun-2014 Jin Cao <jinyan@google.com> Move getAvatarIcon off UI

Change BaseRecipientAdapter#fetchPhoto to use the async version of
populatePhotoBytes. Move some UI code around so we keep a reference
of each chip bitmap as well as criterias we need to draw the icon
once it's loaded. Once the icon bitmap is asynchronously loaded,
we then draw that icon onto the UI.

b/15082721

Change-Id: I8abd3f8e1bb61b9a5b35ecda71704bb0c38dc7bf
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
972def7a06f7d820313228c5b1311ccbe8096be0 28-May-2014 Kaikai Wang <kaikai@google.com> Adding the ability to manually append a RecipientEntry to RecipientEditTextView

Change-Id: I291af897b120ea340139c68364f2901600d38059
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
48de6b5b916811a6622bb96a8eb57a71eb32ab3c 15-May-2014 Andrew Sapperstein <asapperstein@google.com> Merge "Add support for autocomplete suggestion analytics." into ub-chips-bagotville
0f2b174c6d8a19fb8ffbd71f742e11d3a04add9b 15-May-2014 Andrew Sapperstein <asapperstein@google.com> Add support for autocomplete suggestion analytics.

Change-Id: Ib61b376da1faffe330373ca1e19bda9dedb27e87
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
8af0d3b6f34e03c08c8e67be2190da01c59889da 03-May-2014 Andrew Sapperstein <asapperstein@google.com> Allow support for alternate data sources.

BaseRecipientAdapter adds a bunch of methods that can be
overridden to change the default behavior. Also makes a bunch
of private methods protected so that derived classes can use those
methods.

Abstracts the calls to update the various internal data structures
so that derived classes can utilize their own structures by just
overriding a few methods.

Refactors photo loading into the PhotoManager interface
with a default implementation living in DefaultPhotoManager.

Provides the ability to not use the RecipientAlternatesAdapter
and instead just use SingleRecipientAddressAdapter when showing
a dropdown after clicking on a chip.

Also allows overriding the default behavior for creating chips
when pasting in email addresses or editing drafts.

b/11387812

Change-Id: I826c30edeee1752b7a3d4108e777f90b79d0f7f8
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
1248e53bed1011088489b0d9adf17f5a05be8d78 01-May-2014 Ken Thai <kenthai@google.com> Add the ability to retrieve all recipients that have been selected

Change-Id: I144a46ce37532ac669c70e5c8496675dfa490c9f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
1db635b5a09c77a27fe17a9ce31c21a67458c2bc 29-Apr-2014 Andrew Sapperstein <asapperstein@google.com> Code cleanup.

Change-Id: I752adf6f704f449093abf4eb0b59e268c03fcb18
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
e4945e96e5b67a1a5b8fd165debc616a351fda17 22-Apr-2014 Scott Kennedy <skennedy@google.com> Allow selection of all entries in the dropdown

We were always taking the first entry in the list upon pressing
"enter", but now we will take the selected item, if one is selected.

Bug: 12467029
Change-Id: I0c42d4613f25acdfa021bb6fd8664b6f3f4da71e
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f11483ad7d1e7abbce9d59ecf01b4b904a777b05 18-Apr-2014 Scott Kennedy <skennedy@google.com> Make this constant final

Change-Id: I3fc5b575247f31c3ff486316c20afa93370bf29d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
b3b248acd845b017e952fb802e0976e82fc1c583 11-Apr-2014 Jin Cao <jinyan@google.com> Don't autocomplete unknown email addresses

The user often manually inputs a correct email address that Gmail does
not know about. In this case, we don't want to autocorrect it to the
closest match we find (even when the user shifts the focus away) from
the contacts list.

b/12443656

Change-Id: I1d7694f2bdd1bc876889dd9b74999accb853cac8
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
2b2de7c3146a60d39d5d2078052b2c14b6496ef9 12-Mar-2014 Tony Mantler <nicoya@google.com> Call super.onAttached/onDetachedFromWindow

b/13342458

Change-Id: I0c68789c350bb252018691cff7975e0f49f0e10b
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
c61c13ffde5d4224ee861f7e7fe3ea0900128a7c 01-Mar-2014 Kevin Lin <linkevin@google.com> Fix redrawing chips with recipientEditText onSizeChanged when it has left and right padding.

Change-Id: I4021ddc0359f6e7a807ba4b10d12c80fc01c25a4
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
9b398e3019d1e12c661647a277a338975a50d952 26-Feb-2014 Kevin Lin <linkevin@google.com> Added support to choose vertical alignment for image spans.

TESTED=phone

Change-Id: I582224467b4626afd1414889166f4fbbc773897f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
7a4e67708498ec46c2e9b3bad69d3807d88c064e 21-Nov-2013 Scott Kennedy <skennedy@google.com> Fix directory lookups

The previous "fix" disabled the lookups.

Now we will do the lookups, with the proper lookup key and
directory id. We also do a much better job of showing directory
images.

Bug: 11693322
Bug: 12793279

Change-Id: I372711fd7b485f3183516fce2b11f9eff46a9b23
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
53e718a52258e2240ed82faaee0ecef05fe112a0 05-Feb-2014 Kevin Lin <linkevin@google.com> Change to scrollToBottomView to be protected instead of private.

Change-Id: Ibad81543afc87f20cf8d479fd28ac1efde6195f4
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
41e93fbe82cd4d802e3f1fbe265038f7a0521ddd 04-Feb-2014 Kevin Lin <linkevin@google.com> Fix chips library bugs related to setting the threshold to 1.
- Dropdown not being dismissed after having at least one chip and typing a character and deleting it.
- Selecting a chip, deleting it by pressing backspace, and entering another character brings the deleted chip back.

TESTED=chips on bigtop app

Change-Id: I09233ffa7dfe1f64ae9efe4a392fa84b64b8b10a
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
b8985b7b595e38518d2a0657b89ff47bd34862ab 29-Jan-2014 Scott Kennedy <skennedy@google.com> Fix a small bug

Change-Id: I92babdcb1488195a073d2393b03083c8c74f740f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
c0e6023ca7129914a3850bceb1a151acc75fd1f8 25-Jan-2014 Andrew Sapperstein <asapperstein@google.com> Support RTL in chips library.

Fixes b/12569794.

Change-Id: I927a5d3e0d4af42a3ca3fbbb87ba201fe7bb830e
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
b10d1c652d0416c284d9792fc9a0a92b3acd51ca 24-Jan-2014 Kevin Lin <linkevin@google.com> Main changes to the chips library:
Changed attribute styles
- Added an avatar position (left, right) inside the chip
- Added a disableDelete boolean
- Removed chipsAlternateLayout

Changed how to layout contacts in autocomplete list.
Added a separate class to handle layout and binding information. (This way clients can extend this class and have a customizable layout)
This new class lives inside RecipientEditTextView and is passed onto each adapter.

Merged code paths for createSelectedChip and createUnselectedChip.
Merged code paths for getView() in each of the 3 adapters by using DropdownChipLayouter.

All tests still pass since this CL is mostly infrastructure layout changes.

There are some non-backwards compatible changes with this if other clients are using this library.
BaseRecipientAdapter no longer has protected methods to override the layout and id's.
The attribute file no longer has chipsAlternateLaytout.
Both these features can still be used through the new DropdownChipLayouter class.

Change-Id: I4496232eddd194be2df6a047f75637114f2eaa52
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f5c24c97ddba4bf2c626898734669f85c3acb00f 14-Nov-2013 Scott Kennedy <skennedy@google.com> am 3e8176df: Don\'t show the alternates dialog for GAL contacts

* commit '3e8176df16950c067bcb1b37e62b2fc07d74065a':
Don't show the alternates dialog for GAL contacts
514f8a75f72fa2e735418ffb5d6e30aa914fbe7b 14-Nov-2013 Scott Kennedy <skennedy@google.com> Don't show the alternates dialog for GAL contacts

There's a bug in the chips code that causes this to show either no
alternates, or a different person, which is scaring people.

The proper future fix is to store some more information about GAL
contacts so we can do a proper lookup.

Bug: 11535331

Change-Id: Id8b6fc834446afe33bd6ec4e99b3d2b75b985bde
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
d1c1e3515f46ac74bf3ce1eb9e325762096dd8b2 16-Oct-2013 Tony Mantler <nicoya@google.com> am e444c661: am eaf43ea2: Don\'t show pop-ups and dialogs if we\'re not attached to a valid window.

* commit 'e444c661c53b942eea0daa120b3e5dcc58a0bdbe':
Don't show pop-ups and dialogs if we're not attached to a valid window.
7894c8a217ea8507588a386f92b42f88a8ec6ba5 16-Oct-2013 Tony Mantler <nicoya@google.com> am eaf43ea2: Don\'t show pop-ups and dialogs if we\'re not attached to a valid window.

* commit 'eaf43ea2c3b00af22f0aa106fd3dde142f52d471':
Don't show pop-ups and dialogs if we're not attached to a valid window.
fbeca0eb27de966dcac8a48d1d0e888e565bf255 15-Oct-2013 Tony Mantler <nicoya@google.com> Don't show pop-ups and dialogs if we're not attached to a valid window.

b/11229200

Change-Id: Ic44da79e441017ac4ccdb4a254c13965da0cc2f9
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
858e094f1c695aefdf6a23f522c0f16d81bd79f7 10-Oct-2013 Scott Kennedy <skennedy@google.com> Merge chips from jb-ub-mail-ur11 into klp-ub-dev

Change-Id: Ied8877d7613ca1dbb5047a0c8c611a1138fc47e3
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f30ea36c3bd07ebbcef0f80c8c92a05a7384d319 06-Aug-2013 Scott Kennedy <skennedy@google.com> am bc742af5: Make Chips work on API 11+

* commit 'bc742af5bb568ed39dc37764587120928d068330':
Make Chips work on API 11+
1650ef6bb75ba88340cc59d22b2578c0f460b4f1 03-Aug-2013 Scott Kennedy <skennedy@google.com> Make Chips work on API 11+

By using the support library, and copying a few methods from TextView
into RecipientEditTextView, we can support chips back to API 11.

Bug: 8744878
Change-Id: I2d9bb43e71556504e929dcdccff9dae347020f28
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
47f4077e34069cc6c254a6141e56e13b4a814879 01-Aug-2013 Scott Kennedy <skennedy@google.com> resolved conflicts for merge of b6c18ed6 to master

Change-Id: I7617af351d1fa7e4ce9ff401beffe21690b429d3
c430ea869c6d2e969cf8471875c951d201088610 01-Aug-2013 Scott Kennedy <skennedy@google.com> Remove an unnecessary null check

Bug: 9497893
Change-Id: Ib363fc4b93a53c343e0e4cd4766038fee8324850
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
76f1f2d4eb66956814254b0e4f86da7aa8261bcb 14-Jul-2013 Alon Albert <aalbert@google.com> Support an External Dictionary of Contacts

Allow support for an external custom source of contacts. By making
some classes & methods protected rather than private, it's possible
to allow for a derived class to extend the Chips behavior to load
contacts from an arbitrary source.

Most of the changes here are just access modifier changes but there's
one more substantial change:
Intruduced BaseRecipientAdapter#getMatchingRecipients() which matches
generated recipients with proper chips recipients from the external
sources.
Ideally RecipientAlternatesAdapter#getMatchingRecipients() should reside
in the adaper too but the goal of this CL was to do this minimal
modifications.

There's also a small change that beileve was a bug in IndividualReplacementTask:
The matchesFound() callback gets a list of matches found. It then iterates all
the original recipients and looks for those that have matches and replaces them.
So far so good but, if the original recipient doesn't have a match and is not a
phone number, the old code still replaces it with itself when it can simply skip
it I think.

Change-Id: I24e89f93ec15154ed8912664cd061fa2b5b18bd8
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
da5932fdbfbfdc03e2fa2417f3492dbf21ba7e8f 19-Jun-2013 Scott Kennedy <skennedy@google.com> Prepare to remove a null check

I am fairly convinced that the fix for 9408464 will also fix the
underlying problem of this adapter being null.

If this log method is ever called, then I'll know it didn't work, but
I believe this will never be called.

Bug: 9497893
Change-Id: I08518ceecee6985462d0165fb16b1dea95181b07
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
6b7110f320c978c368c28bdb06212c6a6df12f1f 26-Apr-2013 Alice Yang <alice@google.com> Prevent NPE in chips

Bug 8733626

Change-Id: Id74ed7de4f16f9a7e716b4e9f2152dded97a91e9
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
b023f69b1f35199bc17f1d2708acb492d3ae49b0 22-Apr-2013 Paul Westbrook <pwestbro@google.com> Prevent IOOB exception

The chips code was expecting a space after an email
address when replacing it with a chip. If there is no
extra space (which can happen when receiving an intent)
don't walk off the end of the string

Bug: 8635860
Change-Id: I1d40a08f1cbf11740172b0ea62ab11d656fb23f9
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0c0e0a33d53f3ce4f72af7ca4f539dd3b98766b3 15-Apr-2013 Tom Taylor <tomtaylor@google.com> Merge "Messaging crash on selecting a contact from the auto complete list in landscape mode" into jb-mr2-dev
0e128968f242866568bba0f833bb17ffda127f07 11-Apr-2013 Scott Kennedy <skennedy@google.com> Don't do chip resolving in place

Make a copy of the text, and do the replacements in this copy, so
that we aren't calling back to any TextView watchers. This speeds up
the process by over 90%.

Bug: 8513563
Change-Id: Iff289f8fe24792f1aef657a9b5b4f3457bcbb946
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
114c89364bd00a445f0b017ae658928c1dc26c5a 10-Apr-2013 Tom Taylor <tomtaylor@google.com> Messaging crash on selecting a contact from the auto complete list in landscape mode

Bug 8540624

Change-Id: If95d1d35cfd0018280ba31a6ef66e9f42f8e1980
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
dd00bac0df7b509a48858da7ffe205b747061466 06-Apr-2013 Scott Kennedy <skennedy@google.com> am da491f04: Prevent a potential ANR

* commit 'da491f048fb33b572713b4287436c1cac6898670':
Prevent a potential ANR
272aae0dadf8b63b83e61bc7d9f5093f51e06564 06-Apr-2013 Scott Kennedy <skennedy@google.com> Prevent a potential ANR

Move this code into an AsyncTask, since createAlternatesAdapter() can
take a while to return.

Bug: 8519276
Change-Id: I7b3f30ab13ed894e80ac26c365dcb3cbe178dd37
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
41137c249b5fe547a3631d9c6db57ff980022aff 26-Mar-2013 Tom Taylor <tomtaylor@google.com> StringIndexOutOfBoundsException in Chips during monkey run

Bug 8478568

The code was looking for a comma and not finding one, but since the length
of the token was zero, the "if" clause was executed and tried to make
a substring of length -1.

Change-Id: Ic876fd6b5880c452b27083fb23cf78da994e0225
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
27a3299383d664b94949d81548358cc804d97ecb 22-Mar-2013 Scott Kennedy <skennedy@google.com> am f5ecf6ad: Add unit test for creating fake phone entries

* commit 'f5ecf6ad067fb1036199ad5125949aae7ffd9689':
Add unit test for creating fake phone entries
983c99b9e00913e8d2a5642cd05ccb9a81570be7 22-Mar-2013 Scott Kennedy <skennedy@google.com> Add unit test for creating fake phone entries

There was a problem with numbers formatted like:
"(888) 555-1234".

Bug: 8449554
Change-Id: Ic70998104bd5151aba2dca5202bc4f99ced362be
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
b315ee2049ac0942d922993d57ef825d86409883 21-Mar-2013 Tom Taylor <tomtaylor@google.com> Cherry-pick: Area code gets eaten in Chips

Bug 8436028

New code for tokenizing an address stripped the area code from a manually
entered phone number. When chips is in "phone number" mode, call a new
function (essentially the old function before the change) to create
a fake entry directly from the phone number.

Cherry-pick of: I2d62ff24aacd8eadb9086840bd4d003cf39db177

Change-Id: I08d98c2e358fc1b8a70bacf358497a511fd71069
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0ba9133c904b8c35af8209a54604331cd671bc1f 21-Mar-2013 Tom Taylor <tomtaylor@google.com> Area code gets eaten in Chips

Bug 8436028

New code for tokenizing an address stripped the area code from a manually
entered phone number. When chips is in "phone number" mode, call a new
function (essentially the old function before the change) to create
a fake entry directly from the phone number.

Change-Id: I2d62ff24aacd8eadb9086840bd4d003cf39db177
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
c659350ca2b6ba54aa11139106b1aa937dd065a3 17-Oct-2012 jli119X <jianpingx.li@intel.com> Cherry-pick Fix a Dead Loop issue in RecipientEditTextView

From AOSP: I01183680289919105dadc28ffd40c8e60dfd6b7e

The old code logic will cause dead loop when pasting phone number
to recipient.

Change-Id: I608f1bf2a5d5651f51be419f7b6125358f2389e2
Author: Jianping Li <jianpingx.li@intel.com>
Signed-off-by: Jianping Li <jianpingx.li@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 58793
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
048cf5c066f8430fd435696930d87a343283c4c3 14-Mar-2013 Scott Kennedy <skennedy@google.com> resolved conflicts for merge of 35d3af70 to jb-mr2-dev

Change-Id: If85946ef3dbf82eb3a790adf320765e4a25d91dc
06e232c1d91284a1c42f9e316164626e7c8f4c0f 14-Mar-2013 Scott Kennedy <skennedy@android.com> Merge "Fix a Dead Loop issue in RecipientEditTextView"
821d2f8611ac304dffdc1af044d3170c80e09f0f 14-Mar-2013 Alice Yang <alice@google.com> Merge remote-tracking branch 'goog/jb-ub-mail-ur9' into merge

Merge UR8 into MR2.

Change-Id: Ia04852cf84c05ab2ee4898662d347a06d40e5f11
194d427ebcfc2133bda410e0e4c399250d9a6066 07-Mar-2013 Scott Kennedy <skennedy@google.com> Refactor some of thie chips code

VisibleRecipientChip and InvisibleRecipientChip had a lot of the same
code, so I moved it all into a delegate class. This resulted in a
bunch of "RecipientChip" classes, so I moved them all into their own
sub-package.

Change-Id: I01dfc931e006270dd37721c73e7bc3c0e7b67515
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
03e9e9833bced880a5e29bb06598d98dfa8d686e 04-Mar-2013 Scott Kennedy <skennedy@google.com> Ensure appended emails have a comma separator

There was some code that checked for comma placement, but that is no
longer necessary. Instead, we verify that the email address has a
trailing comma (plus optional whitespace), and if not, we append a
comma and space, to ensure the address is later chipified correctly.

Bug: 8272316
Change-Id: Ifbb1bae466e3ae15c39d6b90a4bc22edc72a096f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
20c8aa75e7213ee82089b9aea9f407ca62302167 07-Mar-2013 Scott Kennedy <skennedy@google.com> Add a test case for b/8321211

Emails like:
"Ex Ample" <example@example.com>
were displaying improperly.

Change-Id: Idd43814352e0c4455733adc13b89eb6fc1aca1bb
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f7e202d8b83bfbd73ca47ba7843ebc4dd57c2fa4 07-Mar-2013 Scott Kennedy <skennedy@google.com> Initial clean up of the chips code

Change-Id: I56a3dd5968a3ea435d6dcae9256021bac1f74ee6
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
cabbb1f49d2107de97f868a23aa7f2fbfa8efb35 05-Mar-2013 Scott Kennedy <skennedy@google.com> am 5863e75e: Ensure we chipify the original text

* commit '5863e75e34f565429bd943af692d2fa104441901':
Ensure we chipify the original text
6ac271faa215c4e033f4b1f6719dbd3724f0c0a1 05-Mar-2013 Scott Kennedy <skennedy@google.com> am 5863e75e: Ensure we chipify the original text

* commit '5863e75e34f565429bd943af692d2fa104441901':
Ensure we chipify the original text
0613ff859a6b44685af62821eac369597cf69b26 05-Mar-2013 Scott Kennedy <skennedy@google.com> Ensure we chipify the original text

We were tokenizing the addresses, then attempting to chipify what we
believed was the ideal way to represent that address as a string. If
this did not match the actual text, it resulted in not everything
being turned into a chip.

By actually using the original text to determine what we make a chip,
we can ensure that everything is always turned into a chip.

Bug: 8321211
Change-Id: I5e7b4d57b6b8895ae5211818451075f461c14eaf
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
36c2feea5cbba91562dc52524a43918dc5bdd5a1 05-Mar-2013 Scott Kennedy <skennedy@google.com> am 0159508d: Merge "Fix some jank" into jb-ub-mail-ur8

* commit '0159508d07186a3bf9fcc9a7227047f1bd82084d':
Fix some jank
41ca84660a2df4355422fd3b262ed8f0d4a289b9 05-Mar-2013 Alice Yang <alice@google.com> am 48ad5213: Fix NPE.

* commit '48ad5213e18a67b3a7ec3375214e3900240b889c':
Fix NPE.
0802df0444288e59e3e5eb7c2474b7f5db97483e 05-Mar-2013 Scott Kennedy <skennedy@google.com> Revert an unnecessary change

I5e9631f258b8d273777c65f3f5460f1aa71f10b1 no longer appears to be
necessary, and was causing jank. It was effectively reverted in Gmail
UR8, and this change just removes the remaining code.

Bug: 8316009
Change-Id: I9c1309cccf57a1e6e7d75eb017aa09add57d2c4a
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0501c63873d43bcca14e160cc4e27d702eea475f 04-Mar-2013 Scott Kennedy <skennedy@google.com> Ensure appended emails have a comma separator

There was some code that checked for comma placement, but that is no
longer necessary. Instead, we verify that the email address has a
trailing comma (plus optional whitespace), and if not, we append a
comma and space, to ensure the address is later chipified correctly.

Bug: 8272316
Change-Id: Ifbb1bae466e3ae15c39d6b90a4bc22edc72a096f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
c1b5258fe0d244be2d4d8c4d2969c1b8859c6fa8 05-Mar-2013 Alice Yang <alice@google.com> resolved conflicts for merge of c4d46df7 to jb-mr2-dev

Change-Id: I8d4c64832f989c70ef432730ab584e3dc71ad004
b187a712eac1ab0aae0b4d6db6401c2c3b186444 05-Mar-2013 Scott Kennedy <skennedy@google.com> am 0159508d: Merge "Fix some jank" into jb-ub-mail-ur8

* commit '0159508d07186a3bf9fcc9a7227047f1bd82084d':
Fix some jank
0132502dc4f30cf9de460716e534575bf9328975 05-Mar-2013 Scott Kennedy <skennedy@google.com> Merge "Fix some jank" into jb-ub-mail-ur8
341ed3d331f008125dc5238278b63461ca808eed 05-Mar-2013 Scott Kennedy <skennedy@google.com> Fix some jank

Removing this line does not bring back the issue this code was
supposed to fix, and it does eliminate the jank.

We can remove all traces of I5e9631f258b8d273777c65f3f5460f1aa71f10b1
in UR9.

Bug: 8254380
Change-Id: I3af3f5e2745aca2667a5a50df306560fe61df5fc
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
1184feef357f5d30a49a47f4dfaeba4f233312c2 05-Mar-2013 Alice Yang <alice@google.com> am 48ad5213: Fix NPE.

* commit '48ad5213e18a67b3a7ec3375214e3900240b889c':
Fix NPE.
ad8781e6062f086aa4160eab2799b6848911aa3d 04-Mar-2013 Alice Yang <alice@google.com> Fix NPE.

Missed another place we need null check.

Bug 8312541

Change-Id: I769e1b6ea5e9c028ca46ee896575f0b4a6c4cea5
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
9cbf4d61154f33e91403c1a59a753ae542c8cd14 04-Mar-2013 Alice Yang <alice@google.com> am c4d46df7: Fix NPE.

* commit 'c4d46df70d525cb2289bd76fb0b0b12637dbbe23':
Fix NPE.
f0579ee4ab41c021f20f78b25ecf4c526b308ec6 04-Mar-2013 Alice Yang <alice@google.com> Fix NPE.

Change-Id: Ibb2f12a2b7728fe0e6c5bc454bf9bce96f6e827c
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
d215b8fd8911e0c0c85947fd6b8f774b021f97a7 28-Feb-2013 Scott Kennedy <skennedy@google.com> am 211ae635: Reduce chip jank

* commit '211ae63525c02ec914ef020af625ea4e7d8a3b29':
Reduce chip jank
a5f3a5b8704ec54e879159b0aa81490fef623872 28-Feb-2013 Scott Kennedy <skennedy@google.com> am 211ae635: Reduce chip jank

* commit '211ae63525c02ec914ef020af625ea4e7d8a3b29':
Reduce chip jank
78f38a09c9753c0ac1838ce0bfd3a6bc1a307ff7 27-Feb-2013 Scott Kennedy <skennedy@google.com> Reduce chip jank

Put every email address in a chip, so we don't have jank as text
addresses are replaced with chips.

Bug: 8254380
Change-Id: I39d435a9e29c6d9cb2b5f5f69a103ac7a7ab4a3d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
d08e990766f1b5784ae0e6101884f33e2089196c 21-Feb-2013 Alice Yang <alice@google.com> Merge 'goog/jb-ub-mail-ur8' into master

Change-Id: I7d1e9583bca936a770334252dc0046417b642298
d5242f7830fd346853912941d2ee9ee1ed7ec99a 19-Feb-2013 Scott Kennedy <skennedy@google.com> am 2727f969: Ensure all addresses turn into chips

* commit '2727f969d0ce46cdd16cd77e1dc21f3a636217d2':
Ensure all addresses turn into chips
94fa301de71cc110671802eba8376c275b4055a4 16-Feb-2013 Scott Kennedy <skennedy@google.com> Ensure all addresses turn into chips

If an address wasn't properly resolved, it was left as text. This
change processes all unresolved addresses into chips.

Bug: 8201904
Change-Id: Iae7718d97c7c1167bdc464ef372b171743524712
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
87eb4a53e278ae5d6126a04b9ee3b2b90114029f 15-Feb-2013 Paul Westbrook <pwestbro@google.com> Merge branch 'goog/jb-ub-mail-ur8' into master

Conflicts:
photoviewer/AndroidManifest.xml
photoviewer/res/values/dimen.xml
photoviewer/src/com/android/ex/photo/Intents.java
photoviewer/src/com/android/ex/photo/PhotoViewActivity.java
photoviewer/src/com/android/ex/photo/adapters/BaseCursorPagerAdapter.java
photoviewer/src/com/android/ex/photo/adapters/BaseFragmentPagerAdapter.java
photoviewer/src/com/android/ex/photo/adapters/PhotoPagerAdapter.java
photoviewer/src/com/android/ex/photo/fragments/PhotoViewFragment.java
photoviewer/src/com/android/ex/photo/provider/PhotoContract.java
photoviewer/src/com/android/ex/photo/util/ImageUtils.java
photoviewer/src/com/android/ex/photo/views/PhotoView.java

Change-Id: Icb06b228f0eab1f828a21507ec2fbe7ede998536
6dd94e097be6b95ec71fbd6bbaebb105f7349b55 15-Feb-2013 Scott Kennedy <skennedy@google.com> Merge "Don't jump focus out of the View when the Activity starts" into jb-ub-mail-ur9
2fe0cffa8dce1712fb5b568ab06e13857ef4f7c1 15-Feb-2013 Scott Kennedy <skennedy@google.com> Don't jump focus out of the View when the Activity starts

In an Activity where a RecipientEditTextView has initial focus, if
you start the Activity by pressing the enter key on a keyboard (like
on a button), it would appear the onKeyUp event is handled in the new
Activity, causing this View's enter-handling logic to run.

By moving the logic into onKeyDown, we can avoid this situation.

Bug: 8013052
Change-Id: I48d3e903071954f5b73f4860ea87733c6eacd2dd
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
9ef46b887b80b1e2cdb13feac971cdeaa1e5747f 15-Feb-2013 Scott Kennedy <skennedy@google.com> Prevent the tab key from double-tabbing

Tabbing from this field results in skipping ahead two fields.
The platform (TextView#dokeyDown()) catches the tab in onKeyDown(),
and we were catching it in onKeyUp(), causing it to be handled twice.

Everything seems to work as expected with this code removed.

Change-Id: I1386b374e93c8de2a9dfb4c57804222a2ad88002
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
54d43c67449dfe2df323d138e57d8199c4ba6d37 01-Feb-2013 Scott Kennedy <skennedy@google.com> Hitting enter on a physical keyboard should auto-complete

We need to treat KEYCODE_ENTER the same way as KEYCODE_DPAD_CENTER.

Bug: 8077506
Change-Id: Ib129068f851c3927bd572edb0ae0edfb6c422ceb
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0cd0096c67f81c66272349363c38c2d0e443f5f3 30-Jan-2013 Scott Kennedy <skennedy@google.com> Show contact addresses while chips load

When the "more" chip (eg +3) is expanded, we need to display the
addresses as text while we go searching for the real contacts.

Bug: 8099861
Change-Id: I5e9631f258b8d273777c65f3f5460f1aa71f10b1
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
1af243fdc3b87979252bddc06097c5056ef93894 30-Jan-2013 Scott Kennedy <skennedy@google.com> Fix advancing to the next field when "Return" is pressed

The onEditorActionListener was not being called.

By explicitly setting EditorInfo.actionId in addition to actionLabel,
the onEditorActionListner is being called again.

Bug: 8091676
Change-Id: I349e77abe64ab8492678e1c8dda4fb70f4503a85
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
fda0170c661e237c202a8519baba1ce3294c6afe 15-Jan-2013 Tom Taylor <tomtaylor@google.com> Repeatable ANR when pasting text into the recipient field

Bug 7998195

Add an escape clause to an infinite loop. The bug is 100% repro.

Change-Id: If4d4409a992ce29176ac8ef544a71b3649c1e6ee
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0cae85010120a2a8490baf3488ed0bd2293e1d4d 17-Oct-2012 jli119X <jianpingx.li@intel.com> Fix a Dead Loop issue in RecipientEditTextView

The old code logic will cause dead loop when pasting phone number
to recipient.

Change-Id: I01183680289919105dadc28ffd40c8e60dfd6b7e
Author: Jianping Li <jianpingx.li@intel.com>
Signed-off-by: Jianping Li <jianpingx.li@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 58793
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
28b51e8a2895b826cff92388728755784331a16e 21-Dec-2012 mindyp <mindyp@google.com> Properly handle keyboard selection

Fixes b/7909211 Gmail compose always select the first recipient when selecting different recipient using down arrow keys of connected BT keyboard

Change-Id: Ib59045ae33e8fd6d4b7a5e2767fda356c6b6ca7a
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
488718e8f464d8554dd1cb00395fdfc7871f0fc8 18-Dec-2012 mindyp <mindyp@google.com> Make sure we correctly handle the " " at the end of a chip

Fixes b/7727633 After reply focusing on To field puts cursor right next to chip

Change-Id: I13e7ede4385cf96e6eb0588adaccf0f67424b0ce
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
642d831d094cf29bf5d5f5ac0a0bab77b8fec0fd 17-Dec-2012 mindyp <mindyp@google.com> am 9f662b7d: am a918fec5: Merge "Eliminate jank when the user deletes a character thereby removing all contact results in the popup." into jb-mr1.1-dev

* commit '9f662b7d0561a46a0250702385084c48efe9ca24':
Eliminate jank when the user deletes a character thereby removing all contact results in the popup.
806017c149a5460d37adaae8a6278175f2b4b812 17-Dec-2012 mindyp <mindyp@google.com> Eliminate jank when adding/ removing character

Change-Id: If09ad14830f5ccb490006cc342d83806057ffa34
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
e7f7a7d521b6b369035370b6c9241d2c6e313b44 17-Dec-2012 mindyp <mindyp@google.com> Eliminate jank when the user deletes a character thereby removing all contact results in the popup.

part of b/7727257] Jank when replying to or forwarding a message in gmail

Change-Id: If95716847260d802e527a4ad012ea7f8085d6930
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
209af6013a04da558cb24fcf7cfb0f4f4e1bce34 15-Dec-2012 mindyp <mindyp@google.com> Merge commit 'f54b3505' into manualmerge

Conflicts:
chips/src/com/android/ex/chips/RecipientEditTextView.java

Change-Id: I2a8d55d6db3fdb4aab6ea788b685a047dcf9ed9d
093ecdd3cde3e54df3fb30f5ca47067fdcf46f3c 14-Dec-2012 mindyp <mindyp@google.com> Scroll when result of a contacts lookup appear

Fixes b/7727257 Jank when replying to or forwarding a message in gmail
Change-Id: I620fb31adcb80ca7a6a86c64c987969bc630429d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
8c474ec629cca3cf4bf2c867f37513ae35e3ff72 14-Dec-2012 mindyp <mindyp@google.com> Scroll when results appear

Fixes b/7727257 Jank when replying to or forwarding a message in gmail

Change-Id: I6fbb574ac724772d541d063192a5e0e59b776360
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
16923ee63a79fce4be3f62b08bcd1f80617c1205 10-Dec-2012 mindyp <mindyp@google.com> Extend reverse lookup to also check GAL

Fixes b/7499733 gal address sometimes treated as message-only address in chips

Change-Id: I3fa79a43c672b1d2eac72dae6a9dfaf8701be977
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
8ca8bdb93e9052b430969c8d89e3c12cebe75775 10-Dec-2012 mindyp <mindyp@google.com> Use same default contact photo for list items and chips

Fixes b/7706601 which asset do we want to use for the default contact icon?

Change-Id: I0bd414aefb783a4a64ce0041dcd8f7f8d5911b83
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f30a42800318f6790d55421f8f6980eb38db4d3c 03-Dec-2012 mindyp <mindyp@google.com> Merge from ur8

Merges in:
Fixup delete logic

Its only a delete if the user has removed a single character,
otherwise, we are looking at replacement, probably from a reverse lookup
Ia7c7b94d9e2fb037cb19abdb6696f7df0d351856

Make sure we only use the invisible chips optimization if we are showing the "more" chip

In the case of calendar, we never shrink the field, so this optimization
can't be used
I30e3312b8e686be5143f96d3d2820e023158957d

mMaxLines was not being set correctly; dont draw hidden chips on first render pass

mMaxLines was always zero
Setting the value correctly avoids an extra layout which makes it faster
to render chips
Use an "invisible" recipient chip for anything > than max chips we can show before
showing the more chip; this avoids a lot of unnecessary drawing and decoding of 9 patches
in the first pass; once these are resolved (or the user makes them visible), they will be correctly
drawn as visible chips
Part of b/7492291 First 2 contacts takes too long to resolve into chips when there are many contacts
I37817381f93efb968940031d8a8b77fb62c8919a
Change-Id: I4cbe5eacaa6fc5d1d94a5663133da82621582824
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f760e681ba6089b393b0ba919d3462f4bc46d681 03-Dec-2012 mindyp <mindyp@google.com> Fixup delete logic

Its only a delete if the user has removed a single character,
otherwise, we are looking at replacement, probably from a reverse lookup

Change-Id: Ia7c7b94d9e2fb037cb19abdb6696f7df0d351856
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
04e5706f0108c5c4b78380205b1fc5c256608dc5 03-Dec-2012 mindyp <mindyp@google.com> Make sure we only use the invisible chips optimization if we are showing the "more" chip

In the case of calendar, we never shrink the field, so this optimization
can't be used

Change-Id: I30e3312b8e686be5143f96d3d2820e023158957d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
6a8c8d837e53897f19539e0c2455e3d5fc579b5e 01-Dec-2012 mindyp <mindyp@google.com> mMaxLines was not being set correctly; dont draw hidden chips on first render pass

mMaxLines was always zero
Setting the value correctly avoids an extra layout which makes it faster
to render chips
Use an "invisible" recipient chip for anything > than max chips we can show before
showing the more chip; this avoids a lot of unnecessary drawing and decoding of 9 patches
in the first pass; once these are resolved (or the user makes them visible), they will be correctly
drawn as visible chips
Part of b/7492291 First 2 contacts takes too long to resolve into chips when there are many contacts

Change-Id: I37817381f93efb968940031d8a8b77fb62c8919a
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
fae3c920e79aa1780d9eb2b58520bcf910bb7b1d 01-Dec-2012 mindyp <mindyp@google.com> Remove unnecessary call to tokenize

the address is already tokenized

Part of b/7492291 First 2 contacts takes too long to resolve into chips when there are many contacts

Change-Id: Ibefe1ce45ea8309e51c9cf25bf058d88ebf75ec1
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
7e10c86c8bead949f2f4694e97d7844c6aef9e08 27-Nov-2012 mindyp <mindyp@google.com> Make sure we proplerly edit created chips.

We need to edit the created chips before the text is changed so that we
don't count the existing "," when deleting

Also, make sure to move chips that are being edited as text to the end
of the field
Fixes b/7547813 When I try to delect an email address for each charater, it blocks automatically again.

Change-Id: I60661945b75ab0f4ffbb04e71971d16e2900c26c
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
a24c09d0151f1787102855f7ab5804ebb6dafff8 27-Nov-2012 mindyp <mindyp@google.com> Merge in sms fixes

merges:
https://googleplex-android-review.googlesource.com/#/c/252609/1

Change-Id: I04a0ffa4feb36683f1392ec730742f5f7e10fa32
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
58ff57f0f7d2ca9527b64c62e147d06f01309bef 20-Nov-2012 Paul Westbrook <pwestbro@google.com> Merge remote-tracking branch 'goog/jb-ub-mail' into gmailmerge

Conflicts:
chips/src/com/android/ex/chips/RecipientEditTextView.java

Change-Id: I160582b77ead921df187bdcf41a1f53cd0d5e425
4491a0679fbf4472f9bc199197c1d4abe6a9d969 15-Nov-2012 Tom Taylor <tomtaylor@google.com> SMS text messaging omits numbers in parentheses

Bug 7355280

Very localized fix. Tweak the phone number matching pattern to handle a
"1" before parens. This change was originally incorporated in MR1, but
wiped out by some automerger change. Bringing the change back for MR1.1.

Change-Id: Ifd11762fb7253fab69ca912dff6b62c5673bf216
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
637ac7db04071a04c5b3e4755ba9ad4cac64f2f1 14-Nov-2012 mindyp <mindyp@google.com> Remove the unneeded call to "findtokenstart"; we already have the token start

Part of b/7492291 First 2 contacts takes too long to resolve into chips when there are many contacts
and general speed improvements
4ms faster to create a chip
Change-Id: Ib016492cf63aa87ee3ace8e6bb7988fbe0a37749
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
ccb8e237ec80934d1c983bb61f66b75541786ddc 14-Nov-2012 mindyp <mindyp@google.com> Don't validate the recipient text each time

Instead, validate once.

Saves ~10ms per chip creation
Win.

Part of b/7492291 First 2 contacts takes too long to resolve into chips when there are many contacts
and general speed improvements

Change-Id: I6f3da136da23942c8bec25cee7038d475e7005e6
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
cb76b4d2bcb7b72b9505a620ca71f753506e48b9 09-Nov-2012 mindyp <mindyp@google.com> Reduce time until first revision of a chip is drawn.

Means less time showing plain text.
replace call is expensive.

Change-Id: I1be571af78497c2dfff724b612d60ededc98ff36
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
4f82d888c680a61b95373740ce68bfb48a242617 09-Nov-2012 mindyp <mindyp@google.com> dont replace the text in the text field when editing a fake or generated entry

We are editing the entire text in there, and that includes the display name
and any other information...so just remove the span
This means we dont trigger a text change that triggers a scroll
Fixes b/7499873 Odd scroll when touch non-contact chips with quote text enabled

Change-Id: I0c537e7fec663abe3cec96a5b59bc52caa009a30
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
5e60c2b9b39b0aec39e3a03f9a178c2cb857b9d6 07-Nov-2012 mindyp <mindyp@google.com> Merge changes to chips from unbundled branch: update behavior to match new ux spec

Fixes part of b/7481045 recipient address briefly drawn w/o friendly name

Change-Id: I523b960fd044f054ec32befc10599d4d0e485eaf
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0d93ca4ab5bb9c1d63d85bbb353f461b164b531c 07-Nov-2012 mindyp <mindyp@google.com> Make sure that we take the existng temporary contact, where available.

Temporary contact entry will give us display name and address if it has it
when there is no contact match

Fixes part of b/7481045 recipient address briefly drawn w/o friendly name

Change-Id: Id5cf6b770d1179c81d9c9b808af4681e632d18a7
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
9f4d30abb750c19d0a8554c7677c0ce6a7751cec 07-Nov-2012 mindyp <mindyp@google.com> Make sure that the last "fake entry" chip is correctly committed

Fix logic to correctly determine that this "recipient chip" is really
text

Fixes part of b/7481045 recipient address briefly drawn w/o friendly name

Change-Id: I4c5244581a4fce5de58d6d9c510e1df16674c338
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0d7c89b162ad6cc45c5d3217c5e10df84ddb4dc7 06-Nov-2012 mindyp <mindyp@google.com> Update chips to follow new ux spec for replacement

Part of b/7481045 recipient address briefly drawn w/o friendly name

Change-Id: I2f3c63f555143c66b3d4f466b60e0ca884d6302b
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
374ccb2935ea793d2fbee54ec5fe6d71af934d27 06-Nov-2012 mindyp <mindyp@google.com> cherrypick: Reset maxlines when the user expands text

To avoid an initial jump when changing over a possibly large numbers of contacts to chips,
start with maxlines of 2 from some apps, and eliminate this when the user chooses to expand.

Part of b/7481045 recipient address briefly drawn w/o friendly name

Change-Id: I5c8cd5c1569befa28a67ddb1f4153e03e896c25a
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
3d78920f5806b519c27e147a4817b9563efcf139 06-Nov-2012 mindyp <mindyp@google.com> Reset maxlines when the user expands text

To avoid an initial jump when changing over a possibly large numbers of contacts to chips,
start with maxlines of 2 from some apps, and eliminate this when the user chooses to expand.

Part of b/7481045 recipient address briefly drawn w/o friendly name

Change-Id: I5c8cd5c1569befa28a67ddb1f4153e03e896c25a
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0120ebce96fa9c00e730b65ca8909f65b3b4d55b 16-Oct-2012 Tom Taylor <tomtaylor@google.com> SMS text messaging omits numbers in parentheses

Bug 7355280

Very localized fix. Tweak the phone number matching pattern to handle a
"1" before parens.

Change-Id: I67d878145fbc0b0ac17197043ea84f68e52b8156
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
b5afbc70a27f7534fd6dfa7440b3a3450bbc52cf 03-Oct-2012 mindyp <mindyp@google.com> cherrypick: Make sure we check the most up to date text for the token offsets.

The issue here was that we were using the old version of the editable string
(cached in var text) to look for the start/end of tokens, but the result
of calling commitChip may have updated the text (added corrective rfc822
formatting, or a display name)

Fixes b/7268603 [Manta] List of email addresses pasted into the To field is broken

Change-Id: Iccc8dbf78a018c84fd818582d10ff2b02a787276
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f21481203ca8a160c424e914baea31faed752092 03-Oct-2012 mindyp <mindyp@google.com> Make sure we check the most up to date text for the token offsets.

The issue here was that we were using the old version of the editable string
(cached in var text) to look for the start/end of tokens, but the result
of calling commitChip may have updated the text (added corrective rfc822
formatting, or a display name)

Fixes b/7268603 [Manta] List of email addresses pasted into the To field is broken

Change-Id: Iccc8dbf78a018c84fd818582d10ff2b02a787276
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
73cb50b242ee4b4c3e9c990ef4993213540f6a30 01-Oct-2012 mindyp <mindyp@google.com> Add comments to the recipientedittextview replace code.

makes it easier for others to debug/ review

Change-Id: Icdcbaa9074c81ef33943b24e8e0b544513360d8a
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
a0e1c66870d5c7fdcc2abc83bba09b2433388772 29-Sep-2012 mindyp <mindyp@google.com> cherrypick: Fix crashes associated with new logic to replace entire address with name + address

Fixes b/7257614 crash when replying to a message

Change-Id: I6dcda376073f941fba4b09a647bdb00a92e4ccce
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
25875364c61473bb097254984636755a1daa8ac3 29-Sep-2012 mindyp <mindyp@google.com> Fix crashes associated with new logic to replace entire address with name + address

Fixes b/7257614 crash when replying to a message

Change-Id: I6dcda376073f941fba4b09a647bdb00a92e4ccce
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
527d35c26ff81f6e79b8c7e9d7f4c356d9a32dc8 26-Sep-2012 mindyp <mindyp@google.com> am 215b1c80: The "original text" is just what we are putting in the text view, which is displaytext

* commit '215b1c80111ccc8d42256fa8f38f3d00e0171cf2':
The "original text" is just what we are putting in the text view, which is displaytext
a310e9b2d053383613aa02d1b27f99f428b6cf4e 26-Sep-2012 mindyp <mindyp@google.com> The "original text" is just what we are putting in the text view, which is displaytext

Fixes b/7233276 Crash at clicking Email - ReplyAll on Manta

Change-Id: Icd5e2c0c2afb625a6b181592b2da27a008266a33
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
cd4f6428dad3f3f05fee84c579f8731f9557ffef 24-Sep-2012 mindyp <mindyp@google.com> am b6641931: Make sure when we reverse lookup a recipient, we replace the underlying text string as well.

* commit 'b6641931653e19766025820fb78c7142e597545e':
Make sure when we reverse lookup a recipient, we replace the underlying text string as well.
fa8f1e4940935ea0c304e8f6181eec4cfb600be4 24-Sep-2012 mindyp <mindyp@google.com> Make sure when we reverse lookup a recipient, we replace the underlying text string as well.

Fixes b/7146034 Conversation message header doesn't show friendly names

Change-Id: I043d352e1c6546e5a8c07854e832f31c3a71d24d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
ad7d892bcac6cebf37c81e2ad81ebdd08cc3f323 11-Sep-2012 mindyp <mindyp@google.com> am 6c668476: We add the separator ourselves later if it wasnt specified in append.

* commit '6c66847624945b3caca9607c61669f4766e7f39e':
We add the separator ourselves later if it wasnt specified in append.
20d7af71188a4a2d94c8d9edd7eff7879d6df4c4 11-Sep-2012 mindyp <mindyp@google.com> We add the separator ourselves later if it wasnt specified in append.

Fixes b/7137725 Attendees are lost after editing

Change-Id: I48cecde9e5e2e9e8648393c8b71e6911cd1cbc9f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
bf12c1e7d1cea25f49ece5f59a326bde5eac10d2 10-Sep-2012 mindyp <mindyp@google.com> am 3aa118e7: Be extra careful with commas in recipient chips

* commit '3aa118e72c877b4c176d025c56bfad2e518bf1ce':
Be extra careful with commas in recipient chips
abb864d610bdd171d6b0dfd2e83648952155e6eb 10-Sep-2012 mindyp <mindyp@google.com> Be extra careful with commas in recipient chips

Fixes b/7132543 email addresses not recognized when using Gmail ICS

I added 2 in a row to be extra certain, and always check for the
LAST instance of ","

Change-Id: Id963971303a99642865a79c6264264e62a920151
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
1d8435c304e8edafd3c1c26ab02b7946978feeb4 27-Aug-2012 mindyp <mindyp@google.com> am 26e3f68a: Deal with commas within quoted text

* commit '26e3f68ae8342cedd57353e399e7d0e920228a4e':
Deal with commas within quoted text
0124468e712b4098ea240b8d45f84e52826b293d 27-Aug-2012 mindyp <mindyp@google.com> Deal with commas within quoted text

If there is a comma within quoted text, it is NOT a chip ending token

Fixes b/7001805 Names appended to email ids like "Mathew, Deepthi E" are split into two chips while replying

Change-Id: I87f34a44282b3baf8d106dd21f8211ad301395be
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
4e7d20f7b74ddce5a104138714c9683c8bd2300d 16-Jul-2012 Mindy Pereira <mindyp@google.com> Merge change from jb-dev to master

This is the change that fixes the random scrolling when switching
between reply/reply all

Merge of: https://android-git.corp.google.com/g/#/c/203483/1

Change-Id: I6b11016b4f48b297a2c6c40413cf6d6a52a193b4
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
3b97ecfb38de40755be7cea80eadb2c010cf112a 28-Jun-2012 Mindy Pereira <mindyp@google.com> am 1a71f76d: Check for null adapter.

* commit '1a71f76db0880a572b1443e8a0ac31a4bb584a8b':
Check for null adapter.
ca5227122474fb124a4fe573a2f07e14d7a33f3e 28-Jun-2012 Mindy Pereira <mindyp@google.com> Check for null adapter.

If its not set, that would cause this crash in the monkey.

Fixes b/6746348 java.lang.NullPointerException at com.android.ex.chips.RecipientEditTextView.isPhoneQuery(RecipientEditTextView.java:2574)

Change-Id: I420bbae15180d0d53c674b00907bc361a519c165
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
1bdbef8067c616ca2ffc51aa62673bac5f0281c7 25-Jun-2012 Tom Taylor <tomtaylor@google.com> Area code truncated for the phone number in messaging app

Bug 6717762

When launching mms from the contacts app, numbers sometimes get munged,
either by losing the area code (if in parens) or losing the number
completely and just ending up with a contact name.
Parse all the parts of a contact "fred flinstone <512-123-1231>" looking
for the phone number. Also handle the case where the area code is lost when
in parens (i.e. (800) 891-8923).

Change-Id: I76976fa8004c1d7c03a651b3915537245fee16e4
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
db108e1a73360961d0b67a2e0db36695d2cb8e6f 25-Jun-2012 Mindy Pereira <mindyp@google.com> Don't scroll when we are clearing text.

Only scroll when the user adds text.

Fixes b/6696682 Compose email field is out of view after changing from Reply to Reply all for a message

Change-Id: I188f9be0b4993edab282256d647501b6734242f7
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
c52ea8e900948bf42ed63b2d3d6c9afbd70d9df0 05-Jun-2012 Mindy Pereira <mindyp@google.com> Break out of infinite loop once we detect an error.

Fixes b/6606808 Crash in Gmail {OutOfMemoryError- at android.graphics.Bitmap.nativeCreate(Native Method) }

Change-Id: Ic62c15bd59060f552aef5be0cc06e26b56efd462
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
fdc0e0d727a2a378f6fddf849bccdb68d233dd12 24-May-2012 Mindy Pereira <mindyp@google.com> Merge "Dont hide the keyboard when showing alternates/ selecting a chip." into jb-dev
6a6bc7010f0f634ad32312d9802c50ed749f12bb 24-May-2012 Mindy Pereira <mindyp@google.com> Dont hide the keyboard when showing alternates/ selecting a chip.

Fixes b/5557044 Chips replace-email-window shouldn't close the keyboard

Change-Id: I93829983346de77ee79dd602ae84152d262ce01d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
7a959616e9354610555cf9d656eff68d0ce44ec9 24-May-2012 Mindy Pereira <mindyp@google.com> Merge "Null check; back behavior" into jb-dev
03cfe3eee5635e419ab1d70d463b2b8beac72f00 24-May-2012 Mindy Pereira <mindyp@google.com> Null check; back behavior

Since its possible there was no chip formed for an address, it is
possible there is no address in some part of the inAddresses array, so
build it up as an arraylist so we don't have null spots.

Fixes b/6555471 NPE in com.android.ex.chips.RecipientAlternatesAdapter.getMatchingRecipients

Fixes b/6556107 when contact chip is selected back button should dismiss the popup and unselct the chip
Change-Id: If74b13ccc5f51aafc3638817b5fbef54cd57548c
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
ffd270a55d80db66bd6a1d7b786443fdc00af372 24-May-2012 Mindy Pereira <mindyp@google.com> Fix offset of alternates list dropdown.

Fixes b/6546711 Chips suggestion is below selected chip

Change-Id: I14821855b510b30e8eb4798eb4cc4a9c69f4dca9
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
b2af8b4557338c55c726ed91f53d386320f5d99d 23-May-2012 Mindy Pereira <mindyp@google.com> Try this out with experimenters to see if the scrolling is reasonable.

It seems that what annoyed arubin was that focusing the item changed the scroll
position
So I am now just changing it when the user actually starts entering text

Change-Id: I8868cde2fc90b1e253c50fd3fad900f811442e6d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
a98b8e49be8e1ff1938ab204d86372e292c78194 09-May-2012 Mindy Pereira <mindyp@google.com> Change text on "done" to say "return"

Fixes b/6468243 While adding chips to the To field display label "Return" instead of "Done"

Change-Id: I42f9a845c553f0aa01971c5b3221ce5d0504c810
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
4afc73e1e15f7a7fdf608302b9b8488b7a4206f8 04-May-2012 Tom Taylor <tomtaylor@google.com> Contact added to the "To" field of the Messaging app is not getting deleted

Bug 6435466

If you have a chip representing a phone number with the area code in parens
with a space (i.e.: "(425) 234-4322"), the chip would get committed when
the user was deleting chars and hit the space char. Ignore the special
email handling code for this case when in phone number mode.

Change-Id: I998e273a88b9f30b651dedb41a39b7d37794be97
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
c7a87f0ad6a8f722ba93cb7c457ed1a1be5ab3b5 04-May-2012 Tom Taylor <tomtaylor@google.com> Don't autoselect first item in dropdown

Bug 6434183

When in phone mode and the user types something that happens to bring up
the dropdown, don't auto-select the first item if they don't choose
something. This was preventing users from entering numbers and shortcuts
that happened to be close matches to existing contacts. Unless the user
selects an item, keep what they manually entered. The change looks much
bigger than is really is. The only real change is in commitChip. The rest
of the changes are to call a helper function, rather than duplicating the
same code throughout the file.

Change-Id: Ia0ec24a3667770fa5d43ff870ed87019b732627e
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
939283d42aa752bff27ad68daa63707ff6107e6d 02-May-2012 Mindy Pereira <mindyp@google.com> Merge "Recycle styleable attributes after use." into jb-dev
ef79800ff65490ec91ce77f55c4ade142d1cc4b2 02-May-2012 Mindy Pereira <mindyp@google.com> Recycle styleable attributes after use.

Change-Id: I43319c0a36d45e8afa90ae1871ff17cbc6ecf961
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
5c4a2e739cc79ddf55fcbf573efabc27e309bbf8 30-Apr-2012 Mindy Pereira <mindyp@google.com> Merge "Vertically center text in chips." into jb-dev
8ff03734c31831d3d60b0cb2707c006dbf64d330 27-Apr-2012 Mindy Pereira <mindyp@google.com> Vertically center text in chips.

Was kind of off.
Fixes b/6370062 Text spacing in the error case chip should be centered

Change-Id: I4ac88f5bf2f7b61008728cec92abb3da9e5ee1be
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
2eb61a3b1e71d8822b670a232c20e653a59a5f5a 27-Apr-2012 Mindy Pereira <mindyp@google.com> Merge "Use ime actions to commit when the user presses enter." into jb-dev
93364a61b0dcd90e19b96ea9b5900a77e2c4902e 27-Apr-2012 Mindy Pereira <mindyp@google.com> Use ime actions to commit when the user presses enter.

TODO: is the enter key saying "done" ok?

Fixes b/6370021 Pressing return after entering address results in text not becoming chip, leaves text

Change-Id: I2d054335fdc0bd175d12a31dcab15f2ad956e9ec
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
6a6a98752315ddf1e7c23e7814ff5e70105e25cf 27-Apr-2012 Tom Taylor <tomtaylor@google.com> Merge "Fix an crash if you pass a SpannableString" into jb-dev
2d227630ef73ee813565d64829480c1164f56a9d 27-Apr-2012 Tom Taylor <tomtaylor@google.com> Fix an crash if you pass a SpannableString

If a derived class passes a SpannableString to append, the code will
crash with an invalid cast. Simple fix.

Change-Id: I28f33b4eadabb8fce1ddba8cc1ece20b1d919764
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
60d96dccf8f82c31976d29842b85f12dc905cfd1 27-Apr-2012 Mindy Pereira <mindyp@google.com> Dont commit by commit char if we cant tokenize.

Fixes b/6386831 Crash in Gmail on editing the To field after capturing a bugreport
fixes b/6394257 com.google.android.email: java.lang.NullPointerExceptionat com.android.ex.chips.RecipientEditTextView.commitDefault(RecipientEditTextView.java:1024)
Change-Id: I2c5fdde54d8b36cab05b88f6506d58a884ae0bf2
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
aca9409f267cf04f3716c530342ea702ebdd80d1 25-Apr-2012 Mindy Pereira <mindyp@google.com> Fix alternates.

Change-Id: I2cd2a2f50696e3059d1b579e10eda5d6ad1fe50b
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f6d4bfce7cae3cc385396963dc8ea3eda90b917e 25-Apr-2012 Mindy Pereira <mindyp@google.com> Check span before deleting.

Fixes b/6389344 gmail on JRN19F dies when I try to edit the To Email address in a bugreport

Change-Id: I84e7a01d2f443a08ae7708c87fb8ab9fdaa20e77
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
abff606ceb5e103d4a21c56fb9b78d7844c8e5b7 17-Apr-2012 Tom Taylor <tomtaylor@google.com> Better support for phone numbers in Chips

Bug 6332661, 6321866

When in phone number phone, Chips needs to recognize numbers and not try
to parse the numbers as Rfc822Tokens.

Change-Id: Ib96ad310fae195776746e14e6e9ee57a85198d1a
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
80f4abfb682426384e88fb1dddc682be1c8a6c7f 06-Apr-2012 Tom Taylor <tomtaylor@google.com> Support phone numbers in Chips UI

Bug 5066294

Add Zak's work for supporting phone numbers in the Chips UI. The default
remains email-centric, but the phone number option works great for
apps like Messaging.

Change-Id: I17cd8460f1b96f28ced8bbb32e145581dae6d807
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
270582902e34a8cf9cbd1d2a1e19e555e5ef7eea 23-Feb-2012 Mindy Pereira <mindyp@google.com> am e67e5aab: am 06b38bf7: am 665ba9e4: Don\'t adjust scroll on focus changes.

* commit 'e67e5aabd555f3862d8f8e640582d63a6f46357d':
Don't adjust scroll on focus changes.
da32497f50aa3ce92528f7bd008f3dbbb7c5b950 21-Feb-2012 Mindy Pereira <mindyp@google.com> Don't adjust scroll on focus changes.

Fixes b/6037251 Switching input fields causes line loss
Since the ime suggestions area may also be going up/ down
we can't really trust offset measurements. Adamp says
this should be addressed in the j timeframe.
Change-Id: I5f5eeb33e0fd9397873451cb1d1325deb451542d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
62fce9316c48a188d89c31d7e616f755bd7cf14c 17-Feb-2012 Mindy Pereira <mindyp@google.com> Make sure we don't run off the end when deleting chips.

Fixes b/5997197 Gmail crash when trying to delete the address chip [IOBE at android.text.SpannableStringBuilder.checkRange]

Change-Id: I931da8017a92f145c13f36c765613f16fecf97ab
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
72a2339009029d3217a0ff39f5a92523e8fb3d41 06-Feb-2012 Mindy Pereira <mindyp@google.com> Since the delete key can't be guaranteed, use text changed listeners.

Per IME team, the delete key isn't/ was never guaranteed to be sent.
Therefore, I cannot depend on the QwertyKeyListener
Therefore, I am working around them

Change-Id: I2dea39beee22f7c181be2b33b7be66a388f42262
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
76e62e334ef2b9ec55e5395f8374072f7ee1ea84 04-Feb-2012 Mindy Pereira <mindyp@google.com> Need to set the resource for the dialog.

Fixes b/5965686 hc/ics unbundled gmail: long press on contact chip causes crash

Change-Id: I186a0a1e84a29f48060a3f855a08017f41b93463
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
32aff5f5bdc7c860169e50eacb7120983b3901a8 11-Jan-2012 Mindy Pereira <mindyp@google.com> Make chips less fragile for testing purposes.

There might not be a tokenizer.

Change-Id: I356b1e901742f86dca0822720ee0cb7dfb7a31fb
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
444f2054519c0f5d96d9352ac30e03787a881d80 10-Jan-2012 Mindy Pereira <mindyp@google.com> DO NOT MERGE. Dont sanitize before/ after/ between chips while waiting to create pending chips.

fixes b/5848985 if you try to add a new recipient before other chips have resolved, the existing recipients get erased
Change-Id: Ic1bdb5f6632158e19d38c35ffc527dabbf55dd36
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
3c42baf5b81810bce77e776963f20c960865e85b 10-Jan-2012 Mindy Pereira <mindyp@google.com> Dont sanitize before/ after/ between chips while waiting to create pending chips.

fixes b/5848985 if you try to add a new recipient before other chips have resolved, the existing recipients get erased
Change-Id: Ic1bdb5f6632158e19d38c35ffc527dabbf55dd36
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
5da0234c9a7108d3386039816c7469753b79c307 16-Dec-2011 Mindy Pereira <mindyp@google.com> Make attributes related to chip backgrounds styleable.

Change-Id: I8d4f944e91e12f2a0779ac863c1862110dffb832
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
22faaa6f1eacb6ae69e4fd5d97aeeefc77973cd1 16-Dec-2011 Mindy Pereira <mindyp@google.com> Add styleable attributes to chips. This first one is a test.

We will need this in order to be able to support both dark and
light themes for chips fields. If nothing is specified, just falls
back to the default background.

Change-Id: Ibc0e5391969bfee1615b14bafe83f065d81c6331
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
52c441e2c03e0f48572348953b985a4bf989c057 15-Dec-2011 Mindy Pereira <mindyp@google.com> Update build file to allow us to have resources in static libs.

Depends on: Change Ifb4d2300: Support to build static Java library with Android resource

Change-Id: Ie1ac8c93cb3f12a7d4e9afd873a13607ed72b932
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
5c125afa54288595524c85182031421cbad08ac3 13-Dec-2011 Mindy Pereira <mindyp@google.com> If there is no tokenizer, don't bother shrinking.

Unlikely case, but found it while creating a new app.

Change-Id: I15e37791530044c990e3e1d6b36348fe85258df1
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f07e8b2db488aa308f0ca2916dd53cbd1b898c6f 07-Dec-2011 Mindy Pereira <mindyp@google.com> Make sure there is a recipient to replace before adding an entry for it.

Its possible if the chip is moved between fields that there was no original
recipient to replace.

Fixes b/5720810 Crash on drag & drop recipient to cc & bcc fields

Change-Id: Ide0a498fb63886a9afc2522649442d6ce62ed98c
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
e13775cc6e9342e42db0b853cc42dbfda6d1365f 17-Nov-2011 Mindy Pereira <mindyp@google.com> Verify that the start of the delete sequence is before the end.

Fixes b/5541436 java.lang.IndexOutOfBoundsException: replace (23 ... 0) has end before start

Change-Id: Ic39d41d53fe59e4c19fc9b2d4af265791b165986
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
6337231a660b717cd6f5c40d524f4aabfcc865b0 16-Nov-2011 Mindy Pereira <mindyp@google.com> Make sure we correctly identify an edit vs a commit

Fixes b/5615358 At the end of the recipient's email address, some additional texts (ex. j@gmail.com or just @gmail.com) were randomly added

Change-Id: Ie40012ee91f8a570ce6952364c70237078a2d759
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f6519d2aabaac51fd62dc819c109db86748d79e8 02-Nov-2011 Mindy Pereira <mindyp@google.com> If message starts with > 50 chips, dont chipify anything.

Also added test cases for new plain text version when there are too many
recips.
fixes b/5556474 Gmail ANR when replyi-all to a msg with many recipients

Change-Id: I69ba560bf8d8112b81a582aee17a07bf3da1aa65
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
005b2e29742d7b9f3ecc505a50b11d91bd44c818 01-Nov-2011 Mindy Pereira <mindyp@google.com> Protect against negative offsets when calling replace.

Only seems to happen via the monkey.

Fixes bug:5541885 java.lang.ArrayIndexOutOfBoundsException: length=122; index=-5

Change-Id: Iba684c53982f5363990947d2b5b9d7544c952d85
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
5cfd6fea275724ce223cb8f4a1821922c8763631 21-Oct-2011 Mindy Pereira <mindyp@google.com> Protect against monkey crash.

Fixes bug:5486900 java.lang.ArrayIndexOutOfBoundsException: length=122; index=-3

Change-Id: I2daa941670276d5d65d8d7f14a4d07789aae3a87
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
fb6d0f23f56cddd2babea1891bc0fc2b5d6df7c8 17-Oct-2011 Mindy Pereira <mindyp@google.com> Merge "Make sure we shrink available width by the width of the space character."
6ed7ded9deabbc92ed8341cf922673fd4626ba7e 15-Oct-2011 Mindy Pereira <mindyp@google.com> Make sure we shrink available width by the width of the space character.

Change-Id: I2dccaf1252f36bb73769d57b7ba19e72ef4e5f8a
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
e51c7226dfb6420b0d4c1a7bfdf3217ee4e560a6 12-Oct-2011 Minh Pham <phamm@google.com> Experiment drag and drop for contact chip

- Make RecipientEditTextView start drag mode on long press
- Make RecipientEditTextView handle drag event
- Enable via a public setter

Change-Id: Iccfb099078d7be12bdf473a3ff607ac5267f4256
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
b4e244af14950aee7d612612d5406981315d3454 14-Oct-2011 Mindy Pereira <mindyp@google.com> Make sure we perform reverse lookup on pasted recips

Change-Id: Iff0d8670962f279e4fa3158a1acc3395f9e9ddc9
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
aca23c4de8d85b04e6044c9a8f047c337cf427c9 14-Oct-2011 Mindy Pereira <mindyp@google.com> General cleanup of the chips view.

1) remove extra code
2) make sure we use convenience methods where possible
3) always make sure that we use sorted recipient chips when looking
for the position of a chip
4) test the convenience methods
5) rempove unused code
6) make methods package private that don't have to be public
Change-Id: I586eac795a548456ec29bd384abd2e7611a24a03
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
20c9d620e79ae28994856541761a951074551518 12-Oct-2011 Mindy Pereira <mindyp@google.com> Update pasting to handle more cases.

Fixes bug:5026774 pasting in email addresses changes

Change-Id: Id16e7470eb10a998fdb5efde06cb4449bb9d49e7
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
c6f163c2b5a2da5b808c8cbf87c11d891bce9d25 12-Oct-2011 Mindy Pereira <mindyp@google.com> Use settext to instead of clearing.

will cherrypick this to mr0.

Fixes bug:5444923 Gmail crash when replying

Change-Id: Ie43f10959a72ea471122811761ea4446e93aa5a4
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0976480e45e729069e47994cd6786246467c45e2 05-Oct-2011 Mindy Pereira <mindyp@google.com> Avoid unnecessary clearing of text.

Clearing the text sent an extra text changed event that enabled auto
saving when it wasn't necessary. Clearing the spans and replacing the text
works just as well.
Second part of fix for bug:5420705 Gmail saves empty draft when triggered from Contacts

Change-Id: Icdca5be1ca0cdfd8cbf926baacec54e757480d89
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
2d7709d276c03e536d37961076107af9f98522f5 05-Oct-2011 Mindy Pereira <mindyp@google.com> Fix case where we may have an empty string.

Fixes b/5416986 RTE found in Android Problem Reports

Change-Id: I498bdff301ea3b3aa61e90e4d5c370abde4d1e43
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
172a6b1359c8234bf5322ab47b2f2f3c5d064042 03-Oct-2011 Mindy Pereira <mindyp@google.com> Merge "Protect against negative offsets for a chip."
5d6c1580fdb2babd04d55d7a40fae658d61cf100 03-Oct-2011 Mindy Pereira <mindyp@google.com> Merge "Close selected chip on rotation."
ee6d83fe1da297b2f9af0fb221be376fdc816830 03-Oct-2011 Mindy Pereira <mindyp@google.com> Protect against negative offsets for a chip.

Fixes b/5397113 java.lang.ArrayIndexOutOfBoundsException: length=506; index=-2

Change-Id: Ib0e4cd18016701f45a5abcb9cf95431f478f07d8
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
daa640c82bfa8b1f81d986d7109029d2fdec263d 03-Oct-2011 Mindy Pereira <mindyp@google.com> Close selected chip on rotation.

Fixes bug:5387848 Email selection box is wrongly pointed after changing orientation

Change-Id: I16b781455de842e10197f15d13ab1be1d334264e
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
62397a5ac6b2df89ec4c2f8f23680add5850c17a 03-Oct-2011 Mindy Pereira <mindyp@google.com> Revert "Make the space part of the replacement image span."

This reverts commit a1d52e9203ea3cdfc0d1c69a8a4f99445fdd5ca1
Also reverts later change:
https://android-git.corp.google.com/g/#/c/138160/3
That was made to remove code that took into account having a space not
covered by the span character.
Fixes tests cases to respect the space character again.
Change-Id: I96d52a5df4d01e757f72949cbcf3b1f582679a46
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
97cb25912dab282cf732757f68b0405ed005f00b 27-Sep-2011 Mindy Pereira <mindyp@google.com> Add more tests.

Tests verifying where a chip is position, removing a chip,
and creating a chip.

Change-Id: I2e9c6719a6efc365ab73c4d3c32bb29209b73e48
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
db1ca655cdbd92286b2f7dc942f504a50c491100 26-Sep-2011 Mindy Pereira <mindyp@google.com> Remeasure chips created from saved instance state after we have the field width.

Fixes bug:5367531 Recipient with very long name duplicated while composing a mail on changing orientation

Change-Id: Id14d74d028aa203dfb061b32438eccc5abb949a0
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
dfeb97f6b18cdeff9872f8d32cd7a33baa1f8825 23-Sep-2011 Mindy Pereira <mindyp@google.com> Make the space part of the replacement image span.

This eliminates the need for manually adding extra spaces at the end.
This also fixes bug:5323325 Chips sometimes have no spacing between them on deleting
since now the space is ALWAYS deleted when the chip is deleted.

Change-Id: I8923940a070bcc1ce6894af3efa1449e98aa4830
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
448e90b97a4df8102d6e1d2039274d9ea188dff9 22-Sep-2011 Mindy Pereira <mindyp@google.com> Fix reported crash.

Make sure we dont look for a char when there is nothing.

Change-Id: I70536ac57541ad9b7c0ae824c4b61dc0a57febac
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
d71925073f008dccd8c4b65d5d66534e6451e64d 22-Sep-2011 Mindy Pereira <mindyp@google.com> Protect against focus lost before drawing/uesrs already tokenized.

Fixes bug:5339625 odd behavior on orientation change in the "to field"

Also, added more test cases around adding/ removing more chip.
Change-Id: I1b24526b5be82835b5ec7c0345b7d73a31169a8f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
8eb031e6de46e477412d92ab0c5ef20b431f1804 21-Sep-2011 Mindy Pereira <mindyp@google.com> More tests for sanitizing text between chips.

This specifically tests sanitizing content that is before
a chip when there is only 1 chip around.
Also, makes sure we don't look for a chip that isn't
attached (startLooking or end < 0)
Change-Id: I2591f29490a53c23527bbee487f1446b18c3f161
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
01162ce6739af1c9d9870f8e7e489f805c7e6794 20-Sep-2011 Mindy Pereira <mindyp@google.com> Add test cases for creating display tex and sanitzing spans.

Also, fixed a case we didn't catch where if the span start
was -1, we would crash.
Change-Id: Ia7d70dee117632ef2064c1f592fdc09694014846
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
399bda87ad1a4d003609d6d27afc50c8359846b9 20-Sep-2011 Mindy Pereira <mindyp@google.com> Fix crash in calendar.

Protect against walking off the end.
Fixes bug:5347150 Calendar crash on selecting guest suggestion after changing device orientation (java.lang.IndexOutOfBoundsException: charAt: 52 >= length 52) in IRK82

Change-Id: I6216a770175adac34416dfabda202ac9846c95ac
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
ee48f7311ec169af7ed134cf5c9c5e16b243cf05 20-Sep-2011 Mindy Pereira <mindyp@google.com> Fix monkey crash related to empty recips array/ bad tokenization.

Fixes bug:5343254 java.lang.ArrayIndexOutOfBoundsException: length=0; index=-1 at com.android.ex.chips.RecipientEditTextView.removeMoreChip(RecipientEditTextView.java:1408)
Fixes bug:5345831 ArrayIndexOutOfBoundsException in RecipientEditTextView.createDisplayText
Change-Id: Ie487c23dc54449d53f68d73c33e18cb946ec4284
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
5df0aa8368be2733caee5d57f5b20357b0f5d99d 20-Sep-2011 Mindy Pereira <mindyp@google.com> Sanitize content after committing a new chip.

Fixes bug:5332719 check special characters in the chips implementation

- User goes to To field
- types , or ;
- adds another chip
Remove , or ; in between

Similarly
- User adds a chip using the return key
- Explicitly adds a , or ;
- Adds another chip
Remove the , or ; in between

-User add , or ; and moves to another field using return
- Keep the , or ;
When the user adds a new chip sanitize and remove them

Change-Id: I00b28f913230b7a60399e27a327a2152dd29e631
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
d8c15c328eaa109946f8f9093f3c2f2773d525dd 20-Sep-2011 Mindy Pereira <mindyp@google.com> Catch a couple of interesting/ odd cases for creating display text.

1) User Name <User Name <username@username.com>>
2) User Name,Jr <user@username.com>

Change-Id: Ic148def8d3dd630af3fc5765958d59a682e1accd
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
1a0dc01cae7efa9f682a88ae005698d237919d0e 19-Sep-2011 Mindy Pereira <mindyp@google.com> Merge "Make chips keep the user friendly information around."
3ea9955a3c06d241bc6e4ab659ec3a1d069fd6df 19-Sep-2011 Mindy Pereira <mindyp@google.com> Make chips keep the user friendly information around.

Fixes bug:5339963 chips not maintaining user friendly labels

Change-Id: Ie6e29887882081f56e40ff4845363d6538c814d4
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
dc04cd76d8992ad3df98dce9be5c5b6540ab3619 17-Sep-2011 Mindy Pereira <mindyp@google.com> Make sure we get the correct more chip on orientation changes.

Fixes bug:5334556 Turning device orientation to landscape is deleting recipient from compose mail.

Change-Id: I5b96c7288ef84bc9585d8a553106bdc044c55b61
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
dbb8560594f297da570a4dc2c800eefe0faa6c16 16-Sep-2011 Mindy Pereira <mindyp@google.com> Handle special characters correctly.

Part of fix for bug:5332719 check special characters in the chips implementation

Change-Id: If525159ea03064805d01a4a793234a530a4155a7
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
fe52b97e748ec0b9bd44b759780ed42b9dcee7ff 16-Sep-2011 Mindy Pereira <mindyp@google.com> Don't allow ppl to accidentally create empty chips

Fixes bug:5318460 com.google.android.gm: java.lang.IndexOutOfBoundsException: setSpan (33 ... 31) has end before start at android.text.SpannableStringInternal.checkRange(SpannableStringInternal.java:341)
As a user reproduced it
not sure if it fixes the monkey crash, but probably does

Change-Id: Ibed7e4f806f9f290c39d1c4834d8d67a8ccd179f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f177bdab5724635aed964de889febe96ecab6bc0 15-Sep-2011 Mindy Pereira <mindyp@google.com> Check for null chip text before committing chip.

Fixes bug:5324605 java.lang.NullPointerException at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:420)

Change-Id: Iabe38276c4a7f8e206745ad4944a783462e067f7
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
c0a34aba4889151d822dd1ac0ae8b722cf5edebb 14-Sep-2011 Mindy Pereira <mindyp@google.com> Handle the case where a user is editing an invalid contact chip correctly.

We now treat an invalid contact chip (ie just text the user is editing
that was a chip) as being a selected chip. Make sure we handle the
edit cases for this correctly.

Fixes bug:5288176 Email address not distinguished in Email application

Change-Id: Ia9d3803f22d6d2f92cf280fc65b9d95b1a21c713
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
a49e7fa477692ba2f6208a1a3e80e75e67e65a60 13-Sep-2011 Mindy Pereira <mindyp@google.com> Protect against editing a chip that is no longer spanning text in the field.

Result of a moneky crash. No idea how a person could repro this, but the
protection step is easy.

Fixes bug:5278667 com.google.android.calendar: java.lang.ArrayIndexOutOfBoundsException: length=2; index=-1 at android.text.MeasuredText.setPara(MeasuredText.java:113)

Change-Id: I3bf35b94dfd474d5d6604799b848b5817f747a4c
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0265967fb4b870fc02b3b5690a7ac9681542c346 12-Sep-2011 Mindy Pereira <mindyp@google.com> Make photo and delete icons fit within the chip background.

Fixes bug:5289589 Chip thumbnail image should not extend outside the chip

Change-Id: I8191c52a531b47e45073a9a08b879051ec10af37
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
ecee50cc64d17d3cf7553a492dbf22f99f08aa56 10-Sep-2011 Mindy Pereira <mindyp@google.com> Dont allow this to scroll when a chip gets selected.

The way we accomplish this is by setting the field to disabled
when a chip is selected so the IME does not pop up and change
the position of the field.

Fixes bug:5277127 No way to remove a recipient from a long list of recipients using chip UI

Change-Id: Id0783ddb159c98daeb1738d10a0660dd03819649
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
54effe95bd2f988e5d7472f17f4fafdc29fe616e 09-Sep-2011 Mindy Pereira <mindyp@google.com> Update logic to look for the correct token if there are multiple entries.

This was mistaken for a bug with paste but the actual issue is:
1) enter a recipient
2) enter a few more other recipients
3) enter recipient from step 1 again
4) remove focus to create "more chip"
5) focus: we were not getting the correct recipient position from step
4; we were getting the first instance which was the chip from step 1

Fixes bug:5267557 duplicating an address causes odd behavior

Change-Id: I3fdc27c22820056f5470832e1ed634768283703f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
2e905906f83fb1285498f09fce4db4a5878efbcc 09-Sep-2011 Mindy Pereira <mindyp@google.com> Fix excess copy dialogs showing up.

Make sure we send through all events so that long press gets cancelled
by a move (that will scroll)

Fixes bug:5277603 Scrolling a long recipient list falsely triggers copy-paste dialog

Change-Id: I65c1bd6bf0d2055cbfc1758be13d21c5bd16f98a
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
60148c51f518aec3e01f471c1e2eb28bea4e4112 08-Sep-2011 Mindy Pereira <mindyp@google.com> Mke sure we commit chips that are being edited

The isse was that text editing of a chip now holds the chip
in the selected chip field. This makes sure that we commit any chip
that has an invalid id before continuing.

Fixes bug:5277118 Chip layout is weird if there are "+x more" text and a recipient not in your contact list

Change-Id: I7480a3677e1fa1d17e365c3057dd74ae46ede858
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
452b7f15454a39084b387d1395a2890018814dac 08-Sep-2011 Mindy Pereira <mindyp@google.com> Merge "Clear the checked position and reset it always."
98b547f2eeb80259036e3f528636d7cbd823bf6d 08-Sep-2011 Mindy Pereira <mindyp@google.com> Clear the checked position and reset it always.

I beleive this fixes the issues reported internally this morning, as
previously the checked position ws being incorrectly cached.

fixes bug:5274898 trouble picking the right email addresses for people in gmail

Change-Id: I442a9a3c1b147de41a48bb8b3e72492083bf1f03
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
bfedc1e199e57dcda494389fdca0750e1f165135 07-Sep-2011 Mindy Pereira <mindyp@google.com> Create dialog at the beginning so we have a "safe" context.

I believe this fixes bug:5268040 com.google.android.gm: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@412b42e8 is not valid; is your activity running? at android.view.ViewRootImpl.setView(ViewRootImpl.java:494)

Change-Id: I94e7be1d18d2df955f49eefe2d57b608e907b3ac
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f908b64e75e0bb38ff2806232ca57c93189156ea 29-Aug-2011 Mindy Pereira <mindyp@google.com> Dont show copy dialog when the user is editing a contact. Fix crash.

Fixes bug:5210400 Email address only chips sometimes display "Copy email adress" even on tap
Also fixed crash in the alternates adapter where it was still looking for a dest type.

Change-Id: I97b68c3f3e45f3d654551953ac4356ff76dfba26
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
1d37d9775446acd8e4e6bb0637565e88b5360096 17-Aug-2011 Mindy Pereira <mindyp@google.com> Center text in chip; fix dropdown item spacing

Part of bug:5162602 Alignment of elements in compose screen seems off (master/tot/prime)
Change-Id: I6ed2063c164ff7dbe3aa7b030a500176b16eb301
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
d5d86aafdbb1487ade3ecf70b92c00d20b94f9c8 17-Aug-2011 Mindy Pereira <mindyp@google.com> Fix focus issues for chips fields.

Since its the validation part we don't want, just override that part.
Let the calls that handle focus go through as planned otherwise.

fixes b/5177339 Compose screen broken in Gmail

Change-Id: If00069e975449bc338ad52356c44124664f1b909
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
e1bfc9218326c02ff51985dcb22ee9b0ae385807 16-Aug-2011 Mindy Pereira <mindyp@google.com> Fix bugs with shrinking/expanding chips field.

fixes Bug:5161746 Address chips lose chippiness after expanding/collapsing the textview
Also, fixup change from @debunne: the field is textMultiline
Change-Id: I379fe6a4833a9f08cad9168f22178ebd3492ac6e
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
61b48ccefc655549802556947eb8cf3959c6ddad 16-Aug-2011 Gilles Debunne <debunne@google.com> Suggestions disabled using input type text flag.

Change-Id: I8e5b25425bc463dac7a423af4daf479c23328892
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
567ef28b55e35104060a3f3e7413b63e4590c73b 10-Aug-2011 Mindy Pereira <mindyp@google.com> Deprecate old setChipDimensions.

Unused.

Change-Id: I1ee69bfb316a8d2fe527d8c07ad956ec19da7bca
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
1d1ec857e5d050163cb87936e233b5f9cf321344 10-Aug-2011 Mindy Pereira <mindyp@google.com> Add ability to copy a single recipient chip.

Fixes b/5143564 implement single chip copy

Change-Id: I598a53a60ba29b99637b2d1633b3884811938317
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
401cd96a036a3752b81698c21d1bd5dce16657e4 09-Aug-2011 Mindy Pereira <mindyp@google.com> Always tokenize the address if possible before creating a chip.

Change-Id: I0bf39bb0c0f49a674731a7f1a7b518a4913f6a51
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
ee58f4904fe6d992ad4631604b595ba47d08ca6b 08-Aug-2011 Mindy Pereira <mindyp@google.com> Make sure that email addresses are editable when tapped when there is no associated display name.

fixes Bug:5135630 email chip issue

Change-Id: I9fccc192bfa4e97cbae9dbb527090b1e437264e8
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
076d1f93a2613611f9f3aca8c8615ffea9b3e11c 08-Aug-2011 Mindy Pereira <mindyp@google.com> Create way to allow applications to still show all recips when focus is lost.

Fixes Bug:5123976 RecipientEditTextView has no way to turn off the 'X more' collapsing of names

Change-Id: I5c7f5fca9a6bf278cb2e043ea796f9d2646d6087
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
184d3773dc096c7a6a83f7aeda042fa8346c2024 05-Aug-2011 Erik <epastern@google.com> b/5122753 Make Rfc822Validator a bit smarter

Change-Id: Iffea9735b906466077ce03a97ab49b614917dbf3
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
883c49973f4ea92a26cb6f40814d31f3bd389a89 05-Aug-2011 Mindy Pereira <mindyp@google.com> Make sure we clear our local text watcher variable when removing text watcher.

Fixes Bug:5124057 RecipientEditTextView stops chipifying things when you switch between enabled and not enabled

Change-Id: I7c2708033d5574621ab95065077a3ff39595cd5b
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
aa2afffe7aba707c2406f2e4503fa6037c4cd196 05-Aug-2011 Andy Stadler <stadler@google.com> Fix eclipse error and a couple of warnings.

Change-Id: I25f13e7a5113078a5f8fe4e33eabd0603277a1b4
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
ba5642a5729d9d1483702d42ae4a21d8cbfaa804 28-Jul-2011 Mindy Pereira <mindyp@google.com> Protect againt emtpy strings/ null tokens.

fixes b/5090742 java.lang.ArrayIndexOutOfBoundsException: length=0; index=0

Change-Id: I23fdbe6ebbd94e3ce0f7ac19b52ac02ae755fb01
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
e90bfad1a7cc118e721b723aba48e71b952e5c6e 26-Jul-2011 Mindy Pereira <mindyp@google.com> Protect against empty display or address.

Fixes bug: 5080535 NPE observed in Email when entered invalid email address

Change-Id: If7517dd5283c2215eff5ff88b89b4d314c2d079b
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
4e18d8b62dc38558c8911470ef830b638a26cf00 25-Jul-2011 Mindy Pereira <mindyp@google.com> Update chips to match new spec for validation.

Fixes bug:5051766 autocomplete a recipient with the sender's domain
Spec is defined in the bug notes.

Also fixes 2 small issues:
1) when not appending text, we werent adding the text watcher.
Adds it automatically now and just removes it as necessary.
2) the cursor was not apeparing when editing a recipient
Change-Id: I6bebc418fccf4ef52a3913cb83bdc3bacc5000d3
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
750e6e52d9e560d5fbf687f15bf388a947e98eb2 25-Jul-2011 Mindy Pereira <mindyp@google.com> Make more chip, dropdown match pixel perfects.

1) the destination type should be uppercase; there is not
textview style to do this
2) fix the heights of the dropdown items to be 48dip
3) text for more says "NUMBER more..." and is styled

Change-Id: I8a391bbd3703c1ccd1415b78d5e843107b1d2095
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
32366d47357b32ddd62efc03e50fc10819acd866 24-Jul-2011 Mindy Pereira <mindyp@google.com> When the application clears the text, make sure we clear all the chips.

Fixes Bug:5051774 chips: odd behavior on rotate with some addresses
Gmail was keeping the same recipientedittextfields around, clearing them
by calling setText("") and then re-appending text
However, the old chips were STILL there, just applied to the empty string
This also makes sure we dont put 2 chips in 1 location

Change-Id: I76245a648e71a05018077fcc59f5dfa284d93490
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
8005f42b51fdca5382ce3fd0b083e40900191da6 20-Jul-2011 Mindy Pereira <mindyp@google.com> Fix case where pending chips called before the widget has size.

If there was no size for the widget, we could not determine how
much text to display, so this wasd showing nothing.
Change-Id: I35bc7373fa2a7a4cfd68cfaf68517a0d1381bac6
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
2cac23112a97802d460bffe41fa80a939bf730a5 20-Jul-2011 Mindy Pereira <mindyp@google.com> Instead of waiting for size changes, always post a runnable when recips appended.

Fixes Bug: 5039293 reply / reply all switching behaves inconsistently

Change-Id: I3a169df3520eac3d88135d65cf491e843894f286
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
01382d764d2cbfbb4d2c1b554fe5c1ce1575dd26 16-Jul-2011 Mindy Pereira <mindyp@google.com> fix appended recipients that have an associated name

Fixes Bug:5037859 Populating a To: field from a mailto: link always shows an empty chip
The issue here was I was just pulling out the address and
leaving that in the field
Now I pull out the address for display purposes only, and leave the address
and any associated display info with it
NOTE: if the info before the address was invalid, it will stay invalid, as before
Fixes Bug: 5043134 chips: name and rfc email address
Change-Id: I6b0d0de56dd9752b189919554617b101792425ef
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f7eaa5fc06e3dd57457f7bf0169374a4c9a1e413 15-Jul-2011 Erik <epastern@google.com> b/5021471 Don't try to chipify null entries

Change-Id: I6f89fcdb5373df4fba48681ad6e7bd260dad0f8d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
82d3117d8ef74f5f4fbcd7aaf4f445ce6f8f5b2b 13-Jul-2011 Daisuke Miyakawa <dmiyakawa@google.com> Stop warm-up query.

We should introduce similar mechanism, but right now not.

Bug: 5009038
Bug: 5012014
Change-Id: I883f312fdcef1ef209fb6e620a74d90aa23241a0
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
4c74871e207ea9f9d86c0e4be592e35531fc35da 13-Jul-2011 Mindy Pereira <mindyp@google.com> Handle case where the contact name is null.

When the contact name is null, set the contact name to the destination.
Fixes Bug: 5022659 NPE during auto-complete; appears to be chips related

Change-Id: If081be06ed4babb7484eec7d10fdedf713a4f240
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
e81f8a3d2c9bc916a72b3bf42f56c3ef8fb547f3 13-Jul-2011 Mindy Pereira <mindyp@google.com> Make sure we always check that we have committed all chips on shrink.

Fixes Bug:5010791 ICS email: addressee details lost when retrieving a saved draft on IMAP

Change-Id: I0ee06a983c5ec8814681890c20778cefeffecb2b
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f9bde2393f3b9fa474ed7f57486bd87e832bff62 12-Jul-2011 Mindy Pereira <mindyp@google.com> Merge "Enable pasting of text into the recipient edit text field."
a74f40dc1073117349d1d39b7c8396a39d24f57f 12-Jul-2011 Mindy Pereira <mindyp@google.com> Enable pasting of text into the recipient edit text field.

The issue was that we were hiding the cursor whenever the field was touched
and it should have just been when the field was touched AND a chip was selected.

fixes Bug:5016914 ICS email: cannot paste text into "to:" field in portrait mode compose message

Also fix the case where there is content and the user changes focus.
This had not been committing as committing chips depended on having focus.
Change-Id: I43fae67a399ae7df4862861144ed42b608718a2c
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0d8b77a804fa34cd6fadc632067d562a69b7026a 08-Jul-2011 Mindy Pereira <mindyp@google.com> Never set a span if we dont have matching text.

Fixes b/5004459 java.lang.IndexOutOfBoundsException: setSpan (-1 ... 3) starts before 0

Change-Id: Icc60924cfab8393ff3da2116e8a5eb6130aa8261
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
7ebb40ff05dbf28edd9bbed4eba7e57c8c6005ae 07-Jul-2011 Mindy Pereira <mindyp@google.com> Make sure we leave a space when processing appended recipients.

Also, the bug I was working around for aligning the alternates dropdown
doesnt appear after this fix, so removed the workaround.
Change-Id: I680e39bd9d1a43d559225d4665876a82d6ced7ce
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
04da325c2112c4ef192276f1d7701cbef6635d1b 07-Jul-2011 Mindy Pereira <mindyp@google.com> Fix extra spaces that had been getting added when the user selectd/unselected a chip.

This also prevents us from having to make an extra string and replace it
as all we were REALLY doing was replacng the span.
Also fixes the issue where we were leaving an extra space after deleting
a chip by pressing the X. This was an off by 1 error.
Change-Id: I9d2dbe4647119a64857766ee9b45207c6d365497
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
81fd3d1ed9ea08706e297a227fcab10eac2cf0e3 06-Jul-2011 Mindy Pereira <mindyp@google.com> Scroll before showing the alternates list.

This allows us to have the alternates list properly positioned
AND prevents the dialog from appearing ABOVE the contact.

Change-Id: I78fd1d6ef6b08a1274e7299439b8679f43d1ba86
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
1852931de1e24e77cb708f4ba010eaa269426657 28-Jun-2011 Mindy Pereira <mindyp@google.com> Do reverse lookups on pre-appended recipient chips.

Change-Id: I338a07f89264606a58942520791f39908fedbedb
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
3bb52162b7e842243d4a14e73c15b20dbd1804d7 01-Jul-2011 Mindy Pereira <mindyp@google.com> Always show the more chip for a collapsed recipient view if there are too many recipients.

Previously, this would not get shrunk until the user focused/ unfocusd
the field. Now, if the field doesn't have focus, it starts out
in the shrunk mode.
Also, when appending a contact, properly tokenizes the contact
so that we show just the email address.
Change-Id: I085ed00dc94b38d22e871d7e80589e5b2d74f98f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
c1fed8b74327fccbab18458aef2d1bb0a6996e9c 01-Jul-2011 Mindy Pereira <mindyp@google.com> Fix the offset of the popup window.

If I use the view as the anchor and the vertical offset, then
the popup appears correctly even after a scroll.
I believe this will also take care of the cases where the popup
had been appearing above chips, as the view will be scrolled
to fit the popup if possible.

Fixes Bug:4723677 chips: sometimes popup appears ABOVE the chips field
Change-Id: I976be8e4e06ff44a093f8a93c65a63d433b1e774
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
2bc578406c81a6be7fae3b1216b8b175fd7446e1 28-Jun-2011 Mindy Pereira <mindyp@google.com> Move contact picture to the right of the chip where the delete icon shows.

Change-Id: I0d74965c98f96384a7c0b01d4a9a05b34524301e
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
11a2adb53f764ffcadd262678ff782e6b4992dec 28-Jun-2011 Mindy Pereira <mindyp@google.com> If the selection happens to be at zero, dont look for the char before.

Fixes Bug:4969660 java.lang.IndexOutOfBoundsException: charAt: -1 < 0

Change-Id: Ie307b3088be32e2cf9afdfdcf1c0106046dbc805
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
749acf9bcf637bfe193b10f917888cb463dda9a5 25-Jun-2011 Mindy Pereira <mindyp@google.com> make sure there is a position after the comma before moving to it.

Fixes Bug:4948080 ANR when tried to attach a picture in Gmail Compose

Change-Id: Idf13eec6bf36cba14fae2c633de98049b04c3f8f
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
67bd322c84076cedff15fcb119185842babea68f 24-Jun-2011 Mindy Pereira <mindyp@google.com> If the user chooses a contact with an invalid address, make this an editable address chip.

Per new spec:
Don't display alternates, always treat as an invalid email to enable editing.
When the user is in edit mode then can back up which displays suggestions again

Change-Id: Ie59101940eaf8f306d482c3ae8a5c04d5aa69560
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
ab5a9644d4ab95fe753a07b2bdf4202d78fa8af7 24-Jun-2011 Mindy Pereira <mindyp@google.com> If the user put a commit char in the middle of text, make a chip up to the commit char.

Ex:
1234567
I insert a comma between 3 and 4
123 becomes a chip
4567 remains as text and the cursor goes to the end of it
Change-Id: Ibd4f54b26fb4ae6c6f267232c03f76e0850e4d7e
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f97eb41a7946f2c3013ac74f2451b78070531125 24-Jun-2011 Mindy Pereira <mindyp@google.com> When recipients are appended, take them as is without ANY parsing of tokens.

Change-Id: I7ecc16cc032e7a6f4809ba1a323f7e445b8f74fd
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
21cc0a2d9ce5c6ac5f90f51a59ccafacdb4cf7a5 24-Jun-2011 Mindy Pereira <mindyp@google.com> Make sure we dont use textwatchers or commit chips incorrectly.

1) Never use textwatchers when there are any pending chips. These
may be because there are recipients that were hidden when the more
chip was shown, or because we are parsing appended recipients.
2) turn off item clicks for alternates before we send the dismiss event,
since we dont dismiss immediately and we want to be sure the user cannot
click 2 recipients if the device is running slowly.

Change-Id: I53ae04a0f7c23f4ef7396ea203d8d1bb0a1b6e34
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
79fb4360e567c5ce9e80142af2807126d3bb67f0 21-Jun-2011 Mindy Pereira <mindyp@google.com> Reenable space handling for chips.

The issue was that I was cutting off spaces too soon when
removing commit chars.
Seperated commit via enter/tab/lost focus
from editing and from enter via a character
Since I can't watch for key events, I have to have a textwatcher
This makes sure the textwatcher is not instantied until AFTEr all
reply/reply all recipients have been parsed and created.
Change-Id: Ib9f2228595a77c96b1e72f38c0269c4ad0c92033
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
44c07715c6a353db51ed79e68bc99a06eb4acc16 22-Jun-2011 Mindy Pereira <mindyp@google.com> Merge "Clearselectedchip and unselectchip should not call each other."
faa944cfd66fc3ebba9a3a93614e55da4a66e812 21-Jun-2011 Mindy Pereira <mindyp@google.com> Fix the left offset of the alternates popup.

Change-Id: I9029fd370e95cbd7ab7a34f200b87e2b873482e3
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
e82e61f026fe8edfc12743fb038ddac9af5cf1ef 21-Jun-2011 Mindy Pereira <mindyp@google.com> Clearselectedchip and unselectchip should not call each other.

Fixes Bug:4768416 StackOverflowError when clicking on chips

Change-Id: I8151cee90390df834eef87f60af96da9b910daca
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
e33555f13a9b05d835cb860e2c30ef40af3c8502 21-Jun-2011 Erik <epastern@google.com> Don't start the filter until we have an adapter

This is to prevent a crash if an adapter isn't set during creation.

Change-Id: I328659889b42f9c02fdde2a1074916f6b4fed354
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
8b4cab19bd949f4980db92c82757023a4b53557f 21-Jun-2011 Mindy Pereira <mindyp@google.com> Remove space handling for now.

This needs to be run only on NEWLY added recipients, notappended ones.

Change-Id: I2754528ae660928d75b6a1e097976a151995944d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
2b4ffc53a3b51631cb6aabf535986a9344ee6cbb 20-Jun-2011 Mindy Pereira <mindyp@google.com> Follow defined logic for committing when the user presses space.

If valid email address commit the chip
Fixes Bug:4725531 chips: implement logic to handle space key

Also simplifies the logic for editing in the middle of a chip
(we don't need the submitText flag)

Change-Id: Id4af8d5840f75bf7bb4066e481761a885536dd20
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
7afe160db4a48f66c964ced89e29e0b63b23c7c1 20-Jun-2011 Mindy Pereira <mindyp@google.com> Force services to be launched as soon as possible when chips are instantiated.

This will redue the pause before seeing result from the first query.
Bug:4691146 butter - warm up contacts autocomplete before user types on compose activity
Change-Id: I6f07284f44824dfe6f25fec27cdd300d9adf7da1
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
95a692517516f6cdcd77dd13582e679dd59fcef7 18-Jun-2011 Mindy Pereira <mindyp@google.com> Fix rotation crash.

On orientation changed or activity paused/ restarted, the window
and context were not being properly refreshed for this widget.
This led to crashes when the user tried to show the alternates popup.
The reason the context/ window were not being refreshed
is that references were being held by the chips to one or both of these.
The chips were also retaining references to the spannable, which caused
issues in that the spannable was not being updated in the chips, and
after a rotation, the chip would no longer be able to find where
it had been attached to the spannable. To fix all these issus,
I made the RecipientChip class a seperate, simple data holding
class and allowed the RecipientEditTExtview to do the heavy lifting
as it contains the correct contextual information. This has
solved the crashes I had been seeing.
Change-Id: I4123f7bb2a5195c084efa602c5409d87596275d7
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
ffc42764b959ccd3350dee38bb7cba128995b181 17-Jun-2011 Mindy Pereira <mindyp@google.com> When the user starts editing mid address and submit, always submit all the text.

Previously, when the user hit enter in the middle
of text they were editing, it would divide at the cursor and create
a chip to the left and leave text on the right. This fixes that issue.

Change-Id: If9fd92e4d07008e86351de85de0115d51aca204b
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0f0df298b8bc7973f98397153802da0bd1607c83 17-Jun-2011 Mindy Pereira <mindyp@google.com> If there are no chips to chipify and the user hits enter, focus the next view.

Per UX and user studies.
For tab, commit and then focus the next view.
Change-Id: I9f226cb82191b4866b3ddd1c2cc4f1ae185e65e3
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
5086391a478c3b1badbb86074c3cef72126c7d0f 17-Jun-2011 Mindy Pereira <mindyp@google.com> Fix race condition.

Crash was reported where the checked item position had yet to be
set when the list tried to get it. This uses a listener to make sure
that the checked item isnt set in the list until the adapter has it.

Change-Id: I2b5170ab9440bbb0a69989657313b1a4b6d653cd
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
21625f86828b6bbfc5e87796564eaca5127155fe 17-Jun-2011 Mindy Pereira <mindyp@google.com> Every chip should take into account bottom padding for the alternates popup.

Every line will be affected by the padding, not just the bottom.
Fixes the offset of the alternates popup from the bottom of the chip
and prevents it from overlapping the delete icon at all.

Change-Id: I3c45255ffa1252b6d7ebcf95663b35f7ca952190
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
acdf967a2ac8aa85ebcd08bb88d29ded214e99a4 16-Jun-2011 Mindy Pereira <mindyp@google.com> Fixed bug where appended chips might be added twice.

Since email focuses the compose field instead of the to field
the to field received an immediate unfocus event, which caused any
defaults in the field to be committed. This caused double commits
of a single contact as a chip. This makes sure we dont commit
a pending chip in onSizeChanged that has already been handled.
Integrating into Email revealed this bug.

Change-Id: I65f0f38f1dabe0b1434f0d2e4bcd2ff9a579e621
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
e50b0a1f168322390b63f435f222766cdae6ba7d 16-Jun-2011 Mindy Pereira <mindyp@google.com> Visual tweaks requested by UX.

1) Text on selected chips should be white
2) new delete asset
3) new background selected asset
4) align the alternates popup with the left of the
text field regardless of the position of the chip
5) dont get the position to put the popup at until the user
has tapped it; we cant cache it as other chips changing may have
moved this chip to a different line.
Also cleaned out unused assets.
Change-Id: I7cff1b945ca7a0c7e04430c66c5976de2dee468d
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
64af2da9970f59eee2dfd0c8dd2a06f09171bad2 15-Jun-2011 Mindy Pereira <mindyp@google.com> Make semi colon and comma commit default contact chips.

Change-Id: I372275746d7c903f17268df808ec8896ea0fa38b
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
17bf599c5e2bcd827a29a2165edc92790958e4ac 15-Jun-2011 Mindy Pereira <mindyp@google.com> When user has a focused chip and starts typing, unfocus it.

Brings back that previously removed change in a better way.

Change-Id: Ibd5d3f17b918e36c01836aa3d01472e59c92f03e
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
46c16479b9d2515b567430c589251fd193f6edb7 15-Jun-2011 Mindy Pereira <mindyp@google.com> Fix issue where extra commas were inserted.

Some applications provide recipients of the form:
append(address);
append(",")

and some provide:
append(address+",");
this makes sure we cover both cases.

Change-Id: I302d562783005466d1f06f17069e1af36ddf0584
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
892eda7e02632b498880bbc26025792405fb6a9a 15-Jun-2011 Mindy Pereira <mindyp@google.com> Remove deprecated method.

Change-Id: I1fbd80bb0ae496b27da56e0abc330b80a057b8c2
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
683e47fea365c581d73b93c85178ef4eb6a3a106 14-Jun-2011 Mindy Pereira <mindyp@google.com> Deprecate one of the setChipDimen methods.

2 stage. I will update Gmail in a CL and then remove the deprecated method.

Change-Id: I06078c4a71022176f9097360a98eff269ce334db
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
02a1f5fc67366addfa194b864b85a5d467f0543d 10-Jun-2011 Mindy Pereira <mindyp@google.com> Create chips when text is appended.

When text is appended to the multiautocompletetextfield,
we need to make sure we make chips of the added text.
Since in many cases it will be added before the view
is measured, we may need to wait for onSizeChanged to get
called. This stores chip info for later use in creating chips
once we can measure the width / height of the view.
Change-Id: Ifc9b8bdf089fb0293bb76ea9cd7aeacfc3f9da87
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
007a76baab414c9d432d31c661668b1bd07e3f80 14-Jun-2011 Mindy Pereira <mindyp@google.com> Delay closing the alternates popup when the user selects an alternate.

Per UX, this gives the user a better idea of what has just occured.
Using temporary assets.

Change-Id: Ied49f899d7999356cc01a672ecb22f492901d55c
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
81050bda3942e8c72794b2c4dd1c2c4fb4888f00 10-Jun-2011 Mindy Pereira <mindyp@google.com> Remve deprecated version of setChipDimensions function.

Change-Id: I8988e3fc2120ab720ff93d31f07db22837f449e3
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
342142087308bd9f5f7d682bf2ccd2420a3c7538 10-Jun-2011 Mindy Pereira <mindyp@google.com> Added invalid chips, fixed comments.

Add an invalid background for chips that cannot be validated.
If there is a validator, and a chip is invalid, set it to a red
background for now.
Note: I left the old method for setChipDimensions so that
I don't break Gmail.
Updated comments in the code to be clearer.
Change-Id: I01553cf0c3b3a6c7c59da5016d32be364535f7f2
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
a816690a8b3ecfeb537f6ad403a903f39205f738 10-Jun-2011 Mindy Pereira <mindyp@google.com> Commented most of the public methods of the RecipientEditTextView.

Also, when the user taps another chip and there is text leftover
at the end, complete the text with the default chip behavior.
Change-Id: I6d0f16ed67efad50bc890e7ed5461857e6126675
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
df4457285cf0a54d957f1fad3bbc07112f750818 09-Jun-2011 Mindy Pereira <mindyp@google.com> Small changes to make this more easily integrated into apps.

1) created interface for old adapter and new adapter
to implement so they can be used interchangeable
2) did null checks for chips when getting data/ contacdt ids
Change-Id: I7f47230c5cf35426b73b477f374641b271455411
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
d4c4e77389def134f5751853b838e9d5edb80be4 09-Jun-2011 Mindy Pereira <mindyp@google.com> Remove mRecipients cache and put in error protections.

Stopped tracking recipients in mRecipients so that I didn't have
to have another cache of recipients to keep up to date (this is cleaner)
Also where its possible that there would have been a crash, i have now
added log.e handling so that we can go to droidfood and get logs
telling us what happened.

Change-Id: I133fbe9bf837a6b93af860147fd1923ee8191a4c
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
0ab7e735e82c81baf9ab87d028611561ce0592b7 08-Jun-2011 Mindy Pereira <mindyp@google.com> Make sure select/unselect follow the same pattern for making chips.

Change-Id: I9aa08ca535e80f7c41a324aa445d5dabed58fafa
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
6b6de6266d3bede33728cf995f1fd5c59ec5a55d 08-Jun-2011 Mindy Pereira <mindyp@google.com> Make sure even second level addresses have a photo uri.

When a second level item is chosen, we still want to show
the associated contact photo. We need to set the uri but can get the
photo on the fly later.

Change-Id: Idc9e02452ad5e1d6291776a94a6f3c3c6ada14b4
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
373837f7ea0dcd81fd925ee86e1d00a603aef07d 08-Jun-2011 Mindy Pereira <mindyp@google.com> Remove tricksy workaround.

Since I was unable to get key events in the text field, this was
the suggested workaround, but it is causing many issues, so removing
it.

Change-Id: I62547953b59c735e426b330fe946ca2f1b8a4773
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
6e8e8e8165a797611f80a2c17249147333d55ea7 07-Jun-2011 Mindy Pereira <mindyp@google.com> Asset updates from Ux.

Larger chips, better delete asset, better fonts.
Change-Id: I1d706d5b56bd496e51c772e65d3456d0f3239a43
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
364e7cf182a4124808d3a699dbea8dd1cc1d7bed 07-Jun-2011 Mindy Pereira <mindyp@google.com> Fix issue where deleting did not allow the user to start typing again.

Also dont draw a contact photo for any typed in recipient.
Per UX, if the email address and display name are the same,
make this a chip that is editable.
Also dont store the start/ end positions for the chip
as they may change.
Change-Id: I05a2543d92564c2ec275d0d882cf4a766bad6f92
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
4c5fc2c74cb001fa930b1a264fb10a1071317086 07-Jun-2011 Mindy Pereira <mindyp@google.com> On back key, clear any selected chips.

Change-Id: I764b312f3ffd2ba74be65b8f6bad0cc15bf2e8df
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
12cf3fc6e24ffeb3b84ec5fbbaa7add81b25db09 06-Jun-2011 Mindy Pereira <mindyp@google.com> When the recipientedittextfield is not focused, shrink it.

When focus is list, the field should only display X recipient chips,
where X is currently 2 lines worth with X+ more text at the end.

Change-Id: Iea73d5d3682e4b8cd3adf4a671271cca4ab3c1f2
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f396b39a04ce6edee58ae259cb4d0888474a20cd 03-Jun-2011 Mindy Pereira <mindyp@google.com> When the field loses focus, commit the default chip.

If there were any filterable results, this is the first entry
provided by the adapter.
If not, this is whatever the user was typing in.

Change-Id: I966382dbe38adb20d4123b53443b0fd8d8cf9c89
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
2bfe48e4dda1e172f4c857a0ee1a99d924fb226f 03-Jun-2011 Mindy Pereira <mindyp@google.com> Show the contact picture in an unselected chip.

Change-Id: Id9341b0365e40144de0ac74438395121fda30c01
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
05dbd33931e590ccb538bbf9d7d93d53aaee366e 03-Jun-2011 Mindy Pereira <mindyp@google.com> Add handling for focus changed.

When the recipientedittextview loses focus:

1) unselect any selected chips (do not commit)

When it gains focus:
1) show all the chips
2) place the cursor at the end

When a chip gains focus:
and its a real contact: hide the cursor
and its not a real contact: show the cursor

Never show "no suggestions" popup
Change-Id: Id104c62c47bc2f97bcf72514e39760205596eefd
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
9d2a1980bbcad5dae3b0fb03c35208724b377fa8 03-Jun-2011 Mindy Pereira <mindyp@google.com> De-select on tap. Also give min width to a chip.

If the user clicks a selected chip, unselect it.
Make sure all chips have a minimum width (right now
2X the width of the delete icon) so that there is
always a tappable area regardless of how short the name is.
Also make sure the bounds of the chip do not change in selected
vs unselected mode.
Change-Id: I8bc2302cc7602c62eac727cf77306aac37c27ed4
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
b86dcd5230ebcc57e5fc7a669c2304aca142dbf5 02-Jun-2011 Mindy Pereira <mindyp@google.com> If a chip is selected, hide the cursor.

This change got lost when I was removing the wrapper class.

Change-Id: I787f5cca6ba6d2226b383f07418e24ccbfbde122
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
67ad489cd290f7d2b468b4d69ce679edeac9bb7a 02-Jun-2011 Mindy Pereira <mindyp@google.com> Fix a crash in the removeChip logic. Update alternates dropdown.

There was a crash that could happen if you deleted the first item.
The change in RecipientEditTextView to check that toDelete >= 0 fixes
this.
Also, made the icon and the recipient display name show for the topmost
entry only.

Change-Id: I56b8768c8ead282e2477f91a130bf8cc6fb72b15
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
b88ee450829eb4ac24fb47c377b9ec3aab0782da 02-Jun-2011 Mindy Pereira <mindyp@google.com> Make the delete target EXTREMELY large and tweak tapping algorithm

Experimenting with a really large tap target for the delete icon.
Also tweaked the search algorithm to start at the beginning of
the spans when looking for a chip.
Also was able to get rid of the handler and delayed focus since
the code now watches for selection changes and always keeps
the cursor just past the last chip.
Change-Id: I105a7cb72ceb77f4f21b662a978e819fba3d9875
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
fd68ea64d80f3b299b20ab72b6ed71d3c4ff6c9c 02-Jun-2011 Mindy Pereira <mindyp@google.com> Improvement to tap detection for the delete button.

This improvement works as follows:

1) If the user has tapped near the end of the text
and there is some text near where they tapped that is
not a chip, don't send the tap to the chip
and there is no text near where they tapped, send
the tap to the chip

Change-Id: Ifb93ec716d4a9ff1b9dcc2548465280c39d834cf
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
cd61195b9be5614aefc4cda76c1732cc4840b18e 02-Jun-2011 Mindy Pereira <mindyp@google.com> Remove wrapper.

getText now also returns the correct comma seperated values.
Change-Id: I109f80df507cc377c53615e7f19c21f9b3fb47dd
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
97d7768576ff27d779d68f77e23925b69f3290bc 01-Jun-2011 Mindy Pereira <mindyp@google.com> Show alternate addresses when the user taps on a contact.

Change-Id: I9a88dd1612b98587e560c1e50030e36a28e30db9
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
2bdf061b4770bc7e7a12dc6a892937a7f97aac00 01-Jun-2011 Mindy Pereira <mindyp@google.com> Create wrapper for RecipientEditTextView.

Hide that this isn;t just a normal MultiAutoCompleteTextView
by wrapping getRecipients in getText

Change-Id: Ib11777b4fbf55bfb9aafb1cda18fd1ed246895ad
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
1a8b3ebed26f2ba0e9b1aa76eed87981152254e9 01-Jun-2011 Daisuke Miyakawa <dmiyakawa@google.com> Merge "Use long for ids"
f84d110bf541885d04cf261af1a337bd1b4e25db 01-Jun-2011 Mindy Pereira <mindyp@google.com> Fix issues with deleting.

The chip span does not encompass the delete token, so we need to
check for taps as well.

Change-Id: I094cd3df04b8d51a54cd9fc1717c515383b08870
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f15b448bb9fd41ec7aea7cd95104ab3d82355a06 01-Jun-2011 Daisuke Miyakawa <dmiyakawa@google.com> Use long for ids

Also optimize update method

Bug: 4443828
Change-Id: Ie51a3b40e0852cfab8f81c2a56cbc13f5072ad6c
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
7537f840506bcb642bed9dc1c2bdcf6d31c6b2a7 01-Jun-2011 Daisuke Miyakawa <dmiyakawa@google.com> Add data Id support and account support.

Also add utility methods for chips UI.

Bug: 4371572
Change-Id: Iec086c06ac844ca19c776f82b127a48804bab8e6
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
9ff623bbf3b5bc790e40dd51ebbb13fc99fbf875 01-Jun-2011 Mindy Pereira <mindyp@google.com> Add getRecipients

Method gives the calling application a plain editable containing
all of the recipient addresses

Also added larger assets for the delete icon as the others were
untappable!
Change-Id: Ib02dfcffc3d9e739586f5b502cf92f726cd5c0ef
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
c510471c4f7ccbb75ee00fe3d2723c600c7369d9 01-Jun-2011 Mindy Pereira <mindyp@google.com> Setup a really cheesy delete icon.

This allows us to:
1) set a pressed state
2) get taps on the "delete icon" (the world remains thankful that I am
not a visual designer)
3) get the correctly tapped chip regardless of presses near the end
Change-Id: I286de87b05ac46aca1511a2c7108c6778438386e
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
5e7af11f172ccee5d427802cf634c78fee5595b2 31-May-2011 Mindy Pereira <mindyp@google.com> Fix tap logic and make moving tapped non complete contact to end work.

This change:
1) makes taps work more correctly to click / delete the correct items
2) takes a tapped on non-real contact and moves it to the end for editing.
3) make real contact show the rest of the information for the selected address
when tapped
Change-Id: Iaa778216dc3f0dc9880fdec2e84057a893d9211e
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
f621a601e1f966c89b7aadbcca384021e14d668d 31-May-2011 Mindy Pereira <mindyp@google.com> Multiple updates to chips.

1) Eliminate hardcoded 200 value for width of popup; this is just
the same as the width of the autocomplete view
2) eliminate need for offset padding; can calculate the correct position
(see calculateLineBottom for the full algo)
3) use recipientlistentry to track the contents of a chip; differentiate
between completed real contacts and filled in content. don't show popup
for non real contacts.
4) Change RecipientListEntry to just RecipientEntry
Change-Id: Icf2a47a845f1b3cad2fbae3d31c38179ca1b26c8
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
efcac0cbb3efc645cd6cf1cb1e2431e1bd2b2d2a 28-May-2011 Mindy Pereira <mindyp@google.com> Back to static library.

Give the library dimensions that the apps can use.
Change-Id: If55883a0f599baac3e4f9122620fc01b376fb512
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java
d93630f6f0fd159b340c56333ca740f226acadf7 28-May-2011 Mindy Pereira <mindyp@google.com> Make chips included source instead of static java library.

Get rid of abstract methods in BaseRecipientAdapter
Update makefile
Change-Id: I3415c73446c605e69c0c2145e98a7e66abc33a6e
/frameworks/opt/chips/src/com/android/ex/chips/RecipientEditTextView.java