Skip to content
This repository has been archived by the owner on Jun 7, 2020. It is now read-only.

[NEW FEATURE] Theme Engine for Changing and Adding Custom Themes. #2450

Open
wants to merge 122 commits into
base: develop
Choose a base branch
from

Conversation

noor-binte-amir
Copy link
Contributor

@noor-binte-amir noor-binte-amir commented Aug 11, 2019

1_Sh4PskHXS_QsJGuYiaM_ZA

PROJECT: THEME SUPPORT FOR ROCKET.CHAT ANDROID APP

Requirement:

Themes are very popular and they are part of what makes Android stand out from the rest. But the current Rocket.Chat Android app lacks the feature of applying different themes. This project aims to bring different themes support like dark mode and black mode into the existing Android client. It should enable any developer to create a theme for the Rocket.Chat Android app without the need to work with our core codebase.

Student:

Noor Binte Amir

Organization:

Rocket.Chat

Mentors:

  1. Peter Nguyen
  2. Shailesh Baldaniya

Deliverables:

Theme Engine

  • A theme engine with a well designed architecture that supports external development of themes and easy integration with the app. The theme engine uses MVVM.
  • Successful integration of themes with app without changing the source code of the  app.

Built In Themes

The theme engine comes with a theme library with three built-in themes to choose from.

  • App Theme (Default Light Theme)
  • Dark Theme
  • Black Theme

Built-in Themes

Custom Themes

This feature allows you to edit any of the app's built-in themes and save it as a new custom theme.

Documentation:

User Guide:

https://github.com/NBAMIR/docs/blob/nbamir-themes/user-guides/themes/android/README.md

Developer Guide:

https://github.com/NBAMIR/docs/blob/nbamir-themes/developer-guides/themes/android/README.md

Documentation PR:

https://github.com/RocketChat/docs/pull/1395

Added new attribute colorHeadings.
Added recycler view and removed toggle buttons.
[FIX] Fixed Dependency Injection to work with BaseActivity.
[Improvement] Completed UI for ThemesFragment.kt
[FIX] Fixed status and navigation bar theming issue.
Implemented fade in and fade out animation to provide smoother theme switches.
[Improvement] Provided Smooth Theme Switching.
[FIX] Fixed issue with message responses.
[FIX] Changed code for theme switching.
[Improvement] Provided additional features.
Added new method for tinting drawables on top of TextViews.
Improved Theming Across App.
[FIX] Fixed Issue with Base Themes.
[FIX] Fixed Scrolling Issue and Palette Visibility.
[IMPROVEMENT] Improved styles and colors.
[FIX] Fixed theming for update_avatar_options.xml.
[FIX] Fixed theming issues in ChatRoomFragment.kt
[FIX] Fixed theming issues with message attachments.
[FIX] Fixed theming issues.
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.

1 participant