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

fixes: Change ProfileId defaulting to be an invalid profile #5730

Draft
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

jainv4156
Copy link
Contributor

@jainv4156 jainv4156 commented Mar 2, 2025

Explanation

fixes : 5482

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

@jainv4156 jainv4156 changed the title My feature branch fixes: Change ProfileId defaulting to be an invalid profile Mar 2, 2025
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.

PTAL @jainv41561

Comment on lines +136 to +140
reserved 1;
oneof type {
int32 internal_id = 2;
// Boolean if user is logged_out or not.
bool logged_out = 3;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Each field should have a comment, and implement consistent spacing with the rest of the file.

Comment on lines 41 to +44
fun Bundle.decorateWithUserProfileId(profileId: ProfileId) {
putProto(PROFILE_ID_BUNDLE_DECORATOR, profileId)
if (!profileId.loggedOut) {
putProto(PROFILE_ID_BUNDLE_DECORATOR, profileId)
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think it is better to enforce the check for logged out state at function callsite, rather than such a high level as here.

if (extraControlsTitle != null) {
activity.loadProfileEdit(profileId = profileId, profileName = extraControlsTitle)
if (isProfileDeletionDialogVisible && profileId.internalId != 0) {
if (isProfileDeletionDialogVisible && !profileId.loggedOut) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is not correct, profileId.internalId != 0 here is checking if the profile is an admin, not if the profile is logged out. Remember that currently, profileId == 0 is an admin profile. -1/DefaultInstance is logged out.

@@ -76,7 +76,8 @@ class AdministratorControlsActivity :
// TODO(#661): Change the default fragment in the right hand side to be EditAccount fragment in the case of multipane controls.
PROFILE_LIST_FRAGMENT
}
val selectedProfileId = intent?.extractCurrentUserProfileId() ?: ProfileId.getDefaultInstance()
val selectedProfileId = intent?.extractCurrentUserProfileId() ?: ProfileId
.cnewBuilder().setLoggedOut(true).build()
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
.cnewBuilder().setLoggedOut(true).build()
.newBuilder().setLoggedOut(true).build()

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.

2 participants