Bug 3381320
The tests were inconsistent between makeBlink and onDraw.
If the text is non-editable, do not draw the cursor.
Change-Id: I0405e59444261a553e868b3ae5bdddd278f60bb2
Bug 3381317
Changes made in https://android-git.corp.google.com/g/#change,91880
displayed the IME onFocus. However, the test was not consistent to what
is done in touch event. textIsEditable is now checked too.
Change-Id: If11382c1c90a557839b87d62494253470c42b621
Previously, display lists were used only if hardware acceleration
was enabled for an application (hardwareAccelerated=true) *and* if
setDrawingCacheEnabled(true) was called. This change makes the framework
use display lists for all views in an application if hardware acceleration
is enabled.
In addition, display list renderering has been optimized so that
any view's recreation of its own display list (which is necessary whenever
the visuals of that view change) will not cause any other display list
in its parent hierarchy to change. Instead, when there are any visual
changes in the hierarchy, only those views which need to have new
display list content will recreate their display lists.
This optimization works by caching display list references in each
parent display list (so the container of some child will refer to its
child's display list by a reference to the child's display list). Then when
a view needs to recreate its display list, it will do so inside the same
display list object. This will cause the content to get refreshed, but not
the reference to that content. Then when the view hierarchy is redrawn,
it will automatically pick up the new content from the old reference.
This optimization will not necessarily improve performance when applications
need to update the entire view hierarchy or redraw the entire screen, but it does
show significant improvements when redrawing only a portion of the screen,
especially when the regions that are not refreshed are complex and time-
consuming to redraw.
Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
bug:3375074
1. The logic for updating the higher rank fields on wrapping of
lower rank ones was incorrect. Updated that logic.
2. On reaching the min/max date the spinners did not stop
when reaching that date. Now spinners stop at min/max.
3. Fixed a couple of edge case bugs while setting the
the min and max dates of the DatePicker on the fly.
4. Restricted the scrolling/flinging to end at the min
and max dates.
Change-Id: Ibb588ea2cf951cf8d50328bbfbe7ebdad7ee8067
Bug 3374144
The fix in https://android-git.corp.google.com/g/#change,91880 is not
sufficient. An updated adapter needs to be able to force an update of
the poup result list.
Addded a flag that prevents the popup from being re-opened when it has
previously been closed by a user action.
Change-Id: I45fab056c8ebd6dc4317430213f2bc37b51b79e3
-> Making sure to update visuals every time adapter count changes
-> Fixing a clipping issue seen on some devices
Change-Id: I489395b5caaa06eb7187b2dac679b793bf54d7e1
Bug 3374062
When the tap in slightly off the EditText, it receives focus from its parent layout
which dispatches the event. However, the touch event is (correctly) not propagated
in that case.
onFocusChanged should hence do actions similar to what is done on touch up events.
Change-Id: Ia5c04546674fc6239aa4d0b8d051f4951ca91352
Make sure PopupWindows set to clip to the screen and that are anchored
to another view do not clip off the top of the screen.
Change-Id: I6ef9d61982dfda18a4ee7c69128932f5e08aa884
1. Shoing the scroll wheel and fades it out the first time
the widget is displayed.
2. Added separators for easing use to figure out which will
be the current selection while scrolling.
3. Updated the fling scroller to user decelerating interpolator.
Change-Id: Ie75519564ace8f44cc6f8eed692182153f839694
The removed lines were committed by the Android Open Source Project.
Their intent was probably: the message was there before, it is identical
after a text change, let's remove it to not annoy the user who already saw it.
The behavior however is that the message is displayed then hidden, then displayed
as the user types.
Bug 3365016
Change-Id: Ie820f8e5465ad8ab5890272c42627686e0d7961b
Bug 3347962
Root cause of this problem: if the adapter's content gets updated by a backgroung
thread, the PopupDataSetObserver will call showDropDown which will popup the
list.
Added a flag to make this call show the popup iif it is already visible.
This relayout is needed to clear the mDataChanged flag set when the content was
modified and which otherwise prevents touch events on the result list.
ArrayAdapter didn't use its lock to protect access to mObject.
-------------------------------------------------
However, the study of the this race conditions revealed an other bug:
Updated adapter's content is not displayed in filtered AutoCompleteTextView
Bug 3369097
Change-Id: Icd90d452f98231866f4d8a1f6994c1492febecb9
- Moving the service binding to AppWidgetService to prevent arbitrary apps from binding to widget services
- Requiring RemoteViewsServices to require android.permission.BIND_REMOTEVIEWS permission
Change-Id: Id135bafba998299eb278067712b8a5d8487cfd04
Fixes a regression from Froyo. Previously, when a scroll view
had no children, its onTouchEvent would return because the scroll
view would only start dragging if the user touched one of its children.
In Gingerbread, the user can drag from anywhere within the scroll
view, not just by touching a child. However, it makes no sense
to drag a scroll view that has no children so an empty scroll view
should just ignore touches like any other empty view group would.
This change fixes applications that for some reason or other happen
to have empty scroll views in strange places.
Bug: 3246230
Change-Id: Iada6e886e8363e6778f42fc4861de228512d8bed