Signal-Android/app/src/main/java/org/thoughtcrime/securesms/util/MessageRecordUtil.java

37 lines
1.4 KiB
Java

package org.thoughtcrime.securesms.util;
import androidx.annotation.NonNull;
import com.annimon.stream.Stream;
import org.thoughtcrime.securesms.database.model.MediaMmsMessageRecord;
import org.thoughtcrime.securesms.database.model.MessageRecord;
import org.thoughtcrime.securesms.database.model.MmsMessageRecord;
import org.thoughtcrime.securesms.mms.Slide;
public final class MessageRecordUtil {
private MessageRecordUtil() {
}
public static boolean isMediaMessage(@NonNull MessageRecord messageRecord) {
return messageRecord.isMms() &&
!messageRecord.isMmsNotification() &&
((MediaMmsMessageRecord)messageRecord).containsMediaSlide() &&
((MediaMmsMessageRecord)messageRecord).getSlideDeck().getStickerSlide() == null;
}
public static boolean hasSticker(@NonNull MessageRecord messageRecord) {
return messageRecord.isMms() && ((MmsMessageRecord)messageRecord).getSlideDeck().getStickerSlide() != null;
}
public static boolean hasSharedContact(@NonNull MessageRecord messageRecord) {
return messageRecord.isMms() && !((MmsMessageRecord)messageRecord).getSharedContacts().isEmpty();
}
public static boolean hasLocation(@NonNull MessageRecord messageRecord) {
return messageRecord.isMms() && Stream.of(((MmsMessageRecord) messageRecord).getSlideDeck().getSlides())
.anyMatch(Slide::hasLocation);
}
}