Userinterface di merge#323
Open
lexm2 wants to merge 68 commits intoRawAccelOfficial:userinterfacefrom
Open
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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