session-android/src/org/thoughtcrime/securesms/notifications/NotificationItem.java

89 lines
2.5 KiB
Java
Raw Normal View History

package org.thoughtcrime.securesms.notifications;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.text.SpannableStringBuilder;
import org.thoughtcrime.securesms.RoutingActivity;
2013-04-26 01:59:49 +00:00
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.Recipients;
import org.thoughtcrime.securesms.util.Util;
public class NotificationItem {
private final Recipients recipients;
2013-04-26 01:59:49 +00:00
private final Recipient individualRecipient;
private final Recipients threadRecipients;
private final long threadId;
private final CharSequence text;
private final Uri image;
public NotificationItem(Recipient individualRecipient, Recipients recipients,
Recipients threadRecipients, long threadId,
2013-04-26 01:59:49 +00:00
CharSequence text, Uri image)
{
this.individualRecipient = individualRecipient;
this.recipients = recipients;
this.threadRecipients = threadRecipients;
2013-04-26 01:59:49 +00:00
this.text = text;
this.image = image;
this.threadId = threadId;
}
2013-04-26 01:59:49 +00:00
public Recipient getIndividualRecipient() {
return individualRecipient;
}
2013-04-26 01:59:49 +00:00
public String getIndividualRecipientName() {
return individualRecipient.toShortString();
}
public CharSequence getText() {
return text;
}
public Uri getImage() {
return image;
}
public boolean hasImage() {
return image != null;
}
public long getThreadId() {
return threadId;
}
public CharSequence getBigStyleSummary() {
return (text == null) ? "" : text;
}
public CharSequence getTickerText() {
SpannableStringBuilder builder = new SpannableStringBuilder();
2013-04-26 01:59:49 +00:00
builder.append(Util.getBoldedString(getIndividualRecipientName()));
builder.append(": ");
builder.append(getText());
return builder;
}
public PendingIntent getPendingIntent(Context context) {
Intent intent = new Intent(context, RoutingActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
if (recipients != null || threadRecipients != null) {
if (threadRecipients != null) intent.putExtra("recipients", threadRecipients);
else intent.putExtra("recipients", recipients);
intent.putExtra("thread_id", threadId);
}
intent.setData((Uri.parse("custom://"+System.currentTimeMillis())));
return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
}