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 #5069: Add a "hint/solution viewed" event to complement the existing "offered"/"unlocked" events. #5298

Open
wants to merge 32 commits into
base: develop
Choose a base branch
from

Conversation

Vishwajith-Shettigar
Copy link
Collaborator

@Vishwajith-Shettigar Vishwajith-Shettigar commented Jan 13, 2024

Explanation

Fixes #5069: Added a new event called view existing for hints and solution. This event logs every time user views a hint or solution, except for the first time.

Existing event log access_hint and access_solution renamed to reveal_hint and reveal_solution.

Hints view log

hint.webm

Solution view log

solution.webm

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

For UI-specific PRs only

If your PR includes UI-related changes, then:

  • Add screenshots for portrait/landscape for both a tablet & phone of the before & after UI changes
  • For the screenshots above, include both English and pseudo-localized (RTL) screenshots (see RTL guide)
  • Add a video showing the full UX flow with a screen reader enabled (see accessibility guide)
  • For PRs introducing new UI elements or color changes, both light and dark mode screenshots must be included
  • Add a screenshot demonstrating that you ran affected Espresso tests locally & that they're passing

@Vishwajith-Shettigar Vishwajith-Shettigar self-assigned this Jan 14, 2024
@Vishwajith-Shettigar Vishwajith-Shettigar changed the title hint viewed event log [Feature Request] #5069: Add a "hint/solution viewed" event to complement the existing "offered"/"unlocked" events. Jan 20, 2024
@Vishwajith-Shettigar Vishwajith-Shettigar marked this pull request as ready for review January 20, 2024 03:41
@Vishwajith-Shettigar Vishwajith-Shettigar changed the title [Feature Request] #5069: Add a "hint/solution viewed" event to complement the existing "offered"/"unlocked" events. Fix #5069: Add a "hint/solution viewed" event to complement the existing "offered"/"unlocked" events. Jan 21, 2024
Copy link

oppiabot bot commented Jan 28, 2024

Hi @Vishwajith-Shettigar, 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 Jan 28, 2024
@Vishwajith-Shettigar Vishwajith-Shettigar removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Jan 28, 2024
@Vishwajith-Shettigar Vishwajith-Shettigar removed their assignment Jan 29, 2024
Copy link

oppiabot bot commented Feb 9, 2024

Hi @Vishwajith-Shettigar, 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 Feb 9, 2024
@Vishwajith-Shettigar Vishwajith-Shettigar removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Feb 9, 2024
Copy link

oppiabot bot commented Feb 16, 2024

Hi @Vishwajith-Shettigar, 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 Feb 16, 2024
@Vishwajith-Shettigar Vishwajith-Shettigar marked this pull request as ready for review April 8, 2024 16:57
Copy link

oppiabot bot commented Apr 15, 2024

Hi @Vishwajith-Shettigar, 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 Apr 15, 2024
@Vishwajith-Shettigar Vishwajith-Shettigar removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Apr 16, 2024
Copy link

oppiabot bot commented May 2, 2024

Hi @Vishwajith-Shettigar, 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 May 2, 2024
@Vishwajith-Shettigar Vishwajith-Shettigar removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label May 3, 2024
Copy link

oppiabot bot commented May 10, 2024

Hi @Vishwajith-Shettigar, 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 May 10, 2024
@Vishwajith-Shettigar Vishwajith-Shettigar removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label May 10, 2024
Copy link
Collaborator

@adhiamboperes adhiamboperes left a comment

Choose a reason for hiding this comment

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

Thanks @Vishwajith-Shettigar! This solution looks good to me, but we need to add tests for the new events that have been added.

@@ -273,6 +273,19 @@ class ExplorationProgressController @Inject constructor(
return submitResultFlow.convertToSessionProvider(SUBMIT_HINT_REVEALED_RESULT_PROVIDER_ID)
}

/**
* Notifies the controller that the user wishes to view a hint.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* Notifies the controller that the user wishes to view a hint.
* Notifies the controller that the user has viewed a hint.

@@ -289,6 +302,14 @@ class ExplorationProgressController @Inject constructor(
return submitResultFlow.convertToSessionProvider(SUBMIT_SOLUTION_REVEALED_RESULT_PROVIDER_ID)
}

/**
* Notifies the controller that the user wishes to view the answer.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* Notifies the controller that the user wishes to view the answer.
* Notifies the controller that the user has viewed the answer.

@@ -1329,6 +1372,30 @@ class ExplorationProgressController @Inject constructor(
override val callbackFlow: MutableStateFlow<AsyncResult<Any?>>? = null
) : ControllerMessage<Any?>()

/**
* [ControllerMessage] to log cases when user viewed hint for the current session.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* [ControllerMessage] to log cases when user viewed hint for the current session.
* [ControllerMessage] to log cases when the user has viewed a hint for the current session.

) : ControllerMessage<Any?>()

/**
* [ControllerMessage] to log cases when user viewed solution for the current session.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* [ControllerMessage] to log cases when user viewed solution for the current session.
* [ControllerMessage] to log cases when the user has viewed the solution for the current session.

Copy link
Collaborator

Choose a reason for hiding this comment

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

This file is missing tests for the two newly created events.

Copy link
Collaborator

Choose a reason for hiding this comment

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

We also need tests for the new events here. Please follow up via the group chat whether sensitive/non-sensitvive values are a concern that we need to address for these new events, since sometimes we collect additional data when a study is on, that we don't collect when the study is off.

@@ -191,6 +191,12 @@ message EventLog {
// The event being logged is related to the amount spent by the user with the app in
// foreground.
AppInForegroundTimeContext app_in_foreground_time = 48;

// The event being logged is related to accessing a hint.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
// The event being logged is related to accessing a hint.
// The event being logged is related to viewing a hint.

Copy link
Collaborator

Choose a reason for hiding this comment

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

We need tests for the new events as well.

Copy link

oppiabot bot commented May 21, 2024

Hi @Vishwajith-Shettigar, 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 May 21, 2024
@adhiamboperes adhiamboperes removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label May 21, 2024
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.

[Feature Request]: Add a "hint/solution viewed" event to complement the existing "offered"/"unlocked" events.
2 participants