Skip to content

refactor: use object theme to optimize sub system management#1808

Open
jelychow wants to merge 4 commits intoandroid:mainfrom
jelychow:main
Open

refactor: use object theme to optimize sub system management#1808
jelychow wants to merge 4 commits intoandroid:mainfrom
jelychow:main

Conversation

@jelychow
Copy link
Copy Markdown

Using object to encapsulate the theme subsystem

DO NOT CREATE A PULL REQUEST WITHOUT READING THESE INSTRUCTIONS

Instructions

No more material themes in apps, this avoids importing different styles so that the theme is always presented as we expect it to be.
colors:NiaTheme.colorScheme.background
custom background:NiaTheme.niaBackground.background
gradient: NiaTheme.gradientColors
If this is your first pull request

Ensure tests pass and code is formatted correctly

  • Run local tests on the DemoDebug variant by running ./gradlew testDemoDebug
  • Fix code formatting: ./gradlew --init-script gradle/init.gradle.kts spotlessApply

Add a description

Using object to manage Theme's subsystems makes it easier to use them instead of using them directly inside the repo, which violates encapsulation.

NOW DELETE THIS LINE AND EVERYTHING ABOVE IT

What I have done and why

use NiaTheme instead of MaterialTheme
use properties instead of directly using sub systems

  • val backgroundColor = NiaTheme.colorScheme.background.toArgb()
  • val color = NiaTheme.niaBackground.color
  • val tonalElevation = NiaTheme.niaBackground.tonalElevation

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.

1 participant