From ebf290e6a59ab09f67aa5bff052856ec94e946a9 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Mon, 19 Dec 2011 15:01:21 -0800 Subject: [PATCH] Improved some scrolling performance issues --- astrid/res/layout/task_list_body_api3.xml | 3 ++- astrid/res/layout/task_list_body_draggable.xml | 1 + astrid/res/layout/task_list_body_standard.xml | 3 ++- .../todoroo/astrid/activity/TaskListActivity.java | 6 ++++++ .../src/com/todoroo/astrid/adapter/TaskAdapter.java | 13 +++++++++---- 5 files changed, 20 insertions(+), 6 deletions(-) diff --git a/astrid/res/layout/task_list_body_api3.xml b/astrid/res/layout/task_list_body_api3.xml index 0b3ad3269..e27262a5f 100644 --- a/astrid/res/layout/task_list_body_api3.xml +++ b/astrid/res/layout/task_list_body_api3.xml @@ -18,6 +18,7 @@ android:scrollbars="vertical" android:cacheColorHint="#00000000" android:layout_width="fill_parent" - android:layout_height="fill_parent"/> + android:layout_height="fill_parent" + android:smoothScrollbar="false"/> diff --git a/astrid/res/layout/task_list_body_draggable.xml b/astrid/res/layout/task_list_body_draggable.xml index 47d591099..de8925aa6 100644 --- a/astrid/res/layout/task_list_body_draggable.xml +++ b/astrid/res/layout/task_list_body_draggable.xml @@ -23,6 +23,7 @@ android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawSelectorOnTop="false" + android:smoothScrollbar="false" tlv:normal_height="52dip" tlv:grabber="@+id/grabber" diff --git a/astrid/res/layout/task_list_body_standard.xml b/astrid/res/layout/task_list_body_standard.xml index 21bfe1297..881f2b251 100644 --- a/astrid/res/layout/task_list_body_standard.xml +++ b/astrid/res/layout/task_list_body_standard.xml @@ -24,6 +24,7 @@ android:scrollbars="vertical" android:cacheColorHint="#00000000" android:layout_width="fill_parent" - android:layout_height="fill_parent"/> + android:layout_height="fill_parent" + android:smoothScrollbar="false"/> diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 7553a8972..47ac4133f 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -270,6 +270,12 @@ public class TaskListActivity extends ListActivity implements OnScrollListener, break; } } + + runOnUiThread(new Runnable() { + public void run() { + Thread.currentThread().setPriority(Thread.MAX_PRIORITY); + } + }); } @Override diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index 1a52ea08e..b6bf98b92 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -205,6 +205,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { scaleAnimation = new ScaleAnimation(1.6f, 1.0f, 1.6f, 1.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); scaleAnimation.setDuration(100); + } /* ====================================================================== @@ -393,9 +394,13 @@ public class TaskAdapter extends CursorAdapter implements Filterable { viewHolder.details2.setVisibility(View.GONE); } else { viewHolder.details1.setVisibility(View.VISIBLE); - while(details.startsWith(DETAIL_SEPARATOR)) - details = details.substring(DETAIL_SEPARATOR.length()); - + if (details.startsWith(DETAIL_SEPARATOR)) { + StringBuffer buffer = new StringBuffer(details); + int length = DETAIL_SEPARATOR.length(); + while(buffer.lastIndexOf(DETAIL_SEPARATOR, length) == 0) + buffer.delete(0, length); + details = buffer.toString(); //details.substring(DETAIL_SEPARATOR.length()); + } drawDetails(viewHolder, details, dueDateTextWidth); } } @@ -403,7 +408,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { if(Math.abs(DateUtilities.now() - task.getValue(Task.MODIFICATION_DATE)) < 2000L) mostRecentlyMade = task.getId(); - // details and decorations, expanded +// // details and decorations, expanded decorationManager.request(viewHolder); }