From c6d51d3aa59d44b4f3fd11b7e44720d35171089f Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Thu, 8 Nov 2012 17:16:52 -0800 Subject: [PATCH] AB test for drag and drop --- .../AstridOrderedListFragmentHelper.java | 22 ------------------- .../astrid/service/abtesting/ABTests.java | 5 +++++ .../astrid/utility/AstridPreferences.java | 18 +++++++++++++++ 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java b/astrid/plugin-src/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java index 4ece49a8d..a7ff9ef61 100644 --- a/astrid/plugin-src/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java +++ b/astrid/plugin-src/com/todoroo/astrid/subtasks/AstridOrderedListFragmentHelper.java @@ -7,14 +7,11 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicReference; import android.app.Activity; -import android.content.Context; import android.database.Cursor; import android.util.DisplayMetrics; import android.util.Log; import android.util.TypedValue; import android.view.View; -import android.view.ViewGroup; -import android.view.ViewGroup.MarginLayoutParams; import android.widget.ListView; import com.commonsware.cwac.tlv.TouchListView.DropListener; @@ -211,25 +208,6 @@ public class AstridOrderedListFragmentHelper implements OrderedListFragmen return (ViewHolder)((View)v.getParent()).getTag(); } - @Override - public View newView(Context context, Cursor cursor, ViewGroup parent) { - View view = super.newView(context, cursor, parent); - view.getLayoutParams().height = Math.round(45 * metrics.density); - - ViewHolder vh = (ViewHolder) view.getTag(); - - MarginLayoutParams rowParams = (MarginLayoutParams) vh.rowBody.getLayoutParams(); - rowParams.topMargin = rowParams.bottomMargin = 0; - - ViewGroup.LayoutParams pictureParams = vh.picture.getLayoutParams(); - pictureParams.width = pictureParams.height = Math.round(38 * metrics.density); - - pictureParams = vh.pictureBorder.getLayoutParams(); - pictureParams.width = pictureParams.height = Math.round(38 * metrics.density); - - return view; - } - @Override public synchronized void setFieldContentsAndVisibility(View view) { super.setFieldContentsAndVisibility(view); diff --git a/astrid/src/com/todoroo/astrid/service/abtesting/ABTests.java b/astrid/src/com/todoroo/astrid/service/abtesting/ABTests.java index 62452ecec..c08699934 100644 --- a/astrid/src/com/todoroo/astrid/service/abtesting/ABTests.java +++ b/astrid/src/com/todoroo/astrid/service/abtesting/ABTests.java @@ -127,6 +127,8 @@ public class ABTests { public static final String AB_SOCIAL_REMINDERS = "android_social_reminders"; //$NON-NLS-1$ + public static final String AB_DRAG_DROP = "android_drag_drop"; //$NON-NLS-1$ + private void initialize() { addTest(AB_FEATURED_LISTS, new int[] { 1, 1 }, @@ -140,5 +142,8 @@ public class ABTests { addTest(AB_SOCIAL_REMINDERS, new int[] { 1, 1 }, new int[] { 1, 1 }, new String[] { "no-faces", "show-faces" }); //$NON-NLS-1$ //$NON-NLS-2$ + + addTest(AB_DRAG_DROP, new int[] { 0, 1 }, + new int[] { 1, 0 }, new String[] { "off-by-default", "on-by-default" }); //$NON-NLS-1$ //$NON-NLS-2$ } } diff --git a/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java b/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java index 8a16db21a..924412f21 100644 --- a/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java +++ b/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java @@ -19,6 +19,7 @@ import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.core.PluginServices; +import com.todoroo.astrid.core.SortHelper; import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.User; @@ -84,6 +85,23 @@ public class AstridPreferences { Preferences.setIfUnset(prefs, editor, r, R.string.p_social_reminders, ABChooser.readChoiceForTest(ABTests.AB_SOCIAL_REMINDERS) != 0); + String dragDropTestInitialized = ABTests.AB_DRAG_DROP + "_initialized"; //$NON-NLS-1$ + if (!Preferences.getBoolean(dragDropTestInitialized, false)) { + if (ABChooser.readChoiceForTest(ABTests.AB_DRAG_DROP) != 0) { + SharedPreferences publicPrefs = getPublicPrefs(context); + if (publicPrefs != null) { + Editor edit = publicPrefs.edit(); + if (edit != null) { + edit.putInt(SortHelper.PREF_SORT_FLAGS, SortHelper.FLAG_DRAG_DROP); + edit.putInt(SortHelper.PREF_SORT_SORT, SortHelper.SORT_AUTO); + edit.commit(); + Preferences.setInt(P_SUBTASKS_HELP, 1); + } + } + } + Preferences.setBoolean(dragDropTestInitialized, true); + } + if ("white-blue".equals(Preferences.getStringValue(R.string.p_theme))) { //$NON-NLS-1$ migrate from when white-blue wasn't the default Preferences.setString(R.string.p_theme, ThemeService.THEME_WHITE); }