Skip to content

Samsung's One UI core libraries for Android apps.

License

Notifications You must be signed in to change notification settings

OneUIProject/oneui-core

Repository files navigation

For Wear OS, please look at oneuiw-core.

Samsung Experience Support Library (One UI 4.x)

This is the repository for the Samsung Experience Support Library (internally referenced as sesl).

Samsung's One UI apps are created by using a heavily modified version of Google's Android Jetpack and Material Components libraries, that include (but are not limited to) a new theme for the UI, new APIs and much more. The intent of this library is to make those Samsung UX elements available to everyone for study, modding or whatever feels right for you.

Any form of contribution, suggestions, bug report or feature request will be welcome.

Libraries

Android Jetpack:

Material Components:

Samsung:

  • apppickerview (based on 1.0.18-sesl4)
  • indexscroll (based on 1.0.14-sesl4)
  • picker-basic (based on 1.0.37-sesl4)
  • picker-color (based on 1.0.25-sesl4)

Missing libs:

  • slidingpanelayout (based on 1.0.10-sesl4)
  • typoanimation (based on 1.0.1-sesl4)

Usage

To use these libraries in your project, simply add the dependencies in your build.gradle file:

dependencies {
    implementation 'io.github.oneuiproject.sesl:appcompat:<version>'
    implementation 'io.github.oneuiproject.sesl:material:<version>'
    // ...
}

In order for your project to build correctly, you'll need to remove Google's original libraries:

configurations.all {
    exclude group: 'androidx.appcompat', module: 'appcompat'
    exclude group: 'androidx.core', module: 'core'
}

For more informations about the usage of the libraries, please take a look at our wiki.

Using with libraries that depend on AndroidX

If you need to use a library that requires one or more stock androidx module, you have to exclude those specific dependencies to avoid build errors, like this:

implementation("com.org.group:library:1.0.0") {
	exclude group: 'androidx.swiperefreshlayout', module: 'swiperefreshlayout'
}

More info

Special thanks

  • Google for their Jetpack and Material Components libraries.
  • Samsung for their awesome OneUI Design. :)
  • All the current and future contributors and issue reporters. :D