Refrain from blocking main thread while handling package broadcast

AppWidgetService loads widget provider info at boot time in a background
thread while holding the synchronization lock, which is required to
ensure data integrity. However, an unfortunate-timed package braodcast
could be sent before said info are loaded, eventually causing ANR.

This CL added the logic to handle package broadcast at a different
thread to prevent the ANR.

Bug: 235681846
Test: manual
Change-Id: Iade39ed8db8d4c578f3d239a0b679f65dc295080
1 file changed