Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #4451: Add domain level functionality for spotlights #4498

Merged
merged 34 commits into from
Sep 24, 2022

Conversation

JishnuGoyal
Copy link
Contributor

@JishnuGoyal JishnuGoyal commented Aug 8, 2022

Explanation

Fixes #4451

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

  • 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: ...".)
  • Any changes to scripts/assets files have their rationale included in the PR explanation.
  • The PR follows the style guide.
  • The PR does not contain any unnecessary code changes from Android Studio (reference).
  • The PR is made from a branch that's not called "develop" and is up-to-date with "develop".
  • The PR is assigned to the appropriate reviewers (reference).

@JishnuGoyal
Copy link
Contributor Author

Please take an initial pass at this
PTAL @BenHenning

@oppiabot
Copy link

oppiabot bot commented Aug 17, 2022

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 oppiabot bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Aug 17, 2022
@JishnuGoyal JishnuGoyal marked this pull request as ready for review August 20, 2022 15:28
@oppiabot oppiabot bot removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Aug 20, 2022
Copy link
Sponsor Member

@BenHenning BenHenning left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @JishnuGoyal! Took a first pass review--PTAL.

model/src/main/proto/spotlight.proto Outdated Show resolved Hide resolved
model/src/main/proto/spotlight.proto Outdated Show resolved Hide resolved
model/src/main/proto/spotlight.proto Outdated Show resolved Hide resolved
model/src/main/proto/spotlight.proto Outdated Show resolved Hide resolved
model/src/main/proto/spotlight.proto Show resolved Hide resolved
@BenHenning BenHenning assigned JishnuGoyal and unassigned BenHenning Aug 24, 2022
@oppiabot
Copy link

oppiabot bot commented Sep 3, 2022

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 oppiabot bot added stale Corresponds to items that haven't seen a recent update and may be automatically closed. and removed stale Corresponds to items that haven't seen a recent update and may be automatically closed. labels Sep 3, 2022
@JishnuGoyal
Copy link
Contributor Author

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

@JishnuGoyal JishnuGoyal assigned BenHenning and unassigned JishnuGoyal Sep 4, 2022
Copy link
Sponsor Member

@BenHenning BenHenning left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @JishnuGoyal! I think this is much clearer now! There's one comment you didn't respond to earlier, but otherwise I only had a few more follow-ups. Please go ahead and finish up this PR and send it back when you're ready.

Note also that it appears there are some CI checks failing, as well. I noticed the lint checks are failing in particular--have you run setup.sh locally for your repository? It adds a pre-push hook to check for common lint errors before pushing and helps reviewers avoid needing to look at various nits.

@JishnuGoyal
Copy link
Contributor Author

PTAL @BenHenning , thanks!

@oppiabot oppiabot bot assigned BenHenning and unassigned JishnuGoyal Sep 9, 2022
@oppiabot
Copy link

oppiabot bot commented Sep 9, 2022

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

Copy link
Sponsor Member

@BenHenning BenHenning left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @JishnuGoyal. Took another pass--PTAL.

@BenHenning BenHenning assigned JishnuGoyal and unassigned BenHenning Sep 10, 2022
@JishnuGoyal
Copy link
Contributor Author

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

@oppiabot oppiabot bot assigned BenHenning and unassigned JishnuGoyal Sep 10, 2022
@oppiabot
Copy link

oppiabot bot commented Sep 10, 2022

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

Copy link
Sponsor Member

@BenHenning BenHenning left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @JishnuGoyal. Other than the CI failures, the PR LGTM. Please assign back once they're fixed.

@BenHenning BenHenning assigned JishnuGoyal and unassigned BenHenning Sep 12, 2022
JishnuGoyal and others added 6 commits September 18, 2022 03:15
… into 1.7_domain_layer_for_spotlights

# Conflicts:
#	domain/src/test/java/org/oppia/android/domain/spotlight/SpotlightStateControllerTest.kt
@JishnuGoyal
Copy link
Contributor Author

PTAL @BenHenning

@oppiabot oppiabot bot assigned BenHenning and unassigned JishnuGoyal Sep 24, 2022
@oppiabot
Copy link

oppiabot bot commented Sep 24, 2022

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

Copy link
Sponsor Member

@BenHenning BenHenning left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @JishnuGoyal. Everything LGTM here.

@BenHenning BenHenning merged commit 7653898 into oppia:develop Sep 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add domain level functionality for spotlights
2 participants