TextLine was not fully cleared before recycling it which leads to
activity leaks if the activity happens: to register a text watcher.
bug:19045507
Change-Id: Ife0f7ce29865bd30ca2dfe8795023f51f275d659
This reverts commit 9dfe86d410.
That change moved the lenience from POSSIBLE to VALID, which eliminated
false positive links, especially 4 digit phone numbers, but caused
significant false negatives, leading to CTS test failures
(android.text.util.cts.LinkifyTest#testAddLinks7 in particular).
The true fix requires new functionality to validate phone numbers in
a mobile context. In the meantime, the best solution is to revert.
Bug: 18708556
This reverts commit 93e48e8cf1.
The existing code in master already worked correctly for the original
problem, and this change just introduced a new problem.
Bug: 18576264
The linkify logic used POSSIBLE as its leniency setting, which resulted
in false positives such as 4-digit years being interpreted as phone
numbers. Changing to VALID as per recommendation of libphonenumber
people, which fixes this problem.
Bug: 18489494
Change-Id: I77d330285de46de2fdda22daed41392106ec6ddd
In the Truncate.MIDDLE case, when the line is less than half the layout
width, the computeEllipsis logic could go past the left edge of the
string. This patch fixes the off-by-one and avoids the resulting index
out of bounds crash, and also changes the behavior so that when
ellipsizing at the middle, the string to the end of the paragraph is
taken into account.
Bug: 18508627
Change-Id: I24be09c23a5aa158791a9717419307613b8a22e8
Also, move over DateFormat.getInstance(SHORT) instead of
LocaleData.shortDateFormat4 (which forces 4 digit years).
Based on an analysis of git history, there seems to be no
real motiviation for using 4 digit years.
If anyone in the platform complains loudly, we could look at
using a skeleton pattern instead of just replacing 'y' with 'yy'.
If third party apps are affected, we could add a targetSdkversion
based check and revert to the old behaviour for older targetSdks.
bug: 18388178
bug: 18322220
Change-Id: Ieab2b41691958a2e668d382c5a6b3d9aaf741ed2
The 24 hour setting was not respected correctly. Also
fixed a bug where the next alarm would not display itself
in the QS panel.
Bug: 16239208
Change-Id: I89734f783912dead5831db49db53fba04dbf54ee
The "moreChars" test in StaticLayout's generate method would evaluate to
false when the last character in a word caused the break. This in turn
suppressed the ellipsis in this case. The proposed fix is always to set
moreChars true in the code path where the line is broken because more
text wouldn't fit.
Bug: 17738112
Change-Id: Ifa1a69841ca952da4d1937dc8326778179b026b3
The "moreChars" test in StaticLayout's generate method would evaluate to
false when the last character in a word caused the break. This in turn
suppressed the ellipsis in this case. The proposed fix is always to set
moreChars true in the code path where the line is broken because more
text wouldn't fit.
Bug: 17738112
Change-Id: Ifa1a69841ca952da4d1937dc8326778179b026b3
libcore now offers a wider variety of 12-/24-hour time formats,
so be more specific about which one we want here.
(cherry-pick of 85f60d3a03b5b5d9a0e8b8a138eb85a6b53a1eca.)
Bug: 10361358
Change-Id: I846ab7a6f84cd49e876ad21e9366aff1600e0530
libcore now offers a wider variety of 12-/24-hour time formats,
so be more specific about which one we want here.
Bug: 10361358
Change-Id: I846ab7a6f84cd49e876ad21e9366aff1600e0530