summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res/drawable-hdpi/qs_scrubber_track.9.pngbin0 -> 365 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/qs_scrubber_track.9.pngbin0 -> 223 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/qs_scrubber_track.9.pngbin0 -> 386 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxhdpi/qs_scrubber_track.9.pngbin0 -> 685 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxxhdpi/qs_scrubber_track.9.pngbin0 -> 747 bytes
-rw-r--r--packages/SystemUI/res/values/colors.xml2
-rw-r--r--packages/SystemUI/res/values/dimens.xml2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java51
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
new file mode 100644
index 000000000000..0899d3515f1b
--- /dev/null
+++ b/packages/SystemUI/res/drawable-hdpi/qs_scrubber_track.9.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/qs_scrubber_track.9.png b/packages/SystemUI/res/drawable-mdpi/qs_scrubber_track.9.png
new file mode 100644
index 000000000000..22664496db76
--- /dev/null
+++ b/packages/SystemUI/res/drawable-mdpi/qs_scrubber_track.9.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/qs_scrubber_track.9.png b/packages/SystemUI/res/drawable-xhdpi/qs_scrubber_track.9.png
new file mode 100644
index 000000000000..3328add435fb
--- /dev/null
+++ b/packages/SystemUI/res/drawable-xhdpi/qs_scrubber_track.9.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/qs_scrubber_track.9.png b/packages/SystemUI/res/drawable-xxhdpi/qs_scrubber_track.9.png
new file mode 100644
index 000000000000..ed651da88800
--- /dev/null
+++ b/packages/SystemUI/res/drawable-xxhdpi/qs_scrubber_track.9.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxxhdpi/qs_scrubber_track.9.png b/packages/SystemUI/res/drawable-xxxhdpi/qs_scrubber_track.9.png
new file mode 100644
index 000000000000..06e120239eb2
--- /dev/null
+++ b/packages/SystemUI/res/drawable-xxxhdpi/qs_scrubber_track.9.png
Binary files differ
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);