[pm] fix missing VPN state due to clearKeystoreData
During an OTA, if a system app that shares SYSTEM_UID is removed, the
system triggers a clearKeystoreData on SYSTEM_UID which causes Keystore to delete all the data that is associated with SYSTEM_UID which includes
the VPN state.
This fix is a minimal fix that prevents clearKeystoreData to be called
if the app being removed shares SYSTEM_UID. A more complete fix that
protects all shared UIDs will follow.
BUG: 427912730
BUG: 401472392
Test: manually with steps below
1. Build and install a test app as a system app that shares SYSTEM_UID (for example, HelloWorldSettings in cts) in the system partition
2. Set up VPN with steps in b/401472392 (with the CA certificate)
3. Remove the test system app from the system partition
4. Reboot
5. Before the fix, the VPN info will disappear in User credentials after the reboot. After the fix, it is preserved.
FLAG: EXEMPT bug fix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4201b7779f6e8bb3f55e33aae1ced6e42b4b37c6)
Merged-In: Ic0d935ff17749634248d16f17983e0121e3470b3
Change-Id: Ic0d935ff17749634248d16f17983e0121e3470b3
1 file changed