diff --git a/astrid/plugin-src/com/timsu/astrid/C2DMReceiver.java b/astrid/plugin-src/com/timsu/astrid/C2DMReceiver.java index 468adb462..91632ddba 100644 --- a/astrid/plugin-src/com/timsu/astrid/C2DMReceiver.java +++ b/astrid/plugin-src/com/timsu/astrid/C2DMReceiver.java @@ -166,9 +166,11 @@ public class C2DMReceiver extends BroadcastReceiver { PendingIntent pendingIntent = PendingIntent.getActivity(context, notifId, notifyIntent, 0); + int icon = calculateIcon(intent); + // create notification NotificationManager nm = new AndroidNotificationManager(ContextManager.getContext()); - Notification notification = new Notification(R.drawable.notif_pink_alarm, + Notification notification = new Notification(icon, message, System.currentTimeMillis()); String title; if(intent.hasExtra("title")) @@ -194,6 +196,27 @@ public class C2DMReceiver extends BroadcastReceiver { } } + private int calculateIcon(Intent intent) { + if(intent.hasExtra("type")) { + String type = intent.getStringExtra("type"); + if("f".equals(type)) + return R.drawable.notif_c2dm_done; + if("s".equals(type)) + return R.drawable.notif_c2dm_assign; + if("l".equals(type)) + return R.drawable.notif_c2dm_assign; + } else { + String message = intent.getStringExtra("alert"); + if(message.contains(" finished ")) + return R.drawable.notif_c2dm_done; + if(message.contains(" invited you to ")) + return R.drawable.notif_c2dm_assign; + if(message.contains(" sent you ")) + return R.drawable.notif_c2dm_assign; + } + return R.drawable.notif_c2dm_msg; + } + private Intent createTaskIntent(Intent intent) { TodorooCursor cursor = taskService.query( Query.select(Task.PROPERTIES).where(Task.REMOTE_ID.eq( diff --git a/astrid/res/drawable/notif_astrid.png b/astrid/res/drawable/notif_astrid.png index d46377a34..bd8495ee7 100644 Binary files a/astrid/res/drawable/notif_astrid.png and b/astrid/res/drawable/notif_astrid.png differ diff --git a/astrid/res/drawable/notif_c2dm_assign.png b/astrid/res/drawable/notif_c2dm_assign.png new file mode 100644 index 000000000..2c37d7cba Binary files /dev/null and b/astrid/res/drawable/notif_c2dm_assign.png differ diff --git a/astrid/res/drawable/notif_c2dm_done.png b/astrid/res/drawable/notif_c2dm_done.png new file mode 100644 index 000000000..46db45db9 Binary files /dev/null and b/astrid/res/drawable/notif_c2dm_done.png differ diff --git a/astrid/res/drawable/notif_c2dm_msg.png b/astrid/res/drawable/notif_c2dm_msg.png new file mode 100644 index 000000000..996abc25d Binary files /dev/null and b/astrid/res/drawable/notif_c2dm_msg.png differ