Add support for app signature spoofing
This is needed by microG GmsCore to pretend to be the official Google Play Services package, because client apps check the package signature to make sure it matches Google's official certificate. This was forward-ported from the Android 10 patch by gudenau: https://github.com/microg/android_packages_apps_GmsCore/pull/957 Changes made for Android 11: - Updated PackageInfo calls - Added new permission to public API surface, needed for PermissionController which is now an updatable APEX on 11 - Added a dummy permission group to allow users to manage the permission through the PermissionController UI (by Vachounet <vachounet@live.fr>) - Updated location provider comment for conciseness Changes made for Android 12: - Moved mayFakeSignature into lock-free Computer subclass - Always get permissions for packages that request signature spoofing (otherwise permissions are usually ommitted and thus the permission check doesn't work properly) - Optimize mayFakeSignature check order to improve performance Link: https://github.com/microg/GmsCore/pull/1586 Change-Id: Ied7d6ce0b83a2d2345c3abba0429998d86494a88
Loading