summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/dragndrop/DragLayer.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2018-05-08 11:10:44 -0700
committerSunny Goyal <sunnygoyal@google.com>2018-05-10 10:52:31 -0700
commit5d1873a812297ad207df1f068a987d2dd84a9888 (patch)
treebbb36b3a873efda677193ab97a2be74cd108ff18 /src/com/android/launcher3/dragndrop/DragLayer.java
parent522e388b17c5071bd6fdaecdf43390aa725e7cac (diff)
downloadpackages_apps_Trebuchet-5d1873a812297ad207df1f068a987d2dd84a9888.tar.gz
packages_apps_Trebuchet-5d1873a812297ad207df1f068a987d2dd84a9888.tar.bz2
packages_apps_Trebuchet-5d1873a812297ad207df1f068a987d2dd84a9888.zip
Removing scrim overdraw
> Moving all the scrims to draglayer to avoid creating multiple layers during various animations > Removing sys-ui scrim in various states which alread have a background scrim Bug: 74556464 Bug: 78585335 Change-Id: I8a3fd34ed440f3c7d2e19b3cdb4b72723c535602
Diffstat (limited to 'src/com/android/launcher3/dragndrop/DragLayer.java')
-rw-r--r--src/com/android/launcher3/dragndrop/DragLayer.java30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java
index 8519365e7..aad1e5a54 100644
--- a/src/com/android/launcher3/dragndrop/DragLayer.java
+++ b/src/com/android/launcher3/dragndrop/DragLayer.java
@@ -27,6 +27,8 @@ import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
+import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.MotionEvent;
@@ -42,10 +44,12 @@ import com.android.launcher3.DropTargetBar;
import com.android.launcher3.Launcher;
import com.android.launcher3.R;
import com.android.launcher3.ShortcutAndWidgetContainer;
+import com.android.launcher3.Workspace;
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.graphics.WorkspaceAndHotseatScrim;
import com.android.launcher3.keyboard.ViewGroupFocusHelper;
import com.android.launcher3.uioverrides.UiFactory;
import com.android.launcher3.util.Thunk;
@@ -77,6 +81,7 @@ public class DragLayer extends BaseDragLayer<Launcher> {
// Related to adjacent page hints
private final ViewGroupFocusHelper mFocusIndicatorHelper;
+ private final WorkspaceAndHotseatScrim mScrim;
/**
* Used to create a new DragLayer from XML.
@@ -92,10 +97,16 @@ public class DragLayer extends BaseDragLayer<Launcher> {
setChildrenDrawingOrderEnabled(true);
mFocusIndicatorHelper = new ViewGroupFocusHelper(this);
+ mScrim = new WorkspaceAndHotseatScrim(this);
}
- public void setup(DragController dragController) {
+ public void setup(DragController dragController, Workspace workspace) {
mDragController = dragController;
+ mScrim.setWorkspace(workspace);
+ recreateControllers();
+ }
+
+ public void recreateControllers() {
mControllers = UiFactory.createTouchControllers(mActivity);
}
@@ -542,7 +553,24 @@ public class DragLayer extends BaseDragLayer<Launcher> {
@Override
protected void dispatchDraw(Canvas canvas) {
// Draw the background below children.
+ mScrim.draw(canvas);
mFocusIndicatorHelper.draw(canvas);
super.dispatchDraw(canvas);
}
+
+ @Override
+ protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+ super.onSizeChanged(w, h, oldw, oldh);
+ mScrim.setSize(w, h);
+ }
+
+ @Override
+ public void setInsets(Rect insets) {
+ super.setInsets(insets);
+ mScrim.onInsetsChanged(insets);
+ }
+
+ public WorkspaceAndHotseatScrim getScrim() {
+ return mScrim;
+ }
}