Merge "Tweak quickscrub bar visuals" into pi-dev
This commit is contained in:
BIN
packages/SystemUI/res/drawable-hdpi/qs_scrubber_track.9.png
Normal file
BIN
packages/SystemUI/res/drawable-hdpi/qs_scrubber_track.9.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 365 B |
BIN
packages/SystemUI/res/drawable-mdpi/qs_scrubber_track.9.png
Normal file
BIN
packages/SystemUI/res/drawable-mdpi/qs_scrubber_track.9.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 223 B |
BIN
packages/SystemUI/res/drawable-xhdpi/qs_scrubber_track.9.png
Normal file
BIN
packages/SystemUI/res/drawable-xhdpi/qs_scrubber_track.9.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 386 B |
BIN
packages/SystemUI/res/drawable-xxhdpi/qs_scrubber_track.9.png
Normal file
BIN
packages/SystemUI/res/drawable-xxhdpi/qs_scrubber_track.9.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 685 B |
BIN
packages/SystemUI/res/drawable-xxxhdpi/qs_scrubber_track.9.png
Normal file
BIN
packages/SystemUI/res/drawable-xxxhdpi/qs_scrubber_track.9.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 747 B |
@@ -138,7 +138,7 @@
|
|||||||
<color name="remote_input_accent">#eeeeee</color>
|
<color name="remote_input_accent">#eeeeee</color>
|
||||||
|
|
||||||
<color name="quick_step_track_background_dark">#61000000</color>
|
<color name="quick_step_track_background_dark">#61000000</color>
|
||||||
<color name="quick_step_track_background_light">#4DFFFFFF</color>
|
<color name="quick_step_track_background_light">#33FFFFFF</color>
|
||||||
|
|
||||||
<!-- Keyboard shortcuts colors -->
|
<!-- Keyboard shortcuts colors -->
|
||||||
<color name="ksh_application_group_color">#fff44336</color>
|
<color name="ksh_application_group_color">#fff44336</color>
|
||||||
|
|||||||
@@ -939,7 +939,7 @@
|
|||||||
<dimen name="rounded_corner_content_padding">0dp</dimen>
|
<dimen name="rounded_corner_content_padding">0dp</dimen>
|
||||||
<dimen name="nav_content_padding">0dp</dimen>
|
<dimen name="nav_content_padding">0dp</dimen>
|
||||||
<dimen name="nav_quick_scrub_track_edge_padding">24dp</dimen>
|
<dimen name="nav_quick_scrub_track_edge_padding">24dp</dimen>
|
||||||
<dimen name="nav_quick_scrub_track_thickness">2dp</dimen>
|
<dimen name="nav_quick_scrub_track_thickness">10dp</dimen>
|
||||||
|
|
||||||
<!-- Navigation bar shadow params. -->
|
<!-- Navigation bar shadow params. -->
|
||||||
<dimen name="nav_key_button_shadow_offset_x">0dp</dimen>
|
<dimen name="nav_key_button_shadow_offset_x">0dp</dimen>
|
||||||
|
|||||||
@@ -29,14 +29,13 @@ import android.animation.AnimatorSet;
|
|||||||
import android.animation.ArgbEvaluator;
|
import android.animation.ArgbEvaluator;
|
||||||
import android.animation.ObjectAnimator;
|
import android.animation.ObjectAnimator;
|
||||||
import android.animation.PropertyValuesHolder;
|
import android.animation.PropertyValuesHolder;
|
||||||
import android.animation.ValueAnimator;
|
|
||||||
import android.animation.ValueAnimator.AnimatorUpdateListener;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.graphics.Matrix;
|
import android.graphics.Matrix;
|
||||||
import android.graphics.Paint;
|
|
||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.util.FloatProperty;
|
import android.util.FloatProperty;
|
||||||
@@ -55,6 +54,7 @@ import com.android.systemui.plugins.statusbar.phone.NavGesture.GestureHelper;
|
|||||||
import com.android.systemui.shared.recents.IOverviewProxy;
|
import com.android.systemui.shared.recents.IOverviewProxy;
|
||||||
import com.android.systemui.shared.recents.utilities.Utilities;
|
import com.android.systemui.shared.recents.utilities.Utilities;
|
||||||
import com.android.systemui.shared.system.NavigationBarCompat;
|
import com.android.systemui.shared.system.NavigationBarCompat;
|
||||||
|
import com.android.internal.graphics.ColorUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to detect gestures on the navigation bar and implement quick scrub.
|
* Class to detect gestures on the navigation bar and implement quick scrub.
|
||||||
@@ -63,7 +63,8 @@ public class QuickStepController implements GestureHelper {
|
|||||||
|
|
||||||
private static final String TAG = "QuickStepController";
|
private static final String TAG = "QuickStepController";
|
||||||
private static final int ANIM_IN_DURATION_MS = 150;
|
private static final int ANIM_IN_DURATION_MS = 150;
|
||||||
private static final int ANIM_OUT_DURATION_MS = 100;
|
private static final int ANIM_OUT_DURATION_MS = 134;
|
||||||
|
private static final float TRACK_SCALE = 0.95f;
|
||||||
|
|
||||||
private NavigationBarView mNavigationBarView;
|
private NavigationBarView mNavigationBarView;
|
||||||
|
|
||||||
@@ -76,6 +77,7 @@ public class QuickStepController implements GestureHelper {
|
|||||||
private boolean mIsVertical;
|
private boolean mIsVertical;
|
||||||
private boolean mIsRTL;
|
private boolean mIsRTL;
|
||||||
private float mTrackAlpha;
|
private float mTrackAlpha;
|
||||||
|
private float mTrackScale = TRACK_SCALE;
|
||||||
private int mLightTrackColor;
|
private int mLightTrackColor;
|
||||||
private int mDarkTrackColor;
|
private int mDarkTrackColor;
|
||||||
private float mDarkIntensity;
|
private float mDarkIntensity;
|
||||||
@@ -85,7 +87,7 @@ public class QuickStepController implements GestureHelper {
|
|||||||
|
|
||||||
private final Handler mHandler = new Handler();
|
private final Handler mHandler = new Handler();
|
||||||
private final Rect mTrackRect = new Rect();
|
private final Rect mTrackRect = new Rect();
|
||||||
private final Paint mTrackPaint = new Paint();
|
private final Drawable mTrackDrawable;
|
||||||
private final OverviewProxyService mOverviewEventSender;
|
private final OverviewProxyService mOverviewEventSender;
|
||||||
private final int mTrackThickness;
|
private final int mTrackThickness;
|
||||||
private final int mTrackEndPadding;
|
private final int mTrackEndPadding;
|
||||||
@@ -108,6 +110,20 @@ public class QuickStepController implements GestureHelper {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private final FloatProperty<QuickStepController> mTrackScaleProperty =
|
||||||
|
new FloatProperty<QuickStepController>("TrackScale") {
|
||||||
|
@Override
|
||||||
|
public void setValue(QuickStepController controller, float scale) {
|
||||||
|
mTrackScale = scale;
|
||||||
|
mNavigationBarView.invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Float get(QuickStepController controller) {
|
||||||
|
return mTrackScale;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
private final FloatProperty<QuickStepController> mNavBarAlphaProperty =
|
private final FloatProperty<QuickStepController> mNavBarAlphaProperty =
|
||||||
new FloatProperty<QuickStepController>("NavBarAlpha") {
|
new FloatProperty<QuickStepController>("NavBarAlpha") {
|
||||||
@Override
|
@Override
|
||||||
@@ -139,7 +155,7 @@ public class QuickStepController implements GestureHelper {
|
|||||||
mOverviewEventSender = Dependency.get(OverviewProxyService.class);
|
mOverviewEventSender = Dependency.get(OverviewProxyService.class);
|
||||||
mTrackThickness = res.getDimensionPixelSize(R.dimen.nav_quick_scrub_track_thickness);
|
mTrackThickness = res.getDimensionPixelSize(R.dimen.nav_quick_scrub_track_thickness);
|
||||||
mTrackEndPadding = res.getDimensionPixelSize(R.dimen.nav_quick_scrub_track_edge_padding);
|
mTrackEndPadding = res.getDimensionPixelSize(R.dimen.nav_quick_scrub_track_edge_padding);
|
||||||
mTrackPaint.setAlpha(0);
|
mTrackDrawable = context.getDrawable(R.drawable.qs_scrubber_track).mutate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setComponents(NavigationBarView navigationBarView) {
|
public void setComponents(NavigationBarView navigationBarView) {
|
||||||
@@ -296,9 +312,17 @@ public class QuickStepController implements GestureHelper {
|
|||||||
}
|
}
|
||||||
int color = (int) mTrackColorEvaluator.evaluate(mDarkIntensity, mLightTrackColor,
|
int color = (int) mTrackColorEvaluator.evaluate(mDarkIntensity, mLightTrackColor,
|
||||||
mDarkTrackColor);
|
mDarkTrackColor);
|
||||||
mTrackPaint.setColor(color);
|
int colorAlpha = ColorUtils.setAlphaComponent(color,
|
||||||
mTrackPaint.setAlpha((int) (mTrackPaint.getAlpha() * mTrackAlpha));
|
(int) (Color.alpha(color) * mTrackAlpha));
|
||||||
canvas.drawRect(mTrackRect, mTrackPaint);
|
mTrackDrawable.setTint(colorAlpha);
|
||||||
|
|
||||||
|
// Scale the track, but apply the inverse scale from the nav bar
|
||||||
|
canvas.save();
|
||||||
|
canvas.scale(mTrackScale / mNavigationBarView.getScaleX(),
|
||||||
|
1f / mNavigationBarView.getScaleY(),
|
||||||
|
mTrackRect.centerX(), mTrackRect.centerY());
|
||||||
|
mTrackDrawable.draw(canvas);
|
||||||
|
canvas.restore();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -322,6 +346,7 @@ public class QuickStepController implements GestureHelper {
|
|||||||
x2 = x1 + width - 2 * mTrackEndPadding;
|
x2 = x1 + width - 2 * mTrackEndPadding;
|
||||||
}
|
}
|
||||||
mTrackRect.set(x1, y1, x2, y2);
|
mTrackRect.set(x1, y1, x2, y2);
|
||||||
|
mTrackDrawable.setBounds(mTrackRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -387,7 +412,9 @@ public class QuickStepController implements GestureHelper {
|
|||||||
mLightTrackColor = mContext.getColor(R.color.quick_step_track_background_light);
|
mLightTrackColor = mContext.getColor(R.color.quick_step_track_background_light);
|
||||||
mDarkTrackColor = mContext.getColor(R.color.quick_step_track_background_dark);
|
mDarkTrackColor = mContext.getColor(R.color.quick_step_track_background_dark);
|
||||||
|
|
||||||
ObjectAnimator trackAnimator = ObjectAnimator.ofFloat(this, mTrackAlphaProperty, 1f);
|
ObjectAnimator trackAnimator = ObjectAnimator.ofPropertyValuesHolder(this,
|
||||||
|
PropertyValuesHolder.ofFloat(mTrackAlphaProperty, 1f),
|
||||||
|
PropertyValuesHolder.ofFloat(mTrackScaleProperty, 1f));
|
||||||
trackAnimator.setInterpolator(ALPHA_IN);
|
trackAnimator.setInterpolator(ALPHA_IN);
|
||||||
trackAnimator.setDuration(ANIM_IN_DURATION_MS);
|
trackAnimator.setDuration(ANIM_IN_DURATION_MS);
|
||||||
ObjectAnimator navBarAnimator = ObjectAnimator.ofFloat(this, mNavBarAlphaProperty, 0f);
|
ObjectAnimator navBarAnimator = ObjectAnimator.ofFloat(this, mNavBarAlphaProperty, 0f);
|
||||||
@@ -438,7 +465,9 @@ public class QuickStepController implements GestureHelper {
|
|||||||
mTrackAnimator.cancel();
|
mTrackAnimator.cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
ObjectAnimator trackAnimator = ObjectAnimator.ofFloat(this, mTrackAlphaProperty, 0f);
|
ObjectAnimator trackAnimator = ObjectAnimator.ofPropertyValuesHolder(this,
|
||||||
|
PropertyValuesHolder.ofFloat(mTrackAlphaProperty, 0f),
|
||||||
|
PropertyValuesHolder.ofFloat(mTrackScaleProperty, TRACK_SCALE));
|
||||||
trackAnimator.setInterpolator(ALPHA_OUT);
|
trackAnimator.setInterpolator(ALPHA_OUT);
|
||||||
trackAnimator.setDuration(ANIM_OUT_DURATION_MS);
|
trackAnimator.setDuration(ANIM_OUT_DURATION_MS);
|
||||||
ObjectAnimator navBarAnimator = ObjectAnimator.ofFloat(this, mNavBarAlphaProperty, 1f);
|
ObjectAnimator navBarAnimator = ObjectAnimator.ofFloat(this, mNavBarAlphaProperty, 1f);
|
||||||
|
|||||||
Reference in New Issue
Block a user