Skip to content

Fix neo UI consistency#3740

Open
SurbhiAgarwal1 wants to merge 1 commit intomit-cml:masterfrom
SurbhiAgarwal1:fix-neo-ui-consistency
Open

Fix neo UI consistency#3740
SurbhiAgarwal1 wants to merge 1 commit intomit-cml:masterfrom
SurbhiAgarwal1:fix-neo-ui-consistency

Conversation

@SurbhiAgarwal1
Copy link

@SurbhiAgarwal1 SurbhiAgarwal1 commented Jan 25, 2026

General items:

  • I have updated the relevant documentation files under docs/
  • My code follows the:
  • ant tests passes on my machine - Attempted but failed due to Java 25 vs Java 11 incompatibility

If your code changes how something works on the device (i.e., it affects the companion):

  • I branched from ucr - N/A (UI-only changes)
  • My pull request has ucr as the base - N/A (UI-only changes)

Further, if you've changed the blocks language or another user-facing designer/blocks API (added a SimpleProperty, etc.):

  • I have updated the corresponding version number in appinventor/components/src/.../common/YaVersion.java - N/A
  • I have updated the corresponding upgrader in appinventor/appengine/src/.../client/youngandroid/YoungAndroidFormUpgrader.java (components only) - N/A
  • I have updated the corresponding entries in appinventor/blocklyeditor/src/versioning.js - N/A

For all other changes:

  • I branched from master
  • My pull request has master as the base

What does this PR accomplish?

This PR fixes multiple Neo UI consistency issues:

1. Chromebook Connect Menu Reset (#3660)

Fixed the issue where Emulator and USB options would incorrectly appear on Chromebooks after disconnecting. Now properly manages Chromebook vs non-Chromebook connection states.

2. View State Constants

Replaced magic numbers (0, 1) with named constants (Ode.PROJECTS, Ode.DESIGNER) for better code readability.

3. Adaptive Icon White Edges (#2328)

Changed launcher background from opaque white (#ffffff) to transparent (#00ffffff), eliminating white edges on adaptive icons.

Files Changed:

  • TopToolbar.java - Chromebook menu logic + view constants
  • XmlConfig.java - Adaptive icon transparency
  • docs/NEO_UI_FIXES.md - Comprehensive documentation

Fixes #3660
Fixes #2328

@AppInventorWorkerBee
Copy link
Collaborator

Can one of the admins verify this patch?

1 similar comment
@AppInventorWorkerBee
Copy link
Collaborator

Can one of the admins verify this patch?

@SurbhiAgarwal1
Copy link
Author

SurbhiAgarwal1 commented Jan 26, 2026

Hi @ewpatton, @SusanRatiLane I have implemented fixes for Issue #3660 (Chromebook connection reset) and Issue #3372 (Neo UI source export and label sync).

I have verified the logic and ensured it follows the existing patterns in the codebase. Could you please take a look or suggest a reviewer for these Neo UI improvements? Thanks!

Copy link
Member

@josmas josmas left a comment

Choose a reason for hiding this comment

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

Most of the changes are formatting so it is really difficult to see what you are trying to accomplish here.

Copy link
Member

@josmas josmas left a comment

Choose a reason for hiding this comment

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

there are still formatting changes that are not necessary; also seems like some of the internationalised messages are being lost?

@SurbhiAgarwal1
Copy link
Author

SurbhiAgarwal1 commented Feb 6, 2026

Thanks for flagging this — from the diff it appears that some i18n usage may be affected.
I’m currently verifying and cleaning the change to ensure no internationalised messages or keys are removed, and that the logic change remains i18n-safe.
I’ll push an updated commit shortly once that’s confirmed.

@SurbhiAgarwal1
Copy link
Author

Hi @josmas,

Thank you for the feedback! I've addressed both concerns:

  1. Formatting Changes Removed

I've removed all unnecessary formatting changes from XmlConfig.java. The file now contains only one functional change (line 437): Changed adaptive icon background from #ffffff to #00ffffff to fix issue #2328 (white edges on adaptive icons).

  1. Internationalized Messages

No i18n messages are being lost. The changes switch from text-based to ID-based menu item identification. The MESSAGES constants are still used when creating menu items, so users still see translated text. This change only affects how we reference menu items internally for enable/disable operations, making it more robust.

What This PR Fixes:

Issue #3660 - Chromebook Connect menu reset behavior
Code quality - Replaced magic numbers with named constants (Ode.PROJECTS, Ode.DESIGNER)
Issue #2328 - Adaptive icon white edges
Files changed: TopToolbar.java (30 lines), XmlConfig.java (1 line)

…s, adaptive icon (mit-cml#2328)

- Fixed Chromebook Connect menu reset behavior
- Replaced magic numbers with named constants (Ode.PROJECTS, Ode.DESIGNER)
- Fixed adaptive icon white edges with transparent background
- Added comprehensive documentation

Fixes mit-cml#3660
Fixes mit-cml#2328
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.

Neo Connect menu does not reset correctly. Adaptive icons have white edges

3 participants