hal_attribute(lazy_test);

# This is applied to apps on vendor images with SDK <=30 only,
# to exempt them from recent mls changes. It must not be applied
# to any domain on newer system or vendor image.
attribute mlsvendorcompat;

# Attributes for property types having both system_property_type
# and vendor_property_type. Such types are ill-formed because
# property owner attributes must be exclusive.
attribute system_and_vendor_property_type;
expandattribute system_and_vendor_property_type false;

# HALs
until_board_api(202504, `
    hal_attribute(mediaquality);
')

# All SDK sandbox domains
attribute sdk_sandbox_all;
# The SDK sandbox domains for the current SDK level.
attribute sdk_sandbox_current;
# Common to adbd and adbd_tradeinmode.
attribute adbd_common;

# Provides access to platform update services.
# WARNING: USING THE update_provider ATTRIBUTE WILL CAUSE CTS TO FAIL!
attribute update_provider;
expandattribute update_provider false;

until_board_api(202504, `
    attribute tee_service_type;
')
