diff --git a/.gitignore b/.gitignore
index 9d95977..1cf4420 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ local.properties
*.iml
build/
.DS_Store
+google-services.json
diff --git a/app/build.gradle b/app/build.gradle
index 54bc665..f1d4757 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,6 +5,8 @@ android {
buildToolsVersion '26.0.1'
defaultConfig {
+ applicationId "org.traccar.client"
+ buildConfigField "boolean", "HIDDEN_APP", "false"
minSdkVersion 14
targetSdkVersion 26
versionCode 37
@@ -16,10 +18,8 @@ android {
}
productFlavors {
- regular {
- applicationId "org.traccar.client"
- buildConfigField "boolean", "HIDDEN_APP", "false"
- }
+ regular
+ google
hidden {
applicationId "org.traccar.client.hidden"
buildConfigField "boolean", "HIDDEN_APP", "true"
@@ -38,4 +38,21 @@ dependencies {
compile 'com.android.support:design:26.0.1'
testCompile 'junit:junit:4.12'
testCompile 'org.robolectric:robolectric:3.4.2'
+ googleCompile 'com.google.firebase:firebase-core:11.2.0'
+ googleCompile 'com.google.firebase:firebase-crash:11.2.0'
+}
+
+if (getGradle().getStartParameter().getTaskRequests().toString().contains("Google")) {
+ apply plugin: 'com.google.gms.google-services'
+
+ task copyJson(type: Copy) {
+ from '../../traccar-shared/google-services'
+ into '.'
+ include 'traccar-client-android.json'
+ rename('traccar-client-android.json', 'google-services.json')
+ }
+
+ afterEvaluate {
+ preBuild.dependsOn copyJson
+ }
}
diff --git a/app/src/google/AndroidManifest.xml b/app/src/google/AndroidManifest.xml
new file mode 100644
index 0000000..6f58b66
--- /dev/null
+++ b/app/src/google/AndroidManifest.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/google/java/org/traccar/client/GoogleMainApplication.java b/app/src/google/java/org/traccar/client/GoogleMainApplication.java
new file mode 100644
index 0000000..4ec4e4e
--- /dev/null
+++ b/app/src/google/java/org/traccar/client/GoogleMainApplication.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2017 Anton Tananaev (anton.tananaev@gmail.com)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.traccar.client;
+
+import com.google.firebase.analytics.FirebaseAnalytics;
+
+public class GoogleMainApplication extends MainApplication {
+
+ private FirebaseAnalytics firebaseAnalytics;
+
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ firebaseAnalytics = FirebaseAnalytics.getInstance(this);
+ }
+
+}
diff --git a/app/src/hidden/AndroidManifest.xml b/app/src/hidden/AndroidManifest.xml
index e9e7f96..e4cdaca 100644
--- a/app/src/hidden/AndroidManifest.xml
+++ b/app/src/hidden/AndroidManifest.xml
@@ -6,7 +6,7 @@
+ tools:replace="android:label">
diff --git a/build.gradle b/build.gradle
index 67e8a6e..9327e1d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,11 +1,10 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
+ classpath 'com.google.gms:google-services:3.1.0'
}
}