diff --git a/app/src/dev/java/mihon/core/firebase/Firebase.kt b/app/src/dev/java/mihon/core/firebase/Firebase.kt index 264083fe3..e5d9ef37c 100644 --- a/app/src/dev/java/mihon/core/firebase/Firebase.kt +++ b/app/src/dev/java/mihon/core/firebase/Firebase.kt @@ -1,7 +1,7 @@ import android.content.Context -import eu.kanade.domain.base.BasePreferences +import eu.kanade.tachiyomi.core.security.SecurityPreferences object Firebase { - fun setup(context: Context, preference: BasePreferences) = Unit + fun setup(context: Context, preference: SecurityPreferences) = Unit } diff --git a/app/src/main/java/eu/kanade/presentation/more/onboarding/PermissionStep.kt b/app/src/main/java/eu/kanade/presentation/more/onboarding/PermissionStep.kt index 8bf7e7182..aba174cc2 100644 --- a/app/src/main/java/eu/kanade/presentation/more/onboarding/PermissionStep.kt +++ b/app/src/main/java/eu/kanade/presentation/more/onboarding/PermissionStep.kt @@ -121,10 +121,9 @@ internal class PermissionStep : OnboardingStep { subtitle = stringResource(MR.strings.onboarding_permission_crashlytics_description), granted = allowCrashLogs, onButtonClick = { - // Toggle the granted state allowCrashLogs = !allowCrashLogs securityPreferences.crashlytics().set(allowCrashLogs) - } + }, ) PermissionItem( @@ -132,10 +131,9 @@ internal class PermissionStep : OnboardingStep { subtitle = stringResource(MR.strings.onboarding_permission_analytics_description), granted = allowAnalytics, onButtonClick = { - // Toggle the granted state allowAnalytics = !allowAnalytics securityPreferences.analytics().set(allowAnalytics) - } + }, ) } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index 70a7317a6..eefef59ca 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi -import Firebase import android.annotation.SuppressLint import android.app.Application import android.app.PendingIntent @@ -27,6 +26,7 @@ import eu.kanade.domain.DomainModule import eu.kanade.domain.base.BasePreferences import eu.kanade.domain.ui.UiPreferences import eu.kanade.domain.ui.model.setAppCompatDelegateThemeMode +import eu.kanade.tachiyomi.core.security.SecurityPreferences import eu.kanade.tachiyomi.crash.CrashActivity import eu.kanade.tachiyomi.crash.GlobalExceptionHandler import eu.kanade.tachiyomi.data.coil.BufferedSourceFetcher @@ -51,6 +51,7 @@ import kotlinx.coroutines.flow.onEach import logcat.AndroidLogcatLogger import logcat.LogPriority import logcat.LogcatLogger +import mihon.core.firebase.Firebase import mihon.core.migration.Migrator import mihon.core.migration.migrations.migrations import org.conscrypt.Conscrypt @@ -68,6 +69,7 @@ import java.security.Security class App : Application(), DefaultLifecycleObserver, SingletonImageLoader.Factory { private val basePreferences: BasePreferences by injectLazy() + private val securityPreferences: SecurityPreferences by injectLazy() private val networkPreferences: NetworkPreferences by injectLazy() private val disableIncognitoReceiver = DisableIncognitoReceiver() @@ -76,7 +78,7 @@ class App : Application(), DefaultLifecycleObserver, SingletonImageLoader.Factor override fun onCreate() { super.onCreate() patchInjekt() - Firebase.setup(applicationContext, basePreferences) + Firebase.setup(applicationContext, securityPreferences) GlobalExceptionHandler.initialize(applicationContext, CrashActivity::class.java) diff --git a/app/src/standard/java/mihon/core/firebase/Firebase.kt b/app/src/standard/java/mihon/core/firebase/Firebase.kt index fd75ddd33..489360be7 100644 --- a/app/src/standard/java/mihon/core/firebase/Firebase.kt +++ b/app/src/standard/java/mihon/core/firebase/Firebase.kt @@ -2,12 +2,17 @@ package mihon.core.firebase import android.content.Context import com.google.firebase.analytics.FirebaseAnalytics -import eu.kanade.domain.base.BasePreferences +import com.google.firebase.crashlytics.FirebaseCrashlytics +import eu.kanade.tachiyomi.core.security.SecurityPreferences +import kotlinx.coroutines.flow.onEach object Firebase { - fun setup(context: Context, preference: BasePreferences) { - preference.incognitoMode().changes().onEach { enabled -> + fun setup(context: Context, preference: SecurityPreferences) { + preference.analytics().changes().onEach { enabled -> FirebaseAnalytics.getInstance(context).setAnalyticsCollectionEnabled(enabled) } + preference.crashlytics().changes().onEach { enabled -> + FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(enabled) + } } }