mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 17:29:32 +01:00
Add new sticker pack preview screen.
Adds a new jetpack compose and kotlin implementation of the sticker pack preview screen, which will soon replace `StickerPackPreviewActivity.java` and `StickerPackPreviewViewModel.java`.
This commit is contained in:
committed by
Cody Henthorne
parent
dce883bcf5
commit
de12691cfe
@@ -1,5 +1,8 @@
|
||||
package org.thoughtcrime.securesms.database.model
|
||||
|
||||
import android.net.Uri
|
||||
import org.signal.core.util.orNull
|
||||
import org.thoughtcrime.securesms.stickers.StickerUrl
|
||||
import java.util.Optional
|
||||
|
||||
/**
|
||||
@@ -31,3 +34,21 @@ value class StickerPackId(val value: String)
|
||||
*/
|
||||
@JvmInline
|
||||
value class StickerPackKey(val value: String)
|
||||
|
||||
data class StickerPackParams(
|
||||
val id: StickerPackId,
|
||||
val key: StickerPackKey
|
||||
) {
|
||||
companion object {
|
||||
fun fromExternalUri(uri: Uri?): StickerPackParams? {
|
||||
if (uri == null) return null
|
||||
return (StickerUrl.parseActionUri(uri) ?: StickerUrl.parseShareLink(uri.toString()))
|
||||
.map { parseResult ->
|
||||
StickerPackParams(
|
||||
id = StickerPackId(parseResult.first()),
|
||||
key = StickerPackKey(parseResult.second())
|
||||
)
|
||||
}.orNull()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user