There are a lot of apps installed by default that are unusable with
a controller. This splits the mobile related settings out of common
into a common_mobile config and adds common_tv.
Note: The EXCLUDE_AUDIOFX flag was removed from the tv configs
because the new config path no longer builds it.
Change-Id: I67db32750fca91725d703243f2bcee8bcd9b82cd
* APEX is useless to average Lineage user, as we aren't
licensed to ship the GMS APEX's, nor would we want to,
as we want to keep compatibility with non-GMS use-cases.
* Additionally, APEX's should each be signed with their
own unique key, and number of them can vary per-device,
which makes signing them in a standard way on infrastructure
quite complex.
* Though this flag is default, we need to disable it
explicitly to make sure any maintainers who set up the
configurations for APEX images won't change needs of
infrastructure. This will allow people who want to build
locally to use full APEX(s).
Change-Id: I7f2eb52593eeca1b3761a7a163ce9079995870c6
* We can survive without granting this permission
out of box, also fixes Exchange-less boot up
exception.
D AndroidRuntime: Shutting down VM
E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main
E AndroidRuntime: java.lang.IllegalArgumentException: Unknown permission: com.android.email.permission.READ_ATTACHMENT
E AndroidRuntime: at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermission(PermissionManagerService.java:2103)
E AndroidRuntime: at com.android.server.pm.permission.PermissionManagerService.access$900(PermissionManagerService.java:121)
E AndroidRuntime: at com.android.server.pm.permission.PermissionManagerService$PermissionManagerServiceInternalImpl.grantRuntimePermission(PermissionManagerService.java:3032)
E AndroidRuntime: at com.android.server.pm.PackageManagerService.grantRuntimePermission(PackageManagerService.java:5800)
E AndroidRuntime: at android.app.ApplicationPackageManager.grantRuntimePermission(ApplicationPackageManager.java:684)
E AndroidRuntime: at com.android.server.pm.permission.DefaultPermissionGrantPolicy.grantRuntimePermissions(DefaultPermissionGrantPolicy.java:1217)
E AndroidRuntime: at com.android.server.pm.permission.DefaultPermissionGrantPolicy.grantDefaultPermissionExceptions(DefaultPermissionGrantPolicy.java:1381)
E AndroidRuntime: at com.android.server.pm.permission.DefaultPermissionGrantPolicy.grantDefaultPermissions(DefaultPermissionGrantPolicy.java:297)
E AndroidRuntime: at com.android.server.pm.PackageManagerService.systemReady(PackageManagerService.java:21731)
E AndroidRuntime: at com.android.server.SystemServer.startOtherServices(SystemServer.java:2037)
E AndroidRuntime: at com.android.server.SystemServer.run(SystemServer.java:529)
E AndroidRuntime: at com.android.server.SystemServer.main(SystemServer.java:356)
E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:908)
Change-Id: If2caad2b004820b10b7095a4bb4307d0f065c723
Permission no longer required because Styles handling was
removed from LineageParts. ThemePicker is our best friend now.
This reverts commit a7b0cf7ec3.
Change-Id: I003cd2281de9f7edbd81a15e0c1b1258e537ccb3
These vars are no longer useful as of Q because it looks like CAF dropped
their surfaceflinger extensions (ExtSurfaceFlinger).
This reverts commit 97cb87c809.
Change-Id: I09701f6a47830a30486f35052b4ea7ab15a9660b
* The messaging app is notorious for late notifications
of messages. Whitelist it so it can be active during doze.
Change-Id: I932c89b27d76c114be67eaed62a3c021c219ca3a
* Newer pixel devices get AB_OTA_UPDATER enabled from
build/make/target/board/BoardConfigMainlineCommon.mk which
is not included in time for this check.
Change-Id: I1679709b7178398ffaa62ad14a6d042ff377fd5a
As of Q, micro_bench is dead. The rest are already part
of PRODUCT_PACKAGES_DEBUG in the main base_system.mk.
Change-Id: Idc91e572e83d227652802bbc8da71238596d28ea
Our build/make changes break incremenetal builds with prebuilt dtb dir
(see discussion here: https://android-review.googlesource.com/c/platform/build/+/1134337/1/core/Makefile )
Instead of using the AOSP recipe, just define our own and use it by not defining
BOARD_PREBUILT_DTBIMAGE_DIR
Change-Id: If579b1670db447557b6f76ca79ecec22661c4080
* OpenSSL cannot be statically linked because of
getaddrinfo and gethostbyname calls.
* Also according to soong it's whitelisted:
33f9529962/ui/build/paths/config.go (L98)
Change-Id: I1718bd98e7ac30d31de38c2cd3bc3e51b7100ce4
Previously, this would be a full compile prefix
(e.g. prebuilts/gcc/.../bin/aarch64-linux-gnu-). Since we're adding
this to PATH, it only needs to be prebuilts/gcc/.../bin.
Also remove the extra /bin/ added by kernel.mk.
Change-Id: If2490729128c0243c61de646f6c8e19a15c8dc1c
* Though there is no LineageHW anymore, don't forget
LineageHardwareService in our sdk depends on it to start.
Change-Id: I8befe1a75b66f54d9ffd7b88871c187a21b08497
Calling is-board-platform-in-list from this makefile was not
returning the desirable output, thus resulting in a failure
to meet the conditions for the UM4.9 and UM4.14 family platforms.
Due to the fact that this makefile is included in a very early
stage in the build process, the QCOM macros are not defined.
Simply use standard macros like in rest of the makefile.
Change-Id: Iad889882f94167f1bc1761ddd549dac9dcdee3ba
* Reorganize
* Remove no longer used Development package
* Remove LiveWallpaperPicker/PhotoTable which are included in full_base.mk
Change-Id: I56f9f586f27172e7336699dbe57f7a43d7ef8722
* No longer used by any device and fw/base part is missing
Revert "Update boosted audio files 2/2"
This reverts commit 103c64a964.
Revert "Add volume boosted ringtones (1/2)"
This reverts commit a1c783fb28.
Change-Id: I384f44d515e2bcc237662184de0830836ba95b09
The kernel make command is executed in the build root. Without absolute
out paths, kernel out start with "out/" meaning it would be created in
the kernel source. Add BUILD_ROOT to the argument to ensure it's always
made in the actual out/ dir.
Change-Id: I425134a893d4d5c9f31efccaf75e153b5462b76c
The GCC toolchains are no longer added to the path by default, so
we need to hardcode the full paths for these. Also set variables
for every arch, and then set the toolchain to the arch specific var.
This is so we can set the ARM32 cross compile flag for vDSO32
enabled kernels.
Change-Id: I7e099a26a17f4a3cc9be6232a26c671e8fcfbdef
* -androidkernel ones became symlinks to -android ones long time ago, use
-android executables directly to simplify the logic on these platforms.
* Keep arm on -androidkernel because it doesn't boot for some reason.
Change-Id: I97dd93121fc0e805a965e3f8b84466dd7bd686c0
Using preinstalled system headers and libraries is no longer allowed.
So we're gonna make our own prebuilts/openssl so we can build kernels.
Change-Id: Ic5bc3b14c37b3bca352932c6f19a592377dbaf27
The built ccache command is now deprecated and spits out errors. ccache is
also no longer used for the full build unless CCACHE_EXEC is defined. Move
the kernel to the same logic in order to actually use ccache and silence
the warnings.
Change-Id: Iccedd9d5868d31060677667cc18810aae0149a26
Required for new commits on frameworks/native
* Fix lag during screen recording on some platforms
* Fix screen flickering after disconnecting from Android Auto on some platforms
Change-Id: Ia0ed0bbfda44fb5ccb184ace854ec1bf9a7d819a
... in order to make them selectable in charging sounds settings.
This way the user can go back to the default sound.
Change-Id: Iced4614baddd9033e0772e4a4221ed48dea6fc57
* Note: msmnile is treated like msmnile because unlike other Qualcomm
codenames msmnile does not expand to 8150.
Change-Id: If246c0ec06de22097d369c17ce48aa1270bab19c
* These are pretty useful for debugging config.fs
changes without rebuilding full system/vendor image.
Change-Id: I68fdeb2dc7c9f225784b55425407657645e34ac8
* There's actually not a whole lot QC-specific about these macros,
make them available at definition.mk inclusion time rather than
relying on BoardConfig to include them.
* Don't create a dependency on QCOM macros from a makefile
that is included very early in the build process.
Change-Id: I3dcaf0e068ca44732cfe58f69384621781ddda67
* Instead of nesting ifeq/else/ifeq/else/endif/endif construction, make
allows the more readable ifeq/else ifeq/else/endif construction. Use it
instead.
Change-Id: Ifd2635929799db593e04a13827f05c97e95487e4
These configuration options are set based on the Google configurations
located in kernels
(ex. https://github.com/LineageOS/android_kernel_google_wahoo/blob/lineage-16.0/build.config)
This is composed of 2 parts:
Revert "kernel: Correct CROSS_COMPILE_ARM32 toolchain"
This reverts commit c77bb3a5ba.
This breaks builds when building with upstream commit
ad15006cc78459d059af56729c4d9bed7c7fd860. That commit fixes LD being
used from outside the path, however androidkernel toolchains don't
have elfedit. Google specifically doesn't use androidkernel, so we
need to follow them on this.
Set CROSS_COMPILE_PREFIX to aarch64-linux-android- for clang builds
Upstream commit ad15006cc78459d059af56729c4d9bed7c7fd860 makes the
kernel build system use GCC toolchains for elfedit, so we have to
actually use a real GCC toolchain, not the androidkernel one.
Change-Id: I79ac4ac47d3ba6c2abbc5ce40e56ed5c707295b4
Currently we handle the DTBO images from start to finish, including
AVB footers, and just drop them in $(PRODUCT_OUT)/dtbo.img when done.
While this works for the most part, we are limited in what we can do
with the DTBO images. For example non-A/B device recovery images must
have a copy of the DTBO image appended to recovery (see AOSP docs:
https://source.android.com/devices/bootloader/recovery-image ). This
means that we need to pass the pre-AVB dtbo image into
BOARD_PREBUILT_DTBOIMAGE in order to let the AOSP build system handle it.
This commit reworks the way the DTBO images are built, placing them at
$(PRODUCT_OUT)/dtbo-pre.img instead and setting BOARD_PREBUILT_DTBOIMAGE
to that path so the AOSP build system can pick the images up and sign
them and append to recovery (for applicable devices).
Change-Id: I8819d7cd92ba298de67dbc7f6b321917ba8524f1
The lack of these whitelisted permissions causes a bootloop
when upgrading from earlier OS versions on devices that enforce
the whitelist.
Change-Id: I76b8fad5f0c49a7d008d19e7a116b5f19c75f739
* Add GRALLOC_USAGE_PRIVATE_WFD as valid gralloc bits for all
the platforms and GRALLOC_USAGE_PRIVATE_10BIT_TP only for the
UM 4.9-based platforms. Both are defined in the respective
display HALs (in gralloc/gralloc_priv.h) being the latter
only available for sdm845.
* This results in the same as applying https://goo.gl/SR7sFY,
but it's preferable since it makes use of our own method of
extending the valid gralloc 1.0 usage bits (see commit 59009f8).
TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS is extended here on
purpose and as a bitwise OR of all the values in order not to
clear what might have been set in the device trees.
Change-Id: I5536f341e75088cc72ac369065011388f0a6d3f1
* libemoji doesn't exist
* libprotobuf-cpp-full is always built and part of VNDK
* librsjni is always built by renderscript
Change-Id: I379aa405f937d54fc7ab1fb7a120683e91f2bbac
For Example new devices need the new Sprint APNs, so add a new board flag for
them to set that will make the build system add the new APNs to
the APN config XML. If the flag is not set, continue to use the
old APNs.
To add or replace APNs, the custom_apns.py script has been
added. If CUSTOM_APNS_FILE is defined, custom_apns.py
is run and generates a new version of apns-conf.xml.
Change-Id: I7ff12a4342de2a7663b2b66fd627244214a8dc71
Test case: override ro.adb.secure in vendor/extra/product.mk
Before this patch, the override would not affect the resulting
property.
Change-Id: I0deb8a6865030b09ed6ba0ede1658319ca033e67
Kernel source settings should always come at BoardConfig population
time so things that use the variable later don't end up pointing to
an empty or wrong variable.
The following is also squashed in:
Author: Christopher N. Hesse <raymanfx@gmail.com>
Date: Fri Aug 10 00:23:54 2018 +0200
tasks: kernel: Honor prebuilt kernel flag
For devices that want to use a prebuilt kernel, TARGET_KERNEL_SOURCE
would still be set to TARGET_AUTO_KDIR, meaning the build system would
still try to build the kernel if TARGET_AUTO_KDIR was present.
Setting TARGET_PREBUILT_KERNEL indicates this is not wanted, so don't
attempt to do it.
Change-Id: Ic79b3ac1b9c946fd258ada43dce2b08bb74ea0d9
Change-Id: If046b86ff0d18c76898e90295be873a8379f678a
HALs are starting to move to blueprint files, which means that pathmap
ifeqs no longer work. This results in modules with the same name in
different platform HAL directories. Since these modules aren't used or
linked anywhere outside the HAL directories and a device's device.mk,
we can safely use a soong namespace to isolate the different HAL
directories' blueprints. This defines the PRODUCT_SOONG_NAMESPACES
make flag so make knows which namespace to look in as well.
Change-Id: I549e6da863465d79b12c7453aa169d5d963afa52
These variables are usually set in a device's BoardConfig, setting them
in qcom_target is at the very end of the "configuration process" which
results in them being unavailable to plenty of other configuration
"things" (ex. soong namespaces or soong config). Move them to right
after a device's BoardConfig has been found and loaded.
Change-Id: Iddd731202d22ed3f8eb010197ce20d3c75a1f40a
* prepend-product-if-exists was developed specifically to handle some
special cases where Cyanogen Inc configuration ordering needed to be
handled ahead of the standard inclusion order.
Change-Id: Ia3e041fb9e3c84d0763d18e4a401121bc210b976
* Include all debug packages via PRODUCT_PACKAGES_DEBUG.
* Remove oprofiled and sqlite3 from the list, because the former
no longer exists and the latter is already part of
build/target/product/core_base.mk. Also remove gdbserver, since
it's already built by default.
Change-Id: Icde54061cd5a85d381b756364287344c3d216957
(cherry picked from commit e4d54e65cef919a77d51cce721eb741d2e512688)
* otasigcheck doesn't work on encrypted devices and makes
the zip installation fail since oreo.
* The build part of this was never ported to oreo.
This reverts commit aff5e54c4e.
Change-Id: I411f33c1db64844091c1692ef4706ae541925d4f
* Along with it, remove tune2fs as the tool is already part of
build/target/product/core_minimal.mk. Despite Google did quite
a big cleanup in master branch, it's still built by default.
Change-Id: I4cf1178c2f99eda5a45de4ba79705093de5cd9bf
* This ensures the prop is set correctly for devices
that build a vendor image by placing the prop in
/system/etc/prop.default, rather than /vendor/default.prop
so it'll be in a prop file that is run for mangle_default_prop
in build/make/tools/post_process_props.py, therby
setting persist.sys.usb.config correctly to "none".
Change-Id: I4027541cf1eae9dd967636efe35de9578922b725
* A/B OTA devices wont run backuptools in recovery (because they don't
go in to recovery to do an OTA). In these cases let's use a modified
version to backup/restore from within android upon postinstall.
* Add backuptool_postinstall.sh which will be run prior to the normal
postinstall script in order to backup/restore via addon.d scripts.
* This needs to be done in such a manner because we need /postinstall
mounted rw instead of the ro with context= options which are used for
the normal postinstall (dexopt) script.
Change-Id: I51511870634dd1ec5388adafddb446f95cc5a950
* Include MTK/QCOM rules directly from the build/core/config.mk hook.
* Place main.mk hook and main_version.mk into build/core with the rest
of the make system hooks.
Change-Id: Iad2f808f3e3eefbd2be2ca5facb907ff31babbb7
* Our properties were supposed to go to /system/etc/prop.default
after the following commit:
"lineage: Move to Google's method of defining system default props"
Change-Id: I6cb0e28a7599b010b389cc541015a37010a00f4b
* However if BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED is not true,
only /default.prop will retain the properties contents of
ADDITIONAL_DEFAULT_PROPERTIES and PRODUCT_SYSTEM_DEFAULT_PROPERTIES,
and none of our versioning identification was held in the system
* Enabling BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED globally would
break all properties on devices that handle partitions usually
at the device level rather than the kernel due to mounting races
* Create a new main_version.mk file to isolate LineageOS properties
that define the system's versions identifications, and use the
ADDITIONAL_BUILD_PROPERTIES internal build variable to include
from build/make through a common vendor main.mk entrypoint
Change-Id: I0060141c097b3d14c3710eee1e0caf7110634967
Signed-off-by: Adrian DC <radian.dc@gmail.com>
Add android.permission.MODIFY_DAY_NIGHT_MODE for com.android.systemui.
Introduced in styles api change.
Change-Id: Ic864da8eb01faa270bae22cabaddcb9458c8a6c6
PRODUCT_SYSTEM_DEFAULT_PROPERTIES can now be used to define system default
properties which should be installed in system partition.
Those props are stored in /system/etc/prop.default.
Change-Id: I6cb0e28a7599b010b389cc541015a37010a00f4b
* We no longer need to build the mount.exfat tool because
only kernel implementations will be supported from now on.
Change-Id: Ic7e1354e6ead6a96a9d6021de8dac4cfdabcbbce
For Treble enabled devices, PRODUCT_PROPERTY_OVERRIDES puts props
added with that in /vendor/build.prop. While that's great for
device-specific properties, these are global Lineage properties
which are descriptive of the system side, so move them to the list
that gets populated into /system/build.prop.
Change-Id: I8bb3d0fe13188478d4f7dedc306740a40f44a3e8