diff options
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java index 1d4cfdc88ad5..a89cf37e2d06 100644 --- a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java +++ b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java @@ -60,6 +60,7 @@ import androidx.lifecycle.OnLifecycleEvent; import com.android.internal.R; import com.android.internal.util.ArrayUtils; import com.android.settingslib.Utils; +import com.android.settingslib.utils.ThreadUtils; import java.io.File; import java.io.IOException; @@ -1588,6 +1589,15 @@ public class ApplicationsState { this.size = SIZE_UNKNOWN; this.sizeStale = true; ensureLabel(context); + // Speed up the cache of the icon and label description if they haven't been created. + ThreadUtils.postOnBackgroundThread(() -> { + if (this.icon == null) { + this.ensureIconLocked(context); + } + if (this.labelDescription == null) { + this.ensureLabelDescriptionLocked(context); + } + }); } public void ensureLabel(Context context) { |