[android] Added forgotten guides layer statitstics

This commit is contained in:
Александр Зацепин 2020-05-25 22:02:26 +03:00 committed by rmrfsudols
parent 3bda74035e
commit d6625b26c2
6 changed files with 62 additions and 12 deletions

View file

@ -3,6 +3,9 @@ package com.mapswithme.maps.bookmarks;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import androidx.annotation.CallSuper;
import androidx.annotation.IdRes;
import androidx.annotation.LayoutRes;
@ -10,18 +13,15 @@ import androidx.annotation.MenuRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import android.view.MenuItem;
import android.view.View;
import com.cocosw.bottomsheet.BottomSheet;
import com.mapswithme.maps.R;
import com.mapswithme.maps.adapter.OnItemClickListener;
import com.mapswithme.maps.base.BaseMwmRecyclerFragment;
import com.mapswithme.maps.base.DataChangedListener;
import com.mapswithme.maps.bookmarks.data.AbstractCategoriesSnapshot;
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
import com.mapswithme.maps.bookmarks.data.BookmarkSharingResult;
import com.mapswithme.maps.base.DataChangedListener;
import com.mapswithme.maps.bookmarks.data.FilterStrategy;
import com.mapswithme.maps.dialog.EditTextDialogFragment;
import com.mapswithme.maps.ugc.routes.UgcRouteEditSettingsActivity;
@ -486,7 +486,7 @@ public abstract class BaseBookmarkCategoriesFragment extends BaseMwmRecyclerFrag
public void process(@NonNull BaseBookmarkCategoriesFragment frag,
@NonNull BookmarkCategory category)
{
BookmarkManager.INSTANCE.toggleCategoryVisibility(category.getId());
BookmarkManager.INSTANCE.toggleCategoryVisibility(category);
frag.getAdapter().notifyDataSetChanged();
}
}

View file

@ -1,13 +1,13 @@
package com.mapswithme.maps.bookmarks;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.mapswithme.maps.R;
import com.mapswithme.maps.adapter.OnItemClickListener;
import com.mapswithme.maps.bookmarks.data.BookmarkCategory;
@ -292,7 +292,8 @@ public class BookmarkCategoriesAdapter extends BaseBookmarkCategoryAdapter<Recyc
@Override
public void onClick(View v)
{
BookmarkManager.INSTANCE.toggleCategoryVisibility(mHolder.getEntity().getId());
BookmarkCategory category = mHolder.getEntity();
BookmarkManager.INSTANCE.toggleCategoryVisibility(category);
notifyItemChanged(mHolder.getAdapterPosition());
notifyItemChanged(HEADER_POSITION);
}

View file

@ -126,10 +126,15 @@ public enum BookmarkManager
ICONS.add(new Icon(Icon.PREDEFINED_COLOR_BLUEGRAY, Icon.BOOKMARK_ICON_TYPE_NONE));
}
public void toggleCategoryVisibility(long catId)
public void toggleCategoryVisibility(@NonNull BookmarkCategory category)
{
boolean isVisible = isVisible(catId);
setVisibility(catId, !isVisible);
boolean isVisible = isVisible(category.getId());
setVisibility(category.getId(), !isVisible);
Statistics.INSTANCE.trackBookmarksVisibility(Statistics.ParamValue.BOOKMARK_LIST,
isVisible ? Statistics.ParamValue.HIDE
: Statistics.ParamValue.SHOW,
category.isFromCatalog() ? category.getServerId()
: null);
}
@Nullable

View file

