How do I update the UI from Android WorkManager.
Android Workmanager can receive Boolean, Integer, Long, Float, Double, String
Documentation says:
First of all, WorkManager is an API for deferrable background work. If you are expecting to have the app in the foreground to display updates, it maybe the wrong API. WorkManager documentation covers this.
Second, androidx.work.Data documentation states:
This is a lightweight container, and should not be considered your data store. As such, there is an enforced
MAX_DATA_BYTESlimit on the serialized (byte array) size of the payloads. This class will throwIllegalStateExceptionsif you try to serialize or deserialize past this limit.
As WorkManager is part of Android Architecture Components a good solution is to use LiveData to pass status updates between the background job and the (eventually in foreground) UI.
This is shown in the WorkManager codelab.
Step 8. Tag and Display Work Status, covers this point.