owncloud / owncloud/android

Migrate to material color system

Open
#3,374 3 comments 1 reaction 1 assignee View on GitHub

@abelgardep is already working on this.

Since Oct 22, 2021.

Estimation - 5 (L) p3-medium UI / UX
Dominant language
Kotlin
Stars
4.2k
Forks
3.1k
Avg merge
1d 12h
Merged PRs (30d)
7

Description

Is your feature request related to a problem? Please describe.

At the moment, it is not easy to handle branded colors. Each time we add a new screen or modify a current one, we need to check if that color is brandable or not. Sometimes we need to reuse a current color in several places that are not related at all. There is some duplicity in the code for example to assign a textColor:

  • login_connection_text_color
  • login_credentials_text_color

At the moment it is a little messy because we need to check which colors are used on each view. It makes it pretty hard to determine which colors the branded version will have.

Describe the solution you'd like
Updating the app to the material design color system would make brand-ability sooooo much easier. We would need to update just the palette with the custom colors, and the whole app will be updated with the custom palette.

Additional context

This is how a material palette looks like. Branded versions will need to create their own palette, and the app will use that palette to show every single screen. We won't need to add a new color when a new screen is created(https://github.com/owncloud/android/issues/3327#issuecomment-905705438) since it will use the palette.

Firstly, we choose the main color and a secondary, then the backgrounds and error colors, and finally, we select the text colors that will be printed over the main, secondary, and background. This way, we assure that text color is properly shown over the background on any screen.

material palette

TASKS
  • Research (if needed)
  • Create branch feature/feature_name
  • Development tasks
    • Implement whatever
    • ...
  • Code review and apply changes requested
  • Design test plan
  • QA
  • Merge branch feature/feature_name into master
PR
  • App
  • Library (if needed)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.