parent
415383393a
commit
7885200af4
|
@ -35,7 +35,7 @@ android {
|
||||||
applicationId "kr.co.vividnext.sodalive"
|
applicationId "kr.co.vividnext.sodalive"
|
||||||
minSdk 23
|
minSdk 23
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
versionCode 148
|
versionCode 149
|
||||||
versionName "1.30.0"
|
versionName "1.30.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ import kr.co.vividnext.sodalive.audio_content.comment.AudioContentCommentReposit
|
||||||
import kr.co.vividnext.sodalive.audio_content.order.OrderType
|
import kr.co.vividnext.sodalive.audio_content.order.OrderType
|
||||||
import kr.co.vividnext.sodalive.base.BaseViewModel
|
import kr.co.vividnext.sodalive.base.BaseViewModel
|
||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||||
|
import kr.co.vividnext.sodalive.common.Utils
|
||||||
import kr.co.vividnext.sodalive.extensions.moneyFormat
|
import kr.co.vividnext.sodalive.extensions.moneyFormat
|
||||||
import kr.co.vividnext.sodalive.mypage.auth.AuthRepository
|
import kr.co.vividnext.sodalive.mypage.auth.AuthRepository
|
||||||
import kr.co.vividnext.sodalive.mypage.auth.AuthVerifyRequest
|
import kr.co.vividnext.sodalive.mypage.auth.AuthVerifyRequest
|
||||||
|
@ -302,13 +303,16 @@ class AudioContentDetailViewModel(
|
||||||
contentTitle: String,
|
contentTitle: String,
|
||||||
onSuccess: (String) -> Unit
|
onSuccess: (String) -> Unit
|
||||||
) {
|
) {
|
||||||
val shareUrl = "https://voiceon.onelink.me/RkTm?" +
|
val params = mapOf(
|
||||||
"af_dp=voiceon://" +
|
"af_dp" to "voiceon://",
|
||||||
"&deep_link_value=content" +
|
"deep_link_value" to "content",
|
||||||
"&deep_link_sub5=$audioContentId" +
|
"deep_link_sub5" to "$audioContentId",
|
||||||
"&af_og_title=$contentTitle" +
|
"af_og_title" to contentTitle,
|
||||||
"&af_og_description=지금 보이스온에서 이 콘텐츠 감상하기" +
|
"af_og_description" to "지금 보이스온에서 이 콘텐츠 감상하기",
|
||||||
"&af_og_image=$contentImage"
|
"af_og_image" to contentImage
|
||||||
|
)
|
||||||
|
|
||||||
|
val shareUrl = Utils.createOneLinkUrl(params = params)
|
||||||
onSuccess(shareUrl)
|
onSuccess(shareUrl)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package kr.co.vividnext.sodalive.common
|
package kr.co.vividnext.sodalive.common
|
||||||
|
|
||||||
|
import java.net.URLEncoder
|
||||||
|
import java.nio.charset.StandardCharsets
|
||||||
|
|
||||||
object Utils {
|
object Utils {
|
||||||
fun convertDurationToString(duration: Int, showHours: Boolean = true): String {
|
fun convertDurationToString(duration: Int, showHours: Boolean = true): String {
|
||||||
val durationSeconds = duration / 1000
|
val durationSeconds = duration / 1000
|
||||||
|
@ -26,4 +29,13 @@ object Utils {
|
||||||
|
|
||||||
return 1000 * (hours * 3600 + minutes * 60 + seconds)
|
return 1000 * (hours * 3600 + minutes * 60 + seconds)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun createOneLinkUrl(params: Map<String, String>): String {
|
||||||
|
val encodedParams = params.map { (key, value) ->
|
||||||
|
"${URLEncoder.encode(key, StandardCharsets.UTF_8.toString())}=" +
|
||||||
|
URLEncoder.encode(value, StandardCharsets.UTF_8.toString())
|
||||||
|
}.joinToString("&")
|
||||||
|
|
||||||
|
return "https://voiceon.onelink.me/RkTm?$encodedParams"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
import kr.co.vividnext.sodalive.base.BaseViewModel
|
import kr.co.vividnext.sodalive.base.BaseViewModel
|
||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||||
|
import kr.co.vividnext.sodalive.common.Utils
|
||||||
import kr.co.vividnext.sodalive.explorer.ExplorerRepository
|
import kr.co.vividnext.sodalive.explorer.ExplorerRepository
|
||||||
import kr.co.vividnext.sodalive.explorer.profile.cheers.PutModifyCheersRequest
|
import kr.co.vividnext.sodalive.explorer.profile.cheers.PutModifyCheersRequest
|
||||||
import kr.co.vividnext.sodalive.report.ReportRepository
|
import kr.co.vividnext.sodalive.report.ReportRepository
|
||||||
|
@ -270,14 +271,15 @@ class UserProfileViewModel(
|
||||||
profileImage: String,
|
profileImage: String,
|
||||||
onSuccess: (String) -> Unit
|
onSuccess: (String) -> Unit
|
||||||
) {
|
) {
|
||||||
val shareUrl = "https://voiceon.onelink.me/RkTm?" +
|
val params = mapOf(
|
||||||
"af_dp=voiceon://" +
|
"af_dp" to "voiceon://",
|
||||||
"&deep_link_value=channel" +
|
"deep_link_value" to "channel",
|
||||||
"&deep_link_sub5=$userId" +
|
"deep_link_sub5" to "$userId",
|
||||||
"&af_og_title=보이스온" +
|
"af_og_title" to "보이스온",
|
||||||
"&af_og_description=보이스온 ${nickname}님의 채널입니다." +
|
"af_og_description" to "보이스온 ${nickname}님의 채널입니다.",
|
||||||
"&af_og_image=$profileImage"
|
"af_og_image" to profileImage
|
||||||
|
)
|
||||||
|
val shareUrl = Utils.createOneLinkUrl(params = params)
|
||||||
onSuccess("보이스온 ${nickname}님의 채널입니다.\n$shareUrl")
|
onSuccess("보이스온 ${nickname}님의 채널입니다.\n$shareUrl")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ import kotlinx.coroutines.sync.Mutex
|
||||||
import kotlinx.coroutines.sync.withLock
|
import kotlinx.coroutines.sync.withLock
|
||||||
import kr.co.vividnext.sodalive.base.BaseViewModel
|
import kr.co.vividnext.sodalive.base.BaseViewModel
|
||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||||
|
import kr.co.vividnext.sodalive.common.Utils
|
||||||
import kr.co.vividnext.sodalive.live.LiveRepository
|
import kr.co.vividnext.sodalive.live.LiveRepository
|
||||||
import kr.co.vividnext.sodalive.live.room.donation.GetLiveRoomDonationStatusResponse
|
import kr.co.vividnext.sodalive.live.room.donation.GetLiveRoomDonationStatusResponse
|
||||||
import kr.co.vividnext.sodalive.live.room.donation.LiveRoomDonationResponse
|
import kr.co.vividnext.sodalive.live.room.donation.LiveRoomDonationResponse
|
||||||
|
@ -302,13 +303,16 @@ class LiveRoomViewModel(
|
||||||
coverImage: String,
|
coverImage: String,
|
||||||
onSuccess: (String) -> Unit
|
onSuccess: (String) -> Unit
|
||||||
) {
|
) {
|
||||||
val shareUrl = "https://voiceon.onelink.me/RkTm?" +
|
val params = mapOf(
|
||||||
"af_dp=voiceon://" +
|
"af_dp" to "voiceon://",
|
||||||
"&deep_link_value=live" +
|
"deep_link_value" to "live",
|
||||||
"&deep_link_sub5=$roomId" +
|
"deep_link_sub5" to "$roomId",
|
||||||
"&af_og_title=보이스온" +
|
"af_og_title" to "보이스온",
|
||||||
"&af_og_description=지금 보이스온에서 라이브 참여하기" +
|
"af_og_description" to "지금 보이스온에서 라이브 참여하기",
|
||||||
"&af_og_image=$coverImage"
|
"af_og_image" to coverImage
|
||||||
|
)
|
||||||
|
|
||||||
|
val shareUrl = Utils.createOneLinkUrl(params = params)
|
||||||
|
|
||||||
val message = if (isPrivateRoom) {
|
val message = if (isPrivateRoom) {
|
||||||
"${SharedPreferenceManager.nickname}님이 귀하를 " +
|
"${SharedPreferenceManager.nickname}님이 귀하를 " +
|
||||||
|
|
|
@ -7,6 +7,7 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
import kr.co.vividnext.sodalive.base.BaseViewModel
|
import kr.co.vividnext.sodalive.base.BaseViewModel
|
||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||||
|
import kr.co.vividnext.sodalive.common.Utils
|
||||||
import kr.co.vividnext.sodalive.live.LiveRepository
|
import kr.co.vividnext.sodalive.live.LiveRepository
|
||||||
|
|
||||||
class LiveRoomDetailViewModel(private val repository: LiveRepository) : BaseViewModel() {
|
class LiveRoomDetailViewModel(private val repository: LiveRepository) : BaseViewModel() {
|
||||||
|
@ -63,12 +64,15 @@ class LiveRoomDetailViewModel(private val repository: LiveRepository) : BaseView
|
||||||
password: Int?,
|
password: Int?,
|
||||||
onSuccess: (String) -> Unit
|
onSuccess: (String) -> Unit
|
||||||
) {
|
) {
|
||||||
val shareUrl = "https://voiceon.onelink.me/RkTm?" +
|
val params = mapOf(
|
||||||
"af_dp=voiceon://" +
|
"af_dp" to "voiceon://",
|
||||||
"&deep_link_value=live" +
|
"deep_link_value" to "live",
|
||||||
"&deep_link_sub5=$roomId" +
|
"deep_link_sub5" to "$roomId",
|
||||||
"&af_og_title=보이스온" +
|
"af_og_title" to "보이스온",
|
||||||
"&af_og_description=지금 보이스온에서 라이브 참여하기"
|
"af_og_description" to "지금 보이스온에서 라이브 참여하기"
|
||||||
|
)
|
||||||
|
|
||||||
|
val shareUrl = Utils.createOneLinkUrl(params = params)
|
||||||
|
|
||||||
val message = if (isPrivateRoom) {
|
val message = if (isPrivateRoom) {
|
||||||
"${SharedPreferenceManager.nickname}님이 귀하를 " +
|
"${SharedPreferenceManager.nickname}님이 귀하를 " +
|
||||||
|
|
Loading…
Reference in New Issue