Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b6b5095 authored by Brian Isganitis's avatar Brian Isganitis Committed by Automerger Merge Worker
Browse files

Merge "Revert "Merge "Revert "Use wallpaper colors for widgets in wallpaper...

Merge "Revert "Merge "Revert "Use wallpaper colors for widgets in wallpaper change preview"" into sc-dev"" into sc-dev am: d9d52523

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15332433

Change-Id: I013d166df8109585b5b1ea484ce831e337421b3c
parents 56cc5f0a d9d52523
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -573,4 +573,26 @@
            column="42"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 31 (current min is 26): `android.appwidget.AppWidgetHostView#setColorResources`"
        errorLine1="            view.setColorResources(mWallpaperColorResources);"
        errorLine2="                 ~~~~~~~~~~~~~~~~~">
        <location
            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java"
            line="381"
            column="18"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 27 (current min is 26): `android.app.WallpaperManager#getWallpaperColors`"
        errorLine1="                    : WallpaperManager.getInstance(context).getWallpaperColors(FLAG_SYSTEM);"
        errorLine2="                                                            ~~~~~~~~~~~~~~~~~~">
        <location
            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java"
            line="270"
            column="61"/>
    </issue>

</issues>
+25 −1
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
 */
package com.android.launcher3.graphics;

import static android.app.WallpaperManager.FLAG_SYSTEM;
import static android.view.View.MeasureSpec.EXACTLY;
import static android.view.View.MeasureSpec.makeMeasureSpec;
import static android.view.View.VISIBLE;
@@ -26,6 +27,8 @@ import static com.android.launcher3.model.ModelUtils.sortWorkspaceItemsSpatially

import android.annotation.TargetApi;
import android.app.Fragment;
import android.app.WallpaperColors;
import android.app.WallpaperManager;
import android.appwidget.AppWidgetHostView;
import android.appwidget.AppWidgetProviderInfo;
import android.content.Context;
@@ -41,6 +44,7 @@ import android.os.Handler;
import android.os.Looper;
import android.os.Process;
import android.util.AttributeSet;
import android.util.SparseIntArray;
import android.view.ContextThemeWrapper;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -84,6 +88,7 @@ import com.android.launcher3.util.MainThreadInitializedObject;
import com.android.launcher3.views.ActivityContext;
import com.android.launcher3.views.BaseDragLayer;
import com.android.launcher3.widget.LauncherAppWidgetProviderInfo;
import com.android.launcher3.widget.LocalColorExtractor;
import com.android.launcher3.widget.custom.CustomWidgetManager;

import java.util.ArrayList;
@@ -201,8 +206,12 @@ public class LauncherPreviewRenderer extends ContextWrapper
    private final InsettableFrameLayout mRootView;
    private final Hotseat mHotseat;
    private final CellLayout mWorkspace;
    private final SparseIntArray mWallpaperColorResources;

    public LauncherPreviewRenderer(Context context,
            InvariantDeviceProfile idp,
            WallpaperColors wallpaperColorsOverride) {

    public LauncherPreviewRenderer(Context context, InvariantDeviceProfile idp) {
        super(context);
        mUiHandler = new Handler(Looper.getMainLooper());
        mContext = context;
@@ -254,6 +263,16 @@ public class LauncherPreviewRenderer extends ContextWrapper
                mDp.workspacePadding.top,
                mDp.workspacePadding.right + mDp.cellLayoutPaddingLeftRightPx,
                mDp.workspacePadding.bottom);

        if (Utilities.ATLEAST_S) {
            WallpaperColors wallpaperColors = wallpaperColorsOverride != null
                    ? wallpaperColorsOverride
                    : WallpaperManager.getInstance(context).getWallpaperColors(FLAG_SYSTEM);
            mWallpaperColorResources = LocalColorExtractor.newInstance(context)
                    .generateColorsOverride(wallpaperColors);
        } else {
            mWallpaperColorResources = null;
        }
    }

    /** Populate preview and render it. */
@@ -357,6 +376,11 @@ public class LauncherPreviewRenderer extends ContextWrapper
        view.setAppWidget(-1, providerInfo);
        view.updateAppWidget(null);
        view.setTag(info);

        if (mWallpaperColorResources != null) {
            view.setColorResources(mWallpaperColorResources);
        }

        addInScreenFromBind(view, info);
    }

+1 −1
Original line number Diff line number Diff line
@@ -209,7 +209,7 @@ public class PreviewSurfaceRenderer {
        if (mDestroyed) {
            return;
        }
        View view = new LauncherPreviewRenderer(inflationContext, mIdp)
        View view = new LauncherPreviewRenderer(inflationContext, mIdp, mWallpaperColors)
                .getRenderedView(dataModel, widgetProviderInfoMap);
        // This aspect scales the view to fit in the surface and centers it
        final float scale = Math.min(mWidth / (float) view.getMeasuredWidth(),
+8 −0
Original line number Diff line number Diff line
@@ -75,6 +75,14 @@ public class LocalColorExtractor implements ResourceBasedOverride {
     */
    public void applyColorsOverride(Context base, WallpaperColors colors) { }

    /**
     * Generates color resource overrides from {@link WallpaperColors}.
     */
    @Nullable
    public SparseIntArray generateColorsOverride(WallpaperColors colors) {
        return null;
    }

    /**
     * Takes a view and returns its rect that can be used by the wallpaper local color extractor.
     *