167 lines
7.6 KiB
XML
167 lines
7.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (C) 2016 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.
|
|
-->
|
|
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
package="android.ext.services"
|
|
android:versionCode="309999900"
|
|
android:versionName="2019-09"
|
|
coreApp="true">
|
|
|
|
<uses-permission android:name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE" />
|
|
<uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
|
|
|
|
<uses-permission android:name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE" />
|
|
<uses-permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE" />
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
|
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
|
|
<!-- INTERNET permission is restricted to TextClassifier downloader process only -->
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
<!-- Remove unused permissions merged from WorkManager library -->
|
|
<uses-permission android:name="android.permission.WAKE_LOCK" tools:node="remove" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" tools:node="remove" />
|
|
|
|
<uses-sdk
|
|
android:targetSdkVersion="31"
|
|
/>
|
|
|
|
<application
|
|
android:name=".ExtServicesApplication"
|
|
android:label="@string/app_name"
|
|
android:forceQueryable="true"
|
|
android:supportsRtl="true">
|
|
|
|
<processes>
|
|
<!-- Deny INTERNET permission for all processes by default -->
|
|
<deny-permission android:name="android.permission.INTERNET" />
|
|
<process />
|
|
<process android:process=":modelDownloaderServiceProcess">
|
|
<allow-permission android:name="android.permission.INTERNET" />
|
|
</process>
|
|
</processes>
|
|
|
|
<service android:name=".storage.CacheQuotaServiceImpl"
|
|
android:exported="true"
|
|
android:directBootAware="true"
|
|
android:permission="android.permission.BIND_CACHE_QUOTA_SERVICE">
|
|
<intent-filter>
|
|
<action android:name="android.app.usage.CacheQuotaService" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name=".resolver.LRResolverRankerService"
|
|
android:exported="true"
|
|
android:directBootAware="true"
|
|
android:permission="android.permission.BIND_RESOLVER_RANKER_SERVICE">
|
|
<intent-filter android:priority="-1">
|
|
<action android:name="android.service.resolver.ResolverRankerService" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name=".notification.Assistant"
|
|
android:label="@string/notification_assistant"
|
|
android:directBootAware="true"
|
|
android:permission="android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="android.service.notification.NotificationAssistantService" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name=".autofill.AutofillFieldClassificationServiceImpl"
|
|
android:exported="true"
|
|
android:directBootAware="true"
|
|
android:permission="android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE">
|
|
<intent-filter>
|
|
<action android:name="android.service.autofill.AutofillFieldClassificationService" />
|
|
</intent-filter>
|
|
<meta-data
|
|
android:name="android.autofill.field_classification.default_algorithm"
|
|
android:resource="@string/autofill_field_classification_default_algorithm" />
|
|
<meta-data
|
|
android:name="android.autofill.field_classification.available_algorithms"
|
|
android:resource="@array/autofill_field_classification_available_algorithms" />
|
|
</service>
|
|
|
|
<service android:name=".watchdog.ExplicitHealthCheckServiceImpl"
|
|
android:exported="true"
|
|
android:directBootAware="true"
|
|
android:permission="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE">
|
|
<intent-filter>
|
|
<action android:name="android.service.watchdog.ExplicitHealthCheckService" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<activity android:name="com.android.textclassifier.notification.CopyCodeActivity"
|
|
android:exported="false"
|
|
android:directBootAware="true"
|
|
android:theme="@android:style/Theme.NoDisplay"/>
|
|
|
|
<!-- DirectBootAware is disabled below as it shouldn't be used if the device is locked -->
|
|
<service
|
|
android:name="com.android.textclassifier.DefaultTextClassifierService"
|
|
android:directBootAware="false"
|
|
android:exported="true"
|
|
android:permission="android.permission.BIND_TEXTCLASSIFIER_SERVICE">
|
|
<intent-filter>
|
|
<action android:name="android.service.textclassifier.TextClassifierService"/>
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name="com.android.textclassifier.downloader.ModelDownloaderService"
|
|
android:exported="false"
|
|
android:directBootAware="false"
|
|
android:process=":modelDownloaderServiceProcess">
|
|
</service>
|
|
|
|
<service android:name=".autofill.InlineSuggestionRenderServiceImpl"
|
|
android:exported="true"
|
|
android:directBootAware="true"
|
|
android:permission="android.permission.BIND_INLINE_SUGGESTION_RENDER_SERVICE">
|
|
<intent-filter>
|
|
<action android:name="android.service.autofill.InlineSuggestionRenderService" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name=".displayhash.DisplayHashingServiceImpl"
|
|
android:exported="true"
|
|
android:directBootAware="true"
|
|
android:permission="android.permission.BIND_DISPLAY_HASHING_SERVICE">
|
|
<intent-filter>
|
|
<action android:name="android.service.displayhash.DisplayHashingService" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<!-- Remove the default WorkManager and Startup initializers and use on-demand
|
|
initialization instead. This gives us more control on when initialization
|
|
happens, e.g. when the user is unlocked.
|
|
-->
|
|
<provider
|
|
android:name="androidx.work.impl.WorkManagerInitializer"
|
|
android:authorities="${applicationId}.workmanager-init"
|
|
tools:node="remove" />
|
|
<provider
|
|
android:name="androidx.startup.InitializationProvider"
|
|
android:authorities="${applicationId}.androidx-startup"
|
|
tools:node="remove" />
|
|
|
|
</application>
|
|
|
|
</manifest>
|