Skip to content

Simple Android build utilities to avoid hard coding build version code (API level) to improve code readability

License

Notifications You must be signed in to change notification settings

vinchamp77/buildutils

Repository files navigation

BuildUtils Android Library

Simple Android build utilities to avoid hard coding build version code (API level) to improve code readability.

Instead of hard coding like this,

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
    /*...*/
}

you can use BuildExt

if (BuildExt.VERSION.isDynamicColorSupported()) {
    /*...*/
}

to provide better code readability.

Setup

1. Import JitPack Android Library

Add maven { url 'https://jitpack.io' } in

groovy - settings.gradle
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()

        maven { url 'https://jitpack.io' }
    }
}
kotlin - settings.gradle.kts
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()

        maven ("https://jitpack.io")
    }
}

2. Add dependency

groovy - build.gradle
dependencies {
    implementation "com.github.vinchamp77:buildutils:0.0.6"
}
kotlin - build.gradle.kts
dependencies {
    implementation("com.github.vinchamp77:buildutils:0.0.6")
}

Usage

Import

import com.github.vinchamp77.buildutils.BuildExt

Examples

APIs App Examples
All APis demo MainScreen.kt - Show all API usages
BuildExt.VERSION.isDynamicColorSupported() Theme.kt - Use dynamic color based on app's theme
BuildExt.VERSION.isNotificationRuntimePermissionNeeded() MainScreen.kt - Show notification runtime permission dialog
BuildExt.VERSION.isNotificationChannelSupported()
BuildExt.VERSION.isFlagImmutableSupported()
SyncWorker.kt
- Create pending intent flag
- Create notification channel

License

Copyright 2023 Vincent Tsen

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

Simple Android build utilities to avoid hard coding build version code (API level) to improve code readability

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages