Skip to content

chore(android): update app icon assets and adaptive icon configuration#272

Merged
rainxchzed merged 3 commits into
mainfrom
chore-launcher
Feb 28, 2026
Merged

chore(android): update app icon assets and adaptive icon configuration#272
rainxchzed merged 3 commits into
mainfrom
chore-launcher

Conversation

@rainxchzed
Copy link
Copy Markdown
Member

@rainxchzed rainxchzed commented Feb 28, 2026

This commit updates the Android app launcher icons, including changes to the adaptive icon configuration and background color.

  • chore(android): Updated adaptive icon XML files to use ic_launcher_foreground for the monochrome layer.
  • chore(android): Updated ic_launcher_background color to a lighter shade (#1C1B1B).
  • chore(android): Updated launcher icon, foreground, and round icon .webp assets across all density buckets (hdpi to xxxhdpi).
  • chore(android): Updated Play Store icon and main logo image assets.

Summary by CodeRabbit

  • Style
    • Updated launcher icon assets for consistent rendering across devices.
    • Darkened the app background color slightly for better contrast.
    • Reduced splash logo padding so the emblem appears larger.
    • Added a subtle dark circular background and padding to the top-bar profile icon for improved visual balance.

This commit updates the Android app launcher icons, including changes to the adaptive icon configuration and background color.

- **chore(android)**: Updated adaptive icon XML files to use `ic_launcher_foreground` for the monochrome layer.
- **chore(android)**: Updated `ic_launcher_background` color to a lighter shade (`#1C1B1B`).
- **chore(android)**: Updated launcher icon, foreground, and round icon `.webp` assets across all density buckets (hdpi to xxxhdpi).
- **chore(android)**: Updated Play Store icon and main logo image assets.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 28, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 96566f7 and d2532bd.

⛔ Files ignored due to path filters (2)
  • composeApp/src/commonMain/composeResources/drawable/app-icon.png is excluded by !**/*.png
  • core/presentation/src/commonMain/composeResources/drawable/app_icon.png is excluded by !**/*.png
📒 Files selected for processing (3)
  • composeApp/src/androidMain/res/drawable/ic_splash.xml
  • composeApp/src/androidMain/res/values/colors.xml
  • feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/HomeRoot.kt

Walkthrough

Adaptive launcher icon XMLs updated to reference the mipmap foreground monochrome asset, launcher background color adjusted, splash drawable inset reduced, and a composable profile icon given a dark circular background with inner padding.

Changes

Cohort / File(s) Summary
Adaptive Icon XMLs
composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml, composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml
Monochrome asset reference changed from @drawable/ic_launcher_monochrome to @mipmap/ic_launcher_foreground.
Color Resources
composeApp/src/androidMain/res/values/colors.xml
ic_launcher_background color value changed from #101010 to #121212.
Splash Drawable
composeApp/src/androidMain/res/drawable/ic_splash.xml
Inset reduced from 48dp to 32dp, decreasing padding around the splash graphic.
Home UI
feature/home/presentation/src/commonMain/kotlin/zed/rainxch/home/presentation/HomeRoot.kt
Profile navigation icon updated: retains circular clip but now applies Color(0xff121212) background and 4.dp inner padding (imports added).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 I hopped and nudged each icon bright,
From drawable paths to mipmap light,
A cozier splash, a darker ring—
I nibble bugs and make icons sing. 🥕✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and specifically describes the main changes: updating Android app icon assets and adaptive icon configuration, which directly matches the changeset modifications to icon XMLs and color values.
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.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore-launcher

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.

This commit updates the Android app launcher icons, including changes to the adaptive icon configuration and background color.

- **chore(android)**: Updated adaptive icon XML files to use `ic_launcher_foreground` for the monochrome layer.
- **chore(android)**: Updated `ic_launcher_background` color to a lighter shade (`#1C1B1B`).
- **chore(android)**: Updated launcher icon, foreground, and round icon `.webp` assets across all density buckets (hdpi to xxxhdpi).
- **chore(android)**: Updated Play Store icon and main logo image assets.
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml`:
- Line 5: Replace the monochrome drawable reference that currently points to the
full foreground mipmap with the dedicated single-color vector asset: change the
monochrome android:drawable from `@mipmap/ic_launcher_foreground` to
`@drawable/ic_launcher_monochrome` in ic_launcher.xml (and make the identical
change in ic_launcher_round.xml) so the adaptive themed icon uses the proper
monochrome asset.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 60d9b1e and 96566f7.

⛔ Files ignored due to path filters (2)
  • composeApp/src/androidMain/ic_launcher-playstore.png is excluded by !**/*.png
  • composeApp/src/androidMain/res/drawable/ic_logo.png is excluded by !**/*.png
📒 Files selected for processing (18)
  • composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml
  • composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml
  • composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.webp
  • composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_foreground.webp
  • composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.webp
  • composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.webp
  • composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_foreground.webp
  • composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.webp
  • composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.webp
  • composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_foreground.webp
  • composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.webp
  • composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.webp
  • composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_foreground.webp
  • composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.webp
  • composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp
  • composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
  • composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.webp
  • composeApp/src/androidMain/res/values/colors.xml

<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
<monochrome android:drawable="@mipmap/ic_launcher_foreground"/>
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.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

Android 13 adaptive icons monochrome layer requirements specifications

💡 Result:

Android 13 “themed app icons” (API 33) requires that your launcher icon be an adaptive icon that includes an optional monochrome layer; the system tints that monochrome layer using the user’s wallpaper/theme colors when the user enables Themed icons and the launcher supports it. [2]

Monochrome layer requirements (spec)

From the Android adaptive icon design spec, to support theming you should provide a single monochrome layer and follow the same adaptive-icon sizing rules: [1]

  • Provide exactly one monochrome drawable layer referenced from <monochrome> inside <adaptive-icon>. [1]
  • Size the monochrome layer (and other layers) to 108 × 108 dp. [1][3]
  • Keep artwork within the “safe” region: the system may clip with different masks; guidance calls for a logo at least 48 × 48 dp and not exceeding 66 × 66 dp (so it won’t be clipped). [1]
  • Leave the outer 18 dp on each side for masking and visual effects (parallax/pulsing). [1][3]
  • Use clean edges; don’t bake in masks or background shadows around the icon outline. [1]
  • The <monochrome> drawable can be a vector or bitmap (vectors preferred). [1]

Resource / XML wiring

Define the adaptive icon XML (commonly under res/mipmap-anydpi-v26/) with a <monochrome> entry: [1]

<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
    <monochrome android:drawable="@drawable/ic_launcher_monochrome" />
</adaptive-icon>

🏁 Script executed:

# Find drawable and mipmap resources related to launcher icons
find composeApp/src/androidMain/res -type f -name "*ic_launcher*" | head -20

Repository: rainxchzed/Github-Store

Length of output: 1272


🏁 Script executed:

cat -n composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml

Repository: rainxchzed/Github-Store

Length of output: 442


🏁 Script executed:

cat -n composeApp/src/androidMain/res/drawable/ic_launcher_monochrome.xml

Repository: rainxchzed/Github-Store

Length of output: 27780


🏁 Script executed:

cat -n composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml

Repository: rainxchzed/Github-Store

Length of output: 442


Use a dedicated monochrome asset for themed icons.

Line 5 currently reuses the full foreground mipmap; this violates the Android adaptive icon specification for themed icons (API 33+) which requires a single-color monochrome drawable. The project already has @drawable/ic_launcher_monochrome available as a properly formatted vector asset.

Also apply this fix to ic_launcher_round.xml which has the same issue.

Suggested change
-    <monochrome android:drawable="@mipmap/ic_launcher_foreground"/>
+    <monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<monochrome android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml` at line 5,
Replace the monochrome drawable reference that currently points to the full
foreground mipmap with the dedicated single-color vector asset: change the
monochrome android:drawable from `@mipmap/ic_launcher_foreground` to
`@drawable/ic_launcher_monochrome` in ic_launcher.xml (and make the identical
change in ic_launcher_round.xml) so the adaptive themed icon uses the proper
monochrome asset.

- Add background color and padding to the profile image in `HomeRoot.kt`
- Update `ic_launcher_background` color to `#121212`
- Reduce splash screen icon inset from 48dp to 32dp
- Update `app_icon.png` resource
@rainxchzed rainxchzed merged commit dc05946 into main Feb 28, 2026
1 of 2 checks passed
@rainxchzed rainxchzed deleted the chore-launcher branch February 28, 2026 11:53
@coderabbitai coderabbitai Bot mentioned this pull request Feb 28, 2026
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.

1 participant