History log of /frameworks/base/core/java/android/widget/RelativeLayout.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a1bd1712d55c2adf737ca9327e3bec826808191e 26-Apr-2017 Joe Fernandez <joefernandez@google.com> docs: Update RelativeLayout.LayoutParams JavaDoc comments

Added changes to make purpose/usage of RelativeLayout.LayoutParams more
clear:

- clarify the attributes are set on a view contained in a relative layout
- clarify that relative layout uses these values to position the view
- add note that these values are ignored if view is not contained in a
relative layout
- cross-link code sample in Relative Layout guide
- cross-link guide Layout guide to clarify layout params vs regular
attributes

Test: docs change only. Tested with a docs test build.
Change-Id: I4fe1088594c998cee4ff0b2f6295579956c19d6f
/frameworks/base/core/java/android/widget/RelativeLayout.java
a354c4f1565cb69ab0858b586c4f2071a46b1105 24-Jan-2017 Yura <yura@google.com> Fix for endless loop in RelativeLayout.

getRelatedView(int[] rules, int relation)

is stuck in the loop, when a view is GONE, and references itself.
There is already a check in:

getSortedViews(View[] sorted, int... rules) {

to make sure there are no loops of ViewA -> ViewB -> ViewA

BUT, there was a change made in findRoots(int[] rulesFilter)

to "Remove exception throw when a view has a self dependency
inside a RelativeLayout." so this means we must allow this case.

Other change git commit sha: da3003e1d71d66a1c936489025f8db314a2a4588

Bug: http://b/android.com/231353
Change-Id: Icc26b86ebbb19e482c3afe6a39db996ec493586d
/frameworks/base/core/java/android/widget/RelativeLayout.java
99441c5d7da45c10b729185852be97cbb0bdc8d5 12-Oct-2016 Aurimas Liutikas <aurimas@google.com> Fix import statements in android.widget package.

Additionally this CL removes spaces at the end of the line.

Test: code still compiles.
Change-Id: I1ce98b4e70aa3ae614f87966c3bc6181fa4389a4
/frameworks/base/core/java/android/widget/RelativeLayout.java
2dd20a61e959f9a0acb0639664e063101b6e3bac 02-Aug-2016 Yigit Boyar <yboyar@google.com> Target API check for margin params fix

Prior to N, our widgets were not converting MarginLayoutParams
properly between ViewGroups. The fix intrudced some issues in
older apps as the broken conversion code would hide developer
errors. This CL guards the change with a target API check so
that we don't affect older apps.

Bug: 30378230
Change-Id: I215281d261b553c3b4cedcd29ea0a861df809471
/frameworks/base/core/java/android/widget/RelativeLayout.java
885c50b6df08270642016c1f24a3b7e381341742 23-Mar-2016 Yigit Boyar <yboyar@google.com> Fix generate layout params to preserve margins

This CL fixes a common bug in framework's widgets where they
were not converting a child's margin layout params properly.

The CL fixes, FrameLayout, RelativeLayout, GridLayout and
LinearLayout.

Bug: 27785449
Change-Id: Icecd9181ff82107e412174fe152f35d32d36b2e6
/frameworks/base/core/java/android/widget/RelativeLayout.java
895615c363c56f1cfbe887fa8fba80b65b3c05c3 18-Aug-2015 Alan Viverette <alanv@google.com> Ensure layout resolution occurs when relative rules are removed

Bug: 23295655
Change-Id: Ic46b018859c5af8cabf2fa0677e002de7cb6a996
/frameworks/base/core/java/android/widget/RelativeLayout.java
130ce740d1aa4b9a7b024c76f8adec2c24278a81 12-Aug-2015 Alan Viverette <alanv@google.com> Use correct param for heightMode in RelativeLayout horizontal measure

Bug: 22824701
Change-Id: Ia0afd3edc20b8127605aef2653fa9b5472f41be2
/frameworks/base/core/java/android/widget/RelativeLayout.java
7a40d21d89682edef07b21110b779e0f1d9cafea 29-Jul-2015 Alan Viverette <alanv@google.com> Ensure maxHeight is at least 0 during measureChildHorizontal()

Bug: 22613599
Change-Id: I11f70ed1f7221874bef0f00f006e0ae294c4bdfa
/frameworks/base/core/java/android/widget/RelativeLayout.java
5b39ec8b404879225e9ef31267222fcdcbb8118c 22-Jul-2015 Alan Viverette <alanv@google.com> Fix handling of RelativeLayout measurement using UNSPECIFIED spec

Bug: 22613599
Change-Id: Ibdac9de1d5b53a46b29ae916e5dcc8b5c4bc9c27
/frameworks/base/core/java/android/widget/RelativeLayout.java
39310d36069d4b3f7e05dbdd8ba24ea8c4b679c0 25-Jun-2015 Alan Viverette <alanv@google.com> Avoid negative childSpecSize in RelativeLayout

Bug: 22071351
Change-Id: I951fd7c7973c49581d3ea30bae64d6c20bc362be
/frameworks/base/core/java/android/widget/RelativeLayout.java
9554f9fc9ed6b217a601e282dfabb97bd2602369 23-Jun-2015 Alan Viverette <alanv@google.com> Revert "Revert "Work around inconsistent views in RelativeLayout.onMeasure()""

Turns out this was actually fine.

This reverts commit 9355533bf6f3bcd3fb72fc840253d08ca7dad379.

Change-Id: I30c66fd423b569958244685098511d4ba08fbf37
/frameworks/base/core/java/android/widget/RelativeLayout.java
9355533bf6f3bcd3fb72fc840253d08ca7dad379 19-Jun-2015 Alan Viverette <alanv@google.com> Revert "Work around inconsistent views in RelativeLayout.onMeasure()"

This reverts commit 3e2e064a1f989228f48e8faf588393a1a5ee1e31.

Change-Id: Ib3712076585cba507ef1666e3fb6abb2bedb016f
/frameworks/base/core/java/android/widget/RelativeLayout.java
3e2e064a1f989228f48e8faf588393a1a5ee1e31 17-Jun-2015 Alan Viverette <alanv@google.com> Work around inconsistent views in RelativeLayout.onMeasure()

Previously, RelativeLayout's measure pass could crash if the view's
children were modified without calling requestLayout() prior to the
next measure pass. This avoids the issue by only looking at the most
recent set of sorted views and preserves the previous behavior where
onMeasure() could return incorrect data.

Bug: 21123292
Change-Id: If471d071d1d2e2729cf13854d95b1f517c1fe73a
/frameworks/base/core/java/android/widget/RelativeLayout.java
94a6d15ede149189bba9e5f474ed853c98230e75 06-May-2015 Siva Velusamy <vsiva@google.com> Use new hierarchy viewer protocol in all View subclasses

A previous CL introduced a new way of encoding view properties for
use by heirarchy viewer. This CL updates all views using the old
@ExportedProperty annotation to use this new method. The older
mechanism will be removed in a subsequent CL.

Change-Id: I6cc23b90cd9da1c6ce89b4caffe54874db203452
/frameworks/base/core/java/android/widget/RelativeLayout.java
0e14a8576845fa336836519f0fe356d17682238e 10-Mar-2015 Alan Viverette <alanv@google.com> Revert RelativeLayout's baseline view to API 22 and below behavior

The previous behavior used the top-start-most view, rather than the view
with the bottom-most baseline. Which doesn't really make sense, but
that's what it did.

Bug: 19653790
Change-Id: Ia23476f1d2de5313fd82aac037e90d45b0af8972
/frameworks/base/core/java/android/widget/RelativeLayout.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/core/java/android/widget/RelativeLayout.java
62c79e9a64c3b2cafd5500ed3064977dff7b7da3 26-Feb-2015 Alan Viverette <alanv@google.com> Implement landscape layout for time picker dialog

Adds support overriding default alert dialog panel elements by including
them in the dialog's custom content view, but no public API (yet!) since
the panel IDs have never been public. Some minor cleanup and refactoring
in TimePickerDialog. Removes Holo styles for "clock" and "calendar" style
pickers since they are new in Material. If the new styles are used against
Holo they will match Material but with Holo primary/accent colors.

Also implements themed color state lists to resolve TODOs in both time
and date pickers.

Bug: 19431361
Change-Id: I095fd8d653e02d9e5d20d66611432a08a7a5685e
/frameworks/base/core/java/android/widget/RelativeLayout.java
adbc95f015aed3c6d67bc05507cafa2148cc5d94 20-Feb-2015 Alan Viverette <alanv@google.com> Update time picker to match latest Material spec

Also removes saveLayerAlpha() call from radial time picker's disabled
drawing path.

Bug: 19431361
Change-Id: I18641bb9544107bb8704fc43d0dd6c5b18ff99ce
/frameworks/base/core/java/android/widget/RelativeLayout.java
a7bb6fbeab933326d58aa806d8194b7b13239d34 04-Feb-2015 Dianne Hackborn <hackbod@google.com> First quick implementation of auto assist data.

Introduce new AssistData class that contains all data
the framework automatically generates for assist. Currently
populated with a very simple tree structure representing
the app's view hierarchy.

Reworked how we populate the class name for accessibility
info, so this is provided through a new method call on View
that subclasses can override. This method is also used
to populate the class name in AssistData.

Change-Id: Ibd0acdc8354727d4291473283b5e4b70894905dc
/frameworks/base/core/java/android/widget/RelativeLayout.java
e1a65719af62d495446badc7a4d2ace31515341e 14-Jan-2015 Alan Viverette <alanv@google.com> Allow views to be positioned relative to baseline-aligned views

Previously baseline alignment was handled as a separate pass after
normal bottom/top/etc. alignment, but this prevented views from being
laid out relative to baseline-aligned views.

BUG: 17938274
Change-Id: I5965110f012f3b27149b437ba3524cda84e9daf4
/frameworks/base/core/java/android/widget/RelativeLayout.java
a54956a0bc611b1e9b3914edc7a604b59688f6b7 08-Jan-2015 Alan Viverette <alanv@google.com> Fix accessibility delegation

Ensures that delegate code is run last. Previously, calling the super
method from an accessibility delegate set on a widget would only run
code in the widget's parent. Next, the delegate code would run. Finally,
the widget's code would run. As a result, the widget code would override
any data supplied by the delegate.

By moving all overridden code to internal methods, we ensure that the
call chain for super includes the widget's parent code followed by the
widget's code. The delegate code will always run last.

BUG: 17641433
Change-Id: Ib9d403156c1fc4fb04f65f3c126d1277a44b3740
/frameworks/base/core/java/android/widget/RelativeLayout.java
4465d1a03ee5fddc5987c19fc36b0bb79e19572f 26-Nov-2013 Newton Allen <newt@google.com> Fix some documentation typos.

Change-Id: I747a0ade5c7b9c45d4465bf327952338bbc1cfaa
/frameworks/base/core/java/android/widget/RelativeLayout.java
567e44797bca5fd12beb213b90d25cd40b55c8db 20-Aug-2014 Alan Viverette <alanv@google.com> Fix alignParentRight/End in RelativeLayout

BUG: 17136816
Change-Id: If7edb2e0216384429f4caf7e9aae01c09ddd8be4
/frameworks/base/core/java/android/widget/RelativeLayout.java
28308e8494933baf6c28012d7599346633671337 23-Jul-2014 Chet Haase <chet@google.com> Fix corner case of RelativeLayout with pinned edges

LayoutParams without a specified layout_width value automatically
get a default of 0. This works in most cases, when the view is pinned by
various constraints (such as alignParentLeft and alignParentRight),
but breaks down when the child lies in negative coordinates.

Negative coordinates are supposed to be a signal, in RelativeLayout, that
that coordinate is variable. However, negative margins can cause a negative
value to be calculated, at which point it should be used as a concrete value,
not a behavior trigger.

The fix is to use Integer.MIN_VALUe as the tirgger instead, to distinguish that
impossible value from negative values which could reasonably have been computed
during measurement.

Also, removes dead code from earlier attempt at rtl.

Issue #10606777 Time picker can't display 10, 11, or 12 oclock when font size is huge
Issue #16516577 resolveLayoutDirection doesn't act as intended

Change-Id: Ia564603012f3c45636e69cd3776205fb544fda48
/frameworks/base/core/java/android/widget/RelativeLayout.java
d5694f02d5de16580c3e6cc7babc2e0204715e0f 13-Feb-2014 Alan Viverette <alanv@google.com> Fix RelativeLayout measurement

BUG: 12993953
Change-Id: Idf82734eb9a06ea7610e8eb42705da9f4a4639e9
/frameworks/base/core/java/android/widget/RelativeLayout.java
517a00460365a5f9d4616f1216f13bc74974c488 05-Dec-2013 Alan Viverette <alanv@google.com> Fix handling of constraints for unspecified height RelativeLayouts

BUG: 11897546
Change-Id: If26c4be3763072f53f889574a51af16bbd6532c7
/frameworks/base/core/java/android/widget/RelativeLayout.java
d17e719da0914aaee0bf6b21e92f4f3e4a4e8293 14-Sep-2013 Alan Viverette <alanv@google.com> Merge "Clean up layout constructors, make them consistent"
3934b9f520a685f5b31f86f74af6ada88641f6c2 14-Sep-2013 Adam Powell <adamp@google.com> am db34f3d1: am 50e5814c: Merge "Check RelativeLayout\'s access of its own LayoutParams during measurement" into klp-dev

* commit 'db34f3d17d0d2b6eaad8369536dcbb1025d0a00c':
Check RelativeLayout's access of its own LayoutParams during measurement
758d5a4563a71d4f3f7efbf7e450e8e537abc185 13-Sep-2013 Adam Powell <adamp@google.com> Check RelativeLayout's access of its own LayoutParams during measurement

RelativeLayout's use of its own LayoutParams is really old behavior
and something it probably never should have done in the first
place. However at this point it's enshrined compatibility behavior as
fixing this would change the end results of measurement in some cases,
and we've found that apps really love doing strange things with
RelativeLayout that hit all of those edge cases.

The existing behavior ignores this code path if set to MATCH_PARENT or
WRAP_CONTENT, so we'll simply treat missing LayoutParams as the same
case.

Bug 10733375

Change-Id: I8b40b8557d19695ebcd5329aefc1603e2bf4234e
/frameworks/base/core/java/android/widget/RelativeLayout.java
d6479ec5eec13914f656f6be996d95fe1610fd57 11-Sep-2013 Alan Viverette <alanv@google.com> Clean up layout constructors, make them consistent

All constructors now flow through to each class's own 4-argument
constructor. This ensures that theme attributes are applied even
if a base AttributeSet is not provided.

BUG: 10680863
Change-Id: I727d2961bf017c6a5e0206367081670782583394
/frameworks/base/core/java/android/widget/RelativeLayout.java
617feb99a06e7ffb3894e86a286bf30e085f321a 10-Sep-2013 Alan Viverette <alanv@google.com> Add View constructor that supplies a default style resource

Also updates the constructor of every class that extends View.

BUG: 10676369
Change-Id: Ifaf27bf82028d180afa4931c0e906df88d858ac3
/frameworks/base/core/java/android/widget/RelativeLayout.java
e8222dddaf2e3da14380101e818d4254899e0c0d 05-Sep-2013 Chet Haase <chet@google.com> Change build version from KEY_LIME_PIE to KITKAT

Issue #10631619 Change build version to KitKat

Change-Id: I6ad13f6169ad74204078d36929479998b498ad8b
/frameworks/base/core/java/android/widget/RelativeLayout.java
2bd961ae38ebd0acb7d33b32144a3c8a0949c023 28-Aug-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #10514694 Specifying android:gravity="center_vertical|left" results in negative vertical positioning of child

- related to "wrap_content"
- self bounds should include childs horizontal / vertical margin too
- so make height / width computation follow similar pattern as top / bottom computation

Passing CTS tests: RelativeLayoutTest / RelativeLayout_LayoutParamsTest

Change-Id: Id019c2536e89d2d8a4991aaabf6de60aae2e263b
/frameworks/base/core/java/android/widget/RelativeLayout.java
0a0e155cadecd32599a7354a1836232c885f4bd2 07-Aug-2013 Alan Viverette <alanv@google.com> Add copy constructors for all widget-specific LayoutParams

BUG: 10215589
Change-Id: I4c040091e216c87f851d6b617107f43729e55b0c
/frameworks/base/core/java/android/widget/RelativeLayout.java
6876b4fb9082fe525d6edb59a834bb0e7c35ca39 03-Jun-2013 Romain Guy <romainguy@google.com> Replace HashMap with ArrayMap to remove unnecessary allocations

This change also fixes a race condition. If multiple UI threads are used
in a single process, RelativeLayouts could end up using the same nodes
in different windows, causing mayhem and headaches.

Change-Id: I9ba4a0bf05d44e1a1e7a82443d40c500c657cd7a
/frameworks/base/core/java/android/widget/RelativeLayout.java
398051b8ee658c70c39dee04534edf6c968dffdd 15-May-2013 Romain Guy <romainguy@google.com> Revert "Reduce the number of measurement passes in RelativeLayout"

This reverts commit 4cb81d6423ab15ce97575699e5fbc765322ba699.
/frameworks/base/core/java/android/widget/RelativeLayout.java
4cb81d6423ab15ce97575699e5fbc765322ba699 11-May-2013 Romain Guy <romainguy@google.com> Reduce the number of measurement passes in RelativeLayout

Change-Id: I96ad8676f6344a1e0877f9dfbe782747bc0ff36d
/frameworks/base/core/java/android/widget/RelativeLayout.java
1b7c791adf6d5e113cd07fa1a9cbef310f79145a 25-Apr-2013 Romain Guy <romainguy@google.com> Revert "Skip 2nd measure pass whenever possible"

This reverts commit e8fb03c05899c00f55ab1990e1b16038e82d1167.
/frameworks/base/core/java/android/widget/RelativeLayout.java
e8fb03c05899c00f55ab1990e1b16038e82d1167 25-Apr-2013 Romain Guy <romainguy@google.com> Skip 2nd measure pass whenever possible

If the height measured during the horizontal pass fits within the
constraints of the vertical pass we can skip the second call to
child.measure().

Change-Id: I3aebf78967e5920ffb28bbe8985ca7a426327a82
/frameworks/base/core/java/android/widget/RelativeLayout.java
3c647d23e5e00b5663f344b7c3f0ab38d74cf720 23-Apr-2013 Philip Milne <pmilne@google.com> Fix for bug 8578258.

The fix in:

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

worked but the constant used had an extra trailing zero - which was confusing
and put a 1 in the 'flag' space of the measurement spec.

The intended number was:

0x00800000

Unfortunately, this intended constant doesn't fix this bug.

The constant submitted in this fix is:

0x00010000

which is outside the 'flag' space of measurement specs and appears to steer clear of overflow
problems in the scenario of this bug.

As suggested in the submission above, it would be preferable to rework of the RTL code to avoid
the use of such a constant as it seems very unlikely indeed that any choice of integer can
avoid problems in all cases.

Change-Id: I0c6744257ef2aebe8dbc8c041a447f9b90ee4b84
/frameworks/base/core/java/android/widget/RelativeLayout.java
ca2e9e1122ba8b83d05bd144d0be31e8a3c30537 22-Apr-2013 Philip Milne <pmilne@google.com> Fix for bug 8578258: GridLayout is forcing wrong width to TextView widgets

GridLayout is working as intended here. The bug is appears to be in RelativeLayout
(and possibly LinearLayout).

The value of RelativeLayout.DEFAULT_WIDTH = Integer.MAX_VALUE/2 is 0x3FFFFFFF has bits
set in the range that is used to flag certain conditions and states by the layout system.

In View we have:

MEASURED_SIZE_MASK = 0x00ffffff
MEASURED_STATE_MASK = 0xff000000;
MEASURED_STATE_TOO_SMALL = 0x01000000

This change fixes this bug, though it looks as if that a safer solution would be to not introduce
this constant and code path in the first place - as RelativeLayout's measurement algorithm operates
in the LTR case without it.

Change-Id: I01c51ae854620f08dd63047594486a3464c86f3a
/frameworks/base/core/java/android/widget/RelativeLayout.java
76d59a3b7b3ceea1d0854e588532cfc91b44201d 08-Apr-2013 Romain Guy <romainguy@google.com> Always take padding and margins into account
Bug #8565842

Change-Id: I8ee398b5c36b3011950265eb7e22cc8338f1aeee
/frameworks/base/core/java/android/widget/RelativeLayout.java
0072f64939b37a4d84940656c2180ad2e0594ff4 26-Mar-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #8480245 ViewGroup layout margins can be wrong in RTL mode

- fix resolution of MarginLayoutParams
- update related RelativeLayout code

Change-Id: I261f127a8897f60d316fed2a73e6e76020e542cc
/frameworks/base/core/java/android/widget/RelativeLayout.java
617283c3c0746c497fca7742c2f337d3d201cc4c 07-Mar-2013 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #8217354 Suspicious behavior in RTL support for a RelativeLayout" into jb-mr2-dev
c44d880c508ded633b61930e1964df70876ec42f 20-Feb-2013 Fabrice Di Meglio <fdimeglio@google.com> 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
/frameworks/base/core/java/android/widget/RelativeLayout.java
d5ffc79fc8c94df58509c4881b18e64cd922960e 20-Feb-2013 Fabrice Di Meglio <fdimeglio@google.com> 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
/frameworks/base/core/java/android/widget/RelativeLayout.java
f16c7a97548cedccea291ffebc4388a7f15c9aa1 12-Feb-2013 Romain Guy <romainguy@google.com> Always honor fixed size children

Change-Id: If49a9486c554223132663cd9f0dc388d102ebbff
/frameworks/base/core/java/android/widget/RelativeLayout.java
306fe5cc0e85e8a5ef07ff64493982f99caeba3a 24-Jan-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #8051633 Recent Apps thumbnails in RTL mode (Arabic / Hebrew / Farsi) should be aligned

Basically RelativeLayout was broken in a very stubtle way.

RelativeLayout needs in onMeasure() to have a width in RTL mode when "myWidth=-1" (meaning "not
defined") so that the rest of the onMeasure() computation can be done (children positioning and
width computation).

As there is no way to get its width apart from running the code, in RTL mode we set its width
arbitrary to the screen width for doing the width computation and children positoning.

Then, as a last pass, we will update and fix the children position (no need to do anything with
the computed width because it is correctly computed already).

Change-Id: I426af3327160e751ef63ed3845aad5bab6dad661
/frameworks/base/core/java/android/widget/RelativeLayout.java
547261320cb4bbb3e967246bc86578263d94e84d 19-Jan-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #8052320 RelativeLayout is not having the correct width when in RTL mode - part 2

This is a fix for RelativeLayout in RTL mode

- visible effect: wrong positioning of components
- the width computation (first pass) in RTL mode was wrong: it was missing the application
of the horizontal rules before measuring the children horizontally. This is now doing the
same as the normal LTR pass (except positioning the component which is done in the second
pass)

See related issue:

bug #8051633 Recent Apps thumbnails in RTL mode (Arabic / Hebrew / Farsi) should be aligned

Change-Id: I710de1a504bec8743f8e3c13f6ff850055edb2d2
/frameworks/base/core/java/android/widget/RelativeLayout.java
ba534dece2c1917a7473a5fe78976c66f0189ad5 10-Dec-2012 Adam Powell <adamp@google.com> Merge "Update documentation to mention compatibility versioning"
2c8cc972c3b03b76a80db517dde1e68895bbdd66 08-Dec-2012 Adam Powell <adamp@google.com> Update documentation to mention compatibility versioning

Mention changes involving MeasureSpec/RelativeLayout/ImageView
behavior changes when apps target SDK > 17.

Change-Id: I232492a76ac048f7b460d28a87bd84cbbec4e4d7
/frameworks/base/core/java/android/widget/RelativeLayout.java
e3833c2ba4971f287cb57641a01b5d098fdfc05e 08-Dec-2012 Adam Powell <adamp@google.com> Merge "Compatibility measurement hacks when targetSdkVersion <= JB-MR1"
7da4b73a236b7c72d1337696949df7a00776dd06 08-Dec-2012 Adam Powell <adamp@google.com> Compatibility measurement hacks when targetSdkVersion <= JB-MR1

All three of these are interrelated!

* Allow broken MeasureSpec values. The long-standing implementation
of MeasureSpec.makeMeasureSpec has been to add both values rather
than masking/or-ing the values together. Some old code relied on
this, such as if it mixed up size/mode params.

* Disable ImageView adjustViewBounds allowing the view to grow beyond
its initial size. A bug in RelativeLayout in the presence of the
above MeasureSpec fix causes this not to work properly in apps.

* Allow RelativeLayout to send overflowed/bogus MeasureSpec values
when measured with MeasureSpec.UNSPECIFIED mode. Some apps have
custom child views that do not properly handle UNSPECIFIED
measurements, but the exact overflow semantics caused this to
generate AT_MOST $REALLYBIG MeasureSpecs for those views instead if
they were placed inside a RelativeLayout in a scrolling container.

Change-Id: I977a5f1ba5637f0cba3d26a70139e2bcd021fc9c
/frameworks/base/core/java/android/widget/RelativeLayout.java
aae6b552b3f9bd0bcc64761a8ea72b4ae5f6c52e 07-Dec-2012 Fabrice Di Meglio <fdimeglio@google.com> am 7ee2f778: am 09329186: am b3b2922b: Merge "Fix bug #7649607 Hebrew text is cut off in Settings" into jb-mr1.1-dev

* commit '7ee2f7785f3f77a4d4f589fe6a488662c9ad7913':
Fix bug #7649607 Hebrew text is cut off in Settings
4e46d0fdef233c729622cc45b329adc460bb4677 05-Dec-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7649607 Hebrew text is cut off in Settings

- in RTL mode and wrap content, make RelativeLayout respect the width that can be passed to him

Change-Id: I6029135dede1ee80e41ae1bc2a337bf52cf24445
/frameworks/base/core/java/android/widget/RelativeLayout.java
0feedf9982e60915f11f52dc0504d827800d6601 29-Nov-2012 Fabrice Di Meglio <fdimeglio@google.com> am cd91470a: am 146b1290: am cdc6d5cf: Merge "Fix bug #7617883 RelativeLayout is not having the correct width when in RTL mode" into jb-mr1.1-dev

* commit 'cd91470aad09ee7b501ed1d585b9a23f66a718b6':
Fix bug #7617883 RelativeLayout is not having the correct width when in RTL mode
13705eda8cc065ee98feb94af649615579cd4a58 27-Nov-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7617883 RelativeLayout is not having the correct width when in RTL mode

- fix onMeasure() in RTL mode: need to compute width before computing layout params
that are used for layout
- fix getRelatedView() so that it uses the resolved rules
- add some extra "final" statements

Change-Id: I7c3bf841cd18c5f77b010a9be20fa78069e88d94
/frameworks/base/core/java/android/widget/RelativeLayout.java
abae2a1b891772d36d8f781adfcc8969e551691f 28-Nov-2012 Svetoslav Ganov <svetoslavganov@google.com> Simplification of the poolable management utils.

Before to implement a pool of objects, the pooled class had to implement an
interface which was leaking the pool management APIs. This requires
hiding APIs - inconvenient at best. Further, each client had to
implement the chaining of pooled instances which means adding a couple
of member variables which are manipulated by the implemented interface
methods. As a consequence the client is aware of how pooling is
implemented which is error prone and breaks encapsulation. Now the
pool objects are responsible for managing pooling state via reusable
wrapper objects and the clients are oblivious of how pooling is done.
Creating a thin cached wrapper for each pooled object has minimal
performance impact while making the code more maintainable. Actually
implementing of the old version of the APIs was taking as much code
as implementing the pooling yourself.

Also clients had to implement a poolable manager whose responsibility
was to create new instances and provide callbacks when an instance
is added to or removed from the pool. Now, the clinet class should
create a static member for the pool and expose obtain/aquire and
release/recycle methods in which it should create a new instance if
the pool did not return one and clear the state of the host when
it is returned to the pool. Updated the JavaDoc with a best practice.

The pooling was composed of several interfaces and classes scattered
over a few files, now all this is in a single small file.

Update all usages of the pooling APIs in the framework.

Also one had to write a poolable
manager which

Change-Id: Ib8dc286040eb3d7cb7d9668ba76fead05cb97647
/frameworks/base/core/java/android/widget/RelativeLayout.java
ea5e56ad9c2324dd6fbeab64e031878e03122c40 30-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> am d31f0ab9: am 9d662c77: am 68b14054: Merge "Revert "Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)"" into jb-mr1-dev

