package com.openvehicles.OVMS.utils;
import java.io.Serializable;
import java.util.Date;
public class NotificationData implements Serializable {
private static final long serialVersionUID = -3173247800500433809L;
public static final int TYPE_INFO = 0;
public static final int TYPE_ALERT = 1;
public static final int TYPE_COMMAND = 2;
public static final int TYPE_RESULT_SUCCESS = 3;
public static final int TYPE_RESULT_ERROR = 4;
public static final int TYPE_USSD = 5;
public long ID;
public int Type;
public Date Timestamp;
public String Title;
public String Message;
public NotificationData(long ID, int type, Date timestamp, String title, String message) {
this.ID = ID;
Type = type;
Timestamp = timestamp;
Title = title;
Message = message;
}
public NotificationData(int type, Date timestamp, String title, String message) {
this.ID = 0;
Type = type;
Timestamp = timestamp;
Title = title;
Message = message;
}
public NotificationData(Date timestamp, String title, String message) {
this.ID = 0;
this.Type = TYPE_INFO;
this.Timestamp = timestamp;
this.Title = title;
this.Message = message;
}
// equals operator: used to detect duplicates
public boolean equals(NotificationData o) {
return (o.Type == Type && o.Title.equals(Title) && o.Message.equals(Message));
}
// message formatter:
public String getMessageFormatted() {
// default: use line breaks as sent by the module:
return Message.replace('\r', '\n');
}
public int getIcon() {
switch (Type) {
case NotificationData.TYPE_ALERT:
return android.R.drawable.ic_dialog_alert;
case NotificationData.TYPE_USSD:
return android.R.drawable.ic_menu_call;
case NotificationData.TYPE_COMMAND:
return android.R.drawable.ic_menu_send;
case NotificationData.TYPE_RESULT_SUCCESS:
return android.R.drawable.ic_menu_revert;
case NotificationData.TYPE_RESULT_ERROR:
return android.R.drawable.ic_menu_help;
default:
return android.R.drawable.ic_menu_info_details;
}
}
}