Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void displayPlaceNotification(final String id,
- final Context context,
- final double dist) {
- final String userId = FirebaseAuth.getInstance().getCurrentUser().getUid();
- final NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context);
- FirebaseDatabase.getInstance().getReference(String.format("places/%s", id))
- .addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- Place place = dataSnapshot.getValue(Place.class);
- assert place != null;
- if (place.addedBy.equals(userId)) return;
- notificationBuilder
- .setSmallIcon(R.mipmap.geodrink_blue_logo)
- .setContentTitle(String.format("%s is near you", place.name))
- .setContentText(String.format("It's only %d meters from you", (int)dist))
- .setAutoCancel(true);
- Intent intent = new Intent(context, DetailsActivity.class);
- intent.putExtra("placeId", id);
- // TODO: change from MapActivity to DetailsActivity & add placeId
- PendingIntent resultPendingIntent = PendingIntent
- .getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
- notificationBuilder.setContentIntent(resultPendingIntent);
- NotificationManager notificationManager
- = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
- notificationManager.notify(uniqueId(), notificationBuilder.build());
- }
- @Override public void onCancelled(DatabaseError databaseError) {}
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement