package pt.codebits.park.alert.breceiver;
import pt.codebits.park.alert.MainMapActivity;
import android.R;
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.content.IntentFilter;
import android.util.Log;
public class C2DMRegistration extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.w("C2DM", "Registration Receiver called");
if ("com.google.android.c2dm.intent.REGISTRATION".equals(action)) {
Log.w("C2DM", "Received registration ID");
final String registrationId = intent.getStringExtra("registration_id");
if (intent.getStringExtra("error") != null) {
Log.w("C2DM", "Received registration ID ERROR");
return;
}
String error = intent.getStringExtra("error");
Log.d("C2DM", "dmControl: registrationId = " + registrationId+ ", error = " + error);
Intent intentID = new Intent();
intentID.setAction(MainMapActivity.REGIST_DEVICE_FILTER);
intentID.putExtra("registrationID", registrationId);
context.sendBroadcast(intentID);
}
}
public void createNotification(Context context, String registrationId) {
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.ic_menu_info_details, "Registration successful", System.currentTimeMillis());
// Hide the notification after its selected
notification.flags |= Notification.FLAG_AUTO_CANCEL;
Intent intent = new Intent(context, C2DMRegistration.class);
intent.putExtra("registration_id", registrationId);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
notification.setLatestEventInfo(context, "Registration", "Successfully registered", pendingIntent);
notificationManager.notify(0, notification);
}
}