From 9adadaf5721a6a77bc8f9fac014bd26cd1415c74 Mon Sep 17 00:00:00 2001 From: klaus Date: Fri, 18 Aug 2023 16:54:55 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=B5=EC=9C=A0=EB=A7=81=ED=81=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 11 ++++++ .../detail/AudioContentDetailViewModel.kt | 8 ++-- .../explorer/profile/UserProfileViewModel.kt | 8 ++-- .../sodalive/live/room/LiveRoomViewModel.kt | 8 ++-- .../room/detail/LiveRoomDetailFragment.kt | 18 +++++++++ .../room/detail/LiveRoomDetailViewModel.kt | 37 +++++++++++++++++++ .../res/layout/fragment_live_room_detail.xml | 18 +++++++++ 7 files changed, 96 insertions(+), 12 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e28246d..bb051ce 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -50,6 +50,17 @@ + + + + + + + + + + + diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailViewModel.kt index 313bfac..ae813ab 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailViewModel.kt @@ -332,11 +332,11 @@ class AudioContentDetailViewModel( ) { isLoading.value = true Firebase.dynamicLinks.shortLinkAsync(ShortDynamicLink.Suffix.SHORT) { - link = Uri.parse("https://yozm.day/?audio_content_id=$audioContentId") - domainUriPrefix = "https://yozm.page.link" + link = Uri.parse("https://sodalive.day/?audio_content_id=$audioContentId") + domainUriPrefix = "https://sodalive.page.link" androidParameters { } - iosParameters("kr.co.vividnext.yozm") { - appStoreId = "1630284226" + iosParameters("kr.co.vividnext.sodalive") { + appStoreId = "6461721697" } socialMetaTagParameters { title = contentTitle diff --git a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileViewModel.kt index 7c25a47..32b46be 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileViewModel.kt @@ -295,11 +295,11 @@ class UserProfileViewModel( fun shareChannel(userId: Long, onSuccess: (String) -> Unit) { _isLoading.value = true Firebase.dynamicLinks.shortLinkAsync(ShortDynamicLink.Suffix.SHORT) { - link = Uri.parse("https://yozm.day/?channel_id=$userId") - domainUriPrefix = "https://yozm.page.link" + link = Uri.parse("https://sodalive.day/?channel_id=$userId") + domainUriPrefix = "https://sodalive.page.link" androidParameters { } - iosParameters("kr.co.vividnext.yozm") { - appStoreId = "1630284226" + iosParameters("kr.co.vividnext.sodalive") { + appStoreId = "6461721697" } }.addOnSuccessListener { val uri = it.shortLink diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomViewModel.kt index 8e63d99..b483143 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomViewModel.kt @@ -241,11 +241,11 @@ class LiveRoomViewModel( ) { _isLoading.value = true Firebase.dynamicLinks.shortLinkAsync(ShortDynamicLink.Suffix.SHORT) { - link = Uri.parse("https://yozm.day/?room_id=$roomId") - domainUriPrefix = "https://yozm.page.link" + link = Uri.parse("https://sodalive.net/?room_id=$roomId") + domainUriPrefix = "https://sodalive.page.link" androidParameters { } - iosParameters("kr.co.vividnext.yozm") { - appStoreId = "1630284226" + iosParameters("kr.co.vividnext.sodalive") { + appStoreId = "6461721697" } }.addOnSuccessListener { val uri = it.shortLink diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailFragment.kt index 851b41b..51f2703 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailFragment.kt @@ -175,6 +175,9 @@ class LiveRoomDetailFragment( binding.tvTags.text = response.tags.joinToString(" ") { "#$it" } binding.tvContent.text = response.notice + binding.ivShare.setOnClickListener { shareRoom(response) } + binding.ivShare2.setOnClickListener { shareRoom(response) } + if (response.channelName.isNullOrBlank()) { binding.tvParticipateExpression.text = "예약자" when { @@ -321,4 +324,19 @@ class LiveRoomDetailFragment( binding.llProfiles.addView(itemView.root) } } + + private fun shareRoom(response: GetRoomDetailResponse) { + viewModel.shareRoomLink( + response.roomId, + response.isPrivateRoom, + response.password + ) { + val intent = Intent(Intent.ACTION_SEND) + intent.type = "text/plain" + intent.putExtra(Intent.EXTRA_TEXT, it) + + val shareIntent = Intent.createChooser(intent, "라이브 공유") + startActivity(shareIntent) + } + } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailViewModel.kt index d82bcd2..5119015 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailViewModel.kt @@ -63,4 +63,41 @@ class LiveRoomDetailViewModel(private val repository: LiveRepository) : BaseView ) ) } + + fun shareRoomLink( + roomId: Long, + isPrivateRoom: Boolean, + password: Int?, + onSuccess: (String) -> Unit + ) { + _isLoading.value = true + Firebase.dynamicLinks.shortLinkAsync(ShortDynamicLink.Suffix.SHORT) { + link = Uri.parse("https://sodalive.net/?room_id=$roomId") + domainUriPrefix = "https://sodalive.page.link" + androidParameters { } + iosParameters("kr.co.vividnext.sodalive") { + appStoreId = "6461721697" + } + }.addOnSuccessListener { + val uri = it.shortLink + if (uri != null) { + val message = if (isPrivateRoom) { + "${SharedPreferenceManager.nickname}님이 귀하를 " + + "소다라이브의 비공개라이브에 초대하였습니다.\n" + + "※ 라이브 참여: $uri\n" + + "(입장 비밀번호 : $password)" + } else { + "${SharedPreferenceManager.nickname}님이 귀하를 " + + "소다라이브의 공개라이브에 초대하였습니다.\n" + + "※ 라이브 참여: $uri" + } + + onSuccess(message) + } + }.addOnFailureListener { + _toastLiveData.postValue("공유링크를 생성하지 못했습니다.\n다시 시도해 주세요.") + }.addOnCompleteListener { + _isLoading.value = false + } + } } diff --git a/app/src/main/res/layout/fragment_live_room_detail.xml b/app/src/main/res/layout/fragment_live_room_detail.xml index ecff80f..c415130 100644 --- a/app/src/main/res/layout/fragment_live_room_detail.xml +++ b/app/src/main/res/layout/fragment_live_room_detail.xml @@ -331,11 +331,20 @@ android:orientation="horizontal" tools:ignore="UseCompoundDrawables"> + + + +