@@ -75,7 +75,7 @@ public void setCanSend(boolean value) {
7575 /**
7676 * Public for testing.
7777 */
78- public void setTransport (Transport transport ) {
78+ public void setTransport (@ NotNull Transport transport ) {
7979 this .transport = transport ;
8080 }
8181
@@ -85,38 +85,56 @@ public void sendScreenView(@NotNull String viewName) {
8585 sendPayload ("screenview" , args , null );
8686 }
8787
88- public void sendEvent (String category , String action ) {
88+ public void sendEvent (@ NotNull String category , @ NotNull String action ) {
8989 sendEvent (category , action , null );
9090 }
9191
92- public void sendEvent (String category , String action , @ Nullable FlutterSdk flutterSdk ) {
92+ public void sendEvent (@ NotNull String category , @ NotNull String action , @ Nullable FlutterSdk flutterSdk ) {
9393 final Map <String , String > args = new HashMap <>();
9494 args .put ("ec" , category );
9595 args .put ("ea" , action );
9696 sendPayload ("event" , args , flutterSdk );
9797 }
9898
99- public void sendEventMetric (String category , String action , int value ) {
99+ public void sendEventWithSdk (@ NotNull String category , @ NotNull String action , @ NotNull String sdkVersion ) {
100+ final Map <String , String > args = new HashMap <>();
101+ args .put ("ec" , category );
102+ args .put ("ea" , action );
103+ sendPayload ("event" , args , null , sdkVersion );
104+ }
105+
106+ public void sendEventMetric (@ NotNull String category , @ NotNull String action , int value ) {
100107 final Map <String , String > args = new HashMap <>();
101108 args .put ("ec" , category );
102109 args .put ("ea" , action );
103110 args .put ("ev" , Integer .toString (value ));
104111 sendPayload ("event" , args , null );
105112 }
106113
107- public void sendTiming (String category , String variable , long timeMillis ) {
114+ public void sendEvent (@ NotNull String category , @ NotNull String action , @ NotNull String label , @ NotNull String value ) {
115+ final Map <String , String > args = new HashMap <>();
116+ args .put ("ec" , category );
117+ args .put ("ea" , action );
118+ if (!label .isEmpty ()) {
119+ args .put ("el" , label );
120+ }
121+ args .put ("ev" , value );
122+ sendPayload ("event" , args , null );
123+ }
124+
125+ public void sendTiming (@ NotNull String category , @ NotNull String variable , long timeMillis ) {
108126 final Map <String , String > args = new HashMap <>();
109127 args .put ("utc" , category );
110128 args .put ("utv" , variable );
111129 args .put ("utt" , Long .toString (timeMillis ));
112130 sendPayload ("timing" , args , null );
113131 }
114132
115- public void sendExpectedException (String location , Throwable throwable ) {
133+ public void sendExpectedException (@ NotNull String location , @ NotNull Throwable throwable ) {
116134 sendEvent ("expected-exception" , location + ":" + throwable .getClass ().getName ());
117135 }
118136
119- public void sendException (String throwableText , boolean isFatal ) {
137+ public void sendException (@ NotNull String throwableText , boolean isFatal ) {
120138 String description = throwableText ;
121139 description = description .replaceAll ("com.intellij.openapi." , "c.i.o." );
122140 description = description .replaceAll ("com.intellij." , "c.i." );
@@ -133,6 +151,10 @@ public void sendException(String throwableText, boolean isFatal) {
133151 }
134152
135153 private void sendPayload (@ NotNull String hitType , @ NotNull Map <String , String > args , @ Nullable FlutterSdk flutterSdk ) {
154+ sendPayload (hitType , args , flutterSdk , null );
155+ }
156+
157+ private void sendPayload (@ NotNull String hitType , @ NotNull Map <String , String > args , @ Nullable FlutterSdk flutterSdk , @ Nullable String sdkVersion ) {
136158 if (!canSend ()) {
137159 return ;
138160 }
@@ -156,6 +178,8 @@ private void sendPayload(@NotNull String hitType, @NotNull Map<String, String> a
156178 if (flutterVersion .getVersionText () != null ) {
157179 args .put ("cd2" , flutterVersion .getVersionText ());
158180 }
181+ } else if (sdkVersion != null ) {
182+ args .put ("cd2" , sdkVersion );
159183 }
160184
161185 // Record whether this client uses bazel.
@@ -259,4 +283,4 @@ public void send(String url, Map<String, String> values) {
259283 });
260284 }
261285 }
262- }
286+ }
0 commit comments