-
Notifications
You must be signed in to change notification settings - Fork 511
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
Fixes #1171 #1173 #1175 #1177: Exploration/Question player high-fi work #1531
Conversation
…nts-lowfi # Conflicts (Resolved): # app/src/main/java/org/oppia/app/player/state/StatePlayerRecyclerViewAssembler.kt # app/src/main/java/org/oppia/app/player/state/itemviewmodel/FeedbackViewModel.kt # app/src/main/java/org/oppia/app/player/state/itemviewmodel/FractionInteractionViewModel.kt # app/src/main/java/org/oppia/app/player/state/itemviewmodel/InteractionViewModelModule.kt # app/src/main/java/org/oppia/app/player/state/itemviewmodel/NumericInputViewModel.kt # app/src/main/java/org/oppia/app/player/state/itemviewmodel/PreviousButtonViewModel.kt # app/src/main/java/org/oppia/app/player/state/itemviewmodel/ReplayButtonViewModel.kt # app/src/main/java/org/oppia/app/player/state/itemviewmodel/SubmittedAnswerViewModel.kt # app/src/main/java/org/oppia/app/player/state/itemviewmodel/TextInputViewModel.kt # app/src/main/java/org/oppia/app/testing/InputInteractionViewTestActivity.kt # app/src/main/res/layout/question_player_feedback_item.xml
…yer-highfi # Conflicts (Resolved): # app/src/main/java/org/oppia/app/player/state/StatePlayerRecyclerViewAssembler.kt # app/src/main/java/org/oppia/app/player/state/itemviewmodel/ContentViewModel.kt -Some code reduction
# Conflicts (Resolved): # app/src/main/java/org/oppia/app/databinding/StateAssemblerMarginBindingAdapters.kt # app/src/main/java/org/oppia/app/databinding/StateAssemblerPaddingBindingAdapters.kt # app/src/main/java/org/oppia/app/player/state/StatePlayerRecyclerViewAssembler.kt # app/src/main/java/org/oppia/app/player/state/itemviewmodel/ContentViewModel.kt # app/src/main/res/layout-sw600dp-land/content_item.xml # app/src/main/res/layout-sw600dp-port/content_item.xml # app/src/main/res/layout/content_item.xml -continue_interaction_item high-fi
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Its a nice implementation but there are couple of changes:
-
The question player is slightly following the conversation layout, which is correct, it should follow the layout similar to mobile question player mocks (not in terms of exact margins but a simple non-conversation view). You can also see this here: https://xd.adobe.com/view/d405de00-a871-4f0f-73a0-f8acef30349b-a234/screen/f136ee72-dd2e-42cb-8ff3-7b1cb6d4eb04/ where it has been mentioned that the marginStart and marginEnd is same for all items.
-
In this image: https://user-images.githubusercontent.com/8533363/88539787-2a8b9180-d012-11ea-9146-7b84273f5620.png you can notice that the buttons are not correctly aligned.
-
In this image: https://user-images.githubusercontent.com/8533363/88539832-35462680-d012-11ea-916e-4682b6a1241b.png
The interaction should get aligned with button on the right side. (Mobile Mock reference which shows that letf/right margins are same: https://xd.adobe.com/view/ee9e607b-dbd6-4372-48dc-b687d32af3da-98af/screen/336e968c-0811-4a5b-aac2-1f649ca7983b/specs/) -
Similarly in this, https://user-images.githubusercontent.com/8533363/88540095-aede1480-d012-11ea-9331-409d3f2d18e6.png , the left/right margin of
Previous Responses Header
should also be aligned with that of button.
In short the start/end margin for all items in question player will be same for all items which follows match_parent as width.
Also, I really appreciate you taking some improvisations wherever the mocks were not finished or their were inconsistencies.
Thanks a lot. |
@MohamedMedhat1998 There is still one alignment issue in the implementation in exploration player: The right-side alignment of button with the interaction is incorrect. The right side white border should be aligned with the button right end. In landscape as well as portrait. ![Screenshot_1595960414](https://user-images.githubusercontent.com/9396084/88706110-0ae98b80-d12e-11ea-97ae-9e17d0e3f30f.png) ![Screenshot_1595960440](https://user-images.githubusercontent.com/9396084/88706113-0b822200-d12e-11ea-9c20-3f34aab47750.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks.
Out of curiosity, @MohamedMedhat1998 why are we overwriting |
@BenHenning because the thickness of the |
I'm really hesitant to override such a core property since the order in which data-binding properties are resolved are quite complicated (leading situations like #1536). We might actually have other subtle crashes/issues with this override--could we use a custom view to set the response header thickness, instead? |
Explanation
This PR implements the high-fi work for Tablet Devices and Split Screen for the following items
What was changed
StateRecyclerViewAssembler
isSplitView
for all ViewModelsisExtraInteractionAnswerCorrect
that is used in the split-screen to center the correct answer of the user on the rightlayout-land
layout-land
files for the interactions because they didn't exist before split-screen workPlayer sub-components
128
start and end margin inportrait
) (192
start and end margins inlandscape
)176
and208
margins inlandscape
) (112
and144
margins inportrait
)dimen.xml
state_fragment
AudioBar
andCongratulation
textquestion_fragment
QuestionProgressBar
andCongratulation
textScreenshots
Tablet-Land
Tablet-Port
Split-screen
Checklist