* commit 'd31f0ab93f4f35a7ca6df6d428db2a5fd3d6750a':
Revert "Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)"
bb4b601673a4f910d3e467bc5ce39538438859ce 27-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Revert "Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)"

This reverts commit 6bf6eb7d5f9207d6a3e1d6b61f17a8654d06fbdb.
and also fbc21e126f329b7b7c161858c1390ccb023be07e

I have also removed all unnecessary calls to resolveLayoutDirection(int). This is possible as
we are resolving layout params on every child of a ViewGroup as of commit
fcc3348f61b2992f0b84e8e8dcb3535fc715298f

Change-Id: I262a375b03fcc3c9261cbe2edebb6ec42ec2e186
/frameworks/base/core/java/android/widget/RelativeLayout.java
0c5c23b3a237df63273694c2df594833836be9ed 12-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> am 4c95bfd5: am 39b0c29e: am ec139240: Merge "Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)" into jb-mr1-dev

* commit '4c95bfd5ad4d17b6e0e618cd3244ee2d33bcbda1':
Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)
6bf6eb7d5f9207d6a3e1d6b61f17a8654d06fbdb 11-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)

Part 2

- fix remaining UI widgets by asking layout params resolution when needed

Change-Id: I97c41639da645d77eeda85feec3bbcc7fc1260b9
/frameworks/base/core/java/android/widget/RelativeLayout.java
6acf744fab8441f18e8aa1599aa9d6937ac8707a 11-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> am f4a1dad6: am 5b04d032: am b8021a88: Merge "Fix bug #7326778 Rename LayoutParams.onResolveLayoutDirection(int)" into jb-mr1-dev

