Set application info flags prior to scanning

In the case where an app is updated with a version greater
than what's on the /system partition, we still attempt to
scan the version on the /system partition to ensure we have
the most up-to-date information [since it may have been
changed during an OTA]. However, we mistakenly did not
apply any package policy prior to scanning. This left
package data only partially set [eg. the application info
object in the package was missing the fact that it was a
system package] and prevented us from scanning the package
correctly.

Scanning _should_ be completely self contained. The two
scan methods should be merged and made static. Any writing
or changing of service structures [eg. commiting the
scanned package settings or creating a shared user setting]
should be handled outside of the scan method, in the add()
method.

Change-Id: I8d5404a4f0f074ee02d26449c0b01e7a3c949334
Fixes: 62980149
Test: flash O MR1
Test: install latest chrome pkg [version > than what's on P]
Test: flash P
Test: see that the disabled version of chrome still has its ABI set
(cherry picked from commit fcd5279c9e43c169e52768f1be8bc2e391b027ac)
1 file changed