From 52e5274a2f877c267a1bc910e2a653dba96d8058 Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Wed, 10 Jul 2013 19:26:23 -0700 Subject: [PATCH] Add registration notification support. --- AndroidManifest.xml | 7 +++++ .../service/RegistrationNotifier.java | 29 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 src/org/thoughtcrime/securesms/service/RegistrationNotifier.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 854837bc3f..9bbe2551b1 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -262,6 +262,13 @@ android:grantUriPermissions="true" android:authorities="org.thoughtcrime.provider.securesms" /> + + + + + + diff --git a/src/org/thoughtcrime/securesms/service/RegistrationNotifier.java b/src/org/thoughtcrime/securesms/service/RegistrationNotifier.java new file mode 100644 index 0000000000..69299055ea --- /dev/null +++ b/src/org/thoughtcrime/securesms/service/RegistrationNotifier.java @@ -0,0 +1,29 @@ +package org.thoughtcrime.securesms.service; + +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.support.v4.app.NotificationCompat; + +import org.thoughtcrime.securesms.R; +import org.thoughtcrime.securesms.RoutingActivity; + +public class RegistrationNotifier extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + NotificationCompat.Builder builder = new NotificationCompat.Builder(context); + builder.setSmallIcon(R.drawable.icon_notification); + builder.setContentTitle(intent.getStringExtra(RegistrationService.NOTIFICATION_TITLE)); + builder.setContentText(intent.getStringExtra(RegistrationService.NOTIFICATION_TEXT)); + builder.setContentIntent(PendingIntent.getActivity(context, 0, new Intent(context, RoutingActivity.class), 0)); + builder.setWhen(System.currentTimeMillis()); + builder.setDefaults(Notification.DEFAULT_VIBRATE); + builder.setAutoCancel(true); + + Notification notification = builder.build(); + ((NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE)).notify(31337, notification); + } +}