forked from organicmaps/organicmaps
[android] Added statistics for catalog
This commit is contained in:
parent
d56cf29480
commit
9730e7bfcb
6 changed files with 86 additions and 12 deletions
|
@ -13,6 +13,7 @@ import android.view.ViewGroup;
|
|||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.base.BaseMwmFragment;
|
||||
import com.mapswithme.util.SharedPropertiesUtils;
|
||||
import com.mapswithme.util.statistics.Statistics;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
@ -21,6 +22,10 @@ public class BookmarkCategoriesPagerFragment extends BaseMwmFragment
|
|||
{
|
||||
final static String ARG_CATEGORIES_PAGE = "arg_categories_page";
|
||||
|
||||
@SuppressWarnings("NullableProblems")
|
||||
@NonNull
|
||||
private BookmarksPagerAdapter mAdapter;
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
|
@ -38,8 +43,8 @@ public class BookmarkCategoriesPagerFragment extends BaseMwmFragment
|
|||
|
||||
FragmentManager fm = getActivity().getSupportFragmentManager();
|
||||
List<BookmarksPageFactory> dataSet = getAdapterDataSet();
|
||||
BookmarksPagerAdapter adapter = new BookmarksPagerAdapter(getContext(), fm, dataSet);
|
||||
viewPager.setAdapter(adapter);
|
||||
mAdapter = new BookmarksPagerAdapter(getContext(), fm, dataSet);
|
||||
viewPager.setAdapter(mAdapter);
|
||||
viewPager.setCurrentItem(saveAndGetInitialPage());
|
||||
tabLayout.setupWithViewPager(viewPager);
|
||||
viewPager.addOnPageChangeListener(new PageChangeListener());
|
||||
|
@ -72,6 +77,8 @@ public class BookmarkCategoriesPagerFragment extends BaseMwmFragment
|
|||
public void onPageSelected(int position)
|
||||
{
|
||||
SharedPropertiesUtils.setLastVisibleBookmarkCategoriesPage(getActivity(), position);
|
||||
BookmarksPageFactory factory = mAdapter.getItemFactory(position);
|
||||
Statistics.INSTANCE.trackBookmarksTabEvent(factory.getAnalytics().getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ import com.mapswithme.maps.bookmarks.data.BookmarkManager;
|
|||
import com.mapswithme.util.DialogUtils;
|
||||
import com.mapswithme.util.ConnectionState;
|
||||
import com.mapswithme.util.UiUtils;
|
||||
import com.mapswithme.util.statistics.Statistics;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
|
@ -183,9 +184,14 @@ public class BookmarksCatalogFragment extends BaseWebViewMwmFragment
|
|||
UiUtils.show(frag.mRetryBtn);
|
||||
UiUtils.hide(frag.mWebView, frag.mProgressView);
|
||||
if (ConnectionState.isConnected())
|
||||
{
|
||||
Statistics.INSTANCE.trackDownloadCatalogError(Statistics.ParamValue.UNKNOWN);
|
||||
return;
|
||||
Toast.makeText(frag.getContext(), R.string.common_check_internet_connection_dialog_title, Toast.LENGTH_SHORT)
|
||||
.show();
|
||||
}
|
||||
|
||||
Statistics.INSTANCE.trackDownloadCatalogError(Statistics.ParamValue.NO_INTERNET);
|
||||
Toast.makeText(frag.getContext(), R.string.common_check_internet_connection_dialog_title,
|
||||
Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
private void retry()
|
||||
|
|
|
@ -8,7 +8,7 @@ import com.mapswithme.maps.R;
|
|||
|
||||
public enum BookmarksPageFactory
|
||||
{
|
||||
PRIVATE
|
||||
PRIVATE(new Analytics(Constants.ANALYTICS_NAME_MY))
|
||||
{
|
||||
@NonNull
|
||||
@Override
|
||||
|
@ -23,7 +23,7 @@ public enum BookmarksPageFactory
|
|||
return R.string.bookmarks_page_my;
|
||||
}
|
||||
},
|
||||
CATALOG(new AdapterResourceProvider.Catalog())
|
||||
CATALOG(new Analytics(Constants.ANALYTICS_NAME_DOWNLOADED), new AdapterResourceProvider.Catalog())
|
||||
{
|
||||
@NonNull
|
||||
@Override
|
||||
|
@ -40,16 +40,19 @@ public enum BookmarksPageFactory
|
|||
};
|
||||
|
||||
@NonNull
|
||||
private AdapterResourceProvider mResProvider;
|
||||
private final AdapterResourceProvider mResProvider;
|
||||
@NonNull
|
||||
private final Analytics mAnalytics;
|
||||
|
||||
BookmarksPageFactory(@NonNull AdapterResourceProvider resourceProvider)
|
||||
BookmarksPageFactory(@NonNull Analytics analytics, @NonNull AdapterResourceProvider provider)
|
||||
{
|
||||
mResProvider = resourceProvider;
|
||||
mAnalytics = analytics;
|
||||
mResProvider = provider;
|
||||
}
|
||||
|
||||
BookmarksPageFactory()
|
||||
BookmarksPageFactory(Analytics analytics)
|
||||
{
|
||||
this(new AdapterResourceProvider.Default());
|
||||
this(analytics, new AdapterResourceProvider.Default());
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
@ -58,6 +61,12 @@ public enum BookmarksPageFactory
|
|||
return mResProvider;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Analytics getAnalytics()
|
||||
{
|
||||
return mAnalytics;
|
||||
}
|
||||
|
||||
public static BookmarksPageFactory get(String value)
|
||||
{
|
||||
for (BookmarksPageFactory each : values())
|
||||
|
@ -78,4 +87,26 @@ public enum BookmarksPageFactory
|
|||
|
||||
public abstract int getTitle();
|
||||
|
||||
public static class Analytics
|
||||
{
|
||||
@NonNull
|
||||
private final String mName;
|
||||
|
||||
private Analytics(@NonNull String name)
|
||||
{
|
||||
mName = name;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public String getName()
|
||||
{
|
||||
return mName;
|
||||
}
|
||||
}
|
||||
|
||||
private static class Constants
|
||||
{
|
||||
private static final String ANALYTICS_NAME_MY = "my";
|
||||
private static final String ANALYTICS_NAME_DOWNLOADED = "downloaded";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,4 +42,10 @@ public class BookmarksPagerAdapter extends FragmentStatePagerAdapter
|
|||
{
|
||||
return mFactories.size();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public BookmarksPageFactory getItemFactory(int position)
|
||||
{
|
||||
return mFactories.get(position);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ import com.mapswithme.util.BottomSheetHelper;
|
|||
import com.mapswithme.util.SharedPropertiesUtils;
|
||||
import com.mapswithme.util.UiUtils;
|
||||
import com.mapswithme.util.sharing.TargetUtils;
|
||||
import com.mapswithme.util.statistics.Statistics;
|
||||
|
||||
public class CachedBookmarkCategoriesFragment extends BaseBookmarkCategoriesFragment implements
|
||||
BookmarkManager.BookmarksCatalogListener
|
||||
|
@ -127,6 +128,7 @@ public class CachedBookmarkCategoriesFragment extends BaseBookmarkCategoriesFrag
|
|||
.putExtra(BookmarksCatalogFragment.EXTRA_BOOKMARKS_CATALOG_URL,
|
||||
getCatalogUrl());
|
||||
getActivity().startActivity(intent);
|
||||
Statistics.INSTANCE.trackOpenCatalogScreen();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
|
|
@ -43,6 +43,7 @@ import com.my.tracker.MyTracker;
|
|||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -307,6 +308,9 @@ public enum Statistics
|
|||
public static final String UGC_AUTH_EXTERNAL_REQUEST_SUCCESS = "UGC_Auth_external_request_success";
|
||||
public static final String UGC_AUTH_ERROR = "UGC_Auth_error";
|
||||
public static final String MAP_LAYERS_ACTIVATE = "Map_Layers_activate";
|
||||
public static final String BOOKMARKS_TAB_CLICK = "Bookmarks_Tab_click";
|
||||
private static final String BOOKMARKS_DOWNLOADED_CATALOGUE_OPEN = "Bookmarks_Downloaded_Catalogue_open";
|
||||
private static final String BOOKMARKS_DOWNLOADED_CATALOGUE_ERROR = "Bookmarks_Downloaded_Catalogue_error";
|
||||
|
||||
public static class Settings
|
||||
{
|
||||
|
@ -428,7 +432,7 @@ public enum Statistics
|
|||
public static final String GOOGLE = "google";
|
||||
public static final String MAPSME = "mapsme";
|
||||
public static final String PHONE = "phone";
|
||||
static final String UNKNOWN = "unknown";
|
||||
public static final String UNKNOWN = "unknown";
|
||||
static final String NETWORK = "network";
|
||||
static final String DISK = "disk";
|
||||
static final String AUTH = "auth";
|
||||
|
@ -438,6 +442,7 @@ public enum Statistics
|
|||
static final String DISK_NO_SPACE = "disk_no_space";
|
||||
static final String BACKUP = "backup";
|
||||
static final String RESTORE = "restore";
|
||||
public static final String NO_INTERNET = "no_internet";
|
||||
static final String SUBWAY = "subway";
|
||||
static final String TRAFFIC = "traffic";
|
||||
public static final String SUCCESS = "success";
|
||||
|
@ -740,6 +745,23 @@ public enum Statistics
|
|||
trackHotelEvent(PP_SPONSORED_BOOK, hotel, mapObject);
|
||||
}
|
||||
|
||||
public void trackBookmarksTabEvent(@NonNull String param)
|
||||
{
|
||||
ParameterBuilder params = new ParameterBuilder().add(EventParam.VALUE, param);
|
||||
trackEvent(EventName.BOOKMARKS_TAB_CLICK, params);
|
||||
}
|
||||
|
||||
public void trackOpenCatalogScreen()
|
||||
{
|
||||
trackEvent(EventName.BOOKMARKS_DOWNLOADED_CATALOGUE_OPEN, Collections.emptyMap());
|
||||
}
|
||||
|
||||
public void trackDownloadCatalogError(@NonNull String value)
|
||||
{
|
||||
ParameterBuilder params = new ParameterBuilder().add(EventParam.ERROR, value);
|
||||
trackEvent(EventName.BOOKMARKS_DOWNLOADED_CATALOGUE_ERROR, params);
|
||||
}
|
||||
|
||||
public void trackPPBanner(@NonNull String eventName, @NonNull MwmNativeAd ad, @BannerState int state)
|
||||
{
|
||||
trackEvent(eventName, Statistics.params()
|
||||
|
|
Loading…
Add table
Reference in a new issue