Skip to content

🎨 Assets | Add adaptive icon foreground and background drawables - #29

Merged
davidgaspardev merged 7 commits into
developfrom
refactor/use-adaptive-icon
Jul 13, 2026
Merged

🎨 Assets | Add adaptive icon foreground and background drawables#29
davidgaspardev merged 7 commits into
developfrom
refactor/use-adaptive-icon

Conversation

@davidgaspardev

@davidgaspardev davidgaspardev commented Jun 29, 2026

Copy link
Copy Markdown
Member

🎯 Why?

The Android adaptive icon was missing proper foreground and background drawables, causing the app to display a generic icon on devices that support adaptive icons (Android 8+).

🏷️ Type of Change

  • 🐞 Bugfix (non-breaking change that fixes an issue)
  • 💚 Improvement (non-breaking change that adds/modifies features to existing functionality)
  • ⚡️ New feature (non-breaking change that adds functionality)
  • ⚠️ Breaking change (change that is not backwards compatible and/or changes current functionality)

📦 What Changed?

  • android/app/src/main/res/drawable/ic_launcher_background.xml — solid background shape using the app's cream color (#F1EDE9)
  • android/app/src/main/res/drawable/ic_launcher_foreground.xml — vector foreground with the two Moveflix wave strokes, rendered as a 108dp adaptive icon canvas (612×612 viewport) with the brand gradient (#FD8161#FF5A5F)

📷 Screenshots (required for UI changes)

Before After
Generic icon Moveflix waves on cream background

🧪 Testing (required for code changes)

📱 Platforms Tested

  • 🤖 Android
  • 🍎 iOS
  • 🌐 Web
  • 🖥️ Desktop

✔️ Verification

  • Unit tests pass
  • Widget tests pass
  • Integration tests pass
  • Manual testing completed

📝 Test Scenarios

  • Verified the XML files are well-formed and render the correct wave shapes with gradient on the Android adaptive icon canvas.

🔗 Reference Links (optional)

🔄 Dependencies (optional)


✅ Checklist

  • Self-review completed
  • Tests added/updated
  • Documentation updated (if needed)
  • Labels added
  • Reviewers assigned

🔀 Merge Rules

Pull Request Merge Type
feature/fix/etc → develop SQUASH MERGE
feature/hotfix/fix/etc → release SQUASH MERGE
hotfix → main SQUASH MERGE
release → main MERGE COMMIT
backport → develop MERGE COMMIT

Summary by CodeRabbit

  • New Features
    • Added updated Android app icon artwork, including a new background color and foreground vector design.
    • The launcher icon now uses a cleaner, more polished visual style with a warm gradient accent.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ec5d120e-8135-4f63-91ab-97809efe095d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key: "instructions"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Walkthrough

Two new Android drawable XML files are added: ic_launcher_background.xml defines a solid #F1EDE9 shape, and ic_launcher_foreground.xml defines a 108dp vector with two gradient-stroked curved paths using a #FD8161#FF5A5F linear gradient.

Changes

Android Launcher Icon Drawables

Layer / File(s) Summary
Background and foreground launcher drawables
android/app/src/main/res/drawable/ic_launcher_background.xml, android/app/src/main/res/drawable/ic_launcher_foreground.xml
Background drawable sets a solid #F1EDE9 shape fill; foreground vector drawable defines two rounded-stroke paths with a shared #FD8161#FF5A5F linear gradient stroke in a 108dp×108dp, 612×612-viewport asset.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the change: adding Android adaptive icon foreground and background drawables.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/use-adaptive-icon

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

@davidgaspardev davidgaspardev self-assigned this Jun 29, 2026
@davidgaspardev

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

davidgaspardev and others added 6 commits June 28, 2026 23:34
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ent apps

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add tools:targetApi="21" to foreground vector drawable so Lint respects
flutter.minSdkVersion instead of assuming API 1. Remove invalid viewport
attributes from background shape drawable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add ic_launcher_round.xml (adaptive) and re-wire android:roundIcon in the
manifest. Overview/recents screen uses roundIcon on many devices — pointing
it to the adaptive descriptor fixes the non-adaptive icon without needing
PNG fallbacks.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Override onResume in MainActivity to explicitly call setTaskDescription
with the ic_launcher resource ID. Without this, Android creates the task
description from a flattened Bitmap of the PNG mipmaps, bypassing the
adaptive icon XML and showing a non-adaptive icon in the overview screen.

Handles API 33+ (TaskDescription.Builder) and API 28–32 (deprecated ctor).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…on natively

The setTaskDescription override was causing Android to load ic_launcher as
a PNG bitmap, bypassing the adaptive XML. Without the override, the system
correctly uses android:roundIcon → mipmap-anydpi-v26/ic_launcher_round.xml,
displaying the adaptive icon in the overview screen.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@davidgaspardev
davidgaspardev merged commit 778335b into develop Jul 13, 2026
3 checks passed
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