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

[23356] Dynamic color scheme implementation #189

Merged
merged 6 commits into from
Feb 19, 2025

Conversation

MichaelReyes
Copy link
Collaborator

@MichaelReyes MichaelReyes commented Feb 15, 2025

Pull Request (PR) Checklist

Thank you for your contribution! Please confirm that you've checked all the boxes below before submitting your PR. Use [x] to check a box, e.g., [x], and make sure there's no space around the brackets.

PR Context

Changes

Describe your changes in detail, highlighting the problem it solves or the feature it adds.

  • [TripGov5] update AppSelectionFragment to save Client to shared preference
  • [TripGov5] update fragment_induction.xml to use custombinding for dynamic color implementation for icon and button
  • [TripGov5] update HomeFragment to add checking if client is available and setting DynamicAppColor with AppColors from it
  • [TripGov5] update item_induction_detail.xml to use custombinding for dynamic color implementation for icon and button
  • [TripGov5] update item_welcome_banner.xml to use custombinding for dynamic color implementation for icon and button
  • [TripKit] update TripKitConstants to add pref key for client
  • [TripKit] update TripKitSharedPreference to add saving and fetching of client from preference
  • [TripKitUI] add Color.kt for color related extensions
  • [TripKitUI] update CustomBinding.kt to add binding adapters for setting tint, background and text colors from AppColors
  • [TripKitUI] add DynamicAppColor to handle, in a singleton approach, the AppColors from client to be used throughout the app
  • [TripKitUI] update fragment_trip_preview_parent.xml and trip_result_list_item_trip.xml to use custombinding for dynamic color implementation for icon and button
  • [TripKitUI] update ActionButtonViewModel to set button tint color from DynamicAppColor
  • [TripKitUI] update CustomBinding.kt to add BindingAdapters for setting tint, background and foreground colors to imageview, layout, textview and buttons from DynamicAppColor
  • [TripKitUI] update layout's TextViews, ImageViews, Buttons and Parent layouts to use bindingAdapters for DynamicAppColor implementation
  • [TripGov5] update layout's TextViews, ImageViews, Buttons and Parent layouts to use bindingAdapters for DynamicAppColor implementation
  • [TripGov5] update WaupacaHomeActivity to load AppColors from preferences on app load
  • [TripGov5] update views to implement dynamic colors using custom binding set
  • [TripKitUI] update views to implement dynamic colors using custom binding set
  • [TripKitUI] update fragment_routing.xml to remove cursor color by setting textCursorDrawable to null
  • [TripKitUI] update fragment_tkui_date_time_picker_dialog.xml to set theme to make the calendar selector color generic
  • [TripKitUI] update styles.xml to add custom style for CalendarView

Checklist for Reviewers

Documentation and Code Quality

  • KDocs Documentation: Are all changes, new functionalities, and classes documented with KDocs?
  • Architectural Patterns: Is there consistent and proper use of architectural patterns (e.g., MVVM, MVP)?

Testing and Reliability

  • Unit Testing: Are there unit tests for all new functionalities and classes?
  • Emulator and Real Device Testing: Has the application been tested on both emulators and real devices to ensure compatibility?

Error Handling and Logging

  • Error Handling: Are errors and exceptions caught and handled gracefully, ensuring the app remains stable?
  • Logging: Is there proper logging in place for critical errors and information, aiding in debugging and monitoring?

Testing Procedure

If applicable, provide steps or commands for testing your changes. This can help reviewers and testers.

Work-in-Progress (WIP)

List any remaining work or areas that need additional focus. This section can be updated as the work progresses.

  • [ ]
  • [ ]

Remember to keep this template updated based on the feedback and evolving project standards.

- [TripGov5] update AppSelectionFragment to save Client to shared preference
- [TripGov5] update fragment_induction.xml to use custombinding for dynamic color implementation for icon and button
- [TripGov5] update HomeFragment to add checking if client is available and setting DynamicAppColor with AppColors from it
- [TripGov5] update item_induction_detail.xml to use custombinding for dynamic color implementation for icon and button
- [TripGov5] update item_welcome_banner.xml to use custombinding for dynamic color implementation for icon and button
- [TripKit] update TripKitConstants to add pref key for client
- [TripKit] update TripKitSharedPreference to add saving and fetching of client from preference
- [TripKitUI] add Color.kt for color related extensions
- [TripKitUI] update CustomBinding.kt to add binding adapters for setting tint, background and text colors from AppColors
- [TripKitUI] add DynamicAppColor to handle, in a singleton approach, the AppColors from client to be used throughout the app
- update fragment_trip_preview_parent.xml and trip_result_list_item_trip.xml to use custombinding for dynamic color implementation for icon and button
- [TripGov5] update tripkit-android-ui submodule reference
- [TripKitUI] update tripkit-android submodule reference
- [TripKitUI] update ActionButtonViewModel to set button tint color from DynamicAppColor
- [TripKitUI] update CustomBinding.kt to add BindingAdapters for setting tint, background and foreground colors to imageview, layout, textview and buttons from DynamicAppColor
- [TripKitUI] update layout's TextViews, ImageViews, Buttons and Parent layouts to use bindingAdapters for DynamicAppColor implementation
- [TripGov5] update layout's TextViews, ImageViews, Buttons and Parent layouts to use bindingAdapters for DynamicAppColor implementation
Copy link

✅ Unit tests passed successfully!

Test results are available under the "Artifacts" section of this run in GitHub Actions.

Please ensure the code is reviewed before proceeding with the merge.

@sg-jsonjuliane sg-jsonjuliane self-requested a review February 17, 2025 12:15
- [TripGov5] update WaupacaHomeActivity to load AppColors from preferences on app load
- [TripGov5] update views to implement dynamic colors using custom binding set
- [TripKitUI] update views to implement dynamic colors using custom binding set
Copy link

✅ Unit tests passed successfully!

Test results are available under the "Artifacts" section of this run in GitHub Actions.

Please ensure the code is reviewed before proceeding with the merge.

- [TripKitUI] update fragment_routing.xml to remove cursor color by setting textCursorDrawable to null
- [TripKitUI] update fragment_tkui_date_time_picker_dialog.xml to set theme to make the calendar selector color generic
- [TripKitUI] update styles.xml to add custom style for CalendarView
Copy link

❌ Unit tests failed!

@MichaelReyes, please review and fix the issues in the unit tests.

Test results are available under the "Artifacts" section of this run in GitHub Actions.

Copy link

✅ Unit tests passed successfully!

Test results are available under the "Artifacts" section of this run in GitHub Actions.

Please ensure the code is reviewed before proceeding with the merge.

- [TripKitUI] update tripkit-android submodule reference
Copy link

✅ Unit tests passed successfully!

Test results are available under the "Artifacts" section of this run in GitHub Actions.

Please ensure the code is reviewed before proceeding with the merge.

@MichaelReyes MichaelReyes merged commit e076198 into develop Feb 19, 2025
1 check passed
@MichaelReyes MichaelReyes deleted the feature/23356-dynamic-color-scheme branch February 19, 2025 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants