// Automatically generated file. DO NOT MODIFY
//
// This file is generated by device/shift/axolotl/setup-makefiles.sh

soong_namespace {
}

cc_prebuilt_library_shared {
	name: "libantradio",
	owner: "shift",
	strip: {
		none: true,
	},
	target: {
		android_arm: {
			srcs: ["proprietary/system_ext/lib/libantradio.so"],
		},
		android_arm64: {
			srcs: ["proprietary/system_ext/lib64/libantradio.so"],
		},
	},
	compile_multilib: "both",
	check_elf_files: false,
	prefer: true,
	system_ext_specific: true,
}

cc_prebuilt_library_shared {
	name: "com.quicinc.cne.api@1.0",
	owner: "shift",
	strip: {
		none: true,
	},
	target: {
		android_arm64: {
			srcs: ["proprietary/system_ext/lib64/com.quicinc.cne.api@1.0.so"],
		},
	},
	compile_multilib: "64",
	check_elf_files: false,
	prefer: true,
	system_ext_specific: true,
}

cc_prebuilt_library_shared {
	name: "com.quicinc.cne.api@1.1",
	owner: "shift",
	strip: {
		none: true,
	},
	target: {
		android_arm64: {
			srcs: ["proprietary/system_ext/lib64/com.quicinc.cne.api@1.1.so"],
		},
	},
	compile_multilib: "64",
	check_elf_files: false,
	prefer: true,
	system_ext_specific: true,
}

cc_prebuilt_library_shared {
	name: "com.quicinc.cne.constants@1.0",
	owner: "shift",
	strip: {
		none: true,
	},
	target: {
		android_arm64: {
			srcs: ["proprietary/system_ext/lib64/com.quicinc.cne.constants@1.0.so"],
		},
	},
	compile_multilib: "64",
	check_elf_files: false,
	prefer: true,
	system_ext_specific: true,
}

cc_prebuilt_library_shared {
	name: "com.quicinc.cne.constants@2.0",
	owner: "shift",
	strip: {
		none: true,
	},
	target: {
		android_arm64: {
			srcs: ["proprietary/system_ext/lib64/com.quicinc.cne.constants@2.0.so"],
		},
	},
	compile_multilib: "64",
	check_elf_files: false,
	prefer: true,
	system_ext_specific: true,
}

cc_prebuilt_library_shared {
	name: "com.quicinc.cne.constants@2.1",
	owner: "shift",
	strip: {
		none: true,
	},
	target: {
		android_arm64: {
			srcs: ["proprietary/system_ext/lib64/com.quicinc.cne.constants@2.1.so"],
		},
	},
	compile_multilib: "64",
	check_elf_files: false,
	prefer: true,
	system_ext_specific: true,
}

android_app_import {
	name: "CneApp",
	owner: "shift",
	apk: "proprietary/vendor/app/CneApp/CneApp.apk",
	certificate: "platform",
	dex_preopt: {
		enabled: false,
	},
	soc_specific: true,
}

android_app_import {
	name: "IWlanService",
	owner: "shift",
	apk: "proprietary/vendor/app/IWlanService/IWlanService.apk",
	certificate: "platform",
	dex_preopt: {
		enabled: false,
	},
	soc_specific: true,
}

android_app_import {
	name: "TimeService",
	owner: "shift",
	apk: "proprietary/vendor/app/TimeService/TimeService.apk",
	certificate: "platform",
	dex_preopt: {
		enabled: false,
	},
	soc_specific: true,
}

android_app_import {
	name: "TrustZoneAccessService",
	owner: "shift",
	apk: "proprietary/vendor/app/TrustZoneAccessService/TrustZoneAccessService.apk",
	presigned: true,
	dex_preopt: {
		enabled: false,
	},
	soc_specific: true,
}

android_app_import {
	name: "PowerOffAlarm",
	owner: "shift",
	apk: "proprietary/system_ext/app/PowerOffAlarm/PowerOffAlarm.apk",
	certificate: "platform",
	dex_preopt: {
		enabled: false,
	},
	system_ext_specific: true,
}

