# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Suppress warnings for experimental AGP properties
android.suppressUnsupportedOptionWarnings=android.suppressUnsupportedOptionWarnings,\
  android.experimental.testOptions.managedDevices.maxConcurrentDevices,\
  android.experimental.testOptions.managedDevices.setupTimeoutMinutes,\
  android.testoptions.manageddevices.emulator.gpu
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
# Enables namespacing of each library's R class so that its R class includes only the
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true
android.nonFinalResIds=false
# Properties to make gradle managed devices testing more stable (see https://issuetracker.google.com/287312019#comment41)
android.experimental.testOptions.managedDevices.maxConcurrentDevices=1
android.experimental.testOptions.managedDevices.setupTimeoutMinutes=180
# Ensure we can run managed devices on servers that don't support hardware rendering
android.testoptions.manageddevices.emulator.gpu=swiftshader_indirect