Skip to content

Commit

Permalink
[ADD] #315 보관함 이벤트 태깅
Browse files Browse the repository at this point in the history
  • Loading branch information
sxunea committed Jan 19, 2024
1 parent 6754d5c commit fc5ea84
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -195,9 +195,9 @@ class MyPageFragment : BindingFragment<FragmentMyPageBinding>(R.layout.fragment_
const val EXTRA_PROFILE = "profile_img"
const val ACCOUNT_INFO_TAG = "accountInfo"

const val EVENT_CLICK_RUNNING_RECORD = "clickRunningRecord"
const val EVENT_CLICK_GOAL_REWARD = "clickGoalReward"
const val EVENT_CLICK_UPLOADED_COURSE = "clickUploadedCourse"
const val EVENT_CLICK_RUNNING_RECORD = "click_running_record"
const val EVENT_CLICK_GOAL_REWARD = "click_goal_reward"
const val EVENT_CLICK_UPLOADED_COURSE = "click_uploaded_course"

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ class MyHistoryActivity : BindingActivity<ActivityMyHistoryBinding>(R.layout.act
binding.vm = viewModel
binding.lifecycleOwner = this
initLayout()
initFirebaseAnalytics()
addListener()
addObserver()
initDialog()
Expand Down Expand Up @@ -265,6 +266,6 @@ class MyHistoryActivity : BindingActivity<ActivityMyHistoryBinding>(R.layout.act
const val EXTRA_HISTORY_DATA = "historyData"
const val BUNDLE_HISTORY = "historyDataBundle"

const val EVENT_CLICK_COURSE_DRAWING_IN_RUNNING_RECORD = "clickCourseDrawingInRunningRecord"
const val EVENT_CLICK_COURSE_DRAWING_IN_RUNNING_RECORD = "click_course_drawing_in_running_record"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -175,10 +175,10 @@ class MySettingAccountInfoFragment :
const val TOKEN_KEY_ACCESS = "access"
const val TOKEN_KEY_REFRESH = "refresh"

const val EVENT_VIEW_SUCCESS_LOGOUT = "viewSuccessLogout"
const val EVENT_CLICK_TRY_LOGOUT = "clickTryLogout"
const val EVENT_VIEW_SUCCESS_WITHDRAW = "viewSuccessWithdraw"
const val EVENT_CLICK_TRY_WITHDRAW = "clickTryLogout"
const val EVENT_VIEW_SUCCESS_LOGOUT = "view_success_logout"
const val EVENT_CLICK_TRY_LOGOUT = "click_try_logout"
const val EVENT_VIEW_SUCCESS_WITHDRAW = "view_success_withdraw"
const val EVENT_CLICK_TRY_WITHDRAW = "click_try_withdraw"

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,6 @@ class MyUploadActivity : BindingActivity<ActivityMyUploadBinding>(R.layout.activ
const val EXTRA_PUBLIC_COURSE_ID = "publicCourseId"
const val EXTRA_ROOT_SCREEN = "rootScreen"

const val EVENT_CLICK_COURSE_UPLOAD_IN_UPLOADED_COURSE = "clickCourseUploadInUploadedCourse"
const val EVENT_CLICK_COURSE_UPLOAD_IN_UPLOADED_COURSE = "click_course_upload_in_uploaded_course"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,29 @@ import androidx.fragment.app.commit
import androidx.fragment.app.replace
import androidx.fragment.app.viewModels
import com.google.android.material.tabs.TabLayout
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.analytics.ktx.analytics
import com.google.firebase.ktx.Firebase
import com.runnect.runnect.R
import com.runnect.runnect.binding.BindingFragment
import com.runnect.runnect.databinding.FragmentStorageMainBinding
import com.runnect.runnect.presentation.MainActivity
import com.runnect.runnect.presentation.login.LoginActivity
import com.runnect.runnect.presentation.mypage.upload.MyUploadActivity
import com.runnect.runnect.util.analytics.Analytics
import dagger.hilt.android.AndroidEntryPoint
import timber.log.Timber

@AndroidEntryPoint
class StorageMainFragment :
BindingFragment<FragmentStorageMainBinding>(R.layout.fragment_storage_main) {

private lateinit var firebaseAnalytics: FirebaseAnalytics
val viewModel: StorageViewModel by viewModels()
var isVisitorMode: Boolean = MainActivity.isVisitorMode

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

initFirebaseAnalytics()
if (isVisitorMode) {
activateVisitorMode()
} else {
Expand Down Expand Up @@ -70,34 +75,45 @@ class StorageMainFragment :
}
}

private fun initFirebaseAnalytics() {
firebaseAnalytics = Firebase.analytics
}

private fun tabLayoutAction() {
binding.storageTab.addOnTabSelectedListener(
object : TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab?) {
when (tab?.position) {
0 -> childFragmentManager.commit {
Analytics.logClickedItemEvent(EVENT_CLICK_MY_DRAW_STORAGE_COURSE_DRAWING_START)
replace<StorageMyDrawFragment>(R.id.fl_main)
Timber.tag("hu").d("내가 그린 코스로 이동하였음")
}

1 -> childFragmentManager.commit {
Analytics.logClickedItemEvent(EVENT_CLICK_SCRAP_COURSE)
replace<StorageScrapFragment>(R.id.fl_main)
Timber.tag("hu").d("스크랩으로 이동하였음")
}

else -> IllegalArgumentException("${this::class.java.simpleName} Not found menu item id")
}
}

// 다른 탭 버튼을 눌러 선택된 탭 버튼이 해제될 때 이벤트
override fun onTabUnselected(tab: TabLayout.Tab?) {
}

// 선택된 탭 버튼을 다시 선택할 때 이벤트
override fun onTabReselected(tab: TabLayout.Tab?) {
}

}
)
}

companion object {
const val EVENT_CLICK_MY_DRAW_STORAGE_COURSE_DRAWING_START= "click_my_storage_course_drawing_start"
const val EVENT_CLICK_SCRAP_COURSE = "click_scrap_course"
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,22 @@ import androidx.core.view.isVisible
import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.GridLayoutManager
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.analytics.ktx.analytics
import com.google.firebase.ktx.Firebase
import com.runnect.runnect.R
import com.runnect.runnect.binding.BindingFragment
import com.runnect.runnect.databinding.FragmentStorageMyDrawBinding
import com.runnect.runnect.presentation.MainActivity
import com.runnect.runnect.presentation.mydrawdetail.MyDrawDetailActivity
import com.runnect.runnect.presentation.mypage.upload.MyUploadActivity
import com.runnect.runnect.presentation.search.SearchActivity
import com.runnect.runnect.presentation.state.UiState
import com.runnect.runnect.presentation.storage.adapter.StorageMyDrawAdapter
import com.runnect.runnect.util.custom.deco.GridSpacingItemDecoration
import com.runnect.runnect.util.analytics.Analytics
import com.runnect.runnect.util.callback.ItemCount
import com.runnect.runnect.util.callback.listener.OnMyDrawItemClick
import com.runnect.runnect.util.custom.deco.GridSpacingItemDecoration
import com.runnect.runnect.util.extension.setFragmentDialog
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.custom_dialog_delete.view.*
Expand All @@ -35,6 +40,7 @@ class StorageMyDrawFragment :
BindingFragment<FragmentStorageMyDrawBinding>(R.layout.fragment_storage_my_draw),
OnMyDrawItemClick, ItemCount {

private lateinit var firebaseAnalytics: FirebaseAnalytics
val viewModel: StorageViewModel by viewModels()

lateinit var storageMyDrawAdapter: StorageMyDrawAdapter
Expand All @@ -60,6 +66,7 @@ class StorageMyDrawFragment :
initLayout()
binding.lifecycleOwner = requireActivity()
initAdapter()
initFirebaseAnalytics()
editCourse()
getCourse()
requireCourse()
Expand Down Expand Up @@ -95,6 +102,10 @@ class StorageMyDrawFragment :
binding.recyclerViewStorageMyDraw.adapter = storageMyDrawAdapter
}

private fun initFirebaseAnalytics() {
firebaseAnalytics = Firebase.analytics
}

fun hideBottomNav() {
animDown = AnimationUtils.loadAnimation(requireActivity(), R.anim.slide_out_down)

Expand Down Expand Up @@ -214,6 +225,7 @@ class StorageMyDrawFragment :
}

private fun handleSuccessfulUploadDeletion() {
Analytics.logClickedItemEvent(EVENT_MY_STORAGE_TRY_REMOVE)
binding.indeterminateBar.isVisible = false
storageMyDrawAdapter.removeItems(viewModel.itemsToDelete)
storageMyDrawAdapter.clearSelection()
Expand Down Expand Up @@ -355,5 +367,8 @@ class StorageMyDrawFragment :
const val EXTRA_COURSE_ID = "courseId"
const val EXTRA_ROOT_SCREEN = "rootScreen"
const val EDIT_MODE = "선택"
const val EVENT_MY_STORAGE_TRY_MODIFY = "click_my_storage_try_modify"
const val EVENT_MY_STORAGE_TRY_REMOVE = "click_my_storage_try_remove"

}
}

0 comments on commit fc5ea84

Please sign in to comment.