Skip to content

fix:(ui): splash screen crash on android 12+ devices#2499

Draft
RohitKushvaha01 wants to merge 1 commit into
Acode-Foundation:mainfrom
RohitKushvaha01:main
Draft

fix:(ui): splash screen crash on android 12+ devices#2499
RohitKushvaha01 wants to merge 1 commit into
Acode-Foundation:mainfrom
RohitKushvaha01:main

Conversation

@RohitKushvaha01

Copy link
Copy Markdown
Member

No description provided.

@RohitKushvaha01 RohitKushvaha01 self-assigned this Jul 17, 2026
@RohitKushvaha01
RohitKushvaha01 marked this pull request as draft July 17, 2026 14:05
@RohitKushvaha01 RohitKushvaha01 moved this from Backlog to In progress in The Code Board - Acode Jul 17, 2026
@greptile-apps

greptile-apps Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Adds five Cordova preferences to config.xml to resolve a splash screen crash on Android 12+ devices, which introduced the Window Splash Screen API. The central fix is AndroidWindowSplashScreenBehavior "icon_preferred", which aligns the animated-icon splash screen already declared in the file with the new platform API.

  • AndroidWindowSplashScreenBehavior "icon_preferred" is the targeted Android 12+ fix; the other four preferences (AutoHideSplashScreen, SplashScreenDelay, FadeSplashScreen, FadeSplashScreenDuration) relate to the legacy Cordova splash-screen plugin, which is already disabled via the existing SplashScreen "none" entry.
  • Two extra blank lines were added after the new block, producing three consecutive blank lines before the edit-config element.

Confidence Score: 4/5

Safe to merge; the change is a one-file config update adding splash screen preferences to fix an Android 12+ crash.

The core fix (AndroidWindowSplashScreenBehavior icon_preferred) is well-targeted and consistent with the animated icon already declared. Three of the five new preferences are inert because the legacy splash-screen plugin they control is already disabled, adding dead config. No behavioral regression is expected, but the dead preferences leave the config slightly misleading for future maintainers.

config.xml — specifically the three legacy-plugin preferences that have no effect alongside the existing SplashScreen=none setting.

Important Files Changed

Filename Overview
config.xml Adds five splash-screen preferences to fix Android 12+ crash; the key fix is AndroidWindowSplashScreenBehavior, while three legacy-plugin preferences are inert given the existing SplashScreen=none setting.

Sequence Diagram

%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
    participant OS as Android OS (12+)
    participant App as Acode App
    participant CordovaPlugin as cordova-android Platform

    OS->>App: App launch
    OS->>App: WindowSplashScreen shown (system-level)
    Note over OS,App: AndroidWindowSplashScreenBehavior=icon_preferred instructs the platform to display the animated icon
    App->>CordovaPlugin: "SplashScreen preference = none (legacy splash plugin disabled)"
    CordovaPlugin-->>App: No legacy splash shown
    OS->>App: "WindowSplashScreen dismissed (AutoHideSplashScreen=true)"
    App->>OS: App content rendered
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
    participant OS as Android OS (12+)
    participant App as Acode App
    participant CordovaPlugin as cordova-android Platform

    OS->>App: App launch
    OS->>App: WindowSplashScreen shown (system-level)
    Note over OS,App: AndroidWindowSplashScreenBehavior=icon_preferred instructs the platform to display the animated icon
    App->>CordovaPlugin: "SplashScreen preference = none (legacy splash plugin disabled)"
    CordovaPlugin-->>App: No legacy splash shown
    OS->>App: "WindowSplashScreen dismissed (AutoHideSplashScreen=true)"
    App->>OS: App content rendered
Loading

Reviews (1): Last reviewed commit: "fix:(ui): splash screen crash on android..." | Re-trigger Greptile

Comment thread config.xml
Comment on lines +46 to 50
<preference name="AndroidWindowSplashScreenBehavior" value="icon_preferred" />



<edit-config file="app/src/main/AndroidManifest.xml" mode="merge"

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.

P2 Two consecutive blank lines were added after the last preference. One blank line is enough to separate this block from the edit-config below it.

Suggested change
<preference name="AndroidWindowSplashScreenBehavior" value="icon_preferred" />
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge"
<preference name="AndroidWindowSplashScreenBehavior" value="icon_preferred" />
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge"

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Comment thread config.xml
Comment on lines +43 to +44
<preference name="SplashScreenDelay" value="0" />
<preference name="FadeSplashScreenDuration" value="0" />

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.

P2 SplashScreenDelay / FadeSplashScreenDuration redundancy with existing config — the file already declares SplashScreen "none" on line 27, which disables the legacy Cordova splash-screen plugin entirely. The SplashScreenDelay, FadeSplashScreen, and FadeSplashScreenDuration preferences are only consumed by that same legacy plugin, so they have no effect here. These three preferences can be omitted without changing runtime behavior, keeping the fix to just AutoHideSplashScreen and AndroidWindowSplashScreenBehavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

1 participant