Skip to content

Userinterface di merge#323

Open
lexm2 wants to merge 68 commits intoRawAccelOfficial:userinterfacefrom
lexm2:userinterface-di-merge
Open

Userinterface di merge#323
lexm2 wants to merge 68 commits intoRawAccelOfficial:userinterfacefrom
lexm2:userinterface-di-merge

Conversation

@lexm2
Copy link
Member

@lexm2 lexm2 commented Dec 24, 2025

1. Null Data Handling in Deserialization

NullReferenceException when AnisotropyModel.TryMapEditableSettingsFromData received null data during JSON deserialization

Added null checks in AnisotropyModel and AccelerationModel, plus default initializers in Acceleration and Anisotropy data classes

2. InvalidCastException for FormulaAccelModel

Couldn't cast FormulaAccelModel to IAccelDefinitionModel because the interface didn't extend it

Changed IFormulaAccelModel and ISynchronousAccelerationDefinitionModel to extend IAccelDefinitionModelSpecific

3. Missing GetSelectable and Selection Members

After fixing problem 2, UI code couldn't access GetSelectable() and Selection members

Made IFormulaAccelModel extend both IAccelDefinitionModelSpecific AND IEditableSettingsSelector using multiple interface inheritance

4. Concrete BackEnd Type Dependencies

DI container couldn't resolve concrete BackEnd type because only IBackEnd was registered

Changed SettingsService and MappingsPageViewModel constructors to use IBackEnd interface instead of concrete type

lexm2 and others added 28 commits October 26, 2025 15:13
Update MaxNameLength from 100 to 256 to match driver's MAX_NAME_LEN constant defined in common/rawaccel-base.hpp
…ration

Complete Dependency Injection Migration and Add Device Defaults
…kend

Merges JacobPalecki's DI implementation from RawAccelOfficial#316
into the userinterface branch.

Key changes:
- Add BackEndComposer for DI service composition
- Use keyed services with [FromKeyedServices] attribute
- Replace DeviceGroupModel with string-based device groups
- Add EditableSettingV2<T> for DI-compatible settings
- Integrate with upstream's localization, notification, and theme services
@lexm2 lexm2 closed this Feb 3, 2026
@lexm2 lexm2 reopened this Feb 3, 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.

2 participants