Skip to content

Add Firefox Beta & Nightly to QSB#6885

Open
Dharshika-11 wants to merge 9 commits into
LawnchairLauncher:16-devfrom
Dharshika-11:feature/firefox-beta-nightly
Open

Add Firefox Beta & Nightly to QSB#6885
Dharshika-11 wants to merge 9 commits into
LawnchairLauncher:16-devfrom
Dharshika-11:feature/firefox-beta-nightly

Conversation

@Dharshika-11

@Dharshika-11 Dharshika-11 commented Jun 16, 2026

Copy link
Copy Markdown

Summary

Add string resources for Firefox Beta and Firefox Nightly search providers.

Changes

  • Added search_provider_firefox_beta
  • Added search_provider_firefox_nightly

Testing

  • Verified XML syntax
  • Checked for duplicate string resources
  • Confirmed the project builds successfully

Closes #6439

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features
    • Added Firefox Beta as an available search provider option.
    • Added Firefox Nightly as an available search provider option.
    • Added an option to resume exploration automatically after reconnecting.

Removed strings for 'Allow home screen rotation' and 'When phone is rotated'. Added strings for 'Resume exploration after reconnect' and its summary.
Update strings.xml to modify settings strings
@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7f4c4c87-c172-4ec4-9590-7a26584e4868

📥 Commits

Reviewing files that changed from the base of the PR and between 6705bf8 and 86d58c8.

📒 Files selected for processing (1)
  • res/values/strings.xml

📝 Walkthrough

Walkthrough

Two new Kotlin data object QSB search providers, FirefoxBeta and FirefoxNightly, are added extending QsbSearchProvider. Each defines static metadata (package, action, class, icons, theming) and overrides handleCreateVoiceIntent(). Matching string resources and two unrelated resume_exploration strings are added to strings.xml.

Changes

Firefox Beta & Nightly QSB Providers

Layer / File(s) Summary
FirefoxBeta and FirefoxNightly provider implementations
lawnchair/src/app/lawnchair/qsb/providers/FirefoxBeta.kt, lawnchair/src/app/lawnchair/qsb/providers/FirefoxNightly.kt
Both providers are registered as data object types extending QsbSearchProvider, each supplying app identity metadata (ID, name, icon, theming via TINT, package name, intent action, receiver class, website URL) and overriding handleCreateVoiceIntent() to return an Intent built from the provider action with INTENT_FLAGS and a specific voice-search activity class name.
String resources
res/values/strings.xml
Adds search_provider_firefox_beta and search_provider_firefox_nightly display name strings, plus resume_exploration_title and resume_exploration_summary strings unrelated to the Firefox providers.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested reviewers

  • Goooler
  • MrSluffy

Poem

🐇 Hippity hop, new browsers in tow,
Firefox Beta and Nightly now glow!
A data object here, an Intent there,
Voice search icons float through the air.
Lawnchair blooms with each package we sow! 🌸

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning All changes are within scope except for string resources related to 'resume_exploration' feature, which is unrelated to the Firefox search providers objective in issue #6439. Remove the 'resume_exploration_title' and 'resume_exploration_summary' string resources added to strings.xml as they are unrelated to the Firefox Beta/Nightly search provider feature.
Description check ❓ Inconclusive The PR description covers the main changes but lacks alignment with the full scope of the changeset, which includes not just strings but also Kotlin provider implementations. Update the description to mention all code changes, including the FirefoxBeta.kt and FirefoxNightly.kt provider implementations added alongside the string resources.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding Firefox Beta and Nightly search providers to the QSB, which is the primary objective of the PR.
Linked Issues check ✅ Passed The PR implements all coding requirements from issue #6439: adding both Firefox Beta and Nightly as search provider options by implementing QsbSearchProvider classes and necessary string resources.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

📋 Issue Planner

Built with CodeRabbit's Coding Plans for faster development and fewer bugs.

View plan used: #6439

✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot requested review from Goooler and MrSluffy June 16, 2026 05:40
@Goooler Goooler requested a review from Copilot June 16, 2026 05:41
@Goooler Goooler changed the title Feature/firefox beta nightly Add Firefox Beta & Nightly to QSB Jun 16, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
lawnchair/src/app/lawnchair/qsb/providers/FirefoxBeta.kt (1)

18-24: ⚡ Quick win

Both Firefox providers carry the same dead voice-intent path.
The shared root cause is supportVoiceIntent = false while still overriding handleCreateVoiceIntent(), making the override unreachable through the current provider flow.

  • lawnchair/src/app/lawnchair/qsb/providers/FirefoxBeta.kt#L18-L24: remove the override (or enable/support/test voice before keeping it).
  • lawnchair/src/app/lawnchair/qsb/providers/FirefoxNightly.kt#L18-L24: apply the same cleanup for parity and clarity.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@lawnchair/src/app/lawnchair/qsb/providers/FirefoxBeta.kt` around lines 18 -
