Fixed two NPE's, also eek what happened to repeats.

pull/14/head
Tim Su 17 years ago
parent c0cbd60444
commit a6ce373866

@ -30,6 +30,7 @@ import android.content.DialogInterface;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Paint; import android.graphics.Paint;
import android.graphics.Typeface; import android.graphics.Typeface;
import android.util.Log;
import android.view.ContextMenu; import android.view.ContextMenu;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -151,16 +152,20 @@ public class TaskListAdapter extends ArrayAdapter<TaskModelForList> {
/** Toggle the expanded state of this task */ /** Toggle the expanded state of this task */
public void toggleExpanded(View view, TaskModelForList task) { public void toggleExpanded(View view, TaskModelForList task) {
if(CACHE_TRUE.equals(task.getCachedLabel(KEY_EXPANDED))) { try {
task.putCachedLabel(KEY_EXPANDED, null); if(CACHE_TRUE.equals(task.getCachedLabel(KEY_EXPANDED))) {
hooks.setSelectedItem(null); task.putCachedLabel(KEY_EXPANDED, null);
} else { hooks.setSelectedItem(null);
task.putCachedLabel(KEY_EXPANDED, CACHE_TRUE); } else {
hooks.setSelectedItem(task.getTaskIdentifier()); task.putCachedLabel(KEY_EXPANDED, CACHE_TRUE);
} hooks.setSelectedItem(task.getTaskIdentifier());
}
setFieldContentsAndVisibility(view, task); setFieldContentsAndVisibility(view, task);
((ListView)view.getParent()).setSelection(objects.indexOf(task)); ((ListView)view.getParent()).setSelection(objects.indexOf(task));
} catch (Exception e) {
Log.e("astrid", "Error in toggleExpanded", e);
}
} }
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
@ -514,7 +519,7 @@ public class TaskListAdapter extends ArrayAdapter<TaskModelForList> {
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) { boolean isChecked) {
View parent = (View)buttonView.getParent(); View parent = (View)buttonView.getParent().getParent();
TaskModelForList task = (TaskModelForList)parent.getTag(); TaskModelForList task = (TaskModelForList)parent.getTag();
int newProgressPercentage; int newProgressPercentage;

@ -34,6 +34,7 @@ import android.database.sqlite.SQLiteOpenHelper;
import com.timsu.astrid.data.AbstractController; import com.timsu.astrid.data.AbstractController;
import com.timsu.astrid.data.sync.SyncDataController; import com.timsu.astrid.data.sync.SyncDataController;
import com.timsu.astrid.data.task.AbstractTaskModel.RepeatInfo;
import com.timsu.astrid.data.task.AbstractTaskModel.TaskModelDatabaseHelper; import com.timsu.astrid.data.task.AbstractTaskModel.TaskModelDatabaseHelper;
import com.timsu.astrid.utilities.Notifications; import com.timsu.astrid.utilities.Notifications;
@ -273,7 +274,14 @@ public class TaskController extends AbstractController {
private void onTaskSetCompleted(AbstractTaskModel task, ContentValues values) { private void onTaskSetCompleted(AbstractTaskModel task, ContentValues values) {
values.put(AbstractTaskModel.COMPLETION_DATE, System.currentTimeMillis()); values.put(AbstractTaskModel.COMPLETION_DATE, System.currentTimeMillis());
// handle repeat
Cursor cursor = fetchTaskCursor(task.getTaskIdentifier(),
TaskModelForRepeat.FIELD_LIST);
TaskModelForRepeat repeatModel = new TaskModelForRepeat(cursor, values);
RepeatInfo repeatInfo = repeatModel.getRepeat();
if(repeatInfo != null)
repeatModel.repeatTaskBy(context, this, repeatInfo);
cursor.close();
} }
/** Set last notification date */ /** Set last notification date */

Loading…
Cancel
Save