From f2087b62f5fc5a182b7914cbbee3c98815f027c4 Mon Sep 17 00:00:00 2001 From: Hyun Woo Lee Date: Sun, 28 Feb 2021 20:53:53 +0900 Subject: [PATCH] =?UTF-8?q?#540=20[FEAT]=20:=20=ED=8C=8C=EC=9D=B4=EC=96=B4?= =?UTF-8?q?=EB=B2=A0=EC=9D=B4=EC=8A=A4=20=EB=A1=9C=EA=B7=B8=20=EB=8B=AC?= =?UTF-8?q?=EA=B8=B0(MyPage)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../beme/mypage/model/CategoryFilter.kt | 22 +++++++++++++++++++ .../teambeme/beme/mypage/model/PublicRange.kt | 19 ++++++++++++++++ .../beme/mypage/view/BottomWriteFragment.kt | 6 ++++- .../beme/mypage/view/MyWriteFragment.kt | 5 +++++ .../notification/adapter/NoticeAdapter.kt | 2 ++ app/src/main/res/layout/fragment_my_write.xml | 1 - 6 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/teambeme/beme/mypage/model/CategoryFilter.kt create mode 100644 app/src/main/java/com/teambeme/beme/mypage/model/PublicRange.kt diff --git a/app/src/main/java/com/teambeme/beme/mypage/model/CategoryFilter.kt b/app/src/main/java/com/teambeme/beme/mypage/model/CategoryFilter.kt new file mode 100644 index 0000000..0ded555 --- /dev/null +++ b/app/src/main/java/com/teambeme/beme/mypage/model/CategoryFilter.kt @@ -0,0 +1,22 @@ +package com.teambeme.beme.mypage.model + +import com.teambeme.beme.R + +enum class CategoryFilter( + private val checkId: Int, + private val itemId: String +) { + VALUES(R.id.chip_write_1, "CLICK_VALUES_MPFILTER"), + RELATIONSHIP(R.id.chip_write_2, "CLICK_RELATIONSHIP_MPFILTER"), + LOVE(R.id.chip_write_3, "CLICK_LOVE_MPFILTER"), + DAILYLIFE(R.id.chip_write_4, "CLICK_DAILYLIFE_MPFILTER"), + ME(R.id.chip_write_5, "CLICK_ME_MPFILTER"), + STORY(R.id.chip_write_6, "CLICK_STORY_MPFILTER"); + + companion object { + fun asItemId(checkId: Int): String { + return values().find { it.checkId == checkId }?.itemId + ?: throw IllegalArgumentException("무슨 범위여 이게 $checkId") + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/teambeme/beme/mypage/model/PublicRange.kt b/app/src/main/java/com/teambeme/beme/mypage/model/PublicRange.kt new file mode 100644 index 0000000..ceb601d --- /dev/null +++ b/app/src/main/java/com/teambeme/beme/mypage/model/PublicRange.kt @@ -0,0 +1,19 @@ +package com.teambeme.beme.mypage.model + +import com.teambeme.beme.R + +enum class PublicRange( + private val checkId: Int, + private val itemId: String +) { + ALL(R.id.chip_range_1, "CLICK_ALL_MPFILTER"), + OPEN(R.id.chip_range_2, "CLICK_OPEN_MPFILTER"), + PRIVATE(R.id.chip_range_3, "CLICK_PRIVATE_MPFILTER"); + + companion object { + fun asItemId(checkId: Int): String { + return values().find { it.checkId == checkId }?.itemId + ?: throw IllegalArgumentException("무슨 범위여 이게 $checkId") + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/teambeme/beme/mypage/view/BottomWriteFragment.kt b/app/src/main/java/com/teambeme/beme/mypage/view/BottomWriteFragment.kt index 4fc6866..7a6e32a 100644 --- a/app/src/main/java/com/teambeme/beme/mypage/view/BottomWriteFragment.kt +++ b/app/src/main/java/com/teambeme/beme/mypage/view/BottomWriteFragment.kt @@ -11,9 +11,12 @@ import com.teambeme.beme.R import com.teambeme.beme.data.remote.datasource.MyPageDataSourceImpl import com.teambeme.beme.data.remote.singleton.RetrofitObjects import com.teambeme.beme.databinding.ItemBottomWriteBinding +import com.teambeme.beme.mypage.model.CategoryFilter +import com.teambeme.beme.mypage.model.PublicRange import com.teambeme.beme.mypage.repository.MyPageRepositoryImpl import com.teambeme.beme.mypage.viewmodel.MyPageViewModel import com.teambeme.beme.mypage.viewmodel.MyPageViewModelFactory +import com.teambeme.beme.util.recordClickEvent class BottomWriteFragment(private val filter: Boolean) : BottomSheetDialogFragment() { private lateinit var binding: ItemBottomWriteBinding @@ -39,12 +42,13 @@ class BottomWriteFragment(private val filter: Boolean) : BottomSheetDialogFragme dismiss() } binding.chipGroupRange.setOnCheckedChangeListener { group, checkedId -> + recordClickEvent("BUTTON", PublicRange.asItemId(checkedId)) setRangeOnCheckedListner(checkedId) } binding.chipGroupWriteCategori.setOnCheckedChangeListener { group, checkedId -> + recordClickEvent("BUTTON", CategoryFilter.asItemId(checkedId)) setWriteOnCheckedListener(checkedId) } - return binding.root } diff --git a/app/src/main/java/com/teambeme/beme/mypage/view/MyWriteFragment.kt b/app/src/main/java/com/teambeme/beme/mypage/view/MyWriteFragment.kt index 621a9ca..b546fed 100644 --- a/app/src/main/java/com/teambeme/beme/mypage/view/MyWriteFragment.kt +++ b/app/src/main/java/com/teambeme/beme/mypage/view/MyWriteFragment.kt @@ -20,6 +20,7 @@ import com.teambeme.beme.mypage.repository.MyPageRepositoryImpl import com.teambeme.beme.mypage.view.BottomWriteFragment.Companion.WRITE_FILTER import com.teambeme.beme.mypage.viewmodel.MyPageViewModel import com.teambeme.beme.mypage.viewmodel.MyPageViewModelFactory +import com.teambeme.beme.util.recordClickEvent class MyWriteFragment : Fragment() { private lateinit var binding: FragmentMyWriteBinding @@ -56,6 +57,10 @@ class MyWriteFragment : Fragment() { mypageViewModel.isAnswerEmpty.observe(viewLifecycleOwner) { isEmptyListener(it) } + binding.imgWriteFilter.setOnClickListener { + recordClickEvent("BUTTON", "CLICK_FILTER_MYPAGE") + mypageViewModel.writeFilterOnClick() + } setSearchView() return binding.root } diff --git a/app/src/main/java/com/teambeme/beme/notification/adapter/NoticeAdapter.kt b/app/src/main/java/com/teambeme/beme/notification/adapter/NoticeAdapter.kt index 9c318ec..539bab3 100644 --- a/app/src/main/java/com/teambeme/beme/notification/adapter/NoticeAdapter.kt +++ b/app/src/main/java/com/teambeme/beme/notification/adapter/NoticeAdapter.kt @@ -13,6 +13,7 @@ import com.teambeme.beme.databinding.ItemRecentActivitiesBinding import com.teambeme.beme.detail.view.DetailActivity import com.teambeme.beme.notification.model.ResponseNoticeData import com.teambeme.beme.otherpage.view.OtherPageActivity +import com.teambeme.beme.util.recordClickEvent class NoticeAdapter : ListAdapter(NoticeDiffUtil()) { @@ -46,6 +47,7 @@ class NoticeAdapter : view.context.startActivity(intent) } itemView.setOnClickListener { view -> + recordClickEvent("BUTTON", "CLCIK_ALARM") if (getItem(position).questionTitle != null) { val intent = Intent(view.context, DetailActivity::class.java) intent.putExtra("answerId", getItem(holder.adapterPosition).answerId) diff --git a/app/src/main/res/layout/fragment_my_write.xml b/app/src/main/res/layout/fragment_my_write.xml index 3be9133..fc19091 100644 --- a/app/src/main/res/layout/fragment_my_write.xml +++ b/app/src/main/res/layout/fragment_my_write.xml @@ -43,7 +43,6 @@ android:layout_height="wrap_content" android:layout_marginEnd="28dp" android:backgroundTint="@android:color/transparent" - android:onClick="@{() -> myPageViewModel.writeFilterOnClick()}" app:layout_constraintBottom_toBottomOf="@+id/search_view_write_search" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@+id/search_view_write_search"