diff options
| -rw-r--r-- | packages/SystemUI/res/drawable-hdpi/qs_scrubber_track.9.png | bin | 0 -> 365 bytes | |||
| -rw-r--r-- | packages/SystemUI/res/drawable-mdpi/qs_scrubber_track.9.png | bin | 0 -> 223 bytes | |||
| -rw-r--r-- | packages/SystemUI/res/drawable-xhdpi/qs_scrubber_track.9.png | bin | 0 -> 386 bytes | |||
| -rw-r--r-- | packages/SystemUI/res/drawable-xxhdpi/qs_scrubber_track.9.png | bin | 0 -> 685 bytes | |||
| -rw-r--r-- | packages/SystemUI/res/drawable-xxxhdpi/qs_scrubber_track.9.png | bin | 0 -> 747 bytes | |||
| -rw-r--r-- | packages/SystemUI/res/values/colors.xml | 2 | ||||
| -rw-r--r-- | packages/SystemUI/res/values/dimens.xml | 2 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java | 51 |
8 files changed, 42 insertions, 13 deletions
diff --git a/packages/SystemUI/res/drawable-hdpi/qs_scrubber_track.9.png b/packages/SystemUI/res/drawable-hdpi/qs_scrubber_track.9.png Binary files differnew file mode 100644 index 000000000000..0899d3515f1b --- /dev/null +++ b/packages/SystemUI/res/drawable-hdpi/qs_scrubber_track.9.png diff --git a/packages/SystemUI/res/drawable-mdpi/qs_scrubber_track.9.png b/packages/SystemUI/res/drawable-mdpi/qs_scrubber_track.9.png Binary files differnew file mode 100644 index 000000000000..22664496db76 --- /dev/null +++ b/packages/SystemUI/res/drawable-mdpi/qs_scrubber_track.9.png diff --git a/packages/SystemUI/res/drawable-xhdpi/qs_scrubber_track.9.png b/packages/SystemUI/res/drawable-xhdpi/qs_scrubber_track.9.png Binary files differnew file mode 100644 index 000000000000..3328add435fb --- /dev/null +++ b/packages/SystemUI/res/drawable-xhdpi/qs_scrubber_track.9.png diff --git a/packages/SystemUI/res/drawable-xxhdpi/qs_scrubber_track.9.png b/packages/SystemUI/res/drawable-xxhdpi/qs_scrubber_track.9.png Binary files differnew file mode 100644 index 000000000000..ed651da88800 --- /dev/null +++ b/packages/SystemUI/res/drawable-xxhdpi/qs_scrubber_track.9.png diff --git a/packages/SystemUI/res/drawable-xxxhdpi/qs_scrubber_track.9.png b/packages/SystemUI/res/drawable-xxxhdpi/qs_scrubber_track.9.png Binary files differnew file mode 100644 index 000000000000..06e120239eb2 --- /dev/null +++ b/packages/SystemUI/res/drawable-xxxhdpi/qs_scrubber_track.9.png diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index d675d0f82906..975055ce72e6 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -138,7 +138,7 @@ <color name="remote_input_accent">#eeeeee</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 --> <color name="ksh_application_group_color">#fff44336</color> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 1aee7bc311a9..89f9e1f8eabb 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -939,7 +939,7 @@ <dimen name="rounded_corner_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_thickness">2dp</dimen> + <dimen name="nav_quick_scrub_track_thickness">10dp</dimen> <!-- Navigation bar shadow params. --> <dimen name="nav_key_button_shadow_offset_x">0dp</dimen> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java index b55fe47f1f2d..860b77e1b251 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java @@ -29,14 +29,13 @@ import android.animation.AnimatorSet; import android.animation.ArgbEvaluator; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; -import android.animation.ValueAnimator; -import android.animation.ValueAnimator.AnimatorUpdateListener; import android.content.Context; import android.content.res.Resources; import android.graphics.Canvas; +import android.graphics.Color; import android.graphics.Matrix; -import android.graphics.Paint; import android.graphics.Rect; +import android.graphics.drawable.Drawable; import android.os.Handler; import android.os.RemoteException; 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.utilities.Utilities; 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. @@ -63,7 +63,8 @@ public class QuickStepController implements GestureHelper { private static final String TAG = "QuickStepController"; 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; @@ -76,6 +77,7 @@ public class QuickStepController implements GestureHelper { private boolean mIsVertical; private boolean mIsRTL; private float mTrackAlpha; + private float mTrackScale = TRACK_SCALE; private int mLightTrackColor; private int mDarkTrackColor; private float mDarkIntensity; @@ -85,7 +87,7 @@ public class QuickStepController implements GestureHelper { private final Handler mHandler = new Handler(); private final Rect mTrackRect = new Rect(); - private final Paint mTrackPaint = new Paint(); + private final Drawable mTrackDrawable; private final OverviewProxyService mOverviewEventSender; private final int mTrackThickness; 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 = new FloatProperty<QuickStepController>("NavBarAlpha") { @Override @@ -139,7 +155,7 @@ public class QuickStepController implements GestureHelper { mOverviewEventSender = Dependency.get(OverviewProxyService.class); mTrackThickness = res.getDimensionPixelSize(R.dimen.nav_quick_scrub_track_thickness); 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) { @@ -296,9 +312,17 @@ public class QuickStepController implements GestureHelper { } int color = (int) mTrackColorEvaluator.evaluate(mDarkIntensity, mLightTrackColor, mDarkTrackColor); - mTrackPaint.setColor(color); - mTrackPaint.setAlpha((int) (mTrackPaint.getAlpha() * mTrackAlpha)); - canvas.drawRect(mTrackRect, mTrackPaint); + int colorAlpha = ColorUtils.setAlphaComponent(color, + (int) (Color.alpha(color) * mTrackAlpha)); + 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 @@ -322,6 +346,7 @@ public class QuickStepController implements GestureHelper { x2 = x1 + width - 2 * mTrackEndPadding; } mTrackRect.set(x1, y1, x2, y2); + mTrackDrawable.setBounds(mTrackRect); } @Override @@ -387,7 +412,9 @@ public class QuickStepController implements GestureHelper { mLightTrackColor = mContext.getColor(R.color.quick_step_track_background_light); 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.setDuration(ANIM_IN_DURATION_MS); ObjectAnimator navBarAnimator = ObjectAnimator.ofFloat(this, mNavBarAlphaProperty, 0f); @@ -438,7 +465,9 @@ public class QuickStepController implements GestureHelper { 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.setDuration(ANIM_OUT_DURATION_MS); ObjectAnimator navBarAnimator = ObjectAnimator.ofFloat(this, mNavBarAlphaProperty, 1f); |