* commit 'f4a1dad63db89b805df0c83b2044dad0d60e3686':
Fix bug #7326778 Rename LayoutParams.onResolveLayoutDirection(int)
2918ab6c3258639148b8a5c78a34483af195246e 11-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7326778 Rename LayoutParams.onResolveLayoutDirection(int)

- rename to LayoutParams.resolveLayoutDirection(int)
- upate 17.txt too

Change-Id: I54fe28dc47cfdb65ef0b5b0244dabbe1d675c781
/frameworks/base/core/java/android/widget/RelativeLayout.java
946d05b95f849684b709a3750ef189388d6dc5a9 02-Oct-2012 Adam Powell <adamp@google.com> DO NOT MERGE - Revert fixes for ImageView/MeasureSpec/RelativeLayout

MeasureSpec.makeMeasureSpec has a bug where a negative or very large
size parameter will cause the resulting MeasureSpec value to
overflow. RelativeLayout partially relies on this when measuring
children with mode UNSPECIFIED; a default value of -1 in a local
variable ends up being passed to makeMeasureSpec, overflowing a mode
value to create a measurespec that is very large in size, with AT_MOST
as the mode. The correct behavior is for RelativeLayout to propagate
the UNSPECIFIED mode.

Unfortunately a number of custom view implementations in apps rely on
the buggy behavior as they do not implement their own onMeasure
method. This makes them fall back to View's default onMeasure
implementation, which accepts the spec's size unconditionally for
AT_MOST or EXACTLY modes, but falls back on
getSuggestedMinimum[Width|Height] for UNSPECIFIED. If the view had no
background drawable with dimensions and no minWidth field set, this
fix for RelativeLayout causes some views to measure with a size of 0
rather than a size of the 30-bit version of 0xFF...

