diff --git a/android/.project b/android/.project new file mode 100644 index 0000000..b0c0c84 --- /dev/null +++ b/android/.project @@ -0,0 +1,29 @@ + + + titanium-firebase-analytics + + + + + + com.appcelerator.titanium.core.builder + + + + + com.aptana.ide.core.unifiedBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + com.appcelerator.titanium.mobile.module.nature + com.aptana.projects.webnature + + diff --git a/android/Resources/README.md b/android/Resources/README.md new file mode 100644 index 0000000..8a22549 --- /dev/null +++ b/android/Resources/README.md @@ -0,0 +1,8 @@ +Files in this folder are copied directory into the compiled product directory +when the Android app is compiled: + + /build/android/bin/assets/Resources/ + +Files in this directory are copied directly on top of whatever files are already +in the build directory, so please be careful that your files don't clobber +essential project files or files from other modules. diff --git a/android/build.xml b/android/build.xml new file mode 100644 index 0000000..1dde6cc --- /dev/null +++ b/android/build.xml @@ -0,0 +1,56 @@ + + + Ant build script for Titanium Android module titanium-firebase-analytics + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/java-sources.txt b/android/java-sources.txt new file mode 100644 index 0000000..417df12 --- /dev/null +++ b/android/java-sources.txt @@ -0,0 +1,8 @@ +"/Users/hknoechel/Documents/appcelerator_modules/titanium-firebase/titanium-firebase-analytics/android/src/firebase/analytics/TitaniumFirebaseAnalyticsModule.java" +"/Users/hknoechel/Documents/appcelerator_modules/titanium-firebase/titanium-firebase-analytics/android/build/generated/java/firebase/analytics/TitaniumFirebaseAnalyticsBootstrap.java" +"/Users/hknoechel/Documents/appcelerator_modules/titanium-firebase/titanium-firebase-analytics/android/build/generated/r/android/support/compat/R.java" +"/Users/hknoechel/Documents/appcelerator_modules/titanium-firebase/titanium-firebase-analytics/android/build/generated/r/android/support/design/R.java" +"/Users/hknoechel/Documents/appcelerator_modules/titanium-firebase/titanium-firebase-analytics/android/build/generated/r/android/support/v7/appcompat/R.java" +"/Users/hknoechel/Documents/appcelerator_modules/titanium-firebase/titanium-firebase-analytics/android/build/generated/r/android/support/v7/cardview/R.java" +"/Users/hknoechel/Documents/appcelerator_modules/titanium-firebase/titanium-firebase-analytics/android/build/generated/r/firebase/analytics/R.java" +"/Users/hknoechel/Documents/appcelerator_modules/titanium-firebase/titanium-firebase-analytics/android/build/generated/r/ti/modules/titanium/ui/R.java" \ No newline at end of file diff --git a/android/lib/firebase-analytics-11.0.4.aar b/android/lib/firebase-analytics-11.0.4.aar new file mode 100755 index 0000000..cc6db34 Binary files /dev/null and b/android/lib/firebase-analytics-11.0.4.aar differ diff --git a/android/lib/firebase-analytics-impl-11.0.4.aar b/android/lib/firebase-analytics-impl-11.0.4.aar new file mode 100755 index 0000000..0d77b31 Binary files /dev/null and b/android/lib/firebase-analytics-impl-11.0.4.aar differ diff --git a/android/manifest b/android/manifest new file mode 100644 index 0000000..b12025c --- /dev/null +++ b/android/manifest @@ -0,0 +1,18 @@ +# +# this is your module manifest and used by Titanium +# during compilation, packaging, distribution, etc. +# +version: 1.0.0 +apiversion: 3 +architectures: armeabi-v7a x86 +description: titanium-firebase-analytics +author: Hans Knoechel +license: Apache 2 +copyright: Copyright (c) 2017 by Axway Appcelerator + +# these should not be edited +name: titanium-firebase-analytics +moduleid: firebase.analytics +guid: a1f48874-bd3a-4378-b623-79012aad1d20 +platform: android +minsdk: 6.2.2.GA diff --git a/android/platform/README.md b/android/platform/README.md new file mode 100644 index 0000000..ced6ac3 --- /dev/null +++ b/android/platform/README.md @@ -0,0 +1,10 @@ +Files in this folder are copied directory into the Android build directory +when the Android app is compiled: + + /build/android + +You can place files such as res strings or drawable files. + +Files in this directory are copied directly on top of whatever files are already +in the build directory, so please be careful that your files don't clobber +essential project files or files from other modules. diff --git a/android/src/firebase/analytics/TitaniumFirebaseAnalyticsModule.java b/android/src/firebase/analytics/TitaniumFirebaseAnalyticsModule.java new file mode 100644 index 0000000..00c0fee --- /dev/null +++ b/android/src/firebase/analytics/TitaniumFirebaseAnalyticsModule.java @@ -0,0 +1,63 @@ +/** + * This file was auto-generated by the Titanium Module SDK helper for Android + * Appcelerator Titanium Mobile + * Copyright (c) 2009-2010 by Appcelerator, Inc. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + * + */ +package firebase.analytics; + +import org.appcelerator.kroll.KrollDict; +import org.appcelerator.kroll.KrollModule; +import org.appcelerator.kroll.common.Log; +import org.appcelerator.kroll.common.TiConfig; +import org.appcelerator.kroll.annotations.Kroll; + +import org.appcelerator.titanium.TiApplication; +import org.appcelerator.titanium.util.TiConvert; + +import android.os.Bundle; + +import com.google.firebase.analytics.FirebaseAnalytics; +import com.google.firebase.analytics.FirebaseAnalytics.Param; + +@Kroll.module(name="TitaniumFirebaseAnalytics", id="firebase.analytics") +public class TitaniumFirebaseAnalyticsModule extends KrollModule +{ + private static final String LCAT = "TitaniumFirebaseAnalyticsModule"; + private static final boolean DBG = TiConfig.LOGD; + + public TitaniumFirebaseAnalyticsModule() + { + super(); + } + + @Kroll.method + public void log(String name, KrollDict parameters) + { + Bundle bundle = new Bundle(); + + // TODO: Loop through all keys and set accordingly + if (parameters.containsKey(Param.ACHIEVEMENT_ID)) { + bundle.putString(Param.ACHIEVEMENT_ID, TiConvert.toString(parameters, Param.ACHIEVEMENT_ID)); + } + + FirebaseAnalytics.getInstance(TiApplication.getInstance().getApplicationContext()). + logEvent(name, bundle); + } + + @Kroll.method @Kroll.setProperty + public void setUserPropertyString(KrollDict parameters) + { + FirebaseAnalytics.getInstance(TiApplication.getInstance().getApplicationContext()). + setUserProperty(TiConvert.toString(parameters, "name"), TiConvert.toString(parameters, "value")); + } + + @Kroll.method @Kroll.setProperty + public void setScreenNameAndScreenClass(KrollDict parameters) + { + Log.e(LCAT, "Firebase.setScreenNameAndScreenClass() is not implemented on Android, yet!"); + } +} + diff --git a/android/timodule.xml b/android/timodule.xml new file mode 100644 index 0000000..7ec022e --- /dev/null +++ b/android/timodule.xml @@ -0,0 +1,7 @@ + + + + + ti.playservices + + diff --git a/assets/README b/assets/README new file mode 100644 index 0000000..a6c1220 --- /dev/null +++ b/assets/README @@ -0,0 +1,9 @@ +Place your assets like PNG files in this directory and they will be packaged +with your module. + +All JavaScript files in the assets directory are IGNORED except if you create a +file named "firebase.analytics.js" in this directory in which case it will be +wrapped by native code, compiled, and used as your module. This allows you to +run pure JavaScript modules that are pre-compiled. + +Note: Mobile Web does not support this assets directory.