Save and restore the menu state for Toolbars. This will make sure that
we remember expanded action views and opened overflow menus across
state save/restore.
Remove an extra event post involved in the initial population of
action bar menus. Apparently at some point an extra level of this was
added that isn't necessary. Process any pending menu invalidations
immediately when we perform window state restoration. This makes sure
individual bits of state in action views, etc. are also restored
properly.
Bug 12005461
Change-Id: Icf905698576b11a59641bc319adc62300857906f
We are checking whether an app can access an app widget
based on the calling uid and the package name. The package
is mostly to make sure that hosts in different apps do
not accidentally interfere whereas the security is enforced
by the uid.
When remote views adapter binds and unbinds to a remote
views serivce it was passing the package of the context we
create to load resources for the widget instead the package
of the host. Now it is passing the host package and also
we are checking if the caller of bind remove serivce API
is in uid that has the host package - this makes it
consistent with elsewhere.
bug:17226052
Change-Id: I2b0b6669e3dc027037b7481c2871cedabd642433
This change also fixes another bug where error popup
is cleared when cursor moves using dpad, even though
the text is not changed.
Bug: 15538489
Bug: 3370191
Change-Id: I2804b90178e77ced46477a594331ae1f7306717a
This CL removes CursorAnchorInfoRequest and related stuff
in favor of InputConnection.requestUpdateCursorAnchorInfo,
which is more easy to understand. This CL also deprecates
InputMethodManager#updateCursor and related stuff.
Rationale:
1. The spec of #updateCursor says that it provides the cursor
position in local coordinates, while the input method
requires it in the screen coordinates.
2. #updateCursor has never been enabled in AOSP, because
InputMethodManager#isWatchingCursor always returned false.
3. There has been no way to let
InputMethodManager#isWatchingCursor return true.
4. In L, InputMethodManager#updateCursorAnchorInfo is
introduced to address all the issues above.
Given that we no longer need to support #updateCursor,
CursorAnchorInfoRequest is overkill when we need to convey
just a couple of parameters.
BUG: 17185263
BUG: 17182367
Change-Id: I4a577bfd02b37b9e56c80b8b41bb25afa95dd8ef
Removes the NO_OP listener from TimePicker since we actually do null
checks everywhere already.
BUG: 17179502
Change-Id: I39a7d68253845c004027e31c59afc43be42195b7
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