Added setting for turning analytics on and off

pull/14/head
Tim Su 14 years ago
parent bd24ffc7ae
commit 2c4d39d2e2

@ -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);

@ -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();
}

@ -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<GtasksTaskContainer> {
// ----------------------------------------------------------------------
protected void performSync() {
FlurryAgent.onEvent("gtasks-started");
StatisticsService.reportEvent("gtasks-started");
gtasksPreferenceService.recordSyncStart();
try {
@ -273,7 +273,7 @@ public class GtasksSyncProvider extends SyncProvider<GtasksTaskContainer> {
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) {

@ -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);
}
/**

@ -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

@ -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);
}
}

@ -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<ProducteevTaskContainer
// ----------------------------------------------------------------------
protected void performSync() {
FlurryAgent.onEvent("producteev-started");
StatisticsService.reportEvent("producteev-started");
preferences.recordSyncStart();
try {
@ -313,7 +313,7 @@ public class ProducteevSyncProvider extends SyncProvider<ProducteevTaskContainer
Preferences.setString(ProducteevUtilities.PREF_SERVER_LAST_NOTIFICATION, lastNotificationId);
Preferences.setString(ProducteevUtilities.PREF_SERVER_LAST_ACTIVITY, lastActivityId);
FlurryAgent.onEvent("pdv-sync-finished"); //$NON-NLS-1$
StatisticsService.reportEvent("pdv-sync-finished"); //$NON-NLS-1$
} catch (IllegalStateException e) {
// occurs when application was closed
} catch (Exception e) {

@ -21,7 +21,7 @@ import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.CompoundButton.OnCheckedChangeListener;
import com.flurry.android.FlurryAgent;
import com.todoroo.astrid.service.StatisticsService;
import com.google.ical.values.Frequency;
import com.google.ical.values.RRule;
import com.google.ical.values.Weekday;
@ -243,7 +243,7 @@ public class RepeatControlSet implements TaskEditControlSet {
result = ""; //$NON-NLS-1$
else {
if(TextUtils.isEmpty(task.getValue(Task.RECURRENCE))) {
FlurryAgent.onEvent("repeat-task-create"); //$NON-NLS-1$
StatisticsService.reportEvent("repeat-task-create"); //$NON-NLS-1$
}
RRule rrule = new RRule();

@ -233,6 +233,11 @@
<string name="gtasks_GPr_interval_key">gtasks_sync_freq</string>
<!-- ======================================================== POWERPACK == -->
<!-- Anonymous usage statistics -->
<string name="p_statistics">statistics</string>
<!-- ============================================================ OTHER == -->
<!-- Preference Key (do not translate) -->
@ -243,7 +248,6 @@
<!-- Default Calendar Preference Key (do not translate) -->
<string name="gcal_p_default">default_calendar_id</string>
<!-- placeholder string for info about translators (i.e. YOU!) -->
<string name="about_translators"></string>

@ -318,7 +318,7 @@
<string name="EPr_title">Astrid: Preferences</string>
<!-- Preference Category: Appearance Title -->
<string name="EPr_appearance_header">Appearance</string>
<string name="EPr_general_header">General</string>
<!-- Preference: Task List Font Size Title -->
<string name="EPr_fontSize_title">Task List Size</string>

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- See the file "LICENSE" for the full license governing this code. -->
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!-- ================================================== EditPreferences == -->
<!-- Preference Category: Power Pack -->
<string name="EPr_powerpack_header">Astrid Power Pack</string>
<!-- Preference: Anonymous User Statistics -->
<string name="EPr_statistics_title">Anonymous Usage Stats</string>
<!-- Preference: User Statistics (disabled) -->
<string name="EPr_statistics_desc_disabled">No usage data will be reported</string>
<!-- Preference: User Statistics (enabled) -->
<string name="EPr_statistics_desc_enabled">Help us make Astrid better by sending anonymous usage data</string>
</resources>

@ -18,4 +18,12 @@
android:defaultValue="false" />
</PreferenceCategory>
<PreferenceCategory
android:title="@string/EPr_powerpack_header">
<CheckBoxPreference
android:key="@string/p_statistics"
android:title="@string/EPr_statistics_title"
android:defaultValue="true" />
</PreferenceCategory>
</PreferenceScreen>

@ -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);
}
}

@ -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

@ -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);
}
/* ======================================================================

@ -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

@ -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);
}
}

@ -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) {

@ -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);
}
}

@ -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){

@ -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){

@ -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$
}
}

Loading…
Cancel
Save