diff --git a/about/src/main/kotlin/ca/allanwang/kau/about/CutoutIItem.kt b/about/src/main/kotlin/ca/allanwang/kau/about/CutoutIItem.kt index d92f6a78c..2a1588c75 100644 --- a/about/src/main/kotlin/ca/allanwang/kau/about/CutoutIItem.kt +++ b/about/src/main/kotlin/ca/allanwang/kau/about/CutoutIItem.kt @@ -35,7 +35,7 @@ class CutoutIItem(val config: CutoutView.() -> Unit = {}) : KauIItem) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) with(holder) { if (accentColor != null && themeEnabled) cutout.foregroundColor = accentColor!! diff --git a/about/src/main/kotlin/ca/allanwang/kau/about/FaqIItem.kt b/about/src/main/kotlin/ca/allanwang/kau/about/FaqIItem.kt index 977b7ff83..ddb9a18e2 100644 --- a/about/src/main/kotlin/ca/allanwang/kau/about/FaqIItem.kt +++ b/about/src/main/kotlin/ca/allanwang/kau/about/FaqIItem.kt @@ -67,7 +67,7 @@ class FaqIItem(val content: FaqItem) : KauIItem( private var isExpanded = false @SuppressLint("SetTextI18n") - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) with(holder) { number.text = "${content.number}." diff --git a/about/src/main/kotlin/ca/allanwang/kau/about/LibraryIItem.kt b/about/src/main/kotlin/ca/allanwang/kau/about/LibraryIItem.kt index cd53f55e6..c64fe4e10 100644 --- a/about/src/main/kotlin/ca/allanwang/kau/about/LibraryIItem.kt +++ b/about/src/main/kotlin/ca/allanwang/kau/about/LibraryIItem.kt @@ -59,7 +59,7 @@ class LibraryIItem(val lib: Library) : KauIItem( get() = false set(_) {} - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) with(holder) { name.text = lib.libraryName diff --git a/build.gradle b/build.gradle index a2da52c77..c5dfff381 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,8 @@ buildscript { classpath Plugins.dexCount classpath Plugins.gitVersion classpath Plugins.spotless - classpath 'com.google.dagger:hilt-android-gradle-plugin:2.28-alpha' + classpath Plugins.aboutLibraries + classpath Plugins.hilt } wrapper.setDistributionType(Wrapper.DistributionType.ALL) diff --git a/buildSrc/src/main/kotlin/kau/Dependencies.kt b/buildSrc/src/main/kotlin/kau/Dependencies.kt index b59ba9166..18acccbca 100644 --- a/buildSrc/src/main/kotlin/kau/Dependencies.kt +++ b/buildSrc/src/main/kotlin/kau/Dependencies.kt @@ -92,6 +92,7 @@ object Dependencies { const val iconicsCommunity = "com.mikepenz:community-material-typeface:${Versions.iconicsCommunity}-kotlin@aar" + const val aboutLibraries = "com.mikepenz:aboutlibraries:${Versions.aboutLibraries}" const val aboutLibrariesCore = "com.mikepenz:aboutlibraries-core:${Versions.aboutLibraries}" const val blurry = "jp.wasabeef:blurry:${Versions.blurry}" diff --git a/buildSrc/src/main/kotlin/kau/Plugins.kt b/buildSrc/src/main/kotlin/kau/Plugins.kt index 3978d7ba2..67d14c96c 100644 --- a/buildSrc/src/main/kotlin/kau/Plugins.kt +++ b/buildSrc/src/main/kotlin/kau/Plugins.kt @@ -5,6 +5,7 @@ package kau */ object Plugins { const val android = "com.android.tools.build:gradle:${Versions.gradlePlugin}" + const val aboutLibraries = "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin:${Versions.aboutLibraries}" const val bugsnag = "com.bugsnag:bugsnag-android-gradle-plugin:${Versions.bugsnagPlugin}" const val kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}" const val androidMaven = "com.github.dcendents:android-maven-gradle-plugin:${Versions.mavenPlugin}" @@ -12,4 +13,5 @@ object Plugins { const val dexCount = "com.getkeepsafe.dexcount:dexcount-gradle-plugin:${Versions.dexCountPlugin}" const val gitVersion = "com.gladed.androidgitversion:gradle-android-git-version:${Versions.gitVersionPlugin}" const val spotless = "com.diffplug.spotless:spotless-plugin-gradle:${Versions.spotless}" + const val hilt = "com.google.dagger:hilt-android-gradle-plugin:${Versions.hilt}" } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/kau/Versions.kt b/buildSrc/src/main/kotlin/kau/Versions.kt index f01f6b866..15aa5055c 100644 --- a/buildSrc/src/main/kotlin/kau/Versions.kt +++ b/buildSrc/src/main/kotlin/kau/Versions.kt @@ -15,13 +15,13 @@ object Versions { const val recyclerView = "1.1.0" // https://mvnrepository.com/artifact/androidx.swiperefreshlayout/swiperefreshlayout - const val swipeRefreshLayout = "1.0.0" + const val swipeRefreshLayout = "1.1.0" // https://mvnrepository.com/artifact/androidx.cardview/cardview const val cardView = "1.0.0" // https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout - const val constraintLayout = "2.0.0-beta4" + const val constraintLayout = "2.0.0-beta8" // https://mvnrepository.com/artifact/androidx.core/core-ktx const val coreKtx = "1.2.0" @@ -30,22 +30,22 @@ object Versions { const val kotlin = "1.3.72" // https://github.com/Kotlin/kotlinx.coroutines/releases - const val coroutines = "1.3.7" + const val coroutines = "1.3.8" // https://github.com/mikepenz/AboutLibraries/releases - const val aboutLibraries = "7.1.0" + const val aboutLibraries = "8.3.0" // https://github.com/wasabeef/Blurry/releases const val blurry = "3.0.0" // https://github.com/mikepenz/FastAdapter/releases - const val fastAdapter = "4.1.2" + const val fastAdapter = "5.2.2" // https://github.com/bumptech/glide/releases const val glide = "4.11.0" // https://github.com/mikepenz/Android-Iconics#1-provide-the-gradle-dependency - const val iconics = "4.0.2" + const val iconics = "5.0.3" const val iconicsGoogle = "3.0.1.4" const val iconicsMaterial = "2.2.0.6" const val iconicsCommunity = "3.5.95.1" @@ -57,10 +57,10 @@ object Versions { const val koin = "2.1.6" // https://mvnrepository.com/artifact/com.google.dagger/hilt-android - const val hilt = "2.28.1-alpha" + const val hilt = "2.28.3-alpha" // https://square.github.io/leakcanary/changelog/ - const val leakCanary = "2.2" + const val leakCanary = "2.4" // https://mvnrepository.com/artifact/androidx.test.espresso/espresso-core?repo=google const val espresso = "3.3.0-rc01" @@ -85,14 +85,14 @@ object Versions { const val bugsnagPlugin="4.7.5" // https://mvnrepository.com/artifact/com.android.tools.build/gradle?repo=google - const val gradlePlugin = "4.1.0-beta02" + const val gradlePlugin = "4.1.0-beta04" // https://github.com/dcendents/android-maven-gradle-plugin/releases const val mavenPlugin = "2.1" // https://github.com/Triple-T/gradle-play-publisher/releases - const val playPublishPlugin = "2.7.5" + const val playPublishPlugin = "2.8.0" // https://github.com/KeepSafe/dexcount-gradle-plugin/releases - const val dexCountPlugin = "1.0.2" + const val dexCountPlugin = "1.0.3" // https://github.com/gladed/gradle-android-git-version/releases const val gitVersionPlugin = "0.4.13" diff --git a/docs/Changelog.md b/docs/Changelog.md index 2f9e5911c..cb21ff199 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -1,5 +1,9 @@ # Changelog +## v6.0.0 +* Add support for Android 4.1.x +* Add major version library updates (FastAdapter, AboutLibrary, Iconics) + ## v5.3.0 * :about: Moved config builder inside activity * :color: Allow option to disable selected ring diff --git a/fastadapter-viewbinding/src/main/kotlin/ca/allanwang/fastadapter/viewbinding/BindingItem.kt b/fastadapter-viewbinding/src/main/kotlin/ca/allanwang/fastadapter/viewbinding/BindingItem.kt index 96055e4fa..ff694f0c2 100644 --- a/fastadapter-viewbinding/src/main/kotlin/ca/allanwang/fastadapter/viewbinding/BindingItem.kt +++ b/fastadapter-viewbinding/src/main/kotlin/ca/allanwang/fastadapter/viewbinding/BindingItem.kt @@ -56,13 +56,13 @@ abstract class BindingItem(open val data: Any?) : return binding.root } - final override fun bindView(holder: ViewHolder, payloads: MutableList) { + final override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) val binding = holder.getBinding() binding.bindView(holder, payloads) } - abstract fun Binding.bindView(holder: ViewHolder, payloads: MutableList) + abstract fun Binding.bindView(holder: ViewHolder, payloads: List) protected fun unbind(vararg textViews: TextView) { textViews.forEach { it.text = null } diff --git a/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt b/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt index 655b35505..a9e6bfa3b 100644 --- a/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt +++ b/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt @@ -27,8 +27,8 @@ import com.mikepenz.fastadapter.select.SelectExtension /** * Add kotlin's generic syntax to better support out types */ -fun fastAdapter(vararg adapter: IAdapter) = - FastAdapter.with>(adapter.toList()) +fun fastAdapter(vararg adapter: IAdapter): FastAdapter = + FastAdapter.with(adapter.toList()) /** * Returns selection size, or -1 if selection is disabled diff --git a/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/CardIItem.kt b/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/CardIItem.kt index 1a2e6cb4b..41663c989 100644 --- a/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/CardIItem.kt +++ b/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/CardIItem.kt @@ -89,7 +89,7 @@ class CardIItem( var imageRes: Int = INVALID_ID } - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) with(holder.itemView.context) context@{ with(configs) { diff --git a/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/HeaderIItem.kt b/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/HeaderIItem.kt index 551cb59a8..15ceb31b2 100644 --- a/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/HeaderIItem.kt +++ b/fastadapter/src/main/kotlin/ca/allanwang/kau/iitems/HeaderIItem.kt @@ -40,7 +40,7 @@ class HeaderIItem( var text: String = text ?: "Header Placeholder" - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) holder.text.text = holder.itemView.context.string(textRes, text) bindTextColor(holder.text) diff --git a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefCheckbox.kt b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefCheckbox.kt index a867d06f5..16900c4cc 100644 --- a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefCheckbox.kt +++ b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefCheckbox.kt @@ -34,7 +34,7 @@ open class KPrefCheckbox(builder: BaseContract) : KPrefItemBase) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) val checkbox = holder.bindInnerView(R.layout.kau_pref_checkbox) withAccentColor(checkbox::tint) diff --git a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefColorPicker.kt b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefColorPicker.kt index 76cfbab94..d7023af26 100644 --- a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefColorPicker.kt +++ b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefColorPicker.kt @@ -33,7 +33,7 @@ import com.afollestad.materialdialogs.MaterialDialog */ open class KPrefColorPicker(open val builder: KPrefColorContract) : KPrefItemBase(builder) { - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) if (builder.showPreview) { val preview = holder.bindInnerView(R.layout.kau_pref_color) diff --git a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefHeader.kt b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefHeader.kt index ca70b6139..6828053ec 100644 --- a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefHeader.kt +++ b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefHeader.kt @@ -28,7 +28,7 @@ open class KPrefHeader(builder: CoreContract) : KPrefItemCore(builder) { override val layoutRes: Int get() = R.layout.kau_pref_header - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) withAccentColor(holder.title::setTextColor) } diff --git a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemBase.kt b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemBase.kt index 16363e2fb..22be52308 100644 --- a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemBase.kt +++ b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemBase.kt @@ -47,7 +47,7 @@ abstract class KPrefItemBase(protected val base: BaseContract) : KPrefItem } @CallSuper - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) _enabled = base.enabler() with(holder) { diff --git a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemCore.kt b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemCore.kt index 79b7e8202..0aaa2d32b 100644 --- a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemCore.kt +++ b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefItemCore.kt @@ -70,7 +70,7 @@ abstract class KPrefItemCore(val core: CoreContract) : AbstractItem) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) with(holder) { updateTitle() diff --git a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefSeekbar.kt b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefSeekbar.kt index 9abdf0997..41efa4283 100644 --- a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefSeekbar.kt +++ b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefSeekbar.kt @@ -37,7 +37,7 @@ open class KPrefSeekbar(val builder: KPrefSeekbarContract) : KPrefItemBase( override fun KClick.defaultOnClick() = Unit - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) val text = holder.bindInnerView(R.layout.kau_pref_seekbar_text) withTextColor(text::setTextColor) diff --git a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefText.kt b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefText.kt index 50f0c6218..b5a69dde5 100644 --- a/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefText.kt +++ b/kpref-activity/src/main/kotlin/ca/allanwang/kau/kpref/activity/items/KPrefText.kt @@ -46,7 +46,7 @@ open class KPrefText(open val builder: KPrefTextContract) : KPrefItemBase< context.toast("No click function set") } - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) val textView = holder.bindInnerView(R.layout.kau_pref_text) withTextColor(textView::setTextColor) diff --git a/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaActionItem.kt b/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaActionItem.kt index 552bf0f5c..636dcf0b7 100644 --- a/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaActionItem.kt +++ b/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaActionItem.kt @@ -46,7 +46,7 @@ class MediaActionItem( get() = false set(_) {} - override fun bindView(holder: MediaItemBasic.ViewHolder, payloads: MutableList) { + override fun bindView(holder: MediaItemBasic.ViewHolder, payloads: List) { super.bindView(holder, payloads) holder.image.apply { setImageDrawable( diff --git a/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaItem.kt b/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaItem.kt index 88a304fb8..86cb3679d 100644 --- a/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaItem.kt +++ b/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaItem.kt @@ -54,7 +54,7 @@ class MediaItem(val data: MediaModel) : get() = !failedToLoad set(_) {} - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) glide(holder.itemView) .load(data.data) diff --git a/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaItemBasic.kt b/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaItemBasic.kt index e801848fe..6f0d22350 100644 --- a/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaItemBasic.kt +++ b/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaItemBasic.kt @@ -52,7 +52,7 @@ class MediaItemBasic(val data: MediaModel) : get() = false set(_) {} - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) glide(holder.itemView) .load(data.data) diff --git a/sample/build.gradle b/sample/build.gradle index fd07da178..a39ee2da8 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -7,6 +7,7 @@ apply plugin: 'kotlin-android-extensions' //apply plugin: 'com.bugsnag.android.gradle' apply plugin: 'com.github.triplet.play' apply plugin: 'dagger.hilt.android.plugin' +apply plugin: 'com.mikepenz.aboutlibraries.plugin' play { serviceAccountCredentials = file('../files/gplay-keys.json') diff --git a/sample/src/main/kotlin/ca/allanwang/kau/sample/PermissionCheckbox.kt b/sample/src/main/kotlin/ca/allanwang/kau/sample/PermissionCheckbox.kt index 50cfe69a7..7bd285158 100644 --- a/sample/src/main/kotlin/ca/allanwang/kau/sample/PermissionCheckbox.kt +++ b/sample/src/main/kotlin/ca/allanwang/kau/sample/PermissionCheckbox.kt @@ -41,7 +41,7 @@ import com.mikepenz.fastadapter.listeners.EventHook class PermissionCheckbox(val permission: String) : KauIItem( R.layout.permission_checkbox, { ViewHolder(it) }) { - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) holder.text.text = permission holder.checkbox.isChecked = holder.itemView.context.hasPermission(permission) @@ -72,7 +72,7 @@ class PermissionCheckboxViewBinding( override fun PermissionCheckboxBinding.bindView( holder: ViewHolder, - payloads: MutableList + payloads: List ) { permText.text = data.permission permCheckbox.apply { diff --git a/sample/src/main/res/xml/kau_changelog.xml b/sample/src/main/res/xml/kau_changelog.xml index a40e70ef6..a7208eaad 100644 --- a/sample/src/main/res/xml/kau_changelog.xml +++ b/sample/src/main/res/xml/kau_changelog.xml @@ -6,11 +6,14 @@ --> + + + + - diff --git a/searchview/src/main/kotlin/ca/allanwang/kau/searchview/SearchItem.kt b/searchview/src/main/kotlin/ca/allanwang/kau/searchview/SearchItem.kt index 78d878225..7be1c687e 100644 --- a/searchview/src/main/kotlin/ca/allanwang/kau/searchview/SearchItem.kt +++ b/searchview/src/main/kotlin/ca/allanwang/kau/searchview/SearchItem.kt @@ -78,7 +78,7 @@ class SearchItem( ) } - override fun bindView(holder: ViewHolder, payloads: MutableList) { + override fun bindView(holder: ViewHolder, payloads: List) { super.bindView(holder, payloads) holder.title.setTextColor(foregroundColor) holder.desc.setTextColor(foregroundColor.adjustAlpha(0.6f))