Update persistent WebView packages setting only when user changes it.
To ensure that we don't permanently change WebView implementation if the current package is temporarily uninstalled (e.g. when being replaced) we don't update our persistent setting unless the user explicitly changes WebView implementation (and on boot!). Unfortunately this will means that the Dev Setting for changing WebView implementation will work in a slightly less intuitive way. The persistent setting is now persistent across uninstalls and installs. I.e. the Dev Setting shows the current WebView implementation though that could differ to the value chosen by the user since the package chosen by the user could be uninstalled or disabled. In this case installing/enabling that package would again make the Dev Setting point to it. However, as a compromise, we do change the setting at boot so that if the currently chosen package is not valid we will change the setting so that it points to the package we currently use instead. Also ensure we only use WebView packages that are available-by-default if no WebView packages are enabled. Add unit test to ensure that if a user-chosen provider is uninstalled we switch back to using that provider when it is installed again. Add unit test to ensure we switch user-chosen provider at boot if the chosen one is uninstalled. Bug: 27673076 Change-Id: Icd27ae302798ebf695b9ef4bd4d5fd47fe4be02c
Loading
Please register or sign in to comment