Skip to content
This repository has been archived by the owner on May 6, 2024. It is now read-only.

feat: App nav #1808

Merged
merged 45 commits into from
Sep 25, 2023
Merged

feat: App nav #1808

merged 45 commits into from
Sep 25, 2023

Conversation

farhan-arshad-dev
Copy link
Contributor

@farhan-arshad-dev farhan-arshad-dev commented Aug 2, 2023

Description

LEARNER-8828

  • App nav feature branch.

@farhan-arshad-dev farhan-arshad-dev marked this pull request as draft August 3, 2023 08:59
@codecov
Copy link

codecov bot commented Aug 3, 2023

Codecov Report

Patch coverage has no change and project coverage change: -0.05% ⚠️

Comparison is base (e4bd970) 1.13% compared to head (5962d25) 1.09%.

Additional details and impacted files
@@             Coverage Diff             @@
##             master   #1808      +/-   ##
===========================================
- Coverage      1.13%   1.09%   -0.05%     
  Complexity      137     137              
===========================================
  Files           535     537       +2     
  Lines         25188   25954     +766     
  Branches       3039    3313     +274     
===========================================
- Hits            286     284       -2     
- Misses        24875   25643     +768     
  Partials         27      27              
Files Changed Coverage Δ
...c/main/java/org/edx/mobile/base/BaseAppActivity.kt 0.00% <0.00%> (ø)
...java/org/edx/mobile/base/BaseFragmentActivity.java 0.00% <0.00%> (ø)
.../main/java/org/edx/mobile/core/EdxDefaultModule.kt 0.00% <0.00%> (ø)
.../java/org/edx/mobile/deeplink/DeepLinkManager.java 0.00% <0.00%> (ø)
.../src/main/java/org/edx/mobile/deeplink/Screen.java 0.00% <ø> (ø)
...ava/org/edx/mobile/event/FragmentSelectionEvent.kt 0.00% <0.00%> (ø)
...rg/edx/mobile/event/RefreshCourseDashboardEvent.kt 0.00% <0.00%> (ø)
...java/org/edx/mobile/exception/LoginErrorMessage.kt 0.00% <0.00%> (ø)
...in/java/org/edx/mobile/exception/LoginException.kt 0.00% <0.00%> (ø)
...ain/java/org/edx/mobile/extenstion/ImageViewExt.kt 0.00% <0.00%> (ø)
... and 44 more

... and 101 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

farhan-arshad-dev and others added 25 commits September 12, 2023 11:56
- The Courses tab is renamed to Learn.
- The Programs tab is removed from the tab bar.

fixes: LEARNER-8892
- Add Collapsing Toolbar for Course Dashboard
- Remove Download Progress Indicator

Fixes: LEARNER-8922
feat: Add scrolling tabs in Course Dashboard

Fixes: LEARNER-8921
feat: Delete videos through Modal bottom sheet

We will show the Modal bottom sheet on long press on the course
list items (downloaded videos) instead of the Title bar to delete
videos.

Fixes: LEARNER-9137
feat: Add empty state to my courses screen

Fixes: LEARNER-8926
- added a custom layout to handle all kind of data loading states
- restrict course access if course date is expired
- update empty state on MyCoursesListFragment.kt
- remove unused code
fix: LEARNER-9139
- added error states on MyCoursesListFragment for any unexpected error
fix: LEARNER-9168
refactor: Turn My Courses ListView into RecyclerView

Fixes: LEARNER-9242
* feat: Add app update state on MyCoursesListFragment.kt

