Updating the scrim and landscpae ui > Instead of views, using a custom class to draw the color scrims > All-apps has full screen UI > Quickstep does not have search box in landscape Bug: 73085356 Change-Id: I360a78a2ade0134daad29fe712796cd39a381fbb
diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java index 1cf407e..7e3335a 100644 --- a/src/com/android/launcher3/dragndrop/DragLayer.java +++ b/src/com/android/launcher3/dragndrop/DragLayer.java
@@ -27,7 +27,6 @@ import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.Rect; -import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.KeyEvent; import android.view.MotionEvent; @@ -50,6 +49,7 @@ import com.android.launcher3.anim.Interpolators; import com.android.launcher3.folder.Folder; import com.android.launcher3.folder.FolderIcon; +import com.android.launcher3.graphics.ViewScrim; import com.android.launcher3.keyboard.ViewGroupFocusHelper; import com.android.launcher3.uioverrides.UiFactory; import com.android.launcher3.util.Thunk; @@ -88,7 +88,6 @@ // Related to adjacent page hints private final ViewGroupFocusHelper mFocusIndicatorHelper; - private final PageCutOutScrimDrawable mPageCutOutScrim; protected TouchController[] mControllers; private TouchController mActiveController; @@ -106,8 +105,6 @@ setChildrenDrawingOrderEnabled(true); mFocusIndicatorHelper = new ViewGroupFocusHelper(this); - mPageCutOutScrim = new PageCutOutScrimDrawable(this); - mPageCutOutScrim.setCallback(this); } public void setup(Launcher launcher, DragController dragController) { @@ -125,11 +122,6 @@ return mDragController.dispatchKeyEvent(event) || super.dispatchKeyEvent(event); } - @Override - protected boolean verifyDrawable(Drawable who) { - return super.verifyDrawable(who) || who == mPageCutOutScrim; - } - public boolean isEventOverHotseat(MotionEvent ev) { return isEventOverView(mLauncher.getHotseat(), ev); } @@ -148,6 +140,15 @@ } @Override + protected boolean drawChild(Canvas canvas, View child, long drawingTime) { + ViewScrim scrim = ViewScrim.get(child); + if (scrim != null) { + scrim.draw(canvas, getWidth(), getHeight()); + } + return super.drawChild(canvas, child, drawingTime); + } + + @Override public boolean onInterceptTouchEvent(MotionEvent ev) { int action = ev.getAction(); @@ -536,11 +537,7 @@ final int fromX = r.left; final int fromY = r.top; child.setVisibility(INVISIBLE); - Runnable onCompleteRunnable = new Runnable() { - public void run() { - child.setVisibility(VISIBLE); - } - }; + Runnable onCompleteRunnable = () -> child.setVisibility(VISIBLE); animateViewIntoPosition(dragView, fromX, fromY, toX, toY, 1, 1, 1, toScale, toScale, onCompleteRunnable, ANIMATION_END_DISAPPEAR, duration, anchorView); } @@ -758,20 +755,9 @@ } } - public void invalidateScrim() { - if (mPageCutOutScrim.getAlpha() > 0) { - invalidate(); - } - } - - public Drawable getScrim() { - return mPageCutOutScrim; - } - @Override protected void dispatchDraw(Canvas canvas) { // Draw the background below children. - mPageCutOutScrim.draw(canvas); mFocusIndicatorHelper.draw(canvas); super.dispatchDraw(canvas); }