shouldn't we use profile.emails[0].value as the username value only if profile.username is empty/null/undefined?
or are you certain profile.username is always empty with google provider?