summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/widget/BaseWidgetSheet.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/widget/BaseWidgetSheet.java')
-rw-r--r--src/com/android/launcher3/widget/BaseWidgetSheet.java34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/com/android/launcher3/widget/BaseWidgetSheet.java b/src/com/android/launcher3/widget/BaseWidgetSheet.java
index 20c8876d2..48c18f853 100644
--- a/src/com/android/launcher3/widget/BaseWidgetSheet.java
+++ b/src/com/android/launcher3/widget/BaseWidgetSheet.java
@@ -15,6 +15,8 @@
*/
package com.android.launcher3.widget;
+import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
+
import static com.android.launcher3.logging.LoggerUtils.newContainerTarget;
import android.content.Context;
@@ -31,13 +33,16 @@ import com.android.launcher3.ItemInfo;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.dragndrop.DragOptions;
-import com.android.launcher3.graphics.ColorScrim;
import com.android.launcher3.touch.ItemLongClickListener;
+import com.android.launcher3.uioverrides.WallpaperColorInfo;
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
import com.android.launcher3.userevent.nano.LauncherLogProto.Target;
import com.android.launcher3.util.SystemUiController;
import com.android.launcher3.util.Themes;
import com.android.launcher3.views.AbstractSlideInView;
+import com.android.launcher3.views.BaseDragLayer;
+
+import androidx.core.graphics.ColorUtils;
/**
* Base class for various widgets popup
@@ -49,11 +54,11 @@ abstract class BaseWidgetSheet extends AbstractSlideInView
/* Touch handling related member variables. */
private Toast mWidgetInstructionToast;
- protected final ColorScrim mColorScrim;
+ protected final View mColorScrim;
public BaseWidgetSheet(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
- mColorScrim = ColorScrim.createExtractedColorScrim(this);
+ mColorScrim = createColorScrim(context);
}
@Override
@@ -80,9 +85,14 @@ abstract class BaseWidgetSheet extends AbstractSlideInView
return true;
}
+ protected void attachToContainer() {
+ getPopupContainer().addView(mColorScrim);
+ getPopupContainer().addView(this);
+ }
+
protected void setTranslationShift(float translationShift) {
super.setTranslationShift(translationShift);
- mColorScrim.setProgress(1 - mTranslationShift);
+ mColorScrim.setAlpha(1 - mTranslationShift);
}
private boolean beginDraggingWidget(WidgetCell v) {
@@ -115,6 +125,7 @@ abstract class BaseWidgetSheet extends AbstractSlideInView
protected void onCloseComplete() {
super.onCloseComplete();
+ getPopupContainer().removeView(mColorScrim);
clearNavBarColor();
}
@@ -148,4 +159,19 @@ abstract class BaseWidgetSheet extends AbstractSlideInView
protected SystemUiController getSystemUiController() {
return mLauncher.getSystemUiController();
}
+
+ private static View createColorScrim(Context context) {
+ View view = new View(context);
+ view.forceHasOverlappingRendering(false);
+
+ WallpaperColorInfo colors = WallpaperColorInfo.getInstance(context);
+ int alpha = context.getResources().getInteger(R.integer.extracted_color_gradient_alpha);
+ view.setBackgroundColor(ColorUtils.setAlphaComponent(colors.getSecondaryColor(), alpha));
+
+ BaseDragLayer.LayoutParams lp = new BaseDragLayer.LayoutParams(MATCH_PARENT, MATCH_PARENT);
+ lp.ignoreInsets = true;
+ view.setLayoutParams(lp);
+
+ return view;
+ }
}