[android] Added map layer click statistic event

This commit is contained in:
Александр Зацепин 2020-05-20 12:34:40 +03:00 committed by yoksnod
parent ee9cf419db
commit ad6bc30ac7
3 changed files with 35 additions and 11 deletions

View file

@ -1238,25 +1238,25 @@ public class MwmActivity extends BaseMwmFragmentActivity
@Override
public void onSubwayLayerSelected()
{
mToggleMapLayerController.toggleMode(Mode.SUBWAY);
toggleLayer(Mode.SUBWAY, Statistics.ParamValue.MAP);
}
@Override
public void onTrafficLayerSelected()
{
mToggleMapLayerController.toggleMode(Mode.TRAFFIC);
toggleLayer(Mode.TRAFFIC, Statistics.ParamValue.MAP);
}
@Override
public void onIsolinesLayerSelected()
{
mToggleMapLayerController.toggleMode(Mode.ISOLINES);
toggleLayer(Mode.ISOLINES, Statistics.ParamValue.MAP);
}
@Override
public void onGuidesLayerSelected()
{
mToggleMapLayerController.toggleMode(Mode.GUIDES);
toggleLayer(Mode.GUIDES, Statistics.ParamValue.MAP);
}
private void onIsolinesStateChanged(@NonNull IsolinesState type)
@ -2661,6 +2661,13 @@ public class MwmActivity extends BaseMwmFragmentActivity
this, BookmarkCategoriesActivity.REQ_CODE_DOWNLOAD_BOOKMARK_CATEGORY, url);
}
private void toggleLayer(@NonNull Mode mode, @NonNull String from)
{
boolean isEnabled = mode.isEnabled(getApplicationContext());
Statistics.INSTANCE.trackMapLayerClick(mode, from, isEnabled);
mToggleMapLayerController.toggleMode(mode);
}
private class CurrentPositionClickListener implements OnClickListener
{
@Override
@ -2904,25 +2911,25 @@ public class MwmActivity extends BaseMwmFragmentActivity
@Override
public void onSubwayLayerOptionSelected()
{
onSubwayLayerSelected();
toggleLayer(Mode.SUBWAY, Statistics.ParamValue.MENU);
}
@Override
public void onTrafficLayerOptionSelected()
{
onTrafficLayerSelected();
toggleLayer(Mode.TRAFFIC, Statistics.ParamValue.MENU);
}
@Override
public void onIsolinesLayerOptionSelected()
{
onIsolinesLayerSelected();
toggleLayer(Mode.ISOLINES, Statistics.ParamValue.MENU);
}
@Override
public void onGuidesLayerOptionSelected()
{
onGuidesLayerSelected();
toggleLayer(Mode.GUIDES, Statistics.ParamValue.MENU);
}
}
}

View file

