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
Merge commit '277465fb5bfc74716f194f1abc2befb42ed73590'
* commit '277465fb5bfc74716f194f1abc2befb42ed73590':
b/3054044 Make allDay event times format in utc
AllDay events could get formatted with the local time zone
instead of utc. This makes it so that using the utc flag in the
wrapper for formatting correctly passes in UTC as the time zone.
Change-Id: I65090ef939ce64c1a942c7683cf76a927c02cb53
Merge commit 'f78fdaccde379d1c101be137416808ea62a2f292'
* commit 'f78fdaccde379d1c101be137416808ea62a2f292':
Fix problem where Base64InputStream single-byte reads were unsigned.
We were creating a static AsyncQueryHandler which only held a
weak reference to the content resolver. This caused db updates
to be dropped once the original context had been gc'd. This
fix creates a new handler for each update to ensure we have a
valid resolver.
Change-Id: I049d8390ac0215e12e63d57b0bae4d3f6df64b6a
Merge commit '86e1991428c2bc78354965c51b2821ae16f32a55'
* commit '86e1991428c2bc78354965c51b2821ae16f32a55':
Adds time zone functionality into fw as a hidden api
TimeZoneUtils was updating the db and modifying the selection. This
creates a static selection for each update type and creates new
values for each update. Also adds a method for apps to force the
local tz cache to refresh if they think another app has modified
the db.
Change-Id: Iaaade635ac8ff11bb116005a0f6b44efcd4c4056
This is the start of work towards pushing api that is needed for
Calendar to become unbundled into frameworks. This adds functions
for getting and setting time zones for the Calendar app. The new
methods are currently hidden.
Change-Id: I1b4265b23630c46d9730a179ec02da8d6c0e03ea
Merge commit '2e47052fc4ad3439adc2322fd953fd58a85d457c'
* commit '2e47052fc4ad3439adc2322fd953fd58a85d457c':
Fix problems with determining when to kill apps for wake usage.
- Introduce FragmentManager public API, for all Fragment management
needs. Will in the future allow the removal of the (growing number
of) fragment APIs on Activity.
- Fragment now has a concept of arguments. This can be supplied
immediately after creation, and are retained across instances.
- PreferenceActivity now has an API to have it update its headers (note
not tested). Headers now have arguments. Keys for controlling
when PreferenceActivity shows at launch have been added to the SDK.
- Fixes to back stack handling and state saving/restoring.
Change-Id: Ib9d07ae2beb296c4eb3a4d9e1b3b59544675e819
This change also removes the use of SoftReferences for View's
drawing cache.
A bitmap now creates a PhantomReference enqueued in a reference
queue provided by the new Finalizers class. This queue is polled
from a thread started after forking zygote. That thread is in charge
of clearing the references after GC runs and of calling reclaim()
on them. The reclaim() method is now how finalizers are run.
Note that a PhantomReference cannot be kept in the instance it
refers to, which is why they are kept in a separate List.
Change-Id: If3c1a5e9dc23fa49e34857860d730f5cf5ad5926
Introduces a new LoaderManager class that takes care of
most of what LoaderManagingFragment does. Every Fragment
and Activity can have one instance of this class. In the
future, the instance will be retained across config changes.
Also various other cleanups and improvement.
Change-Id: I3dfb406dca46bda7f5acb3c722efcbfb8d0aa9ba
Note: this change doesn't solve the Arabic country code top level domains, which
was turned on today. For that, more changes need to be done; probably we need a way
to convert the BiDi url to punycode first; then apply this URL pattern.
issue: 2663885
Change-Id: I0597fe620c4d44259bff88ecfcbcca1565928c6f
Note: this change doesn't solve the Arabic country code top level domains, which
was turned on today. For that, more changes need to be done; probably we need a way
to convert the BiDi url to punycode first; then apply this URL pattern.
issue: 2663885
Change-Id: Iac5d16bf9e091a072a59f8244ab6e87940badd4f
Not complete, only for experimentation at this point.
This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.
The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.
Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
This is the framework part, moving classes around so the framework
no longer needs to link to android-common. Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
- move the encodeInternal/decodeInternal methods into the inner
"state" classes
- tighten up the inner loop of the encoder and decoder a bit, saving
about 5% of time in both cases
- improve javadoc
- other little fixes
Change-Id: I72e0ce8502c664a32418cea04636ccdbf4fec17c
With no usages of these "backwards" streams, it's not clear that we
want to support them forever in the API.
Also fixed some badly cut-and-pasted javadoc.
Change-Id: I4811d22e493bf2b8eaf79b9e95526e7eab5f27ee
sequences (which nobody used) and streamline the API, adding
documentation in preparation for inclusion in the SDK.
Gut and deprecate EventLogTags, which unfortunately was put
into the public SDK (an oversight). Include the functionality
in EventLog proper, in a simpler and easier to use manner.
This change doesn't actually un-@hide anything, but it does
change it to @pending.
The crashes are also reported to the event log (and of course the
main logcat, like they always have been). Ordinary Log.e(t,m,e) isn't dropboxed
but there's a new Log.wtf() which always is. (Still @pending in this change.)
Add a hook to IPowerManager to crash the system server on demand
(only for apps with REBOOT permission, since it's basically a restart).
This is not exposed in PowerManager, must be invoked directly -- mostly
this is there so "Bad Behavior" in dev tools can do it.