Commit Graph

3710 Commits

Author SHA1 Message Date
Jean Chalard
92291eea07 Merge changes I3109a482,Ia5e25738
* changes:
  Final small cleanup.
  Actually change the place where updateSelection is called
2013-03-12 06:20:59 +00:00
Jean Chalard
79386f4f54 Merge changes Ia01aee85,I17bd91a1
* changes:
  Add a SpanWatcher to catch programmatic selection changes
  Initial refactoring to move updateSelection to a better place
2013-03-12 06:18:39 +00:00
Chet Haase
fbde30877f Merge "add getAlpha() to Drawable" 2013-03-08 23:52:33 +00:00
Chet Haase
b1af7f3d4b add getAlpha() to Drawable
Drawable has setAlpha(int), but no getAlpha() (although some subclasses have added the
method). This makes it more tedious to use the property. For example, animations that wish to
animate this property must explicitly give it a start value since this value cannot be queried
from the object.

The trick is that setAlpha(int) is abstract, only implemented by subclasses. We cannot take this
approach for getAlpha(), as we would break all subclasses of Drawable until they implemented the
method. Instead, we'll add a default method which returns an invalid value, making it easier for
clients of the method to detect whether the value is valid.

All subclasses of Drawble in frameworks have been changed to add an override of getAlpha() when
appropriate.

Issue #7485875 Drawables is missing getAlpha()

Change-Id: I06b6e35f1a56d202838eca44759c85c82595020a
2013-03-08 15:40:28 -08:00
Chet Haase
f287913e4a Merge "Revert "add getAlpha() to Drawable"" 2013-03-08 23:01:17 +00:00
Chet Haase
9f48f3eeae Revert "add getAlpha() to Drawable"
This reverts commit a227f59691

Change-Id: Ic6337b773a2a2302d9d3f84fa9ff9c2324edd2ae
2013-03-08 23:00:02 +00:00
Chet Haase
799f3623db Merge "add getAlpha() to Drawable" 2013-03-08 22:30:04 +00:00
Chet Haase
a227f59691 add getAlpha() to Drawable
Drawable has setAlpha(int), but no getAlpha() (although some subclasses have added the
method). This makes it more tedious to use the property. For example, animations that wish to
animate this property must explicitly give it a start value since this value cannot be queried
from the object.

The trick is that setAlpha(int) is abstract, only implemented by subclasses. We cannot take this
approach for getAlpha(), as we would break all subclasses of Drawable until they implemented the
method. Instead, we'll add a default method which returns an invalid value, making it easier for
clients of the method to detect whether the value is valid.

All subclasses of Drawble in frameworks have been changed to add an override of getAlpha() when
appropriate.

Issue #7485875 Drawables is missing getAlpha()

Change-Id: I3211bb03789282e010356bad92da0a4a9fe9afb3
2013-03-08 14:16:13 -08:00
Svetoslav
a2510b5aeb DatePickerDialog title initially incorrect if calendar view shown.
If the calendar view of the date picker dialog is shown we
do not use a formatted date as the dialog title since the
calendar view shows it, instead we show a static "Set date"
title. However, the initial state of the date picker dialog
on a tablet has a formatted date since the date picker widget
does not do a correct check whether the calendar view is shown
which returns a false negative resulting in a title with a
formatted date being added since the dialog thinks it has no
calendar view.

Change-Id: Ibf4c433b34ab1ee1bc1dc386689664a32283fb6a
2013-03-08 12:43:50 -08:00
Fabrice Di Meglio
0016420830 am 64ac478f: am 617283c3: Merge "Fix bug #8217354 Suspicious behavior in RTL support for a RelativeLayout" into jb-mr2-dev
* commit '64ac478f45061e57406ab3d83c69bf8988288b41':
  Fix bug #8217354 Suspicious behavior in RTL support for a RelativeLayout
2013-03-07 22:56:25 +00:00
Fabrice Di Meglio
617283c3c0 Merge "Fix bug #8217354 Suspicious behavior in RTL support for a RelativeLayout" into jb-mr2-dev 2013-03-07 22:49:38 +00:00
Jim Miller
3e5105351d Fix keyguard listview widgets for secondary users
This fixes a bug where secondary user widgets weren't being updated
properly because the system was checking for SYSTEM_UID which no
longer works with keyguard in a separate process.  The symptom was an
app with a listview, like Gmail, would always show an empty list for
secondary users.

