Changes to how we notify widget restore participants of new ids
As part of widget restore, we need to notify participants (hosts & providers) of the mapping between ancestral and new widget ids. Prior to this change, this was done at the end of system restore and after each restore-at-install of unbundled apps. There were two issues with this: 1) We would try to notify not-yet-installed participants at the end of system restore and then *not* try again when they were installed. 2) We relied on PACKAGE_ADDED broadcasts to know which participants were installed, but these are delivered asynchronously and not guaranteed to be processed before the restoreFinished call. After this change, we: 1) Only notify participants that are actually installed 2) Use receipt of the PACKAGE_ADDED / CHANGED broadcast to trigger notification of any restore participants that are added or changed *after* system restore completes. 2 is safe because by the time PackageManager sends the package added / changed broadcasts, the app data restore has been completed, and the app has been killed if needed. Bug: 162057170 Test: Manual restore of Keep widget via cloud and d2d Change-Id: I51dec33d09b62faba6d7c7daacd718a3c0682f7d
Loading
Please register or sign in to comment