24, The handleCreateVoiceIntent() method override is unreachable dead code
because supportVoiceIntent is set to false, meaning the override will never be
invoked through the provider flow. Remove the handleCreateVoiceIntent() override
method (which includes the Intent construction with action, INTENT_FLAGS, and
setClassName call) from both FirefoxBeta.kt (lines 18-24) and FirefoxNightly.kt
(lines 18-24) to eliminate the dead code and maintain clarity in both files.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@lawnchair/src/app/lawnchair/qsb/providers/FirefoxBeta.kt`:
- Around line 18-24: The handleCreateVoiceIntent() method override is
unreachable dead code because supportVoiceIntent is set to false, meaning the
override will never be invoked through the provider flow. Remove the
handleCreateVoiceIntent() override method (which includes the Intent
construction with action, INTENT_FLAGS, and setClassName call) from both
FirefoxBeta.kt (lines 18-24) and FirefoxNightly.kt (lines 18-24) to eliminate
the dead code and maintain clarity in both files.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c9e73ce7-265f-4def-aabe-4a200f4ff300

📥 Commits

Reviewing files that changed from the base of the PR and between fd1197e and 6705bf8.

📒 Files selected for processing (3)
  • lawnchair/src/app/lawnchair/qsb/providers/FirefoxBeta.kt
  • lawnchair/src/app/lawnchair/qsb/providers/FirefoxNightly.kt
  • res/values/strings.xml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR aims to extend Lawnchair’s QSB (Quick Search Bar) provider list by adding Firefox Beta and Firefox Nightly as selectable search providers, along with the necessary display strings.

Changes:

  • Added two new QSB provider definitions: FirefoxBeta and FirefoxNightly.
  • Added string resources for the new provider names (and adjusted placement of existing rotation strings).
  • Added two new “resume exploration” strings (currently not referenced elsewhere).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.

File Description
res/values/strings.xml Adds provider name strings; also introduces “resume exploration” strings and reorders rotation strings/comments.
lawnchair/src/app/lawnchair/qsb/providers/FirefoxBeta.kt New QSB provider definition for Firefox Beta.
lawnchair/src/app/lawnchair/qsb/providers/FirefoxNightly.kt New QSB provider definition for Firefox Nightly.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread res/values/strings.xml Outdated
Comment thread res/values/strings.xml
Comment on lines +363 to +364
<string name="resume_exploration_title">Resume exploration after reconnect</string>
<string name="resume_exploration_summary">Automatically resume exploration when connection is restored</string>
Comment on lines +9 to +12
name = R.string.search_provider_firefox_beta,
icon = R.drawable.ic_firefox_beta,
themedIcon = R.drawable.ic_firefox_beta_tinted,
themingMethod = ThemingMethod.TINT,
Comment on lines +7 to +18
data object FirefoxBeta : QsbSearchProvider(
id = "FirefoxBeta",
name = R.string.search_provider_firefox_beta,
icon = R.drawable.ic_firefox_beta,
themedIcon = R.drawable.ic_firefox_beta_tinted,
themingMethod = ThemingMethod.TINT,
packageName = "org.mozilla.firefox_beta",
action = "org.mozilla.fenix.OPEN_TAB",
className = "org.mozilla.fenix.IntentReceiverActivity",
website = "https://play.google.com/store/apps/details?id=org.mozilla.firefox_beta",
type = QsbSearchProviderType.APP,
supportVoiceIntent = false,
Comment on lines +9 to +12
name = R.string.search_provider_firefox_nightly,
icon = R.drawable.ic_firefox_nightly,
themedIcon = R.drawable.ic_firefox_nightly_tinted,
themingMethod = ThemingMethod.TINT,
Comment on lines +7 to +18
data object FirefoxNightly : QsbSearchProvider(
id = "FirefoxNightly",
name = R.string.search_provider_firefox_nightly,
icon = R.drawable.ic_firefox_nightly,
themedIcon = R.drawable.ic_firefox_nightly_tinted,
themingMethod = ThemingMethod.TINT,
packageName = "org.mozilla.fenix",
action = "org.mozilla.fenix.OPEN_TAB",
className = "org.mozilla.fenix.IntentReceiverActivity",
website = "https://play.google.com/store/apps/details?id=org.mozilla.fenix",
type = QsbSearchProviderType.APP,
supportVoiceIntent = false,
Comment thread res/values/strings.xml Outdated
Comment thread res/values/strings.xml Outdated
Comment thread res/values/strings.xml Outdated
Comment thread res/values/strings.xml Outdated
Co-authored-by: Zongle Wang <wangzongler@gmail.com>
@coderabbitai coderabbitai Bot requested a review from Goooler June 16, 2026 05:50
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.

[FEATURE] Add Firefox Beta & Nightly to Search Bar

3 participants