<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022 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.
-->
<config>
    <!-- Specify the explicit set of other applications that AI services are allowed to
         interact with, including the providers that back the implementation of the APIs
         provided by the package. -->
    <allow-association target="com.google.android.as" allowed="com.android.bluetooth" />
    <allow-association target="com.google.android.as" allowed="com.android.bluetooth.services" />
    <allow-association target="com.google.android.as" allowed="com.android.providers.contacts" />
    <allow-association target="com.google.android.as" allowed="com.android.providers.media" />
    <allow-association target="com.google.android.as" allowed="com.android.providers.telephony" />
    <allow-association target="com.google.android.as" allowed="com.android.systemui" />
    <!-- AI services can bind to its open-source network component. -->
    <allow-association target="com.google.android.as" allowed="com.google.android.as.oss" />

    <!-- AI services open-source network component can only bind back to the core package. -->
    <allow-association target="com.google.android.as.oss" allowed="com.google.android.as" />
</config>
