def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
  localPropertiesFile.withInputStream { stream ->
    localProperties.load(stream)
  }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
  throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
  compileSdkVersion 27
  buildToolsVersion '27.0.3'

  lintOptions {
    disable 'InvalidPackage'
  }

  defaultConfig {
    targetSdkVersion 27
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    applicationId "com.dinect.checker"
  }

  buildTypes {
    debug {
      debuggable true
      signingConfig signingConfigs.debug
    }
    release {
      signingConfig signingConfigs.debug
    }
  }

  flavorDimensions "checker"

  // Не смог разобраться, как коомбинировать flavors в flutter при запуске

  productFlavors {

    dinect {
      applicationId 'com.dinect.checker.dinect'
      buildConfigField "String", "locale", "\"ru\""
      buildConfigField "String", "flavor", "\"dinect\""
      buildConfigField "int", "currency", "643"
      buildConfigField "String", "supportPhone", "\"8-800-77-55-032\""
      buildConfigField "String", "supportUrl", "\"http://www.dinect.com\""
      buildConfigField "String", "endpoint", "\"https://pos-api.dinect.com/20130701/\""
      buildConfigField "String", "appToken", "\"bdea0f3ba9034b688019a7cac753d1209e2b227f\""
      buildConfigField "String", "appTitle", "\"Dinect\""
      buildConfigField "boolean", "showBonus", "true"
    }

    dinect_INT {
      applicationId 'com.dinect.checker.int'
      buildConfigField "String", "locale", "\"ru\""
      buildConfigField "String", "flavor", "\"dinect\""
      buildConfigField "int", "currency", "643"
      buildConfigField "String", "supportPhone", "\"8-800-77-55-032\""
      buildConfigField "String", "supportUrl", "\"http://www.dinect.com\""
      buildConfigField "String", "endpoint", "\"https://pos-api-int.dinect.com/20130701/\""
      buildConfigField "String", "appToken", "\"9fec83cdca38c357e6b65dbb17514cdd36bf2a08\""
      buildConfigField "String", "appTitle", "\"Dinect (INT)\""
      buildConfigField "boolean", "showBonus", "true"
    }

    dinect_OTE {
      applicationId 'com.dinect.checker.ote'
      buildConfigField "String", "locale", "\"ru\""
      buildConfigField "String", "flavor", "\"dinect\""
      buildConfigField "int", "currency", "643"
      buildConfigField "String", "supportPhone", "\"8-800-77-55-032\""
      buildConfigField "String", "supportUrl", "\"http://www.dinect.com\""
      buildConfigField "String", "endpoint", "\"https://pos-api-ote.dinect.com/20130701/\""
      buildConfigField "String", "appToken", "\"9fec83cdca38c357e6b65dbb17514cdd36bf2a08\""
      buildConfigField "String", "appTitle", "\"Dinect (OTE)\""
      buildConfigField "boolean", "showBonus", "true"
    }

    dinect_TESTING {
      applicationId 'com.dinect.checker.testing'
      buildConfigField "String", "locale", "\"ru\""
      buildConfigField "String", "flavor", "\"dinect\""
      buildConfigField "int", "currency", "643"
      buildConfigField "String", "supportPhone", "\"8-800-77-55-032\""
      buildConfigField "String", "supportUrl", "\"http://www.dinect.com\""
      buildConfigField "String", "endpoint", "\"https://pos-api-testing.dinect.com/20130701/\""
      buildConfigField "String", "appToken", "\"9fec83cdca38c357e6b65dbb17514cdd36bf2a08\""
      buildConfigField "String", "appTitle", "\"Dinect (TESTING)\""
      buildConfigField "boolean", "showBonus", "true"
    }

    dinect_STAGING {
      applicationId 'com.dinect.checker.staging'
      buildConfigField "String", "locale", "\"ru\""
      buildConfigField "String", "flavor", "\"dinect\""
      buildConfigField "int", "currency", "643"
      buildConfigField "String", "supportPhone", "\"8-800-77-55-032\""
      buildConfigField "String", "supportUrl", "\"http://www.dinect.com\""
      buildConfigField "String", "endpoint", "\"https://pos-api-staging.dinect.com/20130701/\""
      buildConfigField "String", "appToken", "\"9fec83cdca38c357e6b65dbb17514cdd36bf2a08\""
      buildConfigField "String", "appTitle", "\"Dinect (STAGING)\""
      buildConfigField "boolean", "showBonus", "true"
    }

    autobonus {
      applicationId 'com.dinect.checker.autoclub'
      buildConfigField "String", "locale", "\"ru\""
      buildConfigField "String", "flavor", "\"autobonus\""
      buildConfigField "int", "currency", "643"
      buildConfigField "String", "supportPhone", "\"8-800-234-6064\""
      buildConfigField "String", "supportUrl", "\"https://www.auto-club.biz\""
      buildConfigField "String", "endpoint", "\"https://pos-api-autoclub.dinect.com/20130701/\""
      buildConfigField "String", "appToken", "\"bdea0f3ba9034b688019a7cac753d1209e2b227f\""
      buildConfigField "String", "appTitle", "\"Autobonus\""
      buildConfigField "boolean", "showBonus", "false"
    }

    pip {
      applicationId 'com.dinect.checker.pip'
      buildConfigField "String", "locale", "\"ua\""
      buildConfigField "String", "flavor", "\"pip\""
      buildConfigField "int", "currency", "980"
      buildConfigField "String", "supportPhone", "\"+38 080 030 9997\\n+38 044 390 1697\""
      buildConfigField "String", "supportUrl", "\"http://discount.kiev.ua/\""
      buildConfigField "String", "endpoint", "\"https://pos-api.discount.kiev.ua/20130701/\""
      buildConfigField "String", "appToken", "\"bdea0f3ba9034b688019a7cac753d1209e2b227f\""
      buildConfigField "String", "appTitle", "\"PIP\""
      buildConfigField "boolean", "showBonus", "true"
    }

    crypto {
      applicationId 'com.dinect.checker.crypto'
      buildConfigField "String", "locale", "\"ru\""
      buildConfigField "String", "flavor", "\"crypto\""
      buildConfigField "int", "currency", "643"
      buildConfigField "String", "supportPhone", "\"8-800-77-55-032\""
      buildConfigField "String", "supportUrl", "\"http://www.dinect.com\""
      buildConfigField "String", "endpoint", "\"https://pos-api-int.dinect.com/20130701/\""
      buildConfigField "String", "appToken", "\"9fec83cdca38c357e6b65dbb17514cdd36bf2a08\""
      buildConfigField "String", "appTitle", "\"Dinect Crypto\""
      buildConfigField "boolean", "showBonus", "true"
    }

    develop {
      applicationId 'com.dinect.develop'
      buildConfigField "String", "locale", "\"ru\""
      buildConfigField "String", "flavor", "\"dinect\""
      buildConfigField "int", "currency", "643"
      buildConfigField "String", "supportPhone", "\"8 800 555 35 35\""
      buildConfigField "String", "supportUrl", "\"http://yandex.ru/\""
      buildConfigField "String", "endpoint", "\"https://pos-api-int.dinect.com/20130701/\""
      buildConfigField "String", "appToken", "\"9fec83cdca38c357e6b65dbb17514cdd36bf2a08\""
      buildConfigField "String", "appTitle", "\"dinect (develop)\""
      buildConfigField "boolean", "showBonus", "true"
    }
  }

  sourceSets {

    main.jniLibs.srcDir 'jniLibs'

    pip {
      res.srcDirs = ['src/pip/res']
      manifest.srcFile 'src/pip/AndroidManifest.xml'
    }

  }
}

flutter {
  source '../..'
}

dependencies {
  compile fileTree(include: ['*.jar'], dir: 'libs')
  compile 'com.android.support:appcompat-v7:27.1.0'
  compile 'com.squareup.okhttp3:okhttp:3.8.1'
  compile 'com.squareup.okio:okio:1.13.0'
  compile 'me.dm7.barcodescanner:zxing:1.9.8'
}
