-
Notifications
You must be signed in to change notification settings - Fork 521
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixes multiple onboarding events issue (#5551)
<!-- READ ME FIRST: Please fill in the explanation section below and check off every point from the Essential Checklist! --> ## Explanation <!-- - Explain what your PR does. If this PR fixes an existing bug, please include - "Fixes #bugnum:" in the explanation so that GitHub can auto-close the issue - when this PR is merged. --> Fixes multiple onboarding events issue: From the previous implementation of the onboarding logs, it was possible to have multiple onboarding logs belonging to the same user. This happened because the onboarding flag used when making the log was not updated until an app restart. For this reason, if a user went back to the home screen several times or if the user changed orientation from portrait to landscape and vice-versa, the onboarding complete log would be triggered every time this happened. This PR intends to fix this issue by centralizing the onboarding complete log. It will also allow an optional profileId variable to be passed as support for Onboarding V2 where onboarding will be tied to an individual user. ## Manual testing process and results To confirm that the bug was fixed, I manually performed a test using the steps outlined below; 1. Clean the Oppia app storage from settings or uninstall the Oppia app to prime it for the test then reinstall it. 2. Go through the onboarding screens, then select Administrator when you reach the profile selection screen. 3. This opens the home screen. Click the hamburger menu at the top right corner of the screen. 4. Click **Developer options** at the bottom of the side-bar menu. 5. Under the **Event logs** section, click the event logs item. You should see a list of events logged so far, including a **Complete App Onboarding** event right above the **Open Home** event. 7. Click the back arrow at the top right corner to go back to the developer options menu and then click the hamburger menu to open the side pane again. 8. Click on Home to go back to the home screen and then repeat steps 3 to 8, three more times. 9. Once that is done, reopen the Event Logs screen. With the original buggy flow, three Open Home and Complete App Onboarding events should be displayed. With this fix, only one Complete App Onboarding event should be logged but 3 Open Home events should be displayed. |Buggy flow|New flow with fix| |----|----| |![Screenshot_20241021_102501](https://github.com/user-attachments/assets/8c6aaf59-4e10-4382-895d-619ffc2b1f18)|![Screenshot_20241021_101850](https://github.com/user-attachments/assets/ca576bb2-33e2-4ff5-ae19-8e7b0444474c)| ## 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)). ## For UI-specific PRs only <!-- Delete these section if this PR does not include UI-related changes. --> 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](https://github.com/oppia/oppia-android/wiki/RTL-Guidelines)) - Add a video showing the full UX flow with a screen reader enabled (see [accessibility guide](https://github.com/oppia/oppia-android/wiki/Accessibility-A11y-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 --------- Co-authored-by: Kenneth Murerwa <[email protected]>
- Loading branch information
Showing
8 changed files
with
29 additions
and
96 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