@ -42,6 +42,7 @@ import com.mapswithme.util.StringUtils;
import com.mapswithme.util.ThemeUtils;
import com.mapswithme.util.UiUtils;
import com.mapswithme.util.Utils;
import com.mapswithme.util.statistics.Statistics;
import java.util.List;
import java.util.Objects;
@ -616,6 +617,10 @@ public class Holders
BookmarkManager.INSTANCE.getCategoryByServerId(item.getGuideId());
boolean isVisible = category.isVisible();
BookmarkManager.INSTANCE.setVisibility(category.getId(), !isVisible);
Statistics.INSTANCE.trackBookmarksVisibility(Statistics.ParamValue.MAP_GALLERY,
isVisible ? Statistics.ParamValue.HIDE
: Statistics.ParamValue.SHOW,
item.getGuideId());
mBoughtContentBtn.setText(!isVisible ? R.string.hide : R.string.show);
}

View file

@ -26,6 +26,9 @@ import com.mapswithme.maps.widget.recycler.ItemDecoratorFactory;
import com.mapswithme.util.log.Logger;
import com.mapswithme.util.log.LoggerFactory;
import com.mapswithme.util.statistics.GalleryPlacement;
import com.mapswithme.util.statistics.GalleryState;
import com.mapswithme.util.statistics.GalleryType;
import com.mapswithme.util.statistics.Statistics;
import java.util.List;
import java.util.Objects;
@ -168,6 +171,10 @@ public class GuidesGalleryViewRenderer implements PlacePageViewRenderer<PlacePag
if (mAdapter != null)
mAdapter.notifyDataSetChanged();
GuidesManager.from(mRecyclerView.getContext()).setActiveGuide(mActiveItem.getGuideId());
if (mActiveItem.isDownloaded())
Statistics.INSTANCE.trackGalleryUserItemShown(GalleryType.PROMO, GalleryState.ONLINE,
GalleryPlacement.MAP, position,
mActiveItem.getGuideId());
}
@Override

View file

