diff --git a/astrid/common-src/com/todoroo/andlib/utility/AndroidUtilities.java b/astrid/common-src/com/todoroo/andlib/utility/AndroidUtilities.java index d3d3b7c8a..e8015658b 100644 --- a/astrid/common-src/com/todoroo/andlib/utility/AndroidUtilities.java +++ b/astrid/common-src/com/todoroo/andlib/utility/AndroidUtilities.java @@ -23,8 +23,8 @@ import android.text.InputType; import android.util.Log; import android.view.MotionEvent; import android.view.View; -import android.view.ViewGroup; import android.view.View.OnTouchListener; +import android.view.ViewGroup; import android.widget.TextView; import com.todoroo.andlib.service.Autowired; @@ -39,22 +39,6 @@ import com.todoroo.andlib.service.ExceptionService; */ public class AndroidUtilities { - // --- activity management - - private static Activity currentlyActive = null; - - public static void setCurrentlyActive(Activity currentlyActive) { - AndroidUtilities.currentlyActive = currentlyActive; - } - - /** - * @return our best-guess currently active activity. Maybe null, may - * be out of view already. - */ - public static Activity getCurrentlyActiveActivity() { - return currentlyActive; - } - // --- utility methods private static class ExceptionHelper { diff --git a/astrid/plugin-src/com/todoroo/astrid/notes/NoteDetailExposer.java b/astrid/plugin-src/com/todoroo/astrid/notes/NoteDetailExposer.java index 2a14ed1e6..d08adf488 100644 --- a/astrid/plugin-src/com/todoroo/astrid/notes/NoteDetailExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/notes/NoteDetailExposer.java @@ -3,14 +3,17 @@ */ package com.todoroo.astrid.notes; + import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import com.timsu.astrid.R; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.DetailExposer; import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.model.Task; +import com.todoroo.astrid.utility.Preferences; /** * Exposes Task Detail for notes @@ -43,8 +46,14 @@ public class NoteDetailExposer extends BroadcastReceiver implements DetailExpose @Override public String getTaskDetails(Context context, long id, boolean extended) { - if(!extended) - return null; + + if(Preferences.getBoolean(R.string.p_showNotes, false)) { + if(extended) + return null; + } else { + if(!extended) + return null; + } Task task = PluginServices.getTaskService().fetchById(id, Task.NOTES); if(task == null) diff --git a/astrid/res/values/keys.xml b/astrid/res/values/keys.xml index fb7fa3abf..9cfa210b2 100644 --- a/astrid/res/values/keys.xml +++ b/astrid/res/values/keys.xml @@ -123,6 +123,7 @@ colorize font_size + notesVisible diff --git a/astrid/res/values/strings-core.xml b/astrid/res/values/strings-core.xml index fc2a8c522..c96065851 100644 --- a/astrid/res/values/strings-core.xml +++ b/astrid/res/values/strings-core.xml @@ -388,10 +388,16 @@ to the plugin creator for fastest service. Task List Size - Font size on the main listing page + + Show Notes In Task + + Notes will be displayed when you tap a task + + Notes will always displayed + New Task Defaults diff --git a/astrid/res/xml/preferences.xml b/astrid/res/xml/preferences.xml index 42933d0a9..59085a048 100644 --- a/astrid/res/xml/preferences.xml +++ b/astrid/res/xml/preferences.xml @@ -11,14 +11,11 @@ android:entryValues="@array/EPr_font_size" android:title="@string/EPr_fontSize_title" android:summary="@string/EPr_fontSize_desc" /> + + - - diff --git a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java index 6b77cc18c..eafe8f226 100644 --- a/astrid/src/com/todoroo/astrid/activity/EditPreferences.java +++ b/astrid/src/com/todoroo/astrid/activity/EditPreferences.java @@ -11,6 +11,7 @@ import java.util.Map.Entry; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; +import android.content.res.Resources; import android.os.Bundle; import android.preference.Preference; import android.preference.Preference.OnPreferenceClickListener; @@ -31,6 +32,8 @@ import com.todoroo.astrid.model.Task; 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.astrid.utility.Preferences; /** * Displays the preference screen for users to edit their preferences @@ -150,7 +153,16 @@ public class EditPreferences extends TodorooPreferences { @Override public void updatePreferences(Preference preference, Object value) { - // nothing to do + 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); + else + preference.setSummary(R.string.EPr_showNotes_desc_enabled); + if((Boolean)value != Preferences.getBoolean(preference.getKey(), false)) + Flags.set(Flags.REFRESH); + } } diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index c90494dd4..7d45d9964 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -71,6 +71,7 @@ import com.todoroo.astrid.service.MetadataService; import com.todoroo.astrid.service.StartupService; import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.utility.Constants; +import com.todoroo.astrid.utility.Flags; /** * Primary activity for the Bente application. Shows a list of upcoming @@ -446,8 +447,10 @@ public class TaskListActivity extends ListActivity implements OnScrollListener { @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); - if(hasFocus) - AndroidUtilities.setCurrentlyActive(this); + if(hasFocus && Flags.checkAndClear(Flags.REFRESH)) { + taskAdapter.flushCaches(); + loadTaskListContent(true); + } } @Override diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index e12635a31..5d7e4b973 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -14,12 +14,12 @@ import android.database.Cursor; import android.graphics.Paint; import android.text.Html; import android.view.ContextMenu; +import android.view.ContextMenu.ContextMenuInfo; import android.view.LayoutInflater; import android.view.View; -import android.view.ViewGroup; -import android.view.ContextMenu.ContextMenuInfo; import android.view.View.OnClickListener; import android.view.View.OnCreateContextMenuListener; +import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.CheckBox; @@ -566,6 +566,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { public void notifyDataSetChanged() { super.notifyDataSetChanged(); fontSize = Preferences.getIntegerFromString(R.string.p_fontSize, 20); + } private final View.OnClickListener completeBoxListener = new View.OnClickListener() { diff --git a/astrid/src/com/todoroo/astrid/service/UpgradeService.java b/astrid/src/com/todoroo/astrid/service/UpgradeService.java index fa87c2adc..7254864d2 100644 --- a/astrid/src/com/todoroo/astrid/service/UpgradeService.java +++ b/astrid/src/com/todoroo/astrid/service/UpgradeService.java @@ -61,6 +61,7 @@ public final class UpgradeService { "This update contains for free all of the " + "powerpack's features for evaluation purposes", "Fixed widget not updating when tasks are edited", + "Added a setting for displaying task notes", "If you liked the old version, you can also go back by " + "clicking here", }); diff --git a/astrid/src/com/todoroo/astrid/utility/Flags.java b/astrid/src/com/todoroo/astrid/utility/Flags.java new file mode 100644 index 000000000..3908433c2 --- /dev/null +++ b/astrid/src/com/todoroo/astrid/utility/Flags.java @@ -0,0 +1,22 @@ +package com.todoroo.astrid.utility; + +public class Flags { + + private static int state = 0; + + /** + * Whether to refresh the task list + */ + public static final int REFRESH = 1; + + public static boolean checkAndClear(int flag) { + boolean set = (state & flag) > 0; + state &= ~flag; + return set; + } + + public static void set(int flag) { + state |= flag; + } + +}