// 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,
}

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: "com.qti.dpmframework",
	owner: "shift",
	jars: ["proprietary/system_ext/framework/com.qti.dpmframework.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,
}

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

