Frameworks/base: Move Animation.USE_CLOSEGUARD to inner class

Move flag to inner class to isolate Animation. This allows compile-
time initialization of Animation and subclasses.

Bug: 27265238
Change-Id: I3d95ab77e87de0c033f97545609461bdc9bd5d61
This commit is contained in:
Andreas Gampe
2016-04-06 13:03:02 -07:00
parent 70dc7e2f06
commit 56c560a9dd

View File

@@ -93,8 +93,12 @@ public abstract class Animation implements Cloneable {
*/
public static final int ZORDER_BOTTOM = -1;
private static final boolean USE_CLOSEGUARD
= SystemProperties.getBoolean("log.closeguard.Animation", false);
// Use a preload holder to isolate static initialization into inner class, which allows
// Animation and its subclasses to be compile-time initialized.
private static class NoImagePreloadHolder {
public static final boolean USE_CLOSEGUARD
= SystemProperties.getBoolean("log.closeguard.Animation", false);
}
/**
* Set by {@link #getTransformation(long, Transformation)} when the animation ends.
@@ -859,7 +863,7 @@ public abstract class Animation implements Cloneable {
if (!mStarted) {
fireAnimationStart();
mStarted = true;
if (USE_CLOSEGUARD) {
if (NoImagePreloadHolder.USE_CLOSEGUARD) {
guard.open("cancel or detach or getTransformation");
}
}