55
66import com .ss .editor .EditorThread ;
77import com .ss .editor .config .Config ;
8+ import com .ss .editor .config .EditorConfig ;
89
910import org .apache .http .StatusLine ;
1011import org .apache .http .client .methods .CloseableHttpResponse ;
@@ -44,13 +45,9 @@ public class GAnalytics extends EditorThread {
4445 public static final String PARAM_TRACKING_ID = "tid" ;
4546 public static final String PARAM_CLIENT_ID = "cid" ;
4647 public static final String PARAM_HIT_TYPE = "t" ;
47- public static final String PARAM_USER_ID = "uid" ;
48- public static final String PARAM_USER_LANGUAGE = "ul" ;
49- public static final String PARAM_APPLICATION_VERSION = "av" ;
5048 public static final String PARAM_EVENT_CATEGORY = "ec" ;
5149 public static final String PARAM_EVENT_ACTION = "ea" ;
5250 public static final String PARAM_EVENT_LABEL = "el" ;
53- public static final String PARAM_EVENT_VALUE = "ev" ;
5451 public static final String PARAM_PAGE_VIEW_LOCATION = "dl" ;
5552 public static final String PARAM_PAGE_VIEW_TITLE = "dt" ;
5653 public static final String PARAM_PAGE_VIEW_PAGE = "dp" ;
@@ -63,11 +60,15 @@ public class GAnalytics extends EditorThread {
6360 public static final String PARAM_CUSTOM_DIMENSION = "cd" ;
6461
6562 public static final String FIELD_OS = PARAM_CUSTOM_DIMENSION + "1" ;
63+ public static final String FIELD_APP_VERSION = PARAM_CUSTOM_DIMENSION + "2" ;
64+ public static final String FIELD_LOCALE = PARAM_CUSTOM_DIMENSION + "3" ;
65+ public static final String FIELD_USER_ID = PARAM_CUSTOM_DIMENSION + "4" ;
6666
6767 public static final String PROP_ANALYTICS_HOST = "http://www.google-analytics.com/collect" ;
6868 public static final String PROP_TRACKING_ID = "UA-89459340-1" ;
6969 public static final String PROP_CLIENT_ID = "89459340" ;
7070
71+ private static final EditorConfig EDITOR_CONFIG = EditorConfig .getInstance ();
7172 private static final GAnalytics INSTANCE = new GAnalytics ();
7273
7374 public static GAnalytics getInstance () {
@@ -78,6 +79,7 @@ public static GAnalytics getInstance() {
7879 * Wait for sending max 2 sec.
7980 */
8081 public static void waitForSend () {
82+ if (!EDITOR_CONFIG .isAnalytics ()) return ;
8183 final GAnalytics instance = getInstance ();
8284 final AtomicInteger progressCount = instance .progressCount ;
8385 if (progressCount .get () < 1 ) return ;
@@ -91,7 +93,7 @@ public static void waitForSend() {
9193 * @param action the action.
9294 */
9395 public static void sendEvent (@ NotNull final String category , @ NotNull final String action ) {
94- sendEvent (category , action , null , null );
96+ sendEvent (category , action , null );
9597 }
9698
9799 /**
@@ -102,25 +104,12 @@ public static void sendEvent(@NotNull final String category, @NotNull final Stri
102104 * @param label the label.
103105 */
104106 public static void sendEvent (@ NotNull final String category , @ NotNull final String action , @ Nullable final String label ) {
105- sendEvent (category , action , label , null );
106- }
107-
108- /**
109- * Send an event.
110- *
111- * @param category the category.
112- * @param action the action.
113- * @param label the label.
114- * @param value the value.
115- */
116- public static void sendEvent (@ NotNull final String category , @ NotNull final String action , @ Nullable final String label , @ Nullable final String value ) {
117107
118108 final Map <String , Object > parameters = new HashMap <>();
119109 parameters .put (PARAM_EVENT_CATEGORY , category );
120110 parameters .put (PARAM_EVENT_ACTION , action );
121111
122112 if (!isEmpty (label )) parameters .put (PARAM_EVENT_LABEL , label );
123- if (!isEmpty (value )) parameters .put (PARAM_EVENT_VALUE , value );
124113
125114 send (HitType .EVENT , parameters );
126115 }
@@ -204,6 +193,7 @@ private static void send(final HitType hitType, final Map<String, Object> parame
204193 * @param parameters the parameters.
205194 */
206195 private static void send (final Map <String , Object > parameters ) {
196+ if (!EDITOR_CONFIG .isAnalytics ()) return ;
207197 getInstance ().addTask (() -> doSend (parameters ));
208198 }
209199
@@ -232,9 +222,9 @@ private static void doSend(final Map<String, Object> parameters) {
232222 parameters .put (PARAM_CLIENT_ID , PROP_CLIENT_ID );
233223
234224 if (!StringUtils .isEmpty (os )) parameters .put (FIELD_OS , os );
235- if (!StringUtils .isEmpty (appVersion )) parameters .put (PARAM_APPLICATION_VERSION , appVersion );
236- if (!StringUtils .isEmpty (language )) parameters .put (PARAM_USER_LANGUAGE , language );
237- if (!StringUtils .isEmpty (userId )) parameters .put (PARAM_USER_ID , userId );
225+ if (!StringUtils .isEmpty (appVersion )) parameters .put (FIELD_APP_VERSION , appVersion );
226+ if (!StringUtils .isEmpty (language )) parameters .put (FIELD_LOCALE , language );
227+ if (!StringUtils .isEmpty (userId )) parameters .put (FIELD_USER_ID , userId );
238228
239229 final String stringParameters = buildParameters (parameters );
240230 final byte [] byteParameters = stringParameters .getBytes ("UTF-8" );
@@ -313,7 +303,7 @@ private void addTask(@NotNull final Runnable runnable) {
313303
314304 @ Override
315305 public void run () {
316- for (; ; ) {
306+ for (;; ) {
317307
318308 Runnable next ;
319309
0 commit comments