android_app_import {
	name: "QtiTelephonyService",
	owner: "shift",
	apk: "proprietary/system_ext/app/QtiTelephonyService/QtiTelephonyService.apk",
	certificate: "platform",
	dex_preopt: {
		enabled: false,
	},
	system_ext_specific: true,
}

android_app_import {
	name: "uceShimService",
	owner: "shift",
	apk: "proprietary/system_ext/app/uceShimService/uceShimService.apk",
	certificate: "platform",
	dex_preopt: {
		enabled: false,
	},
	system_ext_specific: true,
}

android_app_import {
	name: "dpmserviceapp",
	owner: "shift",
	apk: "proprietary/system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk",
	certificate: "platform",
	dex_preopt: {
		enabled: false,
	},
	privileged: true,
	system_ext_specific: true,
}

android_app_import {
	name: "ims",
	owner: "shift",
	apk: "proprietary/system_ext/priv-app/ims/ims.apk",
	certificate: "platform",
	dex_preopt: {
		enabled: false,
	},
	privileged: true,
	system_ext_specific: true,
}

android_app_import {
	name: "qcrilmsgtunnel",
	owner: "shift",
	apk: "proprietary/system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk",
	certificate: "platform",
	dex_preopt: {
		enabled: false,
	},
	privileged: true,
	system_ext_specific: true,
}

dex_import {
	name: "audiosphere",
	owner: "shift",
	jars: ["proprietary/system/framework/audiosphere.jar"],
}

dex_import {
	name: "tcmclient",
	owner: "shift",
	jars: ["proprietary/system/framework/tcmclient.jar"],
}

dex_import {
	name: "com.qti.dpmframework",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/com.qti.dpmframework.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "com.quicinc.cne.api-V1.1-java",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/com.quicinc.cne.api-V1.1-java.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "com.quicinc.cne.constants-V1.0-java",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/com.quicinc.cne.constants-V1.0-java.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "com.quicinc.cne.constants-V2.0-java",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/com.quicinc.cne.constants-V2.0-java.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "com.quicinc.cne.constants-V2.1-java",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/com.quicinc.cne.constants-V2.1-java.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "dpmapi",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/dpmapi.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "qcrilhook",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/qcrilhook.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "vendor.qti.hardware.data.cne.internal.api-V1.0-java",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/vendor.qti.hardware.data.cne.internal.api-V1.0-java.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "vendor.qti.hardware.data.cne.internal.constants-V1.0-java",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/vendor.qti.hardware.data.cne.internal.constants-V1.0-java.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "vendor.qti.hardware.data.connection-V1.0-java",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/vendor.qti.hardware.data.connection-V1.0-java.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "vendor.qti.hardware.data.connection-V1.1-java",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/vendor.qti.hardware.data.connection-V1.1-java.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "vendor.qti.hardware.data.dynamicdds-V1.0-java",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/vendor.qti.hardware.data.dynamicdds-V1.0-java.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "vendor.qti.hardware.data.iwlan-V1.0-java",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/vendor.qti.hardware.data.iwlan-V1.0-java.jar"],
	system_ext_specific: true,
}

dex_import {
	name: "vendor.qti.hardware.data.qmi-V1.0-java",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/vendor.qti.hardware.data.qmi-V1.0-java.jar"],
	system_ext_specific: true,
}

prebuilt_etc_xml {
	name: "android.hardware.gnss@2.1-service-qti",
	owner: "shift",
	src: "proprietary/vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml",
	filename_from_src: true,
	sub_dir: "vintf/manifest",
	soc_specific: true,
}

prebuilt_etc_xml {
	name: "vendor.qti.gnss@4.0-service",
	owner: "shift",
	src: "proprietary/vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml",
	filename_from_src: true,
	sub_dir: "vintf/manifest",
	soc_specific: true,
}

prebuilt_etc_xml {
	name: "manifest_android.hardware.drm@1.3-service.widevine",
	owner: "shift",
	src: "proprietary/vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml",
	filename_from_src: true,
	sub_dir: "vintf/manifest",
	soc_specific: true,
}

