diff --git a/app/BUILD.bazel b/app/BUILD.bazel index d20fc5793ea..9389c372c45 100644 --- a/app/BUILD.bazel +++ b/app/BUILD.bazel @@ -892,6 +892,7 @@ TEST_DEPS = [ "//utility/src/main/java/org/oppia/android/util/accessibility:test_module", "//utility/src/main/java/org/oppia/android/util/caching:asset_prod_module", "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/math:math_expression_parser", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", diff --git a/app/src/main/java/org/oppia/android/app/application/alpha/AlphaApplicationComponent.kt b/app/src/main/java/org/oppia/android/app/application/alpha/AlphaApplicationComponent.kt index 3f7643dfbb1..c7cfb35dafa 100644 --- a/app/src/main/java/org/oppia/android/app/application/alpha/AlphaApplicationComponent.kt +++ b/app/src/main/java/org/oppia/android/app/application/alpha/AlphaApplicationComponent.kt @@ -48,6 +48,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.CachingModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -95,7 +96,8 @@ import javax.inject.Singleton SyncStatusModule::class, LogReportingModule::class, NetworkConnectionUtilProdModule::class, HintsAndSolutionProdModule::class, MetricLogSchedulerModule::class, PerformanceMetricsLoggerModule::class, PerformanceMetricsAssessorModule::class, - PerformanceMetricsConfigurationsModule::class, AlphaBuildFlavorModule::class + PerformanceMetricsConfigurationsModule::class, AlphaBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface AlphaApplicationComponent : ApplicationComponent { diff --git a/app/src/main/java/org/oppia/android/app/application/alpha/BUILD.bazel b/app/src/main/java/org/oppia/android/app/application/alpha/BUILD.bazel index b5514bee52f..9c410695450 100644 --- a/app/src/main/java/org/oppia/android/app/application/alpha/BUILD.bazel +++ b/app/src/main/java/org/oppia/android/app/application/alpha/BUILD.bazel @@ -19,6 +19,7 @@ kt_android_library( "//app/src/main/java/org/oppia/android/app/application:abstract_application", "//app/src/main/java/org/oppia/android/app/application:application_component", "//app/src/main/java/org/oppia/android/app/application:common_application_modules", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:prod_module", "//utility/src/main/java/org/oppia/android/util/networking:prod_module", ], diff --git a/app/src/main/java/org/oppia/android/app/application/alphakenya/AlphaKenyaApplicationComponent.kt b/app/src/main/java/org/oppia/android/app/application/alphakenya/AlphaKenyaApplicationComponent.kt index d66d01a719f..c63a9773e50 100644 --- a/app/src/main/java/org/oppia/android/app/application/alphakenya/AlphaKenyaApplicationComponent.kt +++ b/app/src/main/java/org/oppia/android/app/application/alphakenya/AlphaKenyaApplicationComponent.kt @@ -49,6 +49,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.CachingModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.KenyaAlphaEventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -96,7 +97,8 @@ import javax.inject.Singleton SyncStatusModule::class, LogReportingModule::class, NetworkConnectionUtilProdModule::class, HintsAndSolutionProdModule::class, MetricLogSchedulerModule::class, PerformanceMetricsLoggerModule::class, PerformanceMetricsAssessorModule::class, - PerformanceMetricsConfigurationsModule::class, AlphaBuildFlavorModule::class + PerformanceMetricsConfigurationsModule::class, AlphaBuildFlavorModule::class, + KenyaAlphaEventLoggingConfigurationModule::class ] ) interface AlphaKenyaApplicationComponent : ApplicationComponent { diff --git a/app/src/main/java/org/oppia/android/app/application/alphakenya/BUILD.bazel b/app/src/main/java/org/oppia/android/app/application/alphakenya/BUILD.bazel index f27362050ba..538d47308dc 100644 --- a/app/src/main/java/org/oppia/android/app/application/alphakenya/BUILD.bazel +++ b/app/src/main/java/org/oppia/android/app/application/alphakenya/BUILD.bazel @@ -20,6 +20,7 @@ kt_android_library( "//app/src/main/java/org/oppia/android/app/application:application_component", "//app/src/main/java/org/oppia/android/app/application:common_application_modules", "//app/src/main/java/org/oppia/android/app/application/alpha:alpha_build_flavor_module", + "//utility/src/main/java/org/oppia/android/util/logging:kenya_alpha_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:prod_module", "//utility/src/main/java/org/oppia/android/util/networking:prod_module", ], diff --git a/app/src/main/java/org/oppia/android/app/application/beta/BUILD.bazel b/app/src/main/java/org/oppia/android/app/application/beta/BUILD.bazel index cd268f76005..db532533d41 100644 --- a/app/src/main/java/org/oppia/android/app/application/beta/BUILD.bazel +++ b/app/src/main/java/org/oppia/android/app/application/beta/BUILD.bazel @@ -22,6 +22,7 @@ kt_android_library( "//app/src/main/java/org/oppia/android/app/application:abstract_application", "//app/src/main/java/org/oppia/android/app/application:application_component", "//app/src/main/java/org/oppia/android/app/application:common_application_modules", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:prod_module", "//utility/src/main/java/org/oppia/android/util/networking:prod_module", ], diff --git a/app/src/main/java/org/oppia/android/app/application/beta/BetaApplicationComponent.kt b/app/src/main/java/org/oppia/android/app/application/beta/BetaApplicationComponent.kt index b772edd8689..6b9b7a626b1 100644 --- a/app/src/main/java/org/oppia/android/app/application/beta/BetaApplicationComponent.kt +++ b/app/src/main/java/org/oppia/android/app/application/beta/BetaApplicationComponent.kt @@ -48,6 +48,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.CachingModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -95,7 +96,8 @@ import javax.inject.Singleton SyncStatusModule::class, LogReportingModule::class, NetworkConnectionUtilProdModule::class, HintsAndSolutionProdModule::class, MetricLogSchedulerModule::class, PerformanceMetricsLoggerModule::class, PerformanceMetricsAssessorModule::class, - PerformanceMetricsConfigurationsModule::class, BetaBuildFlavorModule::class + PerformanceMetricsConfigurationsModule::class, BetaBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface BetaApplicationComponent : ApplicationComponent { diff --git a/app/src/main/java/org/oppia/android/app/application/dev/BUILD.bazel b/app/src/main/java/org/oppia/android/app/application/dev/BUILD.bazel index b0de24922b6..53841df1c37 100644 --- a/app/src/main/java/org/oppia/android/app/application/dev/BUILD.bazel +++ b/app/src/main/java/org/oppia/android/app/application/dev/BUILD.bazel @@ -26,6 +26,7 @@ kt_android_library( "//app/src/main/java/org/oppia/android/app/application:abstract_application", "//app/src/main/java/org/oppia/android/app/application:application_component", "//app/src/main/java/org/oppia/android/app/application:common_application_modules", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], diff --git a/app/src/main/java/org/oppia/android/app/application/dev/DeveloperApplicationComponent.kt b/app/src/main/java/org/oppia/android/app/application/dev/DeveloperApplicationComponent.kt index 917186a0628..b1a827847d7 100644 --- a/app/src/main/java/org/oppia/android/app/application/dev/DeveloperApplicationComponent.kt +++ b/app/src/main/java/org/oppia/android/app/application/dev/DeveloperApplicationComponent.kt @@ -49,6 +49,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.CachingModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.DebugLogReportingModule @@ -97,7 +98,7 @@ import javax.inject.Singleton NetworkConnectionDebugUtilModule::class, LoggingIdentifierModule::class, SyncStatusModule::class, MetricLogSchedulerModule::class, PerformanceMetricsLoggerModule::class, PerformanceMetricsAssessorModule::class, PerformanceMetricsConfigurationsModule::class, - DeveloperBuildFlavorModule::class + DeveloperBuildFlavorModule::class, EventLoggingConfigurationModule::class ] ) interface DeveloperApplicationComponent : ApplicationComponent { diff --git a/app/src/main/java/org/oppia/android/app/application/ga/BUILD.bazel b/app/src/main/java/org/oppia/android/app/application/ga/BUILD.bazel index 009ce4b8328..5421f374f20 100644 --- a/app/src/main/java/org/oppia/android/app/application/ga/BUILD.bazel +++ b/app/src/main/java/org/oppia/android/app/application/ga/BUILD.bazel @@ -22,6 +22,7 @@ kt_android_library( "//app/src/main/java/org/oppia/android/app/application:abstract_application", "//app/src/main/java/org/oppia/android/app/application:application_component", "//app/src/main/java/org/oppia/android/app/application:common_application_modules", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:prod_module", "//utility/src/main/java/org/oppia/android/util/networking:prod_module", ], diff --git a/app/src/main/java/org/oppia/android/app/application/ga/GaApplicationComponent.kt b/app/src/main/java/org/oppia/android/app/application/ga/GaApplicationComponent.kt index d9eb173fb4f..23d4cbad398 100644 --- a/app/src/main/java/org/oppia/android/app/application/ga/GaApplicationComponent.kt +++ b/app/src/main/java/org/oppia/android/app/application/ga/GaApplicationComponent.kt @@ -48,6 +48,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.CachingModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -95,7 +96,8 @@ import javax.inject.Singleton SyncStatusModule::class, LogReportingModule::class, NetworkConnectionUtilProdModule::class, HintsAndSolutionProdModule::class, MetricLogSchedulerModule::class, PerformanceMetricsLoggerModule::class, PerformanceMetricsAssessorModule::class, - PerformanceMetricsConfigurationsModule::class, GaBuildFlavorModule::class + PerformanceMetricsConfigurationsModule::class, GaBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface GaApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityTest.kt index 80fbbbbf0ec..ac2d7596a29 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityTest.kt @@ -110,6 +110,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -836,7 +837,8 @@ class AdministratorControlsActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsFragmentTest.kt index 95ee91fd9ef..b308811bbbf 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsFragmentTest.kt @@ -101,6 +101,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -614,7 +615,8 @@ class AdministratorControlsFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AppVersionActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AppVersionActivityTest.kt index ea6982c549f..92ee676da4b 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AppVersionActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AppVersionActivityTest.kt @@ -89,6 +89,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -292,7 +293,8 @@ class AppVersionActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/BUILD.bazel b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/BUILD.bazel index b64b7f60e82..b9345fe116f 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/BUILD.bazel +++ b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/BUILD.bazel @@ -29,6 +29,7 @@ app_test( "//utility/src/main/java/org/oppia/android/util/accessibility:test_module", "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], @@ -62,6 +63,7 @@ app_test( "//utility/src/main/java/org/oppia/android/util/accessibility:test_module", "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], diff --git a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdActivityTest.kt index 37fbe33d836..f68224e7c96 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdActivityTest.kt @@ -80,6 +80,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusManager import org.oppia.android.util.logging.SyncStatusModule @@ -201,7 +202,7 @@ class ProfileAndDeviceIdActivityTest { SyncStatusModule::class, SplitScreenInteractionModule::class, NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, MetricLogSchedulerModule::class, - TestingBuildFlavorModule::class + TestingBuildFlavorModule::class, EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdFragmentTest.kt index 4f5b16a23e1..bed9db1657c 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/learneranalytics/ProfileAndDeviceIdFragmentTest.kt @@ -99,6 +99,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusManager import org.oppia.android.util.logging.SyncStatusModule @@ -627,7 +628,7 @@ class ProfileAndDeviceIdFragmentTest { SyncStatusModule::class, SplitScreenInteractionModule::class, NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, MetricLogSchedulerModule::class, - TestingBuildFlavorModule::class + TestingBuildFlavorModule::class, EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/completedstorylist/CompletedStoryListActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/completedstorylist/CompletedStoryListActivityTest.kt index f50c687c987..28be6b5abca 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/completedstorylist/CompletedStoryListActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/completedstorylist/CompletedStoryListActivityTest.kt @@ -94,6 +94,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -515,7 +516,8 @@ class CompletedStoryListActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/customview/LessonThumbnailImageViewTest.kt b/app/src/sharedTest/java/org/oppia/android/app/customview/LessonThumbnailImageViewTest.kt index c4082c8733a..cb048b59af8 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/customview/LessonThumbnailImageViewTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/customview/LessonThumbnailImageViewTest.kt @@ -73,6 +73,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -173,7 +174,8 @@ class LessonThumbnailImageViewTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/customview/interaction/BUILD.bazel b/app/src/sharedTest/java/org/oppia/android/app/customview/interaction/BUILD.bazel index 37a21163500..16a33d5d0ea 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/customview/interaction/BUILD.bazel +++ b/app/src/sharedTest/java/org/oppia/android/app/customview/interaction/BUILD.bazel @@ -35,6 +35,7 @@ app_test( "//third_party:robolectric_android-all", "//utility/src/main/java/org/oppia/android/util/accessibility:test_module", "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], diff --git a/app/src/sharedTest/java/org/oppia/android/app/customview/interaction/MathExpressionInteractionsViewTest.kt b/app/src/sharedTest/java/org/oppia/android/app/customview/interaction/MathExpressionInteractionsViewTest.kt index f5a54d6e7d1..31b7cef50c2 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/customview/interaction/MathExpressionInteractionsViewTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/customview/interaction/MathExpressionInteractionsViewTest.kt @@ -94,6 +94,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1775,7 +1776,8 @@ class MathExpressionInteractionsViewTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/databinding/BUILD.bazel b/app/src/sharedTest/java/org/oppia/android/app/databinding/BUILD.bazel index 019f1ff1983..cf3ebcd513d 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/databinding/BUILD.bazel +++ b/app/src/sharedTest/java/org/oppia/android/app/databinding/BUILD.bazel @@ -94,6 +94,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/data:data_providers", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], @@ -131,6 +132,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/data:data_providers", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], @@ -168,6 +170,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/data:data_providers", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], @@ -205,6 +208,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/data:data_providers", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], @@ -242,6 +246,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/data:data_providers", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], @@ -279,6 +284,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/data:data_providers", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], @@ -316,6 +322,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/data:data_providers", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], diff --git a/app/src/sharedTest/java/org/oppia/android/app/databinding/DrawableBindingAdaptersTest.kt b/app/src/sharedTest/java/org/oppia/android/app/databinding/DrawableBindingAdaptersTest.kt index da2853a4422..c982728f9a2 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/databinding/DrawableBindingAdaptersTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/databinding/DrawableBindingAdaptersTest.kt @@ -78,6 +78,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -184,7 +185,8 @@ class DrawableBindingAdaptersTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/databinding/ImageViewBindingAdaptersTest.kt b/app/src/sharedTest/java/org/oppia/android/app/databinding/ImageViewBindingAdaptersTest.kt index fe003c940f8..8d396de4cca 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/databinding/ImageViewBindingAdaptersTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/databinding/ImageViewBindingAdaptersTest.kt @@ -83,6 +83,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -226,7 +227,8 @@ class ImageViewBindingAdaptersTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) /** Create a TestApplicationComponent. */ diff --git a/app/src/sharedTest/java/org/oppia/android/app/databinding/MarginBindingAdaptersTest.kt b/app/src/sharedTest/java/org/oppia/android/app/databinding/MarginBindingAdaptersTest.kt index 212323d5fdb..3e4464170c4 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/databinding/MarginBindingAdaptersTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/databinding/MarginBindingAdaptersTest.kt @@ -84,6 +84,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -314,7 +315,8 @@ class MarginBindingAdaptersTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) /** Create a TestApplicationComponent. */ diff --git a/app/src/sharedTest/java/org/oppia/android/app/databinding/StateAssemblerMarginBindingAdaptersTest.kt b/app/src/sharedTest/java/org/oppia/android/app/databinding/StateAssemblerMarginBindingAdaptersTest.kt index e9603c8d4c0..093c3cf46a5 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/databinding/StateAssemblerMarginBindingAdaptersTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/databinding/StateAssemblerMarginBindingAdaptersTest.kt @@ -86,6 +86,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -502,7 +503,8 @@ class StateAssemblerMarginBindingAdaptersTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) /** Create a TestApplicationComponent. */ diff --git a/app/src/sharedTest/java/org/oppia/android/app/databinding/StateAssemblerPaddingBindingAdaptersTest.kt b/app/src/sharedTest/java/org/oppia/android/app/databinding/StateAssemblerPaddingBindingAdaptersTest.kt index ce12765a684..9162498f4fc 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/databinding/StateAssemblerPaddingBindingAdaptersTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/databinding/StateAssemblerPaddingBindingAdaptersTest.kt @@ -84,6 +84,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -500,7 +501,8 @@ class StateAssemblerPaddingBindingAdaptersTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) diff --git a/app/src/sharedTest/java/org/oppia/android/app/databinding/TextViewBindingAdaptersTest.kt b/app/src/sharedTest/java/org/oppia/android/app/databinding/TextViewBindingAdaptersTest.kt index aff64f8daa1..a885e0f751b 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/databinding/TextViewBindingAdaptersTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/databinding/TextViewBindingAdaptersTest.kt @@ -77,6 +77,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -333,7 +334,8 @@ class TextViewBindingAdaptersTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/databinding/ViewBindingAdaptersTest.kt b/app/src/sharedTest/java/org/oppia/android/app/databinding/ViewBindingAdaptersTest.kt index 2275048ed95..03e97a159c3 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/databinding/ViewBindingAdaptersTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/databinding/ViewBindingAdaptersTest.kt @@ -81,6 +81,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -234,7 +235,8 @@ class ViewBindingAdaptersTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) /** Create a TestApplicationComponent. */ diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/DeveloperOptionsActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/DeveloperOptionsActivityTest.kt index 78e2f796262..c9f64e1b9e8 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/DeveloperOptionsActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/DeveloperOptionsActivityTest.kt @@ -99,6 +99,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -326,7 +327,8 @@ class DeveloperOptionsActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/DeveloperOptionsFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/DeveloperOptionsFragmentTest.kt index b1e1c4215b4..242dd42140a 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/DeveloperOptionsFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/DeveloperOptionsFragmentTest.kt @@ -96,6 +96,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -657,7 +658,8 @@ class DeveloperOptionsFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkChaptersCompletedActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkChaptersCompletedActivityTest.kt index 932a971c13a..abf3682b94b 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkChaptersCompletedActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkChaptersCompletedActivityTest.kt @@ -75,6 +75,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -188,7 +189,8 @@ class MarkChaptersCompletedActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkChaptersCompletedFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkChaptersCompletedFragmentTest.kt index b2ba91623d0..0fa6c4ad037 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkChaptersCompletedFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkChaptersCompletedFragmentTest.kt @@ -87,6 +87,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -916,7 +917,8 @@ class MarkChaptersCompletedFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkStoriesCompletedActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkStoriesCompletedActivityTest.kt index 5978a29ce69..3bbdd8de946 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkStoriesCompletedActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkStoriesCompletedActivityTest.kt @@ -75,6 +75,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -188,7 +189,8 @@ class MarkStoriesCompletedActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkStoriesCompletedFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkStoriesCompletedFragmentTest.kt index e2ab546bb6b..1930bf670fa 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkStoriesCompletedFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkStoriesCompletedFragmentTest.kt @@ -87,6 +87,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -593,7 +594,8 @@ class MarkStoriesCompletedFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkTopicsCompletedActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkTopicsCompletedActivityTest.kt index 13a792f1c21..a74e5697c6f 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkTopicsCompletedActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkTopicsCompletedActivityTest.kt @@ -75,6 +75,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -188,7 +189,8 @@ class MarkTopicsCompletedActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkTopicsCompletedFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkTopicsCompletedFragmentTest.kt index a13f699941d..19958dadc77 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkTopicsCompletedFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/MarkTopicsCompletedFragmentTest.kt @@ -87,6 +87,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -563,7 +564,8 @@ class MarkTopicsCompletedFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/ViewEventLogsActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/ViewEventLogsActivityTest.kt index d76f14aabf0..71a1cf80e9f 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/ViewEventLogsActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/ViewEventLogsActivityTest.kt @@ -75,6 +75,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.DebugLogReportingModule @@ -180,7 +181,7 @@ class ViewEventLogsActivityTest { LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, MetricLogSchedulerModule::class, PerformanceMetricsAssessorModule::class, PerformanceMetricsConfigurationsModule::class, - TestingBuildFlavorModule::class + TestingBuildFlavorModule::class, EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/ViewEventLogsFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/ViewEventLogsFragmentTest.kt index 907042b27ac..c2987019e3f 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/ViewEventLogsFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/ViewEventLogsFragmentTest.kt @@ -82,6 +82,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.DebugLogReportingModule @@ -579,7 +580,8 @@ class ViewEventLogsFragmentTest { MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, MetricLogSchedulerModule::class, PerformanceMetricsAssessorModule::class, - PerformanceMetricsConfigurationsModule::class, TestingBuildFlavorModule::class + PerformanceMetricsConfigurationsModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/forcenetworktype/ForceNetworkTypeActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/forcenetworktype/ForceNetworkTypeActivityTest.kt index 1acc5d39820..f65763c0508 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/forcenetworktype/ForceNetworkTypeActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/forcenetworktype/ForceNetworkTypeActivityTest.kt @@ -76,6 +76,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -180,7 +181,8 @@ class ForceNetworkTypeActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) /** [ApplicationComponent] for [ForceNetworkTypeActivityTest]. */ diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/forcenetworktype/ForceNetworkTypeFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/forcenetworktype/ForceNetworkTypeFragmentTest.kt index 0b63f3edacb..82361b14b1d 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/forcenetworktype/ForceNetworkTypeFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/forcenetworktype/ForceNetworkTypeFragmentTest.kt @@ -82,6 +82,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -396,7 +397,8 @@ class ForceNetworkTypeFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) /** [ApplicationComponent] for [ForceNetworkTypeFragmentTest]. */ diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/BUILD.bazel b/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/BUILD.bazel index e20913f64aa..1cf6d50f745 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/BUILD.bazel +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/BUILD.bazel @@ -32,6 +32,7 @@ app_test( "//third_party:robolectric_android-all", "//utility/src/main/java/org/oppia/android/util/accessibility:test_module", "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], @@ -64,6 +65,7 @@ app_test( "//third_party:robolectric_android-all", "//utility/src/main/java/org/oppia/android/util/accessibility:test_module", "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/MathExpressionParserActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/MathExpressionParserActivityTest.kt index 6a207e03bd8..0c0528a3a28 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/MathExpressionParserActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/MathExpressionParserActivityTest.kt @@ -73,6 +73,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -164,7 +165,8 @@ class MathExpressionParserActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/MathExpressionParserFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/MathExpressionParserFragmentTest.kt index 4f3a4f62600..6e7c2bcfee7 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/MathExpressionParserFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/devoptions/mathexpressionparser/MathExpressionParserFragmentTest.kt @@ -85,6 +85,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1414,7 +1415,8 @@ class MathExpressionParserFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/faq/FAQListFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/faq/FAQListFragmentTest.kt index 33fd5eeddb9..d86fc7136cd 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/faq/FAQListFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/faq/FAQListFragmentTest.kt @@ -87,6 +87,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -248,7 +249,8 @@ class FAQListFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/faq/FAQSingleActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/faq/FAQSingleActivityTest.kt index 1c354ef9c98..aeba89c61f9 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/faq/FAQSingleActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/faq/FAQSingleActivityTest.kt @@ -83,6 +83,7 @@ import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.DefaultResourceBucketName import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -226,7 +227,8 @@ class FAQSingleActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/faq/FaqListActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/faq/FaqListActivityTest.kt index a9238755789..64f747d0fa2 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/faq/FaqListActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/faq/FaqListActivityTest.kt @@ -70,6 +70,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -153,7 +154,8 @@ class FaqListActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/help/HelpActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/help/HelpActivityTest.kt index 69c195e66e7..26da7ebc470 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/help/HelpActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/help/HelpActivityTest.kt @@ -69,6 +69,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -155,7 +156,8 @@ class HelpActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/help/HelpFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/help/HelpFragmentTest.kt index 1c7cd066ce9..11750a32051 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/help/HelpFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/help/HelpFragmentTest.kt @@ -103,6 +103,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1443,7 +1444,8 @@ class HelpFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/home/HomeActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/home/HomeActivityTest.kt index b229732f377..eddebee5ab9 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/home/HomeActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/home/HomeActivityTest.kt @@ -128,6 +128,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1812,7 +1813,8 @@ class HomeActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/home/RecentlyPlayedFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/home/RecentlyPlayedFragmentTest.kt index f086e9920d2..fc5a5ec42ee 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/home/RecentlyPlayedFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/home/RecentlyPlayedFragmentTest.kt @@ -114,6 +114,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1507,7 +1508,8 @@ class RecentlyPlayedFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/home/TopicSummaryViewModelTest.kt b/app/src/sharedTest/java/org/oppia/android/app/home/TopicSummaryViewModelTest.kt index f910210e0ac..9ad394c060b 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/home/TopicSummaryViewModelTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/home/TopicSummaryViewModelTest.kt @@ -71,6 +71,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -374,7 +375,8 @@ class TopicSummaryViewModelTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/home/WelcomeViewModelTest.kt b/app/src/sharedTest/java/org/oppia/android/app/home/WelcomeViewModelTest.kt index 95c188b9600..c7e94d19070 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/home/WelcomeViewModelTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/home/WelcomeViewModelTest.kt @@ -72,6 +72,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -358,7 +359,8 @@ class WelcomeViewModelTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/home/promotedlist/PromotedStoryListViewModelTest.kt b/app/src/sharedTest/java/org/oppia/android/app/home/promotedlist/PromotedStoryListViewModelTest.kt index 15988155b7a..9c2eafd02e7 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/home/promotedlist/PromotedStoryListViewModelTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/home/promotedlist/PromotedStoryListViewModelTest.kt @@ -72,6 +72,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -370,7 +371,8 @@ class PromotedStoryListViewModelTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/home/promotedlist/PromotedStoryViewModelTest.kt b/app/src/sharedTest/java/org/oppia/android/app/home/promotedlist/PromotedStoryViewModelTest.kt index 0e4f82c366e..8c1f0d35665 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/home/promotedlist/PromotedStoryViewModelTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/home/promotedlist/PromotedStoryViewModelTest.kt @@ -70,6 +70,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -380,7 +381,8 @@ class PromotedStoryViewModelTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/mydownloads/MyDownloadsActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/mydownloads/MyDownloadsActivityTest.kt index d1b682cbb0b..fe53065ddf2 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/mydownloads/MyDownloadsActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/mydownloads/MyDownloadsActivityTest.kt @@ -68,6 +68,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -143,7 +144,8 @@ class MyDownloadsActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/mydownloads/MyDownloadsFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/mydownloads/MyDownloadsFragmentTest.kt index 330171bab0c..927c14d4622 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/mydownloads/MyDownloadsFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/mydownloads/MyDownloadsFragmentTest.kt @@ -79,6 +79,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -234,7 +235,8 @@ class MyDownloadsFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/notice/BUILD.bazel b/app/src/sharedTest/java/org/oppia/android/app/notice/BUILD.bazel index a58c530be9f..20d4828910e 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/notice/BUILD.bazel +++ b/app/src/sharedTest/java/org/oppia/android/app/notice/BUILD.bazel @@ -36,6 +36,7 @@ app_test( "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/locale/testing:test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_util_module", @@ -72,6 +73,7 @@ app_test( "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/locale/testing:test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_util_module", diff --git a/app/src/sharedTest/java/org/oppia/android/app/notice/BetaNoticeDialogFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/notice/BetaNoticeDialogFragmentTest.kt index 0a694c49b2b..d3f870d3535 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/notice/BetaNoticeDialogFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/notice/BetaNoticeDialogFragmentTest.kt @@ -84,6 +84,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -245,7 +246,8 @@ class BetaNoticeDialogFragmentTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, TestingBuildFlavorModule::class, - CachingTestModule::class, MetricLogSchedulerModule::class + CachingTestModule::class, MetricLogSchedulerModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/notice/GeneralAvailabilityUpgradeNoticeDialogFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/notice/GeneralAvailabilityUpgradeNoticeDialogFragmentTest.kt index 4207a1d5e78..a2ae13b3dc4 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/notice/GeneralAvailabilityUpgradeNoticeDialogFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/notice/GeneralAvailabilityUpgradeNoticeDialogFragmentTest.kt @@ -84,6 +84,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -252,7 +253,8 @@ class GeneralAvailabilityUpgradeNoticeDialogFragmentTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, TestingBuildFlavorModule::class, - CachingTestModule::class, MetricLogSchedulerModule::class + CachingTestModule::class, MetricLogSchedulerModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingActivityTest.kt index 3757c17d7cf..7205c4bc103 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingActivityTest.kt @@ -69,6 +69,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -152,7 +153,8 @@ class OnboardingActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingFragmentTest.kt index 4fea9798161..ab17df40bfe 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingFragmentTest.kt @@ -99,6 +99,7 @@ import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.DefaultResourceBucketName import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -724,7 +725,8 @@ class OnboardingFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListActivityTest.kt index 44948180740..234d19175ea 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListActivityTest.kt @@ -92,6 +92,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -459,7 +460,8 @@ class OngoingTopicListActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/options/AppLanguageActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/options/AppLanguageActivityTest.kt index 1bda24c4f48..c50eca3f02f 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/options/AppLanguageActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/options/AppLanguageActivityTest.kt @@ -69,6 +69,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -162,7 +163,8 @@ class AppLanguageActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/options/AppLanguageFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/options/AppLanguageFragmentTest.kt index 3f4aa8f3a31..d0b018756cb 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/options/AppLanguageFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/options/AppLanguageFragmentTest.kt @@ -81,6 +81,7 @@ import org.oppia.android.util.caching.CacheAssetsLocally import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -257,7 +258,8 @@ class AppLanguageFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/options/AudioLanguageActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/options/AudioLanguageActivityTest.kt index 2bc4922f9a4..f11cac82f24 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/options/AudioLanguageActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/options/AudioLanguageActivityTest.kt @@ -69,6 +69,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -162,7 +163,8 @@ class AudioLanguageActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/options/AudioLanguageFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/options/AudioLanguageFragmentTest.kt index 69bf7e01e8a..c888949ce4d 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/options/AudioLanguageFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/options/AudioLanguageFragmentTest.kt @@ -80,6 +80,7 @@ import org.oppia.android.util.caching.CacheAssetsLocally import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -250,7 +251,8 @@ class AudioLanguageFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/options/OptionsActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/options/OptionsActivityTest.kt index 8839bf88eb7..974251e214a 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/options/OptionsActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/options/OptionsActivityTest.kt @@ -69,6 +69,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -154,7 +155,8 @@ class OptionsActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/options/OptionsFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/options/OptionsFragmentTest.kt index 5e17d4b0877..40b61b95c6d 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/options/OptionsFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/options/OptionsFragmentTest.kt @@ -91,6 +91,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -654,7 +655,8 @@ class OptionsFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/options/ReadingTextSizeActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/options/ReadingTextSizeActivityTest.kt index 2d11f2d65cc..b4e3196e763 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/options/ReadingTextSizeActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/options/ReadingTextSizeActivityTest.kt @@ -69,6 +69,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -162,7 +163,8 @@ class ReadingTextSizeActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/options/ReadingTextSizeFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/options/ReadingTextSizeFragmentTest.kt index bb3b3d23a7b..c0a5a36a26e 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/options/ReadingTextSizeFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/options/ReadingTextSizeFragmentTest.kt @@ -87,6 +87,7 @@ import org.oppia.android.util.caching.CacheAssetsLocally import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -316,7 +317,8 @@ class ReadingTextSizeFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/parser/HtmlParserTest.kt b/app/src/sharedTest/java/org/oppia/android/app/parser/HtmlParserTest.kt index 83640c04d2f..8194020e6d8 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/parser/HtmlParserTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/parser/HtmlParserTest.kt @@ -119,6 +119,7 @@ import org.oppia.android.util.locale.DisplayLocaleImpl import org.oppia.android.util.locale.LocaleProdModule import org.oppia.android.util.locale.OppiaBidiFormatter import org.oppia.android.util.locale.OppiaLocale +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -908,7 +909,8 @@ class HtmlParserTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/player/audio/AudioFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/player/audio/AudioFragmentTest.kt index ecafe75284e..a28cfa1dd3a 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/player/audio/AudioFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/player/audio/AudioFragmentTest.kt @@ -99,6 +99,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -479,7 +480,8 @@ class AudioFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/player/exploration/ExplorationActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/player/exploration/ExplorationActivityTest.kt index 053cddc373a..9830902e90c 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/player/exploration/ExplorationActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/player/exploration/ExplorationActivityTest.kt @@ -146,6 +146,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1959,7 +1960,8 @@ class ExplorationActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) diff --git a/app/src/sharedTest/java/org/oppia/android/app/player/state/BUILD.bazel b/app/src/sharedTest/java/org/oppia/android/app/player/state/BUILD.bazel index 1430f73fa51..5f43c05d529 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/player/state/BUILD.bazel +++ b/app/src/sharedTest/java/org/oppia/android/app/player/state/BUILD.bazel @@ -43,6 +43,7 @@ app_test( "//utility/src/main/java/org/oppia/android/util/data:data_providers", "//utility/src/main/java/org/oppia/android/util/locale/testing:test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_util_module", diff --git a/app/src/sharedTest/java/org/oppia/android/app/player/state/StateFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/player/state/StateFragmentTest.kt index ed0a0125b0d..798898c50a6 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/player/state/StateFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/player/state/StateFragmentTest.kt @@ -170,6 +170,7 @@ import org.oppia.android.util.caching.LoadLessonProtosFromAssets import org.oppia.android.util.caching.TopicListToCache import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -4320,7 +4321,8 @@ class StateFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/policies/PoliciesActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/policies/PoliciesActivityTest.kt index 26724b47f42..a08267bea80 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/policies/PoliciesActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/policies/PoliciesActivityTest.kt @@ -70,6 +70,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -185,7 +186,8 @@ class PoliciesActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/policies/PoliciesFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/policies/PoliciesFragmentTest.kt index 69b5e5ddbdf..c31d8a65687 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/policies/PoliciesFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/policies/PoliciesFragmentTest.kt @@ -95,6 +95,7 @@ import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.DefaultResourceBucketName import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -338,7 +339,8 @@ class PoliciesFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/profile/AddProfileActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/profile/AddProfileActivityTest.kt index 4595e72857e..b0f22cf2746 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/profile/AddProfileActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/profile/AddProfileActivityTest.kt @@ -108,6 +108,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1733,7 +1734,8 @@ class AddProfileActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/profile/AdminAuthActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/profile/AdminAuthActivityTest.kt index 23949bf6b7e..74cf33ec247 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/profile/AdminAuthActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/profile/AdminAuthActivityTest.kt @@ -92,6 +92,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -673,7 +674,8 @@ class AdminAuthActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/profile/AdminPinActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/profile/AdminPinActivityTest.kt index 5b92a040c25..44c263ffd1b 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/profile/AdminPinActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/profile/AdminPinActivityTest.kt @@ -103,6 +103,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1091,7 +1092,8 @@ class AdminPinActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/profile/PinPasswordActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/profile/PinPasswordActivityTest.kt index c4b9a510724..09657cd3dae 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/profile/PinPasswordActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/profile/PinPasswordActivityTest.kt @@ -98,6 +98,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1153,7 +1154,8 @@ class PinPasswordActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/profile/ProfileChooserFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/profile/ProfileChooserFragmentTest.kt index cbb45e201cf..41adc0c22b3 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/profile/ProfileChooserFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/profile/ProfileChooserFragmentTest.kt @@ -94,6 +94,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -530,7 +531,8 @@ class ProfileChooserFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfilePictureActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfilePictureActivityTest.kt index 51a4440dc1f..ba9727c7eb1 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfilePictureActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfilePictureActivityTest.kt @@ -78,6 +78,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -205,7 +206,8 @@ class ProfilePictureActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressActivityTest.kt index a47d30bd5a0..0647d0a7c9a 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressActivityTest.kt @@ -69,6 +69,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -156,7 +157,8 @@ class ProfileProgressActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressFragmentTest.kt index b01743cdfcb..17bc98f9f1a 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressFragmentTest.kt @@ -117,6 +117,7 @@ import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule import org.oppia.android.util.logging.EnableConsoleLog import org.oppia.android.util.logging.EnableFileLog +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.GlobalLogLevel import org.oppia.android.util.logging.LogLevel import org.oppia.android.util.logging.SyncStatusModule @@ -857,7 +858,8 @@ class ProfileProgressFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/recyclerview/BindableAdapterTest.kt b/app/src/sharedTest/java/org/oppia/android/app/recyclerview/BindableAdapterTest.kt index 0a8321945bb..c12ad0b6c7c 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/recyclerview/BindableAdapterTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/recyclerview/BindableAdapterTest.kt @@ -109,6 +109,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -768,7 +769,8 @@ class BindableAdapterTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/resumelesson/ResumeLessonActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/resumelesson/ResumeLessonActivityTest.kt index d3a0c8073bd..e39f45da2b8 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/resumelesson/ResumeLessonActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/resumelesson/ResumeLessonActivityTest.kt @@ -89,6 +89,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -226,7 +227,8 @@ class ResumeLessonActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/resumelesson/ResumeLessonFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/resumelesson/ResumeLessonFragmentTest.kt index 4760439db99..6fe742fa7df 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/resumelesson/ResumeLessonFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/resumelesson/ResumeLessonFragmentTest.kt @@ -92,6 +92,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -315,7 +316,8 @@ class ResumeLessonFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileEditActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileEditActivityTest.kt index 0e0450b08a2..2c71deefabd 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileEditActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileEditActivityTest.kt @@ -88,6 +88,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -379,7 +380,8 @@ class ProfileEditActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileEditFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileEditFragmentTest.kt index dcc7285bf51..5ddf52446db 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileEditFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileEditFragmentTest.kt @@ -90,6 +90,7 @@ import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.data.DataProviders.Companion.toLiveData import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -356,7 +357,8 @@ class ProfileEditFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) diff --git a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListActivityTest.kt index fc6b3cc972e..3134ef57506 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListActivityTest.kt @@ -69,6 +69,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -152,7 +153,8 @@ class ProfileListActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListFragmentTest.kt index 37feb72c90d..a23ee83334a 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListFragmentTest.kt @@ -86,6 +86,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -390,7 +391,8 @@ class ProfileListFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileRenameActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileRenameActivityTest.kt index 026dede3753..9a94cb052d1 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileRenameActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileRenameActivityTest.kt @@ -73,6 +73,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -175,7 +176,8 @@ class ProfileRenameActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileRenameFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileRenameFragmentTest.kt index 7efe91a973e..2e144526421 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileRenameFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileRenameFragmentTest.kt @@ -91,6 +91,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -464,7 +465,8 @@ class ProfileRenameFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileResetPinActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileResetPinActivityTest.kt index 766f0ffc3ec..0b3ef56e709 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileResetPinActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileResetPinActivityTest.kt @@ -74,6 +74,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -186,7 +187,8 @@ class ProfileResetPinActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileResetPinFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileResetPinFragmentTest.kt index c82448b3733..1adaab8f8d8 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileResetPinFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileResetPinFragmentTest.kt @@ -92,6 +92,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1028,7 +1029,8 @@ class ProfileResetPinFragmentTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/splash/BUILD.bazel b/app/src/sharedTest/java/org/oppia/android/app/splash/BUILD.bazel index 8a15fa58892..65dbb604e46 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/splash/BUILD.bazel +++ b/app/src/sharedTest/java/org/oppia/android/app/splash/BUILD.bazel @@ -44,6 +44,7 @@ app_test( "//utility/src/main/java/org/oppia/android/util/data:data_providers", "//utility/src/main/java/org/oppia/android/util/locale/testing:test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_util_module", diff --git a/app/src/sharedTest/java/org/oppia/android/app/splash/SplashActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/splash/SplashActivityTest.kt index 9c1da667d90..6c119fff0e5 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/splash/SplashActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/splash/SplashActivityTest.kt @@ -109,6 +109,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1203,7 +1204,8 @@ class SplashActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/story/StoryActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/story/StoryActivityTest.kt index 2fa6bda9d46..0183b1740a5 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/story/StoryActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/story/StoryActivityTest.kt @@ -89,6 +89,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -236,7 +237,8 @@ class StoryActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/story/StoryFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/story/StoryFragmentTest.kt index e1b9859c69c..1df903d3ae5 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/story/StoryFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/story/StoryFragmentTest.kt @@ -130,6 +130,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -904,7 +905,8 @@ class StoryFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/testing/DragDropTestActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/testing/DragDropTestActivityTest.kt index 3e79cccd1b6..4f629fa702b 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/testing/DragDropTestActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/testing/DragDropTestActivityTest.kt @@ -80,6 +80,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -229,7 +230,8 @@ class DragDropTestActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/testing/ImageRegionSelectionInteractionViewTest.kt b/app/src/sharedTest/java/org/oppia/android/app/testing/ImageRegionSelectionInteractionViewTest.kt index 15ced77dc59..a29f03d5667 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/testing/ImageRegionSelectionInteractionViewTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/testing/ImageRegionSelectionInteractionViewTest.kt @@ -94,6 +94,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -416,7 +417,8 @@ class ImageRegionSelectionInteractionViewTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/testing/InputInteractionViewTestActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/testing/InputInteractionViewTestActivityTest.kt index 97d4326ceaf..59cf604fcff 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/testing/InputInteractionViewTestActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/testing/InputInteractionViewTestActivityTest.kt @@ -89,6 +89,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1127,7 +1128,8 @@ class InputInteractionViewTestActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/testing/NavigationDrawerActivityDebugTest.kt b/app/src/sharedTest/java/org/oppia/android/app/testing/NavigationDrawerActivityDebugTest.kt index 6096a49752e..f263bdc6685 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/testing/NavigationDrawerActivityDebugTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/testing/NavigationDrawerActivityDebugTest.kt @@ -110,6 +110,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -440,7 +441,8 @@ class NavigationDrawerActivityDebugTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/testing/NavigationDrawerActivityProdTest.kt b/app/src/sharedTest/java/org/oppia/android/app/testing/NavigationDrawerActivityProdTest.kt index e9c6b2a98ac..cf9354a7afb 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/testing/NavigationDrawerActivityProdTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/testing/NavigationDrawerActivityProdTest.kt @@ -120,6 +120,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -989,7 +990,8 @@ class NavigationDrawerActivityProdTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/testing/TestFontScaleConfigurationUtilActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/testing/TestFontScaleConfigurationUtilActivityTest.kt index 5cfe02d9bdc..5516365c6dd 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/testing/TestFontScaleConfigurationUtilActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/testing/TestFontScaleConfigurationUtilActivityTest.kt @@ -75,6 +75,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -207,7 +208,8 @@ class TestFontScaleConfigurationUtilActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/testing/TopicTestActivityForStoryTest.kt b/app/src/sharedTest/java/org/oppia/android/app/testing/TopicTestActivityForStoryTest.kt index 329648407b1..b3a01339ace 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/testing/TopicTestActivityForStoryTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/testing/TopicTestActivityForStoryTest.kt @@ -82,6 +82,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -204,7 +205,8 @@ class TopicTestActivityForStoryTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseListActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseListActivityTest.kt index 32993ac8369..80933efdd17 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseListActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseListActivityTest.kt @@ -70,6 +70,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -164,7 +165,8 @@ class LicenseListActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) diff --git a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseListFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseListFragmentTest.kt index 0b5f2eae1ab..0d1b9530019 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseListFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseListFragmentTest.kt @@ -87,6 +87,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -374,7 +375,8 @@ class LicenseListFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) diff --git a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseTextViewerActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseTextViewerActivityTest.kt index 198ef7c20f5..a05b58482b8 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseTextViewerActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseTextViewerActivityTest.kt @@ -71,6 +71,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -173,7 +174,8 @@ class LicenseTextViewerActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) diff --git a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseTextViewerFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseTextViewerFragmentTest.kt index b12abd0898a..1ba4db8defe 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseTextViewerFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/LicenseTextViewerFragmentTest.kt @@ -77,6 +77,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -352,7 +353,8 @@ class LicenseTextViewerFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) diff --git a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/ThirdPartyDependencyListActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/ThirdPartyDependencyListActivityTest.kt index b6a7a2093b7..7c48c7b3293 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/ThirdPartyDependencyListActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/ThirdPartyDependencyListActivityTest.kt @@ -70,6 +70,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -161,7 +162,8 @@ class ThirdPartyDependencyListActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) diff --git a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/ThirdPartyDependencyListFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/ThirdPartyDependencyListFragmentTest.kt index cd7839f3fdb..d83be2fa69c 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/thirdparty/ThirdPartyDependencyListFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/thirdparty/ThirdPartyDependencyListFragmentTest.kt @@ -86,6 +86,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -484,7 +485,8 @@ class ThirdPartyDependencyListFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, SyncStatusModule::class, - MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/TopicActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/TopicActivityTest.kt index 9cbbb6dd857..811eb56e3a0 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/TopicActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/TopicActivityTest.kt @@ -86,6 +86,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -210,7 +211,8 @@ class TopicActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/TopicFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/TopicFragmentTest.kt index a83ee19558f..2cc623d9673 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/TopicFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/TopicFragmentTest.kt @@ -96,6 +96,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -665,7 +666,8 @@ class TopicFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/conceptcard/ConceptCardFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/conceptcard/ConceptCardFragmentTest.kt index 3af01c379e0..be84ee5b866 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/conceptcard/ConceptCardFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/conceptcard/ConceptCardFragmentTest.kt @@ -102,6 +102,7 @@ import org.oppia.android.util.caching.LoadLessonProtosFromAssets import org.oppia.android.util.caching.TopicListToCache import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -436,7 +437,8 @@ class ConceptCardFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/info/TopicInfoFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/info/TopicInfoFragmentTest.kt index ab908ad0315..ac4c4f2242e 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/info/TopicInfoFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/info/TopicInfoFragmentTest.kt @@ -101,6 +101,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -492,7 +493,8 @@ class TopicInfoFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentTest.kt index 6cccfd1f84a..9bd4ceb03eb 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentTest.kt @@ -114,6 +114,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1021,7 +1022,8 @@ class TopicLessonsFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/practice/TopicPracticeFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/practice/TopicPracticeFragmentTest.kt index be3f067135a..7363b036760 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/practice/TopicPracticeFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/practice/TopicPracticeFragmentTest.kt @@ -94,6 +94,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -437,7 +438,8 @@ class TopicPracticeFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityTest.kt index 13e515ebefc..d24b7a45c89 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityTest.kt @@ -135,6 +135,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -726,7 +727,8 @@ class QuestionPlayerActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/revision/TopicRevisionFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/revision/TopicRevisionFragmentTest.kt index 01054765d12..32796a6a931 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/revision/TopicRevisionFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/revision/TopicRevisionFragmentTest.kt @@ -97,6 +97,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -333,7 +334,8 @@ class TopicRevisionFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivityTest.kt index 894dec9cb73..869b93f93ac 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivityTest.kt @@ -90,6 +90,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -287,7 +288,8 @@ class RevisionCardActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/revisioncard/RevisionCardFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/revisioncard/RevisionCardFragmentTest.kt index 85c1e26ef3d..180ea961249 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/revisioncard/RevisionCardFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/revisioncard/RevisionCardFragmentTest.kt @@ -114,6 +114,7 @@ import org.oppia.android.util.caching.LoadLessonProtosFromAssets import org.oppia.android.util.caching.TopicListToCache import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -603,7 +604,8 @@ class RevisionCardFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/utility/RatioExtensionsTest.kt b/app/src/sharedTest/java/org/oppia/android/app/utility/RatioExtensionsTest.kt index 8ea214e120a..eddf809bbd1 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/utility/RatioExtensionsTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/utility/RatioExtensionsTest.kt @@ -68,6 +68,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -160,7 +161,8 @@ class RatioExtensionsTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughActivityTest.kt index 9d977f37a02..988d6ad9a35 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughActivityTest.kt @@ -81,6 +81,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -238,7 +239,8 @@ class WalkthroughActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughFinalFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughFinalFragmentTest.kt index d27197c2cad..3d7e1189353 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughFinalFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughFinalFragmentTest.kt @@ -85,6 +85,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -295,7 +296,8 @@ class WalkthroughFinalFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughTopicListFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughTopicListFragmentTest.kt index ec3ab607a23..df4ffd67de5 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughTopicListFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughTopicListFragmentTest.kt @@ -92,6 +92,7 @@ import org.oppia.android.util.caching.LoadLessonProtosFromAssets import org.oppia.android.util.caching.TopicListToCache import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -321,7 +322,8 @@ class WalkthroughTopicListFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughWelcomeFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughWelcomeFragmentTest.kt index d8b48d6dbdb..dee95da51ba 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughWelcomeFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughWelcomeFragmentTest.kt @@ -82,6 +82,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -218,7 +219,8 @@ class WalkthroughWelcomeFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/activity/ActivityIntentFactoriesTest.kt b/app/src/test/java/org/oppia/android/app/activity/ActivityIntentFactoriesTest.kt index 80145e188cc..c9beffcb977 100644 --- a/app/src/test/java/org/oppia/android/app/activity/ActivityIntentFactoriesTest.kt +++ b/app/src/test/java/org/oppia/android/app/activity/ActivityIntentFactoriesTest.kt @@ -70,6 +70,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -183,7 +184,8 @@ class ActivityIntentFactoriesTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/activity/BUILD.bazel b/app/src/test/java/org/oppia/android/app/activity/BUILD.bazel index ec052a7416a..ba122153187 100644 --- a/app/src/test/java/org/oppia/android/app/activity/BUILD.bazel +++ b/app/src/test/java/org/oppia/android/app/activity/BUILD.bazel @@ -38,6 +38,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/data:data_providers", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], diff --git a/app/src/test/java/org/oppia/android/app/home/HomeActivityLocalTest.kt b/app/src/test/java/org/oppia/android/app/home/HomeActivityLocalTest.kt index 810f35b9475..04f76b1b589 100644 --- a/app/src/test/java/org/oppia/android/app/home/HomeActivityLocalTest.kt +++ b/app/src/test/java/org/oppia/android/app/home/HomeActivityLocalTest.kt @@ -72,6 +72,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -155,7 +156,8 @@ class HomeActivityLocalTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/parser/FractionParsingUiErrorTest.kt b/app/src/test/java/org/oppia/android/app/parser/FractionParsingUiErrorTest.kt index c0216f6e8c6..68409b4de54 100644 --- a/app/src/test/java/org/oppia/android/app/parser/FractionParsingUiErrorTest.kt +++ b/app/src/test/java/org/oppia/android/app/parser/FractionParsingUiErrorTest.kt @@ -66,6 +66,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -265,7 +266,8 @@ class FractionParsingUiErrorTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/parser/ListItemLeadingMarginSpanTest.kt b/app/src/test/java/org/oppia/android/app/parser/ListItemLeadingMarginSpanTest.kt index 8c3fc424a40..a77de28131c 100644 --- a/app/src/test/java/org/oppia/android/app/parser/ListItemLeadingMarginSpanTest.kt +++ b/app/src/test/java/org/oppia/android/app/parser/ListItemLeadingMarginSpanTest.kt @@ -101,6 +101,7 @@ import org.oppia.android.util.locale.DisplayLocaleImpl import org.oppia.android.util.locale.LocaleProdModule import org.oppia.android.util.locale.OppiaBidiFormatter import org.oppia.android.util.locale.OppiaLocale +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1107,7 +1108,8 @@ class ListItemLeadingMarginSpanTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) diff --git a/app/src/test/java/org/oppia/android/app/parser/StringToRatioParserTest.kt b/app/src/test/java/org/oppia/android/app/parser/StringToRatioParserTest.kt index 0c038ea5d11..3a7eb3d31ee 100644 --- a/app/src/test/java/org/oppia/android/app/parser/StringToRatioParserTest.kt +++ b/app/src/test/java/org/oppia/android/app/parser/StringToRatioParserTest.kt @@ -68,6 +68,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -269,7 +270,8 @@ class StringToRatioParserTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/player/exploration/ExplorationActivityLocalTest.kt b/app/src/test/java/org/oppia/android/app/player/exploration/ExplorationActivityLocalTest.kt index 25d38fd6333..84d0d72c555 100644 --- a/app/src/test/java/org/oppia/android/app/player/exploration/ExplorationActivityLocalTest.kt +++ b/app/src/test/java/org/oppia/android/app/player/exploration/ExplorationActivityLocalTest.kt @@ -77,6 +77,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -216,7 +217,8 @@ class ExplorationActivityLocalTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/player/state/StateFragmentLocalTest.kt b/app/src/test/java/org/oppia/android/app/player/state/StateFragmentLocalTest.kt index 0a6b6a31e01..22d86d7abac 100644 --- a/app/src/test/java/org/oppia/android/app/player/state/StateFragmentLocalTest.kt +++ b/app/src/test/java/org/oppia/android/app/player/state/StateFragmentLocalTest.kt @@ -147,6 +147,7 @@ import org.oppia.android.util.caching.LoadLessonProtosFromAssets import org.oppia.android.util.caching.TopicListToCache import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -2298,7 +2299,8 @@ class StateFragmentLocalTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/profile/ProfileChooserFragmentLocalTest.kt b/app/src/test/java/org/oppia/android/app/profile/ProfileChooserFragmentLocalTest.kt index db5a73a3add..e97553798b6 100644 --- a/app/src/test/java/org/oppia/android/app/profile/ProfileChooserFragmentLocalTest.kt +++ b/app/src/test/java/org/oppia/android/app/profile/ProfileChooserFragmentLocalTest.kt @@ -69,6 +69,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -144,7 +145,8 @@ class ProfileChooserFragmentLocalTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/story/StoryActivityLocalTest.kt b/app/src/test/java/org/oppia/android/app/story/StoryActivityLocalTest.kt index dbe875db082..984b184560c 100644 --- a/app/src/test/java/org/oppia/android/app/story/StoryActivityLocalTest.kt +++ b/app/src/test/java/org/oppia/android/app/story/StoryActivityLocalTest.kt @@ -71,6 +71,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -169,7 +170,8 @@ class StoryActivityLocalTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/CompletedStoryListSpanTest.kt b/app/src/test/java/org/oppia/android/app/testing/CompletedStoryListSpanTest.kt index e2874312b64..8356fd5ed65 100644 --- a/app/src/test/java/org/oppia/android/app/testing/CompletedStoryListSpanTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/CompletedStoryListSpanTest.kt @@ -72,6 +72,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -178,7 +179,8 @@ class CompletedStoryListSpanTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/HomeSpanTest.kt b/app/src/test/java/org/oppia/android/app/testing/HomeSpanTest.kt index d34e7fa7a19..e4040f94bb6 100644 --- a/app/src/test/java/org/oppia/android/app/testing/HomeSpanTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/HomeSpanTest.kt @@ -72,6 +72,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -192,7 +193,8 @@ class HomeSpanTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/OngoingTopicListSpanTest.kt b/app/src/test/java/org/oppia/android/app/testing/OngoingTopicListSpanTest.kt index ae741ccd5b8..76f9bf95fe9 100644 --- a/app/src/test/java/org/oppia/android/app/testing/OngoingTopicListSpanTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/OngoingTopicListSpanTest.kt @@ -73,6 +73,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -189,7 +190,8 @@ class OngoingTopicListSpanTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/PlatformParameterIntegrationTest.kt b/app/src/test/java/org/oppia/android/app/testing/PlatformParameterIntegrationTest.kt index abb5758dc05..ed188afb18d 100644 --- a/app/src/test/java/org/oppia/android/app/testing/PlatformParameterIntegrationTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/PlatformParameterIntegrationTest.kt @@ -92,6 +92,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -362,7 +363,8 @@ class PlatformParameterIntegrationTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/ProfileChooserSpanTest.kt b/app/src/test/java/org/oppia/android/app/testing/ProfileChooserSpanTest.kt index 07fa5fc3e8a..ead0abdb54b 100644 --- a/app/src/test/java/org/oppia/android/app/testing/ProfileChooserSpanTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/ProfileChooserSpanTest.kt @@ -72,6 +72,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -391,7 +392,8 @@ class ProfileChooserSpanTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/ProfileProgressSpanCountTest.kt b/app/src/test/java/org/oppia/android/app/testing/ProfileProgressSpanCountTest.kt index a51118c53c2..366347e0e22 100644 --- a/app/src/test/java/org/oppia/android/app/testing/ProfileProgressSpanCountTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/ProfileProgressSpanCountTest.kt @@ -72,6 +72,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -175,7 +176,8 @@ class ProfileProgressSpanCountTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/RecentlyPlayedSpanTest.kt b/app/src/test/java/org/oppia/android/app/testing/RecentlyPlayedSpanTest.kt index d922623fe3f..ff5356bf1bc 100644 --- a/app/src/test/java/org/oppia/android/app/testing/RecentlyPlayedSpanTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/RecentlyPlayedSpanTest.kt @@ -77,6 +77,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -310,7 +311,8 @@ class RecentlyPlayedSpanTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/TopicRevisionSpanTest.kt b/app/src/test/java/org/oppia/android/app/testing/TopicRevisionSpanTest.kt index 24822b4c5f2..8d2650f5f28 100644 --- a/app/src/test/java/org/oppia/android/app/testing/TopicRevisionSpanTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/TopicRevisionSpanTest.kt @@ -71,6 +71,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -175,7 +176,8 @@ class TopicRevisionSpanTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/activity/BUILD.bazel b/app/src/test/java/org/oppia/android/app/testing/activity/BUILD.bazel index 6b3c8185dd7..26313703901 100644 --- a/app/src/test/java/org/oppia/android/app/testing/activity/BUILD.bazel +++ b/app/src/test/java/org/oppia/android/app/testing/activity/BUILD.bazel @@ -40,6 +40,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/locale:prod_module", "//utility/src/main/java/org/oppia/android/util/locale/testing:test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_util_module", diff --git a/app/src/test/java/org/oppia/android/app/testing/activity/TestActivityTest.kt b/app/src/test/java/org/oppia/android/app/testing/activity/TestActivityTest.kt index a2b18b6500a..6e78e4ee333 100644 --- a/app/src/test/java/org/oppia/android/app/testing/activity/TestActivityTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/activity/TestActivityTest.kt @@ -68,6 +68,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -200,7 +201,8 @@ class TestActivityTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/administratorcontrols/AdministratorControlsFragmentTest.kt b/app/src/test/java/org/oppia/android/app/testing/administratorcontrols/AdministratorControlsFragmentTest.kt index 9f0d0a5e4a3..6360351244d 100644 --- a/app/src/test/java/org/oppia/android/app/testing/administratorcontrols/AdministratorControlsFragmentTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/administratorcontrols/AdministratorControlsFragmentTest.kt @@ -79,6 +79,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -199,7 +200,8 @@ class AdministratorControlsFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/options/OptionsFragmentTest.kt b/app/src/test/java/org/oppia/android/app/testing/options/OptionsFragmentTest.kt index b0481e189ec..dee6fc47d71 100644 --- a/app/src/test/java/org/oppia/android/app/testing/options/OptionsFragmentTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/options/OptionsFragmentTest.kt @@ -80,6 +80,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -253,7 +254,8 @@ class OptionsFragmentTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/player/split/PlayerSplitScreenTest.kt b/app/src/test/java/org/oppia/android/app/testing/player/split/PlayerSplitScreenTest.kt index 1b7ff73b2c3..4fb1e275b53 100644 --- a/app/src/test/java/org/oppia/android/app/testing/player/split/PlayerSplitScreenTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/player/split/PlayerSplitScreenTest.kt @@ -69,6 +69,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -208,7 +209,8 @@ class PlayerSplitScreenTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/testing/player/state/StateFragmentAccessibilityTest.kt b/app/src/test/java/org/oppia/android/app/testing/player/state/StateFragmentAccessibilityTest.kt index 369862684ef..ce8149249cd 100644 --- a/app/src/test/java/org/oppia/android/app/testing/player/state/StateFragmentAccessibilityTest.kt +++ b/app/src/test/java/org/oppia/android/app/testing/player/state/StateFragmentAccessibilityTest.kt @@ -81,6 +81,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -215,7 +216,8 @@ class StateFragmentAccessibilityTest { AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/topic/info/TopicInfoFragmentLocalTest.kt b/app/src/test/java/org/oppia/android/app/topic/info/TopicInfoFragmentLocalTest.kt index 2ce810912e1..5806775288a 100644 --- a/app/src/test/java/org/oppia/android/app/topic/info/TopicInfoFragmentLocalTest.kt +++ b/app/src/test/java/org/oppia/android/app/topic/info/TopicInfoFragmentLocalTest.kt @@ -69,6 +69,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -157,7 +158,8 @@ class TopicInfoFragmentLocalTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentLocalTest.kt b/app/src/test/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentLocalTest.kt index 34e74865716..9cb29e6cc7c 100644 --- a/app/src/test/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentLocalTest.kt +++ b/app/src/test/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentLocalTest.kt @@ -68,6 +68,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -160,7 +161,8 @@ class TopicLessonsFragmentLocalTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityLocalTest.kt b/app/src/test/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityLocalTest.kt index f095af739b5..618d85cf349 100644 --- a/app/src/test/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityLocalTest.kt +++ b/app/src/test/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityLocalTest.kt @@ -100,6 +100,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -508,7 +509,8 @@ class QuestionPlayerActivityLocalTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivityLocalTest.kt b/app/src/test/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivityLocalTest.kt index df63ed67dbb..5b2cf5172de 100644 --- a/app/src/test/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivityLocalTest.kt +++ b/app/src/test/java/org/oppia/android/app/topic/revisioncard/RevisionCardActivityLocalTest.kt @@ -70,6 +70,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -149,7 +150,8 @@ class RevisionCardActivityLocalTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/translation/AppLanguageResourceHandlerTest.kt b/app/src/test/java/org/oppia/android/app/translation/AppLanguageResourceHandlerTest.kt index 12c7ed9d8c3..93a26276a3d 100644 --- a/app/src/test/java/org/oppia/android/app/translation/AppLanguageResourceHandlerTest.kt +++ b/app/src/test/java/org/oppia/android/app/translation/AppLanguageResourceHandlerTest.kt @@ -77,6 +77,7 @@ import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.testing.LocaleTestModule import org.oppia.android.util.locale.testing.TestOppiaBidiFormatter +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -558,7 +559,8 @@ class AppLanguageResourceHandlerTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/translation/AppLanguageWatcherMixinTest.kt b/app/src/test/java/org/oppia/android/app/translation/AppLanguageWatcherMixinTest.kt index 5b4a6ede4fb..536195ef6c5 100644 --- a/app/src/test/java/org/oppia/android/app/translation/AppLanguageWatcherMixinTest.kt +++ b/app/src/test/java/org/oppia/android/app/translation/AppLanguageWatcherMixinTest.kt @@ -82,6 +82,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.testing.LocaleTestModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -273,7 +274,8 @@ class AppLanguageWatcherMixinTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/translation/BUILD.bazel b/app/src/test/java/org/oppia/android/app/translation/BUILD.bazel index 171d07f5602..46184129002 100644 --- a/app/src/test/java/org/oppia/android/app/translation/BUILD.bazel +++ b/app/src/test/java/org/oppia/android/app/translation/BUILD.bazel @@ -80,6 +80,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/locale/testing:test_module", "//utility/src/main/java/org/oppia/android/util/locale/testing:test_oppia_bidi_formatter", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_util_module", @@ -124,6 +125,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/data:data_providers", "//utility/src/main/java/org/oppia/android/util/locale/testing:test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_util_module", diff --git a/app/src/test/java/org/oppia/android/app/utility/datetime/DateTimeUtilTest.kt b/app/src/test/java/org/oppia/android/app/utility/datetime/DateTimeUtilTest.kt index 95ba0d375ff..290447a698e 100644 --- a/app/src/test/java/org/oppia/android/app/utility/datetime/DateTimeUtilTest.kt +++ b/app/src/test/java/org/oppia/android/app/utility/datetime/DateTimeUtilTest.kt @@ -70,6 +70,7 @@ import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule import org.oppia.android.util.logging.EnableConsoleLog import org.oppia.android.util.logging.EnableFileLog +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.GlobalLogLevel import org.oppia.android.util.logging.LogLevel import org.oppia.android.util.logging.SyncStatusModule @@ -186,7 +187,8 @@ class DateTimeUtilTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/app/src/test/java/org/oppia/android/app/utility/math/BUILD.bazel b/app/src/test/java/org/oppia/android/app/utility/math/BUILD.bazel index 24a84596c68..0678f0fb9bd 100644 --- a/app/src/test/java/org/oppia/android/app/utility/math/BUILD.bazel +++ b/app/src/test/java/org/oppia/android/app/utility/math/BUILD.bazel @@ -44,6 +44,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/caching/testing:caching_test_module", "//utility/src/main/java/org/oppia/android/util/locale/testing:test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/math:math_expression_parser", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", diff --git a/app/src/test/java/org/oppia/android/app/utility/math/MathExpressionAccessibilityUtilTest.kt b/app/src/test/java/org/oppia/android/app/utility/math/MathExpressionAccessibilityUtilTest.kt index 293f8b0e94a..6b4ca0670ab 100644 --- a/app/src/test/java/org/oppia/android/app/utility/math/MathExpressionAccessibilityUtilTest.kt +++ b/app/src/test/java/org/oppia/android/app/utility/math/MathExpressionAccessibilityUtilTest.kt @@ -95,6 +95,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.testing.LocaleTestModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -1332,7 +1333,8 @@ class MathExpressionAccessibilityUtilTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/instrumentation/src/java/org/oppia/android/instrumentation/application/BUILD.bazel b/instrumentation/src/java/org/oppia/android/instrumentation/application/BUILD.bazel index 78c15038969..97be8252f41 100644 --- a/instrumentation/src/java/org/oppia/android/instrumentation/application/BUILD.bazel +++ b/instrumentation/src/java/org/oppia/android/instrumentation/application/BUILD.bazel @@ -26,6 +26,7 @@ kt_android_library( "//data/src/main/java/org/oppia/android/data/backends/gae:network_config_annotations", "//domain", "//utility", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", ], diff --git a/instrumentation/src/java/org/oppia/android/instrumentation/application/TestApplicationComponent.kt b/instrumentation/src/java/org/oppia/android/instrumentation/application/TestApplicationComponent.kt index 7a95bcc6990..10561cc538e 100644 --- a/instrumentation/src/java/org/oppia/android/instrumentation/application/TestApplicationComponent.kt +++ b/instrumentation/src/java/org/oppia/android/instrumentation/application/TestApplicationComponent.kt @@ -48,6 +48,7 @@ import org.oppia.android.util.accessibility.AccessibilityProdModule import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.CachingModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.DebugLogReportingModule @@ -98,7 +99,7 @@ import javax.inject.Singleton SyncStatusModule::class, NetworkConnectionDebugUtilModule::class, MetricLogSchedulerModule::class, PerformanceMetricsLoggerModule::class, PerformanceMetricsAssessorModule::class, PerformanceMetricsConfigurationsModule::class, - TestingBuildFlavorModule::class + TestingBuildFlavorModule::class, EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/scripts/assets/test_file_exemptions.textproto b/scripts/assets/test_file_exemptions.textproto index 8018118b950..336a15a6ba0 100644 --- a/scripts/assets/test_file_exemptions.textproto +++ b/scripts/assets/test_file_exemptions.textproto @@ -773,7 +773,9 @@ exempted_file_path: "utility/src/main/java/org/oppia/android/util/logging/Consol exempted_file_path: "utility/src/main/java/org/oppia/android/util/logging/ConsoleLoggerInjector.kt" exempted_file_path: "utility/src/main/java/org/oppia/android/util/logging/ConsoleLoggerInjectorProvider.kt" exempted_file_path: "utility/src/main/java/org/oppia/android/util/logging/EventLogger.kt" +exempted_file_path: "utility/src/main/java/org/oppia/android/util/logging/EventTypeToHumanReadableNameConverter.kt" exempted_file_path: "utility/src/main/java/org/oppia/android/util/logging/ExceptionLogger.kt" +exempted_file_path: "utility/src/main/java/org/oppia/android/util/logging/KenyaAlphaEventTypeToHumanReadableNameConverterImpl.kt" exempted_file_path: "utility/src/main/java/org/oppia/android/util/logging/LogLevel.kt" exempted_file_path: "utility/src/main/java/org/oppia/android/util/logging/LogUploader.kt" exempted_file_path: "utility/src/main/java/org/oppia/android/util/logging/LoggerModule.kt" diff --git a/testing/src/test/java/org/oppia/android/testing/junit/BUILD.bazel b/testing/src/test/java/org/oppia/android/testing/junit/BUILD.bazel index cde8eeeb69a..1b4bcc4dc08 100644 --- a/testing/src/test/java/org/oppia/android/testing/junit/BUILD.bazel +++ b/testing/src/test/java/org/oppia/android/testing/junit/BUILD.bazel @@ -53,6 +53,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/locale:prod_module", "//utility/src/main/java/org/oppia/android/util/locale/testing:test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_util_module", @@ -106,6 +107,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/locale:prod_module", "//utility/src/main/java/org/oppia/android/util/locale/testing:test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_util_module", @@ -160,6 +162,7 @@ oppia_android_test( "//utility/src/main/java/org/oppia/android/util/locale:prod_module", "//utility/src/main/java/org/oppia/android/util/locale/testing:test_module", "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", "//utility/src/main/java/org/oppia/android/util/logging/firebase:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_module", "//utility/src/main/java/org/oppia/android/util/networking:debug_util_module", diff --git a/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleCustomContextTest.kt b/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleCustomContextTest.kt index 0064df9d8cc..7185f15142e 100644 --- a/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleCustomContextTest.kt +++ b/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleCustomContextTest.kt @@ -67,6 +67,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -266,7 +267,8 @@ class InitializeDefaultLocaleRuleCustomContextTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleOmissionTest.kt b/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleOmissionTest.kt index 4eeb5333f5c..5f2910069a9 100644 --- a/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleOmissionTest.kt +++ b/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleOmissionTest.kt @@ -65,6 +65,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -142,7 +143,8 @@ class InitializeDefaultLocaleRuleOmissionTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleTest.kt b/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleTest.kt index 4cb60a9367a..4988c1218a1 100644 --- a/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleTest.kt +++ b/testing/src/test/java/org/oppia/android/testing/junit/InitializeDefaultLocaleRuleTest.kt @@ -68,6 +68,7 @@ import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule @@ -146,7 +147,8 @@ class InitializeDefaultLocaleRuleTest { NumericExpressionInputModule::class, AlgebraicExpressionInputModule::class, MathEquationInputModule::class, SplitScreenInteractionModule::class, LoggingIdentifierModule::class, ApplicationLifecycleModule::class, - SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class + SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : ApplicationComponent { diff --git a/utility/src/main/java/org/oppia/android/util/logging/BUILD.bazel b/utility/src/main/java/org/oppia/android/util/logging/BUILD.bazel index 77c82bb3bf7..fb741426478 100644 --- a/utility/src/main/java/org/oppia/android/util/logging/BUILD.bazel +++ b/utility/src/main/java/org/oppia/android/util/logging/BUILD.bazel @@ -65,10 +65,12 @@ kt_android_library( ], visibility = ["//:oppia_api_visibility"], deps = [ + ":event_type_to_human_readable_name_converter", "//model/src/main/proto:event_logger_java_proto_lite", "//model/src/main/proto:performance_metrics_event_logger_java_proto_lite", "//third_party:javax_inject_javax_inject", "//utility", + "//utility/src/main/java/org/oppia/android/util/extensions:context_extensions", ], ) @@ -99,6 +101,16 @@ kt_android_library( visibility = ["//:oppia_api_visibility"], ) +kt_android_library( + name = "event_type_to_human_readable_name_converter", + srcs = [ + "EventTypeToHumanReadableNameConverter.kt", + ], + deps = [ + "//model/src/main/proto:event_logger_java_proto_lite", + ], +) + kt_android_library( name = "prod_module", srcs = [ @@ -115,6 +127,32 @@ kt_android_library( ], ) +kt_android_library( + name = "standard_event_logging_configuration_module", + srcs = [ + "EventLoggingConfigurationModule.kt", + "StandardEventTypeToHumanReadableNameConverterImpl.kt", + ], + visibility = ["//:oppia_prod_module_visibility"], + deps = [ + ":dagger", + ":event_type_to_human_readable_name_converter", + ], +) + +kt_android_library( + name = "kenya_alpha_event_logging_configuration_module", + srcs = [ + "KenyaAlphaEventLoggingConfigurationModule.kt", + "KenyaAlphaEventTypeToHumanReadableNameConverterImpl.kt", + ], + visibility = ["//:oppia_prod_module_visibility"], + deps = [ + ":dagger", + ":event_type_to_human_readable_name_converter", + ], +) + kt_android_library( name = "log_uploader", srcs = [ diff --git a/utility/src/main/java/org/oppia/android/util/logging/EventBundleCreator.kt b/utility/src/main/java/org/oppia/android/util/logging/EventBundleCreator.kt index 3c2747e9ec9..bcc14836e73 100644 --- a/utility/src/main/java/org/oppia/android/util/logging/EventBundleCreator.kt +++ b/utility/src/main/java/org/oppia/android/util/logging/EventBundleCreator.kt @@ -1,5 +1,7 @@ package org.oppia.android.util.logging +import android.content.Context +import android.os.Build import android.os.Bundle import org.oppia.android.app.model.EventLog import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.ACCESS_HINT_CONTEXT @@ -39,6 +41,8 @@ import org.oppia.android.app.model.OppiaMetricLog.LoggableMetric.LoggableMetricT import org.oppia.android.app.model.OppiaMetricLog.LoggableMetric.LoggableMetricTypeCase.NETWORK_USAGE_METRIC import org.oppia.android.app.model.OppiaMetricLog.LoggableMetric.LoggableMetricTypeCase.STARTUP_LATENCY_METRIC import org.oppia.android.app.model.OppiaMetricLog.LoggableMetric.LoggableMetricTypeCase.STORAGE_USAGE_METRIC +import org.oppia.android.app.utility.getVersionCode +import org.oppia.android.app.utility.getVersionName import org.oppia.android.util.logging.EventBundleCreator.EventActivityContext.CardContext import org.oppia.android.util.logging.EventBundleCreator.EventActivityContext.ConceptCardContext import org.oppia.android.util.logging.EventBundleCreator.EventActivityContext.EmptyContext @@ -61,6 +65,7 @@ import org.oppia.android.util.logging.EventBundleCreator.PerformanceMetricsLogga import org.oppia.android.util.platformparameter.LearnerStudyAnalytics import org.oppia.android.util.platformparameter.PlatformParameterValue import javax.inject.Inject +import javax.inject.Singleton import org.oppia.android.app.model.EventLog.CardContext as CardEventContext import org.oppia.android.app.model.EventLog.ConceptCardContext as ConceptCardEventContext import org.oppia.android.app.model.EventLog.ExplorationContext as ExplorationEventContext @@ -88,9 +93,16 @@ private const val MAX_CHARACTERS_IN_PARAMETER_NAME = 40 * This class is only expected to be used by internal logging mechanisms and should not be called * directly. */ +@Singleton class EventBundleCreator @Inject constructor( + private val context: Context, + private val eventTypeNameConverter: EventTypeToHumanReadableNameConverter, @LearnerStudyAnalytics private val learnerStudyAnalytics: PlatformParameterValue ) { + private val androidSdkVersion by lazy { Build.VERSION.SDK_INT } + private val appVersionCode by lazy { context.getVersionCode() } + private val appVersionName by lazy { context.getVersionName() } + /** * Fills the specified [bundle] with a logging-ready representation of [eventLog] and returns a * string representation of the high-level type of event logged (per @@ -99,10 +111,14 @@ class EventBundleCreator @Inject constructor( fun fillEventBundle(eventLog: EventLog, bundle: Bundle): String { bundle.putLong("timestamp", eventLog.timestamp) bundle.putString("priority", eventLog.priority.toAnalyticsName()) - return eventLog.context.convertToActivityContext()?.also { eventContext -> + bundle.putInt("event_type", eventLog.context.activityContextCase.number) + bundle.putInt("android_sdk", androidSdkVersion) + bundle.putString("app_version_name", appVersionName) + bundle.putInt("app_version_code", appVersionCode) + return eventLog.context.convertToActivityContext().also { eventContext -> // Only allow user IDs to be logged when the learner study feature is enabled. eventContext.storeValue(PropertyStore(bundle, allowUserIds = learnerStudyAnalytics.value)) - }?.activityName ?: "unknown_activity_context" + }.activityName } /** @@ -124,48 +140,39 @@ class EventBundleCreator @Inject constructor( }?.metricName ?: "unknown_loggable_metric" } - private fun EventLog.Context.convertToActivityContext(): EventActivityContext<*>? { + private fun EventLog.Context.convertToActivityContext(): EventActivityContext<*> { + val activityName = eventTypeNameConverter.convertToHumanReadableName(activityContextCase) return when (activityContextCase) { - OPEN_EXPLORATION_ACTIVITY -> - ExplorationContext("open_exploration_activity", openExplorationActivity) - OPEN_INFO_TAB -> TopicContext("open_info_tab", openInfoTab) - OPEN_LESSONS_TAB -> TopicContext("open_lessons_tab", openLessonsTab) - OPEN_PRACTICE_TAB -> TopicContext("open_practice_tab", openPracticeTab) - OPEN_REVISION_TAB -> TopicContext("open_revision_tab", openRevisionTab) - OPEN_QUESTION_PLAYER -> QuestionContext("open_question_player", openQuestionPlayer) - OPEN_STORY_ACTIVITY -> StoryContext("open_story_activity", openStoryActivity) - OPEN_CONCEPT_CARD -> ConceptCardContext("open_concept_card", openConceptCard) - OPEN_REVISION_CARD -> RevisionCardContext("open_revision_card", openRevisionCard) - START_CARD_CONTEXT -> CardContext("start_card_context", startCardContext) - END_CARD_CONTEXT -> CardContext("end_card_context", endCardContext) - HINT_OFFERED_CONTEXT -> HintContext("hint_offered_context", hintOfferedContext) - ACCESS_HINT_CONTEXT -> HintContext("access_hint_context", accessHintContext) - SOLUTION_OFFERED_CONTEXT -> - ExplorationContext("solution_offered_context", solutionOfferedContext) - ACCESS_SOLUTION_CONTEXT -> - ExplorationContext("access_solution_context", accessSolutionContext) - SUBMIT_ANSWER_CONTEXT -> SubmitAnswerContext("submit_answer_context", submitAnswerContext) - PLAY_VOICE_OVER_CONTEXT -> - PlayVoiceOverContext("play_voice_over_context", playVoiceOverContext) - APP_IN_BACKGROUND_CONTEXT -> - LearnerDetailsContext("app_in_background_context", appInBackgroundContext) - APP_IN_FOREGROUND_CONTEXT -> - LearnerDetailsContext("app_in_foreground_context", appInForegroundContext) - EXIT_EXPLORATION_CONTEXT -> - ExplorationContext("exit_exploration_context", exitExplorationContext) - FINISH_EXPLORATION_CONTEXT -> - ExplorationContext("finish_exploration_context", finishExplorationContext) - RESUME_EXPLORATION_CONTEXT -> - LearnerDetailsContext("resume_exploration_context", resumeExplorationContext) + OPEN_EXPLORATION_ACTIVITY -> ExplorationContext(activityName, openExplorationActivity) + OPEN_INFO_TAB -> TopicContext(activityName, openInfoTab) + OPEN_LESSONS_TAB -> TopicContext(activityName, openLessonsTab) + OPEN_PRACTICE_TAB -> TopicContext(activityName, openPracticeTab) + OPEN_REVISION_TAB -> TopicContext(activityName, openRevisionTab) + OPEN_QUESTION_PLAYER -> QuestionContext(activityName, openQuestionPlayer) + OPEN_STORY_ACTIVITY -> StoryContext(activityName, openStoryActivity) + OPEN_CONCEPT_CARD -> ConceptCardContext(activityName, openConceptCard) + OPEN_REVISION_CARD -> RevisionCardContext(activityName, openRevisionCard) + START_CARD_CONTEXT -> CardContext(activityName, startCardContext) + END_CARD_CONTEXT -> CardContext(activityName, endCardContext) + HINT_OFFERED_CONTEXT -> HintContext(activityName, hintOfferedContext) + ACCESS_HINT_CONTEXT -> HintContext(activityName, accessHintContext) + SOLUTION_OFFERED_CONTEXT -> ExplorationContext(activityName, solutionOfferedContext) + ACCESS_SOLUTION_CONTEXT -> ExplorationContext(activityName, accessSolutionContext) + SUBMIT_ANSWER_CONTEXT -> SubmitAnswerContext(activityName, submitAnswerContext) + PLAY_VOICE_OVER_CONTEXT -> PlayVoiceOverContext(activityName, playVoiceOverContext) + APP_IN_BACKGROUND_CONTEXT -> LearnerDetailsContext(activityName, appInBackgroundContext) + APP_IN_FOREGROUND_CONTEXT -> LearnerDetailsContext(activityName, appInForegroundContext) + EXIT_EXPLORATION_CONTEXT -> ExplorationContext(activityName, exitExplorationContext) + FINISH_EXPLORATION_CONTEXT -> ExplorationContext(activityName, finishExplorationContext) + RESUME_EXPLORATION_CONTEXT -> LearnerDetailsContext(activityName, resumeExplorationContext) START_OVER_EXPLORATION_CONTEXT -> - LearnerDetailsContext("start_over_exploration_context", startOverExplorationContext) - DELETE_PROFILE_CONTEXT -> - LearnerDetailsContext("delete_profile_context", deleteProfileContext) - OPEN_HOME -> EmptyContext("open_home") - OPEN_PROFILE_CHOOSER -> EmptyContext("open_profile_chooser") + LearnerDetailsContext(activityName, startOverExplorationContext) + DELETE_PROFILE_CONTEXT -> LearnerDetailsContext(activityName, deleteProfileContext) + OPEN_HOME -> EmptyContext(activityName) + OPEN_PROFILE_CHOOSER -> EmptyContext(activityName) INSTALL_ID_FOR_FAILED_ANALYTICS_LOG -> - SensitiveStringContext("failed_analytics_log", installIdForFailedAnalyticsLog, "install_id") - ACTIVITYCONTEXT_NOT_SET, null -> null // No context to create here. + SensitiveStringContext(activityName, installIdForFailedAnalyticsLog, "install_id") + ACTIVITYCONTEXT_NOT_SET, null -> EmptyContext(activityName) // No context to create here. } } diff --git a/utility/src/main/java/org/oppia/android/util/logging/EventLoggingConfigurationModule.kt b/utility/src/main/java/org/oppia/android/util/logging/EventLoggingConfigurationModule.kt new file mode 100644 index 00000000000..57c88d8d2c9 --- /dev/null +++ b/utility/src/main/java/org/oppia/android/util/logging/EventLoggingConfigurationModule.kt @@ -0,0 +1,13 @@ +package org.oppia.android.util.logging + +import dagger.Binds +import dagger.Module + +/** Module to provide standard configurations for the event logging infrastructure. */ +@Module +interface EventLoggingConfigurationModule { + @Binds + fun bindStandardEventTypeToHumanReadableNameConverter( + impl: StandardEventTypeToHumanReadableNameConverterImpl + ): EventTypeToHumanReadableNameConverter +} diff --git a/utility/src/main/java/org/oppia/android/util/logging/EventTypeToHumanReadableNameConverter.kt b/utility/src/main/java/org/oppia/android/util/logging/EventTypeToHumanReadableNameConverter.kt new file mode 100644 index 00000000000..c6c3c849e40 --- /dev/null +++ b/utility/src/main/java/org/oppia/android/util/logging/EventTypeToHumanReadableNameConverter.kt @@ -0,0 +1,21 @@ +package org.oppia.android.util.logging + +import org.oppia.android.app.model.EventLog + +/** + * Converter for event types into loggable, human-readable names. + * + * Different builds of the app may leverage different implementations of this converter in order to + * customize the event names for querying purposes. + */ +interface EventTypeToHumanReadableNameConverter { + /** + * Returns a human-readable event name for the specified [eventType]. + * + * Note that the same name should always be returned for a given event type within the same + * version of the app (though the names can change across versions). The returned name should not + * contain any personal information nor any information tied to users; they should be constant + * regardless of the current logged in/created profile state of the app. + */ + fun convertToHumanReadableName(eventType: EventLog.Context.ActivityContextCase): String +} diff --git a/utility/src/main/java/org/oppia/android/util/logging/KenyaAlphaEventLoggingConfigurationModule.kt b/utility/src/main/java/org/oppia/android/util/logging/KenyaAlphaEventLoggingConfigurationModule.kt new file mode 100644 index 00000000000..447525e5488 --- /dev/null +++ b/utility/src/main/java/org/oppia/android/util/logging/KenyaAlphaEventLoggingConfigurationModule.kt @@ -0,0 +1,16 @@ +package org.oppia.android.util.logging + +import dagger.Binds +import dagger.Module + +/** + * Module to provide event logging infrastructure configurations specific to Kenya study alpha + * builds of the app. + */ +@Module +interface KenyaAlphaEventLoggingConfigurationModule { + @Binds + fun bindKenyaAlphaSpecificEventTypeToHumanReadableNameConverter( + impl: KenyaAlphaEventTypeToHumanReadableNameConverterImpl + ): EventTypeToHumanReadableNameConverter +} diff --git a/utility/src/main/java/org/oppia/android/util/logging/KenyaAlphaEventTypeToHumanReadableNameConverterImpl.kt b/utility/src/main/java/org/oppia/android/util/logging/KenyaAlphaEventTypeToHumanReadableNameConverterImpl.kt new file mode 100644 index 00000000000..d420258d726 --- /dev/null +++ b/utility/src/main/java/org/oppia/android/util/logging/KenyaAlphaEventTypeToHumanReadableNameConverterImpl.kt @@ -0,0 +1,48 @@ +package org.oppia.android.util.logging + +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase +import javax.inject.Inject + +// TODO(#4419): Remove this implementation and the extra piping for event name mapping. +/** + * Implementation of [EventTypeToHumanReadableNameConverter] which provides legacy event names for + * interoperability with previously logged data in the Kenya user study. + * + * The event names provided by this implementation are expected to never change as these names are + * the primary ways each corresponding event is identified in logged event queries. + */ +class KenyaAlphaEventTypeToHumanReadableNameConverterImpl @Inject constructor() : + EventTypeToHumanReadableNameConverter { + override fun convertToHumanReadableName(eventType: ActivityContextCase): String { + return when (eventType) { + ActivityContextCase.OPEN_EXPLORATION_ACTIVITY -> "open_exploration_activity" + ActivityContextCase.OPEN_INFO_TAB -> "open_info_tab" + ActivityContextCase.OPEN_LESSONS_TAB -> "open_lessons_tab" + ActivityContextCase.OPEN_PRACTICE_TAB -> "open_practice_tab" + ActivityContextCase.OPEN_REVISION_TAB -> "open_revision_tab" + ActivityContextCase.OPEN_QUESTION_PLAYER -> "open_question_player" + ActivityContextCase.OPEN_STORY_ACTIVITY -> "open_story_activity" + ActivityContextCase.OPEN_CONCEPT_CARD -> "open_concept_card" + ActivityContextCase.OPEN_REVISION_CARD -> "open_revision_card" + ActivityContextCase.START_CARD_CONTEXT -> "start_card_context" + ActivityContextCase.END_CARD_CONTEXT -> "end_card_context" + ActivityContextCase.HINT_OFFERED_CONTEXT -> "hint_offered_context" + ActivityContextCase.ACCESS_HINT_CONTEXT -> "access_hint_context" + ActivityContextCase.SOLUTION_OFFERED_CONTEXT -> "solution_offered_context" + ActivityContextCase.ACCESS_SOLUTION_CONTEXT -> "access_solution_context" + ActivityContextCase.SUBMIT_ANSWER_CONTEXT -> "submit_answer_context" + ActivityContextCase.PLAY_VOICE_OVER_CONTEXT -> "play_voice_over_context" + ActivityContextCase.APP_IN_BACKGROUND_CONTEXT -> "app_in_background_context" + ActivityContextCase.APP_IN_FOREGROUND_CONTEXT -> "app_in_foreground_context" + ActivityContextCase.EXIT_EXPLORATION_CONTEXT -> "exit_exploration_context" + ActivityContextCase.FINISH_EXPLORATION_CONTEXT -> "finish_exploration_context" + ActivityContextCase.RESUME_EXPLORATION_CONTEXT -> "resume_exploration_context" + ActivityContextCase.START_OVER_EXPLORATION_CONTEXT -> "start_over_exploration_context" + ActivityContextCase.DELETE_PROFILE_CONTEXT -> "delete_profile_context" + ActivityContextCase.OPEN_HOME -> "open_home" + ActivityContextCase.OPEN_PROFILE_CHOOSER -> "open_profile_chooser" + ActivityContextCase.INSTALL_ID_FOR_FAILED_ANALYTICS_LOG -> "failed_analytics_log" + ActivityContextCase.ACTIVITYCONTEXT_NOT_SET -> "unknown_activity_context" + } + } +} diff --git a/utility/src/main/java/org/oppia/android/util/logging/StandardEventTypeToHumanReadableNameConverterImpl.kt b/utility/src/main/java/org/oppia/android/util/logging/StandardEventTypeToHumanReadableNameConverterImpl.kt new file mode 100644 index 00000000000..3b3251bc852 --- /dev/null +++ b/utility/src/main/java/org/oppia/android/util/logging/StandardEventTypeToHumanReadableNameConverterImpl.kt @@ -0,0 +1,58 @@ +package org.oppia.android.util.logging + +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase +import javax.inject.Inject + +/** + * Implementation of [EventTypeToHumanReadableNameConverter] which provides well-named + * representations for each event type. + * + * The provided names may be changed over time as the broad standard for event names evolves with + * new and changed events. The general convention for event names is a second person singular + * conjugated action verb followed by the action, context, or both, that the user conducted that led + * to that event. Furthermore, efforts are taken to reduce referencing Android-specific terminology + * (e.g. 'screen' is used in place of 'activity'). + * + * Event names cannot exceed 40 characters, so care should be taken to ensure only the most + * important information is conveyed via the name. + * + * Finally, the provided event names are only meant to help simplify analyzing logged events. Since + * they can change, aggregation or dimensional slicing of events should occur by keying on the + * event's integral type rather than its name (as this type will remain fixed for the lifetime of a + * given event, unlike its name returned by this implementation). + */ +class StandardEventTypeToHumanReadableNameConverterImpl @Inject constructor() : + EventTypeToHumanReadableNameConverter { + override fun convertToHumanReadableName(eventType: ActivityContextCase): String { + return when (eventType) { + ActivityContextCase.OPEN_EXPLORATION_ACTIVITY -> "open_exploration_player_screen" + ActivityContextCase.OPEN_INFO_TAB -> "select_topic_info_tab" + ActivityContextCase.OPEN_LESSONS_TAB -> "select_topic_lessons_tab" + ActivityContextCase.OPEN_PRACTICE_TAB -> "select_topic_practice_tab" + ActivityContextCase.OPEN_REVISION_TAB -> "select_topic_revision_tab" + ActivityContextCase.OPEN_QUESTION_PLAYER -> "open_question_player_screen" + ActivityContextCase.OPEN_STORY_ACTIVITY -> "open_story_chapter_list_screen" + ActivityContextCase.OPEN_CONCEPT_CARD -> "open_concept_card" + ActivityContextCase.OPEN_REVISION_CARD -> "open_revision_card" + ActivityContextCase.START_CARD_CONTEXT -> "start_exploration_card" + ActivityContextCase.END_CARD_CONTEXT -> "end_exploration_card" + ActivityContextCase.HINT_OFFERED_CONTEXT -> "receive_hint_offer" + ActivityContextCase.ACCESS_HINT_CONTEXT -> "reveal_hint" + ActivityContextCase.SOLUTION_OFFERED_CONTEXT -> "receive_solution_offer" + ActivityContextCase.ACCESS_SOLUTION_CONTEXT -> "reveal_solution" + ActivityContextCase.SUBMIT_ANSWER_CONTEXT -> "submit_answer" + ActivityContextCase.PLAY_VOICE_OVER_CONTEXT -> "click_play_voiceover_button" + ActivityContextCase.APP_IN_BACKGROUND_CONTEXT -> "send_app_to_background" + ActivityContextCase.APP_IN_FOREGROUND_CONTEXT -> "bring_app_to_foreground" + ActivityContextCase.EXIT_EXPLORATION_CONTEXT -> "leave_exploration" + ActivityContextCase.FINISH_EXPLORATION_CONTEXT -> "complete_exploration" + ActivityContextCase.RESUME_EXPLORATION_CONTEXT -> "resume_in_progress_exploration" + ActivityContextCase.START_OVER_EXPLORATION_CONTEXT -> "restart_in_progress_exploration" + ActivityContextCase.DELETE_PROFILE_CONTEXT -> "delete_profile" + ActivityContextCase.OPEN_HOME -> "open_home_screen" + ActivityContextCase.OPEN_PROFILE_CHOOSER -> "open_profile_chooser_screen" + ActivityContextCase.INSTALL_ID_FOR_FAILED_ANALYTICS_LOG, + ActivityContextCase.ACTIVITYCONTEXT_NOT_SET -> "ERROR_internal_logging_failure" + } + } +} diff --git a/utility/src/main/java/org/oppia/android/util/logging/performancemetrics/BUILD.bazel b/utility/src/main/java/org/oppia/android/util/logging/performancemetrics/BUILD.bazel index 3e83fdcdb06..418b0023956 100644 --- a/utility/src/main/java/org/oppia/android/util/logging/performancemetrics/BUILD.bazel +++ b/utility/src/main/java/org/oppia/android/util/logging/performancemetrics/BUILD.bazel @@ -46,7 +46,7 @@ kt_android_library( srcs = [ "PerformanceMetricsAssessorImpl.kt", ], - visibility = ["//:oppia_api_visibility"], + visibility = ["//:oppia_testing_visibility"], deps = [ ":performance_metrics_assessor", ":performance_metrics_configurations_module", diff --git a/utility/src/test/java/org/oppia/android/util/logging/BUILD.bazel b/utility/src/test/java/org/oppia/android/util/logging/BUILD.bazel new file mode 100644 index 00000000000..b08d52bccaf --- /dev/null +++ b/utility/src/test/java/org/oppia/android/util/logging/BUILD.bazel @@ -0,0 +1,122 @@ +""" +Tests for logging utilities. +""" + +load("@dagger//:workspace_defs.bzl", "dagger_rules") +load("//:oppia_android_test.bzl", "oppia_android_test") + +oppia_android_test( + name = "EventBundleCreatorTest", + srcs = ["EventBundleCreatorTest.kt"], + custom_package = "org.oppia.android.util.logging", + test_class = "org.oppia.android.util.logging.EventBundleCreatorTest", + test_manifest = "//utility:test_manifest", + deps = [ + ":dagger", + "//testing", + "//third_party:androidx_test_ext_junit", + "//third_party:androidx_test_ext_truth", + "//third_party:com_google_truth_truth", + "//third_party:org_robolectric_robolectric", + "//third_party:robolectric_android-all", + "//utility/src/main/java/org/oppia/android/util/logging:event_bundle_creator", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", + ], +) + +oppia_android_test( + name = "EventLoggingConfigurationModuleTest", + srcs = ["EventLoggingConfigurationModuleTest.kt"], + custom_package = "org.oppia.android.util.logging", + test_class = "org.oppia.android.util.logging.EventLoggingConfigurationModuleTest", + test_manifest = "//utility:test_manifest", + deps = [ + ":dagger", + "//testing", + "//third_party:androidx_test_ext_junit", + "//third_party:androidx_test_ext_truth", + "//third_party:com_google_truth_truth", + "//third_party:org_robolectric_robolectric", + "//third_party:robolectric_android-all", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", + ], +) + +oppia_android_test( + name = "KenyaAlphaEventBundleCreatorTest", + srcs = ["KenyaAlphaEventBundleCreatorTest.kt"], + custom_package = "org.oppia.android.util.logging", + test_class = "org.oppia.android.util.logging.KenyaAlphaEventBundleCreatorTest", + test_manifest = "//utility:test_manifest", + deps = [ + ":dagger", + "//testing", + "//third_party:androidx_test_ext_junit", + "//third_party:androidx_test_ext_truth", + "//third_party:com_google_truth_truth", + "//third_party:org_robolectric_robolectric", + "//third_party:robolectric_android-all", + "//utility/src/main/java/org/oppia/android/util/logging:event_bundle_creator", + "//utility/src/main/java/org/oppia/android/util/logging:kenya_alpha_event_logging_configuration_module", + ], +) + +oppia_android_test( + name = "KenyaAlphaEventLoggingConfigurationModuleTest", + srcs = ["KenyaAlphaEventLoggingConfigurationModuleTest.kt"], + custom_package = "org.oppia.android.util.logging", + test_class = "org.oppia.android.util.logging.KenyaAlphaEventLoggingConfigurationModuleTest", + test_manifest = "//utility:test_manifest", + deps = [ + ":dagger", + "//testing", + "//third_party:androidx_test_ext_junit", + "//third_party:androidx_test_ext_truth", + "//third_party:com_google_truth_truth", + "//third_party:org_robolectric_robolectric", + "//third_party:robolectric_android-all", + "//utility/src/main/java/org/oppia/android/util/logging:kenya_alpha_event_logging_configuration_module", + ], +) + +oppia_android_test( + name = "StandardEventTypeToHumanReadableNameConverterImplTest", + srcs = ["StandardEventTypeToHumanReadableNameConverterImplTest.kt"], + custom_package = "org.oppia.android.util.logging", + test_class = "org.oppia.android.util.logging.StandardEventTypeToHumanReadableNameConverterImplTest", + test_manifest = "//utility:test_manifest", + deps = [ + ":dagger", + "//testing", + "//third_party:androidx_test_ext_junit", + "//third_party:com_google_truth_truth", + "//third_party:org_robolectric_robolectric", + "//third_party:robolectric_android-all", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", + ], +) + +oppia_android_test( + name = "SyncStatusManagerImplTest", + srcs = ["SyncStatusManagerImplTest.kt"], + custom_package = "org.oppia.android.util.logging", + test_class = "org.oppia.android.util.logging.SyncStatusManagerImplTest", + test_manifest = "//utility:test_manifest", + deps = [ + ":dagger", + "//testing", + "//testing/src/main/java/org/oppia/android/testing/data:data_provider_test_monitor", + "//testing/src/main/java/org/oppia/android/testing/robolectric:test_module", + "//testing/src/main/java/org/oppia/android/testing/threading:test_module", + "//testing/src/main/java/org/oppia/android/testing/time:test_module", + "//third_party:androidx_test_ext_junit", + "//third_party:com_google_truth_truth", + "//third_party:org_robolectric_robolectric", + "//third_party:robolectric_android-all", + "//utility/src/main/java/org/oppia/android/util/locale:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:prod_module", + "//utility/src/main/java/org/oppia/android/util/networking:debug_module", + ], +) + +dagger_rules() diff --git a/utility/src/test/java/org/oppia/android/util/logging/EventBundleCreatorTest.kt b/utility/src/test/java/org/oppia/android/util/logging/EventBundleCreatorTest.kt index f9067c27f4c..df24c319f90 100644 --- a/utility/src/test/java/org/oppia/android/util/logging/EventBundleCreatorTest.kt +++ b/utility/src/test/java/org/oppia/android/util/logging/EventBundleCreatorTest.kt @@ -4,6 +4,8 @@ import android.app.Application import android.content.Context import android.os.Bundle import androidx.test.core.app.ApplicationProvider +import androidx.test.core.content.pm.ApplicationInfoBuilder +import androidx.test.core.content.pm.PackageInfoBuilder import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.truth.os.BundleSubject.assertThat import com.google.common.truth.Truth.assertThat @@ -17,6 +19,34 @@ import org.junit.runner.RunWith import org.oppia.android.app.model.EventLog import org.oppia.android.app.model.EventLog.CardContext import org.oppia.android.app.model.EventLog.ConceptCardContext +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.ACCESS_HINT_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.ACCESS_SOLUTION_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.ACTIVITYCONTEXT_NOT_SET +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.APP_IN_BACKGROUND_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.APP_IN_FOREGROUND_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.DELETE_PROFILE_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.END_CARD_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.EXIT_EXPLORATION_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.FINISH_EXPLORATION_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.HINT_OFFERED_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.INSTALL_ID_FOR_FAILED_ANALYTICS_LOG +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_CONCEPT_CARD +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_EXPLORATION_ACTIVITY +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_HOME +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_INFO_TAB +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_LESSONS_TAB +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_PRACTICE_TAB +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_PROFILE_CHOOSER +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_QUESTION_PLAYER +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_REVISION_CARD +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_REVISION_TAB +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_STORY_ACTIVITY +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.PLAY_VOICE_OVER_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.RESUME_EXPLORATION_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.SOLUTION_OFFERED_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.START_CARD_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.START_OVER_EXPLORATION_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.SUBMIT_ANSWER_CONTEXT import org.oppia.android.app.model.EventLog.ExplorationContext import org.oppia.android.app.model.EventLog.HintContext import org.oppia.android.app.model.EventLog.LearnerDetailsContext @@ -48,12 +78,15 @@ import org.oppia.android.app.model.OppiaMetricLog.StorageTier.MEDIUM_STORAGE import org.oppia.android.util.platformparameter.LEARNER_STUDY_ANALYTICS_DEFAULT_VALUE import org.oppia.android.util.platformparameter.LearnerStudyAnalytics import org.oppia.android.util.platformparameter.PlatformParameterValue +import org.robolectric.Shadows import org.robolectric.annotation.Config import org.robolectric.annotation.LooperMode import javax.inject.Inject import javax.inject.Singleton import org.oppia.android.app.model.EventLog.Context.Builder as EventContextBuilder +private const val TEST_ANDROID_SDK_VERSION = 30 + /** * Tests for [EventBundleCreator]. * @@ -67,7 +100,10 @@ import org.oppia.android.app.model.EventLog.Context.Builder as EventContextBuild @Suppress("FunctionName") @RunWith(AndroidJUnit4::class) @LooperMode(LooperMode.Mode.PAUSED) -@Config(application = EventBundleCreatorTest.TestApplication::class) +@Config( + application = EventBundleCreatorTest.TestApplication::class, + sdk = [TEST_ANDROID_SDK_VERSION] +) class EventBundleCreatorTest { private companion object { private const val TEST_TIMESTAMP_1 = 1556094120000 @@ -91,6 +127,8 @@ class EventBundleCreatorTest { private const val TEST_IS_ANSWER_CORRECT = true private const val TEST_IS_ANSWER_CORRECT_STR = "true" private const val TEST_CONTENT_ID = "test_content_id" + private const val TEST_APP_VERSION_NAME = "oppia-android-test-0123456789" + private const val TEST_APP_VERSION_CODE = 125 private const val TEST_CPU_USAGE = Long.MAX_VALUE private const val TEST_APK_SIZE = Long.MAX_VALUE private const val TEST_STORAGE_USAGE = Long.MAX_VALUE @@ -99,8 +137,8 @@ class EventBundleCreatorTest { private const val TEST_MEMORY_USAGE = Long.MAX_VALUE } - @Inject - lateinit var eventBundleCreator: EventBundleCreator + @Inject lateinit var context: Context + @Inject lateinit var eventBundleCreator: EventBundleCreator @After fun tearDown() { @@ -114,10 +152,14 @@ class EventBundleCreatorTest { val typeName = eventBundleCreator.fillEventBundle(EventLog.getDefaultInstance(), bundle) - assertThat(typeName).isEqualTo("unknown_activity_context") - assertThat(bundle).hasSize(2) + assertThat(typeName).isEqualTo("ERROR_internal_logging_failure") + assertThat(bundle).hasSize(6) assertThat(bundle).longInt("timestamp").isEqualTo(0) assertThat(bundle).string("priority").isEqualTo("unspecified_priority") + assertThat(bundle).integer("event_type").isEqualTo(ACTIVITYCONTEXT_NOT_SET.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) } @Test @@ -148,10 +190,14 @@ class EventBundleCreatorTest { val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("unknown_activity_context") - assertThat(bundle).hasSize(2) + assertThat(typeName).isEqualTo("ERROR_internal_logging_failure") + assertThat(bundle).hasSize(6) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(ACTIVITYCONTEXT_NOT_SET.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) } @Test @@ -296,10 +342,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createOpenExplorationActivity()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("open_exploration_activity") - assertThat(bundle).hasSize(8) + assertThat(typeName).isEqualTo("open_exploration_player_screen") + assertThat(bundle).hasSize(12) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_EXPLORATION_ACTIVITY.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -316,10 +366,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createOpenExplorationActivity()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("open_exploration_activity") - assertThat(bundle).hasSize(10) + assertThat(typeName).isEqualTo("open_exploration_player_screen") + assertThat(bundle).hasSize(14) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_EXPLORATION_ACTIVITY.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -338,10 +392,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createOpenInfoTab()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("open_info_tab") - assertThat(bundle).hasSize(3) + assertThat(typeName).isEqualTo("select_topic_info_tab") + assertThat(bundle).hasSize(7) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_INFO_TAB.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) } @@ -353,10 +411,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createOpenLessonsTab()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("open_lessons_tab") - assertThat(bundle).hasSize(3) + assertThat(typeName).isEqualTo("select_topic_lessons_tab") + assertThat(bundle).hasSize(7) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_LESSONS_TAB.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) } @@ -513,10 +575,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createOpenPracticeTab()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("open_practice_tab") - assertThat(bundle).hasSize(3) + assertThat(typeName).isEqualTo("select_topic_practice_tab") + assertThat(bundle).hasSize(7) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_PRACTICE_TAB.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) } @@ -528,10 +594,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createOpenRevisionTab()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("open_revision_tab") - assertThat(bundle).hasSize(3) + assertThat(typeName).isEqualTo("select_topic_revision_tab") + assertThat(bundle).hasSize(7) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_REVISION_TAB.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) } @@ -543,10 +613,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createOpenQuestionPlayer()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("open_question_player") - assertThat(bundle).hasSize(4) + assertThat(typeName).isEqualTo("open_question_player_screen") + assertThat(bundle).hasSize(8) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_QUESTION_PLAYER.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("question_id").isEqualTo(TEST_QUESTION_ID) assertThat(bundle).string("skill_ids").isEqualTo("$TEST_SKILL_ID_1,$TEST_SKILL_ID_2") } @@ -559,10 +633,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createOpenStoryActivity()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("open_story_activity") - assertThat(bundle).hasSize(4) + assertThat(typeName).isEqualTo("open_story_chapter_list_screen") + assertThat(bundle).hasSize(8) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_STORY_ACTIVITY.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) } @@ -576,9 +654,13 @@ class EventBundleCreatorTest { val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) assertThat(typeName).isEqualTo("open_concept_card") - assertThat(bundle).hasSize(3) + assertThat(bundle).hasSize(7) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_CONCEPT_CARD.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("skill_id").isEqualTo(TEST_SKILL_ID_1) } @@ -591,9 +673,13 @@ class EventBundleCreatorTest { val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) assertThat(typeName).isEqualTo("open_revision_card") - assertThat(bundle).hasSize(4) + assertThat(bundle).hasSize(8) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_REVISION_CARD.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("subtopic_index").isEqualTo(TEST_SUB_TOPIC_INDEX_STR) } @@ -606,10 +692,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createStartCardContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("start_card_context") - assertThat(bundle).hasSize(9) + assertThat(typeName).isEqualTo("start_exploration_card") + assertThat(bundle).hasSize(13) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(START_CARD_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -627,10 +717,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createStartCardContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("start_card_context") - assertThat(bundle).hasSize(11) + assertThat(typeName).isEqualTo("start_exploration_card") + assertThat(bundle).hasSize(15) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(START_CARD_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -650,10 +744,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createEndCardContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("end_card_context") - assertThat(bundle).hasSize(9) + assertThat(typeName).isEqualTo("end_exploration_card") + assertThat(bundle).hasSize(13) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(END_CARD_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -671,10 +769,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createEndCardContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("end_card_context") - assertThat(bundle).hasSize(11) + assertThat(typeName).isEqualTo("end_exploration_card") + assertThat(bundle).hasSize(15) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(END_CARD_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -694,10 +796,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createHintOfferedContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("hint_offered_context") - assertThat(bundle).hasSize(9) + assertThat(typeName).isEqualTo("receive_hint_offer") + assertThat(bundle).hasSize(13) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(HINT_OFFERED_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -715,10 +821,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createHintOfferedContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("hint_offered_context") - assertThat(bundle).hasSize(11) + assertThat(typeName).isEqualTo("receive_hint_offer") + assertThat(bundle).hasSize(15) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(HINT_OFFERED_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -738,10 +848,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createAccessHintContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("access_hint_context") - assertThat(bundle).hasSize(9) + assertThat(typeName).isEqualTo("reveal_hint") + assertThat(bundle).hasSize(13) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(ACCESS_HINT_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -759,10 +873,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createAccessHintContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("access_hint_context") - assertThat(bundle).hasSize(11) + assertThat(typeName).isEqualTo("reveal_hint") + assertThat(bundle).hasSize(15) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(ACCESS_HINT_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -782,10 +900,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createSolutionOfferedContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("solution_offered_context") - assertThat(bundle).hasSize(8) + assertThat(typeName).isEqualTo("receive_solution_offer") + assertThat(bundle).hasSize(12) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(SOLUTION_OFFERED_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -802,10 +924,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createSolutionOfferedContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("solution_offered_context") - assertThat(bundle).hasSize(10) + assertThat(typeName).isEqualTo("receive_solution_offer") + assertThat(bundle).hasSize(14) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(SOLUTION_OFFERED_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -824,10 +950,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createAccessSolutionContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("access_solution_context") - assertThat(bundle).hasSize(8) + assertThat(typeName).isEqualTo("reveal_solution") + assertThat(bundle).hasSize(12) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(ACCESS_SOLUTION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -844,10 +974,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createAccessSolutionContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("access_solution_context") - assertThat(bundle).hasSize(10) + assertThat(typeName).isEqualTo("reveal_solution") + assertThat(bundle).hasSize(14) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(ACCESS_SOLUTION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -866,10 +1000,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createSubmitAnswerContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("submit_answer_context") - assertThat(bundle).hasSize(10) + assertThat(typeName).isEqualTo("submit_answer") + assertThat(bundle).hasSize(14) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(SUBMIT_ANSWER_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -888,10 +1026,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createSubmitAnswerContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("submit_answer_context") - assertThat(bundle).hasSize(12) + assertThat(typeName).isEqualTo("submit_answer") + assertThat(bundle).hasSize(16) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(SUBMIT_ANSWER_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -912,10 +1054,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createPlayVoiceOverContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("play_voice_over_context") - assertThat(bundle).hasSize(9) + assertThat(typeName).isEqualTo("click_play_voiceover_button") + assertThat(bundle).hasSize(13) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(PLAY_VOICE_OVER_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -933,10 +1079,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createPlayVoiceOverContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("play_voice_over_context") - assertThat(bundle).hasSize(11) + assertThat(typeName).isEqualTo("click_play_voiceover_button") + assertThat(bundle).hasSize(15) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(PLAY_VOICE_OVER_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -956,10 +1106,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createAppInBackgroundContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("app_in_background_context") - assertThat(bundle).hasSize(2) + assertThat(typeName).isEqualTo("send_app_to_background") + assertThat(bundle).hasSize(6) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(APP_IN_BACKGROUND_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) } @Test @@ -970,10 +1124,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createAppInBackgroundContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("app_in_background_context") - assertThat(bundle).hasSize(4) + assertThat(typeName).isEqualTo("send_app_to_background") + assertThat(bundle).hasSize(8) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(APP_IN_BACKGROUND_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("learner_id").isEqualTo(TEST_LEARNER_ID) assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) } @@ -986,10 +1144,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createAppInForegroundContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("app_in_foreground_context") - assertThat(bundle).hasSize(2) + assertThat(typeName).isEqualTo("bring_app_to_foreground") + assertThat(bundle).hasSize(6) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(APP_IN_FOREGROUND_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) } @Test @@ -1000,10 +1162,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createAppInForegroundContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("app_in_foreground_context") - assertThat(bundle).hasSize(4) + assertThat(typeName).isEqualTo("bring_app_to_foreground") + assertThat(bundle).hasSize(8) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(APP_IN_FOREGROUND_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("learner_id").isEqualTo(TEST_LEARNER_ID) assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) } @@ -1016,10 +1182,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createExitExplorationContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("exit_exploration_context") - assertThat(bundle).hasSize(8) + assertThat(typeName).isEqualTo("leave_exploration") + assertThat(bundle).hasSize(12) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(EXIT_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -1036,10 +1206,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createExitExplorationContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("exit_exploration_context") - assertThat(bundle).hasSize(10) + assertThat(typeName).isEqualTo("leave_exploration") + assertThat(bundle).hasSize(14) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(EXIT_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -1058,10 +1232,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createFinishExplorationContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("finish_exploration_context") - assertThat(bundle).hasSize(8) + assertThat(typeName).isEqualTo("complete_exploration") + assertThat(bundle).hasSize(12) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(FINISH_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -1078,10 +1256,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createFinishExplorationContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("finish_exploration_context") - assertThat(bundle).hasSize(10) + assertThat(typeName).isEqualTo("complete_exploration") + assertThat(bundle).hasSize(14) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(FINISH_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) @@ -1100,10 +1282,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createResumeExplorationContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("resume_exploration_context") - assertThat(bundle).hasSize(2) + assertThat(typeName).isEqualTo("resume_in_progress_exploration") + assertThat(bundle).hasSize(6) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(RESUME_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) } @Test @@ -1114,10 +1300,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createResumeExplorationContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("resume_exploration_context") - assertThat(bundle).hasSize(4) + assertThat(typeName).isEqualTo("resume_in_progress_exploration") + assertThat(bundle).hasSize(8) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(RESUME_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("learner_id").isEqualTo(TEST_LEARNER_ID) assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) } @@ -1130,10 +1320,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createStartOverExplorationContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("start_over_exploration_context") - assertThat(bundle).hasSize(2) + assertThat(typeName).isEqualTo("restart_in_progress_exploration") + assertThat(bundle).hasSize(6) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(START_OVER_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) } @Test @@ -1144,10 +1338,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createStartOverExplorationContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("start_over_exploration_context") - assertThat(bundle).hasSize(4) + assertThat(typeName).isEqualTo("restart_in_progress_exploration") + assertThat(bundle).hasSize(8) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(START_OVER_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("learner_id").isEqualTo(TEST_LEARNER_ID) assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) } @@ -1160,10 +1358,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createDeleteProfileContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("delete_profile_context") - assertThat(bundle).hasSize(2) + assertThat(typeName).isEqualTo("delete_profile") + assertThat(bundle).hasSize(6) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(DELETE_PROFILE_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) } @Test @@ -1174,10 +1376,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createDeleteProfileContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("delete_profile_context") - assertThat(bundle).hasSize(4) + assertThat(typeName).isEqualTo("delete_profile") + assertThat(bundle).hasSize(8) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(DELETE_PROFILE_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("learner_id").isEqualTo(TEST_LEARNER_ID) assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) } @@ -1190,10 +1396,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createOpenHomeContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("open_home") - assertThat(bundle).hasSize(2) + assertThat(typeName).isEqualTo("open_home_screen") + assertThat(bundle).hasSize(6) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_HOME.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) } @Test @@ -1204,10 +1414,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createOpenProfileChooserContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("open_profile_chooser") - assertThat(bundle).hasSize(2) + assertThat(typeName).isEqualTo("open_profile_chooser_screen") + assertThat(bundle).hasSize(6) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_PROFILE_CHOOSER.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) } @Test @@ -1218,10 +1432,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createInstallationIdForFailedAnalyticsLogContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("failed_analytics_log") - assertThat(bundle).hasSize(2) + assertThat(typeName).isEqualTo("ERROR_internal_logging_failure") + assertThat(bundle).hasSize(6) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(INSTALL_ID_FOR_FAILED_ANALYTICS_LOG.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) } @Test @@ -1232,10 +1450,14 @@ class EventBundleCreatorTest { val eventLog = createEventLog(context = createInstallationIdForFailedAnalyticsLogContext()) val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) - assertThat(typeName).isEqualTo("failed_analytics_log") - assertThat(bundle).hasSize(3) + assertThat(typeName).isEqualTo("ERROR_internal_logging_failure") + assertThat(bundle).hasSize(7) assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(INSTALL_ID_FOR_FAILED_ANALYTICS_LOG.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) } @@ -1458,6 +1680,22 @@ class EventBundleCreatorTest { this.contentId = contentId }.build() + private fun registerTestApplication() { + val packageManager = Shadows.shadowOf(context.packageManager) + val applicationInfo = + ApplicationInfoBuilder.newBuilder() + .setPackageName(context.packageName) + .build() + val packageInfo = + PackageInfoBuilder.newBuilder() + .setPackageName(context.packageName) + .setApplicationInfo(applicationInfo) + .build() + packageInfo.versionName = TEST_APP_VERSION_NAME + packageInfo.versionCode = TEST_APP_VERSION_CODE + packageManager.installPackage(packageInfo) + } + private fun createApkSizeLoggableMetric() = OppiaMetricLog.LoggableMetric.newBuilder() .setApkSizeMetric( OppiaMetricLog.ApkSizeMetric.newBuilder() @@ -1502,6 +1740,7 @@ class EventBundleCreatorTest { ).build() private fun setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() { + TestModule.enableLearnerStudyAnalytics = false setUpTestApplicationComponent() } @@ -1512,6 +1751,7 @@ class EventBundleCreatorTest { private fun setUpTestApplicationComponent() { ApplicationProvider.getApplicationContext().inject(this) + registerTestApplication() } // TODO(#89): Move this to a common test application component. @@ -1545,7 +1785,7 @@ class EventBundleCreatorTest { // TODO(#89): Move this to a common test application component. @Singleton - @Component(modules = [TestModule::class]) + @Component(modules = [TestModule::class, EventLoggingConfigurationModule::class]) interface TestApplicationComponent { @Component.Builder interface Builder { diff --git a/utility/src/test/java/org/oppia/android/util/logging/EventLoggingConfigurationModuleTest.kt b/utility/src/test/java/org/oppia/android/util/logging/EventLoggingConfigurationModuleTest.kt new file mode 100644 index 00000000000..4bd1ea8e445 --- /dev/null +++ b/utility/src/test/java/org/oppia/android/util/logging/EventLoggingConfigurationModuleTest.kt @@ -0,0 +1,70 @@ +package org.oppia.android.util.logging + +import android.app.Application +import android.content.Context +import androidx.test.core.app.ApplicationProvider +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.google.common.truth.Truth.assertThat +import dagger.BindsInstance +import dagger.Component +import dagger.Module +import dagger.Provides +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.annotation.Config +import org.robolectric.annotation.LooperMode +import javax.inject.Inject +import javax.inject.Singleton + +/** Tests for [EventLoggingConfigurationModule]. */ +// FunctionName: test names are conventionally named with underscores. +@Suppress("FunctionName") +@RunWith(AndroidJUnit4::class) +@LooperMode(LooperMode.Mode.PAUSED) +@Config(manifest = Config.NONE) +class EventLoggingConfigurationModuleTest { + @Inject lateinit var eventTypeToHumanReadableNameConverter: EventTypeToHumanReadableNameConverter + + @Before + fun setUp() { + setUpTestApplicationComponent() + } + + @Test + fun testModule_injectedEventTypeToHumanReadableNameConverter_isStandardImplementation() { + assertThat(eventTypeToHumanReadableNameConverter) + .isInstanceOf(StandardEventTypeToHumanReadableNameConverterImpl::class.java) + } + + private fun setUpTestApplicationComponent() { + DaggerEventLoggingConfigurationModuleTest_TestApplicationComponent + .builder() + .setApplication(ApplicationProvider.getApplicationContext()).build().inject(this) + } + + // TODO(#89): Move this to a common test application component. + @Module + class TestModule { + @Provides + @Singleton + fun provideContext(application: Application): Context { + return application + } + } + + // TODO(#89): Move this to a common test application component. + @Singleton + @Component(modules = [EventLoggingConfigurationModule::class]) + interface TestApplicationComponent { + @Component.Builder + interface Builder { + @BindsInstance + fun setApplication(application: Application): Builder + + fun build(): TestApplicationComponent + } + + fun inject(test: EventLoggingConfigurationModuleTest) + } +} diff --git a/utility/src/test/java/org/oppia/android/util/logging/KenyaAlphaEventBundleCreatorTest.kt b/utility/src/test/java/org/oppia/android/util/logging/KenyaAlphaEventBundleCreatorTest.kt new file mode 100644 index 00000000000..7f8b6f0225d --- /dev/null +++ b/utility/src/test/java/org/oppia/android/util/logging/KenyaAlphaEventBundleCreatorTest.kt @@ -0,0 +1,1445 @@ +package org.oppia.android.util.logging + +import android.app.Application +import android.content.Context +import android.os.Bundle +import androidx.test.core.app.ApplicationProvider +import androidx.test.core.content.pm.ApplicationInfoBuilder +import androidx.test.core.content.pm.PackageInfoBuilder +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.ext.truth.os.BundleSubject.assertThat +import com.google.common.truth.Truth.assertThat +import dagger.BindsInstance +import dagger.Component +import dagger.Module +import dagger.Provides +import org.junit.After +import org.junit.Test +import org.junit.runner.RunWith +import org.oppia.android.app.model.EventLog +import org.oppia.android.app.model.EventLog.CardContext +import org.oppia.android.app.model.EventLog.ConceptCardContext +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.ACCESS_HINT_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.ACCESS_SOLUTION_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.ACTIVITYCONTEXT_NOT_SET +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.APP_IN_BACKGROUND_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.APP_IN_FOREGROUND_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.DELETE_PROFILE_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.END_CARD_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.EXIT_EXPLORATION_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.FINISH_EXPLORATION_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.HINT_OFFERED_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.INSTALL_ID_FOR_FAILED_ANALYTICS_LOG +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_CONCEPT_CARD +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_EXPLORATION_ACTIVITY +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_HOME +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_INFO_TAB +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_LESSONS_TAB +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_PRACTICE_TAB +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_PROFILE_CHOOSER +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_QUESTION_PLAYER +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_REVISION_CARD +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_REVISION_TAB +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.OPEN_STORY_ACTIVITY +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.PLAY_VOICE_OVER_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.RESUME_EXPLORATION_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.SOLUTION_OFFERED_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.START_CARD_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.START_OVER_EXPLORATION_CONTEXT +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase.SUBMIT_ANSWER_CONTEXT +import org.oppia.android.app.model.EventLog.ExplorationContext +import org.oppia.android.app.model.EventLog.HintContext +import org.oppia.android.app.model.EventLog.LearnerDetailsContext +import org.oppia.android.app.model.EventLog.PlayVoiceOverContext +import org.oppia.android.app.model.EventLog.Priority.ESSENTIAL +import org.oppia.android.app.model.EventLog.Priority.OPTIONAL +import org.oppia.android.app.model.EventLog.QuestionContext +import org.oppia.android.app.model.EventLog.RevisionCardContext +import org.oppia.android.app.model.EventLog.StoryContext +import org.oppia.android.app.model.EventLog.SubmitAnswerContext +import org.oppia.android.app.model.EventLog.TopicContext +import org.oppia.android.util.platformparameter.LEARNER_STUDY_ANALYTICS_DEFAULT_VALUE +import org.oppia.android.util.platformparameter.LearnerStudyAnalytics +import org.oppia.android.util.platformparameter.PlatformParameterValue +import org.robolectric.Shadows +import org.robolectric.annotation.Config +import org.robolectric.annotation.LooperMode +import javax.inject.Inject +import javax.inject.Singleton +import org.oppia.android.app.model.EventLog.Context.Builder as EventContextBuilder + +private const val TEST_ANDROID_SDK_VERSION = 30 + +// TODO(#4419): Remove this test suite post-Kenya user study. +/** + * Variant of [EventBundleCreatorTest] but for testing behaviors specific to alpha builds of the app + * intended for users in the Kenya user study. + */ +// FunctionName: test names are conventionally named with underscores. +@Suppress("FunctionName") +@RunWith(AndroidJUnit4::class) +@LooperMode(LooperMode.Mode.PAUSED) +@Config( + application = KenyaAlphaEventBundleCreatorTest.TestApplication::class, + sdk = [TEST_ANDROID_SDK_VERSION] +) +class KenyaAlphaEventBundleCreatorTest { + private companion object { + private const val TEST_TIMESTAMP_1 = 1556094120000 + private const val TEST_TIMESTAMP_2 = 1234567898765 + private const val TEST_TOPIC_ID = "test_topic_id" + private const val TEST_STORY_ID = "test_story_id" + private const val TEST_EXPLORATION_ID = "test_exploration_id" + private const val TEST_QUESTION_ID = "test_question_id" + private const val TEST_SKILL_ID_1 = "test_skill_id_1" + private const val TEST_SKILL_ID_2 = "test_skill_id_2" + private const val TEST_SUB_TOPIC_INDEX = 1 + private const val TEST_SUB_TOPIC_INDEX_STR = "1" + private const val TEST_LEARNER_ID = "test_ed_ld_learner_id" + private const val TEST_INSTALLATION_ID = "test_installation_id" + private const val TEST_LEARNER_SESSION_ID = "test_session_id" + private const val TEST_EXPLORATION_VERSION = 5 + private const val TEST_EXPLORATION_VERSION_STR = "5" + private const val TEST_STATE_NAME = "test_state_name" + private const val TEST_HINT_INDEX = 1 + private const val TEST_HINT_INDEX_STR = "1" + private const val TEST_IS_ANSWER_CORRECT = true + private const val TEST_IS_ANSWER_CORRECT_STR = "true" + private const val TEST_CONTENT_ID = "test_content_id" + private const val TEST_APP_VERSION_NAME = "oppia-android-test-0123456789" + private const val TEST_APP_VERSION_CODE = 125 + } + + @Inject lateinit var context: Context + @Inject lateinit var eventBundleCreator: EventBundleCreator + + @After + fun tearDown() { + TestModule.enableLearnerStudyAnalytics = LEARNER_STUDY_ANALYTICS_DEFAULT_VALUE + } + + @Test + fun testFillEventBundle_defaultEvent_defaultsBundleAndReturnsUnknownActivityContext() { + setUpTestApplicationComponent() + val bundle = Bundle() + + val typeName = eventBundleCreator.fillEventBundle(EventLog.getDefaultInstance(), bundle) + + assertThat(typeName).isEqualTo("unknown_activity_context") + assertThat(bundle).hasSize(6) + assertThat(bundle).longInt("timestamp").isEqualTo(0) + assertThat(bundle).string("priority").isEqualTo("unspecified_priority") + assertThat(bundle).integer("event_type").isEqualTo(ACTIVITYCONTEXT_NOT_SET.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + } + + @Test + fun testFillEventBundle_eventWithDefaultedContext_fillsPriorityAndTimeAndRetsUnknownContext() { + setUpTestApplicationComponent() + val bundle = Bundle() + val eventLog = createEventLog(timestamp = TEST_TIMESTAMP_1, priority = ESSENTIAL) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + + assertThat(typeName).isEqualTo("unknown_activity_context") + assertThat(bundle).hasSize(6) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(ACTIVITYCONTEXT_NOT_SET.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + } + + @Test + fun testFillEventBundle_eventWithDifferentTimestamp_savesDifferentTimestampInBundle() { + setUpTestApplicationComponent() + val bundle = Bundle() + val eventLog = createEventLog(timestamp = TEST_TIMESTAMP_2) + + eventBundleCreator.fillEventBundle(eventLog, bundle) + + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_2) + } + + @Test + fun testFillEventBundle_eventWithDifferentPriority_savesDifferentPriorityInBundle() { + setUpTestApplicationComponent() + val bundle = Bundle() + val eventLog = createEventLog(priority = OPTIONAL) + + eventBundleCreator.fillEventBundle(eventLog, bundle) + + assertThat(bundle).string("priority").isEqualTo("optional") + } + + @Test + fun testFillEventBundle_openExpActivityEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenExplorationActivity()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_exploration_activity") + assertThat(bundle).hasSize(12) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_EXPLORATION_ACTIVITY.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("state_name").isEqualTo(TEST_STATE_NAME) + } + + @Test + fun testFillEventBundle_openExpActivityEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenExplorationActivity()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_exploration_activity") + assertThat(bundle).hasSize(14) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_EXPLORATION_ACTIVITY.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("ld_learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("ld_install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_openInfoTabContextEvent_fillsAllFieldsInBundleAndReturnsName() { + setUpTestApplicationComponent() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenInfoTab()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_info_tab") + assertThat(bundle).hasSize(7) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_INFO_TAB.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + } + + @Test + fun testFillEventBundle_openLessonsTabContextEvent_fillsAllFieldsInBundleAndReturnsName() { + setUpTestApplicationComponent() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenLessonsTab()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_lessons_tab") + assertThat(bundle).hasSize(7) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_LESSONS_TAB.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + } + + @Test + fun testFillEventBundle_openPracticeTabContextEvent_fillsAllFieldsInBundleAndReturnsName() { + setUpTestApplicationComponent() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenPracticeTab()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_practice_tab") + assertThat(bundle).hasSize(7) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_PRACTICE_TAB.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + } + + @Test + fun testFillEventBundle_openRevisionTabContextEvent_fillsAllFieldsInBundleAndReturnsName() { + setUpTestApplicationComponent() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenRevisionTab()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_revision_tab") + assertThat(bundle).hasSize(7) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_REVISION_TAB.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + } + + @Test + fun testFillEventBundle_openQuestionPlayerContextEvent_fillsAllFieldsInBundleAndReturnsName() { + setUpTestApplicationComponent() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenQuestionPlayer()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_question_player") + assertThat(bundle).hasSize(8) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_QUESTION_PLAYER.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("question_id").isEqualTo(TEST_QUESTION_ID) + assertThat(bundle).string("skill_ids").isEqualTo("$TEST_SKILL_ID_1,$TEST_SKILL_ID_2") + } + + @Test + fun testFillEventBundle_openStoryActivityContextEvent_fillsAllFieldsInBundleAndReturnsName() { + setUpTestApplicationComponent() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenStoryActivity()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_story_activity") + assertThat(bundle).hasSize(8) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_STORY_ACTIVITY.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) + } + + @Test + fun testFillEventBundle_openConceptCardContextEvent_fillsAllFieldsInBundleAndReturnsName() { + setUpTestApplicationComponent() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenConceptCard()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_concept_card") + assertThat(bundle).hasSize(7) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_CONCEPT_CARD.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("skill_id").isEqualTo(TEST_SKILL_ID_1) + } + + @Test + fun testFillEventBundle_openRevisionCardContextEvent_fillsAllFieldsInBundleAndReturnsName() { + setUpTestApplicationComponent() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenRevisionCard()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_revision_card") + assertThat(bundle).hasSize(8) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_REVISION_CARD.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("subtopic_index").isEqualTo(TEST_SUB_TOPIC_INDEX_STR) + } + + @Test + fun testFillEventBundle_startCardContextEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createStartCardContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("start_card_context") + assertThat(bundle).hasSize(13) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(START_CARD_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("skill_id").isEqualTo(TEST_SKILL_ID_1) + } + + @Test + fun testFillEventBundle_startCardContextEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createStartCardContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("start_card_context") + assertThat(bundle).hasSize(15) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(START_CARD_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("skill_id").isEqualTo(TEST_SKILL_ID_1) + assertThat(bundle).string("ed_ld_learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("ed_ld_install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_endCardContextEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createEndCardContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("end_card_context") + assertThat(bundle).hasSize(13) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(END_CARD_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("skill_id").isEqualTo(TEST_SKILL_ID_1) + } + + @Test + fun testFillEventBundle_endCardContextEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createEndCardContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("end_card_context") + assertThat(bundle).hasSize(15) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(END_CARD_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("skill_id").isEqualTo(TEST_SKILL_ID_1) + assertThat(bundle).string("ed_ld_learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("ed_ld_install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_hintOfferedEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createHintOfferedContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("hint_offered_context") + assertThat(bundle).hasSize(13) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(HINT_OFFERED_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("hint_index").isEqualTo(TEST_HINT_INDEX_STR) + } + + @Test + fun testFillEventBundle_hintOfferedEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createHintOfferedContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("hint_offered_context") + assertThat(bundle).hasSize(15) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(HINT_OFFERED_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("hint_index").isEqualTo(TEST_HINT_INDEX_STR) + assertThat(bundle).string("ed_ld_learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("ed_ld_install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_accessHintContextEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createAccessHintContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("access_hint_context") + assertThat(bundle).hasSize(13) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(ACCESS_HINT_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("hint_index").isEqualTo(TEST_HINT_INDEX_STR) + } + + @Test + fun testFillEventBundle_accessHintContextEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createAccessHintContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("access_hint_context") + assertThat(bundle).hasSize(15) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(ACCESS_HINT_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("hint_index").isEqualTo(TEST_HINT_INDEX_STR) + assertThat(bundle).string("ed_ld_learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("ed_ld_install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_solutionOfferedEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createSolutionOfferedContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("solution_offered_context") + assertThat(bundle).hasSize(12) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(SOLUTION_OFFERED_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("state_name").isEqualTo(TEST_STATE_NAME) + } + + @Test + fun testFillEventBundle_solutionOfferedEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createSolutionOfferedContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("solution_offered_context") + assertThat(bundle).hasSize(14) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(SOLUTION_OFFERED_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("ld_learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("ld_install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_accessSolutionEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createAccessSolutionContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("access_solution_context") + assertThat(bundle).hasSize(12) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(ACCESS_SOLUTION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("state_name").isEqualTo(TEST_STATE_NAME) + } + + @Test + fun testFillEventBundle_accessSolutionEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createAccessSolutionContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("access_solution_context") + assertThat(bundle).hasSize(14) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(ACCESS_SOLUTION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("ld_learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("ld_install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_submitAnswerEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createSubmitAnswerContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("submit_answer_context") + assertThat(bundle).hasSize(14) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(SUBMIT_ANSWER_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("submitted_answer").isEmpty() + assertThat(bundle).string("is_answer_correct").isEqualTo(TEST_IS_ANSWER_CORRECT_STR) + } + + @Test + fun testFillEventBundle_submitAnswerEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createSubmitAnswerContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("submit_answer_context") + assertThat(bundle).hasSize(16) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(SUBMIT_ANSWER_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("submitted_answer").isEmpty() + assertThat(bundle).string("is_answer_correct").isEqualTo(TEST_IS_ANSWER_CORRECT_STR) + assertThat(bundle).string("ed_ld_learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("ed_ld_install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_playVoiceOverEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createPlayVoiceOverContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("play_voice_over_context") + assertThat(bundle).hasSize(13) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(PLAY_VOICE_OVER_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("content_id").isEqualTo(TEST_CONTENT_ID) + } + + @Test + fun testFillEventBundle_playVoiceOverEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createPlayVoiceOverContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("play_voice_over_context") + assertThat(bundle).hasSize(15) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(PLAY_VOICE_OVER_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("ed_topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("ed_story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("ed_exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("ed_session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("ed_exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("ed_state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("content_id").isEqualTo(TEST_CONTENT_ID) + assertThat(bundle).string("ed_ld_learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("ed_ld_install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_appInBackgroundEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createAppInBackgroundContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("app_in_background_context") + assertThat(bundle).hasSize(6) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(APP_IN_BACKGROUND_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + } + + @Test + fun testFillEventBundle_appInBackgroundEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createAppInBackgroundContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("app_in_background_context") + assertThat(bundle).hasSize(8) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(APP_IN_BACKGROUND_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_appInForegroundEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createAppInForegroundContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("app_in_foreground_context") + assertThat(bundle).hasSize(6) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(APP_IN_FOREGROUND_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + } + + @Test + fun testFillEventBundle_appInForegroundEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createAppInForegroundContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("app_in_foreground_context") + assertThat(bundle).hasSize(8) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(APP_IN_FOREGROUND_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_exitExplorationEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createExitExplorationContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("exit_exploration_context") + assertThat(bundle).hasSize(12) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(EXIT_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("state_name").isEqualTo(TEST_STATE_NAME) + } + + @Test + fun testFillEventBundle_exitExplorationEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createExitExplorationContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("exit_exploration_context") + assertThat(bundle).hasSize(14) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(EXIT_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("ld_learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("ld_install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_finishExplorationEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createFinishExplorationContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("finish_exploration_context") + assertThat(bundle).hasSize(12) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(FINISH_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("state_name").isEqualTo(TEST_STATE_NAME) + } + + @Test + fun testFillEventBundle_finishExplorationEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createFinishExplorationContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("finish_exploration_context") + assertThat(bundle).hasSize(14) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(FINISH_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("topic_id").isEqualTo(TEST_TOPIC_ID) + assertThat(bundle).string("story_id").isEqualTo(TEST_STORY_ID) + assertThat(bundle).string("exploration_id").isEqualTo(TEST_EXPLORATION_ID) + assertThat(bundle).string("session_id").isEqualTo(TEST_LEARNER_SESSION_ID) + assertThat(bundle).string("exploration_version").isEqualTo(TEST_EXPLORATION_VERSION_STR) + assertThat(bundle).string("state_name").isEqualTo(TEST_STATE_NAME) + assertThat(bundle).string("ld_learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("ld_install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_resumeExplorationEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createResumeExplorationContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("resume_exploration_context") + assertThat(bundle).hasSize(6) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(RESUME_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + } + + @Test + fun testFillEventBundle_resumeExplorationEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createResumeExplorationContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("resume_exploration_context") + assertThat(bundle).hasSize(8) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(RESUME_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_startOverExpEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createStartOverExplorationContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("start_over_exploration_context") + assertThat(bundle).hasSize(6) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(START_OVER_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + } + + @Test + fun testFillEventBundle_startOverExpEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createStartOverExplorationContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("start_over_exploration_context") + assertThat(bundle).hasSize(8) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(START_OVER_EXPLORATION_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_deleteProfileEvent_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createDeleteProfileContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("delete_profile_context") + assertThat(bundle).hasSize(6) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(DELETE_PROFILE_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + } + + @Test + fun testFillEventBundle_deleteProfileEvent_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createDeleteProfileContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("delete_profile_context") + assertThat(bundle).hasSize(8) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(DELETE_PROFILE_CONTEXT.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("learner_id").isEqualTo(TEST_LEARNER_ID) + assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + @Test + fun testFillEventBundle_openHomeContextEvent_fillsAllFieldsInBundleAndReturnsName() { + setUpTestApplicationComponent() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenHomeContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_home") + assertThat(bundle).hasSize(6) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_HOME.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + } + + @Test + fun testFillEventBundle_openProfileChooserContextEvent_fillsAllFieldsInBundleAndReturnsName() { + setUpTestApplicationComponent() + val bundle = Bundle() + + val eventLog = createEventLog(context = createOpenProfileChooserContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("open_profile_chooser") + assertThat(bundle).hasSize(6) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(OPEN_PROFILE_CHOOSER.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + } + + @Test + fun testFillEventBundle_failedEventInstallId_studyOff_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createInstallationIdForFailedAnalyticsLogContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("failed_analytics_log") + assertThat(bundle).hasSize(6) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(INSTALL_ID_FOR_FAILED_ANALYTICS_LOG.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + } + + @Test + fun testFillEventBundle_failedEventInstallId_studyOn_fillsOnlyNonSensitiveFieldsAndRetsName() { + setUpTestApplicationComponentWithLearnerAnalyticsStudy() + val bundle = Bundle() + + val eventLog = createEventLog(context = createInstallationIdForFailedAnalyticsLogContext()) + + val typeName = eventBundleCreator.fillEventBundle(eventLog, bundle) + assertThat(typeName).isEqualTo("failed_analytics_log") + assertThat(bundle).hasSize(7) + assertThat(bundle).longInt("timestamp").isEqualTo(TEST_TIMESTAMP_1) + assertThat(bundle).string("priority").isEqualTo("essential") + assertThat(bundle).integer("event_type").isEqualTo(INSTALL_ID_FOR_FAILED_ANALYTICS_LOG.number) + assertThat(bundle).integer("android_sdk").isEqualTo(TEST_ANDROID_SDK_VERSION) + assertThat(bundle).string("app_version_name").isEqualTo(TEST_APP_VERSION_NAME) + assertThat(bundle).integer("app_version_code").isEqualTo(TEST_APP_VERSION_CODE) + assertThat(bundle).string("install_id").isEqualTo(TEST_INSTALLATION_ID) + } + + private fun createEventLog( + timestamp: Long = TEST_TIMESTAMP_1, + priority: EventLog.Priority = ESSENTIAL, + context: EventLog.Context = EventLog.Context.getDefaultInstance() + ) = EventLog.newBuilder().apply { + this.timestamp = timestamp + this.priority = priority + this.context = context + }.build() + + private fun createOpenExplorationActivity( + explorationContext: ExplorationContext = createExplorationContext() + ) = createEventContext(explorationContext, EventContextBuilder::setOpenExplorationActivity) + + private fun createOpenInfoTab(topicContext: TopicContext = createTopicContext()) = + createEventContext(topicContext, EventContextBuilder::setOpenInfoTab) + + private fun createOpenLessonsTab(topicContext: TopicContext = createTopicContext()) = + createEventContext(topicContext, EventContextBuilder::setOpenLessonsTab) + + private fun createOpenPracticeTab(topicContext: TopicContext = createTopicContext()) = + createEventContext(topicContext, EventContextBuilder::setOpenPracticeTab) + + private fun createOpenRevisionTab(topicContext: TopicContext = createTopicContext()) = + createEventContext(topicContext, EventContextBuilder::setOpenRevisionTab) + + private fun createOpenQuestionPlayer(questionContext: QuestionContext = createQuestionContext()) = + createEventContext(questionContext, EventContextBuilder::setOpenQuestionPlayer) + + private fun createOpenStoryActivity(storyContext: StoryContext = createStoryContext()) = + createEventContext(storyContext, EventContextBuilder::setOpenStoryActivity) + + private fun createOpenConceptCard( + conceptCardContext: ConceptCardContext = createConceptCardContext() + ) = createEventContext(conceptCardContext, EventContextBuilder::setOpenConceptCard) + + private fun createOpenRevisionCard( + revisionCardContext: RevisionCardContext = createRevisionCardContext() + ) = createEventContext(revisionCardContext, EventContextBuilder::setOpenRevisionCard) + + private fun createStartCardContext(cardContext: CardContext = createCardContext()) = + createEventContext(cardContext, EventContextBuilder::setStartCardContext) + + private fun createEndCardContext(cardContext: CardContext = createCardContext()) = + createEventContext(cardContext, EventContextBuilder::setEndCardContext) + + private fun createHintOfferedContext(hintContext: HintContext = createHintContext()) = + createEventContext(hintContext, EventContextBuilder::setHintOfferedContext) + + private fun createAccessHintContext(hintContext: HintContext = createHintContext()) = + createEventContext(hintContext, EventContextBuilder::setAccessHintContext) + + private fun createSolutionOfferedContext( + explorationContext: ExplorationContext = createExplorationContext() + ) = createEventContext(explorationContext, EventContextBuilder::setSolutionOfferedContext) + + private fun createAccessSolutionContext( + explorationContext: ExplorationContext = createExplorationContext() + ) = createEventContext(explorationContext, EventContextBuilder::setAccessSolutionContext) + + private fun createSubmitAnswerContext( + submitAnswerContext: SubmitAnswerContext = createSubmitAnswerContextDetails() + ) = createEventContext(submitAnswerContext, EventContextBuilder::setSubmitAnswerContext) + + private fun createPlayVoiceOverContext( + playVoiceOverContext: PlayVoiceOverContext = createPlayVoiceOverContextDetails() + ) = createEventContext(playVoiceOverContext, EventContextBuilder::setPlayVoiceOverContext) + + private fun createAppInBackgroundContext( + learnerDetails: LearnerDetailsContext = createLearnerDetailsContext() + ) = createEventContext(learnerDetails, EventContextBuilder::setAppInBackgroundContext) + + private fun createAppInForegroundContext( + learnerDetails: LearnerDetailsContext = createLearnerDetailsContext() + ) = createEventContext(learnerDetails, EventContextBuilder::setAppInForegroundContext) + + private fun createExitExplorationContext( + explorationContext: ExplorationContext = createExplorationContext() + ) = createEventContext(explorationContext, EventContextBuilder::setExitExplorationContext) + + private fun createFinishExplorationContext( + explorationContext: ExplorationContext = createExplorationContext() + ) = createEventContext(explorationContext, EventContextBuilder::setFinishExplorationContext) + + private fun createResumeExplorationContext( + learnerDetails: LearnerDetailsContext = createLearnerDetailsContext() + ) = createEventContext(learnerDetails, EventContextBuilder::setResumeExplorationContext) + + private fun createStartOverExplorationContext( + learnerDetails: LearnerDetailsContext = createLearnerDetailsContext() + ) = createEventContext(learnerDetails, EventContextBuilder::setStartOverExplorationContext) + + private fun createDeleteProfileContext( + learnerDetails: LearnerDetailsContext = createLearnerDetailsContext() + ) = createEventContext(learnerDetails, EventContextBuilder::setDeleteProfileContext) + + private fun createOpenHomeContext() = + createEventContext(value = true, EventContextBuilder::setOpenHome) + + private fun createOpenProfileChooserContext() = + createEventContext(value = true, EventContextBuilder::setOpenProfileChooser) + + private fun createInstallationIdForFailedAnalyticsLogContext( + installationId: String = TEST_INSTALLATION_ID + ) = createEventContext(installationId, EventContextBuilder::setInstallIdForFailedAnalyticsLog) + + private fun createEventContext( + value: T, + setter: EventContextBuilder.(T) -> EventContextBuilder + ) = EventLog.Context.newBuilder().setter(value).build() + + private fun createExplorationContext( + topicId: String = TEST_TOPIC_ID, + storyId: String = TEST_STORY_ID, + explorationId: String = TEST_EXPLORATION_ID, + sessionId: String = TEST_LEARNER_SESSION_ID, + explorationVersion: Int = TEST_EXPLORATION_VERSION, + stateName: String = TEST_STATE_NAME, + learnerDetails: LearnerDetailsContext = createLearnerDetailsContext() + ) = ExplorationContext.newBuilder().apply { + this.topicId = topicId + this.storyId = storyId + this.explorationId = explorationId + this.sessionId = sessionId + this.explorationVersion = explorationVersion + this.stateName = stateName + this.learnerDetails = learnerDetails + }.build() + + private fun createLearnerDetailsContext( + learnerId: String = TEST_LEARNER_ID, + installId: String = TEST_INSTALLATION_ID + ) = LearnerDetailsContext.newBuilder().apply { + this.learnerId = learnerId + this.installId = installId + }.build() + + private fun createTopicContext(topicId: String = TEST_TOPIC_ID) = + TopicContext.newBuilder().apply { this.topicId = topicId }.build() + + private fun createQuestionContext( + questionId: String = TEST_QUESTION_ID, + skillIds: List = listOf(TEST_SKILL_ID_1, TEST_SKILL_ID_2) + ) = QuestionContext.newBuilder().apply { + this.questionId = questionId + addAllSkillId(skillIds) + }.build() + + private fun createStoryContext( + topicId: String = TEST_TOPIC_ID, + storyId: String = TEST_STORY_ID + ) = StoryContext.newBuilder().apply { + this.topicId = topicId + this.storyId = storyId + }.build() + + private fun createConceptCardContext(skillId: String = TEST_SKILL_ID_1) = + ConceptCardContext.newBuilder().apply { this.skillId = skillId }.build() + + private fun createRevisionCardContext( + topicId: String = TEST_TOPIC_ID, + subTopicIndex: Int = TEST_SUB_TOPIC_INDEX + ) = RevisionCardContext.newBuilder().apply { + this.topicId = topicId + subTopicId = subTopicIndex + }.build() + + private fun createCardContext( + explorationDetails: ExplorationContext = createExplorationContext(), + skillId: String = TEST_SKILL_ID_1 + ) = CardContext.newBuilder().apply { + this.explorationDetails = explorationDetails + this.skillId = skillId + }.build() + + private fun createHintContext( + explorationDetails: ExplorationContext = createExplorationContext(), + hintIndex: Int = TEST_HINT_INDEX + ) = HintContext.newBuilder().apply { + this.explorationDetails = explorationDetails + this.hintIndex = hintIndex + }.build() + + private fun createSubmitAnswerContextDetails( + explorationDetails: ExplorationContext = createExplorationContext(), + isAnswerCorrect: Boolean = TEST_IS_ANSWER_CORRECT + ) = SubmitAnswerContext.newBuilder().apply { + this.explorationDetails = explorationDetails + this.isAnswerCorrect = isAnswerCorrect + }.build() + + private fun createPlayVoiceOverContextDetails( + explorationDetails: ExplorationContext = createExplorationContext(), + contentId: String = TEST_CONTENT_ID + ) = PlayVoiceOverContext.newBuilder().apply { + this.explorationDetails = explorationDetails + this.contentId = contentId + }.build() + + private fun registerTestApplication() { + val packageManager = Shadows.shadowOf(context.packageManager) + val applicationInfo = + ApplicationInfoBuilder.newBuilder() + .setPackageName(context.packageName) + .build() + val packageInfo = + PackageInfoBuilder.newBuilder() + .setPackageName(context.packageName) + .setApplicationInfo(applicationInfo) + .build() + packageInfo.versionName = TEST_APP_VERSION_NAME + packageInfo.versionCode = TEST_APP_VERSION_CODE + packageManager.installPackage(packageInfo) + } + + private fun setUpTestApplicationComponentWithoutLearnerAnalyticsStudy() { + TestModule.enableLearnerStudyAnalytics = false + setUpTestApplicationComponent() + } + + private fun setUpTestApplicationComponentWithLearnerAnalyticsStudy() { + TestModule.enableLearnerStudyAnalytics = true + setUpTestApplicationComponent() + } + + private fun setUpTestApplicationComponent() { + ApplicationProvider.getApplicationContext().inject(this) + registerTestApplication() + } + + // TODO(#89): Move this to a common test application component. + @Module + class TestModule { + internal companion object { + // This is expected to be off by default, so this helps the tests above confirm that the + // feature's default value is, indeed, off. + var enableLearnerStudyAnalytics = LEARNER_STUDY_ANALYTICS_DEFAULT_VALUE + } + + @Provides + @Singleton + fun provideContext(application: Application): Context { + return application + } + + // The scoping here is to ensure changes to the module value above don't change the parameter + // within the same application instance. + @Provides + @Singleton + @LearnerStudyAnalytics + fun provideLearnerStudyAnalytics(): PlatformParameterValue { + // Snapshot the value so that it doesn't change between injection and use. + val enableFeature = enableLearnerStudyAnalytics + return object : PlatformParameterValue { + override val value: Boolean = enableFeature + } + } + } + + // TODO(#89): Move this to a common test application component. + @Singleton + @Component(modules = [TestModule::class, KenyaAlphaEventLoggingConfigurationModule::class]) + interface TestApplicationComponent { + @Component.Builder + interface Builder { + @BindsInstance + fun setApplication(application: Application): Builder + + fun build(): TestApplicationComponent + } + + fun inject(test: KenyaAlphaEventBundleCreatorTest) + } + + class TestApplication : Application() { + private val component: TestApplicationComponent by lazy { + DaggerKenyaAlphaEventBundleCreatorTest_TestApplicationComponent.builder() + .setApplication(this) + .build() + } + + fun inject(test: KenyaAlphaEventBundleCreatorTest) { + component.inject(test) + } + } +} diff --git a/utility/src/test/java/org/oppia/android/util/logging/KenyaAlphaEventLoggingConfigurationModuleTest.kt b/utility/src/test/java/org/oppia/android/util/logging/KenyaAlphaEventLoggingConfigurationModuleTest.kt new file mode 100644 index 00000000000..31d1130c3d0 --- /dev/null +++ b/utility/src/test/java/org/oppia/android/util/logging/KenyaAlphaEventLoggingConfigurationModuleTest.kt @@ -0,0 +1,70 @@ +package org.oppia.android.util.logging + +import android.app.Application +import android.content.Context +import androidx.test.core.app.ApplicationProvider +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.google.common.truth.Truth.assertThat +import dagger.BindsInstance +import dagger.Component +import dagger.Module +import dagger.Provides +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.annotation.Config +import org.robolectric.annotation.LooperMode +import javax.inject.Inject +import javax.inject.Singleton + +/** Tests for [KenyaAlphaEventLoggingConfigurationModule]. */ +// FunctionName: test names are conventionally named with underscores. +@Suppress("FunctionName") +@RunWith(AndroidJUnit4::class) +@LooperMode(LooperMode.Mode.PAUSED) +@Config(manifest = Config.NONE) +class KenyaAlphaEventLoggingConfigurationModuleTest { + @Inject lateinit var eventTypeToHumanReadableNameConverter: EventTypeToHumanReadableNameConverter + + @Before + fun setUp() { + setUpTestApplicationComponent() + } + + @Test + fun testModule_injectedEventTypeToHumanReadableNameConverter_isStudySpecificImplementation() { + assertThat(eventTypeToHumanReadableNameConverter) + .isInstanceOf(KenyaAlphaEventTypeToHumanReadableNameConverterImpl::class.java) + } + + private fun setUpTestApplicationComponent() { + DaggerKenyaAlphaEventLoggingConfigurationModuleTest_TestApplicationComponent + .builder() + .setApplication(ApplicationProvider.getApplicationContext()).build().inject(this) + } + + // TODO(#89): Move this to a common test application component. + @Module + class TestModule { + @Provides + @Singleton + fun provideContext(application: Application): Context { + return application + } + } + + // TODO(#89): Move this to a common test application component. + @Singleton + @Component(modules = [KenyaAlphaEventLoggingConfigurationModule::class]) + interface TestApplicationComponent { + @Component.Builder + interface Builder { + @BindsInstance + fun setApplication(application: Application): Builder + + fun build(): TestApplicationComponent + } + + fun inject(test: KenyaAlphaEventLoggingConfigurationModuleTest) + } +} diff --git a/utility/src/test/java/org/oppia/android/util/logging/StandardEventTypeToHumanReadableNameConverterImplTest.kt b/utility/src/test/java/org/oppia/android/util/logging/StandardEventTypeToHumanReadableNameConverterImplTest.kt new file mode 100644 index 00000000000..82047919161 --- /dev/null +++ b/utility/src/test/java/org/oppia/android/util/logging/StandardEventTypeToHumanReadableNameConverterImplTest.kt @@ -0,0 +1,117 @@ +package org.oppia.android.util.logging + +import android.app.Application +import androidx.test.core.app.ApplicationProvider +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.google.common.truth.Truth.assertThat +import com.google.common.truth.Truth.assertWithMessage +import dagger.BindsInstance +import dagger.Component +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.oppia.android.app.model.EventLog.Context.ActivityContextCase +import org.robolectric.annotation.Config +import org.robolectric.annotation.LooperMode +import javax.inject.Inject +import javax.inject.Singleton + +/** + * Tests for [StandardEventTypeToHumanReadableNameConverterImpl]. + * + * Note that this suite has special change detector tests to ensure that the converter conforms to + * event logger restrictions (such as not having an event name longer than a certain number), which + * means some of these tests don't necessarily follow best practices when it comes to minimizing + * control flow--that's fine for these. The actual domain correctness of these names are verified + * elsewhere (e.g. in [EventBundleCreatorTest]). + */ +// FunctionName: test names are conventionally named with underscores. +@Suppress("FunctionName") +@RunWith(AndroidJUnit4::class) +@LooperMode(LooperMode.Mode.PAUSED) +@Config(application = StandardEventTypeToHumanReadableNameConverterImplTest.TestApplication::class) +class StandardEventTypeToHumanReadableNameConverterImplTest { + @Inject lateinit var converterImpl: StandardEventTypeToHumanReadableNameConverterImpl + + private companion object { + private val FAILURE_TYPES = setOf( + ActivityContextCase.INSTALL_ID_FOR_FAILED_ANALYTICS_LOG, + ActivityContextCase.ACTIVITYCONTEXT_NOT_SET + ) + } + + @Before + fun setUp() { + setUpTestApplicationComponent() + } + + @Test + fun testConvertToHumanReadableName_nonErrorTypes_returnsUniqueNameForEach() { + val nonErrorContexts = ActivityContextCase.values().toSet() - FAILURE_TYPES + + val nonErrorNames = nonErrorContexts.map(converterImpl::convertToHumanReadableName) + + assertThat(nonErrorNames).containsNoDuplicates() + } + + @Test + fun testConvertToHumanReadableName_errorTypes_shareTheSameName() { + val errorContexts = FAILURE_TYPES + + val errorNames = errorContexts.map(converterImpl::convertToHumanReadableName) + + assertThat(errorNames.toSet()).hasSize(1) + } + + @Test + fun testConvertToHumanReadableName_errorTypes_doNotShareNamesWithNonErrorTypes() { + val errorContexts = FAILURE_TYPES + val nonErrorContexts = ActivityContextCase.values().toSet() - errorContexts + + val nonErrorNames = nonErrorContexts.map(converterImpl::convertToHumanReadableName).toSet() + val errorNames = errorContexts.map(converterImpl::convertToHumanReadableName).toSet() + + assertThat(errorNames).containsNoneIn(nonErrorNames) + } + + @Test + fun testConvertToHumanReadableName_allNamesLessThan40Chars() { + val allContexts = ActivityContextCase.values() + val allNames = allContexts.map(converterImpl::convertToHumanReadableName) + + val namesLongerThan40 = allNames.filter { it.length > 40 } + + assertWithMessage("Expected no names longer than 40 chars").that(namesLongerThan40).isEmpty() + } + + private fun setUpTestApplicationComponent() { + ApplicationProvider.getApplicationContext().inject(this) + } + + // TODO(#89): Move this to a common test application component. + @Singleton + @Component(modules = []) + interface TestApplicationComponent { + @Component.Builder + interface Builder { + @BindsInstance + fun setApplication(application: Application): Builder + + fun build(): TestApplicationComponent + } + + fun inject(test: StandardEventTypeToHumanReadableNameConverterImplTest) + } + + class TestApplication : Application() { + private val component: TestApplicationComponent by lazy { + DaggerStandardEventTypeToHumanReadableNameConverterImplTest_TestApplicationComponent.builder() + .setApplication(this) + .build() + } + + fun inject(test: StandardEventTypeToHumanReadableNameConverterImplTest) { + component.inject(test) + } + } +} diff --git a/utility/src/test/java/org/oppia/android/util/logging/firebase/BUILD.bazel b/utility/src/test/java/org/oppia/android/util/logging/firebase/BUILD.bazel new file mode 100644 index 00000000000..7d96eebedab --- /dev/null +++ b/utility/src/test/java/org/oppia/android/util/logging/firebase/BUILD.bazel @@ -0,0 +1,32 @@ +""" +Tests for logging utility implementations backed by Firebase. +""" + +load("@dagger//:workspace_defs.bzl", "dagger_rules") +load("//:oppia_android_test.bzl", "oppia_android_test") + +oppia_android_test( + name = "LogReportingModuleTest", + srcs = ["LogReportingModuleTest.kt"], + custom_package = "org.oppia.android.util.logging.firebase", + test_class = "org.oppia.android.util.logging.firebase.LogReportingModuleTest", + test_manifest = "//utility:test_manifest", + deps = [ + ":dagger", + "//testing", + "//testing/src/main/java/org/oppia/android/testing/robolectric:test_module", + "//testing/src/main/java/org/oppia/android/testing/threading:test_module", + "//testing/src/main/java/org/oppia/android/testing/time:test_module", + "//third_party:androidx_test_ext_junit", + "//third_party:androidx_test_ext_truth", + "//third_party:com_google_truth_truth", + "//third_party:org_robolectric_robolectric", + "//third_party:robolectric_android-all", + "//utility/src/main/java/org/oppia/android/util/locale:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging:standard_event_logging_configuration_module", + "//utility/src/main/java/org/oppia/android/util/logging/firebase:prod_module", + "//utility/src/main/java/org/oppia/android/util/networking:debug_module", + ], +) + +dagger_rules() diff --git a/utility/src/test/java/org/oppia/android/util/logging/firebase/LogReportingModuleTest.kt b/utility/src/test/java/org/oppia/android/util/logging/firebase/LogReportingModuleTest.kt index 83f50f95c21..5cb00d9c2bb 100644 --- a/utility/src/test/java/org/oppia/android/util/logging/firebase/LogReportingModuleTest.kt +++ b/utility/src/test/java/org/oppia/android/util/logging/firebase/LogReportingModuleTest.kt @@ -20,6 +20,7 @@ import org.oppia.android.util.data.DataProvidersInjector import org.oppia.android.util.data.DataProvidersInjectorProvider import org.oppia.android.util.locale.LocaleProdModule import org.oppia.android.util.logging.EventLogger +import org.oppia.android.util.logging.EventLoggingConfigurationModule import org.oppia.android.util.logging.LoggerModule import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.performancemetrics.PerformanceMetricsEventLogger @@ -120,7 +121,8 @@ class LogReportingModuleTest { TestModule::class, LogReportingModule::class, TestDispatcherModule::class, RobolectricModule::class, FakeOppiaClockModule::class, NetworkConnectionUtilDebugModule::class, LocaleProdModule::class, - TestPlatformParameterModule::class, LoggerModule::class, SyncStatusModule::class + TestPlatformParameterModule::class, LoggerModule::class, SyncStatusModule::class, + EventLoggingConfigurationModule::class ] ) interface TestApplicationComponent : DataProvidersInjector { diff --git a/utility/src/test/java/org/oppia/android/util/logging/performancemetrics/BUILD.bazel b/utility/src/test/java/org/oppia/android/util/logging/performancemetrics/BUILD.bazel new file mode 100644 index 00000000000..c24d6682d12 --- /dev/null +++ b/utility/src/test/java/org/oppia/android/util/logging/performancemetrics/BUILD.bazel @@ -0,0 +1,80 @@ +""" +Tests for general-purpose utilities for performance metrics logging. +""" + +load("@dagger//:workspace_defs.bzl", "dagger_rules") +load("//:oppia_android_test.bzl", "oppia_android_test") + +oppia_android_test( + name = "PerformanceMetricsAssessorImplTest", + srcs = ["PerformanceMetricsAssessorImplTest.kt"], + custom_package = "org.oppia.android.util.logging.performancemetrics", + test_class = "org.oppia.android.util.logging.performancemetrics.PerformanceMetricsAssessorImplTest", + test_manifest = "//utility:test_manifest", + deps = [ + ":dagger", + "//testing", + "//testing/src/main/java/org/oppia/android/testing/junit:oppia_parameterized_test_runner", + "//testing/src/main/java/org/oppia/android/testing/junit:parameterized_robolectric_test_runner", + "//testing/src/main/java/org/oppia/android/testing/platformparameter:test_module", + "//testing/src/main/java/org/oppia/android/testing/robolectric:oppia_shadow_activity_manager", + "//testing/src/main/java/org/oppia/android/testing/robolectric:oppia_shadow_traffic_stats", + "//testing/src/main/java/org/oppia/android/testing/robolectric:test_module", + "//testing/src/main/java/org/oppia/android/testing/threading:test_module", + "//testing/src/main/java/org/oppia/android/testing/time:test_module", + "//third_party:androidx_test_ext_truth", + "//third_party:com_google_truth_truth", + "//third_party:org_robolectric_robolectric", + "//third_party:robolectric_android-all", + "//utility/src/main/java/org/oppia/android/util/locale:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging/performancemetrics:performance_metrics_assessor_impl", + "//utility/src/main/java/org/oppia/android/util/logging/performancemetrics:performance_metrics_configurations_module", + "//utility/src/main/java/org/oppia/android/util/networking:debug_module", + ], +) + +oppia_android_test( + name = "PerformanceMetricsAssessorModuleTest", + srcs = ["PerformanceMetricsAssessorModuleTest.kt"], + custom_package = "org.oppia.android.util.logging.performancemetrics", + test_class = "org.oppia.android.util.logging.performancemetrics.PerformanceMetricsAssessorModuleTest", + test_manifest = "//utility:test_manifest", + deps = [ + ":dagger", + "//testing", + "//testing/src/main/java/org/oppia/android/testing/robolectric:test_module", + "//testing/src/main/java/org/oppia/android/testing/threading:test_module", + "//third_party:androidx_test_ext_junit", + "//third_party:androidx_test_ext_truth", + "//third_party:com_google_truth_truth", + "//third_party:org_robolectric_robolectric", + "//third_party:robolectric_android-all", + "//utility/src/main/java/org/oppia/android/util/logging/firebase:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging/performancemetrics:performance_metrics_assessor_module", + "//utility/src/main/java/org/oppia/android/util/logging/performancemetrics:performance_metrics_configurations_module", + ], +) + +oppia_android_test( + name = "PerformanceMetricsConfigurationsModuleTest", + srcs = ["PerformanceMetricsConfigurationsModuleTest.kt"], + custom_package = "org.oppia.android.util.logging.performancemetrics", + test_class = "org.oppia.android.util.logging.performancemetrics.PerformanceMetricsConfigurationsModuleTest", + test_manifest = "//utility:test_manifest", + deps = [ + ":dagger", + "//testing", + "//testing/src/main/java/org/oppia/android/testing/robolectric:test_module", + "//testing/src/main/java/org/oppia/android/testing/threading:test_module", + "//third_party:androidx_test_ext_junit", + "//third_party:androidx_test_ext_truth", + "//third_party:com_google_truth_truth", + "//third_party:org_robolectric_robolectric", + "//third_party:robolectric_android-all", + "//utility/src/main/java/org/oppia/android/util/logging/firebase:prod_module", + "//utility/src/main/java/org/oppia/android/util/logging/performancemetrics:performance_metrics_assessor_module", + "//utility/src/main/java/org/oppia/android/util/logging/performancemetrics:performance_metrics_configurations_module", + ], +) + +dagger_rules()