oppia-android icon indicating copy to clipboard operation
oppia-android copied to clipboard

Fix #4451: Add domain level functionality for spotlights

Open JishnuGoyal opened this issue 2 years ago • 1 comments

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).

JishnuGoyal avatar Aug 08 '22 18:08 JishnuGoyal

Please take an initial pass at this PTAL @BenHenning

JishnuGoyal avatar Aug 09 '22 20:08 JishnuGoyal

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!

oppiabot[bot] avatar Aug 17 '22 22:08 oppiabot[bot]

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!

oppiabot[bot] avatar Sep 03 '22 20:09 oppiabot[bot]

@BenHenning Please check if this is on the right track; ill be adding tests in my upcoming commit. PTAL

JishnuGoyal avatar Sep 04 '22 19:09 JishnuGoyal

PTAL @BenHenning for the newly added tests

JishnuGoyal avatar Sep 08 '22 19:09 JishnuGoyal

Unassigning @JishnuGoyal since a re-review was requested. @JishnuGoyal, please make sure you have addressed all review comments. Thanks!

oppiabot[bot] avatar Sep 08 '22 19:09 oppiabot[bot]

PTAL @BenHenning , thanks!

JishnuGoyal avatar Sep 09 '22 23:09 JishnuGoyal

Unassigning @JishnuGoyal since a re-review was requested. @JishnuGoyal, please make sure you have addressed all review comments. Thanks!

oppiabot[bot] avatar Sep 09 '22 23:09 oppiabot[bot]

@BenHenning PTAL please take another pass at this, thanks.

JishnuGoyal avatar Sep 10 '22 21:09 JishnuGoyal

Unassigning @JishnuGoyal since a re-review was requested. @JishnuGoyal, please make sure you have addressed all review comments. Thanks!

oppiabot[bot] avatar Sep 10 '22 21:09 oppiabot[bot]

PTAL @BenHenning

JishnuGoyal avatar Sep 24 '22 06:09 JishnuGoyal

Unassigning @JishnuGoyal since a re-review was requested. @JishnuGoyal, please make sure you have addressed all review comments. Thanks!

oppiabot[bot] avatar Sep 24 '22 06:09 oppiabot[bot]