37 lines
1.4 KiB
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);
|
|
}
|
|
}
|