This regression has been introduced by this Change: Ia846de16bbc54f0729608259aa4b530da9404245
- in CHOICE_MODE_SINGLE you need to clear the checked states before doing anything
- rename variables for better readability too
Change-Id: I89b4390e5ebb192ca280fea2c06f991b537a2870
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 132a742b94.
Revert "Fix adjustViewBounds handling for ImageView"
This reverts commit d5edc77217.
- do not need those variables. Use what we already have in View.
- reset padding to initial values before changing it.
Change-Id: Ib396b3dca6e98a94d83a538a9b594b5eb426c453
When computing the adjusted view bounds, don't constrain the
dimensions by the original estimate if the opposite dimension has a
fixed size. This can result in the view never getting properly
enlarged.
Also fix a long-standing bug in MeasureSpec.makeMeasureSpec where
oversized or negative values could result in broken packed values.
Bug 7240251
Change-Id: I359d108ff52b6f3b5c4bf393d2271d28999c0127
When apps request layouts while scrolling is in progress, Gallery
children can get offset in strange ways. Compensate for this by
tracking the last known offset and applying it during layout.
Bug 7245853
Change-Id: I9d746ae6bb06918e2d920c58052f72e749a7ffbf
1. The BumberPicker exposes APIs for settings displayed values for the
selected numbers. If the min and max value of the picker are less then
the length of the new displayed values array, i.e. they are out of
bounds, the NumberPicker crashes.
bug:7254000
Change-Id: I182e30216ef28c98d6541f9c985b43c8179dec76
When computing the adjusted view bounds, don't constrain the
dimensions by the original estimate. This can result in the view never
getting properly enlarged.
Bug 7240251
Change-Id: I44fc017f8b661121f0042fcd59a4efde70be6bbe
Change RingtonePlayer to open content:// Uris based on requesting
UserHandle. Grant SystemUI visibility to all emulated storage so
it can play ringtones for apps without READ_EXTERNAL_STORAGE.
Resolve canonical file:// Uris before passing out of source app,
replacing any /emulated_legacy/-style paths with user-specific
variant so they can be opened by SystemUI. Calling for RemoteViews,
Ringtones, and Notifications.
Bug: 7202982
Change-Id: Ibf0eca8df80c1486711144a7b648f464aadfe099
This covers a hole where if the list view restores its state and
then is asked to save its state before its layout happens, the
original state is lost. Instead we just store that original state.
Also tweak FragmentManager to make sure an inactive fragment can
not have its state moved up out of CREATED.
Bug #7232088: ListView saved state being lost in some cases
Change-Id: I5b40f37c259c7bcbe17dd1330016f9531f1b5534
- canResolveXxx() should be hidden
- resetResolvedXxx() should be hidden
- resolveDrawables(), resolveLayoutDirection(), resolvePadding(), resolveTextAlignment(), resolveTextDirection() should be hidden
- onResolvedXxx() should be merged into one callback
- fix also an issue with setting the layout direction of the drawable in ImageView
- fix also an issue with checking if TextAlignment can be resolved
Change-Id: I1402269ddf8632525f5550f80e5610e1a7b4034d
Otherwise services like SystemUI will always open content://-style
Uris as USER_OWNER. Surfaces through createPackageContextAsUser()
which points all ContentResolver operations towards a given user.
Start using in RemoteViews, so that Notifications correctly resolve
image Uris to the sending user. Also add user support for "content"
shell tool.
Bug: 7202982
Change-Id: I8cb7fb8a812e825bb0b5833799dba87055ff8699
- fix for having the TwoDigitFormatter being able to be recreated if the locale is changed
- accept now also the Arabic and Persian digits
Change-Id: Ifbf7e274d971008f4a5782402d4b76d9472b68fc