diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8bff055b2372691929cdcd57f268883e791636e7..18eaada0766017151f5f4f2e20e72ba8a4343abe 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -43,19 +43,22 @@ android { signingConfig = signingConfigs.getByName("default") + resConfigs("en") + + vectorDrawables.useSupportLibrary = true + setProperty("archivesBaseName", "QuasselDroidNG-$versionName") javaCompileOptions { annotationProcessorOptions { - arguments = mapOf( - "room.schemaLocation" to "$projectDir/schemas" - ) + arguments = mapOf("room.schemaLocation" to "$projectDir/schemas") } } - vectorDrawables.useSupportLibrary = true - - resConfigs("en") + // Disable test runner analytics + testInstrumentationRunnerArguments = mapOf( + "disableAnalytics" to "true" + ) } buildTypes { @@ -86,9 +89,9 @@ android { } val appCompatVersion = "26.1.0" -val appArchVersion = "1.0.0-alpha9-1" +val appArchVersion = "1.0.0-rc1" dependencies { - implementation(kotlin("stdlib")) + implementation(kotlin("stdlib", "1.1.51")) implementation(appCompat("design")) implementation(appCompat("customtabs")) @@ -100,7 +103,6 @@ dependencies { implementation("io.reactivex.rxjava2:rxjava:2.1.3") - implementation(appArch("lifecycle", "runtime", version = "1.0.0")) implementation(appArch("lifecycle", "extensions")) implementation(appArch("lifecycle", "reactivestreams")) kapt(appArch("lifecycle", "compiler")) @@ -108,23 +110,25 @@ dependencies { implementation(appArch("persistence.room", "runtime")) kapt(appArch("persistence.room", "compiler")) - implementation(appArch("paging", "runtime", version = "1.0.0-alpha1")) { + implementation(appArch("paging", "runtime", version = "1.0.0-alpha3")) { exclude(group = "junit", module = "junit") } implementation("org.threeten:threetenbp:1.3.6") - implementation("com.jakewharton:butterknife:8.7.0") - kapt("com.jakewharton:butterknife-compiler:8.7.0") + implementation("com.jakewharton:butterknife:8.8.1") + kapt("com.jakewharton:butterknife-compiler:8.8.1") implementation(project(":lib")) implementation(project(":malheur")) - testImplementation("android.arch.persistence.room:testing:1.0.0-alpha9") + testImplementation(appArch("persistence.room", "testing")) testImplementation("junit:junit:4.12") - androidTestImplementation("com.android.support.test:runner:0.5") - androidTestImplementation("com.android.support.test:rules:0.5") + androidTestImplementation("com.android.support.test:runner:1.0.1") + androidTestImplementation("com.android.support.test:rules:1.0.1") + + androidTestImplementation("com.android.support.test.espresso:espresso-core:3.0.1") } tasks.withType(KotlinCompile::class.java) { diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/setup/SlideFragment.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/setup/SlideFragment.kt index 5e06a2866bb7acb02e85b97df8f48a4496eafe07..b06899e1aa18be27c87eebc5db1f532bff9cd9be 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/setup/SlideFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/setup/SlideFragment.kt @@ -22,14 +22,14 @@ abstract class SlideFragment : Fragment() { protected abstract fun isValid(): Boolean val valid = object : MutableLiveData<Boolean>() { - override fun observe(owner: LifecycleOwner?, observer: Observer<Boolean>?) { + override fun observe(owner: LifecycleOwner, observer: Observer<Boolean>) { super.observe(owner, observer) - observer?.onChanged(value) + observer.onChanged(value) } - override fun observeForever(observer: Observer<Boolean>?) { + override fun observeForever(observer: Observer<Boolean>) { super.observeForever(observer) - observer?.onChanged(value) + observer.onChanged(value) } } @@ -44,15 +44,12 @@ abstract class SlideFragment : Fragment() { viewGroup.addView(onCreateContent(inflater, viewGroup, savedInstanceState)) view.findViewById<TextView>(R.id.title)?.setText(title) - view.findViewById<CollapsingToolbarLayout>(R.id.collapsingToolbar)?.title = resources.getString( - title) + view.findViewById<CollapsingToolbarLayout>(R.id.collapsingToolbar)?.title = + resources.getString(title) view.findViewById<TextView>(R.id.description).setText(description) - val data = initData - if (data != null) - setData(data) - if (savedInstanceState != null) - setData(savedInstanceState) + initData?.let(this::setData) + savedInstanceState?.let(this::setData) updateValidity() return view diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/util/helper/LiveDataHelper.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/util/helper/LiveDataHelper.kt index 8b0f9998205dfe8c2285b74dcb1ed6b44ab1002e..78f083ab279e9fd7e2c7c19a83b426a454d95334 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/util/helper/LiveDataHelper.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/util/helper/LiveDataHelper.kt @@ -18,12 +18,10 @@ inline fun <X, Y> LiveData<X?>.switchMap( if (mSource === newLiveData) { return } - if (mSource != null) { - result.removeSource(mSource) - } + mSource?.let(result::removeSource) mSource = newLiveData - if (mSource != null) { - result.addSource(mSource) { y -> result.value = y } + if (newLiveData != null) { + result.addSource(newLiveData) { y -> result.value = y } } else { result.value = null } @@ -46,12 +44,10 @@ inline fun <X, Y> LiveData<X?>.switchMapRx( if (mSource === newLiveData) { return } - if (mSource != null) { - result.removeSource(mSource) - } + mSource?.let(result::removeSource) mSource = newLiveData - if (mSource != null) { - result.addSource(mSource) { y -> result.value = y } + if (newLiveData != null) { + result.addSource(newLiveData) { y -> result.value = y } } else { result.value = null } diff --git a/build.gradle.kts b/build.gradle.kts index a62c67371a84496d1370a5f7790df81e51440cca..d954400396d4ba1901186dc9258e6917213ee3bb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ buildscript { jcenter() } dependencies { - classpath("com.android.tools.build:gradle:3.0.0-rc1") + classpath("com.android.tools.build:gradle:3.0.0-rc2") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.51") classpath("org.jetbrains.kotlin:kotlin-android-extensions:1.1.51") } diff --git a/lib/src/test/java/de/kuschku/libquassel/ConnectionUnitTest.kt b/lib/src/test/java/de/kuschku/libquassel/ConnectionUnitTest.kt index d37c19ae5bc6e9170f4650af1c3e913dff1cd8b3..1612ef25c1861e0cfbd98578c8b7feda06e11c46 100644 --- a/lib/src/test/java/de/kuschku/libquassel/ConnectionUnitTest.kt +++ b/lib/src/test/java/de/kuschku/libquassel/ConnectionUnitTest.kt @@ -1,6 +1,9 @@ package de.kuschku.libquassel -import de.kuschku.libquassel.protocol.* +import de.kuschku.libquassel.protocol.ClientData +import de.kuschku.libquassel.protocol.Protocol +import de.kuschku.libquassel.protocol.Protocol_Feature +import de.kuschku.libquassel.protocol.Quassel_Feature import de.kuschku.libquassel.quassel.ProtocolFeature import de.kuschku.libquassel.quassel.QuasselFeature import de.kuschku.libquassel.session.Session @@ -28,7 +31,7 @@ class ConnectionUnitTest { runTest("localhost", 4242, "user", "pass") } - private fun runTest(host: String, port: UShort, user: String, pass: String) { + private fun runTest(host: String, port: Int, user: String, pass: String) { val session = Session(ClientData( identifier = "libquassel test", buildDate = Instant.EPOCH,