You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixes#3641 Use finish() instead of intent for smoother navigation (#5557)
## Description:
- Fixes#3641
This PR simplifies the navigation logic in `AddProfileActivity` and
documents the reasoning behind not using `finish()` in
`ExitProfileDialogFragment`.
### Changes Made:
- **AddProfileActivity:**
- Replaced the use of `Intent` with `FLAG_ACTIVITY_CLEAR_TOP` by calling
`finish()`.
- With the live data bug resolved, the activity stack can now be managed
more cleanly without requiring a new intent.
**Benefits:**
- Avoids unnecessary activity recreation.
- Improves navigation efficiency and reduces overhead.
- **ExitProfileDialogFragment:**
- Retained the use of an `Intent` to navigate to
`ProfileChooserActivity` instead of switching to `finish()`.
- **Reason:**
- `ProfileChooserActivity` is not directly below the current activity in
the stack.
- If `finish()` were used, the app would incorrectly navigate to
`PinPasswordActivity`, resulting in undesirable behavior.
### Testing:
1. Verified that `AddProfileActivity` correctly navigates back to
`ProfileChooserActivity` using `finish()` without activity recreation.
2. Confirmed that `ExitProfileDialogFragment` behaves as expected,
retaining the correct navigation path through `Intent` to
`ProfileChooserActivity`.
### Summary:
This PR ensures cleaner navigation for `AddProfileActivity` by using
`finish()`, while maintaining correct behavior in
`ExitProfileDialogFragment` by continuing to use an intent-based
approach. This makes the app more efficient while preserving user
experience.
### Video Demo as everything is working fine.
https://github.com/user-attachments/assets/fb383845-5672-4236-8618-a87583cbbba0
## 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](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)).
0 commit comments