// Path: app/src/org/orange/familylink/util/Objects.java
// public abstract class Objects {
// 	/**
// 	 * 判断两对象是否相等，根据o1的<code>equals</code>方法判断。
// 	 * <p><em>当o1为null时：若o2也为null，返回true；若o2不是null，返回false</em></p>
// 	 * @param o1 待比较对象1
// 	 * @param o2 待比较对象2
// 	 * @return 若o1 == o2，返回true；若o1 != o2，返回false
// 	 */
// 	public static boolean compare(Object o1, Object o2) {
// 		return o1 == null ? o2 == null : o1.equals(o2);
// 	}
// }


import java.util.Date;
import org.orange.familylink.util.Objects;
	 */
	public Message getMessageToSet() {
		return mMessage;
	}
	/**
	 * 设置{@link Message}（设置为null，来取消之前的设置）。本对象会保留参数的<strong>{@link Message#clone() clone}</strong>。
	 * @param message 消息内容
	 * @return this（用于链式调用）
	 */
	public MessageLogRecord setMessage(Message message) {
		this.mMessage = message != null ? message.clone() : null;
		return this;
	}

	/**
	 * 判断指定对象是否与本对象内容相同。
	 * <p><em>会调用{@link #isSameClass(Object)}判断是否是本类的实例，
	 * 调用{@link Objects#compare(Object, Object)}比较各对象字段</em></p>
	 * @param o 待比较对象
	 * @return 如果内容与本对象相同，返回true；不同，返回false
	 */
	@Override
	public boolean equals(Object o) {
		if(o == null)
			return false;
		else if(!isSameClass(o))
			return false;
		else {
			MessageLogRecord other = (MessageLogRecord) o;
			return Objects.compare(mId, other.mId)
// Path: app/src/org/orange/familylink/util/Objects.java
// public abstract class Objects {
// 	/**
// 	 * 判断两对象是否相等，根据o1的<code>equals</code>方法判断。
// 	 * <p><em>当o1为null时：若o2也为null，返回true；若o2不是null，返回false</em></p>
// 	 * @param o1 待比较对象1
// 	 * @param o2 待比较对象2
// 	 * @return 若o1 == o2，返回true；若o1 != o2，返回false
// 	 */
// 	public static boolean compare(Object o1, Object o2) {
// 		return o1 == null ? o2 == null : o1.equals(o2);
// 	}
// }


// Path: app/src/org/orange/familylink/data/MessageLogRecord.java
import java.util.Date;
import org.orange.familylink.util.Objects;

	 */
	public Message getMessageToSet() {
		return mMessage;
	}
	/**
	 * 设置{@link Message}（设置为null，来取消之前的设置）。本对象会保留参数的<strong>{@link Message#clone() clone}</strong>。
	 * @param message 消息内容
	 * @return this（用于链式调用）
	 */
	public MessageLogRecord setMessage(Message message) {
		this.mMessage = message != null ? message.clone() : null;
		return this;
	}

	/**
	 * 判断指定对象是否与本对象内容相同。
	 * <p><em>会调用{@link #isSameClass(Object)}判断是否是本类的实例，
	 * 调用{@link Objects#compare(Object, Object)}比较各对象字段</em></p>
	 * @param o 待比较对象
	 * @return 如果内容与本对象相同，返回true；不同，返回false
	 */
	@Override
	public boolean equals(Object o) {
		if(o == null)
			return false;
		else if(!isSameClass(o))
			return false;
		else {
			MessageLogRecord other = (MessageLogRecord) o;
			return Objects.compare(mId, other.mId)
					&& Objects.compare(mContact, other.mContact)