From 2c4d39d2e250a2fbe31e64327780591f405cc28f Mon Sep 17 00:00:00 2001 From: Tim Su Date: Wed, 6 Oct 2010 16:54:36 -0700 Subject: [PATCH] Added setting for turning analytics on and off --- .../todoroo/astrid/gcal/GCalControlSet.java | 4 +- .../gtasks/GtasksBackgroundService.java | 6 +- .../gtasks/sync/GtasksSyncProvider.java | 6 +- .../astrid/locale/LocaleEditAlerts.java | 10 ++-- .../ProducteevBackgroundService.java | 9 ++- .../producteev/ProducteevLoginActivity.java | 10 ++-- .../sync/ProducteevSyncProvider.java | 6 +- .../astrid/repeats/RepeatControlSet.java | 4 +- astrid/res/values/keys.xml | 6 +- astrid/res/values/strings-core.xml | 2 +- astrid/res/values/strings-ppack.xml | 17 ++++++ astrid/res/xml/preferences.xml | 8 +++ .../astrid/activity/EditPreferences.java | 19 ++++-- .../astrid/activity/FilterListActivity.java | 6 +- .../astrid/activity/TaskEditActivity.java | 17 +++--- .../astrid/activity/TaskListActivity.java | 6 +- .../astrid/service/FlurryReporter.java | 3 +- .../astrid/service/StartupService.java | 5 +- .../astrid/service/StatisticsService.java | 58 +++++++++++++++++++ .../ConfigurePowerWidget42Activity.java | 8 +-- .../widget/ConfigurePowerWidgetActivity.java | 8 +-- .../astrid/widget/WidgetConfigActivity.java | 10 ++-- 22 files changed, 160 insertions(+), 68 deletions(-) create mode 100644 astrid/res/values/strings-ppack.xml create mode 100644 astrid/src/com/todoroo/astrid/service/StatisticsService.java diff --git a/astrid/plugin-src/com/todoroo/astrid/gcal/GCalControlSet.java b/astrid/plugin-src/com/todoroo/astrid/gcal/GCalControlSet.java index 9933c25bf..3331aa29a 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gcal/GCalControlSet.java +++ b/astrid/plugin-src/com/todoroo/astrid/gcal/GCalControlSet.java @@ -20,7 +20,7 @@ import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.Spinner; import android.widget.Toast; -import com.flurry.android.FlurryAgent; +import com.todoroo.astrid.service.StatisticsService; import com.timsu.astrid.R; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.DependencyInjectionService; @@ -147,7 +147,7 @@ public class GCalControlSet implements TaskEditControlSet { @Override public String writeToModel(Task task) { if(addToCalendar.isChecked() && calendarUri == null) { - FlurryAgent.onEvent("create-calendar-event"); + StatisticsService.reportEvent("create-calendar-event"); try{ Uri uri = Calendars.getCalendarContentUri(Calendars.CALENDAR_CONTENT_EVENTS); diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksBackgroundService.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksBackgroundService.java index fec6661c3..4452f399c 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksBackgroundService.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksBackgroundService.java @@ -1,6 +1,6 @@ package com.todoroo.astrid.gtasks; -import com.flurry.android.FlurryAgent; +import com.todoroo.astrid.service.StatisticsService; import com.todoroo.andlib.service.Autowired; import com.todoroo.astrid.gtasks.sync.GtasksSyncProvider; import com.todoroo.astrid.sync.SyncBackgroundService; @@ -25,12 +25,12 @@ public class GtasksBackgroundService extends SyncBackgroundService { @Override public void onCreate() { super.onCreate(); - FlurryAgent.onStartSession(this, Constants.FLURRY_KEY); + StatisticsService.sessionStart(this); } @Override public void onDestroy() { - FlurryAgent.onEndSession(this); + StatisticsService.sessionStop(this); super.onDestroy(); } diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/sync/GtasksSyncProvider.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/sync/GtasksSyncProvider.java index 21b3ca3a0..962ca03d5 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/sync/GtasksSyncProvider.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/sync/GtasksSyncProvider.java @@ -25,7 +25,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; -import com.flurry.android.FlurryAgent; +import com.todoroo.astrid.service.StatisticsService; import com.timsu.astrid.R; import com.todoroo.andlib.data.AbstractModel; import com.todoroo.andlib.data.Property; @@ -248,7 +248,7 @@ public class GtasksSyncProvider extends SyncProvider { // ---------------------------------------------------------------------- protected void performSync() { - FlurryAgent.onEvent("gtasks-started"); + StatisticsService.reportEvent("gtasks-started"); gtasksPreferenceService.recordSyncStart(); try { @@ -273,7 +273,7 @@ public class GtasksSyncProvider extends SyncProvider { gtasksTaskListUpdater.updateAllMetadata(); gtasksPreferenceService.recordSuccessfulSync(); - FlurryAgent.onEvent("gtasks-sync-finished"); //$NON-NLS-1$ + StatisticsService.reportEvent("gtasks-sync-finished"); //$NON-NLS-1$ } catch (IllegalStateException e) { // occurs when application was closed } catch (Exception e) { diff --git a/astrid/plugin-src/com/todoroo/astrid/locale/LocaleEditAlerts.java b/astrid/plugin-src/com/todoroo/astrid/locale/LocaleEditAlerts.java index 4383528f1..7f46516f2 100644 --- a/astrid/plugin-src/com/todoroo/astrid/locale/LocaleEditAlerts.java +++ b/astrid/plugin-src/com/todoroo/astrid/locale/LocaleEditAlerts.java @@ -14,7 +14,7 @@ import android.widget.ExpandableListView; import android.widget.LinearLayout; import android.widget.Spinner; -import com.flurry.android.FlurryAgent; +import com.todoroo.astrid.service.StatisticsService; import com.timsu.astrid.R; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.utility.AndroidUtilities; @@ -191,9 +191,9 @@ public final class LocaleEditAlerts extends ExpandableListActivity { .setPositiveButton(android.R.string.ok, AddOnActivity.createAddOnClicker(LocaleEditAlerts.this, true)) .show(); - FlurryAgent.onEvent("locale-edit-alerts-no-plugin"); //$NON-NLS-1$ + StatisticsService.reportEvent("locale-edit-alerts-no-plugin"); //$NON-NLS-1$ } else { - FlurryAgent.onEvent("locale-edit-alerts"); //$NON-NLS-1$ + StatisticsService.reportEvent("locale-edit-alerts"); //$NON-NLS-1$ } } @@ -305,13 +305,13 @@ public final class LocaleEditAlerts extends ExpandableListActivity { @Override protected void onStart() { super.onStart(); - FlurryAgent.onStartSession(this, Constants.FLURRY_KEY); + StatisticsService.sessionStart(this); } @Override protected void onStop() { super.onStop(); - FlurryAgent.onEndSession(this); + StatisticsService.sessionStop(this); } /** diff --git a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevBackgroundService.java b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevBackgroundService.java index c00b8639b..925a0d61f 100644 --- a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevBackgroundService.java +++ b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevBackgroundService.java @@ -8,14 +8,13 @@ import android.content.Intent; import android.os.IBinder; import android.util.Log; -import com.flurry.android.FlurryAgent; import com.timsu.astrid.R; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.utility.DateUtilities; +import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.producteev.sync.ProducteevSyncProvider; -import com.todoroo.astrid.utility.Constants; -import com.todoroo.andlib.utility.Preferences; +import com.todoroo.astrid.service.StatisticsService; /** * SynchronizationService is the service that performs Astrid's background @@ -57,9 +56,9 @@ public class ProducteevBackgroundService extends Service { return; PluginServices.getTaskService(); - FlurryAgent.onStartSession(context, Constants.FLURRY_KEY); + StatisticsService.sessionStart(context); new ProducteevSyncProvider().synchronize(context); - FlurryAgent.onEndSession(context); + StatisticsService.sessionStop(context); } // --- alarm management diff --git a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevLoginActivity.java b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevLoginActivity.java index 6394220aa..a693016d6 100644 --- a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevLoginActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevLoginActivity.java @@ -35,7 +35,7 @@ import android.widget.EditText; import android.widget.Spinner; import android.widget.TextView; -import com.flurry.android.FlurryAgent; +import com.todoroo.astrid.service.StatisticsService; import com.timsu.astrid.R; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; @@ -164,7 +164,7 @@ public class ProducteevLoginActivity extends Activity { Preferences.setString(R.string.producteev_PPr_password, password); ProducteevUtilities.INSTANCE.setToken(invoker.getToken()); - FlurryAgent.onEvent("producteev-login"); //$NON-NLS-1$ + StatisticsService.reportEvent("producteev-login"); //$NON-NLS-1$ synchronize(); } catch (ApiAuthenticationException e) { @@ -205,7 +205,7 @@ public class ProducteevLoginActivity extends Activity { Preferences.setString(R.string.producteev_PPr_password, password); ProducteevUtilities.INSTANCE.setToken(invoker.getToken()); - FlurryAgent.onEvent("producteev-signup"); //$NON-NLS-1$ + StatisticsService.reportEvent("producteev-signup"); //$NON-NLS-1$ synchronize(); } catch (Exception e) { @@ -237,13 +237,13 @@ public class ProducteevLoginActivity extends Activity { @Override protected void onStart() { super.onStart(); - FlurryAgent.onStartSession(this, Constants.FLURRY_KEY); + StatisticsService.sessionStart(this); } @Override protected void onStop() { super.onStop(); - FlurryAgent.onEndSession(this); + StatisticsService.sessionStop(this); } } \ No newline at end of file diff --git a/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java b/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java index 992e4ce41..c74ccd95b 100644 --- a/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java +++ b/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java @@ -20,7 +20,7 @@ import android.content.Context; import android.content.Intent; import android.text.TextUtils; -import com.flurry.android.FlurryAgent; +import com.todoroo.astrid.service.StatisticsService; import com.timsu.astrid.R; import com.todoroo.andlib.data.Property; import com.todoroo.andlib.data.TodorooCursor; @@ -204,7 +204,7 @@ public class ProducteevSyncProvider extends SyncProvider gtasks_sync_freq + + + + + statistics @@ -242,7 +247,6 @@ default_calendar_id - diff --git a/astrid/res/values/strings-core.xml b/astrid/res/values/strings-core.xml index afc051dad..3a24e5aa4 100644 --- a/astrid/res/values/strings-core.xml +++ b/astrid/res/values/strings-core.xml @@ -318,7 +318,7 @@ Astrid: Preferences - Appearance + General Task List Size diff --git a/astrid/res/values/strings-ppack.xml b/astrid/res/values/strings-ppack.xml new file mode 100644 index 000000000..6af692cc5 --- /dev/null +++ b/astrid/res/values/strings-ppack.xml @@ -0,0 +1,17 @@ + + + + + + + + Astrid Power Pack + + + Anonymous Usage Stats + + No usage data will be reported + + Help us make Astrid better by sending anonymous usage data + + diff --git a/astrid/res/xml/preferences.xml b/astrid/res/xml/preferences.xml index 59085a048..8acdef547 100644 --- a/astrid/res/xml/preferences.xml +++ b/astrid/res/xml/preferences.xml @@ -18,4 +18,12 @@ android:defaultValue="false" /> + + + + diff --git a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java index 563047d44..62f68bef9 100644 --- a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java +++ b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java @@ -14,9 +14,9 @@ import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.os.Bundle; import android.preference.Preference; +import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceCategory; import android.preference.PreferenceScreen; -import android.preference.Preference.OnPreferenceClickListener; import android.widget.Toast; import com.timsu.astrid.R; @@ -25,15 +25,16 @@ import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.utility.DialogUtilities; +import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.widget.TodorooPreferences; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.service.AddOnService; import com.todoroo.astrid.service.StartupService; import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.utility.Constants; import com.todoroo.astrid.utility.Flags; -import com.todoroo.andlib.utility.Preferences; /** * Displays the preference screen for users to edit their preferences @@ -47,8 +48,8 @@ public class EditPreferences extends TodorooPreferences { // --- instance variables - @Autowired - private TaskService taskService; // for debugging + @Autowired private TaskService taskService; // for debugging + @Autowired private AddOnService addOnService; @Autowired private Database database; @@ -122,6 +123,9 @@ public class EditPreferences extends TodorooPreferences { screen.addPreference(preference); } + // power pack + screen.getPreference(1).setEnabled(addOnService.hasPowerPack()); + // debugging preferences addDebugPreferences(); } @@ -180,7 +184,6 @@ public class EditPreferences extends TodorooPreferences { @Override public void updatePreferences(Preference preference, Object value) { Resources r = getResources(); - // auto if (r.getString(R.string.p_showNotes).equals(preference.getKey())) { if (value != null && !(Boolean)value) preference.setSummary(R.string.EPr_showNotes_desc_disabled); @@ -191,6 +194,12 @@ public class EditPreferences extends TodorooPreferences { Flags.set(Flags.REFRESH); } } + else if (r.getString(R.string.p_statistics).equals(preference.getKey())) { + if (value != null && !(Boolean)value) + preference.setSummary(R.string.EPr_statistics_desc_disabled); + else + preference.setSummary(R.string.EPr_statistics_desc_enabled); + } } diff --git a/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java b/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java index 95ace7c4e..0a417a523 100644 --- a/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java @@ -33,7 +33,7 @@ import android.widget.TextView; import android.widget.TextView.OnEditorActionListener; import android.widget.Toast; -import com.flurry.android.FlurryAgent; +import com.todoroo.astrid.service.StatisticsService; import com.timsu.astrid.R; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.DependencyInjectionService; @@ -160,13 +160,13 @@ public class FilterListActivity extends ExpandableListActivity { @Override protected void onStart() { super.onStart(); - FlurryAgent.onStartSession(this, Constants.FLURRY_KEY); + StatisticsService.sessionStart(this); } @Override protected void onStop() { super.onStop(); - FlurryAgent.onEndSession(this); + StatisticsService.sessionStop(this); } @Override diff --git a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java index 69698ba8e..353b67493 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java @@ -27,15 +27,15 @@ import java.util.List; import android.app.AlertDialog; import android.app.DatePickerDialog; -import android.app.TabActivity; import android.app.DatePickerDialog.OnDateSetListener; +import android.app.TabActivity; import android.content.BroadcastReceiver; import android.content.ContentValues; import android.content.Context; import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; import android.content.Intent; import android.content.IntentFilter; -import android.content.DialogInterface.OnCancelListener; import android.content.res.Resources; import android.graphics.Color; import android.os.Bundle; @@ -47,6 +47,7 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.widget.AdapterView; +import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.CheckBox; @@ -62,9 +63,7 @@ import android.widget.TextView; import android.widget.TimePicker; import android.widget.Toast; import android.widget.ToggleButton; -import android.widget.AdapterView.OnItemSelectedListener; -import com.flurry.android.FlurryAgent; import com.timsu.astrid.R; import com.todoroo.andlib.data.Property.StringProperty; import com.todoroo.andlib.service.Autowired; @@ -84,12 +83,12 @@ import com.todoroo.astrid.repeats.RepeatControlSet; import com.todoroo.astrid.service.AddOnService; import com.todoroo.astrid.service.MetadataService; import com.todoroo.astrid.service.StartupService; +import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.tags.TagsControlSet; import com.todoroo.astrid.timers.TimerControlSet; import com.todoroo.astrid.ui.DeadlineTimePickerDialog; import com.todoroo.astrid.ui.DeadlineTimePickerDialog.OnDeadlineTimeSetListener; -import com.todoroo.astrid.utility.Constants; /** * This activity is responsible for creating new tasks and editing existing @@ -359,13 +358,13 @@ public final class TaskEditActivity extends TabActivity { } if(model.getValue(Task.TITLE).length() == 0) { - FlurryAgent.onEvent("create-task"); + StatisticsService.reportEvent("create-task"); isNewTask = true; // set deletion date until task gets a title model.setValue(Task.DELETION_DATE, DateUtilities.now()); } else { - FlurryAgent.onEvent("edit-task"); + StatisticsService.reportEvent("edit-task"); } if(model == null) { @@ -600,13 +599,13 @@ public final class TaskEditActivity extends TabActivity { @Override protected void onStart() { super.onStart(); - FlurryAgent.onStartSession(this, Constants.FLURRY_KEY); + StatisticsService.sessionStart(this); } @Override protected void onStop() { super.onStop(); - FlurryAgent.onEndSession(this); + StatisticsService.sessionStop(this); } /* ====================================================================== diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 89a0d6512..8396ca1e1 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -50,7 +50,7 @@ import android.widget.TextView; import android.widget.TextView.OnEditorActionListener; import android.widget.Toast; -import com.flurry.android.FlurryAgent; +import com.todoroo.astrid.service.StatisticsService; import com.timsu.astrid.R; import com.todoroo.andlib.data.Property; import com.todoroo.andlib.data.TodorooCursor; @@ -428,13 +428,13 @@ public class TaskListActivity extends ListActivity implements OnScrollListener, @Override protected void onStart() { super.onStart(); - FlurryAgent.onStartSession(this, Constants.FLURRY_KEY); + StatisticsService.sessionStart(this); } @Override protected void onStop() { super.onStop(); - FlurryAgent.onEndSession(this); + StatisticsService.sessionStop(this); } @Override diff --git a/astrid/src/com/todoroo/astrid/service/FlurryReporter.java b/astrid/src/com/todoroo/astrid/service/FlurryReporter.java index 570f099d9..5d0a6807f 100644 --- a/astrid/src/com/todoroo/astrid/service/FlurryReporter.java +++ b/astrid/src/com/todoroo/astrid/service/FlurryReporter.java @@ -9,7 +9,6 @@ import java.io.StringWriter; import android.database.sqlite.SQLiteException; -import com.flurry.android.FlurryAgent; import com.todoroo.andlib.service.ExceptionService.ErrorReporter; public class FlurryReporter implements ErrorReporter { @@ -45,7 +44,7 @@ public class FlurryReporter implements ErrorReporter { trace = trace.replaceAll(SQLiteException.class.getName(), "SqLiEx"); trace = trace.replaceAll(".java:", ":"); - FlurryAgent.onError(name, message, trace); + StatisticsService.reportError(name, message, trace); } } diff --git a/astrid/src/com/todoroo/astrid/service/StartupService.java b/astrid/src/com/todoroo/astrid/service/StartupService.java index e7e5a395b..68a2aed35 100644 --- a/astrid/src/com/todoroo/astrid/service/StartupService.java +++ b/astrid/src/com/todoroo/astrid/service/StartupService.java @@ -17,7 +17,6 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.util.Log; -import com.flurry.android.FlurryAgent; import com.timsu.astrid.R; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.ContextManager; @@ -162,9 +161,9 @@ public class StartupService { File[] children = directory.listFiles(); AndroidUtilities.sortFilesByDateDesc(children); if(children.length > 0) { - FlurryAgent.onStartSession(context, Constants.FLURRY_KEY); + StatisticsService.sessionStart(context); TasksXmlImporter.importTasks(context, children[0].getAbsolutePath(), null); - FlurryAgent.onEvent("lost-tasks-restored"); //$NON-NLS-1$ + StatisticsService.reportEvent("lost-tasks-restored"); //$NON-NLS-1$ } } } catch (Exception e) { diff --git a/astrid/src/com/todoroo/astrid/service/StatisticsService.java b/astrid/src/com/todoroo/astrid/service/StatisticsService.java new file mode 100644 index 000000000..4dfe7e89d --- /dev/null +++ b/astrid/src/com/todoroo/astrid/service/StatisticsService.java @@ -0,0 +1,58 @@ +/** + * See the file "LICENSE" for the full license governing this code. + */ + +package com.todoroo.astrid.service; + +import android.content.Context; + +import com.flurry.android.FlurryAgent; +import com.timsu.astrid.R; +import com.todoroo.andlib.utility.Preferences; +import com.todoroo.astrid.utility.Constants; + +public class StatisticsService { + + /** + * Indicate session started + * + * @param context + */ + public static void sessionStart(Context context) { + if(dontCollectStatistics()) + return; + + FlurryAgent.onStartSession(context, Constants.FLURRY_KEY); + } + + /** + * Indicate session ended + * + * @param context + */ + public static void sessionStop(Context context) { + if(dontCollectStatistics()) + return; + + FlurryAgent.onEndSession(context); + } + + public static void reportError(String name, String message, String trace) { + if(dontCollectStatistics()) + return; + + FlurryAgent.onError(name, message, trace); + } + + public static void reportEvent(String event) { + if(dontCollectStatistics()) + return; + + FlurryAgent.onEvent(event); + } + + private static boolean dontCollectStatistics() { + return !Preferences.getBoolean(R.string.p_statistics, true); + } + +} diff --git a/astrid/src/com/todoroo/astrid/widget/ConfigurePowerWidget42Activity.java b/astrid/src/com/todoroo/astrid/widget/ConfigurePowerWidget42Activity.java index 01b5762c5..ea4185ef6 100644 --- a/astrid/src/com/todoroo/astrid/widget/ConfigurePowerWidget42Activity.java +++ b/astrid/src/com/todoroo/astrid/widget/ConfigurePowerWidget42Activity.java @@ -14,7 +14,7 @@ import android.widget.CheckBox; import android.widget.ExpandableListView; import android.widget.Spinner; -import com.flurry.android.FlurryAgent; +import com.todoroo.astrid.service.StatisticsService; import com.timsu.astrid.R; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.adapter.FilterAdapter; @@ -88,7 +88,7 @@ public class ConfigurePowerWidget42Activity extends ExpandableListActivity { Button button = (Button)findViewById(R.id.ok); button.setOnClickListener(mOnClickListener); - FlurryAgent.onEvent("power-widget-config"); //$NON-NLS-1$ + StatisticsService.reportEvent("power-widget-config"); //$NON-NLS-1$ } View.OnClickListener mOnClickListener = new View.OnClickListener() { @@ -166,13 +166,13 @@ public class ConfigurePowerWidget42Activity extends ExpandableListActivity { @Override protected void onStart() { super.onStart(); - FlurryAgent.onStartSession(this, Constants.FLURRY_KEY); + StatisticsService.sessionStart(this); } @Override protected void onStop() { super.onStop(); - FlurryAgent.onEndSession(this); + StatisticsService.sessionStop(this); } private void saveConfiguration(FilterListItem filterListItem, String color, boolean enableCalendar, boolean enableEncouragements){ diff --git a/astrid/src/com/todoroo/astrid/widget/ConfigurePowerWidgetActivity.java b/astrid/src/com/todoroo/astrid/widget/ConfigurePowerWidgetActivity.java index 6ce3c1deb..2c6ec8a9a 100644 --- a/astrid/src/com/todoroo/astrid/widget/ConfigurePowerWidgetActivity.java +++ b/astrid/src/com/todoroo/astrid/widget/ConfigurePowerWidgetActivity.java @@ -14,7 +14,7 @@ import android.widget.CheckBox; import android.widget.ExpandableListView; import android.widget.Spinner; -import com.flurry.android.FlurryAgent; +import com.todoroo.astrid.service.StatisticsService; import com.timsu.astrid.R; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.adapter.FilterAdapter; @@ -88,7 +88,7 @@ public class ConfigurePowerWidgetActivity extends ExpandableListActivity { Button button = (Button)findViewById(R.id.ok); button.setOnClickListener(mOnClickListener); - FlurryAgent.onEvent("power-widget-config"); //$NON-NLS-1$ + StatisticsService.reportEvent("power-widget-config"); //$NON-NLS-1$ } View.OnClickListener mOnClickListener = new View.OnClickListener() { @@ -166,13 +166,13 @@ public class ConfigurePowerWidgetActivity extends ExpandableListActivity { @Override protected void onStart() { super.onStart(); - FlurryAgent.onStartSession(this, Constants.FLURRY_KEY); + StatisticsService.sessionStart(this); } @Override protected void onStop() { super.onStop(); - FlurryAgent.onEndSession(this); + StatisticsService.sessionStop(this); } private void saveConfiguration(FilterListItem filterListItem, String color, boolean enableCalendar, boolean enableEncouragements){ diff --git a/astrid/src/com/todoroo/astrid/widget/WidgetConfigActivity.java b/astrid/src/com/todoroo/astrid/widget/WidgetConfigActivity.java index 8f0d70005..4f9f0b623 100644 --- a/astrid/src/com/todoroo/astrid/widget/WidgetConfigActivity.java +++ b/astrid/src/com/todoroo/astrid/widget/WidgetConfigActivity.java @@ -9,7 +9,7 @@ import android.view.View; import android.widget.Button; import android.widget.ExpandableListView; -import com.flurry.android.FlurryAgent; +import com.todoroo.astrid.service.StatisticsService; import com.timsu.astrid.R; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.adapter.FilterAdapter; @@ -59,7 +59,7 @@ public class WidgetConfigActivity extends ExpandableListActivity { Button button = (Button)findViewById(R.id.ok); button.setOnClickListener(mOnClickListener); - FlurryAgent.onEvent("widget-config"); //$NON-NLS-1$ + StatisticsService.reportEvent("widget-config"); //$NON-NLS-1$ } View.OnClickListener mOnClickListener = new View.OnClickListener() { @@ -122,13 +122,13 @@ public class WidgetConfigActivity extends ExpandableListActivity { @Override protected void onStart() { super.onStart(); - FlurryAgent.onStartSession(this, Constants.FLURRY_KEY); + StatisticsService.sessionStart(this); } @Override protected void onStop() { super.onStop(); - FlurryAgent.onEndSession(this); + StatisticsService.sessionStop(this); } private void saveConfiguration(FilterListItem filterListItem) { @@ -146,6 +146,6 @@ public class WidgetConfigActivity extends ExpandableListActivity { Preferences.setString(TasksWidget.PREF_SQL + mAppWidgetId, sql); Preferences.setString(TasksWidget.PREF_VALUES + mAppWidgetId, contentValuesString); - FlurryAgent.onEvent("widget-config"); //$NON-NLS-1$ + StatisticsService.reportEvent("widget-config"); //$NON-NLS-1$ } }