@ -12,6 +12,7 @@ import com.mapswithme.maps.maplayer.traffic.widget.TrafficButtonController;
import com.mapswithme.maps.tips.Tutorial;
import com.mapswithme.maps.tips.TutorialClickListener;
import com.mapswithme.util.InputUtils;
import com.mapswithme.util.statistics.Statistics;
import java.util.ArrayList;
import java.util.Collections;
@ -328,8 +329,10 @@ public class MapLayerCompositeController implements MapLayerController
{
if (mCurrentLayer.getMode().isEnabled(mActivity))
{
Mode mode = getCurrentLayer().getMode();
Statistics.INSTANCE.trackMapLayerClick(mode, Statistics.ParamValue.MAP, false);
turnOff();
toggleMode(getCurrentLayer().getMode());
toggleMode(mode);
}
else
{

View file

@ -29,6 +29,7 @@ import com.mapswithme.maps.downloader.MapManager;
import com.mapswithme.maps.editor.Editor;
import com.mapswithme.maps.editor.OsmOAuth;
import com.mapswithme.maps.location.LocationHelper;
import com.mapswithme.maps.maplayer.Mode;
import com.mapswithme.maps.purchase.ValidationStatus;
import com.mapswithme.maps.routing.RoutePointInfo;
import com.mapswithme.maps.routing.RoutingOptions;
@ -52,6 +53,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import static com.mapswithme.util.BatteryState.CHARGING_STATUS_PLUGGED;
@ -126,6 +128,7 @@ import static com.mapswithme.util.statistics.Statistics.EventParam.METHOD;
import static com.mapswithme.util.statistics.Statistics.EventParam.MODE;
import static com.mapswithme.util.statistics.Statistics.EventParam.MWM_NAME;
import static com.mapswithme.util.statistics.Statistics.EventParam.MWM_VERSION;
import static com.mapswithme.util.statistics.Statistics.EventParam.NAME;
import static com.mapswithme.util.statistics.Statistics.EventParam.NETWORK;
import static com.mapswithme.util.statistics.Statistics.EventParam.OBJECT_LAT;
import static com.mapswithme.util.statistics.Statistics.EventParam.OBJECT_LON;
@ -140,6 +143,7 @@ import static com.mapswithme.util.statistics.Statistics.EventParam.RESTAURANT_LO
import static com.mapswithme.util.statistics.Statistics.EventParam.SERVER_ID;
import static com.mapswithme.util.statistics.Statistics.EventParam.SERVER_IDS;
import static com.mapswithme.util.statistics.Statistics.EventParam.STATE;
import static com.mapswithme.util.statistics.Statistics.EventParam.TURN_ON;
import static com.mapswithme.util.statistics.Statistics.EventParam.TYPE;
import static com.mapswithme.util.statistics.Statistics.EventParam.VALUE;
import static com.mapswithme.util.statistics.Statistics.EventParam.VENDOR;
@ -539,6 +543,7 @@ public enum Statistics
static final String UGC_AUTH_EXTERNAL_REQUEST_SUCCESS = "UGC_Auth_external_request_success";
static final String UGC_AUTH_ERROR = "UGC_Auth_error";
static final String MAP_LAYERS_ACTIVATE = "Map_Layers_activate";
static final String MAP_LAYERS_CLICK = "Map_Layers_click";
// Purchases.
public static final String INAPP_PURCHASE_PREVIEW_PAY = "InAppPurchase_Preview_pay";
@ -616,6 +621,7 @@ public enum Statistics
public static final String VERSION = "version";
public static final String TAB = "tab";
public static final String ENABLED = "Enabled";
public static final String TURN_ON = "turn_on";
public static final String RATING = "Rating";
public static final String LANGUAGE = "language";
public static final String NAME = "Name";
@ -742,7 +748,7 @@ public enum Statistics
public static final String OFFSCREEEN = "Offscreen";
public static final String MAPSME_GUIDES = "MapsMeGuides";
public static final String TINKOFF_INSURANCE = "Tinkoff_Insurance";
public static final String TINKOFF_ALL_AIRLINES= "Tinkoff_AllAirlines";
public static final String TINKOFF_ALL_AIRLINES = "Tinkoff_AllAirlines";
public static final String SKYENG = "Skyeng";
public static final String MTS = "MTS";
public static final String WIKIPEDIA = "wikipedia";
@ -750,7 +756,8 @@ public enum Statistics
public static final String FULL = "full";
static final String CRASH_REPORTS = "crash_reports";
static final String PERSONAL_ADS = "personal_ads";
static final String MAP = "map";
public static final String MAP = "map";
public static final String MENU = "menu";
static final String GOOGLE = "google";
static final String PHONE = "phone";
static final String ADD_DESC = "add_description";
@ -1018,6 +1025,13 @@ public enum Statistics
trackEvent(EventName.MAP_LAYERS_ACTIVATE, builder);
}
public void trackMapLayerClick(@NonNull Mode mode, @NonNull String from, boolean turnOn)
{
ParameterBuilder builder = params().add(NAME, mode.name().toLowerCase(Locale.ENGLISH))
.add(FROM, from).add(TURN_ON, turnOn);
trackEvent(EventName.MAP_LAYERS_CLICK, builder);
}
public void trackEditorSuccess(boolean newObject)
{
trackEvent(newObject ? EventName.EDITOR_SUCCESS_CREATE : EventName.EDITOR_SUCCESS_EDIT,