• Stars
    star
    224
  • Rank 177,792 (Top 4 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An extensive collection of Kotlin Android Utils
KAU

An extensive collection of Kotlin Android Utils

This library contains small helper functions used throughout almost all of my other projects. The goal is to make common interactions executable in a single line.

Get it on Google Play

ChangelogMigration


KAU is available on JitPack

Build Status Crowdin Awesome Kotlin Badge ZenHub GitHub license

To apply, add the following to your root build.gradle:

allprojects {
    repositories {
        ...
        mavenCentral()
        maven { url "https://jitpack.io" }
        google()
    }
}

And add the following dependencies (You can use a specific version, commit, or -SNAPSHOT):

Note that only core is required if you want the basic features. Note that if you use any particular submodule, it will automatically include all of its necessary dependencies.

dependencies {
    // all submodules extend this
    implementation "ca.allanwang.kau:core:$KAU"
    // all submodules with extensive ui extend this
    implementation "ca.allanwang.kau:core-ui:$KAU"
    
    implementation "ca.allanwang.kau:about:$KAU"
    implementation "ca.allanwang.kau:adapter:$KAU"
    implementation "ca.allanwang.kau:colorpicker:$KAU"
    implementation "ca.allanwang.kau:fastadapter:$KAU"
    implementation "ca.allanwang.kau:kpref-activity:$KAU"
    implementation "ca.allanwang.kau:mediapicker:$KAU"
    implementation "ca.allanwang.kau:searchview:$KAU"
}

Submodules

Linked to their respective docs.
Included dependencies are only those with exposed APIs; see new dependency configurations.
Implemented external dependencies are wrapped in parentheses. All KAU submodule dependencies are implemented, with the exception of core in core-ui. This means that you'll need to explicitly include each submodule you'd like to use, even if another declared submodule depends on it.

Core

Core UI

  • Collection of complex views and widgets
  • Includes :core

About

  • Modularized overlaying about section. Comes with a main panel, automatic lib detection, and a FAQ parser; also includes the lib strings for KAU.
  • Includes :core-ui, :fastadapter, About Libraries

Adapter

  • RecyclerView animations
  • Includes :core

Color Picker

  • Implementation of a color picker dialog with subtle transitions and a decoupled callback
  • Includes :core

FastAdapter

  • Kotlin bindings for the fast adapter
  • Includes :core, :adapter, Fast Adapter

KPref Activity

  • Fully programmatic implementation of a Preference Activity, backed by a RecyclerView
  • Includes :core, :fastadapter, :colorpicker

Media Picker

  • Fully functional image and video pickers, both as an overlay and as a requested activity.
  • Includes :core-ui, Glide, (Blurry)

SearchView

  • Material searchview with kotlin bindings
  • Includes :core-ui, :fastadapter

Gradle Plugin

  • Gradle plugin to help facilitate versioning and other gradle functions

Showcase

About Activity Gif Ink Indicator Gif Color Picker Gif KPref Items Gif SearchView Gif Swipe Gif

Proguard/MultiDex

Given that the core module contains a lot of extension functions, you may run into a dex error (over 64k methods)

To resolve that, add multiDexEnabled true under your app.gradle > android > defaultConfig

Likewise, it is highly recommended to use proguard to clean up your project upon release. All KAU components support proguard out of the box. Some may have extra requirements for certain features, which will be detailed in their respective README.

Translations

KAU depends on translations crowdsourced by the general public. If you would like to contribute, please visit here

Special thanks to the following awesome people for translating significant portions of KAU!

Language Contributors
Arabic Mohammed Qubati
Catalan Jaime Muñoz Martín
Chinese (Simplified) Alcatelia
Chinese (Traditional) yipinghuangSu, Jun-MingWei
Czech Lukas Novotny
Danish mhtorp
Dutch ItGuillaumeTatum ter Kuile
Finnish Rynach
French Vincent KulakJean-Philippe Gravel
Galician Xesús M. Mosquera
German Bushido1992Marcel Soehnchen3LD0mi HA
Greek George Kitsopoulos
Hungarian János Erkli
Indonesian M. Angga Ariska
Italian BonneeKeita Tanaka
Japanese maru2213
Korean 잇스테이크
Malayalam Abhishek M
Norwegian
Polish pantinPL
Portuguese Sérgio MarquesMiguel Dos Reis
Portuguese (Brazilian) TheusKhan
Russian Вадим Жушман
Serbian Nikola Radmanović
Spanish Jahir FiquitivaNefi Salazar
Swedish Artswitcher
Tagalog Fray Damaso
Tamil rooban23
Thai Thanawat Hanthong
Turkish zuma17
Ukrainian Вадим Жушман
Vietnamese Alienz

The full activity stream for the translations can be found here

More Repositories

1

Frost-for-Facebook

An extensive and functional third party app for Facebook
Kotlin
1,072
star
2

McGill-Public

Part of McGill U3/U4 that can be made public
TeX
59
star
3

Kellinwood-ZipSigner

ZipSigner source on Github for jitpack usage.
Java
24
star
4

Frost-for-Facebook-APK-Builder

Automated test builds for Frost
20
star
5

AllanWang-Resume

Yet another open source template
TeX
12
star
6

Capsule

A UI framework library for heavy designs
Java
11
star
7

DST-Dedicated-Server

Configs for dedicated server
Lua
7
star
8

Design-Patterns

4
star
9

Android-Github-Releases

A small library to help you manage apk updates through github releases
Kotlin
4
star
10

GitDroid

Git meets Android
Kotlin
4
star
11

AllanBot-Public

Snippets of code used in AllanBot
JavaScript
4
star
12

Fdroid-Client

Fdroid-client
Java
3
star
13

GPT-2

Python
3
star
14

RSS2JSON2

JavaScript
3
star
15

DST-Mods

Lua
3
star
16

GeckoView-Playground

Kotlin
3
star
17

Bubble

A library for popup view services.
Java
3
star
18

Discord-Bot

Kotlin
3
star
19

VR-McHacks-2017

A virtual reality environment
JavaScript
2
star
20

AllanWang-Web-React

TypeScript
2
star
21

PitchedApps-Web

Web Playground
TypeScript
2
star
22

sNNake-2.1

A multiplayer snake game with Neural Networks
Kotlin
2
star
23

Allan-Website

Source code for my main website
PHP
2
star
24

Minecraft-Toolbox

Kotlin
2
star
25

Kaggle-Colab

Notebook to help download kaggle data
Jupyter Notebook
2
star
26

McGill-Data

Kotlin
1
star
27

Pitched-Icon-Repository-Hub

Scheme
1
star
28

android-gesture-detectors

Java
1
star
29

LaTeX-Builder

Shell
1
star
30

MO

Kotlin
1
star
31

KIT

Kotlin Incremental Tools
Kotlin
1
star
32

Gradle-Plugin-Test

Kotlin
1
star
33

Comp250

Java
1
star
34

Pitched-Wallpapers

1
star
35

Comp-303

Java
1
star
36

sNNake-2.0

A neural network for a two player snake game
Java
1
star
37

Godot-Paint

C#
1
star
38

substratum-template

Kotlin template for substratum themes
Kotlin
1
star
39

OCaml-Test

OCaml
1
star
40

Exposed-GraphQL

1
star
41

Symbolic-Math

Haskell
1
star
42

Learning-Java

Bits and pieces of java as I progress and learn
Java
1
star
43

Stardew-Mods

C#
1
star
44

Korge-Playground

Kotlin
1
star
45

HaskellRank

Haskell Coding Practice
Haskell
1
star
46

Butler

Java
1
star
47

Storage-Hub

Just a git for bigger files
HTML
1
star
48

The-Library-of-Everything

Java
1
star
49

Reddit-Scripts

Kotlin
1
star
50

Brainfuck-Showcase

Java
1
star
51

Mac-Windows

AutoHotkey
1
star
52

Comp251

Tester code for comp 251
Java
1
star
53

Haskell-Playground

Testing the tooling for feasibility
Haskell
1
star
54

Little-Lamb

C#
1
star
55

the-game

Kotlin
1
star
56

Prime-Number-Calculator

Java
1
star
57

Git-Issues

TUI for viewing git issues
Go
1
star
58

Distributed-Systems

Kotlin
1
star
59

Program-Generator

Natural language program generator; McGill Comp 550 Project
TeX
1
star
60

Travis-Tracker

TypeScript
1
star
61

Split

Kotlin
1
star
62

Prim

Un service d'impression en Kotlin
Kotlin
1
star
63

Algorithms

A collection of coding questions and answers
Java
1
star
64

jGravity

A continuation of jGravity by tinybigideas
JavaScript
1
star
65

SwipeRecyclerView

SwipeRefreshLayout + RecyclerView + FastAdapter + Animations + More
Java
1
star