parent
687aada611
commit
c9f6088754
|
@ -796,6 +796,21 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
|
||||||
binding.ivEdit.visibility = View.GONE
|
binding.ivEdit.visibility = View.GONE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
binding.ivShare.setOnClickListener {
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (response.creatorId == SharedPreferenceManager.userId) {
|
if (response.creatorId == SharedPreferenceManager.userId) {
|
||||||
binding.llViewUsers.visibility = View.VISIBLE
|
binding.llViewUsers.visibility = View.VISIBLE
|
||||||
binding.llViewUsers.setOnClickListener { roomProfileDialog.show() }
|
binding.llViewUsers.setOnClickListener { roomProfileDialog.show() }
|
||||||
|
|
|
@ -3,6 +3,12 @@ package kr.co.vividnext.sodalive.live.room
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import com.google.firebase.dynamiclinks.ShortDynamicLink
|
||||||
|
import com.google.firebase.dynamiclinks.ktx.androidParameters
|
||||||
|
import com.google.firebase.dynamiclinks.ktx.dynamicLinks
|
||||||
|
import com.google.firebase.dynamiclinks.ktx.iosParameters
|
||||||
|
import com.google.firebase.dynamiclinks.ktx.shortLinkAsync
|
||||||
|
import com.google.firebase.ktx.Firebase
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.orhanobut.logger.Logger
|
import com.orhanobut.logger.Logger
|
||||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
|
@ -247,6 +253,43 @@ class LiveRoomViewModel(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun shareRoomLink(
|
||||||
|
roomId: Long,
|
||||||
|
isPrivateRoom: Boolean,
|
||||||
|
password: String?,
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun creatorFollow(creatorId: Long, roomId: Long, isGetUserProfile: Boolean = false) {
|
fun creatorFollow(creatorId: Long, roomId: Long, isGetUserProfile: Boolean = false) {
|
||||||
_isLoading.value = true
|
_isLoading.value = true
|
||||||
compositeDisposable.add(
|
compositeDisposable.add(
|
||||||
|
|
|
@ -242,6 +242,16 @@
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
tools:ignore="SmallSp" />
|
tools:ignore="SmallSp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_share"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:background="@drawable/bg_round_corner_5_3_transparent_bbbbbb"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:padding="4dp"
|
||||||
|
android:src="@drawable/ic_share" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_edit"
|
android:id="@+id/iv_edit"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|
Loading…
Reference in New Issue