Skip to content

Commit 169d0fa

Browse files
alex-signalgreyson-signal
authored andcommitted
Convert Media to kotlin.
1 parent c5397bc commit 169d0fa

26 files changed

+232
-423
lines changed

app/src/main/java/org/thoughtcrime/securesms/avatar/AvatarRenderer.kt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import org.thoughtcrime.securesms.util.MediaUtil
1818
import java.io.ByteArrayInputStream
1919
import java.io.ByteArrayOutputStream
2020
import java.io.IOException
21-
import java.util.Optional
2221

2322
/**
2423
* Renders Avatar objects into Media objects. This can involve creating a Bitmap, depending on the
@@ -132,6 +131,20 @@ object AvatarRenderer {
132131
}
133132

134133
private fun createMedia(uri: Uri, size: Long): Media {
135-
return Media(uri, MediaUtil.IMAGE_JPEG, System.currentTimeMillis(), DIMENSIONS, DIMENSIONS, size, 0, false, false, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty())
134+
return Media(
135+
uri = uri,
136+
contentType = MediaUtil.IMAGE_JPEG,
137+
date = System.currentTimeMillis(),
138+
width = DIMENSIONS,
139+
height = DIMENSIONS,
140+
size = size,
141+
duration = 0,
142+
isBorderless = false,
143+
isVideoGif = false,
144+
bucketId = null,
145+
caption = null,
146+
transformProperties = null,
147+
fileName = null
148+
)
136149
}
137150
}

app/src/main/java/org/thoughtcrime/securesms/conversation/drafts/DraftRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ class DraftRepository(
115115
}
116116

117117
if (shareMediaList.isNotEmpty()) {
118-
return ShareOrDraftData.StartSendMedia(shareMediaList, shareText) to null
118+
return ShareOrDraftData.StartSendMedia(shareMediaList.filterNotNull(), shareText) to null
119119
}
120120

121121
if (shareMedia != null && shareMediaType != null) {

app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragmentArgs.kt

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import org.thoughtcrime.securesms.mms.PartAuthority
2323
import org.thoughtcrime.securesms.sharing.MultiShareArgs
2424
import org.thoughtcrime.securesms.stories.Stories
2525
import org.thoughtcrime.securesms.util.hasSharedContact
26-
import java.util.Optional
2726
import java.util.function.Consumer
2827

2928
/**
@@ -188,19 +187,19 @@ data class MultiselectForwardFragmentArgs @JvmOverloads constructor(
188187
val uri = this.uri ?: return null
189188

190189
return Media(
191-
uri,
192-
contentType,
193-
System.currentTimeMillis(),
194-
width,
195-
height,
196-
size,
197-
0,
198-
borderless,
199-
videoGif,
200-
Optional.empty(),
201-
Optional.ofNullable(caption),
202-
Optional.ofNullable(transformProperties),
203-
Optional.ofNullable(fileName)
190+
uri = uri,
191+
contentType = contentType,
192+
date = System.currentTimeMillis(),
193+
width = width,
194+
height = height,
195+
size = size,
196+
duration = 0,
197+
isBorderless = borderless,
198+
isVideoGif = videoGif,
199+
bucketId = null,
200+
caption = caption,
201+
transformProperties = transformProperties,
202+
fileName = fileName
204203
)
205204
}
206205
}

app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1329,19 +1329,19 @@ class ConversationFragment :
13291329
} else {
13301330
val mimeType = MediaUtil.getMimeType(requireContext(), uri) ?: mediaType.toFallbackMimeType()
13311331
val media = Media(
1332-
uri,
1333-
mimeType,
1334-
0,
1335-
width,
1336-
height,
1337-
0,
1338-
0,
1339-
borderless,
1340-
videoGif,
1341-
Optional.empty(),
1342-
Optional.empty(),
1343-
Optional.of(AttachmentTable.TransformProperties.forSentMediaQuality(SignalStore.settings.sentMediaQuality.code)),
1344-
Optional.empty()
1332+
uri = uri,
1333+
contentType = mimeType,
1334+
date = 0,
1335+
width = width,
1336+
height = height,
1337+
size = 0,
1338+
duration = 0,
1339+
isBorderless = borderless,
1340+
isVideoGif = videoGif,
1341+
bucketId = null,
1342+
caption = null,
1343+
transformProperties = AttachmentTable.TransformProperties.forSentMediaQuality(SignalStore.settings.sentMediaQuality.code),
1344+
fileName = null
13451345
)
13461346
conversationActivityResultContracts.launchMediaEditor(listOf(media), recipientId, composeText.textTrimmed)
13471347
}
@@ -3788,11 +3788,11 @@ class ConversationFragment :
37883788

37893789
val slides: List<Slide> = result.nonUploadedMedia.mapNotNull {
37903790
when {
3791-
MediaUtil.isVideoType(it.contentType) -> VideoSlide(requireContext(), it.uri, it.size, it.isVideoGif, it.width, it.height, it.caption.orNull(), it.transformProperties.orNull())
3792-
MediaUtil.isGif(it.contentType) -> GifSlide(requireContext(), it.uri, it.size, it.width, it.height, it.isBorderless, it.caption.orNull())
3793-
MediaUtil.isImageType(it.contentType) -> ImageSlide(requireContext(), it.uri, it.contentType, it.size, it.width, it.height, it.isBorderless, it.caption.orNull(), null, it.transformProperties.orNull())
3791+
MediaUtil.isVideoType(it.contentType) -> VideoSlide(requireContext(), it.uri, it.size, it.isVideoGif, it.width, it.height, it.caption, it.transformProperties)
3792+
MediaUtil.isGif(it.contentType) -> GifSlide(requireContext(), it.uri, it.size, it.width, it.height, it.isBorderless, it.caption)
3793+
MediaUtil.isImageType(it.contentType) -> ImageSlide(requireContext(), it.uri, it.contentType, it.size, it.width, it.height, it.isBorderless, it.caption, null, it.transformProperties)
37943794
MediaUtil.isDocumentType(it.contentType) -> {
3795-
DocumentSlide(requireContext(), it.uri, it.contentType, it.size, it.fileName.orNull())
3795+
DocumentSlide(requireContext(), it.uri, it.contentType!!, it.size, it.fileName)
37963796
}
37973797

37983798
else -> {

app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import com.bumptech.glide.Glide
3030
import com.fasterxml.jackson.annotation.JsonProperty
3131
import kotlinx.parcelize.IgnoredOnParcel
3232
import kotlinx.parcelize.Parcelize
33+
import kotlinx.serialization.Serializable
3334
import okio.ByteString
3435
import okio.ByteString.Companion.toByteString
3536
import org.json.JSONArray
@@ -3519,6 +3520,7 @@ class AttachmentTable(
35193520
val random: ByteArray
35203521
)
35213522

3523+
@Serializable
35223524
@Parcelize
35233525
data class TransformProperties(
35243526
@JsonProperty("skipTransform")

app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ private void handleGiphyMp4SuccessfulResult(@NonNull GiphyMp4SaveResult.Success
126126
mimeType = mediaType.toFallbackMimeType();
127127
}
128128

129-
Media media = new Media(success.getBlobUri(), mimeType, 0, success.getWidth(), success.getHeight(), 0, 0, false, true, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty());
129+
Media media = new Media(success.getBlobUri(), mimeType, 0, success.getWidth(), success.getHeight(), 0, 0, false, true, null, null, null, null);
130130
startActivityForResult(MediaSelectionActivity.editor(this, sendType, Collections.singletonList(media), recipientId, text), MEDIA_SENDER);
131131
}
132132

app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2ViewModel.kt

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import org.thoughtcrime.securesms.notifications.NotificationChannels
3434
import org.thoughtcrime.securesms.notifications.NotificationIds
3535
import org.thoughtcrime.securesms.util.RemoteConfig
3636
import org.thoughtcrime.securesms.util.rx.RxStore
37-
import java.util.Optional
3837

3938
class MediaPreviewV2ViewModel : ViewModel() {
4039

@@ -191,18 +190,18 @@ fun MediaTable.MediaRecord.toMedia(): Media? {
191190
}
192191

193192
return Media(
194-
uri,
195-
this.contentType,
196-
this.date,
197-
attachment.width,
198-
attachment.height,
199-
attachment.size,
200-
0,
201-
attachment.borderless,
202-
attachment.videoGif,
203-
Optional.empty(),
204-
Optional.ofNullable(attachment.caption),
205-
Optional.empty(),
206-
Optional.empty()
193+
uri = uri,
194+
contentType = this.contentType,
195+
date = this.date,
196+
width = attachment.width,
197+
height = attachment.height,
198+
size = attachment.size,
199+
duration = 0,
200+
isBorderless = attachment.borderless,
201+
isVideoGif = attachment.videoGif,
202+
bucketId = null,
203+
caption = attachment.caption,
204+
transformProperties = null,
205+
fileName = null
207206
)
208207
}

app/src/main/java/org/thoughtcrime/securesms/mediapreview/mediarail/MediaRailAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class MediaRailAdapter(
7979
override fun bind(model: MediaRailItem) {
8080
image.setImageResource(requestManager, model.media.uri, 0, 0, false, imageLoadingListener)
8181
image.setOnClickListener { onRailItemSelected(model.media) }
82-
captionIndicator.visibility = if (model.media.caption.isPresent) View.VISIBLE else View.GONE
82+
captionIndicator.visibility = if (model.media.caption != null) View.VISIBLE else View.GONE
8383

8484
outline.visible = model.isSelected
8585
overlay.setImageResource(if (model.isSelected) R.drawable.mediapreview_rail_item_overlay_selected else R.drawable.mediapreview_rail_item_overlay_unselected)

app/src/main/java/org/thoughtcrime/securesms/mediasend/AvatarSelectionActivity.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,10 @@ public void onImageCaptured(@NonNull byte[] data, int width, int height) {
9999
0,
100100
false,
101101
false,
102-
Optional.of(Media.ALL_MEDIA_BUCKET_ID),
103-
Optional.empty(),
104-
Optional.empty(),
105-
Optional.empty()));
102+
Media.ALL_MEDIA_BUCKET_ID,
103+
null,
104+
null,
105+
null));
106106
}
107107

108108
@Override

app/src/main/java/org/thoughtcrime/securesms/mediasend/ImageEditorModelRenderMediaTransform.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
import java.io.ByteArrayOutputStream;
2020
import java.io.IOException;
21-
import java.util.Optional;
2221

2322
public final class ImageEditorModelRenderMediaTransform implements MediaTransform {
2423

@@ -50,7 +49,7 @@ public ImageEditorModelRenderMediaTransform(@NonNull EditorModel modelToRender,
5049
.withMimeType(MediaUtil.IMAGE_JPEG)
5150
.createForSingleSessionOnDisk(context);
5251

53-
return new Media(uri, MediaUtil.IMAGE_JPEG, media.getDate(), bitmap.getWidth(), bitmap.getHeight(), outputStream.size(), 0, false, false, media.getBucketId(), media.getCaption(), Optional.empty(), Optional.empty());
52+
return new Media(uri, MediaUtil.IMAGE_JPEG, media.getDate(), bitmap.getWidth(), bitmap.getHeight(), outputStream.size(), 0, false, false, media.getBucketId(), media.getCaption(), null, null);
5453
} catch (IOException e) {
5554
Log.w(TAG, "Failed to render image. Using base image.");
5655
return media;

0 commit comments

Comments
 (0)