mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 03:08:19 +00:00
Merge "Refresh thumbnail splash when task icon changes." into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f5f3a80959
@@ -355,6 +355,12 @@ public class GroupedTaskView extends TaskView {
|
||||
mSnapshotView2.setSplashAlpha(mTaskThumbnailSplashAlpha);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void refreshTaskThumbnailSplash() {
|
||||
super.refreshTaskThumbnailSplash();
|
||||
mSnapshotView2.refreshSplashView();
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets visibility for thumbnails and associated elements (DWB banners).
|
||||
* IconView is unaffected.
|
||||
|
||||
@@ -92,6 +92,7 @@ public class LauncherRecentsView extends RecentsView<QuickstepLauncher, Launcher
|
||||
|
||||
@Override
|
||||
public void onTaskIconChanged(int taskId) {
|
||||
super.onTaskIconChanged(taskId);
|
||||
// If Launcher needs to return to split select state, do it now, after the icon has updated.
|
||||
if (mActivity.hasPendingSplitSelectInfo()) {
|
||||
PendingSplitSelectInfo recoveryData = mActivity.getPendingSplitSelectInfo();
|
||||
|
||||
@@ -956,6 +956,14 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTaskIconChanged(int taskId) {
|
||||
TaskView taskView = getTaskViewByTaskId(taskId);
|
||||
if (taskView != null) {
|
||||
taskView.refreshTaskThumbnailSplash();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the thumbnail of the task.
|
||||
* @param refreshNow Refresh immediately if it's true.
|
||||
|
||||
@@ -342,10 +342,11 @@ public class TaskThumbnailView extends View {
|
||||
|
||||
// Draw splash above thumbnail to hide inconsistencies in rotation and aspect ratios.
|
||||
if (shouldShowSplashView()) {
|
||||
// Always draw background for hiding inconsistencies, even if splash view is not yet
|
||||
// loaded (which can happen as task icons are loaded asynchronously in the background)
|
||||
canvas.drawRoundRect(x, y, width + 1, height + 1, cornerRadius,
|
||||
cornerRadius, mSplashBackgroundPaint);
|
||||
if (mSplashView != null) {
|
||||
canvas.drawRoundRect(x, y, width + 1, height + 1, cornerRadius,
|
||||
cornerRadius, mSplashBackgroundPaint);
|
||||
|
||||
mSplashView.layout((int) x, (int) (y + 1), (int) width, (int) height - 1);
|
||||
mSplashView.draw(canvas);
|
||||
}
|
||||
@@ -375,6 +376,13 @@ public class TaskThumbnailView extends View {
|
||||
|| isThumbnailRotationDifferentFromTask();
|
||||
}
|
||||
|
||||
protected void refreshSplashView() {
|
||||
if (mTask != null) {
|
||||
updateSplashView(mTask.icon);
|
||||
invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
private void updateSplashView(Drawable icon) {
|
||||
if (icon == null || icon.getConstantState() == null) {
|
||||
mSplashViewDrawable = null;
|
||||
|
||||
@@ -1215,6 +1215,10 @@ public class TaskView extends FrameLayout implements Reusable {
|
||||
mSnapshotView.setSplashAlpha(mTaskThumbnailSplashAlpha);
|
||||
}
|
||||
|
||||
protected void refreshTaskThumbnailSplash() {
|
||||
mSnapshotView.refreshSplashView();
|
||||
}
|
||||
|
||||
private void setSplitSelectTranslationX(float x) {
|
||||
mSplitSelectTranslationX = x;
|
||||
applyTranslationX();
|
||||
|
||||
Reference in New Issue
Block a user