mirror of https://github.com/tasks/tasks
notes plugin
parent
35b0da4ad6
commit
9253b4e911
@ -0,0 +1,61 @@
|
||||
/**
|
||||
* See the file "LICENSE" for the full license governing this code.
|
||||
*/
|
||||
package com.todoroo.astrid.notes;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.todoroo.andlib.service.Autowired;
|
||||
import com.todoroo.andlib.service.DependencyInjectionService;
|
||||
import com.todoroo.astrid.api.AstridApiConstants;
|
||||
import com.todoroo.astrid.api.TaskDetail;
|
||||
import com.todoroo.astrid.model.Task;
|
||||
import com.todoroo.astrid.service.TaskService;
|
||||
|
||||
/**
|
||||
* Exposes {@link TaskDetail} for tags, i.e. "Tags: frogs, animals"
|
||||
*
|
||||
* @author Tim Su <tim@todoroo.com>
|
||||
*
|
||||
*/
|
||||
public class NoteDetailExposer extends BroadcastReceiver {
|
||||
|
||||
private static TaskService staticTaskService = null;
|
||||
|
||||
@Autowired
|
||||
TaskService taskService;
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
// get tags associated with this task
|
||||
long taskId = intent.getLongExtra(AstridApiConstants.EXTRAS_TASK_ID, -1);
|
||||
if(taskId == -1)
|
||||
return;
|
||||
|
||||
if(staticTaskService == null) {
|
||||
DependencyInjectionService.getInstance().inject(this);
|
||||
staticTaskService = taskService;
|
||||
}
|
||||
|
||||
Task task = taskService.fetchById(taskId, Task.NOTES);
|
||||
if(task == null)
|
||||
return;
|
||||
String notes = task.getValue(Task.NOTES);
|
||||
if(notes.length() == 0)
|
||||
return;
|
||||
|
||||
TaskDetail taskDetail = new TaskDetail(NotesPlugin.IDENTIFIER,
|
||||
"Notes: " + notes);
|
||||
|
||||
// transmit
|
||||
TaskDetail[] details = new TaskDetail[1];
|
||||
details[0] = taskDetail;
|
||||
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_DETAILS);
|
||||
broadcastIntent.putExtra(AstridApiConstants.EXTRAS_ITEMS, details);
|
||||
broadcastIntent.putExtra(AstridApiConstants.EXTRAS_TASK_ID, taskId);
|
||||
context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.todoroo.astrid.notes;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.todoroo.astrid.api.AstridApiConstants;
|
||||
import com.todoroo.astrid.api.Plugin;
|
||||
|
||||
public class NotesPlugin extends BroadcastReceiver {
|
||||
|
||||
static final String IDENTIFIER = "notes";
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Plugin plugin = new Plugin(IDENTIFIER, "Notes", "Todoroo",
|
||||
"Lets you add and view notes for a task.");
|
||||
|
||||
Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_SEND_PLUGINS);
|
||||
broadcastIntent.putExtra(AstridApiConstants.EXTRAS_PLUGIN, plugin);
|
||||
context.sendBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue