<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools">

    <!-- Mobile Messaging permissions -->

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />

    <permission
        android:name="${applicationId}.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

    <!-- Needed for push notifications that contain VIBRATE flag. Optional, but recommended. -->
    <uses-permission android:name="android.permission.VIBRATE" />

    <!-- /Mobile Messaging permissions -->

    <!-- Infobip rtc ui permissions -->
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.CAMERA" />
    <!-- Infobip rtc ui permissions -->

    <application
            tools:replace="android:usesCleartextTraffic"
                   android:usesCleartextTraffic="true"
    >
        <!-- Mobile Messaging components -->
        <service
            android:name="org.infobip.mobile.messaging.cloud.MobileMessagingCloudService"
            android:permission="android.permission.BIND_JOB_SERVICE"
            android:exported="false" />

        <service
            android:name="org.infobip.mobile.messaging.platform.MobileMessagingJobService"
            android:enabled="false"
            android:exported="false"
                android:permission="android.permission.BIND_JOB_SERVICE" />

        <receiver
                android:name="org.infobip.mobile.messaging.MobileMessagingConnectivityReceiver"
                android:enabled="false"
                android:exported="false">
            <intent-filter>
                <!-- Intent filter is for pre-7.0 Nougat devices -->
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
        </receiver>
        <receiver android:name="org.infobip.mobile.messaging.interactive.notification.NotificationActionTapReceiver"
            android:exported="false"/>

        <receiver android:name="org.infobip.reactlibrary.mobilemessaging.ReactNativeMobileMessagingModule$MessageEventReceiver"
                  android:exported="false">
            <intent-filter>
                <action android:name="org.infobip.mobile.messaging.MESSAGE_RECEIVED" />
                <action android:name="org.infobip.mobile.messaging.NOTIFICATION_TAPPED" />
                <action android:name="org.infobip.mobile.messaging.interactive.NOTIFICATION_ACTION_TAPPED" />
                <action android:name="org.infobip.mobile.messaging.chat.UNREAD_MESSAGES_COUNTER_UPDATED"/>
            </intent-filter>
        </receiver>

        <!-- /Mobile Messaging components -->

    </application>

</manifest>