Change-Id: I3749a7a0b39f1eb7922966af0fbdcefdd804e41e
2013-03-06 17:01:35 -08:00
Jean Chalard
c99d33fb4d Actually change the place where updateSelection is called
Call updateSelection in endBatchEdit instead of onDraw.
This works because all edits go through a batch edit,
which is already the case although the next change will
enforce it going forward.
This is step 3 of a four-step refactoring.

Bug: 8000119
Change-Id: Ia5e257382e2ef2168726bf3d9c7c84f9379ba376
2013-03-05 20:34:09 -08:00
Jean Chalard
baf3094eca Add a SpanWatcher to catch programmatic selection changes
When the selection is set via Selection#setSelection, the
Editor needs to know so that it can call back to a bound
IME, if any. This adds a watcher to catch these events.
This is step 2 of a four-step refactoring.

Bug: 8000119
Change-Id: Ia01aee853d5cafb4820fd234bc24b587ad3f7dd0
2013-03-05 20:34:05 -08:00
Jean Chalard
df7c72f68c Initial refactoring to move updateSelection to a better place
This is step 1 of a four-step change which will move where
updateSelection is called in regular text fields. The new
behavior will be to call it for each actual batch of
changes, instead of doing it in the render loop which leads
to both false positives and true negatives.

Bug: 8000119

Change-Id: I17bd91a129b18d5451fe1d8e7794ae20165de309
2013-03-05 20:26:11 -08:00
Fabrice Di Meglio
844efa911f am 80273c6b: am 5f51fd69: Merge "Make Spinner widget RTL-aware (part 2)" into jb-mr2-dev
* commit '80273c6b5973d7d4d100a35f6646af45a3179740':
  Make Spinner widget RTL-aware (part 2)
2013-03-05 22:29:22 +00:00
Fabrice Di Meglio
b0359666b4 am cc2e3c05: am 8e440a6c: Merge "Improve RTL code for RelativeLayout" into jb-mr2-dev
* commit 'cc2e3c05d2a0f58e67ed00e1ee1f08150d78ffcf':
  Improve RTL code for RelativeLayout
2013-03-05 22:29:19 +00:00
Fabrice Di Meglio
5f51fd6970 Merge "Make Spinner widget RTL-aware (part 2)" into jb-mr2-dev 2013-03-05 22:23:33 +00:00
Fabrice Di Meglio
c44d880c50 Fix bug #8217354 Suspicious behavior in RTL support for a RelativeLayout
- make rules resolution follow the same pattern as padding and other
RTL properties

Change-Id: Ia0f460f188063f950bc311b51765fdec2f96f542
2013-03-05 14:10:23 -08:00
Fabrice Di Meglio
f80ceed450 Make Spinner widget RTL-aware (part 2)
See bug #8159072 Spinner widget should be RTL'ized

Change-Id: I3f9368f242a027852bf13a7ce4b760de1e1c2fb2
2013-03-05 13:12:13 -08:00
Fabrice Di Meglio
d5ffc79fc8 Improve RTL code for RelativeLayout
- instead of passing the screen size as a constant for computing the
layout size in RTL mode, we just use a real constant. Any value would
work actually, as soon as the value would not be null.

Change-Id: If9f5b38afa88938db36a795bfc8a403ad660726b
2013-03-05 13:07:08 -08:00
Philip Milne
a235362152 GridLayout diagnostics.
Add null check for:

https://googleplex-android-review.git.corp.google.com/#/c/183792/

Change-Id: Ic8ef7b6749b6d2568ed4e4b3b1fa4ad6659c70eb
2013-03-05 12:21:43 -08:00
Philip Milne
0e051852e5 Merge "Provide (general) mecahnism for users of GridLayout to either suppress or react to diagnostics." 2013-03-05 19:48:23 +00:00
Philip Milne
211d03322c Provide (general) mecahnism for users of GridLayout to either suppress or react to diagnostics.
GridLayout uses a constraint solver to perform its layout operation. Some layout problems
result in systems of constraints that are inconsistent and so cannot be solved. GridLayout
detects this condition and makes corrections so as to always guarantee that the layout
operation will complete. In those cases where corrections are made, GridLayout issues a
warning to the Log. This CL allows (internal) clients of GridLayout to both swtich off
the logging and/or detect when this condition is encountered.

Change-Id: I5b871003381f81cf0a76ad3de767e7f8b8349923
2013-03-04 16:40:30 -08:00
Chet Haase
9e7c7d7b85 ListView transient state fix
ListView child views with transientState (setHasTransientState(true)) are not
handled correctly when the data set changes, such as when an item is added
or removed. The problem is that the transient views are cached by their
position, but this position is out of sync between the ListView and the adapter
until the ListView layout process is complete.

