From 571e12da665d24ab9a6d26af39432591e7f84f08 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Wed, 14 Jun 2017 11:02:27 -0700 Subject: [PATCH] Fixing FLAG_PROVIDER_NOT_READY not being cleared in LoaderTask If a widget is installed, the provider is always ready. The flag was not being cleared all the time (similar to PackageUpdatedTask). Bug: 62496671 Change-Id: Ia1c0cb3b312a20ed6451baeccb632a5e5f0e3edc --- src/com/android/launcher3/model/LoaderTask.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher3/model/LoaderTask.java b/src/com/android/launcher3/model/LoaderTask.java index b24d68251a..bb2d0b6af9 100644 --- a/src/com/android/launcher3/model/LoaderTask.java +++ b/src/com/android/launcher3/model/LoaderTask.java @@ -576,7 +576,8 @@ public class LoaderTask implements Runnable { // available or not available. We do not need to track // any future restore updates. int status = c.restoreFlag & - ~LauncherAppWidgetInfo.FLAG_RESTORE_STARTED; + ~LauncherAppWidgetInfo.FLAG_RESTORE_STARTED & + ~LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY; if (!wasProviderReady) { // If provider was not previously ready, update the // status and UI flag. @@ -584,9 +585,6 @@ public class LoaderTask implements Runnable { // Id would be valid only if the widget restore broadcast was received. if (isIdValid) { status |= LauncherAppWidgetInfo.FLAG_UI_NOT_READY; - } else { - status &= ~LauncherAppWidgetInfo - .FLAG_PROVIDER_NOT_READY; } } appWidgetInfo.restoreStatus = status;