[Brand design updates - Core App Components] Add rebrand app icons and refresh the icon picker - #9385
Draft
mikescamell wants to merge 6 commits into
Draft
[Brand design updates - Core App Components] Add rebrand app icons and refresh the icon picker#9385mikescamell wants to merge 6 commits into
mikescamell wants to merge 6 commits into
Conversation
mikescamell
force-pushed
the
feature/mikescamell/rebrand-app-icons-internal
branch
from
August 4, 2026 10:19
cda1e15 to
2858605
Compare
Overlay the rebranded launcher icons, shortcut icons and launcher background colours via app/src/internal/res so they apply to internal builds only. Play and F-Droid builds keep the existing icons.
The picker draws the round launcher mipmaps, which are adaptive icons, so every tile is clipped to whatever mask the launcher applies. The old selector was a fixed oval sized for a circle, so on masks that reach further out at the diagonals, Samsung's squircle among them, the artwork broke out through the ring. AppIconOutlineDrawable strokes the path returned by AdaptiveIconDrawable.getIconMask(), so the ring takes the launcher's own shape. It is stateful and set as the tile's foreground, so it paints only when selected. The tile grows from 75dp to 80dp to leave room for a 2dp gap and a 2dp stroke around the 72dp icon.
Flagged in case anyone raises concerns about it being at the top of the screen.
mikescamell
force-pushed
the
feature/mikescamell/rebrand-app-icons-internal
branch
from
August 4, 2026 14:49
2858605 to
12eecfe
Compare
The grid was pinned to four columns. At the new 80dp tile size four columns need 440dp of width, which portrait phones only reach at smaller display size settings, so at the default the icons were left crowded or clipped. The span count is now derived from the measured width, fitting as many columns as will hold at least 24dp between icons, so the count follows whatever density and display size the user has set rather than being assumed. AppIconSpacingDecoration shares the leftover width equally between the columns so each row sits flush against the list's 24dp side margins, and rows are separated by the same 24dp. This replaces ItemOffsetDecoration, which only ever applied a vertical offset and left the horizontal gaps to fall out of the cell width.
mikescamell
force-pushed
the
feature/mikescamell/rebrand-app-icons-internal
branch
from
August 4, 2026 15:31
12eecfe to
d3ec4cc
Compare
mikescamell
force-pushed
the
feature/mikescamell/rebrand-app-icons-internal
branch
from
August 4, 2026 16:05
d3ec4cc to
0d375f5
Compare
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 0d375f5. Configure here.
It's more representative of the app icon the user will get on their homescreen, as most launchers will not pick round
mikescamell
force-pushed
the
feature/mikescamell/rebrand-app-icons-internal
branch
from
August 5, 2026 07:02
0d375f5 to
3569cd9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1216795433235473
Tech Design URL (if applicable):
API Proposals URL(s) (if applicable): None
Description
Adds the 2026 rebrand app icons and tidies up the icon picker.
Internal flavour only:
appIconflag. With the flag off the screen is unchanged from developAll build flavours (internal and release):
Steps to test this PR
Designs
It's worth installing the prod version of this branch and comparing side by side
If possible, test on a couple of different manufacturers, on different Android versions.
Rebrand icons apply on update (internal build)
Change app icon sits at the top (internal build)
Icon picker layout (test on both internal and release builds)
Nothing internal-only reaches release
UI changes
See comment here for before/after
Note
Medium Risk
Internal builds swap launcher component artwork and shortcuts (user-visible on update); release risk is mostly UI layout. Icon switching still uses activity aliases—verify masking and pinned shortcuts across OEMs.
Overview
Introduces 2026 rebrand launcher artwork on the internal build: shared adaptive-icon foregrounds (square/round), monochrome and silhouette variants, per-color backgrounds, and updated app shortcut icons. Release keeps existing launcher assets; only the picker/layout behavior ships there.
Change app icon on Appearance moves above Theme when
appBrandDesignUpdate.appIcon()is enabled (runtime reorder inAppearanceActivity, default internal-only).The icon picker is reworked for all flavours: icons are 64dp (was 75dp), columns are computed from width with ≥24dp gaps (
AppIconSpacingDecoration+AppIconCellMetrics), selection usesAppIconOutlineDrawable(launcher mask) instead of a fixed oval border, andAppIconpreview resources point at non-_roundmipmaps for consistency with gold and the new art.Reviewed by Cursor Bugbot for commit 3569cd9. Bugbot is set up for automated code reviews on this repo. Configure here.