Revert these fixes in the interests of compatibility. The next version
will conditionally use the new behavior if targetSdk > JB-MR1.

This also required reverting a fix for ImageView's adjustViewBounds
functionality, as it cannot be implemented reliably if this
RelativeLayout fix is not also in place.

Revert "Fix UNSPECIFIED measurement in RelativeLayout"

This reverts commit 132a742b94b9716451ddef30cec20548b346f1b9.

Revert "Fix adjustViewBounds handling for ImageView"

This reverts commit d5edc7721791ad807b9a8fbd923b8d6e73c399cc.
/frameworks/base/core/java/android/widget/RelativeLayout.java
132a742b94b9716451ddef30cec20548b346f1b9 30-Sep-2012 Adam Powell <adamp@google.com> Fix UNSPECIFIED measurement in RelativeLayout

Explicitly handle UNSPECIFIED MeasureSpec mode.

Bug 7258418

Change-Id: Idc7b4f0a4a92505379eb5479a84665f7908fcb83
/frameworks/base/core/java/android/widget/RelativeLayout.java
e56ffdc7b31b0937628609cc3bbaa15879023569 23-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6427629 Clean up layout direction APIs

- rename getResolvedLayoutDirection() to getLayoutDirection()

Change-Id: I3afe56c0db0751952f5056c23893cb7455531d29
/frameworks/base/core/java/android/widget/RelativeLayout.java
a4c1030870d8c91b6d871922c3e6962323700f25 26-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Add removeRule() to RelativeLayout LayoutParams

