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