11package io .fullstack .firestack ;
22
33import java .util .Map ;
4-
5- import android .app .Activity ;
64import android .util .Log ;
75import android .os .Bundle ;
6+ import android .app .Activity ;
87
9- import com .facebook .react .bridge .Callback ;
108import com .facebook .react .bridge .ReactMethod ;
119import com .facebook .react .bridge .ReadableMap ;
10+ import com .google .firebase .analytics .FirebaseAnalytics ;
1211import com .facebook .react .bridge .ReactApplicationContext ;
1312import com .facebook .react .bridge .ReactContextBaseJavaModule ;
1413
15- import com .google .firebase .analytics .FirebaseAnalytics ;
16-
1714class FirestackAnalyticsModule extends ReactContextBaseJavaModule {
1815
1916 private static final String TAG = "FirestackAnalytics" ;
@@ -28,6 +25,10 @@ public FirestackAnalyticsModule(ReactApplicationContext reactContext) {
2825 mFirebaseAnalytics = FirebaseAnalytics .getInstance (this .context );
2926 }
3027
28+ /**
29+ *
30+ * @return
31+ */
3132 @ Override
3233 public String getName () {
3334 return TAG ;
@@ -50,42 +51,64 @@ public void setAnalyticsCollectionEnabled(final Boolean enabled) {
5051 mFirebaseAnalytics .setAnalyticsCollectionEnabled (enabled );
5152 }
5253
54+ /**
55+ *
56+ * @param screenName
57+ * @param screenClassOverride
58+ */
5359 @ ReactMethod
5460 public void setCurrentScreen (final String screenName , final String screenClassOverride ) {
5561 final Activity activity = getCurrentActivity ();
5662 if (activity != null ) {
57- Log .d (TAG , "setCurrentScreen " + screenName + " " + screenClassOverride );
63+ Log .d (TAG , "setCurrentScreen " + screenName + " - " + screenClassOverride );
64+ // needs to be run on main thread
5865 activity .runOnUiThread (new Runnable () {
5966 @ Override
6067 public void run () {
6168 mFirebaseAnalytics .setCurrentScreen (activity , screenName , screenClassOverride );
6269 }
6370 });
64-
6571 }
6672 }
6773
68-
74+ /**
75+ *
76+ * @param milliseconds
77+ */
6978 @ ReactMethod
7079 public void setMinimumSessionDuration (final double milliseconds ) {
7180 mFirebaseAnalytics .setMinimumSessionDuration ((long ) milliseconds );
7281 }
7382
83+ /**
84+ *
85+ * @param milliseconds
86+ */
7487 @ ReactMethod
7588 public void setSessionTimeoutDuration (final double milliseconds ) {
7689 mFirebaseAnalytics .setSessionTimeoutDuration ((long ) milliseconds );
7790 }
7891
92+ /**
93+ *
94+ * @param id
95+ */
7996 @ ReactMethod
8097 public void setUserId (final String id ) {
8198 mFirebaseAnalytics .setUserId (id );
8299 }
83100
101+ /**
102+ *
103+ * @param name
104+ * @param value
105+ */
84106 @ ReactMethod
85107 public void setUserProperty (final String name , final String value ) {
86108 mFirebaseAnalytics .setUserProperty (name , value );
87109 }
88110
111+ // todo refactor/clean me
89112 private Bundle makeEventBundle (final String name , final Map <String , Object > map ) {
90113 Bundle bundle = new Bundle ();
91114 // Available from the Analytics event
0 commit comments