A better way, which unfortunately only works on ListViews with stable IDs, is
to cache the views by their itemID instead, and to use that ID to determine when
and where to reuse/retrieve a transient view during the ListView layout.

Issue #8254775 View.setHasTransient state has side-effects when deleting content in ListView

Change-Id: Ic3b1669ed79dd6cf9e4c1c6c26f9d75ccf074b3e
2013-03-04 12:51:21 -08:00
Michael Wright
56fae73f30 Merge "Prevent repeated cursor movements from escaping a TextView" 2013-02-27 01:41:59 +00:00
Philip Milne
4d5d516373 Merge "Fix for bug: 8184401 - GridLayout accounts for child's size/measurements even when a child is "GONE"" 2013-02-26 22:07:58 +00:00
Philip Milne
a841644367 Fix for bug: 8184401 - GridLayout accounts for child's size/measurements even when a child is "GONE"
The original fix:

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

was incorrect as it left GridLayout to simply ignore views with GONE status.
Instead, views with GONE status must cause their corresponding rows and
columns to collapse to zero width/height in the case where the rows/columns
are not flexible.

The actual bug is the result of the fact that getBaseLine() is not parameterized
by the height/size of the view for which the baseline is being requested. In the case of
a view that is GONE, GridLayout will request the baseline of a component that has zero height,
and get results other than 0 (which is doesn't make sense). Prevent this with a specific check.

This CL should fix 8184401 without causing:

https://b.corp.google.com/issue?id=8192858

Change-Id: Ic74888b499466bbfac5fb97d49eede5b6c343127
2013-02-26 14:01:58 -08:00
Justin Ho
3cf7b3c592 Revert "Fix ListView is not scrolled properly with arrows"
This reverts commit db68fac12d.
2013-02-25 16:08:27 -08:00
Adam Powell
0d74e8f8c6 am 06689433: am d61ff77e: Merge "Fix ListView is not scrolled properly with arrows"
* commit '06689433bc9e9d54e01bf4af9526dff2fc3dc862':
  Fix ListView is not scrolled properly with arrows
2013-02-22 14:09:30 -08:00
Adam Powell
d61ff77ee1 Merge "Fix ListView is not scrolled properly with arrows" 2013-02-22 21:29:44 +00:00
Michael Wright
3a7e483d25 Prevent repeated cursor movements from escaping a TextView
Bug: 4156002
Change-Id: If66a69c404509c75016039156389b6a7b2852154
2013-02-20 17:34:30 -08:00
Luca Zanolin
1b15ba5d19 Resubmitting "Enable correction/deleting notification via EasyEditSpan.""
Re-run "make update-api"

Original CL Ic227b8fd50066699915f69a54f225fb5330867c4

Change-Id: Ifb1a0f61801c544b01193435fbfdedd7f3888971
2013-02-20 14:31:37 +00:00
Luca Zanolin
1b916301e0 Revert "Enable correction/deleting notification via EasyEditSpan."
This reverts commit 8cd8135b95

Change-Id: I6361cc47d58281ab37cb9ae0a67541b43f873147
2013-02-20 12:27:35 +00:00
Luca Zanolin
8cd8135b95 Enable correction/deleting notification via EasyEditSpan.
When the "delete" pop-up is clicked (and the wrapped text removed), the
creator of the span will receive a notification of the action.

Similarly, if the user modifies (i.e., add/remove a char), the creator of
the span will receive a notification too. The notification will not contain any
information about how the text has been modified.


Bug: 6905960
Change-Id: Ic227b8fd50066699915f69a54f225fb5330867c4
2013-02-20 11:35:19 +00:00
Romain Guy
52036b19a5 Expose display list APIs
The exposed APIs are slightly simpler than the full APIs used internally.
Only APIs useful to applications are exposed.

Change-Id: Ie03014628d40ad5ef63dedbc52ce3def84429d54
2013-02-19 12:30:02 -08:00
Adam Powell
ac91df87fc Add support for shadows in TextAppearance styles
Allow developers to specify shadow properties for text in a
TextAppearance, not just in direct TextView attributes.

Change-Id: I873fbaf2c26683895e1eea2d02b5d9b17ca333d0
2013-02-14 13:48:47 -08:00
Philip Milne
fd0fa65eea Merge "Revert "Fix for bug: 8184401 - GridLayout accounts for child's size/measurements even when a child is "GONE""" 2013-02-13 22:23:45 +00:00
Philip Milne
57ce47134a Revert "Fix for bug: 8184401 - GridLayout accounts for child's size/measurements even when a child is "GONE""
Suspected cause of: http://b.corp.google.com/issue?id=8192858 

This reverts commit e5e0b7f191

Change-Id: I1a35c12c3ca0b1eacfb0c1a4d6ba03601dab664b
2013-02-13 22:07:50 +00:00
Fabrice Di Meglio
0c33ecd209 Merge "Clean Paint.mBidiFlags as it is no longer used" 2013-02-13 19:11:50 +00:00
Philip Milne
e5e0b7f191 Fix for bug: 8184401 - GridLayout accounts for child's size/measurements even when a child is "GONE"
Added a check for GONE status in measurement calculations.

Change-Id: I3ec82b03f3089730f10dbd6916f6245188cd8452
2013-02-12 14:29:17 -08:00
Fabrice Di Meglio
6d9fe5bd22 Clean Paint.mBidiFlags as it is no longer used
See bug #7623824

Change-Id: Ie2f9422821f6dcc73c99e8695f448e966b587b1d
2013-02-12 13:12:13 -08:00
Romain Guy
f16c7a9754 Always honor fixed size children
Change-Id: If49a9486c554223132663cd9f0dc388d102ebbff
2013-02-11 17:45:04 -08:00
Jaewan Kim
db68fac12d Fix ListView is not scrolled properly with arrows
According to ListView's layoutChildren logic, it detaches all children
and rebuilds its children based on visible area which might omit
invisible elements in the adapter.

In this case, arrowScroll methods only tries to find next scroll
candidates from its children so user is unable to scroll more with
D-pad.

This fixes the issue by look forward next child among the adapter as
well as children.

Bug: 7346868
Change-Id: I01ab19ad899b5bcb5ab420ddf08c9ffd136933d1
2013-02-09 03:27:09 +09:00
Katie McCormick
d68c096476 am 89e7aa3d: am 2306f0ee: am ee27bcda: am b68702eb: am 0e66f16a: Merge "Doc change: Scroller Javadoc Bug # 7966653" into jb-mr1-dev
# Via Android Git Automerger (4) and others
* commit '89e7aa3dae133fd38007eddb47a3e372abb68d4d':
  Doc change: Scroller Javadoc Bug # 7966653
2013-02-07 17:29:18 -08:00
Katie McCormick
89e7aa3dae am 2306f0ee: am ee27bcda: am b68702eb: am 0e66f16a: Merge "Doc change: Scroller Javadoc Bug # 7966653" into jb-mr1-dev
# Via Android Git Automerger (3) and others
* commit '2306f0ee3396cd8a85d04dfbc08fb8c5ffa6699f':
  Doc change: Scroller Javadoc Bug # 7966653
2013-02-07 17:26:13 -08:00
Katie McCormick
2306f0ee33 am ee27bcda: am b68702eb: am 0e66f16a: Merge "Doc change: Scroller Javadoc Bug # 7966653" into jb-mr1-dev
# Via Android Git Automerger (2) and others
* commit 'ee27bcda8644f8c3f2328acc248b8c5c9d152f59':
  Doc change: Scroller Javadoc Bug # 7966653
2013-02-07 17:23:00 -08:00
Katie McCormick
b68702eb05 am 0e66f16a: Merge "Doc change: Scroller Javadoc Bug # 7966653" into jb-mr1-dev
# Via Android (Google) Code Review (1) and Katie McCormick (1)
* commit '0e66f16abd651bdf5833f4aede4899e627d7b333':
  Doc change: Scroller Javadoc Bug # 7966653
2013-02-07 17:18:48 -08:00
Katie McCormick
87cfad7d74 Doc change: Scroller Javadoc Bug # 7966653
Change-Id: I4365946f890a76fcfa78ca9d69f2a8e0848095a9
2013-02-07 16:42:26 -08:00
Adam Powell
2d9c0cac8b am 044a4c3e: am 351f7817: am 21af9a08: Merge "avoid multiple-"0" to exceed the length of upper bound"
# By Sungmin Choi
# Via Android Git Automerger (2) and others
* commit '044a4c3e4a42aae4faac8b92ea05f122cdf45f7c':
  avoid multiple-"0" to exceed the length of upper bound
2013-02-06 15:11:24 -08:00