@@ -3,6 +3,8 @@ package com.yapp.breake.core.detection
33import android.accessibilityservice.AccessibilityService
44import android.accessibilityservice.AccessibilityServiceInfo
55import android.view.accessibility.AccessibilityEvent
6+ import com.google.firebase.analytics.FirebaseAnalytics
7+ import com.google.firebase.analytics.logEvent
68import com.yapp.breake.core.model.app.AppGroupState
79import com.yapp.breake.core.util.OverlayLauncher
810import com.yapp.breake.core.util.getAppNameFromPackage
@@ -21,6 +23,9 @@ class AppLaunchDetectionService : AccessibilityService() {
2123 @Inject
2224 lateinit var findAppGroupUsecase: FindAppGroupUseCase
2325
26+ @Inject
27+ lateinit var firebaseAnalytics: FirebaseAnalytics
28+
2429 private val serviceJob = SupervisorJob ()
2530 private val serviceScope = CoroutineScope (Dispatchers .Main + serviceJob)
2631
@@ -52,18 +57,37 @@ class AppLaunchDetectionService : AccessibilityService() {
5257 Timber .i(" 앱 그룹: ${appGroup.name} , 상태: $it " )
5358 }
5459
60+ val appName = getAppNameFromPackage(packageName) ? : packageName
61+
5562 when (blockingState) {
5663 AppGroupState .NeedSetting , AppGroupState .Blocking -> {
5764 OverlayLauncher .startOverlay(
5865 context = applicationContext,
5966 appGroup = appGroup,
60- appName = getAppNameFromPackage(packageName) ,
67+ appName = appName ,
6168 appGroupState = blockingState,
6269 )
70+ firebaseAnalytics.run {
71+ if (blockingState == AppGroupState .Blocking ) {
72+ logEvent(" app_launch_detected" ) {
73+ param(" app_group_state" , " blocking" )
74+ param(" app_name" , appName)
75+ }
76+ } else {
77+ logEvent(" app_launch_detected" ) {
78+ param(" app_group_state" , " need_setting" )
79+ param(" app_name" , appName)
80+ }
81+ }
82+ }
6383 }
6484
6585 AppGroupState .Using -> {
6686 Timber .i(" $packageName 앱은 사용 상태입니다. 아무 작업도 하지 않습니다." )
87+ firebaseAnalytics.logEvent(" app_launch_detected" ) {
88+ param(" app_group_state" , " using" )
89+ param(" app_name" , appName)
90+ }
6791 }
6892
6993 else -> {}
0 commit comments