Merge "Avoid drawing the first frame in launcher before animation completes"

This commit is contained in:
TreeHugger Robot
2021-12-15 19:38:35 +00:00
committed by Android (Google) Code Review
+18
View File
@@ -106,6 +106,7 @@ import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.WindowManager.LayoutParams;
import android.view.accessibility.AccessibilityEvent;
import android.view.animation.OvershootInterpolator;
@@ -503,6 +504,23 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
setContentView(getRootView());
getRootView().getViewTreeObserver().addOnPreDrawListener(
new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
// Checks the status of fade in animation.
final AlphaProperty property =
mDragLayer.getAlphaProperty(ALPHA_INDEX_LAUNCHER_LOAD);
if (property.getValue() == 0) {
// Animation haven't started yet; suspend.
return false;
} else {
// The animation is started; start drawing.
getRootView().getViewTreeObserver().removeOnPreDrawListener(this);
return true;
}
}
});
getRootView().dispatchInsets();
// Listen for broadcasts