The text selection handles were traditionally sized based on the size
of the provided drawables. When these drawables are visually small, do
not restrict the size of the touch target beyond a certain minimum.
Bug 16851360
Change-Id: If6a468c7b3a9a1a21913006633f00699637751c0
We are now using the application info of the target app
of the remote views to create a deicated context for
loading resources. The code that is looking up the app
info was using the appilcation context of the current
app which may be null. Now we are using the base context
which is never null.
bug:17005860
Change-Id: Ibcf8b6f81fe24d23a82327870741146c8864ce8f
Removes done buttons from widgets, fixes date picker day selection, fixes
dialog layouts in landscape, updates colors. Adds API on AlertDialog for
setting the view by resource ID, which is necessary to correctly inflate
the view against the dialog's parent view.
BUG: 16941550
BUG: 16852521
BUG: 16878697
BUG: 16838659
BUG: 17047435
Change-Id: I138858ce06cd4abf68a2c3361ec170370236b33b
This CL addresses line-end handling and RTL characters handling
in CursorAnchorInfo.
BUG: 16499624
Change-Id: Ie23569fb136751c40f79dd9886e279dc01cefae9
We added APIs and TextView xml attributes to give access to letter
spacing and OpenType features. This patch makes these changes part of
the public API.
Bug: 15246510
Bug: 15594400
Change-Id: I7a54cb0da2746304a5c72a687612a279cac652e0
ScrollViews can programmatically fling from public API and now
ListViews/GridViews can too. This helps support applications that wish
to propagate flings across scrolling containers as part of nested
scrolling.
Bug 15538504
Change-Id: I0318c6717c7fb8788a006f96c8f8170556dd8b9e
In L, the TimePicker was rewritten to use a clock face and the
DatePicker was rewritten to use a calendar. This
change allows developers to opt into the old style instead
(android:timePickerMode="spinner|clock" and
android:datePickerMode="spinner|calendar").)
Issue #16717952 Pre-L style android.widget.TimePicker on L
Issue #16846963 Allow developer to use legacy DatePicker appearance
Change-Id: I4ee071fcbc5bf25eab83d6a5cb6ff352a603f90a
An app can access widgets hosted or provided by its uid and package.
Access is also allowed if the caller has the bind app widgets permission
but this caller can be in the wrong user. Now the caller should not
only have the bind app widget permission but also be in the same user
as the host or the provider of the widget.
bug:16834230
Change-Id: I5ddb6309f63f2b4ba95360446c2b9584350fb66f
Now remote views contain the application info for the app on whose
behalf they should show content. The application info contains the
user id and the package name which makes it unique in the multi
user environment. If the app which creates the remote views does
not have the same package as the one passed in the contructor of
the remote views, we lookup the app info for the target package.
There is a special hidden overload that allows creating a remote
views instance that represents an app in given package and user
(requires interact across users) permission. The latter is used
by SystemUi when creating remote views for apps that posted a
notification.
bug:16838651
Change-Id: I2daa974629f89a2446848e59300d994dadcf4439
Using the TextView's context instead when resolving these icons from
the theme causes issues if a dark action bar theme is in use.
Bug 16686041
Change-Id: I44cb4a83516d8610103b6ebaf604860b67ac84dd
The ViscousFluid interpolator simply returns the input value and not the
interpolation of that value.
Issue #16815073 Scroller.ViscousFluidInterpolator short circuited
Change-Id: Ifa189026c1396a42a2348260a2a54cf0c3caad08
The current code ignores the parameter and sets the internal modal
value to true. This has probably gone unnoticed because all framework
usage of this method calls it with 'true', except for one case where
it sets it to 'false' temporarily, and then to 'true'.
Issue #16815832 ListPopupWindow setModal broken
Change-Id: I4ac7ab31b4ab91c9959efd4ccf2264a8e381708f
The goal of this change is to enable support for appwidget from
user profiles to the user main profile. A user profile is a user
which is associated as a child of the main user profile. For example,
a user may have a personal (parent) and corporate (child) profile.
The device policy should be able to control whether adding a widget
from a child profile and given packages is allowed. This change
assumes that all packages from managed profiles are white listed.
Another change will add the device policy changes.
Change-Id: I267260b55d74c48b112a29979a9f59eef7a8194e
In order to use the ExportedProperty annotation, I needed a public non-void
method which is why I created a new "public int[] getLocationOnScreen()."
The formatToHexString method is used to convert an int or byte to a hex string
prefixed with "0x". I set the value to true on these flags: mGravity,
mPrivateFlags, mSystemUiVisibility, mViewFlags, mGroupFlags, mMarginFlags,
and flags.
Change-Id: I5914992ba19b80643dfcc6caa487398452e18cbc
Removes the time and date picker specific themes and defaults their
theme attributes to use the alert dialog theme attribute's value.
BUG: 14973897
Change-Id: Id5cc74ea0c1a379fc1ee76b354a1bb5ba329585a
Also moves the setNavigationIcon(int) method closer to the one that
takes a Drawable.
BUG: 16491458
Change-Id: Ia02f05e6270c9d420f61f7ab34117b4c7e6548ec
This patch removes the @hide annotations and public reference from the
new letterSpacing attribute, so the docs will build. It's still not an
ideal state because a test app can't find the attribute, but at least it
unbreaks the build.
Change-Id: I5425fbe3d63f7a759fabe43bd2136196c7112eed
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