-
Notifications
You must be signed in to change notification settings - Fork 514
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
1 parent
329c377
commit 2feb00d
Showing
196 changed files
with
2,882 additions
and
199 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.