Chris Arriola e6cf1b0202
feat: Add missing Kotlin samples (#428)
* Gradle bump and rename CloseInfoWindowDemoActivity

* Adding CameraClampingDemoActivity.

* Fix build error.

* Add location source.
2021-01-25 17:03:15 -08:00

113 lines
4.0 KiB
Groovy

import org.apache.tools.ant.filters.ConcatFilter
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
// Set the properties within `local.properties` into a `Properties` class so
// that values within `local.properties` (e.g. Maps API key) are accessible in
// this file.
Properties properties = new Properties()
if (rootProject.file("local.properties").exists()) {
properties.load(rootProject.file("local.properties").newDataInputStream())
}
def mapsApiKey = properties.getProperty("MAPS_API_KEY", "")
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.example.kotlindemos"
minSdkVersion 16
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
// Inject the Maps API key into the manifest
manifestPlaceholders = [ mapsApiKey : mapsApiKey ]
// Reading the Maps API key into a BuildConfig value. This is only
// necessary so that the sample app can display a toast message if the
// API key was not set, otherwise, this can be skipped.
buildConfigField("String", "MAPS_API_KEY", "\"$mapsApiKey\"" )
// To add your Maps API key to this project:
// 1. Open the root project's local.properties file
// 2. Add this line, where YOUR_API_KEY is your API key:
// MAPS_API_KEY=YOUR_API_KEY
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
flavorDimensions "version"
productFlavors {
gms {
dimension "version"
applicationIdSuffix ".gms"
versionNameSuffix "-gms"
}
v3 {
dimension "version"
applicationIdSuffix ".v3"
versionNameSuffix "-v3"
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "androidx.cardview:cardview:1.0.0"
implementation "androidx.recyclerview:recyclerview:1.1.0"
implementation 'androidx.multidex:multidex:2.0.1'
// GMS
gmsImplementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.2.0'
gmsImplementation 'com.google.android.gms:play-services-maps:17.0.0'
gmsImplementation 'com.google.maps.android:maps-ktx:2.2.0'
// V3
v3Implementation 'com.google.android.libraries.maps:maps:3.1.0-beta'
v3Implementation 'com.google.android.gms:play-services-basement:17.5.0'
v3Implementation 'com.google.android.gms:play-services-base:17.5.0'
v3Implementation 'com.google.android.gms:play-services-gcm:17.0.0'
v3Implementation 'com.google.android.gms:play-services-location:17.1.0'
// Below is used to run the easypermissions library to manage location permissions
// EasyPermissions is needed to help us request for permission to access location
implementation 'pub.devrel:easypermissions:3.0.0'
// Tests
testImplementation 'junit:junit:4.13.1'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
task generateV3(type: Copy) {
group "V3 Beta"
description "Copies source code from GMS to V3 BETA."
from 'src/gms/java'
into 'src/v3/java'
filter { line ->
line.replace('com.google.android.gms.maps', 'com.google.android.libraries.maps')
}
filter(ConcatFilter, prepend: file('../../V3_FILE_HEADER'))
}
task generateV3Layout(type: Copy) {
group "V3 Beta"
description "Copies layout files from GMS to V3 BETA."
from 'src/gms/res/layout'
into 'src/v3/res/layout'
filter { line ->
line.replace('com.google.android.gms.maps', 'com.google.android.libraries.maps')
}
}