feat: Add option to clear home screen in settings (#6125)
Signed-off-by: abhixv <abhi.sharma1@hotmail.com>
This commit is contained in:
committed by
Pun Butrach
parent
9898749619
commit
5f3a03f4fb
@@ -18,6 +18,7 @@ package com.android.launcher3.taskbar;
|
||||
import static android.view.KeyEvent.ACTION_UP;
|
||||
import static android.view.KeyEvent.KEYCODE_BACK;
|
||||
|
||||
import static com.android.launcher3.Flags.enableScalingRevealHomeAnimation;
|
||||
import static com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NAVBAR_UNIFICATION;
|
||||
|
||||
import android.content.Context;
|
||||
@@ -42,6 +43,7 @@ import com.android.launcher3.AbstractFloatingView;
|
||||
import com.android.launcher3.Utilities;
|
||||
import com.android.launcher3.testing.TestLogging;
|
||||
import com.android.launcher3.testing.shared.TestProtocol;
|
||||
import com.android.launcher3.util.DisplayController;
|
||||
import com.android.launcher3.util.MultiPropertyFactory;
|
||||
import com.android.launcher3.util.MultiPropertyFactory.MultiProperty;
|
||||
import com.android.launcher3.views.BaseDragLayer;
|
||||
@@ -100,16 +102,20 @@ public class TaskbarDragLayer extends BaseDragLayer<TaskbarActivityContext> {
|
||||
public TaskbarDragLayer(@NonNull Context context, @Nullable AttributeSet attrs,
|
||||
int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, 1 /* alphaChannelCount */);
|
||||
mBackgroundRenderer = new TaskbarBackgroundRenderer(mContainer);
|
||||
mBackgroundRenderer = new TaskbarBackgroundRenderer(mActivity);
|
||||
|
||||
mTaskbarBackgroundAlpha = new MultiPropertyFactory<>(this, BG_ALPHA, INDEX_COUNT,
|
||||
(a, b) -> a * b, 1f);
|
||||
mTaskbarBackgroundAlpha.get(INDEX_ALL_OTHER_STATES).setValue(0);
|
||||
mTaskbarBackgroundAlpha.get(INDEX_STASH_ANIM).setValue(
|
||||
enableScalingRevealHomeAnimation() && DisplayController.isTransientTaskbar(context)
|
||||
? 0
|
||||
: 1);
|
||||
}
|
||||
|
||||
public void init(TaskbarDragLayerController.TaskbarDragLayerCallbacks callbacks) {
|
||||
mControllerCallbacks = callbacks;
|
||||
mBackgroundRenderer.updateStashedHandleWidth(mContainer, getResources());
|
||||
mBackgroundRenderer.updateStashedHandleWidth(mActivity, getResources());
|
||||
recreateControllers();
|
||||
}
|
||||
|
||||
@@ -191,7 +197,6 @@ public class TaskbarDragLayer extends BaseDragLayer<TaskbarActivityContext> {
|
||||
|
||||
@Override
|
||||
protected void dispatchDraw(Canvas canvas) {
|
||||
if (mContainer.isDestroyed()) return;
|
||||
float backgroundHeight = mControllerCallbacks.getTaskbarBackgroundHeight()
|
||||
* (1f - mTaskbarBackgroundOffset);
|
||||
mBackgroundRenderer.setBackgroundHeight(backgroundHeight);
|
||||
@@ -260,11 +265,6 @@ public class TaskbarDragLayer extends BaseDragLayer<TaskbarActivityContext> {
|
||||
invalidate();
|
||||
}
|
||||
|
||||
protected void setBackgroundTranslationXForBubbleBar(float translationX) {
|
||||
mBackgroundRenderer.setTranslationXForBubbleBar(translationX);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
/** Returns the bounds in DragLayer coordinates of where the transient background was drawn. */
|
||||
protected RectF getLastDrawnTransientRect() {
|
||||
return mBackgroundRenderer.getLastDrawnTransientRect();
|
||||
@@ -273,7 +273,6 @@ public class TaskbarDragLayer extends BaseDragLayer<TaskbarActivityContext> {
|
||||
@Override
|
||||
public boolean dispatchTouchEvent(MotionEvent ev) {
|
||||
TestLogging.recordMotionEvent(TestProtocol.SEQUENCE_MAIN, "Touch event", ev);
|
||||
mControllerCallbacks.onDispatchTouchEvent(ev);
|
||||
return super.dispatchTouchEvent(ev);
|
||||
}
|
||||
|
||||
@@ -281,7 +280,7 @@ public class TaskbarDragLayer extends BaseDragLayer<TaskbarActivityContext> {
|
||||
@Override
|
||||
public boolean dispatchKeyEvent(KeyEvent event) {
|
||||
if (event.getAction() == ACTION_UP && event.getKeyCode() == KEYCODE_BACK) {
|
||||
AbstractFloatingView topView = AbstractFloatingView.getTopOpenView(mContainer);
|
||||
AbstractFloatingView topView = AbstractFloatingView.getTopOpenView(mActivity);
|
||||
if (topView != null && topView.canHandleBack()) {
|
||||
topView.onBackInvoked();
|
||||
// Handled by the floating view.
|
||||
@@ -291,21 +290,6 @@ public class TaskbarDragLayer extends BaseDragLayer<TaskbarActivityContext> {
|
||||
return super.dispatchKeyEvent(event);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets animation boolean when only animating persistent taskbar.
|
||||
*/
|
||||
public void setIsAnimatingPersistentTaskbarBackground(boolean animatingPersistentTaskbarBg) {
|
||||
mBackgroundRenderer.setAnimatingPersistentTaskbar(animatingPersistentTaskbarBg);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets animation boolean when only animating transient taskbar.
|
||||
*/
|
||||
public void setIsAnimatingTransientTaskbarBackground(boolean animatingTransientTaskbarBg) {
|
||||
mBackgroundRenderer.setAnimatingTransientTaskbar(animatingTransientTaskbarBg);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the width percentage to inset the transient taskbar's background from the left and from
|
||||
* the right.
|
||||
|
||||
Reference in New Issue
Block a user