From 1d1e7f92453d415a2c538a84cf24126b1af1da08 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 2 Apr 2013 04:02:26 +0530 Subject: [PATCH] Add Categorization EventLogging --- .../commons/CategorizationFragment.java | 11 +++++++ .../wikimedia/commons/CommonsApplication.java | 1 + .../commons/MultipleShareActivity.java | 28 ++++++++++++++++++ .../org/wikimedia/commons/ShareActivity.java | 29 +++++++++++++++---- 4 files changed, 64 insertions(+), 5 deletions(-) diff --git a/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java b/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java index b02608206..8f4a535b8 100644 --- a/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java +++ b/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java @@ -201,6 +201,16 @@ public class CategorizationFragment extends SherlockFragment{ } } + public int getCurrentSelectedCount() { + int count = 0; + for(CategoryItem item: categoriesAdapter.getItems()) { + if(item.selected) { + count++; + } + } + return count; + } + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_categorization, null); @@ -212,6 +222,7 @@ public class CategorizationFragment extends SherlockFragment{ categoriesSkip.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { + getActivity().onBackPressed(); getActivity().finish(); } }); diff --git a/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java b/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java index 5f34ad217..2ad503f48 100644 --- a/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java +++ b/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java @@ -53,6 +53,7 @@ public class CommonsApplication extends Application { public static final Object[] EVENT_UPLOAD_ATTEMPT = {"MobileAppUploadAttempts", 5334329L}; public static final Object[] EVENT_LOGIN_ATTEMPT = {"MobileAppLoginAttempts", 5257721L}; public static final Object[] EVENT_SHARE_ATTEMPT = {"MobileAppShareAttempts", 5346170L}; + public static final Object[] EVENT_CATEGORIZATION_ATTEMPT = {"MobileAppCategorizationAttempts", 5359208L}; public static final String DEFAULT_EDIT_SUMMARY = "Uploaded using Android Commons app"; diff --git a/commons/src/main/java/org/wikimedia/commons/MultipleShareActivity.java b/commons/src/main/java/org/wikimedia/commons/MultipleShareActivity.java index 6c0148a49..5515ba93c 100644 --- a/commons/src/main/java/org/wikimedia/commons/MultipleShareActivity.java +++ b/commons/src/main/java/org/wikimedia/commons/MultipleShareActivity.java @@ -85,6 +85,13 @@ public class MultipleShareActivity categoriesSequence.setContentProviderClient(client); categoriesSequence.save(); } + EventLog.schema(CommonsApplication.EVENT_CATEGORIZATION_ATTEMPT) + .param("username", app.getCurrentAccount().name) + .param("categories-count", categories.size()) + .param("files-count", photosList.size()) + .param("source", Contribution.SOURCE_EXTERNAL) + .param("result", "queued") + .log(); finish(); } @@ -261,6 +268,27 @@ public class MultipleShareActivity finish(); } + @Override + public void onBackPressed() { + super.onBackPressed(); + if(categorizationFragment != null && categorizationFragment.isVisible()) { + EventLog.schema(CommonsApplication.EVENT_CATEGORIZATION_ATTEMPT) + .param("username", app.getCurrentAccount().name) + .param("categories-count", categorizationFragment.getCurrentSelectedCount()) + .param("files-count", photosList.size()) + .param("source", Contribution.SOURCE_EXTERNAL) + .param("result", "cancelled") + .log(); + } else { + EventLog.schema(CommonsApplication.EVENT_UPLOAD_ATTEMPT) + .param("username", app.getCurrentAccount().name) + .param("source", getIntent().getStringExtra(UploadService.EXTRA_SOURCE)) + .param("multiple", true) + .param("result", "cancelled") + .log(); + } + } + public void onBackStackChanged() { if(mediaDetails != null && mediaDetails.isVisible()) { getSupportActionBar().setDisplayHomeAsUpEnabled(true); diff --git a/commons/src/main/java/org/wikimedia/commons/ShareActivity.java b/commons/src/main/java/org/wikimedia/commons/ShareActivity.java index 824e5a9a9..5f33e09bc 100644 --- a/commons/src/main/java/org/wikimedia/commons/ShareActivity.java +++ b/commons/src/main/java/org/wikimedia/commons/ShareActivity.java @@ -4,6 +4,7 @@ import android.app.*; import android.content.*; import android.os.*; import android.text.*; +import android.util.Log; import com.nostra13.universalimageloader.core.ImageLoader; import android.net.*; import android.support.v4.app.NavUtils; @@ -77,6 +78,13 @@ public class ShareActivity categoriesSequence.queueModifier(new CategoryModifier(categories.toArray(new String[]{}))); categoriesSequence.setContentProviderClient(getContentResolver().acquireContentProviderClient(ModificationsContentProvider.AUTHORITY)); categoriesSequence.save(); + EventLog.schema(CommonsApplication.EVENT_CATEGORIZATION_ATTEMPT) + .param("username", app.getCurrentAccount().name) + .param("categories-count", categories.size()) + .param("files-count", 1) + .param("source", contribution.getSource()) + .param("result", "queued") + .log(); finish(); } @@ -111,11 +119,22 @@ public class ShareActivity @Override public void onBackPressed() { super.onBackPressed(); - EventLog.schema(CommonsApplication.EVENT_UPLOAD_ATTEMPT) - .param("username", app.getCurrentAccount().name) - .param("source", getIntent().getStringExtra(UploadService.EXTRA_SOURCE)) - .param("result", "cancelled") - .log(); + if(categorizationFragment != null && categorizationFragment.isVisible()) { + EventLog.schema(CommonsApplication.EVENT_CATEGORIZATION_ATTEMPT) + .param("username", app.getCurrentAccount().name) + .param("categories-count", categorizationFragment.getCurrentSelectedCount()) + .param("files-count", 1) + .param("source", contribution.getSource()) + .param("result", "cancelled") + .log(); + } else { + EventLog.schema(CommonsApplication.EVENT_UPLOAD_ATTEMPT) + .param("username", app.getCurrentAccount().name) + .param("source", getIntent().getStringExtra(UploadService.EXTRA_SOURCE)) + .param("multiple", true) + .param("result", "cancelled") + .log(); + } } @Override