Merge "bliss: Fall back to vendor/gapps if vendor/gms is not found" into voyager
diff --git a/build/core/mkdir.mk b/build/core/mkdir.mk
new file mode 100644
index 0000000..01ab1f3
--- /dev/null
+++ b/build/core/mkdir.mk
@@ -0,0 +1,30 @@
+# Copyright (C) 2025 The LineageOS Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
+$(call pretty-error,mkdir.mk may only be used from Soong)
+endif
+
+include $(BUILD_SYSTEM)/base_rules.mk
+
+$(LOCAL_SOONG_INSTALL_DIR):
+ @mkdir -p $@
+
+$(LOCAL_BUILT_MODULE): $(LOCAL_SOONG_INSTALL_DIR) $(LOCAL_ADDITIONAL_DEPENDENCIES)
+ @mkdir -p $(dir $@)
+ @touch $@
+
+ifneq ($(filter $(LOCAL_MODULE),$(PRODUCT_PACKAGES)),)
+ALL_DEFAULT_INSTALLED_MODULES += $(LOCAL_SOONG_INSTALL_DIR)
+endif
diff --git a/build/soong/Android.bp b/build/soong/Android.bp
index 5ac776c..b69ab4b 100644
--- a/build/soong/Android.bp
+++ b/build/soong/Android.bp
@@ -42,6 +42,22 @@
],
}
+bootstrap_go_package {
+ name: "soong-bliss-mkdir",
+ pkgPath: "bliss/soong/mkdir",
+ deps: [
+ "blueprint",
+ "blueprint-pathtools",
+ "soong",
+ "soong-android",
+ ],
+ srcs: [
+ "mkdir/init.go",
+ "mkdir/mkdir.go",
+ ],
+ pluginFor: ["soong_build"],
+}
+
cc_defaults {
name: "generated_kernel_header_defaults",
generated_headers: ["generated_kernel_includes"],
diff --git a/build/soong/mkdir/init.go b/build/soong/mkdir/init.go
new file mode 100644
index 0000000..5c17507
--- /dev/null
+++ b/build/soong/mkdir/init.go
@@ -0,0 +1,29 @@
+// Copyright 2025 The LineageOS Project.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package mkdir
+
+import (
+ "android/soong/android"
+)
+
+var pctx = android.NewPackageContext("bliss/soong/mkdir")
+
+func init() {
+ RegisterBuildComponents(android.InitRegistrationContext)
+}
+
+func RegisterBuildComponents(ctx android.RegistrationContext) {
+ ctx.RegisterModuleType("mkdir", MkdirFactory)
+}
diff --git a/build/soong/mkdir/mkdir.go b/build/soong/mkdir/mkdir.go
new file mode 100644
index 0000000..f4bea63
--- /dev/null
+++ b/build/soong/mkdir/mkdir.go
@@ -0,0 +1,68 @@
+// Copyright 2025 The LineageOS Project.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package mkdir
+
+import (
+ "android/soong/android"
+
+ "path/filepath"
+)
+
+func MkdirFactory() android.Module {
+ module := &Mkdir{}
+ module.AddProperties(&module.properties)
+ android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibCommon)
+ return module
+}
+
+type MkdirProperties struct {
+ Dir string `android:"arch_variant"`
+}
+
+type Mkdir struct {
+ android.ModuleBase
+
+ properties MkdirProperties
+
+ installDir android.InstallPath
+ output android.ModuleOutPath
+}
+
+func (this *Mkdir) GenerateAndroidBuildActions(ctx android.ModuleContext) {
+ if filepath.Clean(this.properties.Dir) != this.properties.Dir {
+ ctx.PropertyErrorf("dir", "Should be a clean filepath")
+ return
+ }
+
+ out := android.PathForModuleOut(ctx, "out.txt")
+ android.WriteFileRuleVerbatim(ctx, out, "")
+ this.output = out
+
+ this.installDir = android.PathForModuleInstall(ctx, "", this.properties.Dir)
+}
+
+func (this *Mkdir) AndroidMkEntries() []android.AndroidMkEntries {
+ return []android.AndroidMkEntries{{
+ Class: "FAKE",
+ // Need at least one output file in order for this to take effect.
+ OutputFile: android.OptionalPathForPath(this.output),
+ Include: "vendor/bliss/build/core/mkdir.mk",
+ ExtraEntries: []android.AndroidMkExtraEntriesFunc{
+ func(ctx android.AndroidMkExtraEntriesContext, entries *android.AndroidMkEntries) {
+ entries.SetString("LOCAL_SOONG_INSTALL_DIR", this.installDir.String())
+ },
+ },
+ }}
+}
diff --git a/config/BoardConfigSoong.mk b/config/BoardConfigSoong.mk
index ca4f6c2..9cd6624 100644
--- a/config/BoardConfigSoong.mk
+++ b/config/BoardConfigSoong.mk
@@ -46,7 +46,6 @@
sdmcore_has_is_display_hw_available_func \
target_camera_package_name \
gralloc_handle_has_ubwcp_format \
- target_health_charging_control_charging_path \
target_health_charging_control_charging_enabled \
target_health_charging_control_charging_disabled \
target_health_charging_control_deadline_path \
@@ -67,6 +66,11 @@
target_powershare_enabled \
target_powershare_disabled
+ifneq ($(TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH),)
+SOONG_CONFIG_blissGlobalVars += \
+ target_health_charging_control_charging_path
+endif
+
SOONG_CONFIG_NAMESPACES += blissNvidiaVars
SOONG_CONFIG_blissNvidiaVars += \
uses_nvidia_enhancements
@@ -142,7 +146,9 @@
SOONG_CONFIG_blissGlobalVars_bootloader_message_offset := $(BOOTLOADER_MESSAGE_OFFSET)
SOONG_CONFIG_blissGlobalVars_additional_gralloc_10_usage_bits := $(TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS)
SOONG_CONFIG_blissGlobalVars_target_camera_package_name := $(TARGET_CAMERA_PACKAGE_NAME)
+ifneq ($(TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH),)
SOONG_CONFIG_blissGlobalVars_target_health_charging_control_charging_path := $(TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH)
+endif
SOONG_CONFIG_blissGlobalVars_target_health_charging_control_charging_enabled := $(TARGET_HEALTH_CHARGING_CONTROL_CHARGING_ENABLED)
SOONG_CONFIG_blissGlobalVars_target_health_charging_control_charging_disabled := $(TARGET_HEALTH_CHARGING_CONTROL_CHARGING_DISABLED)
SOONG_CONFIG_blissGlobalVars_target_health_charging_control_deadline_path := $(TARGET_HEALTH_CHARGING_CONTROL_DEADLINE_PATH)
diff --git a/config/common.mk b/config/common.mk
index 95a59c7..b8267a9 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -11,13 +11,18 @@
ro.com.google.clientidbase=$(PRODUCT_GMS_CLIENTID_BASE)
endif
-ifneq ($(TARGET_BUILD_VARIANT),user)
+ifeq ($(TARGET_BUILD_VARIANT),eng)
# Disable ADB authentication
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure=0
else
+ifdef WITH_ADB_INSECURE
+# Forcebly disable ADB authentication
+PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure=0
+else
# Enable ADB authentication
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.adb.secure=1
endif
+endif
# Enable one-handed mode
PRODUCT_PRODUCT_PROPERTIES += \
@@ -142,6 +147,14 @@
endif
endif
+PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
+ dalvik.vm.systemuicompilerfilter=speed
+
+ifeq ($(TARGET_BUILD_VARIANT),userdebug)
+PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
+ debug.sf.enable_transaction_tracing=false
+endif
+
# StitchImage
PRODUCT_PACKAGES += \
StitchImage
diff --git a/prebuilt/common/etc/apns-conf.xml b/prebuilt/common/etc/apns-conf.xml
index dd7990a..eee3fc9 100644
--- a/prebuilt/common/etc/apns-conf.xml
+++ b/prebuilt/common/etc/apns-conf.xml
@@ -1563,12 +1563,8 @@
<apn carrier="EHRPD Tethering" mcc="311" mnc="230" apn="tethering.cs4glte.com" type="dun" user="" password="" mmsc="http://pix.cspire.com/servlets/mms" mmsproxy="66.175.144.91" mmsport="80" protocol="IP" roaming_protocol="IP" bearer="13" />
<apn carrier="AirFire" mcc="311" mnc="330" apn="internet.air.net" user="" password="" />
<apn carrier="AirFire MMS" mcc="311" mnc="330" mmsc="http://mms.airfiremobile.com/+1" apn="internet.air.net" user="" password="" type="mms" />
- <apn carrier="GCI Web" mcc="311" mnc="370" apn="web.gci" type="default,supl" authtype="0" />
- <apn carrier="GCI MMS" mcc="311" mnc="370" apn="mms.gci" mmsc="http://mmsc.gci.csky.us:6672/" mmsproxy="209.4.229.92" mmsport="9201" type="mms" authtype="0" />
- <apn carrier="GCI Data" mcc="311" mnc="370" apn="web.gci" type="default,supl" />
- <apn carrier="GCI MMS" mcc="311" mnc="370" apn="mms.gci" mmsproxy="209.4.229.92" mmsport="9201" mmsc="http://mmsc.gci.csky.us:6672" type="mms" />
- <apn carrier="GCI Data" mcc="311" mnc="370" apn="web.gci" proxy="" port="" user="" password="" mmsc="" type="default,supl" />
- <apn carrier="GCI MMS" mcc="311" mnc="370" apn="mms.gci" proxy="" port="" user="" password="" mmsc="http://mmsc.gci.csky.us:6672" mmsproxy="209.4.229.92" mmsport="9201" type="mms" />
+ <apn carrier="GCI Web" mcc="311" mnc="370" apn="web.gci" type="default,supl" />
+ <apn carrier="GCI MMS" mcc="311" mnc="370" apn="mms.gci" mmsc="http://mmsc.gci.net" mmsproxy="24.237.158.34" mmsport="9201" type="mms" />
<apn carrier="ATT WAP" mcc="311" mnc="380" apn="wap.cingular" proxy="wireless.cingular.com" port="80" mmsc="http://mmsc.cingular.com" mmsproxy="wireless.cingular.com" mmsport="80" type="default,mms" />
<apn carrier="ATT Broadband" mcc="311" mnc="380" apn="Broadband" type="default,supl" />
<apn carrier="Verizon" mcc="311" mnc="480" apn="internet" authtype="3" type="default,mms,supl,fota,cbs,dun" mmsc="http://mms.vtext.com/servlets/mms" protocol="IPV4V6" bearer_bitmask="4|5|6|7|8|12" user_visible="false" />
diff --git a/release/aconfig/ap4a/com.android.settings.flags/enable_bluetooth_device_details_polish_flag_values.textproto b/release/aconfig/ap4a/com.android.settings.flags/enable_bluetooth_device_details_polish_flag_values.textproto
new file mode 100644
index 0000000..718963f
--- /dev/null
+++ b/release/aconfig/ap4a/com.android.settings.flags/enable_bluetooth_device_details_polish_flag_values.textproto
@@ -0,0 +1,6 @@
+flag_value {
+ package: "com.android.settings.flags"
+ name: "enable_bluetooth_device_details_polish"
+ state: ENABLED
+ permission: READ_WRITE
+}