1c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huangpackage com.android.mail.utils;
2c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang
3c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huangimport android.animation.Animator;
4c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huangimport android.animation.AnimatorListenerAdapter;
5c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huangimport android.view.View;
6c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huangimport android.view.ViewPropertyAnimator;
7c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang
8c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang/**
9c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang * A backwards-compatible substitute for {@link ViewPropertyAnimator#withLayer()}.
10c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang *
11c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang */
12c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huangpublic class HardwareLayerEnabler extends AnimatorListenerAdapter {
13c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang
14c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang    private final View mTarget;
15c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang
16c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang    public HardwareLayerEnabler(View target) {
17c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang        mTarget = target;
18c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang    }
19c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang
20c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang    @Override
21c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang    public void onAnimationStart(Animator animation) {
22c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang        mTarget.setLayerType(View.LAYER_TYPE_HARDWARE, null);
23c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang    }
24c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang
25c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang    @Override
26c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang    public void onAnimationEnd(Animator animation) {
27c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang        mTarget.setLayerType(View.LAYER_TYPE_NONE, null);
28c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang    }
29c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang
30c1fb9a9c2730178105977fca629e80951bfc3cdcAndy Huang}
31