// 101XP Start
// Read Yandex Client ID from gradle.properties
def readYandexClientId() {
    // Try to get it from project property (gradle.properties)
    def prop = project.findProperty("yandex.client.id")
    if (prop != null && !prop.toString().trim().isEmpty()) {
        return prop.toString().trim()
    } else {
        // Fallback default value (sample)
        return "659313ae396f448485d8caee99b75199"
    }
}

// Read VK ID credentials from gradle.properties.
def readVkIdEnabled() {
    def prop = project.findProperty("vkid.enabled")
    return prop != null && prop.toString().trim().toBoolean()
}

def readVkIdClientId() {
    if (!readVkIdEnabled()) {
        return ""
    }

    def prop = project.findProperty("vkid.client.id")
    if (prop != null && !prop.toString().trim().isEmpty()) {
        return prop.toString().trim()
    }

    return ""
}

def readVkIdClientSecret() {
    if (!readVkIdEnabled()) {
        return ""
    }

    def prop = project.findProperty("vkid.client.secret")
    if (prop != null) {
        return prop.toString().trim()
    }

    return ""
}

def readVkIdRedirectHost() {
    return readVkIdEnabled() ? "vk.ru" : ""
}

def readVkIdRedirectScheme() {
    return readVkIdEnabled() ? "vk${readVkIdClientId()}" : ""
}

// Enable the CloudPayments host only when configured in the plugin settings.
def readCloudPaymentsHost() {
    def prop = project.findProperty("cloudpayments.enabled")
    if (prop != null && prop.toString().trim().toBoolean()) {
        return "paymentsdk.sdk.platform101xp.com"
    }

    return ""
}

android {
    defaultConfig {
        multiDexEnabled true
        // Set manifest placeholders for authorization providers and CloudPayments.
        manifestPlaceholders = [
            YANDEX_CLIENT_ID: readYandexClientId(),
            VKIDClientID: readVkIdClientId(),
            VKIDClientSecret: readVkIdClientSecret(),
            VKIDRedirectHost: readVkIdRedirectHost(),
            VKIDRedirectScheme: readVkIdRedirectScheme(),
            cpSdkHost: readCloudPaymentsHost()
        ]
    }

    packagingOptions {
        resources {
            excludes.add("META-INF/versions/9/OSGI-INF/MANIFEST.MF")
        }
    }
}

// Apply the GMS Google-Services plugin
apply plugin: 'com.google.gms.google-services'
// Apply the Crashlytics Gradle plugin
apply plugin: 'com.google.firebase.crashlytics'
// 101XP End