@ -60,6 +60,7 @@ import static com.mapswithme.util.BatteryState.CHARGING_STATUS_PLUGGED;
import static com.mapswithme.util.BatteryState.CHARGING_STATUS_UNKNOWN;
import static com.mapswithme.util.BatteryState.CHARGING_STATUS_UNPLUGGED;
import static com.mapswithme.util.statistics.Statistics.EventName.APPLICATION_COLD_STARTUP_INFO;
import static com.mapswithme.util.statistics.Statistics.EventName.BM_BOOKMARKS_VISIBILITY_CHANGE;
import static com.mapswithme.util.statistics.Statistics.EventName.BM_GUIDES_DOWNLOADDIALOGUE_CLICK;
import static com.mapswithme.util.statistics.Statistics.EventName.BM_RESTORE_PROPOSAL_CLICK;
import static com.mapswithme.util.statistics.Statistics.EventName.BM_RESTORE_PROPOSAL_ERROR;
@ -91,6 +92,7 @@ import static com.mapswithme.util.statistics.Statistics.EventName.PP_SPONSORED_B
import static com.mapswithme.util.statistics.Statistics.EventName.PP_SPONSORED_ERROR;
import static com.mapswithme.util.statistics.Statistics.EventName.PP_SPONSORED_OPEN;
import static com.mapswithme.util.statistics.Statistics.EventName.PP_SPONSORED_SHOWN;
import static com.mapswithme.util.statistics.Statistics.EventName.PP_SPONSORED_USER_ITEM;
import static com.mapswithme.util.statistics.Statistics.EventName.PP_SPONSOR_ITEM_SELECTED;
import static com.mapswithme.util.statistics.Statistics.EventName.ROUTING_PLAN_TOOLTIP_CLICK;
import static com.mapswithme.util.statistics.Statistics.EventName.ROUTING_ROUTE_FINISH;
@ -121,6 +123,7 @@ import static com.mapswithme.util.statistics.Statistics.EventParam.HAS_AUTH;
import static com.mapswithme.util.statistics.Statistics.EventParam.HOTEL;
import static com.mapswithme.util.statistics.Statistics.EventParam.HOTEL_LAT;
import static com.mapswithme.util.statistics.Statistics.EventParam.HOTEL_LON;
import static com.mapswithme.util.statistics.Statistics.EventParam.ID;
import static com.mapswithme.util.statistics.Statistics.EventParam.INTERRUPTED;
import static com.mapswithme.util.statistics.Statistics.EventParam.ITEM;
import static com.mapswithme.util.statistics.Statistics.EventParam.MAP_DATA_SIZE;
@ -290,6 +293,16 @@ public enum Statistics
trackEvent(EventName.BM_BOOKMARKS_SEARCH_RESULT_SELECTED, builder);
}
public void trackBookmarksVisibility(@NonNull String from, @NonNull String action,
@Nullable String serverId)
{
ParameterBuilder builder = new ParameterBuilder();
builder.add(FROM, from).add(ACTION, action);
if (!TextUtils.isEmpty(serverId))
builder.add(SERVER_ID, serverId);
trackEvent(BM_BOOKMARKS_VISIBILITY_CHANGE, builder.get());
}
private void trackEditSettingsScreenOptionClick(@NonNull String value)
{
ParameterBuilder builder = new ParameterBuilder().add(OPTION, value);
@ -403,6 +416,7 @@ public enum Statistics
static final String BM_BOOKMARKS_LIST_SORT = "Bookmarks_BookmarksList_sort";
static final String BM_BOOKMARKS_SEARCH = "Bookmarks_Search";
static final String BM_BOOKMARKS_SEARCH_RESULT_SELECTED = "Bookmarks_Search_result_selected";
static final String BM_BOOKMARKS_VISIBILITY_CHANGE = "Bookmarks_Visibility_change";
static final String BM_COLOR_CHANGED = "Bookmark. Color changed";
static final String BM_CREATED = "Bookmark. Bookmark created";
static final String BM_SYNC_PROPOSAL_SHOWN = "Bookmarks_SyncProposal_shown";
@ -456,6 +470,7 @@ public enum Statistics
static final String PP_SPONSORED_SHOWN = "Placepage_SponsoredGallery_shown";
static final String PP_SPONSORED_ERROR = "Placepage_SponsoredGallery_error";
static final String PP_SPONSOR_ITEM_SELECTED = "Placepage_SponsoredGallery_ProductItem_selected";
static final String PP_SPONSORED_USER_ITEM = "Placepage_SponsoredGallery_UsersItem_shown";
static final String PP_BANNER_SHOW = "Placepage_Banner_show";
static final String PP_BANNER_ERROR = "Placepage_Banner_error";
static final String PP_BANNER_BLANK = "Placepage_Banner_blank";
@ -638,6 +653,7 @@ public enum Statistics
public static final String DATE = "date";
public static final String STATUS = "status";
public static final String SOURCE = "source";
static final String ID = "id";
static final String TRACKS = "tracks";
static final String POINTS = "points";
static final String TOLL = "toll";
@ -753,6 +769,10 @@ public enum Statistics
public static final String WIKIPEDIA = "wikipedia";
public static final String PREVIEW = "preview";
public static final String FULL = "full";
public static final String MAP_GALLERY = "map_gallery";
public static final String BOOKMARK_LIST = "bookmark_list";
public static final String SHOW = "show";
public static final String HIDE = "hide";
static final String CRASH_REPORTS = "crash_reports";
static final String PERSONAL_ADS = "personal_ads";
public static final String MAP = "map";
@ -1284,6 +1304,18 @@ public enum Statistics
.get());
}
public void trackGalleryUserItemShown(@NonNull GalleryType type, @NonNull GalleryState state,
@NonNull GalleryPlacement placement, int position,
@NonNull String id)
{
trackEvent(PP_SPONSORED_USER_ITEM, Statistics.params()
.add(PROVIDER, type.getProvider())
.add(PLACEMENT, placement.toString())
.add(STATE, state.toString())
.add(ITEM, position)
.add(ID, id), STATISTICS_CHANNEL_REALTIME);
}
public void trackSearchPromoCategory(@NonNull String eventName, @NonNull String provider)
{
trackEvent(eventName, Statistics.params().add(PROVIDER, provider).get());