- add this helper API as there are already several example of
developers doing it "by hand"

Change-Id: Icd15edfd75eb47de1f90f847b263b4d513c13810
/frameworks/base/core/java/android/widget/RelativeLayout.java
75bea2e8d35044233ba892bedf102ed08406d653 26-Jul-2012 Scott Main <smain@google.com> am 7c00f816: am 2f5b61a7: Merge "docs: fix a bunch of links from javadocs to api guides and add some attributes to Spinner and Switch" into jb-dev

* commit '7c00f81606de1880c3f28e54cea064c3b90da3e7':
docs: fix a bunch of links from javadocs to api guides and add some attributes to Spinner and Switch
4c359b76f9a030f92a302ba74a528faa170bad4e 25-Jul-2012 Scott Main <smain@google.com> docs: fix a bunch of links from javadocs to api guides
and add some attributes to Spinner and Switch

Change-Id: If015ad000c1a36e19904c132e98ebff1ceaf718b
/frameworks/base/core/java/android/widget/RelativeLayout.java
f443f98e7f41badd8f5d6f7bf7d26432e79a88ed 14-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Make RelativeLayout aware of layout direction

- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)

Change-Id: Ica92841fa0c13c25fcf89c4700b0771eec4fd6d7
/frameworks/base/core/java/android/widget/RelativeLayout.java
1018fb42cb4958511a141787705aa429c5ec9bd3 13-Mar-2012 Philip Milne <pmilne@google.com> Fixes for bugs: #6103660, #6103957, #6104457 and #6104322.

