package com.goka.rssts.view;
import com.goka.rssts.Config;
import com.goka.rssts.R;
import com.goka.rssts.service.IntentReceiveService;
import com.goka.rssts.util.AppUtils;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.support.v4.app.NotificationCompat;
/**
* Created by katsuyagoto on 2015/04/26.
*/
public class ReportNotification {
private static final String TAG = ReportNotification.class.getName();
private static final int NOTIFICATION_ID = 0;
public static void show(Context context) {
PendingIntent pendingIntent = IntentReceiveService.createPendingIntent(context, 0, 0);
Notification notification = buildNotification(context, pendingIntent);
NotificationManager notificationManager = getNotificationManager(context);
notificationManager.notify(TAG, NOTIFICATION_ID, notification);
}
public static void cancel(Context context) {
NotificationManager notificationManager = getNotificationManager(context);
notificationManager.cancel(TAG, NOTIFICATION_ID);
}
private static Notification buildNotification(Context context, PendingIntent pendingIntent) {
String applicationName = AppUtils.getApplicationName(context).toString();
String title = context.getResources().getString(R.string.notification_title);
String description = context.getResources().getString(R.string.notification_description, applicationName,
Config.SLACK_CHANNELS);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setTicker(title);
builder.setContentTitle(title);
builder.setContentText(description);
builder.setSmallIcon(R.drawable.ic_launcher);
builder.setContentIntent(pendingIntent);
return builder.build();
}
protected static NotificationManager getNotificationManager(Context context) {
return (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
}
}