diff --git a/.editorconfig b/.editorconfig index 5a61cd6f..9342e56a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -7,7 +7,7 @@ indent_size = 4 indent_style = space trim_trailing_whitespace = true insert_final_newline = true -max_line_length = 100 +max_line_length = 130 tab_width = 4 [*.{kt,kts}] diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileResponse.kt index a76e8402..ddcf9cc5 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileResponse.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileResponse.kt @@ -17,6 +17,8 @@ data class ProfileResponse( @SerializedName("instagramUrl") val instagramUrl: String?, @SerializedName("blogUrl") val blogUrl: String?, @SerializedName("websiteUrl") val websiteUrl: String?, + @SerializedName("fancimmUrl") val fancimmUrl: String?, + @SerializedName("xUrl") val xUrl: String?, @SerializedName("introduce") val introduce: String, @SerializedName("tags") val tags: List ) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateActivity.kt index c44e8c86..d854b651 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateActivity.kt @@ -85,6 +85,26 @@ class ProfileUpdateActivity : BaseActivity( } ) + compositeDisposable.add( + binding.etFancimm.textChanges().skip(1) + .debounce(500, TimeUnit.MILLISECONDS) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.io()) + .subscribe { + viewModel.fancimmUrl = it.toString() + } + ) + + compositeDisposable.add( + binding.etX.textChanges().skip(1) + .debounce(500, TimeUnit.MILLISECONDS) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.io()) + .subscribe { + viewModel.xUrl = it.toString() + } + ) + compositeDisposable.add( binding.etWebsite.textChanges().skip(1) .debounce(500, TimeUnit.MILLISECONDS) @@ -142,6 +162,8 @@ class ProfileUpdateActivity : BaseActivity( it.instagramUrl?.let { url -> binding.etInstagram.setText(url) } it.websiteUrl?.let { url -> binding.etWebsite.setText(url) } it.blogUrl?.let { url -> binding.etBlog.setText(url) } + it.fancimmUrl?.let { url -> binding.etFancimm.setText(url) } + it.xUrl?.let { url -> binding.etX.setText(url) } binding.etIntroduce.setText(it.introduce) SharedPreferenceManager.nickname = it.nickname diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateRequest.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateRequest.kt index 19247e7a..0232e1a7 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateRequest.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateRequest.kt @@ -19,6 +19,8 @@ data class ProfileUpdateRequest( @SerializedName("instagramUrl") val instagramUrl: String? = null, @SerializedName("websiteUrl") val websiteUrl: String? = null, @SerializedName("blogUrl") val blogUrl: String? = null, + @SerializedName("fancimmUrl") val fancimmUrl: String? = null, + @SerializedName("xUrl") val xUrl: String? = null, @SerializedName("isVisibleDonationRank") val isVisibleDonationRank: Boolean? = null, @SerializedName("donationRankingPeriod") val donationRankingPeriod: DonationRankingPeriod? = null, @SerializedName("container") val container: String = "aos" diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateViewModel.kt index cb067fc0..81f38659 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/profile/ProfileUpdateViewModel.kt @@ -22,6 +22,8 @@ class ProfileUpdateViewModel(private val repository: UserRepository) : BaseViewM var instagramUrl = "" var websiteUrl = "" var blogUrl = "" + var fancimmUrl = "" + var xUrl = "" var introduce = "" var currentPassword = "" @@ -63,6 +65,13 @@ class ProfileUpdateViewModel(private val repository: UserRepository) : BaseViewM { if (it.success && it.data != null) { profileResponse = it.data + youtubeUrl = profileResponse.youtubeUrl ?: "" + instagramUrl = profileResponse.instagramUrl ?: "" + websiteUrl = profileResponse.websiteUrl ?: "" + blogUrl = profileResponse.blogUrl ?: "" + fancimmUrl = profileResponse.fancimmUrl ?: "" + xUrl = profileResponse.xUrl ?: "" + introduce = profileResponse.introduce tags.addAll(profileResponse.tags) _selectedTagLiveData.postValue(profileResponse.tags) _genderLiveData.postValue(profileResponse.gender) @@ -127,6 +136,8 @@ class ProfileUpdateViewModel(private val repository: UserRepository) : BaseViewM profileResponse.instagramUrl != instagramUrl || profileResponse.blogUrl != blogUrl || profileResponse.websiteUrl != websiteUrl || + profileResponse.fancimmUrl != fancimmUrl || + profileResponse.xUrl != xUrl || profileResponse.gender != _genderLiveData.value || insertTags.isNotEmpty() || removeTags.isNotEmpty() || @@ -155,6 +166,16 @@ class ProfileUpdateViewModel(private val repository: UserRepository) : BaseViewM } else { null }, + fancimmUrl = if (profileResponse.fancimmUrl != fancimmUrl) { + fancimmUrl + } else { + null + }, + xUrl = if (profileResponse.xUrl != xUrl) { + xUrl + } else { + null + }, gender = if (profileResponse.gender != _genderLiveData.value) { _genderLiveData.value } else { diff --git a/app/src/main/res/layout/activity_profile_update.xml b/app/src/main/res/layout/activity_profile_update.xml index 5bd174ab..6df6b1f2 100644 --- a/app/src/main/res/layout/activity_profile_update.xml +++ b/app/src/main/res/layout/activity_profile_update.xml @@ -421,6 +421,72 @@ android:theme="@style/EditTextStyle" tools:ignore="LabelFor" /> + + + + + + + + + + + + + + Website URL Blog Blog URL + FancimM + FancimM URL + X + X URL Interests Select interests Bio diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index eb02e006..7dd28630 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -663,6 +663,10 @@ ウェブサイト URL ブログ ブログ URL + FancimM + FancimM URL + X + X URL 興味・関心 関心タグ選択 紹介文 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 583db0a9..81d125f3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -662,6 +662,10 @@ 웹사이트 URL 블로그 블로그 URL + 팬심M + 팬심M URL + X + X URL 관심사 관심사 선택 소개글