Add getters and setters to the layout widgets so as to mirror their XML apis.

Change-Id: Ie2237fd55e1c3e4ec0d08b4f8154ea7e122c1e79
/frameworks/base/core/java/android/widget/RelativeLayout.java
8a78fd4d9572dff95432fcc4ba0e87563415b728 17-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityEvent/AccessibilityNodeInfo class name property should be set to only framework classes.

AccessibilityEvent and AccessibilityNodeInfo have a property className which is set to the source
Java class. This is problematic since leads to leaking private classes which would allow an
accessibility service to load classes from other packages. This is strongly undesirable since
not trusted code can be loaded, and hence executed, in the accessibility service. To address
that the class name is set to the most concrete framework class extended by the info/event
source.

bug:5878943

Change-Id: I7b3114ece8772ea2773f5151e21b8a6f2006882a
/frameworks/base/core/java/android/widget/RelativeLayout.java
bc5d876df0856e027f1e2cfce91cbdedb6aaf66f 07-Jan-2012 Romain Guy <romainguy@google.com> Avoid allocating when performing the measure/layout passes

Change-Id: I94faa9167d632ff5a1d05f795a2c4dcc0f02348c
/frameworks/base/core/java/android/widget/RelativeLayout.java
1fec24e0fff95afaa90bbf811e9f8db659eb9324 15-Sep-2011 Adam Powell <adamp@google.com> Update docs for RelativeLayout to better explain its interpretation of
gravity.

Change-Id: Ie52dc23458c73dfb7fdbf929b802f968ef905557
/frameworks/base/core/java/android/widget/RelativeLayout.java
0b0a41d8e26eaf0f1d9d922621494daf40964a9a 08-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Not visible view should not be announced or interacted with.

1. Some invisible views' text was reported by accessibility events.

2. Accessibility actions could have been perfromed on invisible views.

bug:5264355

Change-Id: I68184fb436a3e10e947ec6f1eae02aa3d0d1cb7f
/frameworks/base/core/java/android/widget/RelativeLayout.java
c0053223bedf33581b0830fb87be32c1f26e5372 13-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Add View.getResolvedLayoutDirection()

- update Callback2 interface
- update Gravity.getAbsoluteGravity() and Gravity.apply() to be more generic
by changing "boolean isRtl" parameter to "int layoutDirection"
- fix BiDiTests for RTL FrameLayout

Change-Id: I97bb456c22d5fd3ecb34f08564ce4dbed37e7459
/frameworks/base/core/java/android/widget/RelativeLayout.java
8643aa0179e598e78d938c59035389054535a229 20-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Interrogation of the view hierarchy from an AccessibilityService.

1. Views are represented as AccessibilityNodeInfos to AccessibilityServices.

2. An accessibility service receives AccessibilityEvents and can ask
for its source and gets an AccessibilityNodeInfo which can be used
to get its parent and children infos and so on.

3. AccessibilityNodeInfo contains some attributes and actions that
can be performed on the source.

4. AccessibilityService can request the system to preform an action
on the source of an AccessibilityNodeInfo.

5. ViewAncestor provides an interaction connection to the
AccessibiltyManagerService and an accessibility service uses
its connection to the latter to interact with screen content.

6. AccessibilityService can interact ONLY with the focused window
and all calls are routed through the AccessibilityManagerService
which imposes security.

7. Hidden APIs on AccessibilityService can find AccessibilityNodeInfos
based on some criteria. These API go through the AccessibilityManagerServcie
for security check.

8. Some actions are hidden and are exposes only to eng builds for UI testing.

Change-Id: Ie34fa4219f350eb3f4f6f9f45b24f709bd98783c
/frameworks/base/core/java/android/widget/RelativeLayout.java
9e3b002d3f9141d54948a65e0330fdcd09e75a30 07-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Rename Gravity BEFORE/AFTER to START/END

- following spec proposal for having CSS3 like naming

Change-Id: Id5e316a2d9b54b9f20bbcb168fea6a3a83882e1b
/frameworks/base/core/java/android/widget/RelativeLayout.java
6a03640539405afbdefe72894759281b98aa6e6f 23-May-2011 Fabrice Di Meglio <fdimeglio@google.com> Add support for Gravity BEFORE and AFTER

- update layouts
- add Callback2 for RTL aware Drawable
- add unit tests

Change-Id: Ic64d0291e262170aff7297c6580b0b422eaa8d89
/frameworks/base/core/java/android/widget/RelativeLayout.java
e0a799a2ac1ca78e30fbac9e4e12a063425c08d3 05-May-2011 Patrick Dubroy <dubroy@google.com> Only delay pressed feedback for Views inside a scrolling parent

Add a method on ViewGroup to determine whether it supports scrolling.
This allows us to show the pressed feedback immediately in many cases,
improving responsiveness of buttons, etc.

This patch also lengthens the timeout in order to reduce flashes
when the user is scrolling.

Change-Id: Ieb91ae7a1f8e8f7e87448f2a730381a53947996f
/frameworks/base/core/java/android/widget/RelativeLayout.java
70c9ffbc838271f0ea27a4780eb146287de53ef6 20-Aug-2010 Scott Main <smain@google.com> am 11a72482: Merge "docs: add links from widget classes to tutorials" into froyo

Merge commit '11a72482a0cdc45ceaf4ca83957e682381455aee' into gingerbread

* commit '11a72482a0cdc45ceaf4ca83957e682381455aee':
docs: add links from widget classes to tutorials
41ec65355bd6ded652769725b276d47c54a0d913 20-Aug-2010 Scott Main <smain@google.com> docs: add links from widget classes to tutorials

Change-Id: I817e885524951853182b0458df4a32dea1614243
/frameworks/base/core/java/android/widget/RelativeLayout.java
bea95162ca25bd00b0479d93739b6283795c3986 11-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> Categorizing exported view properties.

