Update KQS task view layouts to new specs

The small size of the screenshots and make text look odd. Implementing new UI specs to improve this.

- Updated icon position and size
- Added some blur to the thumbnail

Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 328259439
Fixes: 328692456
Test: opened KQS in dark and light mode
Change-Id: I2b20100ddeb562291edf5f0bacbce916002eee45
This commit is contained in:
Schneider Victor-tulias
2024-03-13 14:04:02 -04:00
parent 975a0695fb
commit dba7cbae1a
6 changed files with 121 additions and 48 deletions

View File

@@ -23,6 +23,7 @@ import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
@@ -47,6 +48,8 @@ import kotlin.Unit;
*/
public class KeyboardQuickSwitchTaskView extends ConstraintLayout {
private static final float THUMBNAIL_BLUR_RADIUS = 1f;
@ColorInt private final int mBorderColor;
@Nullable private BorderAnimator mBorderAnimator;
@@ -89,10 +92,10 @@ public class KeyboardQuickSwitchTaskView extends ConstraintLayout {
@Override
protected void onFinishInflate() {
super.onFinishInflate();
mThumbnailView1 = findViewById(R.id.thumbnail1);
mThumbnailView2 = findViewById(R.id.thumbnail2);
mIcon1 = findViewById(R.id.icon1);
mIcon2 = findViewById(R.id.icon2);
mThumbnailView1 = findViewById(R.id.thumbnail_1);
mThumbnailView2 = findViewById(R.id.thumbnail_2);
mIcon1 = findViewById(R.id.icon_1);
mIcon2 = findViewById(R.id.icon_2);
mContent = findViewById(R.id.content);
Resources resources = mContext.getResources();
@@ -167,10 +170,7 @@ public class KeyboardQuickSwitchTaskView extends ConstraintLayout {
@Nullable ImageView thumbnailView,
@Nullable Task task,
@Nullable ThumbnailUpdateFunction updateFunction) {
if (thumbnailView == null) {
return;
}
if (task == null) {
if (thumbnailView == null || task == null) {
return;
}
if (updateFunction == null) {
@@ -182,19 +182,30 @@ public class KeyboardQuickSwitchTaskView extends ConstraintLayout {
}
private void applyThumbnail(
@NonNull ImageView thumbnailView, ThumbnailData thumbnailData) {
@NonNull ImageView thumbnailView,
ThumbnailData thumbnailData) {
Bitmap bm = thumbnailData == null ? null : thumbnailData.thumbnail;
thumbnailView.setVisibility(VISIBLE);
thumbnailView.setImageBitmap(bm);
if (thumbnailView.getVisibility() != VISIBLE) {
thumbnailView.setVisibility(VISIBLE);
}
thumbnailView.setImageDrawable(new BlurredBitmapDrawable(bm, THUMBNAIL_BLUR_RADIUS));
}
private void applyIcon(@Nullable ImageView iconView, @Nullable Task task) {
if (iconView == null || task == null) {
if (iconView == null || task == null || task.icon == null) {
return;
}
iconView.setVisibility(VISIBLE);
iconView.setImageDrawable(task.icon);
Drawable.ConstantState constantState = task.icon.getConstantState();
if (constantState == null) {
return;
}
if (iconView.getVisibility() != VISIBLE) {
iconView.setVisibility(VISIBLE);
}
// Use the bitmap directly since the drawable's scale can change
iconView.setImageDrawable(
constantState.newDrawable(getResources(), getContext().getTheme()));
}
protected interface ThumbnailUpdateFunction {