Merge "Fade in background scrim when resuming from screen off." into ub-launcher3-dorval-polish

This commit is contained in:
TreeHugger Robot
2017-05-11 20:36:45 +00:00
committed by Android (Google) Code Review
3 changed files with 38 additions and 1 deletions
+22
View File
@@ -18,7 +18,9 @@ package com.android.launcher3;
import android.Manifest;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
@@ -268,6 +270,8 @@ public class Launcher extends BaseActivity
private boolean mHasFocus = false;
private boolean mAttached = false;
private ObjectAnimator mScrimAnimator;
private PopupDataProvider mPopupDataProvider;
private View.OnTouchListener mHapticFeedbackTouchListener;
@@ -915,6 +919,24 @@ public class Launcher extends BaseActivity
if (!isWorkspaceLoading()) {
NotificationListener.setNotificationsChangedListener(mPopupDataProvider);
}
if (mIsResumeFromActionScreenOff && mDragLayer.getBackground() != null) {
if (mScrimAnimator != null) {
mScrimAnimator.cancel();
}
mDragLayer.getBackground().setAlpha(0);
mScrimAnimator = ObjectAnimator.ofInt(mDragLayer.getBackground(),
LauncherAnimUtils.DRAWABLE_ALPHA, 0, 255);
mScrimAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
mScrimAnimator = null;
}
});
mScrimAnimator.setDuration(600);
mScrimAnimator.setStartDelay(getWindow().getTransitionBackgroundFadeDuration());
mScrimAnimator.start();
}
}
@Override
@@ -21,6 +21,7 @@ import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.animation.ValueAnimator;
import android.graphics.drawable.Drawable;
import android.util.Property;
import android.view.View;
import android.view.ViewTreeObserver;
@@ -128,4 +129,16 @@ public class LauncherAnimUtils {
return anim;
}
public static final Property<Drawable, Integer> DRAWABLE_ALPHA =
new Property<Drawable, Integer>(Integer.TYPE, "drawableAlpha") {
@Override
public Integer get(Drawable drawable) {
return drawable.getAlpha();
}
@Override
public void set(Drawable drawable, Integer alpha) {
drawable.setAlpha(alpha);
}
};
}
@@ -25,6 +25,7 @@ import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.view.Gravity;
import com.android.launcher3.LauncherAnimUtils;
import com.android.launcher3.R;
/**
@@ -119,7 +120,8 @@ public class AllAppsBackgroundDrawable extends Drawable {
int finalAlphaI = (int) (finalAlpha * 255f);
if (getAlpha() != finalAlphaI) {
mBackgroundAnim = cancelAnimator(mBackgroundAnim);
mBackgroundAnim = ObjectAnimator.ofInt(this, "alpha", finalAlphaI);
mBackgroundAnim = ObjectAnimator.ofInt(this, LauncherAnimUtils.DRAWABLE_ALPHA,
finalAlphaI);
mBackgroundAnim.setDuration(duration);
mBackgroundAnim.start();
}