Change-Id: I79c42019836973d80662c21d195d088ae01537a0
/frameworks/base/core/java/android/widget/RelativeLayout.java
42460ac1bb5512a17a6891f7d99e2b45db0889d8 12-Jan-2010 Romain Guy <romainguy@android.com> Fix how RelativeLayout handles alignParentBottom/Right when dimension is wrap_content.
Bug: #2194109.
/frameworks/base/core/java/android/widget/RelativeLayout.java
980a938c1c9a6a5791a8240e5a1e6638ab28dc77 09-Jan-2010 Romain Guy <romainguy@android.com> Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
/frameworks/base/core/java/android/widget/RelativeLayout.java
520c4204fb9d4f2a7a79dcb5d171e681b7bc6a07 04-Jan-2010 Romain Guy <romainguy@android.com> Fix obsolete advice in RelativeLayout's documentation.
/frameworks/base/core/java/android/widget/RelativeLayout.java
d10a576791675628a014c0488c3d054371d4d63a 28-Jul-2009 Romain Guy <romainguy@android.com> Fixes 2017393. Correctly apply gravity in RelativeLayout.

RL was applying a horizontal offset to its children even when the gravity was only
specified for the vertical axis (and vice-versa.)

Also fix the ExpandableListView icons.
/frameworks/base/core/java/android/widget/RelativeLayout.java
da3003e1d71d66a1c936489025f8db314a2a4588 20-Jul-2009 Romain Guy <romainguy@android.com> Remove exception throw when a view has a self dependency inside a
RelativeLayout.

There are unfortunately successful 3rd party apps declaring self dependencies.
There's no reason to crash the app so just ignore this issue.
/frameworks/base/core/java/android/widget/RelativeLayout.java
baac46339da03aed166e8a4240ad063caad019ad 29-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1940605. MeasureSpec's mode and height were inverted in RelativeLayout.

Also bumps up the cache's number of Nodes.
/frameworks/base/core/java/android/widget/RelativeLayout.java
f782e60efc09f210643432f31b4c18026d7716d6 26-Jun-2009 Romain Guy <romainguy@android.com> Improve handling of FILL_PARENT in RelativeLayout.

This was causing trouble with VideoView, in Gallery in particular.
/frameworks/base/core/java/android/widget/RelativeLayout.java
f7dabb088a474f821d1b07af9a51d063b4782537 25-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1943309. RelativeLayout was confused by gravities.

RelativeLayout, when measured with AT_MOST, was applying the gravity on its
children way too early. This caused the RL to set its measured size to
a value that was larger than necessary. This fixes the issue by deferring
the positioning of the gravity-dependent children until the dimensions
of the layout are known.
/frameworks/base/core/java/android/widget/RelativeLayout.java
1ab621e316828fa65e8941954e2a3c7f1d68f77a 25-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1943915. Prevents circular dependency exception when using several NO_ID
views.
/frameworks/base/core/java/android/widget/RelativeLayout.java
e24ef6032f52cb754bfeb9ab32aae0a5cfa61f8a 25-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1940605. RelativeLayout was swapping horizontal and vertical
dependencies.
/frameworks/base/core/java/android/widget/RelativeLayout.java
b8f8de85160b0a072158b45320e9fc2adba545f5 25-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1940839. Prevents NPE in RelativeLayout when a non-existing View is
targeted.
/frameworks/base/core/java/android/widget/RelativeLayout.java
956070383945db5f842ec05e507fd0233705738c 24-Jun-2009 Romain Guy <romainguy@android.com> Reverse the order in which RelativeLayout measures and positions children.

This fixes RelativeLayouts with height=wrap_content.
/frameworks/base/core/java/android/widget/RelativeLayout.java
a0fd1d742d8edaf6c7e79bdd16a9b0c44fda4503 24-Jun-2009 Romain Guy <romainguy@android.com> Fix NPE in RelativeLayout.
/frameworks/base/core/java/android/widget/RelativeLayout.java
9fffa1eb40f5121866cb8e547b8bbd7eafee5281 24-Jun-2009 Romain Guy <romainguy@android.com> RelativeLayout was ignoring some dependencies.

This change also improves the speed of RelativeLayout by eliminating calls to
findViewById() whenever possible.
/frameworks/base/core/java/android/widget/RelativeLayout.java
725015a9cda8f5bfcf05dff7d2b0ebbd799bb577 23-Jun-2009 Romain Guy <romainguy@android.com> Improve RelativeLayout by allowing dependencies to be declared in a random
order.

The new implementation uses a dually topologically sorted graph of the child
views. The graph of dependencies is sorted once for the rules that impact the
horizontal axis (toLeftOf, alignRight, etc.) and once for the rules that impact
the vertical axis (above, below, etc.)

Doing so gives the ability to declare dependencies in any order, allows for
partial cycles in the graph (given view1 and view2, view1 can be toRightOf=view2
and view2 can be above=view1) and probably gets rid of most surprising behaviors
of RelativeLayout.
/frameworks/base/core/java/android/widget/RelativeLayout.java
a1f3e4aef19882b4b81075d9205bd363efe1e66d 05-Jun-2009 Romain Guy <romainguy@android.com> Fix int to string mapping of exported properties. The value generated by the
mapping in a @ViewDebug.ExportedProperty annotation was always overriden by
the resolveId attribute.
/frameworks/base/core/java/android/widget/RelativeLayout.java
75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec 15-May-2009 svetoslavganov <svetoslavganov@google.com> Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut)
/frameworks/base/core/java/android/widget/RelativeLayout.java
83b2107c4d2f07f46b6ae663115421749486f8b1 12-May-2009 Romain Guy <romainguy@android.com> Fixes #1846038. DrawableContainer was wrongly returning its opacity by ignoring the visibility of the currently selected layer. This change simply reports a TRANSPARENT opacity if there is no currently selected layer of if the selected layer is not visible. Otherwise it reports the opacity computed by the state class.
/frameworks/base/core/java/android/widget/RelativeLayout.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
/frameworks/base/core/java/android/widget/RelativeLayout.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
/frameworks/base/core/java/android/widget/RelativeLayout.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/widget/RelativeLayout.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/widget/RelativeLayout.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
/frameworks/base/core/java/android/widget/RelativeLayout.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/core/java/android/widget/RelativeLayout.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/widget/RelativeLayout.java