Skip to content

Commit

Permalink
feat[firebase]: Firebase 초기화 시 멀티프로세스 이슈 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
kez-lab committed Jan 31, 2025
1 parent bf05863 commit 044e9af
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 4 deletions.
6 changes: 2 additions & 4 deletions app/src/main/java/com/hmh/hamyeonham/HMHApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import android.app.Application
import androidx.hilt.work.HiltWorkerFactory
import androidx.work.Configuration
import com.amplitude.api.Amplitude
import com.google.firebase.crashlytics.FirebaseCrashlytics
import com.hmh.hamyeonham.core.notification.AppNotificationManager
import com.hmh.hamyeonham.firebase.setFirebaseCrashlyticsEnabled
import com.hmh.hamyeonham.hus.usagestats.HMHUsageStatsManager
import com.kakao.sdk.common.KakaoSdk
import dagger.hilt.EntryPoint
Expand Down Expand Up @@ -33,10 +33,8 @@ class HMHApplication : Application(), Configuration.Provider {

override fun onCreate() {
super.onCreate()

setFirebaseCrashlyticsEnabled(!BuildConfig.DEBUG)
setAmplitude()

FirebaseCrashlytics.getInstance().isCrashlyticsCollectionEnabled = !BuildConfig.DEBUG
KakaoSdk.init(this, BuildConfig.KAKAO_API_KEY)
HMHUsageStatsManager.init(this)
notificationManager.setupNotificationChannel()
Expand Down
24 changes: 24 additions & 0 deletions app/src/main/java/com/hmh/hamyeonham/firebase/FirebaseUtil.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.hmh.hamyeonham.firebase

import android.app.ActivityManager
import android.app.Application
import android.content.Context
import com.google.firebase.crashlytics.FirebaseCrashlytics

fun Application.setFirebaseCrashlyticsEnabled(isEnabled: Boolean) {

fun getProcessName(): String? {
val activityManager =
applicationContext.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
val pid = android.os.Process.myPid()
return activityManager.runningAppProcesses?.firstOrNull { it.pid == pid }?.processName
}

fun isMainProcess(): Boolean {
return getProcessName() == applicationContext.packageName
}

if (isMainProcess()) {
FirebaseCrashlytics.getInstance().isCrashlyticsCollectionEnabled = isEnabled
}
}

0 comments on commit 044e9af

Please sign in to comment.