diff --git a/android-configs/common-config.gradle b/android-configs/common-config.gradle index 7871c2e..dc73fdd 100644 --- a/android-configs/common-config.gradle +++ b/android-configs/common-config.gradle @@ -1,10 +1,10 @@ apply plugin: 'kotlin-android' rootProject.ext { - compileSdk = 29 + compileSdk = 33 minSdk = 21 - targetSdk = 29 + targetSdk = 33 } android { @@ -16,12 +16,12 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = JavaVersion.VERSION_17.toString() } buildFeatures { diff --git a/api-logansquare/build.gradle b/api-logansquare/build.gradle index 46d7270..d81df27 100644 --- a/api-logansquare/build.gradle +++ b/api-logansquare/build.gradle @@ -1,5 +1,9 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.templates.logansquare" +} + dependencies { implementation project(":utils") implementation project(":logging") diff --git a/kotlin-extensions/build.gradle b/kotlin-extensions/build.gradle index afbabac..950e83c 100644 --- a/kotlin-extensions/build.gradle +++ b/kotlin-extensions/build.gradle @@ -1,5 +1,9 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.extensions" +} + dependencies { implementation "androidx.recyclerview:recyclerview" implementation "androidx.fragment:fragment-ktx" diff --git a/lifecycle-rx/build.gradle b/lifecycle-rx/build.gradle index f78e445..ad82b3b 100644 --- a/lifecycle-rx/build.gradle +++ b/lifecycle-rx/build.gradle @@ -1,5 +1,9 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.lifecycle.rx" +} + dependencies { api project(":utils") api project(":logging") diff --git a/lifecycle-viewcontroller/build.gradle b/lifecycle-viewcontroller/build.gradle index e76fa52..7a7b607 100644 --- a/lifecycle-viewcontroller/build.gradle +++ b/lifecycle-viewcontroller/build.gradle @@ -1,5 +1,9 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.lifecycle_viewcontroller" +} + dependencies { implementation project(":lifecycle") implementation project(":navigation-viewcontroller") diff --git a/lifecycle/build.gradle b/lifecycle/build.gradle index ce6fc3e..9e5af83 100644 --- a/lifecycle/build.gradle +++ b/lifecycle/build.gradle @@ -1,5 +1,9 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.lifecycle" +} + dependencies { compileOnly "javax.inject:javax.inject:1" diff --git a/livedata-location/build.gradle b/livedata-location/build.gradle index aca5fc6..9a71da0 100644 --- a/livedata-location/build.gradle +++ b/livedata-location/build.gradle @@ -1,5 +1,17 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.livedata.location" +} + +configurations.configureEach { + resolutionStrategy.eachDependency { + if (requested.name == "agconnect-core") { + useVersion(libs.versions.agconnectCore.get()) + } + } +} + dependencies { api project(":lifecycle") diff --git a/logging/build.gradle b/logging/build.gradle index 57d4392..6e6a1e3 100644 --- a/logging/build.gradle +++ b/logging/build.gradle @@ -1,5 +1,9 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.roboswag.core.log" +} + dependencies { implementation "androidx.annotation:annotation" diff --git a/navigation-base/build.gradle b/navigation-base/build.gradle index ef03f06..957350a 100644 --- a/navigation-base/build.gradle +++ b/navigation-base/build.gradle @@ -3,7 +3,20 @@ apply from: "../android-configs/lib-config.gradle" apply plugin: 'kotlin-kapt' android { - buildFeatures.viewBinding = true + namespace "ru.touchin.roboswag.navigation_base" + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_17.toString() + } + + buildFeatures { + viewBinding true + buildConfig true + } } dependencies { diff --git a/navigation-viewcontroller/build.gradle b/navigation-viewcontroller/build.gradle index 8734cef..7cd4561 100644 --- a/navigation-viewcontroller/build.gradle +++ b/navigation-viewcontroller/build.gradle @@ -2,6 +2,23 @@ apply from: "../android-configs/lib-config.gradle" apply plugin: 'kotlin-kapt' +android { + namespace "ru.touchin.roboswag.navigation_viewcontroller" + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_17.toString() + } + + buildFeatures { + viewBinding true + buildConfig true + } +} + dependencies { implementation project(":utils") implementation project(":logging") @@ -13,7 +30,7 @@ dependencies { constraints { implementation("androidx.appcompat:appcompat") { version { - require '1.0.2' + require '1.7.0-alpha03' } } diff --git a/navigation-viewcontroller/src/main/java/ru/touchin/roboswag/navigation_viewcontroller/keyboard_resizeable/KeyboardResizeableViewController.kt b/navigation-viewcontroller/src/main/java/ru/touchin/roboswag/navigation_viewcontroller/keyboard_resizeable/KeyboardResizeableViewController.kt index bd7f7c8..54d8188 100644 --- a/navigation-viewcontroller/src/main/java/ru/touchin/roboswag/navigation_viewcontroller/keyboard_resizeable/KeyboardResizeableViewController.kt +++ b/navigation-viewcontroller/src/main/java/ru/touchin/roboswag/navigation_viewcontroller/keyboard_resizeable/KeyboardResizeableViewController.kt @@ -25,9 +25,21 @@ abstract class KeyboardResizeableViewController + onKeyboardShow(diff) + isKeyboardVisible = true + } + private var isKeyboardVisible: Boolean = false - private val keyboardHideListener = OnBackPressedListener { + private val keyboardHidingOnBackPressedListener = OnBackPressedListener { if (isKeyboardVisible) { UiUtils.OfViews.hideSoftInput(activity) true @@ -46,39 +58,31 @@ abstract class KeyboardResizeableViewController - onKeyboardShow(diff) - isKeyboardVisible = true - } - } + if (isHideKeyboardOnBackEnabled) activity.removeOnBackPressedListener(keyboardHidingOnBackPressedListener) } override fun onStop() { super.onStop() activity.keyboardBehaviorDetector?.apply { - keyboardHideListener = null - keyboardShowListener = null + removeOnHideListener(onKeyboardHideListener) + removeOnShowListener(onKeyboardShowListener) } } @@ -86,5 +90,4 @@ abstract class KeyboardResizeableViewController( val view: View = creationContext.inflater.inflate(layoutRes, creationContext.container, false) + override val lifecycle: Lifecycle + get() = fragment.viewLifecycleOwner.lifecycle + init { lifecycle.addObserver(LifecycleLoggingObserver(this)) } - override fun getLifecycle(): Lifecycle = fragment.viewLifecycleOwner.lifecycle - /** * Look for a child view with the given id. If this view has the given id, return this view. * diff --git a/recyclerview-adapters/build.gradle b/recyclerview-adapters/build.gradle index f52284b..be8895d 100644 --- a/recyclerview-adapters/build.gradle +++ b/recyclerview-adapters/build.gradle @@ -1,5 +1,9 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.roboswag.recyclerview_adapters" +} + dependencies { implementation project(':kotlin-extensions') diff --git a/recyclerview-calendar/build.gradle b/recyclerview-calendar/build.gradle index 811a091..5afd14d 100644 --- a/recyclerview-calendar/build.gradle +++ b/recyclerview-calendar/build.gradle @@ -1,5 +1,9 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.calendar" +} + dependencies { implementation project(":logging") implementation 'net.danlew:android.joda' diff --git a/rx-extensions/build.gradle b/rx-extensions/build.gradle index 3e4f58f..a2be65b 100644 --- a/rx-extensions/build.gradle +++ b/rx-extensions/build.gradle @@ -1,5 +1,9 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.extensions.rx" +} + dependencies { implementation project(":utils") implementation project(":logging") diff --git a/storable/build.gradle b/storable/build.gradle index 58f4456..55b4d19 100644 --- a/storable/build.gradle +++ b/storable/build.gradle @@ -1,5 +1,9 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.core.observables.storable" +} + dependencies { implementation project(":utils") implementation project(":logging") diff --git a/utils/build.gradle b/utils/build.gradle index 2a490af..48d2989 100644 --- a/utils/build.gradle +++ b/utils/build.gradle @@ -1,5 +1,9 @@ apply from: "../android-configs/lib-config.gradle" +android { + namespace "ru.touchin.roboswag.core.utils" +} + dependencies { implementation project(':kotlin-extensions') implementation "androidx.core:core" diff --git a/views/build.gradle b/views/build.gradle index e76deb5..0b45f54 100644 --- a/views/build.gradle +++ b/views/build.gradle @@ -2,8 +2,11 @@ apply from: "../android-configs/lib-config.gradle" apply plugin: 'kotlin-android' android { + namespace "ru.touchin.roboswag.views" + buildFeatures { viewBinding true + buildConfig true } } diff --git a/views/src/main/java/ru/touchin/roboswag/views/widget/LoadingContentView.kt b/views/src/main/java/ru/touchin/roboswag/views/widget/LoadingContentView.kt index 8b43051..5a6bfae 100644 --- a/views/src/main/java/ru/touchin/roboswag/views/widget/LoadingContentView.kt +++ b/views/src/main/java/ru/touchin/roboswag/views/widget/LoadingContentView.kt @@ -36,26 +36,27 @@ class LoadingContentView @JvmOverloads constructor( } private fun updateView(state: State) { - if (state == State.ShowContent) { - getChildAt(childCount - 1)?.let { showChild(it.id) } - } else { - when (state) { - is State.Stub -> { - setStubText(state.stubText) - showChild(R.id.text_stub) + when (state) { + State.ShowContent -> { + getChildAt(childCount - 1)?.let { showChild(it.id) } + } + + is State.Stub -> { + setStubText(state.stubText) + showChild(R.id.text_stub) + } + + State.Loading -> { + showChild(R.id.progress_bar) + } + + is State.Error -> { + binding.apply { + errorText.text = state.errorText + errorRepeatButton.setOnRippleClickListener { state.action.invoke() } + errorRepeatButton.text = state.repeatButtonText + showChild(R.id.error_with_repeat) } - is State.Loading -> { - showChild(R.id.progress_bar) - } - is State.Error -> { - binding.apply { - errorText.text = state.errorText - errorRepeatButton.setOnRippleClickListener { state.action.invoke() } - errorRepeatButton.text = state.repeatButtonText - showChild(R.id.error_with_repeat) - } - } - else -> Unit } } }