Skip to content

Commit

Permalink
Fix #4880: Add NPS Survey Gating Logic (#4916)
Browse files Browse the repository at this point in the history
<!-- READ ME FIRST: Please fill in the explanation section below and
check off every point from the Essential Checklist! -->
## Explanation
Fix #4880.

This is PR 2 of 6 planned PRs.

The changes introduced in this PR include:
### Tracking of Active Time in an Exploration
We are introducing a timing mechanism that kicks off when an exploration
is started, and is stopped when an exploration is ended or the app goes
into the background. This allows us to improve the precision of tracking
when a learner is actively learning.

### Tracking of when a survey is shown on a profile
Record the last time when a profile was served the survey.

### Increased granularity in the time of day categorization.
We are breaking morning into `EARLY_MORNING` and `MID_MORNING`, and
evening into `EVENING` and `LATE_NIGHT`

### Survey Gating
Using the 3 criteria tracked above, we decide who gets served with the
survey.

### New Callback Pattern
We are introducing a set of daggerbound callbacks to improve sharing
information more cleanly between domain controllers.

### Test file changes
Approximately 150 test files have changed to include
`ExplorationprogressModule`, which is the application-scoped module used
to provide dependencies needed to track active learning time.

### New Platform Parameters
We are itroducing two new platform parameters to be able to remotely
tweak the minimimum aggregate time and the grace period required for
survey gating.
 
### Proto Changes
- Added a `survey_last_shown_timestamp_ms` to the `profile.proto` which
represents the epoch timestamp in milliseconds when the nps survey was
previously shown on this profile.
- `topic.proto`
```
 // Top-level proto used to store the aggregate learning duration timestamps in a topic,
// on per-profile basis.
message TopicLearningTimeDatabase {
  // Map from topic ID to TopicLearningTime.
  map<string, TopicLearningTime> aggregate_topic_learning_time = 1;
}

// Represents the active learning time spent in a topic.
message TopicLearningTime {
  // The ID of the topic for which this learning time has been recorded.
  string topic_id = 1;

  // The total time spent by a learner in this topic, in milliseconds.
  int64 topic_learning_time_ms = 2;

  // Represents the last Unix epoch timestamp when the topic_aggregate_learning_time_ms was updated,
  // in milliseconds, coinciding with the last time the learner played an exploration in this topic.
  int64 last_updated_time_ms = 3;
}
```

### Domain BUILD.bazel
Added the `survey` package to the `MIGRATED_PROD_FILES` to be excluded
automatically from the top-level utility library.

### Test File Exemptions
Exempted `ExplorationProgressListener` and
`ApplicationLifecycleListener` from this check.

## Essential Checklist
<!-- Please tick the relevant boxes by putting an "x" in them. -->
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [x] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).
  • Loading branch information
adhiamboperes authored Jun 23, 2023
1 parent 329c377 commit 2feb00d
Show file tree
Hide file tree
Showing 196 changed files with 2,882 additions and 199 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -97,7 +98,7 @@ import javax.inject.Singleton
HintsAndSolutionProdModule::class, MetricLogSchedulerModule::class,
PerformanceMetricsConfigurationsModule::class, AlphaBuildFlavorModule::class,
EventLoggingConfigurationModule::class, CpuPerformanceSnapshotterModule::class,
PerformanceMetricsAssessorModule::class,
PerformanceMetricsAssessorModule::class, ExplorationProgressModule::class,
]
)
interface AlphaApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigAlphaKenyaModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -98,7 +99,7 @@ import javax.inject.Singleton
HintsAndSolutionProdModule::class, MetricLogSchedulerModule::class,
PerformanceMetricsConfigurationsModule::class, AlphaBuildFlavorModule::class,
KenyaAlphaEventLoggingConfigurationModule::class, CpuPerformanceSnapshotterModule::class,
PerformanceMetricsAssessorModule::class,
PerformanceMetricsAssessorModule::class, ExplorationProgressModule::class,
]
)
interface AlphaKenyaApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -98,7 +99,7 @@ import javax.inject.Singleton
PerformanceMetricsConfigurationsModule::class, BetaBuildFlavorModule::class,
EventLoggingConfigurationModule::class, ActivityRouterModule::class,
CpuPerformanceSnapshotterModule::class, PerformanceMetricsAssessorModule::class,

