/** * Copyright (c) 2012 Todoroo Inc * * See the file "LICENSE" for the full license governing this code. */ package com.todoroo.astrid.gcal; import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.text.TextUtils; import android.util.Log; import com.timsu.astrid.R; import com.todoroo.andlib.service.ContextManager; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.data.Task; public class GCalTaskCompleteListener extends BroadcastReceiver { @SuppressWarnings("nls") @Override public void onReceive(Context context, Intent intent) { ContextManager.setContext(context); long taskId = intent.getLongExtra(AstridApiConstants.EXTRAS_TASK_ID, -1); if(taskId == -1) return; Task task = PluginServices.getTaskService().fetchById(taskId, Task.ID, Task.TITLE, Task.CALENDAR_URI); if(task == null) return; String calendarUri = task.getValue(Task.CALENDAR_URI); if(!TextUtils.isEmpty(calendarUri)) { try { // change title of calendar event ContentResolver cr = context.getContentResolver(); ContentValues values = new ContentValues(); values.put("title", context.getString(R.string.gcal_completed_title, task.getValue(Task.TITLE))); cr.update(Uri.parse(calendarUri), values, null, null); } catch (Exception e) { Log.d("astrid-gcal", "Error updating calendar entry", e); //$NON-NLS-1$ //$NON-NLS-2$ } } } }