Skip to content

Conversation

@PavloNetrebchuk
Copy link
Contributor

@PavloNetrebchuk PavloNetrebchuk commented Oct 23, 2025

Features:
1. Downloads tab & logic
• Added a Downloads page accessible via main navigation: “downloads tab” feature. 
• Download course list request and empty-state UI implemented. 
• Logic improvements: landscape/tablet support, removing course items during download, updating download state if new blocks added. 
• School icon added in DownloadDialogItem. 
• Refactored code for readability and optimized downloading logic. 
• Changes per PR feedback: rename config flag, fix available course size in download dialog. 
• (See PR #432)
2. Progress Tab & Course Content Tabs
• Introduced a “Course Progress” tab: UI + logic + caching first use + color coding + analytics events. 
• (See PR #448)
• Added “Course Content Tabs”: all-content tab, video-content tab, video-tab progress UI. 
• Fixes: video progress caching, UI adjustments for assignment tab, demo/QA feedback integration. 
• (See PR #450)
3. Home Tab Enhancements & Video Navigation
• Home tab: course home pager + pager indicator, moved HomeNavigationRow to bottom bar. 
• Course home page cards: videos card, assignment card, grades card; empty states; analytics. 
• (See PR #462)
• Video navigation: next/prev buttons logic updated for video view mode; UI & obfuscation fixes; updated androidyoutubeplayer to fix error #15. 
• (See PR #464)
4. Authorization Request Dialog
• New authorization request dialog added. 
• (See PR #431)
5. Discussions Content Style
• Replaced plain-text with WebView renderer to support rich formatting in discussion views. 
• (See PR #437)

Fixes & Improvements:
1. RTL, User Avatar & Dark Theme Bugs
• Fixed color issues, avatar rotation fix, RTL support. 
• (See PR #426)
2. Performance & Data Loading
• Optimized data loading on dashboard and course details pages. 
• Removed UIResult class; switched to flow.catch instead of try/catch in outline & container ViewModels. 
• (See PR #416)
3. Tablet / Landscape UI Layout Fixes
• Fixed layout for AllEnrolledCoursesView and DashboardGalleryView in tablet mode. 
• (See PR #433)
• Fixed primary course layout in landscape mode. 
• (See PR #435)
4. Memory Leaks & Lifecycle Issues
• Fixed memory leak in isImeVisibleState function. 
• Fixed memory leaks in MainFragment pager. 
• (See PR #453)
5. ProgressBar Range Info Crash
• Fixed IllegalArgumentException: current must not be NaN in ProgressBarRangeInfo. 
• (See PR #443)
6. Calendar / Future Course Dates
• Fixed fetching future course dates for the calendar view. 
• (See PR #444)
7. Video Handling After Logout
• Fixed video removal after user logs out. 
• (See PR #451)
8. Resources & Drawables Cleanup
• Removed useless resources and optimized imports, renamed drawables. 
• (See PR #455)
9. R8 / Obfuscation Fixes
• Fixed issues around R8 (code shrinker/obfuscator). 
• (See PR #456)

Library & Dependency Upgrades:
• Upgraded foundational libraries across the project. 
• (See PR #457)
• Bumped “foundation version” build dependency. 
• (See PR #449)

PavloNetrebchuk and others added 24 commits February 14, 2025 15:42
* fix: color fixes

* fix: user image rotation fix

* fix: rtl support
* perf: optimised data loading on dashboard and course details

* fix: course unit tests

* fix: course load exception and removed ui result class

* fix: lint checks

* chore: moved to flow.catch from try/catch in course outline and container viewmodels
* feat: added downloads tab to main navigation

* feat: course item UI

* feat: download course list request

* feat: downloads fragment empty state

* feat: downloading logic

* refactor: dynamic main menu

* feat: show loading course structure state

* feat: downloads analytic

* feat: junit test

* feat: navigate to course outline, swipe refresh on empty state

* fix: changes according PR review

* feat: show course item on dialog

* refactor: improved code for better readability, optimized downloading logic

* fix: dialog icon

* fix: remove course size

* feat: landscape and tablet ui

* fix: remove course during downloading

* fix: update download page after getting course structure on outline page

* fix: update downloading state if new blocks was added

* feat: added height limit and scroll to download dialog

* feat: rename config flag

* feat: fix available course size in download dialog. Improved logic of getting downloads models from room

* feat: added school icon to DownloadDialogItem

* fix: using real unarchived size instead bloc size

* fix: junit tests

* feat: navigation icons update

* fix: changes according PR review

* feat: put config to experimental value

* fix: junit test fix
* feat: replaced text with WebView to support rich formatting

* feat: html renderer

* fix: mapping error

* fix: changes according code review

* fix: changes according code review
* refactor: Removed useless resources, optimized imports

* refactor: Rename drawables
* feat: progress tab UI

* feat: progress tab logic

* feat: cache first logic

* feat: color coding

* fix: changes according demo feedback

* fix: changes according demo feedback

* feat: color coding

* feat: separator between assignment policies on the progress

* feat: progressTabClickedEvent

* feat: defaultColors changed
* feat: all content tab

* feat: video content tab

* feat: video tab progress

* fix: video progress caching

* fix: changes according demo feedback

* fix: assignment tab UI

* fix: connected data to assignment tab UI

* feat: color coding, detekt fixes

* feat: resume video

* fix: changes according review

* feat: changes according PR feedback

* feat: empty state view

* fix: changes according PR review feedback

* fix: changes according QA review feedback

* feat: analytics

* fix: changes according QA review

* feat: db automigration
* feat: course home pager and pager indicator with navigation

* feat: course completion pager tab

* feat: move HomeNavigationRow to bottom bar

* feat: course home pages videos card

* feat: course home pages assignment card

* feat: course home pages grades card

* feat: added empty states

* feat: CaughtUpMessage

* feat: A11y

* feat: detekt fixes

* feat: changes according demo feedback

* feat: course home analytic

* feat: CourseHomeViewModelTest

* fix: detekt fix and changes according PR review

* feat: performance improvements

* feat: changes according PR feedback

* feat: changes according PR feedback
* feat: course home pager and pager indicator with navigation

* feat: course completion pager tab

* feat: move HomeNavigationRow to bottom bar

* feat: course home pages videos card

* feat: course home pages assignment card

* feat: course home pages grades card

* feat: added empty states

* feat: CaughtUpMessage

* feat: A11y

* feat: detekt fixes

* feat: changes according demo feedback

* feat: course home analytic

* feat: CourseHomeViewModelTest

* fix: detekt fix and changes according PR review

* feat: performance improvements

* feat: changes according PR feedback

* feat: changes according PR feedback

* feat: video navigation

* feat: minor ui fixes

* feat: next prev buttons logic update for video view mode

* fix: db error fix

* fix: button arrow fix

* fix: changes according designer review

* fix: obfuscation fix

* fix: changes according code review feedback

* fix: update androidyoutubeplayer to fix error 15

---------

Co-authored-by: IvanStepanok <[email protected]>
@openedx-webhooks openedx-webhooks added the open-source-contribution PR author is not from Axim or 2U label Oct 23, 2025
@openedx-webhooks
Copy link

Thanks for the pull request, @PavloNetrebchuk!

This repository is currently maintained by @openedx/openedx-mobile-maintainers.

Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review.

🔘 Get product approval

If you haven't already, check this list to see if your contribution needs to go through the product review process.

  • If it does, you'll need to submit a product proposal for your contribution, and have it reviewed by the Product Working Group.
    • This process (including the steps you'll need to take) is documented here.
  • If it doesn't, simply proceed with the next step.
🔘 Provide context

To help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:

  • Dependencies

    This PR must be merged before / after / at the same time as ...

  • Blockers

    This PR is waiting for OEP-1234 to be accepted.

  • Timeline information

    This PR must be merged by XX date because ...

  • Partner information

    This is for a course on edx.org.

  • Supporting documentation
  • Relevant Open edX discussion forum threads
🔘 Get a green build

If one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green.

Details
Where can I find more information?

If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:

When can I expect my changes to be merged?

Our goal is to get community contributions seen and reviewed as efficiently as possible.

However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:

  • The size and impact of the changes that it introduces
  • The need for product review
  • Maintenance status of the parent repository

💡 As a result it may take up to several weeks or months to complete a review and merge your PR.

@github-project-automation github-project-automation bot moved this to Needs Triage in Contributions Oct 23, 2025
@PavloNetrebchuk PavloNetrebchuk changed the title Release v2.2 Release v2.2 (Ulmo.1) Oct 23, 2025
@volodymyr-chekyrta volodymyr-chekyrta merged commit 3c340e3 into main Oct 23, 2025
7 of 8 checks passed
@github-project-automation github-project-automation bot moved this from Needs Triage to Done in Contributions Oct 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

open-source-contribution PR author is not from Axim or 2U

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants