[iOS] Integrate Microphone Permissions in Gemini Live FRE [chromium/src : main]

0 views
Skip to first unread message

Yasaman Sedaghat (Gerrit)

unread,
3:35 PM (4 hours ago) 3:35 PM
to Tarek Makkouk, Adam Arcaro, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org, ios-revie...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org
Attention needed from Adam Arcaro and Tarek Makkouk

Yasaman Sedaghat added 6 comments

Patchset-level comments
File-level comment, Patchset 4 (Latest):
Yasaman Sedaghat . unresolved

The two drive links in the desc are identical.

File ios/chrome/browser/intelligence/bwg/coordinator/gemini_first_run_coordinator.mm
Line 172, Patchset 4 (Latest): [self dismissPresentedViewWithCompletion:^{
Yasaman Sedaghat . unresolved

Is this related to the crash you mentioned during a sync? If so can you attach the bug to this cl?

Line 180, Patchset 4 (Latest):- (void)handleLivePermissionCheckIfNeeded {
Yasaman Sedaghat . unresolved

nit: I would just call it handleLiveMicPermission. I'm not sure if 'ifNeeded' is adding to readability.

Line 207, Patchset 4 (Latest):- (void)handlePermissionResult:(BOOL)granted {
Yasaman Sedaghat . unresolved

this is live specific only right? let's update the name to make it more clear

Line 211, Patchset 4 (Latest): __weak __typeof(self) weakSelf = self;
Yasaman Sedaghat . unresolved

let's add a comment like: if mic permission is not granted, dismiss the mic view and go back to presenting LIVE fre

Line 217, Patchset 4 (Latest): if (granted) {
if (strongSelf->_consentCompletion) {
strongSelf->_consentCompletion();
}
} else {
Yasaman Sedaghat . unresolved

I don't really follow the logic here, but it's also new to me. why do we call consentCompletion only when permission is granted?

Open in Gerrit

Related details

Attention is currently required from:
  • Adam Arcaro
  • Tarek Makkouk
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I80157a94d5a220217bf8c936fa6affa17827822e
Gerrit-Change-Number: 7722444
Gerrit-PatchSet: 4
Gerrit-Owner: Tarek Makkouk <tarekm...@google.com>
Gerrit-Reviewer: Adam Arcaro <ada...@google.com>
Gerrit-Reviewer: Tarek Makkouk <tarekm...@google.com>
Gerrit-Reviewer: Yasaman Sedaghat <yasa...@google.com>
Gerrit-Attention: Tarek Makkouk <tarekm...@google.com>
Gerrit-Attention: Adam Arcaro <ada...@google.com>
Gerrit-Comment-Date: Thu, 02 Apr 2026 19:35:26 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Tarek Makkouk (Gerrit)

unread,
6:15 PM (1 hour ago) 6:15 PM
to Adam Arcaro, Yasaman Sedaghat, Chromium LUCI CQ, chromium...@chromium.org, feature-me...@chromium.org, ios-revie...@chromium.org, ios-r...@chromium.org, marq+...@chromium.org
Attention needed from Adam Arcaro and Yasaman Sedaghat

Tarek Makkouk added 6 comments

Patchset-level comments
File-level comment, Patchset 4:
Yasaman Sedaghat . resolved

The two drive links in the desc are identical.

Tarek Makkouk

Sorry about that, just corrected the link.

File ios/chrome/browser/intelligence/bwg/coordinator/gemini_first_run_coordinator.mm
Line 172, Patchset 4: [self dismissPresentedViewWithCompletion:^{
Yasaman Sedaghat . unresolved

Is this related to the crash you mentioned during a sync? If so can you attach the bug to this cl?

Tarek Makkouk

I'm not sure what bug this is referring to. This change is just to establish the flow where the `kLive` FRE pauses dismissal to prompt for microphone permissions first so that it still shows in the background of the alert. This is to match the behaviour shown in the mocks.

Line 180, Patchset 4:- (void)handleLivePermissionCheckIfNeeded {
Yasaman Sedaghat . resolved

nit: I would just call it handleLiveMicPermission. I'm not sure if 'ifNeeded' is adding to readability.

Tarek Makkouk

Done

Line 207, Patchset 4:- (void)handlePermissionResult:(BOOL)granted {
Yasaman Sedaghat . resolved

this is live specific only right? let's update the name to make it more clear

Tarek Makkouk

Done

Line 211, Patchset 4: __weak __typeof(self) weakSelf = self;
Yasaman Sedaghat . unresolved

let's add a comment like: if mic permission is not granted, dismiss the mic view and go back to presenting LIVE fre

Tarek Makkouk

Here we actually dismiss both the FRE and the alert regardless of the outcome (i.e., whether mic perms were granted or not), as both paths are wrapped inside `dismissPresentedViewWithCompletion`. Please let me know if you think I should a comment to make this clearer.

Line 217, Patchset 4: if (granted) {

if (strongSelf->_consentCompletion) {
strongSelf->_consentCompletion();
}
} else {
Yasaman Sedaghat . unresolved

I don't really follow the logic here, but it's also new to me. why do we call consentCompletion only when permission is granted?

Tarek Makkouk

This is to make sure that the Live consent is tightly coupled with the microphone, meaning that if the microphone permission is denied, the FRE will show up again even if the "Yes, I'm in" was selected (i.e., even if Live consent is granted). Note that behaviour is only expected for the first run.

Open in Gerrit

Related details

Attention is currently required from:
  • Adam Arcaro
  • Yasaman Sedaghat
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I80157a94d5a220217bf8c936fa6affa17827822e
Gerrit-Change-Number: 7722444
Gerrit-PatchSet: 6
Gerrit-Owner: Tarek Makkouk <tarekm...@google.com>
Gerrit-Reviewer: Adam Arcaro <ada...@google.com>
Gerrit-Reviewer: Tarek Makkouk <tarekm...@google.com>
Gerrit-Reviewer: Yasaman Sedaghat <yasa...@google.com>
Gerrit-Attention: Yasaman Sedaghat <yasa...@google.com>
Gerrit-Attention: Adam Arcaro <ada...@google.com>
Gerrit-Comment-Date: Thu, 02 Apr 2026 22:15:16 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Yasaman Sedaghat <yasa...@google.com>
satisfied_requirement
unsatisfied_requirement
open
diffy
Reply all
Reply to author
Forward
0 new messages