Skip to content

[Android] Migrate 3-dot menu icons to Nala - #39309

Merged
SergeyZhukovsky merged 1 commit into
masterfrom
android_menu_nala_icons
Aug 22, 2026
Merged

SergeyZhukovsky merged 1 commit into
masterfrom
android_menu_nala_icons

Conversation

@SergeyZhukovsky

Copy link
Copy Markdown
Member

Swaps the app menu, its icon row and the tab switcher menu over to Leo icons per the mapping agreed with design, and normalises the sizes the issue asks about: the pin (a 20dp glyph scaled inside a 24dp box), Shred (20dp) and Open with (18dp) all become 24dp Leo vectors, matching the settings page.

Upstream-owned drawables are replaced through icons.gni, so most rows need no call site change. Drawables that chrome/android/java/res owns need a second overlay target that depends on chrome_app_java_resources: that target sets resource_overlay on its own sources, so it beats any overlay it merely depends on. PNG-only icons rasterise into the same target, and ic_refresh_24dp_rtl is generated by mirroring the Nala source rather than hand-copied.

Brave-owned drawables are repointed at Leo icons and deleted, along with the hand-copies the overrides replace and their update_patches_exclusions.cfg entries.

Resolves: brave/brave-browser#56196

Phone:

Before After
Screenshot_20260821_131024 Screenshot_20260821_130736
Screenshot_20260821_131043 Screenshot_20260821_130743
Screenshot_20260821_131108 Screenshot_20260821_130758
Screenshot_20260821_131114 Screenshot_20260821_130804
Screenshot_20260821_131118 Screenshot_20260821_130810
Screenshot_20260821_131133 Screenshot_20260821_130840

Tablet:

Before After
Screenshot_20260821_104652 Screenshot_20260821_104054
Screenshot_20260821_104724 Screenshot_20260821_104129
Screenshot_20260821_104738 Screenshot_20260821_104143
Screenshot_20260821_104745 Screenshot_20260821_104151
Screenshot_20260821_104755 Screenshot_20260821_104204
Screenshot_20260821_104800 Screenshot_20260821_104208

Swaps the app menu, its icon row and the tab switcher menu over to Leo icons
per the mapping agreed with design, and normalises the sizes the issue asks
about: the pin (a 20dp glyph scaled inside a 24dp box), Shred (20dp) and Open
with (18dp) all become 24dp Leo vectors, matching the settings page.

Upstream-owned drawables are replaced through icons.gni, so most rows need no
call site change. Drawables that chrome/android/java/res owns need a second
overlay target that depends on chrome_app_java_resources: that target sets
resource_overlay on its own sources, so it beats any overlay it merely depends
on. PNG-only icons rasterise into the same target, and ic_refresh_24dp_rtl is
generated by mirroring the Nala source rather than hand-copied.

Brave-owned drawables are repointed at Leo icons and deleted, along with the
hand-copies the overrides replace and their update_patches_exclusions.cfg
entries.

Resolves: brave/brave-browser#56196
@SergeyZhukovsky SergeyZhukovsky self-assigned this Aug 21, 2026
@SergeyZhukovsky
SergeyZhukovsky requested a review from a team as a code owner August 21, 2026 19:19
@SergeyZhukovsky SergeyZhukovsky added CI/skip-ios Do not run CI builds for iOS CI/skip-windows-x64 Do not run CI builds for Windows x64 CI/skip-macos-arm64 Do not run CI builds for macOS arm64 CI/skip-origin Do not run CI builds for Origin labels Aug 21, 2026

@samartnik samartnik 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.

lgtm

@aguscruiz aguscruiz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

They look great, thanks!

@SergeyZhukovsky
SergeyZhukovsky merged commit bcadf69 into master Aug 22, 2026
24 checks passed
@SergeyZhukovsky
SergeyZhukovsky deleted the android_menu_nala_icons branch August 22, 2026 01:02
@brave-builds brave-builds added this to the 1.96.x - Nightly milestone Aug 22, 2026
@brave-builds

Copy link
Copy Markdown
Collaborator

Released in v1.96.9

r0hit0303 pushed a commit that referenced this pull request Aug 28, 2026
Swaps the app menu, its icon row and the tab switcher menu over to Leo icons
per the mapping agreed with design, and normalises the sizes the issue asks
about: the pin (a 20dp glyph scaled inside a 24dp box), Shred (20dp) and Open
with (18dp) all become 24dp Leo vectors, matching the settings page.

Upstream-owned drawables are replaced through icons.gni, so most rows need no
call site change. Drawables that chrome/android/java/res owns need a second
overlay target that depends on chrome_app_java_resources: that target sets
resource_overlay on its own sources, so it beats any overlay it merely depends
on. PNG-only icons rasterise into the same target, and ic_refresh_24dp_rtl is
generated by mirroring the Nala source rather than hand-copied.

Brave-owned drawables are repointed at Leo icons and deleted, along with the
hand-copies the overrides replace and their update_patches_exclusions.cfg
entries.

Resolves: brave/brave-browser#56196
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/skip-ios Do not run CI builds for iOS CI/skip-macos-arm64 Do not run CI builds for macOS arm64 CI/skip-origin Do not run CI builds for Origin CI/skip-windows-x64 Do not run CI builds for Windows x64

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Android - Contextual menu - Migrate all icons to Nala icons

5 participants