Merge "Change taskbar edu size to wrap around icons" into tm-qpr-dev

This commit is contained in:
Thales Lima
2022-10-05 09:39:46 +00:00
committed by Android (Google) Code Review
3 changed files with 25 additions and 0 deletions

View File

@@ -268,6 +268,7 @@
<dimen name="taskbar_stashed_handle_height">4dp</dimen>
<dimen name="taskbar_edu_wave_anim_trans_y">25dp</dimen>
<dimen name="taskbar_edu_wave_anim_trans_y_return_overshoot">4dp</dimen>
<dimen name="taskbar_edu_horizontal_margin">112dp</dimen>
<dimen name="taskbar_nav_buttons_width_kids">88dp</dimen>
<dimen name="taskbar_nav_buttons_height_kids">40dp</dimen>
<dimen name="taskbar_nav_buttons_corner_radius_kids">40dp</dimen>

View File

@@ -220,5 +220,9 @@ public class TaskbarEduController implements TaskbarControllers.LoggableTaskbarC
v -> mTaskbarEduView.snapToPage(currentPage + 1));
}
}
int getIconLayoutBoundsWidth() {
return mControllers.taskbarViewController.getIconLayoutBounds().width();
}
}
}

View File

@@ -39,6 +39,9 @@ public class TaskbarEduView extends AbstractSlideInView<TaskbarActivityContext>
private final Rect mInsets = new Rect();
// Initialized in init.
private TaskbarEduController.TaskbarEduCallbacks mTaskbarEduCallbacks;
private Button mStartButton;
private Button mEndButton;
private TaskbarEduPagedView mPagedView;
@@ -56,6 +59,7 @@ public class TaskbarEduView extends AbstractSlideInView<TaskbarActivityContext>
if (mPagedView != null) {
mPagedView.setControllerCallbacks(callbacks);
}
mTaskbarEduCallbacks = callbacks;
}
@Override
@@ -101,6 +105,22 @@ public class TaskbarEduView extends AbstractSlideInView<TaskbarActivityContext>
Settings.Secure.LAUNCHER_TASKBAR_EDUCATION_SHOWING, 0);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int contentWidth = Math.min(getContentAreaWidth(), getMeasuredWidth());
contentWidth = Math.max(contentWidth, mTaskbarEduCallbacks.getIconLayoutBoundsWidth());
int contentAreaWidthSpec = MeasureSpec.makeMeasureSpec(contentWidth, MeasureSpec.EXACTLY);
mContent.measure(contentAreaWidthSpec, MeasureSpec.UNSPECIFIED);
}
private int getContentAreaWidth() {
return mTaskbarEduCallbacks.getIconLayoutBoundsWidth()
+ getResources().getDimensionPixelSize(R.dimen.taskbar_edu_horizontal_margin) * 2;
}
/** Show the Education flow. */
public void show() {
attachToContainer();