- Added App_Update state for older app versions
fix: LEARNER-9225
…ses (#1743)

feat: Error Screen for inaccessible but upgradable courses

- Close Course Dashboard if the price ain't fetched.
- Update the style guidelines to have one set of Primary
  and a Secondary button to keep
- Remove unused IAP code from CourseOutlineFragment

Fixes: LEARNER-9155
feat: Add Access Error screen for case "Course not started"

Fixes: LEARNER-9221
* chore: Update Course Access dates format

- Updated dates format stings.
- remove all previous strings and added new ones in strings_2.xml
fix: LEARNER-9141
- Rename the label Discovery to Discover
- Remove the Profile menu option from ActionBar
- Add the Profile tab in the main dashboard
- Make the toolbar collapsable for Learn,  Account and Discover screen
- Remove unused TabLayout from the base layout
- Fix learn screen dropdown animation

Fixes: LEARNER-8917
This commit displays the shift dates banner on the course dashboard.
The following changes have been made to achieve this:

- The shift dates banner has been removed from the Course Home and
  Dates tab to avoid clutter.
- All other banners will continue to be visible on the Course Dates
  tab, except for the shift date banner.
- The logic for the calendar out of sync has also been moved from
  the Home tab to the Course Tabs Dashboard.

It also addresses the following:

- Convert CourseTabsDashboardFragment from Java to Kotlin
- Make auditAccessExpires property nullable in course response

Fixes: LEARNER-9320
- Implement dropdown list with RecyclerView component.
- Sections to be listed with an accordion to expand/collapse
  in order to show/hide subsections under each section.
- By default, the first incomplete section is expanded while the
  rest of the sections will be closed.
- Checkmarks and green background to be shown on completed sections
  (if all sub-sections have been completed) and completed sub-sections.
- Convert the `CourseStatusInfo` endpoint structure to MVVM.

fixes: LEARNER-8928
chore: Update Resume course design on CourseDashboard
- Update the resume course button design according to new app nav
- Update the strings and remove the old ones
- Remove the unused resources
fixes: LEARNER-9226
- Redesign Login & Register Screen
- Redesign Social Auth Panel
- Remove old and unused resources
- Redesign Social Signup Success msg
- Remove DividerWithTextView
- Optimise& Refactor the relevant code from Java to Kotlin

fixes: LEARNER-9364
fix: App Nav UX Feedback Improvements

- Update and verify the toolbar titles for the main dash board in case of expand (match with h3) and collapse (match with h4).
- Course dashboard shouldn't close on `Cancel` action from the price fetch error popup.

fixes: LEARNER-9437
- Remove the Profile screen from the navigation flow
- Update the UI for the Edit screen
- The Profile screen is still visible from the discussions module

Fixes: LEARNER-9445
- replace `getSerializable`, and `getParcelableExtra` method calls with appropriate kotlin extension.
- Native Text Field for Forgot Password Dialog
- Landscape mode for Launch, Login, and Register screens
- State persistence after orientation change on Launch, Login, and Register screens
- Fixed AppBar Text Size in landscape mode
- Enhanced Social Source Type

Fixes: LEARNER-9461
- Assign IDs to the views for required fields on the Registration screen.
- Assign IDs to the views on the Account screen.

Fixes: LEARNER-9508
* feat: Enhance Scrolling Experience for Discover Section

- Renamed the title from Discover to Explore the Catalog
- Defaulted the title to be hidden in favor of the webview's internal title
- The title will only be displayed upon scrolling
- Ensured consistency between the discovery experience for both guest users and logged-in users

Fixes: LEARNER-9514
feat: Revamp Course Unit Screen and Component Navigation

- Merge `CourseBaseActivity` into `CourseUnitNavigationActivity` cuz `CourseBaseActivity` is not used as a base class for other classes, and convert it into Kotlin.
- Stylistic changes to the header in the course unit, including Fonts, Background color, and Sub-section title followed by the unit title in the next line with a down arrow icon including table of contents from subsection in the course unit.
- Tapping the unit title brings up the Table of Content from the subsection in a dropdown, tapping a unit from the dropdown closes the dropdown and brings the user to the tapped unit
- Checkmarks to be shown on with the completed units and a Lock icon to be shown for units with locked content.
- Hide the drop-down if there is only one unit(no other unit to show) in the sub-section.
- Introduced a progress bar under the header so a user can get an overall idea of where in the content of the unit they are at.
- The Progress Bar is chopped into the number of components in the unit.
- The Progress Bar is highlighted yellow for the component they are at and grey for others.
- Footer section redesign in unit view, and remove prev/next component title under the prev/next buttons respectively.
- The only way to navigate to a component is to use the prev/next buttons or swipe (no unit outlines).
- Replace full-screen errors layout with new app nav state layout.

fixes: LEARNER-9299, LEARNER-9304
HamzaIsrar12 and others added 19 commits September 12, 2023 19:27
The following AsyncTasks have been removed:
- ProfileTask
- AnonymousTask
- LoginTask
- RegisterTask
- EnqueueDownloadTask
- SaveUriToFileTask
- SetAccountImageTask
- GetProfileFormDescriptionTask
- DeleteAccountImageTask

Some other fixes along the way:
- Make LoginActivity to follow MVVM
- Remove SocialDelegate references
- Fix Downloading from the Home Tab

Fixes: LEARNER-9195
- Made unit navigation and Course dashboard toolbar symmetric.
fixes: LEARNER-9576
- Arrows pointing down when the section is collapsed (minimized) and pointing up when the section has been expanded.

fixes: LEARNER-9576
- Check if the component is the leaf child at the time of component retrieving to load the proper course component.

fixes: LEARNER-9576
refactor: Replace list view with recycler view for video screen
…1821)

refactor: Replace listView with recyclerView for the Discussion Screen

- Replace listView with recyclerView on CourseDiscussionTopicsFragment, CourseDiscussionPostsThreadFragment and CourseDiscussionPostsSearchFragment
- Update BaseListAdapters with RecyclerView Adapters
- Optimise Code and usage including Java to kotlin conversion
- Add Extensions methods for multiple Views
- Remove multiple Eventbus and their implementations 

fix: LEARNER-9578
This was originally added as part of Learner-9361

Fixes: LEARNER-9613
Registration

In cases where a user initiates the social login process but does not
complete it and subsequently proceeds with email registration, the
application unexpectedly attempts to complete the initial social
registration using the access token and backend type from the
incomplete social registration. This fix addresses this issue.

Fixes: LEARNER-9613
chore: Disable Chromecast behind a local feature flag

- Configure Chromecast based on locally defined feature flag
fix: LEARNER-9610
Fixes: LEARNER-9613
- Add multi-type image support for what's new screen. e.g. gif, png

fixes: LEARNER-9603
@farhan-arshad-dev farhan-arshad-dev marked this pull request as ready for review September 25, 2023 09:34
@farhan-arshad-dev farhan-arshad-dev changed the title [WIP] feat: App nav feat: App nav Sep 25, 2023
Copy link
Contributor

@HamzaIsrar12 HamzaIsrar12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🏎️

@omerhabib26 omerhabib26 merged commit 9882175 into master Sep 25, 2023
2 of 5 checks passed
@omerhabib26 omerhabib26 deleted the app_nav branch September 25, 2023 09:41
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants