diff --git a/app/src/main/java/com/into/websoso/core/common/util/BindingAdapter.kt b/app/src/main/java/com/into/websoso/core/common/util/BindingAdapter.kt index 15c71023c..c5d8c4023 100644 --- a/app/src/main/java/com/into/websoso/core/common/util/BindingAdapter.kt +++ b/app/src/main/java/com/into/websoso/core/common/util/BindingAdapter.kt @@ -11,6 +11,19 @@ import com.into.websoso.core.resource.R.drawable.img_loading_thumbnail import jp.wasabeef.transformers.coil.BlurTransformation object BindingAdapter { + @JvmStatic + @BindingAdapter("loads3ImageUrl") + fun loadS3ImageUrl( + view: ImageView, + s3ImageKey: String, + ) { + val fullUrl: String = view.getS3ImageUrl(s3ImageKey) + + view.load(fullUrl) { + error(img_loading_thumbnail) + } + } + @JvmStatic @BindingAdapter( value = ["loadImageUrl", "cornerRadius", "blurRadius", "isVectorImage", "isCircularImage"], diff --git a/app/src/main/java/com/into/websoso/data/mapper/AvatarMapper.kt b/app/src/main/java/com/into/websoso/data/mapper/AvatarMapper.kt index 2d3894d29..9c95a27f3 100644 --- a/app/src/main/java/com/into/websoso/data/mapper/AvatarMapper.kt +++ b/app/src/main/java/com/into/websoso/data/mapper/AvatarMapper.kt @@ -8,6 +8,7 @@ fun AvatarResponseDto.toData(): AvatarEntity = avatarId = avatarId, avatarName = avatarName, avatarLine = avatarLine, + avatarProfileImage = avatarProfileImage, avatarImage = avatarImage, isRepresentative = isRepresentative, ) diff --git a/app/src/main/java/com/into/websoso/data/model/AvatarEntity.kt b/app/src/main/java/com/into/websoso/data/model/AvatarEntity.kt index 25b0a87bf..300d164e3 100644 --- a/app/src/main/java/com/into/websoso/data/model/AvatarEntity.kt +++ b/app/src/main/java/com/into/websoso/data/model/AvatarEntity.kt @@ -1,9 +1,10 @@ package com.into.websoso.data.model data class AvatarEntity( - val avatarId: Int, + val avatarId: Long, val avatarName: String, val avatarLine: String, + val avatarProfileImage: String, val avatarImage: String, val isRepresentative: Boolean, ) diff --git a/app/src/main/java/com/into/websoso/data/remote/api/AvatarApi.kt b/app/src/main/java/com/into/websoso/data/remote/api/AvatarApi.kt index ea4fa3f00..cf27b19ee 100644 --- a/app/src/main/java/com/into/websoso/data/remote/api/AvatarApi.kt +++ b/app/src/main/java/com/into/websoso/data/remote/api/AvatarApi.kt @@ -4,6 +4,6 @@ import com.into.websoso.data.remote.response.AvatarsResponseDto import retrofit2.http.GET interface AvatarApi { - @GET("avatars") + @GET("avatar-profiles") suspend fun getAvatars(): AvatarsResponseDto } diff --git a/app/src/main/java/com/into/websoso/data/remote/api/UserApi.kt b/app/src/main/java/com/into/websoso/data/remote/api/UserApi.kt index 9aed7418d..e5c80d6db 100644 --- a/app/src/main/java/com/into/websoso/data/remote/api/UserApi.kt +++ b/app/src/main/java/com/into/websoso/data/remote/api/UserApi.kt @@ -68,7 +68,7 @@ interface UserApi { @Query("nickname") nickname: String, ): UserNicknameValidityResponseDto - @PATCH("users/my-profile") + @PATCH("users/profile") suspend fun patchProfile( @Body userProfileEditRequestDto: UserProfileEditRequestDto, ) diff --git a/app/src/main/java/com/into/websoso/data/remote/request/UserProfileEditRequestDto.kt b/app/src/main/java/com/into/websoso/data/remote/request/UserProfileEditRequestDto.kt index f298d40b5..49068e63d 100644 --- a/app/src/main/java/com/into/websoso/data/remote/request/UserProfileEditRequestDto.kt +++ b/app/src/main/java/com/into/websoso/data/remote/request/UserProfileEditRequestDto.kt @@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable @Serializable data class UserProfileEditRequestDto( @SerialName("avatarId") - val avatarId: Int?, + val avatarId: Long?, @SerialName("nickname") val nickname: String?, @SerialName("intro") diff --git a/app/src/main/java/com/into/websoso/data/remote/response/AvatarsResponseDto.kt b/app/src/main/java/com/into/websoso/data/remote/response/AvatarsResponseDto.kt index 835d7b40e..39221edcb 100644 --- a/app/src/main/java/com/into/websoso/data/remote/response/AvatarsResponseDto.kt +++ b/app/src/main/java/com/into/websoso/data/remote/response/AvatarsResponseDto.kt @@ -5,18 +5,20 @@ import kotlinx.serialization.Serializable @Serializable data class AvatarsResponseDto( - @SerialName("avatars") + @SerialName("avatarProfiles") val avatars: List, ) { @Serializable data class AvatarResponseDto( - @SerialName("avatarId") - val avatarId: Int, - @SerialName("avatarName") + @SerialName("avatarProfileId") + val avatarId: Long, + @SerialName("avatarProfileName") val avatarName: String, - @SerialName("avatarLine") + @SerialName("avatarProfileLine") val avatarLine: String, - @SerialName("avatarImage") + @SerialName("avatarProfileImage") + val avatarProfileImage: String, + @SerialName("avatarCharacterImage") val avatarImage: String, @SerialName("isRepresentative") val isRepresentative: Boolean, diff --git a/app/src/main/java/com/into/websoso/data/repository/UserRepository.kt b/app/src/main/java/com/into/websoso/data/repository/UserRepository.kt index 74875b4fd..56b70656b 100644 --- a/app/src/main/java/com/into/websoso/data/repository/UserRepository.kt +++ b/app/src/main/java/com/into/websoso/data/repository/UserRepository.kt @@ -92,7 +92,7 @@ class UserRepository suspend fun fetchOtherUserProfile(userId: Long): OtherUserProfileEntity = userApi.getOtherUserProfile(userId).toData() suspend fun saveEditingUserProfile( - avatarId: Int?, + avatarId: Long?, nickname: String?, intro: String?, genrePreferences: List, diff --git a/app/src/main/java/com/into/websoso/ui/createFeed/CreateFeedActivity.kt b/app/src/main/java/com/into/websoso/ui/createFeed/CreateFeedActivity.kt index 32caa79fa..d38ac2ce5 100644 --- a/app/src/main/java/com/into/websoso/ui/createFeed/CreateFeedActivity.kt +++ b/app/src/main/java/com/into/websoso/ui/createFeed/CreateFeedActivity.kt @@ -17,7 +17,7 @@ import coil.load import com.into.websoso.R.color.bg_detail_explore_chip_background_selector import com.into.websoso.R.color.bg_detail_explore_chip_stroke_selector import com.into.websoso.R.color.bg_detail_explore_chip_text_selector -import com.into.websoso.R.color.gray_200_AEADB3 +import com.into.websoso.R.color.gray_200_949399 import com.into.websoso.R.layout.activity_create_feed import com.into.websoso.R.style.body2 import com.into.websoso.R.style.body4 @@ -81,7 +81,7 @@ class CreateFeedActivity : BaseActivity(activity_crea binding.wsetCreateFeedSearchNovel.apply { setWebsosoFocusableInTouchMode(false) setWebsosoSearchHint(getString(wset_create_feed_search_novel)) - setWebsosoSearchHintTextColor(gray_200_AEADB3) + setWebsosoSearchHintTextColor(gray_200_949399) setWebsosoSearchTextAppearance(body4) setWebsosoOnClickListener { singleEventHandler.throttleFirst { showSearchNovelDialog() } diff --git a/app/src/main/java/com/into/websoso/ui/detailExplore/DetailExploreDialogBottomSheet.kt b/app/src/main/java/com/into/websoso/ui/detailExplore/DetailExploreDialogBottomSheet.kt index ae99a58e3..3417030fc 100644 --- a/app/src/main/java/com/into/websoso/ui/detailExplore/DetailExploreDialogBottomSheet.kt +++ b/app/src/main/java/com/into/websoso/ui/detailExplore/DetailExploreDialogBottomSheet.kt @@ -100,7 +100,7 @@ class DetailExploreDialogBottomSheet : BaseBottomSheetDialog { diff --git a/app/src/main/java/com/into/websoso/ui/detailExploreResult/DetailExploreResultDialogBottomSheet.kt b/app/src/main/java/com/into/websoso/ui/detailExploreResult/DetailExploreResultDialogBottomSheet.kt index ad8b6c772..71ef22bbe 100644 --- a/app/src/main/java/com/into/websoso/ui/detailExploreResult/DetailExploreResultDialogBottomSheet.kt +++ b/app/src/main/java/com/into/websoso/ui/detailExploreResult/DetailExploreResultDialogBottomSheet.kt @@ -95,7 +95,7 @@ class DetailExploreResultDialogBottomSheet : BaseBottomSheetDialog { diff --git a/app/src/main/java/com/into/websoso/ui/feedDetail/adapter/FeedDetailCommentViewHolder.kt b/app/src/main/java/com/into/websoso/ui/feedDetail/adapter/FeedDetailCommentViewHolder.kt index 91d9aebf6..29cbecbcb 100644 --- a/app/src/main/java/com/into/websoso/ui/feedDetail/adapter/FeedDetailCommentViewHolder.kt +++ b/app/src/main/java/com/into/websoso/ui/feedDetail/adapter/FeedDetailCommentViewHolder.kt @@ -6,7 +6,7 @@ import android.view.ViewGroup import androidx.core.view.isVisible import androidx.recyclerview.widget.RecyclerView import com.into.websoso.R.color.black -import com.into.websoso.R.color.gray_200_AEADB3 +import com.into.websoso.R.color.gray_200_949399 import com.into.websoso.R.color.secondary_100_FF675D import com.into.websoso.core.common.util.getS3ImageUrl import com.into.websoso.databinding.ItemFeedDetailCommentBinding @@ -37,14 +37,14 @@ class FeedDetailCommentViewHolder( if (comment.isBlocked) { binding.tvFeedUserName.text = "차단한 유저" binding.tvFeedDetailCommentContent.text = "차단한 유저의 댓글" - binding.tvFeedDetailCommentContent.setTextColor(gray_200_AEADB3.color()) + binding.tvFeedDetailCommentContent.setTextColor(gray_200_949399.color()) binding.ivFeedDetailMoreButton.isVisible = false return } if (comment.isHidden) { binding.tvFeedDetailCommentContent.text = "숨김 처리된 댓글" - binding.tvFeedDetailCommentContent.setTextColor(gray_200_AEADB3.color()) + binding.tvFeedDetailCommentContent.setTextColor(gray_200_949399.color()) binding.ivFeedDetailMoreButton.isVisible = false return } diff --git a/app/src/main/java/com/into/websoso/ui/mapper/AvatarMapper.kt b/app/src/main/java/com/into/websoso/ui/mapper/AvatarMapper.kt index b3343857f..fcdecdd79 100644 --- a/app/src/main/java/com/into/websoso/ui/mapper/AvatarMapper.kt +++ b/app/src/main/java/com/into/websoso/ui/mapper/AvatarMapper.kt @@ -8,6 +8,7 @@ fun AvatarEntity.toUi(nickname: String) = avatarId = avatarId, avatarName = avatarName, avatarLine = avatarLine.format(nickname), - avatarThumbnail = avatarImage, + avatarProfile = avatarProfileImage, + avatarImage = avatarImage, isRepresentative = isRepresentative, ) diff --git a/app/src/main/java/com/into/websoso/ui/onboarding/second/OnboardingSecondFragment.kt b/app/src/main/java/com/into/websoso/ui/onboarding/second/OnboardingSecondFragment.kt index 3729c3029..b6e08f498 100644 --- a/app/src/main/java/com/into/websoso/ui/onboarding/second/OnboardingSecondFragment.kt +++ b/app/src/main/java/com/into/websoso/ui/onboarding/second/OnboardingSecondFragment.kt @@ -5,7 +5,7 @@ import android.view.View import androidx.core.content.ContextCompat import androidx.fragment.app.activityViewModels import com.into.websoso.R.color.black -import com.into.websoso.R.color.gray_200_AEADB3 +import com.into.websoso.R.color.gray_200_949399 import com.into.websoso.R.layout.fragment_onboarding_second import com.into.websoso.core.common.ui.base.BaseFragment import com.into.websoso.core.resource.R.string.onboarding_second_input_birth_year @@ -53,7 +53,7 @@ class OnboardingSecondFragment : BaseFragment(f ContextCompat.getColor( context, when (userModelInfo.birthYear) { - 0 -> gray_200_AEADB3 + 0 -> gray_200_949399 else -> black }, ), diff --git a/app/src/main/java/com/into/websoso/ui/profileEdit/AvatarChangeBottomSheetDialog.kt b/app/src/main/java/com/into/websoso/ui/profileEdit/AvatarChangeBottomSheetDialog.kt index f3b961986..32e1d66e8 100644 --- a/app/src/main/java/com/into/websoso/ui/profileEdit/AvatarChangeBottomSheetDialog.kt +++ b/app/src/main/java/com/into/websoso/ui/profileEdit/AvatarChangeBottomSheetDialog.kt @@ -3,21 +3,19 @@ package com.into.websoso.ui.profileEdit import android.os.Bundle import android.view.View import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.GridLayoutManager import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialog import com.into.websoso.R import com.into.websoso.core.common.ui.base.BaseBottomSheetDialog import com.into.websoso.databinding.DialogAvatarChangeBinding -import com.into.websoso.ui.profileEdit.adapter.AvatarChangeAdapter -import com.into.websoso.ui.profileEdit.model.Avatar.Companion.animation +import com.into.websoso.ui.profileEdit.adapter.AvatarPagerAdapter import com.into.websoso.ui.profileEdit.model.AvatarChangeUiState -import com.into.websoso.ui.profileEdit.model.AvatarModel class AvatarChangeBottomSheetDialog : BaseBottomSheetDialog(R.layout.dialog_avatar_change) { private val profileEditViewModel: ProfileEditViewModel by activityViewModels() - private val avatarChangeAdapter: AvatarChangeAdapter by lazy { - AvatarChangeAdapter { avatarModel -> profileEditViewModel.updateSelectedAvatar(avatarModel) } + + private val avatarPagerAdapter: AvatarPagerAdapter by lazy { + AvatarPagerAdapter { avatarModel -> profileEditViewModel.updateSelectedAvatar(avatarModel) } } override fun onViewCreated( @@ -49,35 +47,26 @@ class AvatarChangeBottomSheetDialog : BaseBottomSheetDialog Unit + if (uiState.avatars.isNotEmpty()) { + if (binding.vpProfileEditAvatar.adapter == null) { + setupViewPager() + } - uiState.error -> Unit + val currentPage = binding.vpProfileEditAvatar.currentItem - uiState.avatars.isNotEmpty() -> { - setupRecyclerView() - updateAvatarAnimation(uiState.selectedAvatar) - avatarChangeAdapter.submitList(uiState.avatars) + avatarPagerAdapter.submitList(uiState.avatars.chunked(10)) { + binding.vpProfileEditAvatar.setCurrentItem(currentPage, false) } } } - private fun setupRecyclerView() { - // TODO: 갯수가 일정 갯수 초과시 그리드 리사이클러뷰 가운데 정렬 - if (binding.rvProfileEditAvatar.childCount > 0) return - binding.rvProfileEditAvatar.apply { - adapter = avatarChangeAdapter - layoutManager = GridLayoutManager(context, profileEditViewModel.getFormattedSpanCount()) - itemAnimator = null + private fun setupViewPager() { + binding.vpProfileEditAvatar.apply { + adapter = avatarPagerAdapter + offscreenPageLimit = 1 } - } - private fun updateAvatarAnimation(avatar: AvatarModel) { - if (avatar.avatarId == 0) return - binding.lavProfileEditAvatar.apply { - setAnimation(avatar.animation()) - playAnimation() - } + binding.dotsIndicatorProfileEdit.attachTo(binding.vpProfileEditAvatar) } private fun onSaveClick() { diff --git a/app/src/main/java/com/into/websoso/ui/profileEdit/ColumnSpacingItemDecoration.kt b/app/src/main/java/com/into/websoso/ui/profileEdit/ColumnSpacingItemDecoration.kt new file mode 100644 index 000000000..56d8a3b72 --- /dev/null +++ b/app/src/main/java/com/into/websoso/ui/profileEdit/ColumnSpacingItemDecoration.kt @@ -0,0 +1,26 @@ +package com.into.websoso.ui.profileEdit + +import android.graphics.Rect +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class ColumnSpacingItemDecoration( + private val spanCount: Int, + private val spacing: Int, +) : RecyclerView.ItemDecoration() { + override fun getItemOffsets( + outRect: Rect, + view: View, + parent: RecyclerView, + state: RecyclerView.State, + ) { + val position = parent.getChildAdapterPosition(view) + val column = position / spanCount + + if (column > 0) { + outRect.left = spacing + } else { + outRect.left = 0 + } + } +} diff --git a/app/src/main/java/com/into/websoso/ui/profileEdit/ProfileEditActivity.kt b/app/src/main/java/com/into/websoso/ui/profileEdit/ProfileEditActivity.kt index 8651045b4..a612c0ef6 100644 --- a/app/src/main/java/com/into/websoso/ui/profileEdit/ProfileEditActivity.kt +++ b/app/src/main/java/com/into/websoso/ui/profileEdit/ProfileEditActivity.kt @@ -15,7 +15,7 @@ import androidx.core.widget.addTextChangedListener import com.into.websoso.R.color.bg_profile_edit_chip_background_selector import com.into.websoso.R.color.bg_profile_edit_chip_stroke_selector import com.into.websoso.R.color.bg_profile_edit_chip_text_selector -import com.into.websoso.R.color.gray_200_AEADB3 +import com.into.websoso.R.color.gray_200_949399 import com.into.websoso.R.color.gray_300_52515F import com.into.websoso.R.color.primary_100_6A5DFD import com.into.websoso.R.drawable.bg_profile_edit_gray_50_radius_12dp @@ -109,7 +109,7 @@ class ProfileEditActivity : BaseActivity(activity_pr primary_100_6A5DFD, ).defaultColor } else { - AppCompatResources.getColorStateList(this, gray_200_AEADB3).defaultColor + AppCompatResources.getColorStateList(this, gray_200_949399).defaultColor }, ) binding.tvProfileEditNicknameCheckDuplicate.setBackgroundResource( diff --git a/app/src/main/java/com/into/websoso/ui/profileEdit/ProfileEditViewModel.kt b/app/src/main/java/com/into/websoso/ui/profileEdit/ProfileEditViewModel.kt index 92f4b87ca..3d1be8fbf 100644 --- a/app/src/main/java/com/into/websoso/ui/profileEdit/ProfileEditViewModel.kt +++ b/app/src/main/java/com/into/websoso/ui/profileEdit/ProfileEditViewModel.kt @@ -237,15 +237,16 @@ class ProfileEditViewModel ?.nicknameModel ?.nickname ?: "" val avatarsModel = avatars.map { it.toUi(previousNickname) } + val representativeAvatar: AvatarModel? = avatarsModel.find { it.isRepresentative } _avatarChangeUiState.value = avatarChangeUiState.value?.copy( avatars = avatarsModel, loading = false, + selectedAvatar = representativeAvatar ?: AvatarModel(), ) - val representativeAvatar = avatarsModel.find { it.isRepresentative } updatePreviousProfile( profileEditUiState.value?.profile?.copy( avatarId = representativeAvatar?.avatarId ?: 0, - avatarThumbnail = representativeAvatar?.avatarThumbnail ?: "", + avatarThumbnail = representativeAvatar?.avatarProfile ?: "", ) ?: ProfileModel(), ) }.onFailure { @@ -278,7 +279,7 @@ class ProfileEditViewModel uiState.copy( profile = uiState.profile.copy( avatarId = selectedAvatar.avatarId, - avatarThumbnail = selectedAvatar.avatarThumbnail, + avatarThumbnail = selectedAvatar.avatarProfile, ), ) } diff --git a/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarChangeAdapter.kt b/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarChangeAdapter.kt index 130b16393..07194fabf 100644 --- a/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarChangeAdapter.kt +++ b/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarChangeAdapter.kt @@ -17,11 +17,7 @@ class AvatarChangeAdapter( holder: AvatarChangeViewHolder, position: Int, ) { - if (holder.itemView.tag == null) { - holder.setupItem(getItem(position)) - } else { - holder.updateItemSelection(getItem(position).isRepresentative) - } + holder.setupItem(getItem(position)) } companion object { @@ -34,7 +30,9 @@ class AvatarChangeAdapter( override fun areContentsTheSame( oldItem: AvatarModel, newItem: AvatarModel, - ): Boolean = oldItem == newItem + ): Boolean = + oldItem.avatarId == newItem.avatarId && + oldItem.isRepresentative == newItem.isRepresentative } } } diff --git a/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarChangeViewHolder.kt b/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarChangeViewHolder.kt index 0fb2c1187..968f6869d 100644 --- a/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarChangeViewHolder.kt +++ b/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarChangeViewHolder.kt @@ -16,15 +16,12 @@ class AvatarChangeViewHolder( } fun setupItem(avatar: AvatarModel) { - binding.root.tag = avatar.avatarId binding.avatar = avatar.copy( - avatarThumbnail = binding.root.getS3ImageUrl(avatar.avatarThumbnail), + avatarProfile = binding.root.getS3ImageUrl(avatar.avatarProfile), ) binding.isSelected = avatar.isRepresentative - } - fun updateItemSelection(isRepresentative: Boolean) { - binding.isSelected = isRepresentative + binding.executePendingBindings() } companion object { diff --git a/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarPagerAdapter.kt b/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarPagerAdapter.kt new file mode 100644 index 000000000..e44ec1538 --- /dev/null +++ b/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarPagerAdapter.kt @@ -0,0 +1,63 @@ +package com.into.websoso.ui.profileEdit.adapter + +import android.view.ViewGroup +import androidx.recyclerview.widget.DiffUtil +import androidx.recyclerview.widget.ListAdapter +import com.into.websoso.ui.profileEdit.model.AvatarModel + +class AvatarPagerAdapter( + private val onAvatarClick: (AvatarModel) -> Unit, +) : ListAdapter, AvatarSelectPageViewHolder>(diffUtil) { + override fun onCreateViewHolder( + parent: ViewGroup, + viewType: Int, + ): AvatarSelectPageViewHolder = AvatarSelectPageViewHolder.of(parent, onAvatarClick) + + override fun onBindViewHolder( + holder: AvatarSelectPageViewHolder, + position: Int, + ) { + holder.bind(getItem(position)) + } + + override fun onBindViewHolder( + holder: AvatarSelectPageViewHolder, + position: Int, + payloads: MutableList, + ) { + if (payloads.isNotEmpty()) { + holder.bind(getItem(position)) + } else { + super.onBindViewHolder(holder, position, payloads) + } + } + + companion object { + private val diffUtil = object : DiffUtil.ItemCallback>() { + override fun areItemsTheSame( + oldItem: List, + newItem: List, + ): Boolean = + if (oldItem.isNotEmpty() && newItem.isNotEmpty()) { + oldItem.first().avatarId == newItem.first().avatarId + } else { + oldItem === newItem + } + + override fun areContentsTheSame( + oldItem: List, + newItem: List, + ): Boolean { + if (oldItem.size != newItem.size) return false + return oldItem.zip(newItem).all { (old, new) -> + old.avatarId == new.avatarId && old.isRepresentative == new.isRepresentative + } + } + + override fun getChangePayload( + oldItem: List, + newItem: List, + ): Any = Unit + } + } +} diff --git a/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarSelectPageViewHolder.kt b/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarSelectPageViewHolder.kt new file mode 100644 index 000000000..ba333e88b --- /dev/null +++ b/app/src/main/java/com/into/websoso/ui/profileEdit/adapter/AvatarSelectPageViewHolder.kt @@ -0,0 +1,53 @@ +package com.into.websoso.ui.profileEdit.adapter + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.into.websoso.databinding.ItemAvatarPageBinding +import com.into.websoso.ui.profileEdit.ColumnSpacingItemDecoration +import com.into.websoso.ui.profileEdit.model.AvatarModel + +class AvatarSelectPageViewHolder( + private val binding: ItemAvatarPageBinding, + private val onAvatarClick: (selectedAvatar: AvatarModel) -> Unit, +) : RecyclerView.ViewHolder(binding.root) { + fun bind(items: List) { + val childAdapter = binding.rvAvatarPage.adapter as? AvatarChangeAdapter + ?: AvatarChangeAdapter(onAvatarClick).also { + binding.rvAvatarPage.adapter = it + binding.rvAvatarPage.layoutManager = GridLayoutManager( + binding.root.context, + 2, + GridLayoutManager.HORIZONTAL, + false, + ) + binding.rvAvatarPage.itemAnimator = null + + if (binding.rvAvatarPage.itemDecorationCount == 0) { + binding.rvAvatarPage.addItemDecoration( + ColumnSpacingItemDecoration( + 2, + 12, + ), + ) + } + } + + childAdapter.submitList(items.toList()) + } + + companion object { + fun of( + parent: ViewGroup, + onAvatarClick: (avatar: AvatarModel) -> Unit, + ): AvatarSelectPageViewHolder { + val binding = ItemAvatarPageBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false, + ) + return AvatarSelectPageViewHolder(binding, onAvatarClick) + } + } +} diff --git a/app/src/main/java/com/into/websoso/ui/profileEdit/model/Avatar.kt b/app/src/main/java/com/into/websoso/ui/profileEdit/model/Avatar.kt deleted file mode 100644 index 3071f3360..000000000 --- a/app/src/main/java/com/into/websoso/ui/profileEdit/model/Avatar.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.into.websoso.ui.profileEdit.model - -import com.into.websoso.core.resource.R.raw.lottie_regressor_0 -import com.into.websoso.core.resource.R.raw.lottie_regressor_1 -import com.into.websoso.core.resource.R.raw.lottie_sosocat_0 -import com.into.websoso.core.resource.R.raw.lottie_sosocat_1 -import com.into.websoso.core.resource.R.raw.lottie_villainess_0 -import com.into.websoso.core.resource.R.raw.lottie_villainess_1 - -enum class Avatar( - val avatarId: Int, - val firstAnimationId: Int, - val secondAnimationId: Int, -) { - SOSOCAT(1, lottie_sosocat_0, lottie_sosocat_1), - REGRESSOR(2, lottie_regressor_0, lottie_regressor_1), - VILLAINESS(3, lottie_villainess_0, lottie_villainess_1), - ; - - companion object { - private const val FIRST_AVATAR_ANIMATION = 0 - private const val SECOND_AVATAR_ANIMATION = 1 - - fun AvatarModel.animation(): Int { - val random = (0..1).random() - - return entries.first { it.avatarId == avatarId }.let { - when (random) { - FIRST_AVATAR_ANIMATION -> it.firstAnimationId - SECOND_AVATAR_ANIMATION -> it.secondAnimationId - else -> 0 - } - } - } - } -} diff --git a/app/src/main/java/com/into/websoso/ui/profileEdit/model/AvatarChangeUiModel.kt b/app/src/main/java/com/into/websoso/ui/profileEdit/model/AvatarModel.kt similarity index 65% rename from app/src/main/java/com/into/websoso/ui/profileEdit/model/AvatarChangeUiModel.kt rename to app/src/main/java/com/into/websoso/ui/profileEdit/model/AvatarModel.kt index 2ace0f38d..cc9ee52da 100644 --- a/app/src/main/java/com/into/websoso/ui/profileEdit/model/AvatarChangeUiModel.kt +++ b/app/src/main/java/com/into/websoso/ui/profileEdit/model/AvatarModel.kt @@ -1,9 +1,10 @@ package com.into.websoso.ui.profileEdit.model data class AvatarModel( - val avatarId: Int = 0, + val avatarId: Long = 0, val avatarName: String = "", val avatarLine: String = "", - val avatarThumbnail: String = "", + val avatarProfile: String = "", + val avatarImage: String = "", val isRepresentative: Boolean = false, ) diff --git a/app/src/main/java/com/into/websoso/ui/profileEdit/model/ProfileEditUiModel.kt b/app/src/main/java/com/into/websoso/ui/profileEdit/model/ProfileEditUiModel.kt index 59cb0b45a..b57ae477e 100644 --- a/app/src/main/java/com/into/websoso/ui/profileEdit/model/ProfileEditUiModel.kt +++ b/app/src/main/java/com/into/websoso/ui/profileEdit/model/ProfileEditUiModel.kt @@ -7,7 +7,7 @@ import kotlinx.parcelize.Parcelize data class ProfileModel( val nicknameModel: NicknameModel = NicknameModel(), val introduction: String = "", - val avatarId: Int = 0, + val avatarId: Long = 0, val avatarThumbnail: String = "", val genrePreferences: List = emptyList(), ) : Parcelable diff --git a/app/src/main/res/color/bg_main_bottom_nav_item_selector.xml b/app/src/main/res/color/bg_main_bottom_nav_item_selector.xml index e45e85d54..2d7786116 100644 --- a/app/src/main/res/color/bg_main_bottom_nav_item_selector.xml +++ b/app/src/main/res/color/bg_main_bottom_nav_item_selector.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + + diff --git a/app/src/main/res/color/bg_novel_detail_rating_read_status_selector.xml b/app/src/main/res/color/bg_novel_detail_rating_read_status_selector.xml index 22c35f8a6..6d5704d7d 100644 --- a/app/src/main/res/color/bg_novel_detail_rating_read_status_selector.xml +++ b/app/src/main/res/color/bg_novel_detail_rating_read_status_selector.xml @@ -2,5 +2,5 @@ - - \ No newline at end of file + + diff --git a/app/src/main/res/color/bg_novel_info_read_status_graph_text_selector.xml b/app/src/main/res/color/bg_novel_info_read_status_graph_text_selector.xml index 33c22b836..80f5d75c0 100644 --- a/app/src/main/res/color/bg_novel_info_read_status_graph_text_selector.xml +++ b/app/src/main/res/color/bg_novel_info_read_status_graph_text_selector.xml @@ -2,5 +2,5 @@ - - \ No newline at end of file + + diff --git a/app/src/main/res/color/bg_novel_rating_chip_text_selector.xml b/app/src/main/res/color/bg_novel_rating_chip_text_selector.xml index f1c8ac569..ac2df2b89 100644 --- a/app/src/main/res/color/bg_novel_rating_chip_text_selector.xml +++ b/app/src/main/res/color/bg_novel_rating_chip_text_selector.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + + diff --git a/app/src/main/res/color/bg_profile_disclosure_text_selector.xml b/app/src/main/res/color/bg_profile_disclosure_text_selector.xml index a3cc90fca..023279bc0 100644 --- a/app/src/main/res/color/bg_profile_disclosure_text_selector.xml +++ b/app/src/main/res/color/bg_profile_disclosure_text_selector.xml @@ -1,5 +1,5 @@ - + - \ No newline at end of file + diff --git a/app/src/main/res/color/bg_profile_edit_chip_text_selector.xml b/app/src/main/res/color/bg_profile_edit_chip_text_selector.xml index f1c8ac569..ac2df2b89 100644 --- a/app/src/main/res/color/bg_profile_edit_chip_text_selector.xml +++ b/app/src/main/res/color/bg_profile_edit_chip_text_selector.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + + diff --git a/app/src/main/res/color/bg_rating_date_text_selector.xml b/app/src/main/res/color/bg_rating_date_text_selector.xml index b98c49cc8..53fb8663c 100644 --- a/app/src/main/res/color/bg_rating_date_text_selector.xml +++ b/app/src/main/res/color/bg_rating_date_text_selector.xml @@ -2,5 +2,5 @@ - - \ No newline at end of file + + diff --git a/app/src/main/res/drawable/bg_profile_edit_primary_100_radius_14dp.xml b/app/src/main/res/drawable/bg_primary_100_radius_12dp.xml similarity index 77% rename from app/src/main/res/drawable/bg_profile_edit_primary_100_radius_14dp.xml rename to app/src/main/res/drawable/bg_primary_100_radius_12dp.xml index a1f012580..c613830c5 100644 --- a/app/src/main/res/drawable/bg_profile_edit_primary_100_radius_14dp.xml +++ b/app/src/main/res/drawable/bg_primary_100_radius_12dp.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + + diff --git a/app/src/main/res/drawable/selector_onboarding_first_duplication_check_button_text_color.xml b/app/src/main/res/drawable/selector_onboarding_first_duplication_check_button_text_color.xml index 0abdd1009..69af87853 100644 --- a/app/src/main/res/drawable/selector_onboarding_first_duplication_check_button_text_color.xml +++ b/app/src/main/res/drawable/selector_onboarding_first_duplication_check_button_text_color.xml @@ -1,5 +1,5 @@ - + diff --git a/app/src/main/res/layout/activity_account_info.xml b/app/src/main/res/layout/activity_account_info.xml index 053e2b382..2240930e0 100644 --- a/app/src/main/res/layout/activity_account_info.xml +++ b/app/src/main/res/layout/activity_account_info.xml @@ -108,7 +108,7 @@ android:maxLines="1" android:text="@{accountInfoViewModel.userEmail}" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="@id/tv_account_info_email_title" diff --git a/app/src/main/res/layout/activity_blocked_users.xml b/app/src/main/res/layout/activity_blocked_users.xml index ceff9b0ac..a9ac9e6ef 100644 --- a/app/src/main/res/layout/activity_blocked_users.xml +++ b/app/src/main/res/layout/activity_blocked_users.xml @@ -81,11 +81,11 @@ android:layout_marginTop="20dp" android:text="@string/blocked_users_empty" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_blocked_users_empty" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_create_feed.xml b/app/src/main/res/layout/activity_create_feed.xml index 45154dc7c..4f2d37a94 100644 --- a/app/src/main/res/layout/activity_create_feed.xml +++ b/app/src/main/res/layout/activity_create_feed.xml @@ -148,7 +148,7 @@ android:text="@={viewModel.content}" android:textAppearance="@style/body2" android:textColor="@color/black" - android:textColorHint="@color/gray_200_AEADB3" + android:textColorHint="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/wcg_detail_explore_info_genre" /> @@ -171,7 +171,7 @@ android:layout_marginEnd="20dp" android:layout_marginBottom="12dp" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@+id/et_create_feed_content" app:layout_constraintEnd_toEndOf="@+id/et_create_feed_content" /> @@ -194,7 +194,7 @@ android:layout_height="wrap_content" android:text="@string/tv_create_feed_spoiler_wait" android:textAppearance="@style/body3" - android:textColor="@color/gray_200_AEADB3" /> + android:textColor="@color/gray_200_949399" /> + android:textColor="@color/gray_200_949399" /> diff --git a/app/src/main/res/layout/activity_notification_setting.xml b/app/src/main/res/layout/activity_notification_setting.xml index 873fb9821..a14e3edc8 100644 --- a/app/src/main/res/layout/activity_notification_setting.xml +++ b/app/src/main/res/layout/activity_notification_setting.xml @@ -70,7 +70,7 @@ android:layout_marginTop="4dp" android:text="@string/notification_setting_description" android:textAppearance="@style/body3" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="@id/tv_notification_setting_button_title" app:layout_constraintTop_toBottomOf="@id/tv_notification_setting_button_title" /> diff --git a/app/src/main/res/layout/activity_novel_detail.xml b/app/src/main/res/layout/activity_novel_detail.xml index fa3a6687c..7dc3e4a50 100644 --- a/app/src/main/res/layout/activity_novel_detail.xml +++ b/app/src/main/res/layout/activity_novel_detail.xml @@ -302,7 +302,7 @@ android:layout_marginStart="10dp" android:layout_marginEnd="12dp" android:src="@drawable/ic_novel_detail_navigate_next" - app:tint="@color/gray_200_AEADB3" /> + app:tint="@color/gray_200_949399" /> @@ -580,7 +580,7 @@ app:tabIndicatorHeight="2dp" app:tabSelectedTextColor="@color/black" app:tabTextAppearance="@style/title2" - app:tabTextColor="@color/gray_200_AEADB3"> + app:tabTextColor="@color/gray_200_949399"> @@ -262,7 +262,7 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - app:tint="@color/gray_200_AEADB3" /> + app:tint="@color/gray_200_949399" /> diff --git a/app/src/main/res/layout/activity_profile_edit.xml b/app/src/main/res/layout/activity_profile_edit.xml index 8a458fb93..ba5b06bec 100644 --- a/app/src/main/res/layout/activity_profile_edit.xml +++ b/app/src/main/res/layout/activity_profile_edit.xml @@ -170,7 +170,7 @@ android:text="@string/profile_edit_duplicate" android:textAppearance="@style/body2" android:textAlignment="center" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@id/view_profile_edit_nickname" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/view_profile_edit_nickname" @@ -246,7 +246,7 @@ android:text="@{viewModel.profileEditUiState.profile.introduction}" android:textAppearance="@style/body2" android:textColor="@color/black" - android:textColorHint="@color/gray_200_AEADB3" + android:textColorHint="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -292,7 +292,7 @@ android:layout_marginTop="6dp" android:text="@string/profile_edit_prefer_genre_description" android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="@id/tv_profile_edit_prefer_genre" app:layout_constraintTop_toBottomOf="@id/tv_profile_edit_prefer_genre" /> diff --git a/app/src/main/res/layout/activity_withdraw_first.xml b/app/src/main/res/layout/activity_withdraw_first.xml index cb6611ffc..f6fc077d7 100644 --- a/app/src/main/res/layout/activity_withdraw_first.xml +++ b/app/src/main/res/layout/activity_withdraw_first.xml @@ -50,7 +50,7 @@ android:layout_marginTop="8dp" android:text="@string/withdraw_description" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="@id/tv_withdraw_first_title" app:layout_constraintTop_toBottomOf="@id/tv_withdraw_first_title" /> diff --git a/app/src/main/res/layout/activity_withdraw_second.xml b/app/src/main/res/layout/activity_withdraw_second.xml index fd975342b..65f12a042 100644 --- a/app/src/main/res/layout/activity_withdraw_second.xml +++ b/app/src/main/res/layout/activity_withdraw_second.xml @@ -256,7 +256,7 @@ android:text="@={withdrawSecondViewModel.withdrawEtcReason}" android:textAppearance="@style/body2" android:textColor="@color/black" - android:textColorHint="@color/gray_200_AEADB3" + android:textColorHint="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="@id/cl_withdraw_reason_etc" app:layout_constraintStart_toStartOf="@id/cl_withdraw_reason_etc" app:layout_constraintTop_toBottomOf="@id/cl_withdraw_reason_etc" /> @@ -280,7 +280,7 @@ android:layout_marginTop="4dp" android:text="@string/withdraw_max_length" android:textAppearance="@style/label1" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="@id/et_withdraw_etc" app:layout_constraintTop_toBottomOf="@id/et_withdraw_etc" /> @@ -326,7 +326,7 @@ android:layout_marginTop="8dp" android:text="@string/withdraw_check_do_not_recover_description" android:textAppearance="@style/body4" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -364,7 +364,7 @@ android:layout_marginTop="8dp" android:text="@string/withdraw_check_is_not_automatically_deleted_post_description" android:textAppearance="@style/body4" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -402,7 +402,7 @@ android:layout_marginTop="8dp" android:text="@string/withdraw_check_re_sign_up_description" android:textAppearance="@style/body4" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -463,4 +463,4 @@ app:layout_constraintTop_toBottomOf="@id/cl_withdraw_check_agree_button" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/dialog_avatar_change.xml b/app/src/main/res/layout/dialog_avatar_change.xml index 52cceef10..11ae00d90 100644 --- a/app/src/main/res/layout/dialog_avatar_change.xml +++ b/app/src/main/res/layout/dialog_avatar_change.xml @@ -28,37 +28,36 @@ android:id="@+id/tv_profile_edit_avatar_title" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="36dp" + android:layout_marginTop="32dp" android:text="@string/profile_edit_avatar_title" - android:textAppearance="@style/title1" + android:textAppearance="@style/headline1" android:textColor="@color/black" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - + app:loads3ImageUrl="@{viewModel.avatarChangeUiState.selectedAvatar.avatarImage}" /> - + app:layout_constraintTop_toBottomOf="@id/tv_profile_edit_avatar_line" /> - + app:layout_constraintTop_toBottomOf="@id/vp_profile_edit_avatar" + app:selectedDotColor="@color/primary_100_6A5DFD" /> + app:layout_constraintTop_toBottomOf="@id/dotsIndicator_profile_edit" /> + + + diff --git a/app/src/main/res/layout/dialog_create_feed_search_novel.xml b/app/src/main/res/layout/dialog_create_feed_search_novel.xml index c7596d232..964fd4f56 100644 --- a/app/src/main/res/layout/dialog_create_feed_search_novel.xml +++ b/app/src/main/res/layout/dialog_create_feed_search_novel.xml @@ -44,7 +44,7 @@ android:layout_marginTop="4dp" android:text="@string/tv_create_feed_search_novel_connect_novel_description" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="@+id/tv_create_feed_search_novel_connect_novel" app:layout_constraintTop_toBottomOf="@+id/tv_create_feed_search_novel_connect_novel" /> @@ -108,7 +108,7 @@ android:gravity="center" android:text="@string/normal_explore_not_exist_result" android:textAppearance="@style/body1" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_create_feed_not_exist_result" /> diff --git a/app/src/main/res/layout/dialog_detail_explore.xml b/app/src/main/res/layout/dialog_detail_explore.xml index 762c58cd9..7efe8e058 100644 --- a/app/src/main/res/layout/dialog_detail_explore.xml +++ b/app/src/main/res/layout/dialog_detail_explore.xml @@ -36,7 +36,7 @@ android:layout_marginStart="24dp" android:text="@string/detail_explore_keyword" android:textAppearance="@style/title1" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@id/tv_detail_explore_info_button" app:layout_constraintStart_toEndOf="@id/tv_detail_explore_info_button" app:layout_constraintTop_toTopOf="@id/tv_detail_explore_info_button" /> @@ -94,4 +94,4 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/view_detail_explore_selected_info_tab" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/dialog_login_request.xml b/app/src/main/res/layout/dialog_login_request.xml index a20bb291e..6586df69a 100644 --- a/app/src/main/res/layout/dialog_login_request.xml +++ b/app/src/main/res/layout/dialog_login_request.xml @@ -43,11 +43,11 @@ android:padding="4dp" android:text="@string/login_request_dismiss" android:textAppearance="@style/label1" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/btn_login_request_go_to_login" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/dialog_novel_rating_keyword.xml b/app/src/main/res/layout/dialog_novel_rating_keyword.xml index c028742e5..7ecd7112d 100644 --- a/app/src/main/res/layout/dialog_novel_rating_keyword.xml +++ b/app/src/main/res/layout/dialog_novel_rating_keyword.xml @@ -168,7 +168,7 @@ android:text="@string/novel_rating_keyword_none" android:textAlignment="center" android:textAppearance="@style/body1" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_novel_rating_keyword_empty" /> diff --git a/app/src/main/res/layout/dialog_terms_agreement.xml b/app/src/main/res/layout/dialog_terms_agreement.xml index 43b6de44a..3627b29ce 100644 --- a/app/src/main/res/layout/dialog_terms_agreement.xml +++ b/app/src/main/res/layout/dialog_terms_agreement.xml @@ -27,7 +27,7 @@ android:layout_marginTop="12dp" android:text="@string/string_terms_agreement_sub_title" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="@id/tv_terms_agreement_title" app:layout_constraintTop_toBottomOf="@id/tv_terms_agreement_title" /> @@ -93,7 +93,7 @@ android:paddingVertical="8dp" android:text="@string/string_terms_agreement_service" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"/> @@ -126,7 +126,7 @@ android:paddingHorizontal="16dp" android:paddingVertical="8dp" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"/> @@ -159,7 +159,7 @@ android:paddingHorizontal="16dp" android:paddingVertical="8dp" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"/> diff --git a/app/src/main/res/layout/fragment_detail_explore_keyword.xml b/app/src/main/res/layout/fragment_detail_explore_keyword.xml index 03cc0eaec..6e43cc3c6 100644 --- a/app/src/main/res/layout/fragment_detail_explore_keyword.xml +++ b/app/src/main/res/layout/fragment_detail_explore_keyword.xml @@ -177,7 +177,7 @@ android:gravity="center" android:text="@string/detail_explore_keyword_not_exist_result" android:textAppearance="@style/body1" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toTopOf="@id/tv_detail_explore_keyword_inquire_keyword_button" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/fragment_detail_explore_result_keyword.xml b/app/src/main/res/layout/fragment_detail_explore_result_keyword.xml index 8aebd31b8..7ace9a82b 100644 --- a/app/src/main/res/layout/fragment_detail_explore_result_keyword.xml +++ b/app/src/main/res/layout/fragment_detail_explore_result_keyword.xml @@ -176,7 +176,7 @@ android:gravity="center" android:text="@string/detail_explore_keyword_not_exist_result" android:textAppearance="@style/body1" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toTopOf="@id/tv_detail_explore_keyword_inquire_keyword_button" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/fragment_explore.xml b/app/src/main/res/layout/fragment_explore.xml index 614043681..05cc959c8 100644 --- a/app/src/main/res/layout/fragment_explore.xml +++ b/app/src/main/res/layout/fragment_explore.xml @@ -51,7 +51,7 @@ android:layout_height="wrap_content" android:text="@string/explore_normal_search_hint" android:textAppearance="@style/label1" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@id/cl_explore_normal_search" app:layout_constraintStart_toStartOf="@id/cl_explore_normal_search" app:layout_constraintTop_toTopOf="@id/cl_explore_normal_search" /> @@ -98,7 +98,7 @@ android:layout_marginTop="4dp" android:text="@string/explore_detail_search_description" android:textAppearance="@style/label1" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="@id/tv_explore_detail_search_title" app:layout_constraintTop_toBottomOf="@id/tv_explore_detail_search_title" /> @@ -207,7 +207,7 @@ android:layout_marginTop="4dp" android:text="@string/explore_sosopick_description" android:textAppearance="@style/label1" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="@id/tv_explore_soso_title" app:layout_constraintTop_toBottomOf="@id/tv_explore_soso_title" /> diff --git a/app/src/main/res/layout/fragment_feed.xml b/app/src/main/res/layout/fragment_feed.xml index 862109c61..668ff5ac4 100644 --- a/app/src/main/res/layout/fragment_feed.xml +++ b/app/src/main/res/layout/fragment_feed.xml @@ -39,7 +39,7 @@ android:gravity="center" android:text="@string/feed_none" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="@+id/iv_feed_logo_none" app:layout_constraintStart_toStartOf="@+id/iv_feed_logo_none" app:layout_constraintTop_toBottomOf="@+id/iv_feed_logo_none" /> diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 70f8a3b54..f33cf4358 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -147,7 +147,7 @@ android:layout_marginTop="2dp" android:text="@string/home_user_interest_recent_feed" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -184,7 +184,7 @@ android:layout_height="wrap_content" android:text="@string/home_interest_feed_description" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -225,7 +225,7 @@ android:layout_height="wrap_content" android:text="@string/home_no_associated_feed" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -258,7 +258,7 @@ android:layout_marginTop="2dp" android:text="@string/home_recommend_novel_by_user_taste_description" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -298,7 +298,7 @@ android:layout_height="wrap_content" android:text="@string/home_recommend_novel_description" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout/fragment_my_activity.xml b/app/src/main/res/layout/fragment_my_activity.xml index 04bcd6e22..16c4be543 100644 --- a/app/src/main/res/layout/fragment_my_activity.xml +++ b/app/src/main/res/layout/fragment_my_activity.xml @@ -28,7 +28,7 @@ android:layout_marginTop="20dp" android:text="@string/my_activity_emtpy" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_my_activity_empty_cat" /> diff --git a/app/src/main/res/layout/fragment_my_library.xml b/app/src/main/res/layout/fragment_my_library.xml index 7e724c289..0e2131757 100644 --- a/app/src/main/res/layout/fragment_my_library.xml +++ b/app/src/main/res/layout/fragment_my_library.xml @@ -235,7 +235,7 @@ android:layout_marginTop="20dp" android:text="@string/my_library_unknown_preference" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_my_library_unknown_preference_logo" /> @@ -308,7 +308,7 @@ android:layout_marginTop="2dp" android:text='@{String.format(@string/my_library_genre_count, myLibraryViewModel.uiState.topGenres[0].genreCount)}' android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" tools:text="12편" /> @@ -344,7 +344,7 @@ android:layout_marginTop="2dp" android:text='@{String.format(@string/my_library_genre_count, myLibraryViewModel.uiState.topGenres[1].genreCount)}' android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" tools:text="12편" /> @@ -380,7 +380,7 @@ android:layout_marginTop="2dp" android:text='@{String.format(@string/my_library_genre_count, myLibraryViewModel.uiState.topGenres[2].genreCount)}' android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" tools:text="12편" /> @@ -501,7 +501,7 @@ android:paddingBottom="10dp" android:text="@string/my_library_unknown_preference" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_my_library_unknown_novel_preference_logo" /> diff --git a/app/src/main/res/layout/fragment_my_page.xml b/app/src/main/res/layout/fragment_my_page.xml index 2f3ff1d2c..b81ad00fa 100644 --- a/app/src/main/res/layout/fragment_my_page.xml +++ b/app/src/main/res/layout/fragment_my_page.xml @@ -91,7 +91,7 @@ android:paddingBottom="30dp" android:text='@{myPageViewModel.uiState.myProfile.intro}' android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tv_my_page_user_name" diff --git a/app/src/main/res/layout/fragment_novel_feed.xml b/app/src/main/res/layout/fragment_novel_feed.xml index 20f9db766..d101380a8 100644 --- a/app/src/main/res/layout/fragment_novel_feed.xml +++ b/app/src/main/res/layout/fragment_novel_feed.xml @@ -70,7 +70,7 @@ android:text="@string/novel_feed_none" android:textAlignment="center" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_novel_feed_none" /> diff --git a/app/src/main/res/layout/fragment_novel_info.xml b/app/src/main/res/layout/fragment_novel_info.xml index b4eb98726..e6c46a86d 100644 --- a/app/src/main/res/layout/fragment_novel_info.xml +++ b/app/src/main/res/layout/fragment_novel_info.xml @@ -402,7 +402,7 @@ android:text="@string/novel_info_review_none" android:textAlignment="center" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_novel_info_none" /> diff --git a/app/src/main/res/layout/fragment_onboarding_first.xml b/app/src/main/res/layout/fragment_onboarding_first.xml index 7ef9a881d..3f297d2b0 100644 --- a/app/src/main/res/layout/fragment_onboarding_first.xml +++ b/app/src/main/res/layout/fragment_onboarding_first.xml @@ -38,7 +38,7 @@ android:layout_height="wrap_content" android:layout_marginTop="8dp" android:text="10자 이내의 닉네임을 입력해주세요" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="@id/tv_onboarding_first_input_nickname" app:layout_constraintTop_toBottomOf="@id/tv_onboarding_first_input_nickname" /> @@ -63,7 +63,7 @@ android:maxLength="10" android:text="@={viewModel.currentNicknameInput}" android:textAppearance="@style/body2" - android:textColorHint="@color/gray_200_AEADB3" + android:textColorHint="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/iv_onboarding_first_nickname_input_clear" app:layout_constraintStart_toStartOf="parent" @@ -129,4 +129,4 @@ - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_onboarding_second.xml b/app/src/main/res/layout/fragment_onboarding_second.xml index 319f5139b..5fcbb0248 100644 --- a/app/src/main/res/layout/fragment_onboarding_second.xml +++ b/app/src/main/res/layout/fragment_onboarding_second.xml @@ -32,7 +32,7 @@ android:layout_marginTop="10dp" android:text="@string/onboarding_second_secret_information" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="@id/tv_onboarding_second_input_gender_and_birth_year" app:layout_constraintTop_toBottomOf="@id/tv_onboarding_second_input_gender_and_birth_year" /> @@ -108,7 +108,7 @@ android:layout_height="wrap_content" android:text="@string/onboarding_second_input_birth_year" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout/fragment_onboarding_third.xml b/app/src/main/res/layout/fragment_onboarding_third.xml index e07069b46..8b594a4df 100644 --- a/app/src/main/res/layout/fragment_onboarding_third.xml +++ b/app/src/main/res/layout/fragment_onboarding_third.xml @@ -33,7 +33,7 @@ android:layout_marginTop="8dp" android:text="@string/onboarding_recommend_general" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="@id/tv_onboarding_third_select_genre" app:layout_constraintTop_toBottomOf="@id/tv_onboarding_third_select_genre" /> @@ -68,4 +68,4 @@ app:layout_constraintStart_toStartOf="parent" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_other_user_activity.xml b/app/src/main/res/layout/fragment_other_user_activity.xml index be6688142..c015c7398 100644 --- a/app/src/main/res/layout/fragment_other_user_activity.xml +++ b/app/src/main/res/layout/fragment_other_user_activity.xml @@ -28,7 +28,7 @@ android:layout_marginTop="20dp" android:text="@string/other_user_activity_emtpy" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_other_user_activity_empty_cat" /> diff --git a/app/src/main/res/layout/fragment_other_user_library.xml b/app/src/main/res/layout/fragment_other_user_library.xml index ace53297c..620953b81 100644 --- a/app/src/main/res/layout/fragment_other_user_library.xml +++ b/app/src/main/res/layout/fragment_other_user_library.xml @@ -236,7 +236,7 @@ android:layout_marginTop="20dp" android:text="@string/my_library_unknown_preference" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_other_user_library_unknown_preference_logo" /> @@ -309,7 +309,7 @@ android:layout_marginTop="2dp" android:text='@{String.format(@string/other_user_library_genre_count, otherUserLibraryViewModel.uiState.topGenres[0].genreCount)}' android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" tools:text="12편" /> @@ -345,7 +345,7 @@ android:layout_marginTop="2dp" android:text='@{String.format(@string/other_user_library_genre_count, otherUserLibraryViewModel.uiState.topGenres[1].genreCount)}' android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" tools:text="12편" /> @@ -381,7 +381,7 @@ android:layout_marginTop="2dp" android:text='@{String.format(@string/other_user_library_genre_count, otherUserLibraryViewModel.uiState.topGenres[2].genreCount)}' android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" tools:text="12편" /> @@ -502,7 +502,7 @@ android:paddingBottom="10dp" android:text="@string/my_library_unknown_preference" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_other_user_library_unknown_novel_preference_logo" /> diff --git a/app/src/main/res/layout/item_avatar_page.xml b/app/src/main/res/layout/item_avatar_page.xml new file mode 100644 index 000000000..c9c265dba --- /dev/null +++ b/app/src/main/res/layout/item_avatar_page.xml @@ -0,0 +1,21 @@ + + + + + diff --git a/app/src/main/res/layout/item_detail_explore_result.xml b/app/src/main/res/layout/item_detail_explore_result.xml index f9d53759c..57d4ecf0d 100644 --- a/app/src/main/res/layout/item_detail_explore_result.xml +++ b/app/src/main/res/layout/item_detail_explore_result.xml @@ -52,7 +52,7 @@ android:layout_marginStart="4dp" android:text="@{String.valueOf(novel.interestedCount)}" android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@id/iv_detail_explore_result_interested" app:layout_constraintStart_toEndOf="@id/iv_detail_explore_result_interested" app:layout_constraintTop_toTopOf="@id/iv_detail_explore_result_interested" @@ -76,7 +76,7 @@ android:layout_marginStart="4dp" android:text="@{@string/detail_explore_novel_rating(novel.rating, novel.ratingCount)}" android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@id/iv_detail_explore_result_rating" app:layout_constraintStart_toEndOf="@id/iv_detail_explore_result_rating" app:layout_constraintTop_toTopOf="@id/iv_detail_explore_result_rating" @@ -104,7 +104,7 @@ android:maxLines="1" android:text="@{novel.author}" android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@id/iv_detail_explore_result_cover" app:layout_constraintStart_toStartOf="@id/iv_detail_explore_result_cover" diff --git a/app/src/main/res/layout/item_detail_explore_result_header.xml b/app/src/main/res/layout/item_detail_explore_result_header.xml index c02a29931..be28c66b8 100644 --- a/app/src/main/res/layout/item_detail_explore_result_header.xml +++ b/app/src/main/res/layout/item_detail_explore_result_header.xml @@ -53,7 +53,7 @@ android:layout_height="wrap_content" android:text="@string/detail_explore_result_inquire" android:textAppearance="@style/body4" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -62,7 +62,7 @@ diff --git a/app/src/main/res/layout/item_feed.xml b/app/src/main/res/layout/item_feed.xml index 05de49972..c939a7690 100644 --- a/app/src/main/res/layout/item_feed.xml +++ b/app/src/main/res/layout/item_feed.xml @@ -75,7 +75,7 @@ android:layout_marginStart="4dp" android:text="@string/feed_is_modified" android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@+id/tv_feed_created_date" app:layout_constraintStart_toEndOf="@+id/tv_feed_created_date" app:layout_constraintTop_toTopOf="@+id/tv_feed_created_date" /> @@ -267,7 +267,7 @@ android:maxLines="1" android:text="@{String.valueOf(feed.likeCount)}" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@+id/iv_feed_thumb_up" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/iv_feed_thumb_up" @@ -306,7 +306,7 @@ android:maxLines="1" android:text="@{String.valueOf(feed.commentCount)}" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@+id/iv_feed_comment" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/iv_feed_comment" @@ -332,7 +332,7 @@ android:layout_width="18dp" android:layout_height="18dp" android:src="@drawable/ic_create_novel_lock" - app:tint="@color/gray_200_AEADB3" /> + app:tint="@color/gray_200_949399" /> + android:textColor="@color/gray_200_949399" /> diff --git a/app/src/main/res/layout/item_feed_detail_header.xml b/app/src/main/res/layout/item_feed_detail_header.xml index 4f3442f3b..8081847ba 100644 --- a/app/src/main/res/layout/item_feed_detail_header.xml +++ b/app/src/main/res/layout/item_feed_detail_header.xml @@ -81,7 +81,7 @@ android:layout_marginStart="4dp" android:text="@string/feed_is_modified" android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@+id/tv_feed_created_date" app:layout_constraintStart_toEndOf="@+id/tv_feed_created_date" app:layout_constraintTop_toTopOf="@+id/tv_feed_created_date" /> @@ -224,7 +224,7 @@ android:maxLines="1" android:text="@{String.valueOf(feed.likeCount)}" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@+id/iv_feed_thumb_up" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/iv_feed_thumb_up" @@ -262,7 +262,7 @@ android:maxLines="1" android:text="@{String.valueOf(feed.commentCount)}" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@+id/iv_feed_comment" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/iv_feed_comment" diff --git a/app/src/main/res/layout/item_feed_no_more.xml b/app/src/main/res/layout/item_feed_no_more.xml index 0630af693..b425faa99 100644 --- a/app/src/main/res/layout/item_feed_no_more.xml +++ b/app/src/main/res/layout/item_feed_no_more.xml @@ -24,7 +24,7 @@ android:layout_marginBottom="42dp" android:text="@string/feed_no_more_content" android:textAppearance="@style/body3" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/item_my_activity.xml b/app/src/main/res/layout/item_my_activity.xml index d59fe20b4..5bdf45b16 100644 --- a/app/src/main/res/layout/item_my_activity.xml +++ b/app/src/main/res/layout/item_my_activity.xml @@ -92,7 +92,7 @@ android:layout_marginStart="4dp" android:text="@string/feed_is_modified" android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:isVisible="@{activity.isModified}" app:layout_constraintBottom_toBottomOf="@+id/tv_my_activity_created_date" app:layout_constraintStart_toEndOf="@+id/tv_my_activity_created_date" @@ -252,7 +252,7 @@ android:maxLines="1" android:text='@{String.valueOf(activity.likeCount)}' android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@+id/iv_my_activity_thumb_up" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/iv_my_activity_thumb_up" @@ -291,7 +291,7 @@ android:maxLines="1" android:text='@{String.valueOf(activity.commentCount)}' android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@+id/iv_my_activity_comment" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/iv_my_activity_comment" @@ -317,7 +317,7 @@ android:layout_width="18dp" android:layout_height="18dp" android:src="@drawable/ic_create_novel_lock" - app:tint="@color/gray_200_AEADB3" /> + app:tint="@color/gray_200_949399" /> + android:textColor="@color/gray_200_949399" /> @@ -62,7 +62,7 @@ diff --git a/app/src/main/res/layout/item_popular_feed_slot.xml b/app/src/main/res/layout/item_popular_feed_slot.xml index 87fea7fa0..4ab801b4b 100644 --- a/app/src/main/res/layout/item_popular_feed_slot.xml +++ b/app/src/main/res/layout/item_popular_feed_slot.xml @@ -60,7 +60,7 @@ android:layout_height="wrap_content" android:layout_marginStart="4dp" android:textAppearance="@style/body4" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@id/iv_popular_feed_like" app:layout_constraintStart_toEndOf="@id/iv_popular_feed_like" app:layout_constraintTop_toTopOf="@id/iv_popular_feed_like" @@ -83,7 +83,7 @@ android:layout_height="wrap_content" android:layout_marginStart="4dp" android:textAppearance="@style/body4" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@id/iv_popular_feed_like" app:layout_constraintStart_toEndOf="@id/iv_popular_feed_comment" app:layout_constraintTop_toTopOf="@id/iv_popular_feed_like" diff --git a/app/src/main/res/layout/item_profile_edit_avatar.xml b/app/src/main/res/layout/item_profile_edit_avatar.xml index b13374f27..8732ae7b0 100644 --- a/app/src/main/res/layout/item_profile_edit_avatar.xml +++ b/app/src/main/res/layout/item_profile_edit_avatar.xml @@ -19,13 +19,14 @@ + android:layout_width="60dp" + android:layout_height="60dp" + android:onClick="@{() -> onAvatarClick.invoke(avatar)}" + android:layout_marginBottom="12dp"> - \ No newline at end of file + diff --git a/app/src/main/res/layout/item_recommended_novel_by_user_taste.xml b/app/src/main/res/layout/item_recommended_novel_by_user_taste.xml index 57ab949a5..93e51628c 100644 --- a/app/src/main/res/layout/item_recommended_novel_by_user_taste.xml +++ b/app/src/main/res/layout/item_recommended_novel_by_user_taste.xml @@ -50,7 +50,7 @@ android:layout_marginStart="3dp" android:text="@{String.valueOf(recommendedNovel.interestCount)}" android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@id/iv_taste_novel_interest" app:layout_constraintStart_toEndOf="@id/iv_taste_novel_interest" app:layout_constraintTop_toTopOf="@id/iv_taste_novel_interest" @@ -74,7 +74,7 @@ android:layout_marginStart="4dp" android:text='@{String.format(@string/home_recommended_novel_rating_format, recommendedNovel.novelRating, recommendedNovel.novelRatingCount)}' android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="@id/iv_taste_novel_interest" app:layout_constraintStart_toEndOf="@id/iv_taste_novel_rating" app:layout_constraintTop_toTopOf="@id/iv_taste_novel_interest" @@ -100,7 +100,7 @@ android:layout_height="wrap_content" android:text="@{recommendedNovel.author}" android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintStart_toStartOf="@id/iv_taste_novel_image" app:layout_constraintTop_toBottomOf="@id/tv_taste_novel_title" tools:text="이보라" /> diff --git a/app/src/main/res/layout/item_rest_genre.xml b/app/src/main/res/layout/item_rest_genre.xml index 351708669..668a53a2e 100644 --- a/app/src/main/res/layout/item_rest_genre.xml +++ b/app/src/main/res/layout/item_rest_genre.xml @@ -44,7 +44,7 @@ android:layout_height="wrap_content" android:text='@{@string/my_library_genre_count(genrePreference.genreCount)}' android:textAppearance="@style/body3" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" @@ -52,4 +52,4 @@ - \ No newline at end of file + diff --git a/app/src/main/res/layout/item_search_novel.xml b/app/src/main/res/layout/item_search_novel.xml index 69955d9cd..7d3debb79 100644 --- a/app/src/main/res/layout/item_search_novel.xml +++ b/app/src/main/res/layout/item_search_novel.xml @@ -61,7 +61,7 @@ android:maxLines="1" android:text="@{novel.author}" android:textAppearance="@style/body5" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="@+id/tv_create_feed_search_novel_title" app:layout_constraintStart_toStartOf="@+id/tv_create_feed_search_novel_title" app:layout_constraintTop_toBottomOf="@+id/tv_create_feed_search_novel_title" diff --git a/app/src/main/res/layout/layout_loading.xml b/app/src/main/res/layout/layout_loading.xml index 250258c40..a80b4b6ed 100644 --- a/app/src/main/res/layout/layout_loading.xml +++ b/app/src/main/res/layout/layout_loading.xml @@ -44,7 +44,7 @@ android:text="@string/load_load_description" android:textAlignment="center" android:textAppearance="@style/body2" - android:textColor="@color/gray_200_AEADB3" + android:textColor="@color/gray_200_949399" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tv_load_load" /> diff --git a/app/src/main/res/layout/layout_search.xml b/app/src/main/res/layout/layout_search.xml index f0ca466ad..081215609 100644 --- a/app/src/main/res/layout/layout_search.xml +++ b/app/src/main/res/layout/layout_search.xml @@ -16,7 +16,7 @@ android:paddingEnd="8dp" android:textAppearance="@style/label1" android:textColor="@color/black" - android:textColorHint="@color/gray_200_AEADB3" + android:textColorHint="@color/gray_200_949399" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/iv_common_search_clear" app:layout_constraintStart_toStartOf="parent" @@ -43,4 +43,4 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> - \ No newline at end of file + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index e326432bb..721a6667f 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -14,7 +14,7 @@ #DFDFE3 #DDDDE3 #CBCBD1 - #AEADB3 + #949399 #52515F #111118 diff --git a/core/resource/src/main/res/values/strings.xml b/core/resource/src/main/res/values/strings.xml index 0a4950e0d..d1ea64357 100644 --- a/core/resource/src/main/res/values/strings.xml +++ b/core/resource/src/main/res/values/strings.xml @@ -345,8 +345,8 @@ 선호장르 선택한 장르에 맞춰 작품을 추천해드려요 프로필 선택 - 대표 캐릭터 설정하기 - 원래대로 유지하기 + 확인 + 취소 프로필 정보가 수정되었어요