Move Wallpaper RPC call to background thread.
Bug: 251502424
Test: Used logs to time it. This was taking anywhere from 3ms to 19ms on my Pixel 7 Pro device.
Change-Id: I4e9ce55c1269a31f15e910628153c3dfdfd26649
diff --git a/src/com/android/launcher3/BaseDraggingActivity.java b/src/com/android/launcher3/BaseDraggingActivity.java
index 6f3e948..45b03c2 100644
--- a/src/com/android/launcher3/BaseDraggingActivity.java
+++ b/src/com/android/launcher3/BaseDraggingActivity.java
@@ -18,6 +18,7 @@
import static com.android.launcher3.util.DisplayController.CHANGE_ROTATION;
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
+import static com.android.launcher3.util.Executors.THREAD_POOL_EXECUTOR;
import android.app.WallpaperColors;
import android.app.WallpaperManager;
@@ -76,8 +77,8 @@
// Update theme
if (Utilities.ATLEAST_P) {
- getSystemService(WallpaperManager.class)
- .addOnColorsChangedListener(this, MAIN_EXECUTOR.getHandler());
+ THREAD_POOL_EXECUTOR.execute(() -> getSystemService(WallpaperManager.class)
+ .addOnColorsChangedListener(this, MAIN_EXECUTOR.getHandler()));
}
int themeRes = Themes.getActivityThemeRes(this);
if (themeRes != mThemeRes) {