feat : re-impliment AccentColorExtractor

- closes : #5243
This commit is contained in:
MrSluffy
2025-02-12 19:08:37 +08:00
parent da5edb9015
commit 210a4b564c
6 changed files with 69 additions and 10 deletions
@@ -32,7 +32,7 @@ import com.android.launcher3.util.Executors;
/**
* Launcher AppWidgetHostView with support for rounded corners and a fallback View.
*/
public abstract class BaseLauncherAppWidgetHostView extends NavigableAppWidgetHostView {
public abstract class BaseLauncherAppWidgetHostView extends NavigableAppWidgetHostView implements LocalColorExtractor.Listener {
private static final ViewOutlineProvider VIEW_OUTLINE_PROVIDER = new ViewOutlineProvider() {
@Override
@@ -61,6 +61,7 @@ public abstract class BaseLauncherAppWidgetHostView extends NavigableAppWidgetHo
};
private boolean mIsCornerRadiusEnforced;
private final LocalColorExtractor mColorExtractor;
public BaseLauncherAppWidgetHostView(Context context) {
super(context);
@@ -70,6 +71,7 @@ public abstract class BaseLauncherAppWidgetHostView extends NavigableAppWidgetHo
mInflater = LayoutInflater.from(context);
mEnforcedCornerRadius = RoundedCornerEnforcement.computeEnforcedRadius(getContext());
mColorExtractor = LocalColorExtractor.newInstance(getContext());
}
@Override
@@ -85,6 +87,18 @@ public abstract class BaseLauncherAppWidgetHostView extends NavigableAppWidgetHo
updateAppWidget(new RemoteViews(getAppWidgetInfo().provider.getPackageName(), 0));
}
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
mColorExtractor.setListener(this);
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
mColorExtractor.setListener(null);
}
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
try {