Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.smedialink.dk_camp.domain.service;
- import android.app.NotificationManager;
- import android.app.PendingIntent;
- import android.content.Context;
- import android.content.Intent;
- import android.support.annotation.Keep;
- import android.support.v4.app.NotificationCompat;
- import com.google.firebase.messaging.FirebaseMessagingService;
- import com.google.firebase.messaging.RemoteMessage;
- import com.smedialink.dk_camp.DkCampApplication;
- import com.smedialink.dk_camp.R;
- import com.smedialink.dk_camp.presentation.activity.authorization.LoginActivity;
- import com.smedialink.dk_camp.presentation.activity.menu.MenuActivity;
- /**
- * Created by Oleg Shelyakin on 08/02/17.
- */
- @Keep
- public class NotificationService extends FirebaseMessagingService {
- private final static Integer REQUEST_CODE = 2001;
- private IUserSessionService userSessionService;
- @Override
- public void onCreate() {
- super.onCreate();
- userSessionService = DkCampApplication.get(this).getComponent().getSessionService();
- }
- @Override
- public void onMessageReceived(RemoteMessage remoteMessage) {
- super.onMessageReceived(remoteMessage);
- createNotification(remoteMessage.getNotification().getBody());
- }
- private void createNotification(String messageBody) {
- Intent notificationIntent;
- if (userSessionService.isLogedIn()){
- notificationIntent = new Intent(this, MenuActivity.class);
- } else {
- notificationIntent = new Intent(this, LoginActivity.class);
- }
- notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
- notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- PendingIntent contentIntent = PendingIntent.getActivity(this,
- REQUEST_CODE, notificationIntent,
- PendingIntent.FLAG_CANCEL_CURRENT);
- NotificationCompat.Builder mNotificationBuilder = new NotificationCompat.Builder( this)
- .setSmallIcon(R.mipmap.ic_launcher)
- .setContentTitle(getString(R.string.app_name))
- .setContentText(messageBody)
- .setAutoCancel(true)
- .setDefaults(NotificationCompat.DEFAULT_ALL)
- .setContentIntent(contentIntent);
- NotificationManager notificationManager =
- (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
- notificationManager.notify((int) System.currentTimeMillis(), mNotificationBuilder.build());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement