Snap for 7183507 from 7fc91c94fc8dd07ed6691eb608e84d4c2e1e8342 to sdk-release

Change-Id: Ic72e87cceea08c34f1662664f7405552235f3910
diff --git a/robolectric_tests/Android.mk b/robolectric_tests/Android.mk
index b879418..1117cc3 100644
--- a/robolectric_tests/Android.mk
+++ b/robolectric_tests/Android.mk
@@ -19,6 +19,8 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := ThemePickerRoboTests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_SDK_VERSION := system_current
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 LOCAL_STATIC_JAVA_LIBRARIES := \
@@ -42,6 +44,8 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := RunThemePickerRoboTests
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_SDK_VERSION := system_current
 LOCAL_JAVA_LIBRARIES := \
     ThemePickerRoboTests
diff --git a/src/com/android/customization/picker/WallpaperPreviewer.java b/src/com/android/customization/picker/WallpaperPreviewer.java
index 21ec51d..50010c5 100644
--- a/src/com/android/customization/picker/WallpaperPreviewer.java
+++ b/src/com/android/customization/picker/WallpaperPreviewer.java
@@ -148,34 +148,36 @@
     private void setUpWallpaperPreview() {
         ImageView homeImageWallpaper = mWallpaperSurfaceCallback.getHomeImageWallpaper();
         if (mWallpaper != null && homeImageWallpaper != null) {
-            boolean renderInImageWallpaperSurface = !(mWallpaper instanceof LiveWallpaperInfo);
-            mWallpaper.getThumbAsset(mActivity.getApplicationContext())
-                    .loadPreviewImage(mActivity,
-                            renderInImageWallpaperSurface ? homeImageWallpaper : mHomePreview,
-                            mActivity.getResources().getColor(R.color.secondary_color));
-            LiveTileOverlay.INSTANCE.detach(mHomePreview.getOverlay());
-            if (mWallpaper instanceof LiveWallpaperInfo) {
+            homeImageWallpaper.post(() -> {
+                boolean renderInImageWallpaperSurface = !(mWallpaper instanceof LiveWallpaperInfo);
                 mWallpaper.getThumbAsset(mActivity.getApplicationContext())
-                        .loadPreviewImage(
-                                mActivity,
-                                homeImageWallpaper,
-                                mActivity.getColor(R.color.secondary_color));
-                setUpLiveWallpaperPreview(mWallpaper);
-            } else {
-                // Ensure live wallpaper connection is disconnected.
-                if (mWallpaperConnection != null) {
-                    mWallpaperConnection.disconnect();
-                    mWallpaperConnection = null;
-                }
+                        .loadPreviewImage(mActivity,
+                                renderInImageWallpaperSurface ? homeImageWallpaper : mHomePreview,
+                                mActivity.getResources().getColor(R.color.secondary_color));
+                LiveTileOverlay.INSTANCE.detach(mHomePreview.getOverlay());
+                if (mWallpaper instanceof LiveWallpaperInfo) {
+                    mWallpaper.getThumbAsset(mActivity.getApplicationContext())
+                            .loadPreviewImage(
+                                    mActivity,
+                                    homeImageWallpaper,
+                                    mActivity.getColor(R.color.secondary_color));
+                    setUpLiveWallpaperPreview(mWallpaper);
+                } else {
+                    // Ensure live wallpaper connection is disconnected.
+                    if (mWallpaperConnection != null) {
+                        mWallpaperConnection.disconnect();
+                        mWallpaperConnection = null;
+                    }
 
-                // Load wallpaper color for static wallpaper.
-                if (mWallpaperColorsListener != null) {
-                    WallpaperColorsLoader.getWallpaperColors(
-                            mActivity,
-                            mWallpaper.getThumbAsset(mActivity),
-                            mWallpaperColorsListener::onWallpaperColorsChanged);
+                    // Load wallpaper color for static wallpaper.
+                    if (mWallpaperColorsListener != null) {
+                        WallpaperColorsLoader.getWallpaperColors(
+                                mActivity,
+                                mWallpaper.getThumbAsset(mActivity),
+                                mWallpaperColorsListener::onWallpaperColorsChanged);
+                    }
                 }
-            }
+            });
         }
     }