<?xml version="1.0" encoding="utf-8"?>
<!--
/*
 * Copyright (C) 2019 The Android Open Source 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.
 */
-->

<!--
  This manifest file is for the tcs library.
  The TCS is typically shipped as part of ExtServices and is configured
  in ExtServices's manifest.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.android.textclassifier"
          android:versionCode="1"
          android:versionName="1.0.0">

    <uses-sdk android:minSdkVersion="30" android:targetSdkVersion="30"/>

    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <!-- The INTERNET permission is restricted to the modelDownloaderServiceProcess -->
    <uses-permission android:name="android.permission.INTERNET"/>

    <application>
        <processes>
            <deny-permission android:name="android.permission.INTERNET" />
            <process />
            <process android:process=":modelDownloaderServiceProcess">
                <allow-permission android:name="android.permission.INTERNET" />
            </process>
        </processes>

        <service
            android:exported="false"
            android:name=".downloader.ModelDownloaderService"
            android:process=":modelDownloaderServiceProcess">
        </service>

        <service
            android:exported="true"
            android:directBootAware="false"
            android:name=".DefaultTextClassifierService"
            android:permission="android.permission.BIND_TEXTCLASSIFIER_SERVICE">
            <intent-filter>
                <action android:name="android.service.textclassifier.TextClassifierService"/>
            </intent-filter>
        </service>
    </application>

</manifest>
