11package com .leanplum .internal ;
22
3+ import android .support .annotation .NonNull ;
4+ import android .support .annotation .VisibleForTesting ;
5+
36import java .util .HashSet ;
47import java .util .HashMap ;
58import java .util .Map ;
@@ -14,11 +17,11 @@ public void setEnabledCounters(HashSet<String> enabledCounters) {
1417 this .enabledCounters = enabledCounters ;
1518 }
1619
17- public void incrementCount (String name ) {
20+ public void incrementCount (@ NonNull String name ) {
1821 incrementCount (name , 1 );
1922 }
2023
21- public void incrementCount (String name , int incrementCount ) {
24+ public void incrementCount (@ NonNull String name , int incrementCount ) {
2225 if (enabledCounters .contains (name )) {
2326 Integer count = 0 ;
2427 if (counts .containsKey (name )) {
@@ -29,24 +32,33 @@ public void incrementCount(String name, int incrementCount) {
2932 }
3033 }
3134
32- private HashMap <String , Integer > getAndClearCounts () {
35+ @ VisibleForTesting
36+ public HashMap <String , Integer > getAndClearCounts () {
3337 HashMap <String , Integer > previousCounts = new HashMap <>();
3438 previousCounts .putAll (counts );
3539 counts .clear ();
3640 return previousCounts ;
3741 }
3842
43+ @ VisibleForTesting
44+ public HashMap <String , Object > makeParams (@ NonNull String name , int count ) {
45+ HashMap <String , Object > params = new HashMap <>();
46+
47+ params .put (Constants .Params .TYPE , Constants .Values .SDK_COUNT );
48+ params .put (Constants .Params .MESSAGE , name );
49+ params .put (Constants .Params .COUNT , count );
50+
51+ return params ;
52+ }
53+
3954 public void sendAllCounts () {
4055 HashMap <String , Integer > counts = getAndClearCounts ();
4156
4257 for (Map .Entry <String , Integer > entry : counts .entrySet ()) {
4358 String name = entry .getKey ();
4459 Integer count = entry .getValue ();
60+ HashMap <String , Object > params = makeParams (name , count );
4561 try {
46- HashMap <String , Object > params = new HashMap <>();
47- params .put (Constants .Params .TYPE , Constants .Values .SDK_COUNT );
48- params .put (Constants .Params .MESSAGE , name );
49- params .put (Constants .Params .COUNT , count );
5062 Request .post (Constants .Methods .LOG , params ).sendEventually ();
5163 } catch (Throwable t ) {
5264 android .util .Log .e ("Leanplum" , "Unable to send count." , t );
0 commit comments