// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = '1.2.51'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
		google()
        jcenter()
        maven {
            url "https://jitpack.io"
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
    def tempAssets = new File(getProjectDir(), "/src/main/assets-temp")
    if (tempAssets.exists()) {
        println("cleaning encrypted assets...")
        def encryptedAssets = new File(getProjectDir(), "src/main/assets")
        encryptedAssets.deleteDir()

        tempAssets.eachFileRecurse (FileType.FILES) { file ->
            FileInputStream fis = new FileInputStream(file)
            File fo = new File(file.getAbsolutePath().replace("assets-temp", "assets"))
            fo.getParentFile().mkdirs()
            FileOutputStream fos = new FileOutputStream(fo)
            byte[] buffer = new byte[4096]
            int n
            while ((n = fis.read(buffer)) != -1) {
                fos.write(buffer, 0, n)
            }
            fis.close()
            fos.close()
        }
        tempAssets.deleteDir()
    }
}
