<?xml version="1.0" encoding="utf-8"?>
<!--
/*
 * Copyright (c) 2012 Google Inc.
 *
 * 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"
        package="com.android.location.fused"
        coreApp="true"
        android:sharedUserId="android.uid.system">

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
    <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
    <uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

    <application
            android:label="@string/app_label"
            android:process="system"
            android:defaultToDeviceProtectedStorage="true"
            android:directBootAware="true">

        <uses-library android:name="com.android.location.provider" />

        <!-- Fused Location Service that LocationManagerService binds to.
             LocationManagerService will bind to the service with the highest
             version. -->
        <service android:name="com.android.location.fused.FusedLocationService"
                 android:exported="false"
                 android:permission="android.permission.WRITE_SECURE_SETTINGS">
           <intent-filter>
               <action android:name="com.android.location.service.FusedLocationProvider" />
           </intent-filter>
           <meta-data android:name="serviceVersion" android:value="0" />
           <meta-data android:name="serviceIsMultiuser" android:value="true" />
        </service>

        <!-- GNSS overlay Service that LocationManagerService binds to.
             LocationManagerService will bind to the service with the highest
             version. -->
        <service android:name="com.android.location.gnss.GnssOverlayLocationService"
                 android:exported="false">
           <intent-filter>
               <action android:name="android.location.provider.action.GNSS_PROVIDER" />
           </intent-filter>
           <meta-data android:name="serviceVersion" android:value="0" />
           <meta-data android:name="serviceIsMultiuser" android:value="true" />
        </service>
    </application>
</manifest>
