1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3 ~ Copyright (C) 2022 The Android Open Source Project 4 ~ 5 ~ Licensed under the Apache License, Version 2.0 (the "License"); 6 ~ you may not use this file except in compliance with the License. 7 ~ You may obtain a copy of the License at 8 ~ 9 ~ http://www.apache.org/licenses/LICENSE-2.0 10 ~ 11 ~ Unless required by applicable law or agreed to in writing, software 12 ~ distributed under the License is distributed on an "AS IS" BASIS, 13 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 ~ See the License for the specific language governing permissions and 15 ~ limitations under the License. 16 --> 17<manifest 18 xmlns:android="http://schemas.android.com/apk/res/android" 19 package="com.android.federatedcompute.services" 20 android:versionCode="1" 21 android:versionName="T-initial"> 22 23 <!-- Required for persisting scheduled jobs --> 24 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 25 <!-- Used for scheduling connectivity jobs --> 26 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 27 <uses-permission android:name="android.permission.INTERNET" /> 28 29 <application> 30 <service android:name=".FederatedComputeServiceImpl" android:exported="true" > 31 <intent-filter> 32 <action android:name="com.android.federatedcompute.FederatedComputeService" /> 33 </intent-filter> 34 </service> 35 <!-- The JobService runs in main process, so when JobScheduler wakes up, it allows us to 36 decide not to start training without incurring overhead. --> 37 <service android:name="com.android.federatedcompute.services.training.FederatedJobService" 38 android:exported="false" 39 android:permission="android.permission.BIND_JOB_SERVICE"> 40 </service> 41 </application> 42</manifest>