<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
    <uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
    <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
    <uses-permission android:name="android.permission.USE_EXACT_ALARM" />
    
    <application>
        <receiver 
            android:name=".GeofenceBroadcastReceiver"
            android:enabled="true"
            android:exported="false" />
        
        <receiver 
            android:name=".ActivityRecognitionReceiver"
            android:enabled="true"
            android:exported="false" />
        
        <receiver 
            android:name=".ServiceRestartReceiver"
            android:enabled="true"
            android:exported="false" />
        
        <service 
            android:name=".GeofencingPersistenceService"
            android:enabled="true"
            android:exported="false"
            android:foregroundServiceType="location" />
        
        <service 
            android:name=".LocationHealthMonitor"
            android:enabled="true"
            android:exported="false"
            android:foregroundServiceType="location" />
    </application>
</manifest>