ExplorationProgressModule::class,
]
)
interface BetaApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionDebugModule
Expand Down Expand Up @@ -99,7 +100,7 @@ import javax.inject.Singleton
SyncStatusModule::class, MetricLogSchedulerModule::class,
PerformanceMetricsAssessorModule::class, PerformanceMetricsConfigurationsModule::class,
DeveloperBuildFlavorModule::class, EventLoggingConfigurationModule::class,
CpuPerformanceSnapshotterModule::class
CpuPerformanceSnapshotterModule::class, ExplorationProgressModule::class,
]
)
interface DeveloperApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -98,6 +99,7 @@ import javax.inject.Singleton
PerformanceMetricsConfigurationsModule::class, GaBuildFlavorModule::class,
EventLoggingConfigurationModule::class, ActivityRouterModule::class,
CpuPerformanceSnapshotterModule::class, PerformanceMetricsAssessorModule::class,
ExplorationProgressModule::class,
]
)
interface GaApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import androidx.appcompat.widget.Toolbar
import androidx.core.view.doOnPreDraw
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.LiveData
import androidx.lifecycle.Observer
import androidx.lifecycle.Transformations
import org.oppia.android.R
import org.oppia.android.app.activity.ActivityScope
Expand Down Expand Up @@ -273,7 +272,7 @@ class ExplorationActivityPresenter @Inject constructor(
explorationDataController.stopPlayingExploration(isCompletion).toLiveData()
.observe(
activity,
Observer<AsyncResult<Any?>> {
{
when (it) {
is AsyncResult.Pending -> oppiaLogger.d("ExplorationActivity", "Stopping exploration")
is AsyncResult.Failure ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,14 @@ class DateTimeUtil @Inject constructor(
*/
fun getGreetingMessage(): String {
return when (machineLocale.getCurrentTimeOfDay()) {
OppiaLocale.MachineLocale.TimeOfDay.MORNING ->
OppiaLocale.MachineLocale.TimeOfDay.MID_MORNING,
OppiaLocale.MachineLocale.TimeOfDay.EARLY_MORNING ->
resourceHandler.getStringInLocale(R.string.home_screen_good_morning_greeting_fragment)
OppiaLocale.MachineLocale.TimeOfDay.AFTERNOON ->
resourceHandler.getStringInLocale(R.string.home_screen_good_afternoon_greeting_fragment)
OppiaLocale.MachineLocale.TimeOfDay.EVENING, OppiaLocale.MachineLocale.TimeOfDay.UNKNOWN ->
OppiaLocale.MachineLocale.TimeOfDay.EVENING,
OppiaLocale.MachineLocale.TimeOfDay.UNKNOWN,
OppiaLocale.MachineLocale.TimeOfDay.LATE_NIGHT ->
resourceHandler.getStringInLocale(R.string.home_screen_good_evening_greeting_fragment)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -970,7 +971,7 @@ class AdministratorControlsActivityTest {
LoggingIdentifierModule::class, ApplicationLifecycleModule::class,
SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class,
EventLoggingConfigurationModule::class, ActivityRouterModule::class,
CpuPerformanceSnapshotterModule::class
CpuPerformanceSnapshotterModule::class, ExplorationProgressModule::class
]
)
interface TestApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -654,7 +655,7 @@ class AdministratorControlsFragmentTest {
LoggingIdentifierModule::class, ApplicationLifecycleModule::class,
SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class,
EventLoggingConfigurationModule::class, ActivityRouterModule::class,
CpuPerformanceSnapshotterModule::class
CpuPerformanceSnapshotterModule::class, ExplorationProgressModule::class
]
)
interface TestApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -305,7 +306,7 @@ class AppVersionActivityTest {
LoggingIdentifierModule::class, ApplicationLifecycleModule::class,
SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class,
EventLoggingConfigurationModule::class, ActivityRouterModule::class,
CpuPerformanceSnapshotterModule::class
CpuPerformanceSnapshotterModule::class, ExplorationProgressModule::class
]
)
interface TestApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -217,7 +218,7 @@ class ProfileAndDeviceIdActivityTest {
MathEquationInputModule::class, MetricLogSchedulerModule::class,
TestingBuildFlavorModule::class, EventLoggingConfigurationModule::class,
ActivityRouterModule::class, CpuPerformanceSnapshotterModule::class,
ApplicationLifecycleModule::class
ApplicationLifecycleModule::class, ExplorationProgressModule::class
]
)
interface TestApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -1027,7 +1028,7 @@ class ProfileAndDeviceIdFragmentTest {
MathEquationInputModule::class, MetricLogSchedulerModule::class,
TestingBuildFlavorModule::class, EventLoggingConfigurationModule::class,
ActivityRouterModule::class, CpuPerformanceSnapshotterModule::class,
ApplicationLifecycleModule::class
ApplicationLifecycleModule::class, ExplorationProgressModule::class
]
)
interface TestApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -529,7 +530,7 @@ class CompletedStoryListActivityTest {
LoggingIdentifierModule::class, ApplicationLifecycleModule::class,
SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class,
EventLoggingConfigurationModule::class, ActivityRouterModule::class,
CpuPerformanceSnapshotterModule::class
CpuPerformanceSnapshotterModule::class, ExplorationProgressModule::class
]
)
interface TestApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -177,7 +178,7 @@ class LessonThumbnailImageViewTest {
LoggingIdentifierModule::class, ApplicationLifecycleModule::class,
SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class,
EventLoggingConfigurationModule::class, ActivityRouterModule::class,
CpuPerformanceSnapshotterModule::class
CpuPerformanceSnapshotterModule::class, ExplorationProgressModule::class
]
)
interface TestApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -1779,7 +1780,7 @@ class MathExpressionInteractionsViewTest {
LoggingIdentifierModule::class, ApplicationLifecycleModule::class,
SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class,
EventLoggingConfigurationModule::class, ActivityRouterModule::class,
CpuPerformanceSnapshotterModule::class
CpuPerformanceSnapshotterModule::class, ExplorationProgressModule::class
]
)
interface TestApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -168,7 +169,7 @@ class AppCompatCheckBoxBindingAdaptersTest {
LoggingIdentifierModule::class, ApplicationLifecycleModule::class,
SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class,
EventLoggingConfigurationModule::class, ActivityRouterModule::class,
CpuPerformanceSnapshotterModule::class
CpuPerformanceSnapshotterModule::class, ExplorationProgressModule::class
]
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -299,7 +300,7 @@ class CircularProgressIndicatorAdaptersTest {
LoggingIdentifierModule::class, ApplicationLifecycleModule::class,
SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class,
EventLoggingConfigurationModule::class, ActivityRouterModule::class,
CpuPerformanceSnapshotterModule::class
CpuPerformanceSnapshotterModule::class, ExplorationProgressModule::class
]
)
interface TestApplicationComponent : ApplicationComponent {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ import org.oppia.android.domain.classify.rules.numericexpressioninput.NumericExp
import org.oppia.android.domain.classify.rules.numericinput.NumericInputRuleModule
import org.oppia.android.domain.classify.rules.ratioinput.RatioInputModule
import org.oppia.android.domain.classify.rules.textinput.TextInputRuleModule
import org.oppia.android.domain.exploration.ExplorationProgressModule
import org.oppia.android.domain.exploration.ExplorationStorageModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionConfigModule
import org.oppia.android.domain.hintsandsolution.HintsAndSolutionProdModule
Expand Down Expand Up @@ -188,7 +189,7 @@ class DrawableBindingAdaptersTest {
LoggingIdentifierModule::class, ApplicationLifecycleModule::class,
SyncStatusModule::class, MetricLogSchedulerModule::class, TestingBuildFlavorModule::class,
EventLoggingConfigurationModule::class, ActivityRouterModule::class,
CpuPerformanceSnapshotterModule::class
CpuPerformanceSnapshotterModule::class, ExplorationProgressModule::class
]
)
interface TestApplicationComponent : ApplicationComponent {
Expand Down
Loading

0 comments on commit 2feb00d

Please sign in to comment.