<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    id="indigitall-cordova-plugin"
    version="5.1.0" >

    <name>indigitall</name>
    <description></description>
    <engines>
      <engine name="cordova" version=">=8.1.2" />
      <engine name="cordova-ios" version=">=8.0.0" />
      <engine name="cordova-android" version=">=13.0.0" />
      <engine name="apple-xcode" version=">=16.0.0" />
      <engine name="apple-ios" version=">=15.0.0" />
    </engines>

    <preference name="PRODUCT_NAME" default="cordova"/>
    <preference name="PRODUCT_VERSION" default="5.1.0"/>

    <!-- insigitall interface in JavaScript -->
    <js-module src="www/indigitall.js" name="indigitall">
      <clobbers target="window.plugins.indigitall"/>
    </js-module>
    <js-module src="www/indigitallInApp.js" name="indigitallInApp">
      <clobbers target="window.plugins.indigitallInApp"/>
    </js-module>
    <js-module src="www/inbox.js" name="inbox">
      <clobbers target="window.plugins.indigitall.inbox"/>
    </js-module>
    <js-module src="www/customer.js" name="customer">
      <clobbers target="window.plugins.indigitall.customer"/>
    </js-module>
    <js-module src="www/indigitallLA.js" name="liveActivity">
      <clobbers target="window.plugins.indigitall.liveActivity"/>
    </js-module>
    <!-- indigitall android SDK -->
    <platform name="android">
      <framework src="com.google.firebase:firebase-messaging:25.0.2" />
      <framework src="com.google.android.gms:play-services-location:21.3.0" />
      <!-- <framework src="com.huawei.hms:push:4.0.3.301" /> -->
      <framework src="build-extras.gradle" custom="true" type="gradleReference" />

      <source-file src="src/android/com/indigitall/cordova/views/CDVPushNotification.java"
      target-dir="src/com/indigitall/cordova/views" />
      <source-file src="src/android/com/indigitall/cordova/views/CordovaIndigitallHiddenActivity.java"
      target-dir="src/com/indigitall/cordova/views" />
      <source-file src="src/android/com/indigitall/cordova/utils/CDVIndigitallUtils.java"
      target-dir="src/com/indigitall/cordova/utils" />
      <source-file src="src/android/com/indigitall/cordova/CordovaIndigitall.java"
      target-dir="src/com/indigitall/cordova" />
      <source-file src="src/android/com/indigitall/cordova/inapp/CordovaIndigitallInApp.java" target-dir="src/com/indigitall/cordova/inapp" />
      <source-file src="src/android/com/indigitall/cordova/inapp/CDVInAppIndigitall.java" target-dir="src/com/indigitall/cordova/inapp" />
      <source-file src="src/android/com/indigitall/cordova/inapp/CDVInAppPopUp.java" target-dir="src/com/indigitall/cordova/inapp" />
      <source-file src="src/android/com/indigitall/cordova/inapp/callbacks/ShowCDVInAppCallback.java" target-dir="src/com/indigitall/cordova/inapp/callbacks" />
      <source-file src="src/android/com/indigitall/cordova/utils/CordovaPreferenceUtils.java"
      target-dir="src/com/indigitall/cordova/utils" />
      <source-file src="src/android/com/indigitall/cordova/utils/InAppParseUtils.java"
      target-dir="src/com/indigitall/cordova/utils" />
      <source-file src="src/android/com/indigitall/cordova/utils/CustomerParseUtils.java"
      target-dir="src/com/indigitall/cordova/utils" />
      <source-file src="src/android/com/indigitall/cordova/utils/InboxParseUtils.java"
      target-dir="src/com/indigitall/cordova/utils" />
      <source-file src="src/android/com/indigitall/cordova/utils/PushParseUtils.java"
      target-dir="src/com/indigitall/cordova/utils" />
      <source-file src="src/android/com/indigitall/cordova/inbox/CordovaIndigitallInbox.java"
      target-dir="src/com/indigitall/cordova/inbox" />
      <source-file src="src/android/com/indigitall/cordova/customer/CordovaIndigitallCustomer.java"
      target-dir="src/com/indigitall/cordova/customer" />
      <source-file src="src/android/com/indigitall/cordova/services/IndigitallCDVFirebaseMessagingService.java"
      target-dir="src/com/indigitall/cordova/services" />
      <source-file src="src/android/com/indigitall/cordova/interfaces/IndigitallFirebaseInterface.java"
      target-dir="src/com/indigitall/cordova/interfaces" />
      <source-file src="src/android/com/indigitall/cordova/interfaces/WebCDVInAppInterface.java"
      target-dir="src/com/indigitall/cordova/interfaces" />

      <source-file src="src/android/com/indigitall/cordova/liveActivity/CordovaIndigitallLA.java"
      target-dir="src/com/indigitall/cordova/liveActivity" />
      <source-file src="src/android/com/indigitall/cordova/utils/LAParseUtils.java"
      target-dir="src/com/indigitall/cordova/utils" />

      <config-file target="res/xml/config.xml" parent="/*" >
        <preference name="deployment-target" value="12.0" />
        <feature name="CordovaIndigitall">
          <param name="android-package" value="com.indigitall.cordova.CordovaIndigitall" />
        </feature>
         <feature name="CordovaIndigitallInApp">
          <param name="android-package" value="com.indigitall.cordova.inapp.CordovaIndigitallInApp" />
        </feature>
        <feature name="CordovaIndigitallInbox">
          <param name="android-package" value="com.indigitall.cordova.inbox.CordovaIndigitallInbox" />
        </feature>
        <feature name="CordovaIndigitallCustomer">
          <param name="android-package" value="com.indigitall.cordova.customer.CordovaIndigitallCustomer" />
        </feature>
        <feature name="CordovaIndigitallLA">
          <param name="android-package" value="com.indigitall.cordova.LiveActivity.CordovaIndigitallLA" />
        </feature>
      </config-file>

      <!-- Android permissions -->
      <config-file target="AndroidManifest.xml" parent="/manifest" >
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>        
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> -->
      </config-file>

      <!-- Android services -->
      <config-file target="AndroidManifest.xml" parent="/manifest/application" >
        <service android:name="com.indigitall.android.push.services.StatisticService" />

        <service android:name="com.indigitall.android.inapp.services.StatisticInAppService" />

      <receiver android:name="com.indigitall.android.inapp.receivers.InAppBootReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>
      
       <activity
            android:name="com.indigitall.android.inapp.HiddenInAppActivity"
            android:label="indigitall"
            android:screenOrientation="portrait"
            android:configChanges="orientation|keyboardHidden"
            android:taskAffinity=""
            android:excludeFromRecents="true">
        </activity>
        <!-- <service android:name="com.indigitall.android.services.NightService" />
        <service
            android:name="com.indigitall.android.services.WifiStatusService"
            android:permission="android.permission.BIND_JOB_SERVICE" >
        </service> -->
        <!-- <service
            android:name="com.indigitall.android.services.HMSMessagingService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.huawei.push.action.MESSAGING_EVENT" />
            </intent-filter>
        </service> -->
        <receiver android:name="com.indigitall.android.push.receivers.BootReceiver" android:exported="false" >
          <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
          </intent-filter>
        </receiver>
        <!-- <receiver android:name="com.indigitall.android.receivers.LocationReceiver">
          <intent-filter>
            <action android:name="LocationReceiver.Action.LOCATION_UPDATE" />
          </intent-filter>
        </receiver>

        <receiver android:name="com.indigitall.android.receivers.WifiWakeLockReceiver">
            <intent-filter> 
                <action android:name="AlarmReceiver.Action.NETWORK_ALARM"/>
            </intent-filter>
        </receiver>-->
        <!-- <service android:name="com.indigitall.android.services.FirebaseMessagingService" >
          <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
          </intent-filter>
        </service> -->
        <service android:name="com.indigitall.cordova.services.IndigitallCDVFirebaseMessagingService"
        android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
       <activity android:excludeFromRecents="true" android:configChanges="orientation|keyboardHidden"
            android:taskAffinity="" android:name="com.indigitall.cordova.views.CordovaIndigitallHiddenActivity" />
        <!-- <receiver android:name="com.indigitall.android.services.FirebaseInstanceIdService" >
          <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
          </intent-filter>
        </receiver> -->
      </config-file>
     
        <preference name="ANDROID_SUPPORT_VERSION" default="28.+" />
        
        <framework src="androidx.appcompat:appcompat:1.7.1" />
        <!-- <framework src="com.android.support:support-v4:$ANDROID_SUPPORT_VERSION" />
        <framework src="com.android.support:appcompat-v7:$ANDROID_SUPPORT_VERSION" /> -->


    </platform>

    <platform name="ios" package="swift">
      
      <podspec> 
        <config>
        </config>
        <pods use-frameworks="true">
          <pod name="indigitall-ios" spec="~> 6.21.0" nospm="true" />
        </pods>
      </podspec>
        
        
      
      <config-file target="config.xml" parent="/*">
      <preference name="deployment-target" value="15.6" />

          <feature name="CordovaIndigitall">
              <param name="ios-package" value="CDVIndigitallSwift" />
              <param name="onload" value="true" />
          </feature>
          <feature name="CordovaIndigitallInApp">
              <param name="ios-package" value="CDVIndigitallInAppSwift" />
              <param name="onload" value="true" />
          </feature>
          <feature name="CordovaIndigitallInbox">
              <param name="ios-package" value="CDVIndigitallInboxSwift" />   
              <param name="onload" value="true" />
          </feature>
          <feature name="CordovaIndigitallCustomer">
              <param name="ios-package" value="CDVIndigitallCustomerSwift" />
              <param name="onload" value="true" />
          </feature>
          <feature name="CordovaIndigitallLA">
              <param name="ios-package" value="CDVIndigitallLASwift" />
              <param name="onload" value="true" />
          </feature>
      </config-file>
     

      <config-file target="*-Info.plist" parent="UIBackgroundModes">
        <array>
          <string>remote-notification</string>
          <string>fetch</string>
          <string>location</string>
          <string>processing</string>
        </array>
      </config-file>

      <config-file target="*-Debug.plist" parent="aps-environment">
        <string>development</string>
      </config-file>
      <config-file target="*-Release.plist" parent="aps-environment">
        <string>production</string>
      </config-file>

      <!--BEGIN_MODULE LOCATION-->

      <framework src="CoreLocation.framework" />

      <config-file target="*-Info.plist" parent="NSLocationWhenInUseUsageDescription" comment="Default usage descriptions: override as necessary in .plist">
          <string>This app requires access to your location when the screen is on and the app is displayed.</string>
      </config-file>

      <config-file target="*-Info.plist" parent="NSLocationAlwaysAndWhenInUseUsageDescription" comment="iOS 11 or greater">
          <string>This app requires constant access to your location in order to track your position, even when the screen is off or the app is in the background.</string>
      </config-file>

      <config-file target="*-Info.plist" parent="NSLocationAlwaysUsageDescription" comment="iOS 11 or below">
          <string>This app requires constant access to your location in order to track your position, even when the screen is off or the app is in the background.</string>
      </config-file>

      <!--END_MODULE LOCATION-->

    </platform>
</plugin>
