diff --git a/.gitignore b/.gitignore
index 2af9c85f..b64f2292 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,9 @@
.DS_Store
ATMobileAnalytics/TestApp/src/main/assets/
ATMobileAnalytics/TestApp/TestApp.iml
-ATMobileAnalytics/Tracker/Tracker.iml
\ No newline at end of file
+ATMobileAnalytics/Tracker/Tracker.iml
+ATMobileAnalytics/.gradle
+ATMobileAnalytics/local.properties
+ATMobileAnalytics/.DS_Store
+ATMobileAnalytics/build
+ATMobileAnalytics/.idea/
\ No newline at end of file
diff --git a/ATMobileAnalytics/.gitignore b/ATMobileAnalytics/.gitignore
deleted file mode 100644
index 2aeff34d..00000000
--- a/ATMobileAnalytics/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.gradle
-/local.properties
-.DS_Store
-/build
-.idea/
diff --git a/ATMobileAnalytics/.idea/.name b/ATMobileAnalytics/.idea/.name
deleted file mode 100644
index 627dbf0d..00000000
--- a/ATMobileAnalytics/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-ATMobileAnalytics
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/.zip b/ATMobileAnalytics/.idea/.zip
deleted file mode 100644
index 8d83c883..00000000
Binary files a/ATMobileAnalytics/.idea/.zip and /dev/null differ
diff --git a/ATMobileAnalytics/.idea/compiler.xml b/ATMobileAnalytics/.idea/compiler.xml
deleted file mode 100644
index 217af471..00000000
--- a/ATMobileAnalytics/.idea/compiler.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ATMobileAnalytics/.idea/copyright/profiles_settings.xml b/ATMobileAnalytics/.idea/copyright/profiles_settings.xml
deleted file mode 100644
index e7bedf33..00000000
--- a/ATMobileAnalytics/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/dictionaries/nsagnette.xml b/ATMobileAnalytics/.idea/dictionaries/nsagnette.xml
deleted file mode 100644
index 4760a1d3..00000000
--- a/ATMobileAnalytics/.idea/dictionaries/nsagnette.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-
-
-
- &int
- &lng
- &map
- &olt
- &ref
- &stc
- après
- apvr
- atinternet
- bandroid
- bgoogle
- bluray
- bnexus
- booleen
- c'est
- chaine
- classname
- concaténée
- concaténés
- connaitre
- création
- crée
- créer
- créé
- d'encodage
- d'options
- d'un
- d'une
- d'éviter
- demandé
- différents
- doffline
- domaintest
- dsfl
- dslu
- dwww
- début
- découpable
- découpe
- défaut
- défini
- définie
- désiré
- développement
- développeur
- ecrase
- enumération
- envoyé
- flau
- formattage
- fourg
- gbugniot
- gprs
- grâce
- hh'x
- idclient
- ifld
- iflm
- iflw
- initialisés
- inutilisé
- jevaisbientoutvabien
- l'ancienne
- l'application
- l'encodage
- l'endroit
- l'entité
- l'envoi
- l'idclient
- l'interface
- l'objet
- lalala
- lastscreen
- lcsu
- libération
- logp
- lève
- mfmd
- mherr
- mhid
- mm'x
- multihits
- myyyy
- méthode
- n'est
- nuggad
- outerloop
- paramètre
- paramètres
- paramétrée
- passée
- pdtl
- pixelpath
- podcast
- possède
- privé
- privée
- préparation
- présente
- présentes
- ptag
- publicite
- qu'une
- querystring
- recvfrom
- redirections
- redéfinie
- refconfigchunks
- refkey
- renseigné
- renseignées
- requête
- reçu
- runnables
- réception
- récupère
- récupération
- référence
- réponse
- réussi
- réutiliser
- s'agissait
- s'agit
- s'il
- smartphone
- stockés
- storageduration
- subhits
- surchargée
- séparateur
- threeg
- threegplus
- totalité
- tronçon
- tronçons
- trouvé
- tvtracking
- twog
- téléphone
- verifie
- verybigkey
- verybigvalue
- vmid
- vpost
- vpre
- vtag
- vérifie
- weborama
- webview
- xiti
- yyyy
- yyyydd
- écrase
- éléments
- éviter
- être
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/encodings.xml b/ATMobileAnalytics/.idea/encodings.xml
deleted file mode 100644
index f7589596..00000000
--- a/ATMobileAnalytics/.idea/encodings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/gradle.xml b/ATMobileAnalytics/.idea/gradle.xml
deleted file mode 100644
index 394d6638..00000000
--- a/ATMobileAnalytics/.idea/gradle.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/inspectionProfiles/Project_Default.xml b/ATMobileAnalytics/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 100644
index 4ea1fabe..00000000
--- a/ATMobileAnalytics/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/inspectionProfiles/profiles_settings.xml b/ATMobileAnalytics/.idea/inspectionProfiles/profiles_settings.xml
deleted file mode 100644
index 3b312839..00000000
--- a/ATMobileAnalytics/.idea/inspectionProfiles/profiles_settings.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/ATInternet.xml b/ATMobileAnalytics/.idea/libraries/ATInternet.xml
deleted file mode 100644
index e36344a0..00000000
--- a/ATMobileAnalytics/.idea/libraries/ATInternet.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/ant_1_8_0.xml b/ATMobileAnalytics/.idea/libraries/ant_1_8_0.xml
deleted file mode 100644
index 07bc4046..00000000
--- a/ATMobileAnalytics/.idea/libraries/ant_1_8_0.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/ant_launcher_1_8_0.xml b/ATMobileAnalytics/.idea/libraries/ant_launcher_1_8_0.xml
deleted file mode 100644
index 2dce35f4..00000000
--- a/ATMobileAnalytics/.idea/libraries/ant_launcher_1_8_0.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/appcompat_v7_22_2_1.xml b/ATMobileAnalytics/.idea/libraries/appcompat_v7_22_2_1.xml
deleted file mode 100644
index 76c93929..00000000
--- a/ATMobileAnalytics/.idea/libraries/appcompat_v7_22_2_1.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/asm_5_0_1.xml b/ATMobileAnalytics/.idea/libraries/asm_5_0_1.xml
deleted file mode 100644
index 283ec5c7..00000000
--- a/ATMobileAnalytics/.idea/libraries/asm_5_0_1.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/asm_analysis_5_0_1.xml b/ATMobileAnalytics/.idea/libraries/asm_analysis_5_0_1.xml
deleted file mode 100644
index 6d8c202c..00000000
--- a/ATMobileAnalytics/.idea/libraries/asm_analysis_5_0_1.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/asm_commons_5_0_1.xml b/ATMobileAnalytics/.idea/libraries/asm_commons_5_0_1.xml
deleted file mode 100644
index dc61cb1d..00000000
--- a/ATMobileAnalytics/.idea/libraries/asm_commons_5_0_1.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/asm_tree_5_0_1.xml b/ATMobileAnalytics/.idea/libraries/asm_tree_5_0_1.xml
deleted file mode 100644
index cb7a1e85..00000000
--- a/ATMobileAnalytics/.idea/libraries/asm_tree_5_0_1.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/asm_util_5_0_1.xml b/ATMobileAnalytics/.idea/libraries/asm_util_5_0_1.xml
deleted file mode 100644
index e07f4ed4..00000000
--- a/ATMobileAnalytics/.idea/libraries/asm_util_5_0_1.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/commons_codec_1_3.xml b/ATMobileAnalytics/.idea/libraries/commons_codec_1_3.xml
deleted file mode 100644
index 5f26ce43..00000000
--- a/ATMobileAnalytics/.idea/libraries/commons_codec_1_3.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/hamcrest_core_1_1.xml b/ATMobileAnalytics/.idea/libraries/hamcrest_core_1_1.xml
deleted file mode 100644
index 04e0cdc6..00000000
--- a/ATMobileAnalytics/.idea/libraries/hamcrest_core_1_1.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/junit_4_10.xml b/ATMobileAnalytics/.idea/libraries/junit_4_10.xml
deleted file mode 100644
index 6919e711..00000000
--- a/ATMobileAnalytics/.idea/libraries/junit_4_10.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/maven_ant_tasks_2_1_3.xml b/ATMobileAnalytics/.idea/libraries/maven_ant_tasks_2_1_3.xml
deleted file mode 100644
index 22fe7625..00000000
--- a/ATMobileAnalytics/.idea/libraries/maven_ant_tasks_2_1_3.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/objenesis_1_3.xml b/ATMobileAnalytics/.idea/libraries/objenesis_1_3.xml
deleted file mode 100644
index 80d4fd62..00000000
--- a/ATMobileAnalytics/.idea/libraries/objenesis_1_3.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/play_services_ads_8_1_0.xml b/ATMobileAnalytics/.idea/libraries/play_services_ads_8_1_0.xml
deleted file mode 100644
index ff34ee8c..00000000
--- a/ATMobileAnalytics/.idea/libraries/play_services_ads_8_1_0.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/play_services_ads_8_4_0.xml b/ATMobileAnalytics/.idea/libraries/play_services_ads_8_4_0.xml
deleted file mode 100644
index fea6a29c..00000000
--- a/ATMobileAnalytics/.idea/libraries/play_services_ads_8_4_0.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/play_services_appindexing_8_1_0.xml b/ATMobileAnalytics/.idea/libraries/play_services_appindexing_8_1_0.xml
deleted file mode 100644
index 3b35f3ed..00000000
--- a/ATMobileAnalytics/.idea/libraries/play_services_appindexing_8_1_0.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/play_services_basement_8_1_0.xml b/ATMobileAnalytics/.idea/libraries/play_services_basement_8_1_0.xml
deleted file mode 100644
index cc774df5..00000000
--- a/ATMobileAnalytics/.idea/libraries/play_services_basement_8_1_0.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/play_services_basement_8_4_0.xml b/ATMobileAnalytics/.idea/libraries/play_services_basement_8_4_0.xml
deleted file mode 100644
index e8bab501..00000000
--- a/ATMobileAnalytics/.idea/libraries/play_services_basement_8_4_0.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/robolectric_2_4.xml b/ATMobileAnalytics/.idea/libraries/robolectric_2_4.xml
deleted file mode 100644
index 1904b613..00000000
--- a/ATMobileAnalytics/.idea/libraries/robolectric_2_4.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/robolectric_annotations_2_4.xml b/ATMobileAnalytics/.idea/libraries/robolectric_annotations_2_4.xml
deleted file mode 100644
index 5d988fff..00000000
--- a/ATMobileAnalytics/.idea/libraries/robolectric_annotations_2_4.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/sqlite4java_0_282.xml b/ATMobileAnalytics/.idea/libraries/sqlite4java_0_282.xml
deleted file mode 100644
index 8866bc2d..00000000
--- a/ATMobileAnalytics/.idea/libraries/sqlite4java_0_282.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/support_annotations_22_2_0.xml b/ATMobileAnalytics/.idea/libraries/support_annotations_22_2_0.xml
deleted file mode 100644
index 4cc0d937..00000000
--- a/ATMobileAnalytics/.idea/libraries/support_annotations_22_2_0.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/support_annotations_22_2_1.xml b/ATMobileAnalytics/.idea/libraries/support_annotations_22_2_1.xml
deleted file mode 100644
index 578e0ab2..00000000
--- a/ATMobileAnalytics/.idea/libraries/support_annotations_22_2_1.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/support_annotations_23_0_0.xml b/ATMobileAnalytics/.idea/libraries/support_annotations_23_0_0.xml
deleted file mode 100644
index 8a45179e..00000000
--- a/ATMobileAnalytics/.idea/libraries/support_annotations_23_0_0.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/support_v4_22_2_0.xml b/ATMobileAnalytics/.idea/libraries/support_v4_22_2_0.xml
deleted file mode 100644
index c0ab5a0d..00000000
--- a/ATMobileAnalytics/.idea/libraries/support_v4_22_2_0.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/support_v4_22_2_1.xml b/ATMobileAnalytics/.idea/libraries/support_v4_22_2_1.xml
deleted file mode 100644
index ef157718..00000000
--- a/ATMobileAnalytics/.idea/libraries/support_v4_22_2_1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/support_v4_23_0_0.xml b/ATMobileAnalytics/.idea/libraries/support_v4_23_0_0.xml
deleted file mode 100644
index 405e0bf4..00000000
--- a/ATMobileAnalytics/.idea/libraries/support_v4_23_0_0.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/libraries/vtd_xml_2_11.xml b/ATMobileAnalytics/.idea/libraries/vtd_xml_2_11.xml
deleted file mode 100644
index fe8507f3..00000000
--- a/ATMobileAnalytics/.idea/libraries/vtd_xml_2_11.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/modules.xml b/ATMobileAnalytics/.idea/modules.xml
deleted file mode 100644
index 26be27a0..00000000
--- a/ATMobileAnalytics/.idea/modules.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ATMobileAnalytics/.idea/runConfigurations.xml b/ATMobileAnalytics/.idea/runConfigurations.xml
deleted file mode 100644
index 7f68460d..00000000
--- a/ATMobileAnalytics/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/scopes/scope_settings.xml b/ATMobileAnalytics/.idea/scopes/scope_settings.xml
deleted file mode 100644
index 922003b8..00000000
--- a/ATMobileAnalytics/.idea/scopes/scope_settings.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/.idea/vcs.xml b/ATMobileAnalytics/.idea/vcs.xml
deleted file mode 100644
index 21cbaa60..00000000
--- a/ATMobileAnalytics/.idea/vcs.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/ATMobileAnalytics/.idea/workspace.xml b/ATMobileAnalytics/.idea/workspace.xml
index ef7d6802..7a34dc8a 100644
--- a/ATMobileAnalytics/.idea/workspace.xml
+++ b/ATMobileAnalytics/.idea/workspace.xml
@@ -7,32 +7,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -91,11 +173,15 @@
-
+
+
+
+
+
@@ -181,47 +267,47 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -230,9 +316,11 @@
-
-
-
+
+
+
+
+
@@ -243,6 +331,16 @@
+
+
+
+
+
+
@@ -1740,22 +2636,29 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1763,69 +2666,102 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1837,22 +2773,29 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1860,72 +2803,102 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1937,22 +2910,29 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1960,69 +2940,102 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2034,108 +3047,141 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2196,9 +3242,9 @@
-
-
-
+
+
+
@@ -2275,10 +3321,6 @@
-
-
-
-
@@ -2301,14 +3343,6 @@
-
-
-
-
-
-
-
-
@@ -2327,60 +3361,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -2390,32 +3370,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
@@ -2446,7 +3408,7 @@
-
+
@@ -2483,104 +3445,75 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
-
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
@@ -2614,51 +3547,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -2744,14 +3632,72 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2778,19 +3724,39 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2803,8 +3769,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -2813,6 +3848,7 @@
1444228463921
+
1444228463921
@@ -2850,40 +3886,60 @@
-
-
+
+
-
-
-
-
+
+
+
+
-
+
+
+
+
-
-
-
-
-
-
+
-
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2900,13 +3956,13 @@
file://$PROJECT_DIR$/Tracker/src/main/java/com/atinternet/tracker/Tracker.java
- 560
+ 640
file://$PROJECT_DIR$/Tracker/src/main/java/com/atinternet/tracker/Tracker.java
- 557
+ 636
@@ -2918,144 +3974,118 @@
-
+
-
+
-
-
-
-
-
+
-
+
-
+
-
-
-
-
-
+
-
+
-
+
-
-
-
-
-
+
-
+
-
+
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
+
-
+
-
+
-
-
-
-
-
+
-
+
-
+
@@ -3063,7 +4093,7 @@
-
+
@@ -3071,27 +4101,16 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
@@ -3099,35 +4118,23 @@
-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
@@ -3135,15 +4142,14 @@
-
+
-
-
+
@@ -3151,15 +4157,14 @@
-
+
-
-
+
@@ -3167,177 +4172,40 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
@@ -3345,7 +4213,7 @@
-
+
@@ -3353,7 +4221,7 @@
-
+
@@ -3361,7 +4229,7 @@
-
+
@@ -3369,49 +4237,74 @@
-
+
-
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ATMobileAnalytics/TestApp/.gitignore b/ATMobileAnalytics/TestApp/.gitignore
deleted file mode 100644
index 796b96d1..00000000
--- a/ATMobileAnalytics/TestApp/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/ATMobileAnalytics/TestApp/TestApp.iml b/ATMobileAnalytics/TestApp/TestApp.iml
index 4c20ac60..f01d7399 100644
--- a/ATMobileAnalytics/TestApp/TestApp.iml
+++ b/ATMobileAnalytics/TestApp/TestApp.iml
@@ -1,5 +1,5 @@
-
+
@@ -9,7 +9,6 @@
-
@@ -26,63 +25,77 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ATMobileAnalytics/TestApp/build.gradle b/ATMobileAnalytics/TestApp/build.gradle
old mode 100644
new mode 100755
index a94a2585..42e278a0
--- a/ATMobileAnalytics/TestApp/build.gradle
+++ b/ATMobileAnalytics/TestApp/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 25
- buildToolsVersion "24.0.3"
+ buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.atinternet"
@@ -11,6 +11,10 @@ android {
versionCode 1
versionName "1.0"
}
+ lintOptions {
+ checkReleaseBuilds false
+ abortOnError false
+ }
buildTypes {
release {
minifyEnabled false
@@ -28,7 +32,6 @@ repositories {
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:25.0.0'
- compile 'com.google.android.gms:play-services-ads:9.6.1'
compile 'com.google.code.gson:gson:2.7'
compile project(':Tracker')
}
diff --git a/ATMobileAnalytics/TestApp/libs/ATInternet.jar b/ATMobileAnalytics/TestApp/libs/ATInternet.jar
deleted file mode 100644
index 8649f416..00000000
Binary files a/ATMobileAnalytics/TestApp/libs/ATInternet.jar and /dev/null differ
diff --git a/ATMobileAnalytics/TestApp/proguard-rules.pro b/ATMobileAnalytics/TestApp/proguard-rules.pro
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/androidTest/java/com/atinternet/ApplicationTest.java b/ATMobileAnalytics/TestApp/src/androidTest/java/com/atinternet/ApplicationTest.java
deleted file mode 100644
index 91e3e658..00000000
--- a/ATMobileAnalytics/TestApp/src/androidTest/java/com/atinternet/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.atinternet;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/ATMobileAnalytics/TestApp/src/main/AndroidManifest.xml b/ATMobileAnalytics/TestApp/src/main/AndroidManifest.xml
old mode 100644
new mode 100755
index f416ce5d..6f49b1a8
--- a/ATMobileAnalytics/TestApp/src/main/AndroidManifest.xml
+++ b/ATMobileAnalytics/TestApp/src/main/AndroidManifest.xml
@@ -7,7 +7,6 @@
() {{
- put(TrackerConfigurationKeys.LOG, "logp");
- put(TrackerConfigurationKeys.LOG_SSL, "logs");
- put(TrackerConfigurationKeys.SITE, "552987");
- }}, false, new SetConfigCallback() {
- @Override
- public void setConfigEnd() {
- mainView.setVisibility(View.VISIBLE);
- }
- });
- sendHit = (Button) findViewById(R.id.sendHit);
- changeSite = (Button) findViewById(R.id.changeSite);
- changeOfflineMode = (Button) findViewById(R.id.changeOfflineMode);
- changeId = (Button) findViewById(R.id.changeId);
- changeHash = (Button) findViewById(R.id.changeHash);
- changeCrashDetection = (Button) findViewById(R.id.changeCrashDetection);
- changeSessionBGDuration = (Button) findViewById(R.id.changeSessionBGDuration);
-
- sendHit.setOnClickListener(FirstScreenActivity.this);
- changeSite.setOnClickListener(FirstScreenActivity.this);
- changeOfflineMode.setOnClickListener(FirstScreenActivity.this);
- changeId.setOnClickListener(FirstScreenActivity.this);
- changeHash.setOnClickListener(FirstScreenActivity.this);
- changeCrashDetection.setOnClickListener(FirstScreenActivity.this);
- changeSessionBGDuration.setOnClickListener(FirstScreenActivity.this);
- }
-
- @Override
- public void onClick(View view) {
- switch (view.getId()) {
- case R.id.sendHit:
- tracker.Screens().add("TestWithClick").sendView();
- break;
- case R.id.changeSite:
- tracker.setSiteId(486136, new SetConfigCallback() {
- @Override
- public void setConfigEnd() {
- tracker.Screens().add("New site id").sendView();
- tracker.setSiteId(552987, new SetConfigCallback() {
- @Override
- public void setConfigEnd() {
- tracker.Screens().add("New site id").sendView();
- }
- });
- }
- });
- break;
- case R.id.changeOfflineMode:
- tracker.setOfflineMode(Tracker.OfflineMode.always, new SetConfigCallback() {
- @Override
- public void setConfigEnd() {
- tracker.Screens().add("Mode Always").sendView();
- tracker.setOfflineMode(Tracker.OfflineMode.required, new SetConfigCallback() {
- @Override
- public void setConfigEnd() {
- tracker.Screens().add("Mode Required").sendView();
- }
- });
- }
- });
- break;
- case R.id.changeId:
- tracker.setIdentifierType(Tracker.IdentifierType.advertisingId, new SetConfigCallback() {
- @Override
- public void setConfigEnd() {
- tracker.Screens().add("AdvertisingId").sendView();
- tracker.setIdentifierType(Tracker.IdentifierType.androidId, new SetConfigCallback() {
- @Override
- public void setConfigEnd() {
- tracker.Screens().add("AndroidId").sendView();
-
- }
- });
- }
- });
- break;
- case R.id.changeHash:
- tracker.setHashUserIdEnabled(true, new SetConfigCallback() {
- @Override
- public void setConfigEnd() {
- tracker.Screens().add("hash user id enable").sendView();
- }
- });
- break;
- case R.id.changeCrashDetection:
- tracker.setCrashDetectionEnabled(false, new SetConfigCallback() {
- @Override
- public void setConfigEnd() {
- // WARNING : THiS CODE CRASH
- FirstScreenActivity.this.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- ArrayList e = null;
- e.get(0);
- }
- });
- }
- });
- break;
- case R.id.changeSessionBGDuration:
- tracker.setSessionBackgroundDuration(5, new SetConfigCallback() {
- @Override
- public void setConfigEnd() {
- tracker.Screens().add("new session duration").sendView();
- }
- });
- break;
- case R.id.goToSecondScreenId:
- startActivity(new Intent(FirstScreenActivity.this, SecondScreenActivity.class));
- break;
- default:
- break;
- }
- }
-}
diff --git a/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/Integration.java b/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/Integration.java
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/MainActivity.java b/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/MainActivity.java
old mode 100644
new mode 100755
index 2e4eeb33..6b3357d3
--- a/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/MainActivity.java
+++ b/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/MainActivity.java
@@ -60,25 +60,13 @@ public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
-
- launchIntegration();
- /*tracker = ((ATInternet) getApplication()).getTracker("IntegrationTracker", new HashMap() {{
+ /*tracker = ATInternet.getInstance().getTracker("IntegrationTracker", new HashMap() {{
put(TrackerConfigurationKeys.LOG, "logp");
put(TrackerConfigurationKeys.LOG_SSL, "logs");
put(TrackerConfigurationKeys.SITE, 552987);
- }});
- tracker.setDefaultListener();
-
- findViewById(R.id.sendHit).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- tracker.Screens().add(MainActivity.this).sendView();
- tracker2.Screens().add(MainActivity.this).sendView();
- }
- });
+ }});*/
-
- Debugger.create(this, tracker);*/
+ launchIntegration();
}
@Override
@@ -95,13 +83,12 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
private void launchIntegration() {
try {
expectedResultsMap = getExpectedResults();
- tracker = ((ATInternet) getApplication()).getTracker("IntegrationTracker", new HashMap() {{
+ tracker = ATInternet.getInstance().getTracker("IntegrationTracker", new HashMap() {{
put(TrackerConfigurationKeys.LOG, config.getString(LOG));
put(TrackerConfigurationKeys.LOG_SSL, config.getString(LOG_SSL));
put(TrackerConfigurationKeys.SITE, config.getString(SITE));
}});
- tracker.setParam("idclient", "Custom-ClientID");
-
+ tracker.setUserId("Custom-ClientID");
tracker.setListener(new TrackerListener() {
@Override
diff --git a/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/Operation.java b/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/Operation.java
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/SecondScreenActivity.java b/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/SecondScreenActivity.java
deleted file mode 100644
index 7385ba28..00000000
--- a/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/SecondScreenActivity.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.atinternet;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-import com.atinternet.tracker.Tracker;
-
-public class SecondScreenActivity extends Activity {
-
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.second_layout);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- final Tracker mySpecificTracker = new Tracker(this);
-
- mySpecificTracker.Screens().add("SecondScreen").sendView();
- }
-}
diff --git a/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/TestAppClass.java b/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/TestAppClass.java
deleted file mode 100644
index 9551cc09..00000000
--- a/ATMobileAnalytics/TestApp/src/main/java/com/atinternet/TestAppClass.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.atinternet;
-
-import com.atinternet.tracker.ATInternet;
-
-public class TestAppClass extends ATInternet {
- @Override
- public void onCreate() {
- super.onCreate();
- }
-}
diff --git a/ATMobileAnalytics/TestApp/src/main/res/drawable-hdpi/ic_launcher.png b/ATMobileAnalytics/TestApp/src/main/res/drawable-hdpi/ic_launcher.png
deleted file mode 100644
index 96a442e5..00000000
Binary files a/ATMobileAnalytics/TestApp/src/main/res/drawable-hdpi/ic_launcher.png and /dev/null differ
diff --git a/ATMobileAnalytics/TestApp/src/main/res/drawable-mdpi/ic_launcher.png b/ATMobileAnalytics/TestApp/src/main/res/drawable-mdpi/ic_launcher.png
deleted file mode 100644
index 359047df..00000000
Binary files a/ATMobileAnalytics/TestApp/src/main/res/drawable-mdpi/ic_launcher.png and /dev/null differ
diff --git a/ATMobileAnalytics/TestApp/src/main/res/drawable-xhdpi/ic_launcher.png b/ATMobileAnalytics/TestApp/src/main/res/drawable-xhdpi/ic_launcher.png
deleted file mode 100644
index 71c6d760..00000000
Binary files a/ATMobileAnalytics/TestApp/src/main/res/drawable-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/ATMobileAnalytics/TestApp/src/main/res/drawable-xxhdpi/ic_launcher.png b/ATMobileAnalytics/TestApp/src/main/res/drawable-xxhdpi/ic_launcher.png
deleted file mode 100644
index 4df18946..00000000
Binary files a/ATMobileAnalytics/TestApp/src/main/res/drawable-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/ATMobileAnalytics/TestApp/src/main/res/drawable/atinternet_logo.png b/ATMobileAnalytics/TestApp/src/main/res/drawable/atinternet_logo.png
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/res/layout/activity_main.xml b/ATMobileAnalytics/TestApp/src/main/res/layout/activity_main.xml
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/res/layout/main_layout.xml b/ATMobileAnalytics/TestApp/src/main/res/layout/main_layout.xml
deleted file mode 100644
index 565cb121..00000000
--- a/ATMobileAnalytics/TestApp/src/main/res/layout/main_layout.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/TestApp/src/main/res/layout/second_layout.xml b/ATMobileAnalytics/TestApp/src/main/res/layout/second_layout.xml
deleted file mode 100644
index 44995166..00000000
--- a/ATMobileAnalytics/TestApp/src/main/res/layout/second_layout.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
diff --git a/ATMobileAnalytics/TestApp/src/main/res/mipmap-hdpi/ic_launcher.png b/ATMobileAnalytics/TestApp/src/main/res/mipmap-hdpi/ic_launcher.png
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/res/mipmap-mdpi/ic_launcher.png b/ATMobileAnalytics/TestApp/src/main/res/mipmap-mdpi/ic_launcher.png
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/res/mipmap-xhdpi/ic_launcher.png b/ATMobileAnalytics/TestApp/src/main/res/mipmap-xhdpi/ic_launcher.png
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/res/mipmap-xxhdpi/ic_launcher.png b/ATMobileAnalytics/TestApp/src/main/res/mipmap-xxhdpi/ic_launcher.png
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/ATMobileAnalytics/TestApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/res/values-v21/styles.xml b/ATMobileAnalytics/TestApp/src/main/res/values-v21/styles.xml
deleted file mode 100644
index dba3c417..00000000
--- a/ATMobileAnalytics/TestApp/src/main/res/values-v21/styles.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
diff --git a/ATMobileAnalytics/TestApp/src/main/res/values-w820dp/dimens.xml b/ATMobileAnalytics/TestApp/src/main/res/values-w820dp/dimens.xml
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/res/values/array.xml b/ATMobileAnalytics/TestApp/src/main/res/values/array.xml
deleted file mode 100644
index eb3b270b..00000000
--- a/ATMobileAnalytics/TestApp/src/main/res/values/array.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
- - Never
- - Required
- - Always
-
-
-
- - spotU
- - spot1
- - spot2
- - spot3
- - spot4
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/TestApp/src/main/res/values/colors.xml b/ATMobileAnalytics/TestApp/src/main/res/values/colors.xml
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/res/values/dimens.xml b/ATMobileAnalytics/TestApp/src/main/res/values/dimens.xml
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/res/values/strings.xml b/ATMobileAnalytics/TestApp/src/main/res/values/strings.xml
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/TestApp/src/main/res/values/styles.xml b/ATMobileAnalytics/TestApp/src/main/res/values/styles.xml
old mode 100644
new mode 100755
diff --git a/ATMobileAnalytics/Tracker/Tracker.iml b/ATMobileAnalytics/Tracker/Tracker.iml
index 43de8f6c..3e6dfdbc 100644
--- a/ATMobileAnalytics/Tracker/Tracker.iml
+++ b/ATMobileAnalytics/Tracker/Tracker.iml
@@ -1,5 +1,5 @@
-
+
@@ -9,7 +9,6 @@
-
@@ -20,95 +19,130 @@
-
+
-
+
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ATMobileAnalytics/Tracker/build.gradle b/ATMobileAnalytics/Tracker/build.gradle
index 7d5f3f21..4f7a4853 100644
--- a/ATMobileAnalytics/Tracker/build.gradle
+++ b/ATMobileAnalytics/Tracker/build.gradle
@@ -4,8 +4,7 @@ apply plugin: 'com.jfrog.bintray'
android {
compileSdkVersion 25
- buildToolsVersion "25.0.2"
-
+ buildToolsVersion "25.0.3"
defaultConfig {
minSdkVersion 9
targetSdkVersion 25
@@ -30,7 +29,7 @@ android {
def siteUrl = 'https://github.com/at-internet/atinternet-android-sdk'
def gitUrl = 'https://github.com/at-internet/atinternet-android-sdk.git'
group = "com.atinternet"
-version = "2.3.4"
+version = "2.3.5"
install {
repositories.mavenInstaller {
@@ -49,7 +48,6 @@ install {
connection gitUrl
developerConnection gitUrl
url siteUrl
-
}
}
}
@@ -61,7 +59,6 @@ bintray {
properties.load(project.rootProject.file('local.properties').newDataInputStream())
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")
-
configurations = ['archives']
pkg {
repo = "maven"
@@ -72,42 +69,97 @@ bintray {
publish = true
}
}
-
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
- provided 'com.google.android.gms:play-services-ads:10.2.0'
- testCompile 'org.robolectric:robolectric:3.1.2'
- testCompile 'junit:junit:4.10'
-}
-
-task clearJar(type: Delete) {
- delete 'build/outputs/jar/Tracker.jar'
-}
-
-task makeJar(type: Copy) {
- from('build/intermediates/bundles/release/')
- into('build/outputs/jar')
- include('classes.jar')
- rename ('classes.jar', 'Tracker.jar')
+ provided 'com.google.android.gms:play-services-ads:10.2.4'
+ testCompile 'org.robolectric:robolectric:3.3.2'
+ testCompile 'junit:junit:4.12'
}
-makeJar.dependsOn(clearJar, build)
-
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
+ delete 'technicalDoc/' + version
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
+ destinationDir = new File(projectDir, "technicalDoc/" + version)
+
+ options.memberLevel = JavadocMemberLevel.PUBLIC
+ options.header = "ATInternet Android SDK API " + version
+ options.stylesheetFile = new File(projectDir, "docs-res/style.css");
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
+
artifacts {
archives javadocJar
archives sourcesJar
}
+
+task createAlphaDelivery {
+ doLast {
+ def destination = 'delivery/' + version + 'a/'
+ copy {
+ from 'build/outputs/aar/'
+ into destination
+ include('Tracker-release.aar')
+ rename('Tracker-release.aar', 'Tracker.aar')
+ }
+ copy {
+ from 'build/intermediates/bundles/default/'
+ into destination
+ include('classes.jar')
+ rename('classes.jar', 'Tracker.jar')
+ }
+ copy {
+ from '.'
+ include '*.manifest.json'
+ into destination
+ }
+ }
+}
+
+task createProdDelivery {
+ doLast {
+ def destination = 'delivery/' + version + '/'
+ copy {
+ from 'build/outputs/aar/'
+ into destination
+ include('Tracker-release.aar')
+ rename('Tracker-release.aar', 'Tracker.aar')
+ }
+ copy {
+ from 'build/intermediates/bundles/default/'
+ into destination
+ include('classes.jar')
+ rename('classes.jar', 'Tracker.jar')
+ }
+ copy {
+ from '.'
+ include '*.manifest.json'
+ into destination
+ }
+ task(createZipFromJar, type: Zip) {
+ from destination
+ include 'Tracker.jar'
+ archiveName 'ATInternet_Android_SDK_' + version + '.zip'
+ destinationDir projectDir
+ }.execute()
+ }
+}
+
+task clearDelivery(type: Delete) {
+ delete 'delivery/'
+ delete 'technicalDoc/'
+ delete 'ATInternet_Android_SDK_' + version + '.zip'
+
+}
+
+createAlphaDelivery.dependsOn(clearDelivery, build)
+createProdDelivery.dependsOn(clearDelivery, build, javadoc)
diff --git a/ATMobileAnalytics/Tracker/core.manifest.json b/ATMobileAnalytics/Tracker/core.manifest.json
new file mode 100755
index 00000000..f7c72ac6
--- /dev/null
+++ b/ATMobileAnalytics/Tracker/core.manifest.json
@@ -0,0 +1,136 @@
+{
+ "name": "Core",
+ "description": "Geode_Tag_Android_Description",
+ "version": "2.3.5",
+ "type": "core",
+ "config": {
+ "storage": {
+ "title": "Geode_Tag_SDK_Config_Title_storage",
+ "description": "Geode_Tag_SDK_Config_Description_storage",
+ "defaultValue": "required",
+ "type": "string",
+ "public": true,
+ "global": true
+ },
+ "plugins": {
+ "title": "plugins",
+ "description": "",
+ "defaultValue": "",
+ "type": "string",
+ "public": true,
+ "global": true
+ },
+ "log": {
+ "title": "Geode_Tag_SDK_Config_Title_log",
+ "description": "",
+ "defaultValue": "",
+ "type": "string",
+ "public": true,
+ "global": true
+ },
+ "logSSL": {
+ "title": "Geode_Tag_SDK_Config_Title_logSSL",
+ "description": "",
+ "defaultValue": "",
+ "type": "string",
+ "public": true,
+ "global": true
+ },
+ "domain": {
+ "title": "Geode_Tag_SDK_Config_Title_domain",
+ "description": "",
+ "defaultValue": "xiti.com",
+ "type": "string",
+ "public": true,
+ "global": true
+ },
+ "pixelPath": {
+ "title": "Geode_Tag_SDK_Config_Title_pixelPath",
+ "description": "",
+ "defaultValue": "/hit.xiti",
+ "type": "string",
+ "public": true,
+ "global": true
+ },
+ "site": {
+ "title": "Geode_Tag_SDK_Config_Title_site",
+ "description": "Geode_Tag_SDK_Config_Description_site",
+ "defaultValue": "0",
+ "type": "int",
+ "public": true,
+ "global": true
+ },
+ "secure": {
+ "title": "Geode_Tag_SDK_Config_Title_secure",
+ "description": "Geode_Tag_SDK_Config_Description_secure",
+ "defaultValue": "false",
+ "type": "bool",
+ "public": true,
+ "global": true
+ },
+ "hashUserId": {
+ "title": "Geode_Tag_SDK_Config_Title_hashUserId",
+ "description": "Geode_Tag_SDK_Config_Description_hashUserId",
+ "defaultValue": "false",
+ "type": "bool",
+ "public": true,
+ "global": true
+ },
+ "identifier": {
+ "title": "Geode_Tag_SDK_Config_Title_identifier",
+ "description": "Geode_Tag_SDK_Config_Description_identifier_Android",
+ "defaultValue": "androidId",
+ "type": "string",
+ "public": true,
+ "global": true
+ },
+ "persistIdentifiedVisitor": {
+ "title": "Geode_Tag_SDK_Config_Title_persistIdentifiedVisitor",
+ "description": "Geode_Tag_SDK_Config_Description_persistIdentifiedVisitor",
+ "defaultValue": "true",
+ "type": "bool",
+ "public": true,
+ "global": true
+ },
+ "enableCrashDetection": {
+ "title": "Geode_Tag_SDK_Config_Title_enableCrashDetection",
+ "description": "Geode_Tag_SDK_Config_Description_enableCrashDetection",
+ "defaultValue": "true",
+ "type": "bool",
+ "public": true,
+ "global": true
+ },
+ "campaignLifetime": {
+ "title": "Geode_Tag_SDK_Config_Title_lifetime",
+ "description": "Geode_Tag_SDK_Config_Description_lifetime",
+ "defaultValue": "30",
+ "type": "int",
+ "public": true,
+ "global": true
+ },
+ "campaignLastPersistence": {
+ "title": "Geode_Tag_SDK_Config_Title_campaignLastPersistence",
+ "description": "Geode_Tag_SDK_Config_Description_campaignLastPersistence",
+ "defaultValue": "true",
+ "type": "bool",
+ "public": true,
+ "global": true
+ },
+ "sessionBackgroundDuration": {
+ "title": "Geode_Tag_SDK_Config_Title_sessionBackgroundDuration",
+ "description": "Geode_Tag_SDK_Config_Description_sessionBackgroundDuration",
+ "defaultValue": "60",
+ "type": "int",
+ "public": true,
+ "global": true
+ },
+ "downloadSource": {
+ "title": "Geode_Tag_SDK_Config_Title_downloadSource",
+ "description": "Geode_Tag_SDK_Config_Description_downloadSource",
+ "defaultValue": "int",
+ "type": "string",
+ "public": false,
+ "global": true
+ }
+ }
+}
diff --git a/ATMobileAnalytics/Tracker/docs-res/style.css b/ATMobileAnalytics/Tracker/docs-res/style.css
new file mode 100644
index 00000000..8f9796d6
--- /dev/null
+++ b/ATMobileAnalytics/Tracker/docs-res/style.css
@@ -0,0 +1,580 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+
+@import url('resources/fonts/dejavu.css');
+@import url('https://fonts.googleapis.com/css?family=Nunito');
+
+body {
+ background-color:white;
+ color:#54565f;;
+ /*font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;*/
+ font-family: 'Nunito', sans-serif;
+ font-size:14px;
+ margin:0;
+}
+a:link, a:visited {
+
+ color:#4A6782;
+}
+a:hover, a:focus {
+
+ color:#072237;
+}
+a:active {
+
+ color:#4A6782;
+}
+a[name] {
+ color:#4A6782;
+}
+a[name]:hover {
+
+ color:#072237;
+}
+pre {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+}
+h1 {
+ font-size:20px;
+}
+h2 {
+ font-size:18px;
+}
+h3 {
+ font-size:16px;
+ font-style:italic;
+}
+h4 {
+ font-size:13px;
+}
+h5 {
+ font-size:12px;
+}
+h6 {
+ font-size:11px;
+}
+ul {
+ list-style-type:disc;
+}
+code, tt {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+ margin-top:8px;
+ line-height:1.4em;
+}
+dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+}
+table tr td dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ vertical-align:top;
+ padding-top:4px;
+}
+sup {
+ font-size:8px;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+ clear:both;
+ height:0px;
+ overflow:hidden;
+}
+.aboutLanguage {
+ float:right;
+ padding:0px 21px;
+ font-size:11px;
+ z-index:200;
+ margin-top:-9px;
+}
+.legalCopy {
+ margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+ color:#D3D7DC;
+ text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+ color:#072750;
+}
+.tab {
+ background-color:#0066FF;
+ color:#D3D7DC;
+ padding:8px;
+ width:5em;
+ font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+ background-color:#072750;
+ color:#D3D7DC;
+ padding:.8em .5em .4em .8em;
+ height:auto;/*height:1.8em;*/
+ font-size:11px;
+ margin:0;
+}
+.topNav {
+ background-color:#072750;
+ color:#D3D7DC;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+ position:fixed;
+ z-index: 1;
+}
+.bottomNav {
+ margin-top:10px;
+ background-color:#072750;
+ color:#D3D7DC;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav {
+ background-color:#D3D7DC;
+ float:left;
+ width:100%;
+ overflow:hidden;
+ font-size:12px;
+ position: fixed;
+ top: 2.8em;
+ margin-top: 10px;
+}
+.subNav div {
+ clear:left;
+ float:left;
+ padding:0 0 5px 6px;
+ text-transform:uppercase;
+}
+ul.navList, ul.subNavList {
+ float:left;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.navList li{
+ list-style:none;
+ float:left;
+ padding: 5px 6px;
+ text-transform:uppercase;
+}
+ul.subNavList li{
+ list-style:none;
+ float:left;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
+ color:#D3D7DC;
+ text-decoration:none;
+ text-transform:uppercase;
+ padding: 5px 6px;
+ border: 1px solid transparent;
+}
+.topNav a:hover, .bottomNav a:hover {
+ text-decoration:none;
+ color:white;
+ border: 1px solid #0cacf8;
+ border-radius: 100px;
+}
+.navBarCell1Rev {
+ /*background-color:#072750;*/
+ color:white;
+ margin: auto 5px;
+ border: 1px solid #0cacf8;
+ background: #0cacf8;
+ border-radius: 100px;
+}
+.skipNav {
+ position:absolute;
+ top:auto;
+ left:-9999px;
+ overflow:hidden;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+ clear:both;
+ margin:0 20px;
+ padding:100px 0 0 0;
+}
+.indexHeader {
+ margin:10px;
+ position:relative;
+}
+.indexHeader span{
+ margin-right:15px;
+}
+.indexHeader h1 {
+ font-size:13px;
+}
+.title {
+ color:#072750;
+ margin:10px 0;
+}
+.subTitle {
+ margin:5px 0 0 0;
+}
+.header ul {
+ margin:0 0 15px 0;
+ padding:0;
+}
+.footer ul {
+ margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+ list-style:none;
+ font-size:13px;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+ background-color:#D3D7DC;
+ border:1px solid #072237;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ background-color:#D3D7DC;
+ border:1px solid #072237;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+ padding:0;
+ margin:15px 0;
+ color:#0cacf8;
+}
+ul.blockList li.blockList h2 {
+ padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
+ clear:both;
+ padding:10px 20px;
+ position:relative;
+}
+.indexContainer {
+ margin:10px;
+ position:relative;
+ font-size:12px;
+}
+.indexContainer h2 {
+ font-size:13px;
+ padding:0 0 3px 0;
+}
+.indexContainer ul {
+ margin:0;
+ padding:0;
+}
+.indexContainer ul li {
+ list-style:none;
+ padding-top:2px;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
+ font-size:12px;
+ font-weight:bold;
+ margin:10px 0 0 0;
+ color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
+ margin:5px 0 10px 0px;
+ font-size:14px;
+ font-family:'DejaVu Sans Mono',monospace;
+}
+.serializedFormContainer dl.nameValue dt {
+ margin-left:1px;
+ font-size:1.1em;
+ display:inline;
+ font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+ margin:0 0 0 1px;
+ font-size:1.1em;
+ display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+ display:inline;
+ font-size:0.9em;
+}
+ul.inheritance {
+ margin:0;
+ padding:0;
+}
+ul.inheritance li {
+ display:inline;
+ list-style:none;
+}
+ul.inheritance li ul.inheritance {
+ margin-left:15px;
+ padding-left:15px;
+ padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+ margin:10px 0 10px 0;
+ padding:0;
+ background-color: white;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+ list-style:none;
+ margin-bottom:15px;
+ line-height:1.4;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
+ padding:0px 20px 5px 10px;
+ border:1px solid #072750;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
+ padding:0 0 5px 8px;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+ margin-left:0;
+ padding-left:0;
+ padding-bottom:15px;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+ list-style:none;
+ border-bottom:none;
+ padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+ margin-top:0;
+ margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
+ width:100%;
+ border:1px solid #ececec;
+}
+.overviewSummary, .memberSummary {
+ padding:0px;
+}
+.overviewSummary caption, .memberSummary caption, .typeSummary caption,
+.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
+ position:relative;
+ text-align:left;
+ background-repeat:no-repeat;
+ color:#253441;
+ font-weight:bold;
+ clear:none;
+ overflow:hidden;
+ padding:0px;
+ padding-top:10px;
+ padding-left:1px;
+ margin:0px;
+ white-space:pre;
+}
+.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
+.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
+.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover,
+.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover,
+.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active,
+.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active,
+.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited,
+.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited {
+ text-decoration: none;
+}
+.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
+.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ padding-bottom:7px;
+ display:inline-block;
+ float:left;
+ background-color:transparent;
+ border: none;
+ height:16px;
+ box-shadow: inset 0 -2px 0 0 transparent;
+}
+.memberSummary caption span.activeTableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:transparent;
+ height:16px;
+ box-shadow: inset 0 -2px 0 0 #0cacf8;
+}
+.memberSummary caption span.tableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:transparent;
+ height:16px;
+}
+.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
+ padding-top:0px;
+ padding-left:0px;
+ padding-right:0px;
+ background-image:none;
+ float:none;
+ display:inline;
+}
+.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
+.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
+ display:none;
+ width:5px;
+ position:relative;
+ float:left;
+ background-color:#072750;
+}
+.memberSummary .activeTableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ float:left;
+ background-color:#072750;
+}
+.memberSummary .tableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ background-color:#072750;
+ float:left;
+
+}
+.overviewSummary td, .memberSummary td, .typeSummary td,
+.useSummary td, .constantsSummary td, .deprecatedSummary td {
+ text-align:left;
+ padding:0px 0px 12px 10px;
+}
+th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
+td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
+ vertical-align:top;
+ padding-right:0px;
+ padding-top:8px;
+ padding-bottom:3px;
+}
+th.colFirst, th.colLast, th.colOne, .constantsSummary th {
+ background:#e1e5eb;
+ color:#262b33;
+ text-transform: uppercase;
+ font-size:0.8em;
+ text-align:left;
+ padding:8px 3px 3px 7px;
+}
+td.colFirst, th.colFirst {
+ white-space:nowrap;
+}
+.overviewSummary td.colFirst, .overviewSummary th.colFirst,
+.useSummary td.colFirst, .useSummary th.colFirst,
+.overviewSummary td.colOne, .overviewSummary th.colOne,
+.memberSummary td.colFirst, .memberSummary th.colFirst,
+.memberSummary td.colOne, .memberSummary th.colOne,
+.typeSummary td.colFirst{
+ width:25%;
+ vertical-align:top;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
+ font-weight:bold;
+}
+.tableSubHeadingColor {
+ background-color:#D3D7DC;
+}
+.altColor {
+ background-color:white;
+}
+.rowColor {
+ background-color:rgb(252, 252, 252);;
+}
+/*
+Content styles
+*/
+.description pre {
+ margin-top:0;
+}
+.deprecatedContent {
+ margin:0;
+ padding:10px 0;
+}
+.docSummary {
+ padding:0;
+}
+
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ font-style:normal;
+}
+
+div.block {
+}
+
+td.colLast div {
+ padding-top:0px;
+}
+
+
+td.colLast a {
+ padding-bottom:3px;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+ color:green;
+ padding:0 30px 0 0;
+}
+h1.hidden {
+ visibility:hidden;
+ overflow:hidden;
+ font-size:10px;
+}
+.block {
+ display:block;
+ margin:3px 10px 2px 0px;
+}
+.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
+.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
+.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
+ font-weight:bold;
+}
+.deprecationComment, .emphasizedPhrase, .interfaceName {
+ font-style:italic;
+}
+
+div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+ font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+ padding-bottom:0px;
+}
\ No newline at end of file
diff --git a/ATMobileAnalytics/Tracker/gradle/wrapper/gradle-wrapper.jar b/ATMobileAnalytics/Tracker/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000..13372aef
Binary files /dev/null and b/ATMobileAnalytics/Tracker/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/ATMobileAnalytics/Tracker/gradle/wrapper/gradle-wrapper.properties b/ATMobileAnalytics/Tracker/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 00000000..04e285f3
--- /dev/null
+++ b/ATMobileAnalytics/Tracker/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Mon Dec 28 10:00:20 PST 2015
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
diff --git a/ATMobileAnalytics/Tracker/gradlew b/ATMobileAnalytics/Tracker/gradlew
new file mode 100644
index 00000000..9d82f789
--- /dev/null
+++ b/ATMobileAnalytics/Tracker/gradlew
@@ -0,0 +1,160 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/ATMobileAnalytics/Tracker/gradlew.bat b/ATMobileAnalytics/Tracker/gradlew.bat
new file mode 100644
index 00000000..8a0b282a
--- /dev/null
+++ b/ATMobileAnalytics/Tracker/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/ATMobileAnalytics/Tracker/local.properties b/ATMobileAnalytics/Tracker/local.properties
new file mode 100644
index 00000000..7e9e088b
--- /dev/null
+++ b/ATMobileAnalytics/Tracker/local.properties
@@ -0,0 +1,11 @@
+## This file is automatically generated by Android Studio.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must *NOT* be checked into Version Control Systems,
+# as it contains information specific to your local configuration.
+#
+# Location of the SDK. This is only used by Gradle.
+# For customization when using a Version Control System, please read the
+# header note.
+#Thu Oct 20 16:45:52 CEST 2016
+sdk.dir=/Users/nsagnette/Library/Android/sdk
\ No newline at end of file
diff --git a/ATMobileAnalytics/Tracker/nuggad.manifest.json b/ATMobileAnalytics/Tracker/nuggad.manifest.json
new file mode 100755
index 00000000..105a9faf
--- /dev/null
+++ b/ATMobileAnalytics/Tracker/nuggad.manifest.json
@@ -0,0 +1,6 @@
+{
+ "name": "Geode_Tag_Plg_NuggAd",
+ "description": "Plugin permettant de récupérer les informations liées à NuggAd",
+ "type": "sdkplugins",
+ "config": {}
+}
\ No newline at end of file
diff --git a/ATMobileAnalytics/Tracker/sonar-project.properties b/ATMobileAnalytics/Tracker/sonar-project.properties
deleted file mode 100755
index f2882f73..00000000
--- a/ATMobileAnalytics/Tracker/sonar-project.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-sonar.projectKey=ATAndroidTracker
-sonar.projectName=Android SDK v2
-sonar.projectVersion=2.0
-sonar.projectDescription="SDK Android v2
-
-sonar.sources=src/main
-#sonar.java.binaries=build/debug
-
-sonar.language=java
-sonar.sourceEncoding=UTF-8
-
-sonar.profile=Android Lint
diff --git a/ATMobileAnalytics/Tracker/src/main/assets/defaultConfiguration.json b/ATMobileAnalytics/Tracker/src/main/assets/defaultConfiguration.json
deleted file mode 100644
index 996dabca..00000000
--- a/ATMobileAnalytics/Tracker/src/main/assets/defaultConfiguration.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "phone": {
- "log": "logp",
- "logSSL": "logsPhone",
- "domain": "xiti.com",
- "site": 123,
- "storageduration": 4,
- "storage": "required",
- "plugins": "nuggad,tvtracking",
- "secure": false,
- "identifier": "androidId",
- "hashUserId": false,
- "pixelPath": "/hit.xiti",
- "persistIdentifiedVisitor": false,
- "tvtURL": "test.com",
- "tvtVisitDuration": 12,
- "tvtSpotValidityTime": 5,
- "enableCrashDetection": true,
- "campaignLastPersistence": true,
- "campaignLifetime": 10,
- "sessionBackgroundDuration": 60,
- "downloadSource": "int"
- },
- "tablet": {
- "log": "logTablet",
- "logSSL": "logsTablet",
- "domain": "xiti.com",
- "site": 456,
- "storageduration": 4,
- "storage": "required",
- "plugins": "nuggad,tvtracking",
- "secure": false,
- "identifier": "androidId",
- "hashUserId": false,
- "pixelPath": "/hit.xiti",
- "persistIdentifiedVisitor": false,
- "tvtURL": "test.com",
- "tvtVisitDuration": 12,
- "tvtSpotValidityTime": 5,
- "enableCrashDetection": true,
- "campaignLastPersistence": true,
- "campaignLifetime": 10,
- "sessionBackgroundDuration": 60,
- "downloadSource": "int"
- }
-}
\ No newline at end of file
diff --git a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Helper.java b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATFrameLayout.java
similarity index 70%
rename from ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Helper.java
rename to ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATFrameLayout.java
index 6687ac48..49a14d3c 100644
--- a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Helper.java
+++ b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATFrameLayout.java
@@ -22,25 +22,21 @@ of this software and associated documentation files (the "Software"), to deal
*/
package com.atinternet.tracker;
-abstract class Helper {
+import android.annotation.SuppressLint;
+import android.util.AttributeSet;
+import android.widget.FrameLayout;
- /**
- * Tracker Instance
- */
- Tracker tracker;
+@SuppressLint("Instantiatable")
+public class ATFrameLayout extends FrameLayout {
+ public ATFrameLayout(android.content.Context context) {
+ super(context);
+ }
- /**
- * Super constructor
- *
- * @param tracker Tracker
- */
- Helper(Tracker tracker) {
- this.tracker = tracker;
+ public ATFrameLayout(android.content.Context context, AttributeSet attrs) {
+ super(context, attrs);
}
- /**
- * Empty constructor
- */
- Helper() {
+ public ATFrameLayout(android.content.Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
}
}
diff --git a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/OrderCustomVar.java b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATImageView.java
similarity index 71%
rename from ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/OrderCustomVar.java
rename to ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATImageView.java
index dc8b9383..f2a03b4e 100644
--- a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/OrderCustomVar.java
+++ b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATImageView.java
@@ -22,22 +22,21 @@ of this software and associated documentation files (the "Software"), to deal
*/
package com.atinternet.tracker;
-class OrderCustomVar {
-
- private final int varId;
-
- private final String value;
-
- int getVarId() {
- return varId;
+import android.annotation.SuppressLint;
+import android.util.AttributeSet;
+import android.widget.ImageView;
+
+@SuppressLint("Instantiatable")
+public class ATImageView extends ImageView {
+ public ATImageView(android.content.Context context) {
+ super(context);
}
- String getValue() {
- return value;
+ public ATImageView(android.content.Context context, AttributeSet attrs) {
+ super(context, attrs);
}
- OrderCustomVar(int varId, String value) {
- this.varId = varId;
- this.value = value;
+ public ATImageView(android.content.Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
}
}
diff --git a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATInternet.java b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATInternet.java
index e233e22a..bb58a81a 100644
--- a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATInternet.java
+++ b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATInternet.java
@@ -22,49 +22,98 @@ of this software and associated documentation files (the "Software"), to deal
*/
package com.atinternet.tracker;
-import android.app.Application;
-
import java.util.HashMap;
-public class ATInternet extends Application {
+/**
+ * Use this class to manage tracker instances
+ */
+public class ATInternet {
+ /**
+ * Overlay permission Activity result code
+ */
public static final int ALLOW_OVERLAY_INTENT_RESULT_CODE = 230; // Version number when this code appairs
+ private static ATInternet instance = new ATInternet();
+
+ private ATInternet() {
+ }
+
+ /**
+ * Get ATInternet singleton
+ *
+ * @return the ATInternet singleton object
+ */
+ public static ATInternet getInstance() {
+ return instance;
+ }
+
private final HashMap trackers = new HashMap<>();
/**
- * Get the default tracker
+ * Get a tracker with "defaultTracker" name
*
- * @return Tracker
+ * @return Tracker instance
*/
public Tracker getDefaultTracker() {
return getTracker("defaultTracker");
}
/**
- * Get a tracker with name
+ * Get a tracker with default configuration
*
- * @param trackerName String
- * @return Tracker
+ * @param trackerName tracker identifier
+ * @return a new Tracker or existing instance
*/
public Tracker getTracker(String trackerName) {
if (!trackers.containsKey(trackerName)) {
- Tracker tracker = new Tracker(this);
+ Tracker tracker = new Tracker();
+ trackers.put(trackerName, tracker);
+ }
+ return trackers.get(trackerName);
+ }
+
+ /**
+ * Get a tracker with default configuration
+ *
+ * @param context current activity context
+ * @param trackerName tracker identifier
+ * @return a new Tracker or existing instance
+ */
+ public Tracker getTracker(android.content.Context context, String trackerName) {
+ if (!trackers.containsKey(trackerName)) {
+ Tracker tracker = new Tracker(context);
trackers.put(trackerName, tracker);
}
return trackers.get(trackerName);
}
/**
- * Get a tracker with name and a set the configuration
+ * Get a tracker with custom configuration
*
- * @param trackerName String
- * @param configuration HashMap
- * @return Tracker
+ * @param trackerName tracker identifier
+ * @param configuration custom configuration (see TrackerConfigurationKeys)
+ * @return a new Tracker or existing instance
*/
public Tracker getTracker(String trackerName, HashMap configuration) {
if (!trackers.containsKey(trackerName)) {
- Tracker tracker = new Tracker(this, configuration);
+ Tracker tracker = new Tracker(configuration);
+ trackers.put(trackerName, tracker);
+ }
+ return trackers.get(trackerName);
+ }
+
+ /**
+ * Get a tracker with custom configuration
+ *
+ * @param context current activity context
+ * @param trackerName tracker identifier
+ * @param configuration custom configuration (see TrackerConfigurationKeys)
+ * @return a new Tracker or existing instance
+ */
+ public Tracker getTracker(android.content.Context context, String trackerName, HashMap configuration) {
+ if (!trackers.containsKey(trackerName)) {
+ Tracker tracker = new Tracker(context, configuration);
trackers.put(trackerName, tracker);
}
return trackers.get(trackerName);
diff --git a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ScreenInfo.java b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATRelativeLayout.java
similarity index 68%
rename from ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ScreenInfo.java
rename to ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATRelativeLayout.java
index 6dd25af1..e70331f8 100644
--- a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ScreenInfo.java
+++ b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/ATRelativeLayout.java
@@ -22,9 +22,23 @@ of this software and associated documentation files (the "Software"), to deal
*/
package com.atinternet.tracker;
-abstract class ScreenInfo extends BusinessObject {
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.RelativeLayout;
- ScreenInfo(Tracker tracker) {
- super(tracker);
+@SuppressLint("Instantiatable")
+public class ATRelativeLayout extends RelativeLayout {
+ public ATRelativeLayout(android.content.Context context) {
+ super(context);
+ }
+
+ public ATRelativeLayout(android.content.Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public ATRelativeLayout(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
}
}
+
diff --git a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/AbstractScreen.java b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/AbstractScreen.java
index 87c94dea..c2b386c6 100644
--- a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/AbstractScreen.java
+++ b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/AbstractScreen.java
@@ -24,9 +24,12 @@ of this software and associated documentation files (the "Software"), to deal
import java.util.LinkedHashMap;
+/**
+ * Abstract class to manage screen tracking
+ */
public abstract class AbstractScreen extends BusinessObject {
- public enum Action {
+ enum Action {
View("view");
private final String str;
@@ -41,11 +44,11 @@ public String stringValue() {
}
- String name;
- String chapter1;
- String chapter2;
- String chapter3;
- Action action;
+ protected String name;
+ protected String chapter1;
+ protected String chapter2;
+ protected String chapter3;
+ protected Action action;
boolean isBasketScreen;
int level2;
@@ -83,9 +86,9 @@ LinkedHashMap getPublisherImpressionsMap() {
}
/**
- * Get the name
+ * Get the screen name
*
- * @return String
+ * @return the screen name
*/
public String getName() {
return name;
@@ -94,16 +97,16 @@ public String getName() {
/**
* Get the action type
*
- * @return AbstractScreen.Action
+ * @return the action type
*/
public Action getAction() {
return action;
}
/**
- * Get the level2
+ * Get the level 2
*
- * @return int
+ * @return the level 2
*/
public int getLevel2() {
return level2;
@@ -112,7 +115,7 @@ public int getLevel2() {
/**
* Get the first chapter
*
- * @return String
+ * @return the first chapter
*/
public String getChapter1() {
return chapter1;
@@ -121,7 +124,7 @@ public String getChapter1() {
/**
* Get the second chapter
*
- * @return String
+ * @return the second chapter
*/
public String getChapter2() {
return chapter2;
@@ -130,25 +133,25 @@ public String getChapter2() {
/**
* Get the third chapter
*
- * @return String
+ * @return the third chapter
*/
public String getChapter3() {
return chapter3;
}
/**
- * Get boolean isBasketScreen value
+ * Get "isBasketScreen" value
*
- * @return boolean
+ * @return true is screen is basket screen
*/
public boolean isBasketScreen() {
return isBasketScreen;
}
/**
- * Set a cart
+ * Attach a cart to screen
*
- * @param cart Cart
+ * @param cart the cart instance
*/
public void setCart(Cart cart) {
this.cart = cart;
@@ -156,11 +159,11 @@ public void setCart(Cart cart) {
}
/**
- * Add location informations
+ * Attach location information to screen
*
- * @param latitude double
- * @param longitude double
- * @return Location
+ * @param latitude latitude x value
+ * @param longitude longitude y value
+ * @return the Location instance
*/
public Location Location(double latitude, double longitude) {
return location == null ? (location = new Location(tracker)
@@ -169,41 +172,41 @@ public Location Location(double latitude, double longitude) {
}
/**
- * Add aisle informations
+ * Attach visited aisle information to screen
*
- * @param level1 String
- * @return Aisle
+ * @param level1 first aisle level
+ * @return the Aisle instance
*/
public Aisle Aisle(String level1) {
return aisle == null ? (aisle = new Aisle(tracker).setLevel1(level1)) : aisle;
}
/**
- * Add a custom tree structure
+ * Attach a custom tree structure to screen
*
- * @param category1 int
- * @return CustomTreeStructure
+ * @param category1 first custom tree structure category
+ * @return the CustomTreeStructure instance
*/
public CustomTreeStructure CustomTreeStructure(int category1) {
return customTreeStructure == null ? (customTreeStructure = new CustomTreeStructure(tracker).setCategory1(category1)) : customTreeStructure;
}
/**
- * Add campaign informations
+ * Attach campaign information to screen
*
- * @param campaignId String
- * @return Campaign
+ * @param campaignId campaign identifier
+ * @return the Campaign identifier
*/
public Campaign Campaign(String campaignId) {
return campaign == null ? (campaign = new Campaign(tracker).setCampaignId(campaignId)) : campaign;
}
/**
- * Add an order
+ * Attach an order to screen
*
- * @param orderId String
- * @param turnover double
- * @return Order
+ * @param orderId order identifier
+ * @param turnover order turnover
+ * @return the Order instance
* @deprecated Since 2.3.4, bug was revealed when this method is used. Use Orders tracker property instead.
*/
@Deprecated
@@ -212,11 +215,11 @@ public Order Order(String orderId, double turnover) {
}
/**
- * Add internal search informations
+ * Attach internal search information to screen
*
- * @param keywordLabel String
- * @param resultScreenNumber int
- * @return InternalSearch
+ * @param keywordLabel keyword has been searched
+ * @param resultScreenNumber screen result number
+ * @return the InternalSearch instance
*/
public InternalSearch InternalSearch(String keywordLabel, int resultScreenNumber) {
return internalSearch == null ? (internalSearch = new InternalSearch(tracker)
@@ -225,49 +228,50 @@ public InternalSearch InternalSearch(String keywordLabel, int resultScreenNumber
}
/**
- * Get CustomVars
+ * Get a wrapper for CustomVar management
*
- * @return CustomVars
+ * @return CustomVars instance
*/
public CustomVars CustomVars() {
return customVars == null ? (customVars = new CustomVars(this)) : customVars;
}
/**
- * Get CustomObjects
+ * Get a wrapper for CustomObject management
*
- * @return CustomObjects
+ * @return CustomObjects instance
*/
public CustomObjects CustomObjects() {
return customObjects == null ? (customObjects = new CustomObjects(this)) : customObjects;
}
/**
- * Get Publishers
+ * Get a wrapper for PublisherImpression management
*
- * @return PublisherImpressions
+ * @return PublisherImpressions instance
*/
public PublisherImpressions Publishers() {
return publisherImpressions == null ? (publisherImpressions = new PublisherImpressions(this)) : publisherImpressions;
}
/**
- * Get SelfPromotions
+ * Get a wrapper for SelfPromotionImpression management
*
- * @return SelfPromotionImpressions
+ * @return SelfPromotionImpressions instance
*/
public SelfPromotionImpressions SelfPromotions() {
return selfPromotionImpressions == null ? (selfPromotionImpressions = new SelfPromotionImpressions(this)) : selfPromotionImpressions;
}
/**
- * Send a screen view event
+ * Send the screen view event
*/
public void sendView() {
action = Action.View;
tracker.getDispatcher().dispatch(this);
}
+
AbstractScreen(Tracker tracker) {
super(tracker);
action = Action.View;
diff --git a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Aisle.java b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Aisle.java
index 639fcc98..22589fc2 100644
--- a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Aisle.java
+++ b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Aisle.java
@@ -22,6 +22,9 @@ of this software and associated documentation files (the "Software"), to deal
*/
package com.atinternet.tracker;
+/**
+ * Wrapper class for visited aisle tracking
+ */
public class Aisle extends ScreenInfo {
private String level1;
@@ -32,10 +35,14 @@ public class Aisle extends ScreenInfo {
private String level6;
+ Aisle(Tracker tracker) {
+ super(tracker);
+ }
+
/**
* Get the aisle first level
*
- * @return String
+ * @return the aisle first level
*/
public String getLevel1() {
return level1;
@@ -44,7 +51,7 @@ public String getLevel1() {
/**
* Get the aisle second level
*
- * @return String
+ * @return the aisle second level
*/
public String getLevel2() {
return level2;
@@ -53,7 +60,7 @@ public String getLevel2() {
/**
* Get the aisle third level
*
- * @return String
+ * @return the aisle third level
*/
public String getLevel3() {
return level3;
@@ -62,7 +69,7 @@ public String getLevel3() {
/**
* Get the aisle fourth level
*
- * @return String
+ * @return the aisle fourth level
*/
public String getLevel4() {
return level4;
@@ -71,7 +78,7 @@ public String getLevel4() {
/**
* Get the aisle fifth level
*
- * @return String
+ * @return the aisle fifth level
*/
public String getLevel5() {
return level5;
@@ -80,7 +87,7 @@ public String getLevel5() {
/**
* Get the aisle sixth level
*
- * @return String
+ * @return the aisle sixth level
*/
public String getLevel6() {
return level6;
@@ -89,8 +96,8 @@ public String getLevel6() {
/**
* Set a new first level
*
- * @param level1 String
- * @return Aisle
+ * @param level1 aisle first level
+ * @return the Aisle instance
*/
public Aisle setLevel1(String level1) {
this.level1 = level1;
@@ -100,8 +107,8 @@ public Aisle setLevel1(String level1) {
/**
* Set a new second level
*
- * @param level2 String
- * @return Aisle
+ * @param level2 aisle second level
+ * @return the Aisle instance
*/
public Aisle setLevel2(String level2) {
this.level2 = level2;
@@ -111,8 +118,8 @@ public Aisle setLevel2(String level2) {
/**
* Set a new third level
*
- * @param level3 String
- * @return Aisle
+ * @param level3 aisle third level
+ * @return the Aisle instance
*/
public Aisle setLevel3(String level3) {
this.level3 = level3;
@@ -122,8 +129,8 @@ public Aisle setLevel3(String level3) {
/**
* Set a new fourth level
*
- * @param level4 String
- * @return Aisle
+ * @param level4 aisle fourth level
+ * @return the Aisle instance
*/
public Aisle setLevel4(String level4) {
this.level4 = level4;
@@ -133,19 +140,20 @@ public Aisle setLevel4(String level4) {
/**
* Set a new fifth level
*
- * @param level5 String
- * @return Aisle
+ * @param level5 aisle fifth level
+ * @return the Aisle instance
*/
public Aisle setLevel5(String level5) {
this.level5 = level5;
return this;
}
+
/**
* Set a new sixth level
*
- * @param level6 String
- * @return Aisle
+ * @param level6 aisle sixth level
+ * @return the Aisle instance
*/
public Aisle setLevel6(String level6) {
this.level6 = level6;
@@ -153,11 +161,6 @@ public Aisle setLevel6(String level6) {
}
- Aisle(Tracker tracker) {
- super(tracker);
- }
-
-
@Override
void setEvent() {
String value = level1;
diff --git a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Aisles.java b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Aisles.java
index 62e0a28f..be29446b 100644
--- a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Aisles.java
+++ b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Aisles.java
@@ -23,6 +23,8 @@ of this software and associated documentation files (the "Software"), to deal
package com.atinternet.tracker;
/**
+ * Wrapper class to manage Aisle instances
+ *
* @deprecated Since 2.3.0, Aisle is now only available as a screen object property.
*/
@Deprecated
@@ -35,8 +37,8 @@ public class Aisles extends Helper {
/**
* Add an aisle
*
- * @param level1 String
- * @return Aisle
+ * @param level1 aisle first level
+ * @return a Aisle instance
*/
public Aisle add(String level1) {
Aisle aisle = new Aisle(tracker)
@@ -49,9 +51,9 @@ public Aisle add(String level1) {
/**
* Add an aisle
*
- * @param level1 String
- * @param level2 String
- * @return Aisle
+ * @param level1 aisle first level
+ * @param level2 aisle second level
+ * @return a Aisle instance
*/
public Aisle add(String level1, String level2) {
return add(level1).setLevel2(level2);
@@ -60,10 +62,10 @@ public Aisle add(String level1, String level2) {
/**
* Add an aisle
*
- * @param level1 String
- * @param level2 String
- * @param level3 String
- * @return Aisle
+ * @param level1 aisle first level
+ * @param level2 aisle second level
+ * @param level3 aisle third level
+ * @return a Aisle instance
*/
public Aisle add(String level1, String level2, String level3) {
return add(level1, level2).setLevel3(level3);
@@ -72,11 +74,11 @@ public Aisle add(String level1, String level2, String level3) {
/**
* Add an aisle
*
- * @param level1 String
- * @param level2 String
- * @param level3 String
- * @param level4 String
- * @return Aisle
+ * @param level1 aisle first level
+ * @param level2 aisle second level
+ * @param level3 aisle third level
+ * @param level4 aisle fourth level
+ * @return a Aisle instance
*/
public Aisle add(String level1, String level2, String level3, String level4) {
return add(level1, level2, level3).setLevel4(level4);
@@ -85,12 +87,12 @@ public Aisle add(String level1, String level2, String level3, String level4) {
/**
* Add an aisle
*
- * @param level1 String
- * @param level2 String
- * @param level3 String
- * @param level4 String
- * @param level5 String
- * @return Aisle
+ * @param level1 aisle first level
+ * @param level2 aisle second level
+ * @param level3 aisle third level
+ * @param level4 aisle fourth level
+ * @param level5 aisle fifth level
+ * @return a Aisle instance
*/
public Aisle add(String level1, String level2, String level3, String level4, String level5) {
return add(level1, level2, level3, level4).setLevel5(level5);
@@ -99,13 +101,13 @@ public Aisle add(String level1, String level2, String level3, String level4, Str
/**
* Add an aisle
*
- * @param level1 String
- * @param level2 String
- * @param level3 String
- * @param level4 String
- * @param level5 String
- * @param level6 String
- * @return Aisle
+ * @param level1 aisle first level
+ * @param level2 aisle second level
+ * @param level3 aisle third level
+ * @param level4 aisle fourth level
+ * @param level5 aisle fifth level
+ * @param level6 aisle sixth level
+ * @return a Aisle instance
*/
public Aisle add(String level1, String level2, String level3, String level4, String level5, String level6) {
return add(level1, level2, level3, level4, level5).setLevel6(level6);
diff --git a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Audio.java b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Audio.java
index bcebde4c..d471a509 100644
--- a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Audio.java
+++ b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Audio.java
@@ -22,14 +22,23 @@ of this software and associated documentation files (the "Software"), to deal
*/
package com.atinternet.tracker;
+/**
+ * Wrapper class for audio media tracking
+ */
public class Audio extends RichMedia {
private int duration;
+ Audio(MediaPlayer player) {
+ super(player);
+ broadcastMode = BroadcastMode.Clip;
+ type = "audio";
+ }
+
/**
* Get the duration
*
- * @return int
+ * @return the duration
*/
public int getDuration() {
return duration;
@@ -38,8 +47,8 @@ public int getDuration() {
/**
* Set a new duration
*
- * @param duration int
- * @return Audio
+ * @param duration /
+ * @return the Audio instance
*/
public Audio setDuration(int duration) {
this.duration = duration;
@@ -50,8 +59,8 @@ public Audio setDuration(int duration) {
/**
* Set a new name
*
- * @param name String
- * @return Audio
+ * @param name /
+ * @return the Audio instance
*/
public Audio setName(String name) {
this.name = name;
@@ -61,8 +70,8 @@ public Audio setName(String name) {
/**
* Set a level 2
*
- * @param level2 int
- * @return Audio
+ * @param level2 /
+ * @return the Audio instance
*/
public Audio setLevel2(int level2) {
this.level2 = level2;
@@ -71,10 +80,10 @@ public Audio setLevel2(int level2) {
}
/**
- * Change boolean isBuffering value
+ * Change boolean "isBuffering" value
*
- * @param isBuffering boolean
- * @return Audio
+ * @param isBuffering /
+ * @return the Audio instance
*/
public Audio setBuffering(boolean isBuffering) {
this.isBuffering = isBuffering;
@@ -83,10 +92,10 @@ public Audio setBuffering(boolean isBuffering) {
}
/**
- * Change boolean isEmbedded value
+ * Change boolean "isEmbedded" value
*
- * @param isEmbedded boolean
- * @return Audio
+ * @param isEmbedded /
+ * @return the Audio instance
*/
public Audio setEmbedded(boolean isEmbedded) {
this.isEmbedded = isEmbedded;
@@ -97,8 +106,8 @@ public Audio setEmbedded(boolean isEmbedded) {
/**
* Set a new first chapter
*
- * @param chapter1 String
- * @return Audio
+ * @param chapter1 /
+ * @return the Audio instance
*/
public Audio setChapter1(String chapter1) {
this.chapter1 = chapter1;
@@ -108,8 +117,8 @@ public Audio setChapter1(String chapter1) {
/**
* Set a new second chapter
*
- * @param chapter2 String
- * @return Audio
+ * @param chapter2 /
+ * @return the Audio instance
*/
public Audio setChapter2(String chapter2) {
this.chapter2 = chapter2;
@@ -119,8 +128,8 @@ public Audio setChapter2(String chapter2) {
/**
* Set a new third chapter
*
- * @param chapter3 String
- * @return Audio
+ * @param chapter3 /
+ * @return the Audio instance
*/
public Audio setChapter3(String chapter3) {
this.chapter3 = chapter3;
@@ -130,8 +139,8 @@ public Audio setChapter3(String chapter3) {
/**
* Set a new action
*
- * @param action RichMedia.Action
- * @return Audio
+ * @param action /
+ * @return the Audio instance
*/
public Audio setAction(Action action) {
this.action = action;
@@ -140,22 +149,16 @@ public Audio setAction(Action action) {
}
/**
- * Set a new webdomain
+ * Set a new web domain
*
- * @param webDomain String
- * @return Audio
+ * @param webDomain /
+ * @return the Audio instance
*/
public Audio setWebDomain(String webDomain) {
this.webDomain = webDomain;
return this;
}
- Audio(MediaPlayer player) {
- super(player);
- broadcastMode = BroadcastMode.Clip;
- type = "audio";
- }
-
@Override
void setEvent() {
super.setEvent();
diff --git a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Audios.java b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Audios.java
index 5a2d6d7e..bab030e9 100644
--- a/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Audios.java
+++ b/ATMobileAnalytics/Tracker/src/main/java/com/atinternet/tracker/Audios.java
@@ -24,21 +24,24 @@ of this software and associated documentation files (the "Software"), to deal
import java.util.ArrayList;
+/**
+ * Wrapper class to manage Audio instances
+ */
public class Audios {
- final ArrayList