package com.whatstodo.activities;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.Toast;
import com.whatstodo.R;
import com.whatstodo.manager.TaskManager;
import com.whatstodo.manager.TodoListManager;
import com.whatstodo.models.List;
import com.whatstodo.models.Task;
import com.whatstodo.net.ListSynchronizer;
import com.whatstodo.net.SynchronizationException;
public class TodoActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initTextView(R.id.filterButton5, "Listen");
initTextView(R.id.filterButton6, "Heute");
initTextView(R.id.filterButton7, "Priorität");
initTextView(R.id.filterButton8, "Mehr");
final EditText createTask = (EditText) findViewById(R.id.createTask);
createTask.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter"
// button
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_ENTER)) {
String taskName = createTask.getText().toString();
Task addTask = list.addTask(taskName);
TodoListManager.getInstance().save(list);
TaskManager.getInstance().save(addTask);
refreshListView();
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(
createTask.getWindowToken(), 0);
return true;
}
return false;
}
});
}
@Override
protected List getTodoData() {
Bundle bundle = getIntent().getExtras();
long listId = bundle.getLong("ListId");
return TodoListManager.getInstance().load(listId, true);
}
@Override
protected void startSynchronisation() {
try {
ListSynchronizer synchronizer = new ListSynchronizer();
if (synchronizer.serverIsAvailble()) {
List syncedTodo = synchronizer.synchronizeList(list);
list = TodoListManager.getInstance().replace(syncedTodo);
refreshListView();
} else {
Toast toast = Toast.makeText(getApplicationContext(),
"Server is not available", Toast.LENGTH_SHORT);
toast.show();
}
} catch (SynchronizationException e) {
Log.e(ListActivity.class.toString(),
"An error error occured during synchronization", e);
Toast toast = Toast.makeText(getApplicationContext(),
"An error error occured during synchronization",
Toast.LENGTH_SHORT);
toast.show();
}
}
}