This is used to allow list view's pressed and activated indicators
to fade in an out, though of course it can be used elsewhere as well.
There is a lot of complexity in supporting this in list view. The
two main things that are being dealt with:
- When recycling views, we need to make sure that the view's drawable
state doesn't get animated from an old row's state. The recycler
now keeps track of which position a view was last in, and if it is
reused at a new position there is a new View/Drawable API to tell
it to jump to its current state instead of animating.
- For the pressed indicator to fade out, we need to keep displaying it
after it is hidden. There are new variables and code to keep track
of this state, and tweaks in various places to be able to remember
the last selected position and continue updating the drawable bounds
as needed.
Change-Id: Ic96aa1a3c05e519665abf3098892ff2cc4f0ef2f
Rewrote interceptKeyBeforeQueueing to make the handling more systematic.
Behavior should be identical except:
- We never pass keys to applications when the screen is off and the keyguard
is not showing (the proximity sensor turned off the screen).
Previously we passed all non-wake keys through in this case which
caused a bug on Crespo where the screen would come back on if a soft key
was held at the time of power off because the resulting key up event
would sneak in just before the keyguard was shown. It would then be
passed through to the dispatcher which would poke user activity and
wake up the screen.
- We propagate the key flags when broadcasting media keys which
ensures that recipients can tell when the key is canceled.
- We ignore endcall or power if canceled (shouldn't happen anyways).
Changed the input dispatcher to not poke user activity for canceled
events since they are synthetic and should not wake the device.
Changed the lock screen so that it does not poke the wake lock when the
grab handle is released. This fixes a bug where the screen would come
back on immediately if the power went off while the user was holding
one of the grab handles because the sliding tab would receive an up
event after screen turned off and release the grab handles.
Fixed a couple of issues where media keys were being handled inconsistently
or not at all, particularly in the case of the new PAUSE, PLAY
and RECORD keys.
Bug: 3144874
Change-Id: Ie630f5fb6f128cfdf94845f9428067045f42892c
Generally, I'm not a huge fan of allowing bugs like this, but this
will allow people to write apps with better compatibility across
configurations. They can just add a bunch of actions, and have
only some of them apply based on which views are in the layout
resource.
Bug: 3107945
Change-Id: Iecb118ce5f56421ac53a7b95ea470de9f726ee82
commit 0d5694ba2d399dd0869532a4d6256448185a1be0
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:59:23 2010 -0700
suspend() and resume() methods on VideoView are back but don't do anything.
They need to be back because they were public before.
Change-Id: Iddfd1021ffcf341f26e8d55ba761fd33701e2425
commit 16192891ed7d349ee97e47d1729d20a2d0d247b8
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:47:05 2010 -0700
Revert "New API on VideoView widget to suspend/resume a session. Do not release the MediaPlayer client for video suspending/resuming."
This reverts commit 2e1818a4d1.
Conflicts:
api/current.xml
Change-Id: I68dd1d05871044faf3f832d0838aa40bc7f890e5
commit 8f934dc1a3ae4e60f0790fcf97671e063fa20fad
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:44:16 2010 -0700
Revert "Release mediaplayer if the current state is not suspending. Fix for bug 2480093."
This reverts commit efb882cf75.
commit f2ed03550887986f39d36b5dabcd9e919949c7cf
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:44:08 2010 -0700
Revert "Release MediaPlayer if suspend() returns false."
This reverts commit 047212fd4e.
commit 441ecce678bd24e9660a72c8627b5bd94433ff8b
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:40:46 2010 -0700
manually.
Change-Id: I4fdd43c9f7c8b3eedddb31a196da4984e1c58e87
Change-Id: I60d4b10e7a9e4ed8d9a796f1711618f557eb6e89
Tapping on the insertion handle displays a new pop-up dialog that allows to paste.
Select all icon removed.
Change-Id: I6b8c088dd5930c3f67b38928fd43cdd5c9da0904
Holo theme with new assets and style for TabWidgets.
Legacy Themes still use GB style.
Assets added in a previous bluk update were removed.
Change-Id: Ia4a612678561fa5047bbd2a72488086c0f3d61a1
TabWidget orientation specified in tab_content.xml instead of TabWidget.java.
Generally, the orientation of the TabWidget should be set in xml-files
and not in TabWidget.java. A sub class of TabActivity may call setContentView()
using a custom layout where the TabWidget orientation is vertical.
This is the case in the UI Enablers Bottom Tab feature, for landscape
display orientation.
Change-Id: Ia677441a0af96a8d2ab47ef3298eb440c34924f6
Merge commit '17efcde161cbcbc0d98bf809036c5e640497f001' into gingerbread-plus-aosp
* commit '17efcde161cbcbc0d98bf809036c5e640497f001':
DO NOT MERGE Fix bug 3124899 - timeout in CTS test
ExpandableListViewBasicTest
A certain sequence of events could cause AbsListView to enter an
infinite event loop. Only report reaching a scroll boundary to the
overscroll code path if the Scroller wants to move further, not if
we're done moving.
Change-Id: Ifdaf72d60ca25584e4a37d3d8f17365e0fcbfa40
If a list adapter's content changes while the ListView is detached
from a window, the data change is not registered and the next
layoutChildren call causes the ListView to detect a bad change that
the adapter did not notify ListView about. Any time a ListView becomes
attached to a window, has a valid adapter, and no attached data set
observer, treat it as a data set changed event.
Change-Id: Ic00c05a1a0d063399dc78d5d877e3d5f9b1bee16
This situation is encountered in Contacts when the activity
intercepts unsolicited input from the keyboard, takes that
character entered by the user and switches the whole app
to "search mode". At this time it puts the character
entered by the user in the search field. The user should be
able to continue typing.
Change-Id: Ief40f12bb8f31bced6114d61a0fd95472f21b1be