gaid 업데이트 추가
This commit is contained in:
parent
78dd3b2785
commit
1712f509dc
|
@ -0,0 +1,7 @@
|
|||
package kr.co.vividnext.sodalive.main
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
data class GaidUpdateRequest(
|
||||
@SerializedName("adid") val adid: String
|
||||
)
|
|
@ -59,6 +59,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
|
|||
super.onCreate(savedInstanceState)
|
||||
checkPermissions()
|
||||
pushTokenUpdate()
|
||||
gaidUpdate()
|
||||
|
||||
getMemberInfo()
|
||||
getEventPopup()
|
||||
|
@ -338,6 +339,10 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
|
|||
}
|
||||
}
|
||||
|
||||
private fun gaidUpdate() {
|
||||
viewModel.fetchAndUpdateGaid(context = applicationContext)
|
||||
}
|
||||
|
||||
private fun getMemberInfo() {
|
||||
viewModel.getMemberInfo {
|
||||
notificationSettingsDialog.show(screenWidth)
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
package kr.co.vividnext.sodalive.main
|
||||
|
||||
import android.content.Context
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.google.android.gms.ads.identifier.AdvertisingIdClient
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
|
@ -15,6 +17,7 @@ import kr.co.vividnext.sodalive.settings.event.EventItem
|
|||
import kr.co.vividnext.sodalive.settings.event.EventRepository
|
||||
import kr.co.vividnext.sodalive.settings.notification.UpdateNotificationSettingRequest
|
||||
import kr.co.vividnext.sodalive.user.UserRepository
|
||||
import java.util.concurrent.Executors
|
||||
|
||||
class MainViewModel(
|
||||
private val userRepository: UserRepository,
|
||||
|
@ -153,4 +156,26 @@ class MainViewModel(
|
|||
)
|
||||
)
|
||||
}
|
||||
|
||||
fun fetchAndUpdateGaid(context: Context) {
|
||||
Executors.newSingleThreadExecutor().execute {
|
||||
try {
|
||||
val adInfo = AdvertisingIdClient.getAdvertisingIdInfo(context)
|
||||
adInfo.id?.let { gaid ->
|
||||
val request = GaidUpdateRequest(adid = gaid)
|
||||
compositeDisposable.add(
|
||||
userRepository.updateGaid(
|
||||
request,
|
||||
token = "Bearer ${SharedPreferenceManager.token}"
|
||||
)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe({}, {})
|
||||
)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import io.reactivex.rxjava3.core.Single
|
|||
import kr.co.vividnext.sodalive.common.ApiResponse
|
||||
import kr.co.vividnext.sodalive.explorer.profile.MemberBlockRequest
|
||||
import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailUser
|
||||
import kr.co.vividnext.sodalive.main.GaidUpdateRequest
|
||||
import kr.co.vividnext.sodalive.main.PushTokenUpdateRequest
|
||||
import kr.co.vividnext.sodalive.mypage.MyPageResponse
|
||||
import kr.co.vividnext.sodalive.mypage.profile.ProfileResponse
|
||||
|
@ -137,4 +138,10 @@ interface UserApi {
|
|||
@Part multipartFile: MultipartBody.Part,
|
||||
@Header("Authorization") authHeader: String
|
||||
): Single<ApiResponse<String>>
|
||||
|
||||
@PUT("/member/adid/update")
|
||||
fun updateGaid(
|
||||
@Body request: GaidUpdateRequest,
|
||||
@Header("Authorization") authHeader: String
|
||||
): Single<ApiResponse<Any>>
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import io.reactivex.rxjava3.core.Single
|
|||
import kr.co.vividnext.sodalive.common.ApiResponse
|
||||
import kr.co.vividnext.sodalive.explorer.profile.MemberBlockRequest
|
||||
import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailUser
|
||||
import kr.co.vividnext.sodalive.main.GaidUpdateRequest
|
||||
import kr.co.vividnext.sodalive.main.PushTokenUpdateRequest
|
||||
import kr.co.vividnext.sodalive.mypage.MyPageResponse
|
||||
import kr.co.vividnext.sodalive.mypage.profile.ProfileResponse
|
||||
|
@ -108,4 +109,11 @@ class UserRepository(private val userApi: UserApi) {
|
|||
fun getProfile(token: String): Single<ApiResponse<ProfileResponse>> {
|
||||
return userApi.getMyProfile(authHeader = token)
|
||||
}
|
||||
|
||||
fun updateGaid(
|
||||
request: GaidUpdateRequest,
|
||||
token: String
|
||||
): Single<ApiResponse<Any>> {
|
||||
return userApi.updateGaid(request, authHeader = token)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue