Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Find cleaner way to initialize the item input type for selection interactions #299

Closed
BenHenning opened this issue Nov 5, 2019 · 0 comments · Fixed by #4412
Closed

Find cleaner way to initialize the item input type for selection interactions #299

BenHenning opened this issue Nov 5, 2019 · 0 comments · Fixed by #4412
Labels
Impact: Low Low perceived user impact (e.g. edge cases). Issue: Needs Clarification Indicates that an issue needs more detail in order to be able to be acted upon. Priority: Nice-to-have This work item is nice to have for its milestone. Z-ibt Temporary label for Ben to keep track of issues he's triaged.

Comments

@BenHenning
Copy link
Member

Setting the item selection type (checkboxes vs. multiple choice) for the item selection interaction is done via a custom binding adapter, but this is a potential data race against actually initializing the adapter which relies on the input type to be present, and binding adapter ordering is not well-defined. We should be setting this type permanently for the view (since it will never change), rather than relying on a custom adapter. One option is just to have checkbox-specific and radio button-specific versions of the interaction view.

@BenHenning BenHenning added Type: Improvement Priority: Nice-to-have This work item is nice to have for its milestone. labels Nov 5, 2019
@BenHenning BenHenning added this to the Backlog milestone Jun 23, 2020
@Broppia Broppia added issue_type_infrastructure Impact: Low Low perceived user impact (e.g. edge cases). labels Jul 29, 2022
@BenHenning BenHenning added Issue: Needs Clarification Indicates that an issue needs more detail in order to be able to be acted upon. Z-ibt Temporary label for Ben to keep track of issues he's triaged. labels Sep 16, 2022
@BenHenning BenHenning removed this from the Backlog milestone Sep 16, 2022
BenHenning added a commit that referenced this issue Oct 4, 2022
…and MultiTypeBuilder (#4412)

* Replace builder() with Factory in SingleTypeBuilder and MultiTypeBuilder.

* Fix failing tests after refactor, Create Fragment for DragDropTestActivity.kt.

* Inject the BindableAdapter.kt factory into the fragment and listview instances.

* Inject the BindableAdapter.kt factory into the fragment and listview instances.

* Inject the BindableAdapter.kt factory into the fragment and listview instances.

* Inject the BindableAdapter.kt factory into the fragment and listview instances.

* Add 'androidx.work:work-testing:2.4.0' in androidTestImplementation to fix tests.

* Fix lint formatting issue in updated files.

* Fix some of the failing tests after fixing #2658.

* Fix some of the failing tests after fixing #2658.

* Fix more failing tests for #2658.

* Refactor StatePlayerRecyclerViewAssembler.kt to inject MultiTypeAdapterFactory

* Fix failing tests due to missed refactor of QuestionPlayerFragmentPresenter.kt to inject MultiTypeAdapter Factory.

* More updates as part of refactoring for issue #2658.

* Refactor PromotedStoryListView.kt BindableAdapterTest.kt classes to provide Adapter through injection for isuue #2658.

* Fix issues as advised by code review.

* Fix issue causing some of failing tests.

* Fix issue causing some of failing tests.

* Revert unused resources, to fix Static check test failure.

* Add KDocs to implemented public functions, to fix KDocs Static check test failure.

* Add exemption for test to DragDropTestFragmentPresenter and DragDropTestFragment since they are actual test classes.

* Fix nits and updates as advised during code review.

* Fix nits and updates as advised during code review.

* Fix nits and updates as advised during code review.

* Updates issues as advised on code review, fix some of the failing tests.

* Fix failing tests.

* Fix more failing tests by reverting DragDropSortInteractionView.kt and SelectionInteractionView.kt to initial state.

* Update multiple field namings for consistency as advised by code reviewer.

* Fix failing tests and revert from previous fix, which could not be used in alpha.

* Fix out-of-order binding for selection, drop/drop.

* Post-merge fixes.

Mainly, this fixing previous code as well as image region selection
(which whose breakage could only be detected via manually playing the
image region selection and by running the interaction's corresponding
test suite on Espresso, both of which caught different sets of issues).

The PR includes some cleanup work as well.

* Fix lint issues after resolving merge conflicts on CI and add lessons_chapter_view.xml which is not available on my branch even after several sync's causing build errors.

* Revert deleted deltas.

* Remove lessons_chapter_view.xml since it is no longer required.

Co-authored-by: Ben Henning <[email protected]>
Repository owner moved this from Needs Triage to Done in [Team] Core Learner and Mastery flows & UI Frontend - Android Oct 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Impact: Low Low perceived user impact (e.g. edge cases). Issue: Needs Clarification Indicates that an issue needs more detail in order to be able to be acted upon. Priority: Nice-to-have This work item is nice to have for its milestone. Z-ibt Temporary label for Ben to keep track of issues he's triaged.
2 participants