The default implementation for preferences refuses to
cache the views for custom preferences at all. We can
do it, but the system won't do it for us, so this does it.
This makes the screen scrolling smooth again.
Incidentally it also fixes the bug where the button may
not animate on the first element.
Bug: 8882722
Bug: 8883108
Change-Id: I9b2306ac4bf93761a808ebfee3477a65f017cddf
Clicking on a button that is animating-out is only done by
mistake. Better make them unclickable.
Also, interrupt an out-in animation if it has been preempted.
Bug: 7600384
Change-Id: Ic4700cda46a894ea580bc67ee7bef885ecf1d3bc
Handling buttons directly in the preference causes large
problems of code readability and interface. It's better to
have a class to manage the buttons and their animations
separately. This is feature-equivalent, and mostly
delegates stuff for now.
Bug: 7600384
Change-Id: Ia8da0ec68ffac84fc1d65e1760539a87a73fa776