oppia-android
oppia-android copied to clipboard
Fix #4451: Add domain level functionality for spotlights
Explanation
This PR lays the domain-level foundation for "Spotlights". These are a part of the Interactive On-boarding Flow (GSoC) project which focuses on making the initial user experience easier and interactive, and aims to make the user start learning effectively as soon as possible.
spotlight.proto
is a model class that holds the information about which spotlights have/have not been seen yet by the user.
SpotlightStateController
is an injectable class which controls the domain level functionality needed to make changes to the above model class. Essentially, this class can mark spotlights "seen" and retrieve the spotlight states (where states determine whether they are seen/unseen).
The entire Spotlight experience can be turned on or off just by setting the platform parameter flag called EnableSpotlightUi
to true or false.
This PR is backed by necessary tests to check if the domain layer for spotlights works correctly or not.
Essential Checklist
- [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 files have their rationale included in the PR explanation.
- [x] The PR follows the style guide.
- [x] The PR does not contain any unnecessary code changes from Android Studio (reference).
- [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).
Please take an initial pass at this PTAL @BenHenning
Hi @JishnuGoyal, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue. If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you!
Hi @JishnuGoyal, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue. If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you!
@BenHenning Please check if this is on the right track; ill be adding tests in my upcoming commit. PTAL
PTAL @BenHenning for the newly added tests
Unassigning @JishnuGoyal since a re-review was requested. @JishnuGoyal, please make sure you have addressed all review comments. Thanks!
PTAL @BenHenning , thanks!
Unassigning @JishnuGoyal since a re-review was requested. @JishnuGoyal, please make sure you have addressed all review comments. Thanks!
@BenHenning PTAL please take another pass at this, thanks.
Unassigning @JishnuGoyal since a re-review was requested. @JishnuGoyal, please make sure you have addressed all review comments. Thanks!
PTAL @BenHenning
Unassigning @JishnuGoyal since a re-review was requested. @JishnuGoyal, please make sure you have addressed all review comments. Thanks!