As described in 204837/2#message-9ecc61fe611f195b13f5770e33904afccb01c2fa :
The "network location provider" which is finally used is selected in three steps:
- first the signatures of all packages, which are in this list AND which are installed in system, are collected (services/core/java/com/android/server/ServiceWatcher.java#L96)
- secondly the packages which implement the "network location provider service" are selected and their signatures are compared against the previous collected signatures (#L225)
- thirdly these packages are requested for their "serviceVersion" in metadate. The package which provides the highest version is used. If there are two packages with the same serviceVersion the first selected wins. (#L243)
There are no security implications because there has to be a proper signed package of "org.microg.nlp" in sytem first. (The check against the signature of this package allows for later updates of the package outside of system)
To quote Andreas Schneider from 204837:
"This doesn't have security implications as in order to use the location provider in needs to be installed as a system app. However this would allow it to be flashed to system like gapps."
On my opinion it's up to the user to decide if he want to use Gapps and Unified / MicroG. But in the first place this patch is needed to make it possible.
Change-Id: I4a046ead2cc46929d2c18cfe1561becb10a75bcd
* Ignore the block devices in case their mount points are symlinks.
This is common on devices where maintainers have chosen not to use
real partitions because of their size being too small to be useful
Also `continue` instead of `break`. Oops.
Change-Id: I3e27abe510219066ecacd81d099220ac8e119f9f
There are addon.d scripts that rely on the value of ADDOND_VERSION
to determine if they're being called from a-only vs a/b backuptool.
If they declare ADDOND_VERSION=3, they shall stop doing that;
otherwise offer them the same environment, that is unset ADDOND_VERSION
for a-only backuptool.
Change-Id: I1be21eda2e6ec9837b3080bb5e7fbe5241318eaa
* Also: add a lot of additional info for many of the numbers based on
the comments from the commit prior to this
Change-Id: I937637c8f002d193ed6b23ac60c1f350d7d2eec7
* This is needed for VNDK27, and other older,
hackier Treble implementations.
* We can't include `legacy_gsi_release.mk` as it's included
in the `aosp_${ARCH}_ab` targets themselves, unlike the standard
`aosp_${ARCH}` targets which guard `gsi_release.mk`'s inclusion
with `aosp_${ARCH}` product guards.
Change-Id: I16c5983c18110b24eef84e382e0ae6852efb03c3
* The plan was to support odm & oem too, but it turned out
unnecessarily complicated due to their symlink setup,
while being most likely unused.
The partitions were removed from the list of supported ones
in a-only backuptool, but were forgotten in ab backuptool.
Change-Id: I58a01cdc3f5c4239048b204f3313f4bf697dd60a
Mini documentation:
List the names of boot modules in BOOT_KERNEL_MODULES to add them
to vendor_boot.
All modules still end up in their primary location (normally
vendor/lib/modules). Boot modules will be kept here as duplicates.
The list of boot modules is then depmod'ed and copied to the
vendor ramdisk.
The file modules.load is created from
BOARD_$(IMAGE)_KERNEL_MODULES_LOAD as the ordered list of modules
to be loaded form that location, either parsed by a modprobe script
or by init itself (only boot modules)
When using vendor_boot modules, vendor/lib/modules/modules.load
should list all modules but boot modules.
Also don't clear the output directory, because one might want to
push a modules.blocklist there.
Change-Id: I89a4aad42a6585a572812f1d7e89f5d78931e1e6
For scripts declaring ADDOND_VERSION=3 automatically mount
vendor, product, system_ext and others (when they're dedicated partitions).
Also expose the get_output_path() function to get the path to where
a file is mounted in case it lives in a dedicated partition.
ab exapmles:
get_output_path "system/product/priv-app/MyApp.apk" = "/postinstall/product/priv-app/MyApk.apk"
get_output_path "system/app/MySystemApp.apk" = "/postinstall/system/app/MySystemApp.apk"
a-only examples:
get_output_path "/mnt/system/system/product/priv-app/MyApp.apk" = "/mnt/system/system/product/priv-app/MyApp.apk"
******************************************************************
Instead of cycling all scripts for each stage, run
pre-backup -> backup -> post-backup in quick succession
(and likewise for restore), to ensure backwards compatibility
with scripts that wrongly assumed their environment not to
change between steps.
This is needed because we want to undo any mounting done for V3
scripts when executing V2 scripts. If a V2 script did mounting in
pre-restore and expected things to still be mounted in restore,
we would break their (yes incorrect) assumption.
Change-Id: I73fbad6f45824fed99e4482128769435348588f5
This adds visual voicemail configs extracted from Google Dialer version
58.0.346367036-pixel2020 (6702549) to make VVM work with AOSP Dialer on
most carriers.
Change-Id: Idfe79a8d624028427f597351631b66cb68550783
FscryptSetDirectoryPolicy no longer tries to infer the action from the
filename. Well mostly; it still assumes top-level directories in /data
should be encrypted unless the mkdir arguments say otherwise, but
it warns.
Bug: 26641735
Test: boot, check log messages
Change-Id: Id6d2cea7fb856f17323897d85cf6190c981b443c
Pixels tree have moved AB_OTA_PARTITIONS to BoardConfig.mk,
which is unavailable when parsing config/common.mk
In order to still copy AB backuptool scripts for them, check for
AB_OTA_POSTINSTALL_CONFIG too which still lives in device.mk
Change-Id: I871e2595bc4f083db6491de0d9574bae2794e654
* Test: Press the 'Messaging' button from 'Contacts'
* Detailed in frameworks/base/data/sounds/README.txt
Change-Id: Ia83852f5d92279e9c3ba83f81b2fed3a9a70e0e9
The mk files in vendor/qcom/opensource/dataservices were
converted to bp, so this is needed to avoid duplicate module
build errors on devices that use a different dataservices lib.
Change-Id: Ic5c1ad77342c045253cfd093c76706862ed6fd0e
* Move $PATCHELF exporting from oat2dex to setup_vendor
* Since it requires $HOST to be set, let's make it global, so oat2dex can also use it
Change-Id: I4556a3c19cd01c9b3a68d358d19a361217d9c3c1
This adds some unofficial clients for Telegram, as well as some
privacy-focused messaging apps:
- NekoX
- Plus
- Telegram X
- Element
- Jami
- Briar
Change-Id: I5a85bd46b192b16f08c07873555bd23fc4cb6047
Our custom SimpleDeviceConfig provisioning service needs to be defined
here in order to receive the correct permissions.
Change-Id: I7dd65ec9b732fb999a78627538d883f61cb237a4
We need a simple service to provision DeviceConfig for setting various
config defaults, like enabling permission hub, without modifying the
AOSP source code directly. Build our custom service to do the
provisioning from resource overlay values instead.
Change-Id: Id2910d799b503c339f56e7f92a5e5f3ba93a5296
There doesn't actually need to be anything in the stub; it's just used
as a check for whether clock theming is allowed.
Change-Id: Ie1f1302b512fe6b0799cf3837a1f18446d0651ee
This plugin that provides the wallet (cards and passes) integration in
the power menu is now open-source, so let's build it.
Change-Id: I5df8a09c8f91805df538bc7ddad6d326f5d9b13e