Merge "Overlap insets with item margins" into ub-launcher3-qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d9c0fe130b
@@ -25,6 +25,6 @@
|
||||
|
||||
<dimen name="clear_all_item_view_height">48dp</dimen>
|
||||
<dimen name="clear_all_item_view_top_margin">28dp</dimen>
|
||||
<dimen name="clear_all_item_view_landscape_bottom_margin">28dp</dimen>
|
||||
<dimen name="clear_all_item_view_bottom_margin">28dp</dimen>
|
||||
<dimen name="clear_all_button_width">140dp</dimen>
|
||||
</resources>
|
||||
@@ -25,6 +25,6 @@
|
||||
|
||||
<dimen name="clear_all_item_view_height">36dp</dimen>
|
||||
<dimen name="clear_all_item_view_top_margin">20dp</dimen>
|
||||
<dimen name="clear_all_item_view_landscape_bottom_margin">20dp</dimen>
|
||||
<dimen name="clear_all_item_view_bottom_margin">20dp</dimen>
|
||||
<dimen name="clear_all_button_width">106dp</dimen>
|
||||
</resources>
|
||||
@@ -16,7 +16,6 @@
|
||||
package com.android.quickstep.views;
|
||||
|
||||
import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
|
||||
import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
|
||||
|
||||
import static androidx.recyclerview.widget.LinearLayoutManager.VERTICAL;
|
||||
|
||||
@@ -32,7 +31,6 @@ import android.animation.ObjectAnimator;
|
||||
import android.animation.PropertyValuesHolder;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Rect;
|
||||
import android.util.ArraySet;
|
||||
@@ -125,6 +123,7 @@ public final class IconRecentsView extends FrameLayout implements Insettable {
|
||||
private boolean mTransitionedFromApp;
|
||||
private AnimatorSet mLayoutAnimation;
|
||||
private final ArraySet<View> mLayingOutViews = new ArraySet<>();
|
||||
private Rect mInsets;
|
||||
private final RecentsModel.TaskThumbnailChangeListener listener = (taskId, thumbnailData) -> {
|
||||
ArrayList<TaskItemView> itemViews = getTaskViews();
|
||||
for (int i = 0, size = itemViews.size(); i < size; i++) {
|
||||
@@ -194,13 +193,25 @@ public final class IconRecentsView extends FrameLayout implements Insettable {
|
||||
case ITEM_TYPE_CLEAR_ALL:
|
||||
outRect.top = (int) res.getDimension(
|
||||
R.dimen.clear_all_item_view_top_margin);
|
||||
if (res.getConfiguration().orientation == ORIENTATION_LANDSCAPE) {
|
||||
outRect.bottom = (int) res.getDimension(
|
||||
R.dimen.clear_all_item_view_landscape_bottom_margin);
|
||||
int desiredBottomMargin = (int) res.getDimension(
|
||||
R.dimen.clear_all_item_view_bottom_margin);
|
||||
// Only add bottom margin if insets aren't enough.
|
||||
if (mInsets.bottom < desiredBottomMargin) {
|
||||
outRect.bottom = desiredBottomMargin - mInsets.bottom;
|
||||
}
|
||||
break;
|
||||
case ITEM_TYPE_TASK:
|
||||
outRect.top = (int) res.getDimension(R.dimen.task_item_top_margin);
|
||||
int desiredTopMargin = (int) res.getDimension(
|
||||
R.dimen.task_item_top_margin);
|
||||
if (mTaskRecyclerView.getChildAdapterPosition(view) ==
|
||||
state.getItemCount() - 1) {
|
||||
// Only add top margin to top task view if insets aren't enough.
|
||||
if (mInsets.top < desiredTopMargin) {
|
||||
outRect.top = desiredTopMargin - mInsets.bottom;
|
||||
}
|
||||
return;
|
||||
}
|
||||
outRect.top = desiredTopMargin;
|
||||
break;
|
||||
default:
|
||||
}
|
||||
@@ -233,11 +244,6 @@ public final class IconRecentsView extends FrameLayout implements Insettable {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onConfigurationChanged(Configuration newConfig) {
|
||||
mTaskRecyclerView.invalidateItemDecorations();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set activity helper for the view to callback to.
|
||||
*
|
||||
@@ -522,6 +528,8 @@ public final class IconRecentsView extends FrameLayout implements Insettable {
|
||||
|
||||
@Override
|
||||
public void setInsets(Rect insets) {
|
||||
mInsets = insets;
|
||||
mTaskRecyclerView.setPadding(insets.left, insets.top, insets.right, insets.bottom);
|
||||
mTaskRecyclerView.invalidateItemDecorations();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user