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

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

Merge "Use global color extraction in widgets for wallpaper preview" into sc-v2-dev am: 9b3ef3e6

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

Change-Id: I07ae3ad96ac14aad6c4b988cee1aabd575daddae
parents ea8fa012 9b3ef3e6
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -584,4 +584,15 @@
            column="17"/>
    </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="288"
            column="61"/>
    </issue>

</issues>
+17 −12
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;
@@ -27,6 +28,7 @@ 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.AppWidgetHost;
import android.appwidget.AppWidgetHostView;
import android.appwidget.AppWidgetProviderInfo;
@@ -214,7 +216,7 @@ public class LauncherPreviewRenderer extends ContextWrapper

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

        super(context);
        mUiHandler = new Handler(Looper.getMainLooper());
@@ -280,16 +282,18 @@ public class LauncherPreviewRenderer extends ContextWrapper
                mDp.workspacePadding.bottom);
        mWorkspaceScreens.put(FIRST_SCREEN_ID, firstScreen);

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

    /** Populate preview and render it. */
@@ -405,6 +409,10 @@ public class LauncherPreviewRenderer extends ContextWrapper
            view.updateAppWidget(null);
        }

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

        view.setTag(info);
        addInScreenFromBind(view, info);
    }
@@ -537,12 +545,9 @@ public class LauncherPreviewRenderer extends ContextWrapper
        }
    }

    private class LauncherPreviewAppWidgetHostView extends BaseLauncherAppWidgetHostView {
    private static class LauncherPreviewAppWidgetHostView extends BaseLauncherAppWidgetHostView {
        private LauncherPreviewAppWidgetHostView(Context context) {
            super(context);
            if (Utilities.ATLEAST_S && mWallpaperColorResources != null) {
                setColorResources(mWallpaperColorResources);
            }
        }

        @Override