From f015225d45f4f2f7bf1833e20257102d2fc7dce7 Mon Sep 17 00:00:00 2001 From: Stas Kozyrev Date: Tue, 20 Nov 2018 17:43:55 +0200 Subject: [PATCH 1/2] fixed reload data issue --- .../java/com/yalantis/kolodaandroid/KolodaSampleAdapter.kt | 1 - .../main/java/com/yalantis/kolodaandroid/MainActivity.kt | 2 +- library/src/main/java/com/yalantis/library/Koloda.kt | 6 ++---- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/yalantis/kolodaandroid/KolodaSampleAdapter.kt b/app/src/main/java/com/yalantis/kolodaandroid/KolodaSampleAdapter.kt index e83d248..65f9f30 100644 --- a/app/src/main/java/com/yalantis/kolodaandroid/KolodaSampleAdapter.kt +++ b/app/src/main/java/com/yalantis/kolodaandroid/KolodaSampleAdapter.kt @@ -10,7 +10,6 @@ import com.bumptech.glide.Glide import com.bumptech.glide.load.resource.bitmap.CenterCrop import com.bumptech.glide.load.resource.bitmap.RoundedCorners import com.bumptech.glide.request.RequestOptions -import kotlinx.android.synthetic.main.item_koloda.* import kotlinx.android.synthetic.main.item_koloda.view.* diff --git a/app/src/main/java/com/yalantis/kolodaandroid/MainActivity.kt b/app/src/main/java/com/yalantis/kolodaandroid/MainActivity.kt index 7f80d2b..7ad8e4e 100644 --- a/app/src/main/java/com/yalantis/kolodaandroid/MainActivity.kt +++ b/app/src/main/java/com/yalantis/kolodaandroid/MainActivity.kt @@ -106,7 +106,7 @@ class MainActivity : AppCompatActivity() { override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.itemId) { - actionReload -> { koloda.reloadPreviousCard() } + actionReload -> { koloda.reloadAdapterData() } } return super.onOptionsItemSelected(item) } diff --git a/library/src/main/java/com/yalantis/library/Koloda.kt b/library/src/main/java/com/yalantis/library/Koloda.kt index 4864b47..69fb20f 100644 --- a/library/src/main/java/com/yalantis/library/Koloda.kt +++ b/library/src/main/java/com/yalantis/library/Koloda.kt @@ -225,7 +225,7 @@ constructor(context: Context, attrs: AttributeSet? = null, override fun onInvalidated() { super.onInvalidated() - adapterPosition = 0 + adapterPosition = -1 removeAllViews() addCards() } @@ -360,9 +360,7 @@ constructor(context: Context, attrs: AttributeSet? = null, * Reload all data. Start show data from the beginning */ fun reloadAdapterData() { - removeAllViews() - adapterPosition = 0 - dataSetObservable?.onChanged() + dataSetObservable?.onInvalidated() } /** From 24f7e127a4372d152ac559183591cf4580c19e87 Mon Sep 17 00:00:00 2001 From: Stas Kozyrev Date: Tue, 20 Nov 2018 18:02:43 +0200 Subject: [PATCH 2/2] library update add androidX support --- app/build.gradle | 26 +++++++++---------- .../kolodaandroid/ExampleInstrumentedTest.kt | 4 +-- .../kolodaandroid/KolodaSampleAdapter.kt | 5 ++-- .../yalantis/kolodaandroid/MainActivity.kt | 2 +- app/src/main/res/layout/item_koloda.xml | 6 ++--- build.gradle | 4 +-- gradle.properties | 2 ++ gradle/wrapper/gradle-wrapper.properties | 2 +- library/build.gradle | 14 +++++----- .../library/ExampleInstrumentedTest.java | 4 +-- library/src/main/AndroidManifest.xml | 3 +-- .../java/com/yalantis/library/CardLayout.kt | 4 +-- .../main/java/com/yalantis/library/Koloda.kt | 4 +-- 13 files changed, 39 insertions(+), 41 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1a955c4..ce9b2cc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,14 +10,14 @@ repositories { } android { - compileSdkVersion 26 + compileSdkVersion 28 defaultConfig { applicationId "com.yalantis.kolodaandroid" minSdkVersion 15 - targetSdkVersion 26 + targetSdkVersion 28 versionCode 1 versionName "1.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { @@ -29,15 +29,15 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" - implementation 'com.android.support:appcompat-v7:26.1.0' - implementation 'com.android.support.constraint:constraint-layout:1.0.2' - implementation "com.android.support:cardview-v7:26.1.0" - implementation 'com.android.support:recyclerview-v7:26.1.0' - implementation 'com.github.bumptech.glide:glide:4.3.1' - kapt 'com.github.bumptech.glide:compiler:4.3.1' + implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation 'androidx.appcompat:appcompat:1.0.2' + implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2' + implementation "androidx.cardview:cardview:1.0.0" + implementation 'androidx.recyclerview:recyclerview:1.0.0' + implementation 'com.github.bumptech.glide:glide:4.8.0' + kapt 'com.github.bumptech.glide:compiler:4.8.0' testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.1' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' - compile project(":library") + androidTestImplementation 'androidx.test:runner:1.1.0' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0' + implementation project(":library") } diff --git a/app/src/androidTest/java/com/yalantis/kolodaandroid/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/yalantis/kolodaandroid/ExampleInstrumentedTest.kt index 7270916..3cb4c77 100644 --- a/app/src/androidTest/java/com/yalantis/kolodaandroid/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/com/yalantis/kolodaandroid/ExampleInstrumentedTest.kt @@ -1,7 +1,7 @@ package com.yalantis.kolodaandroid -import android.support.test.InstrumentationRegistry -import android.support.test.runner.AndroidJUnit4 +import androidx.test.InstrumentationRegistry +import androidx.test.runner.AndroidJUnit4 import org.junit.Test import org.junit.runner.RunWith diff --git a/app/src/main/java/com/yalantis/kolodaandroid/KolodaSampleAdapter.kt b/app/src/main/java/com/yalantis/kolodaandroid/KolodaSampleAdapter.kt index 65f9f30..dfedb54 100644 --- a/app/src/main/java/com/yalantis/kolodaandroid/KolodaSampleAdapter.kt +++ b/app/src/main/java/com/yalantis/kolodaandroid/KolodaSampleAdapter.kt @@ -1,7 +1,7 @@ package com.yalantis.kolodaandroid import android.content.Context -import android.support.v7.widget.RecyclerView +import androidx.recyclerview.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -65,7 +65,7 @@ class KolodaSampleAdapter(val context: Context,val data: List?) : BaseAdapt * Static view items holder */ class DataViewHolder(view: View) : RecyclerView.ViewHolder(view) { - var picture = view.kolodaImage + private var picture = view.kolodaImage internal fun bindData(context: Context, data: Int) { val transforms = RequestOptions().transforms(CenterCrop(), RoundedCorners(20)) @@ -74,6 +74,5 @@ class KolodaSampleAdapter(val context: Context,val data: List?) : BaseAdapt .apply(transforms) .into(picture) } - } } \ No newline at end of file diff --git a/app/src/main/java/com/yalantis/kolodaandroid/MainActivity.kt b/app/src/main/java/com/yalantis/kolodaandroid/MainActivity.kt index 7ad8e4e..47f7176 100644 --- a/app/src/main/java/com/yalantis/kolodaandroid/MainActivity.kt +++ b/app/src/main/java/com/yalantis/kolodaandroid/MainActivity.kt @@ -1,6 +1,6 @@ package com.yalantis.kolodaandroid -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import com.yalantis.library.KolodaListener import kotlinx.android.synthetic.main.activity_main.* diff --git a/app/src/main/res/layout/item_koloda.xml b/app/src/main/res/layout/item_koloda.xml index 3130cba..e10f54d 100644 --- a/app/src/main/res/layout/item_koloda.xml +++ b/app/src/main/res/layout/item_koloda.xml @@ -1,6 +1,6 @@ - - - + diff --git a/build.gradle b/build.gradle index db571f1..5b6f016 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,13 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.1.51' + ext.kotlin_version = '1.3.0' repositories { google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0' + classpath 'com.android.tools.build:gradle:3.2.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle.properties b/gradle.properties index aac7c9b..9e6fce1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,6 +9,8 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. +android.enableJetifier=true +android.useAndroidX=true org.gradle.jvmargs=-Xmx1536m # When configured, Gradle will run in incubating parallel mode. diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8ce300a..4fe8485 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip diff --git a/library/build.gradle b/library/build.gradle index 2c2f508..a2f3466 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -2,17 +2,17 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' android { - compileSdkVersion 26 + compileSdkVersion 28 defaultConfig { minSdkVersion 15 - targetSdkVersion 26 + targetSdkVersion 28 versionCode 1 versionName "1.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -28,12 +28,12 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'com.android.support:appcompat-v7:26.1.0' + implementation 'androidx.appcompat:appcompat:1.0.2' testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.1' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' - compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" + androidTestImplementation 'androidx.test:runner:1.1.0' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0' + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" } repositories { mavenCentral() diff --git a/library/src/androidTest/java/com/yalantis/library/ExampleInstrumentedTest.java b/library/src/androidTest/java/com/yalantis/library/ExampleInstrumentedTest.java index 213d857..1e5b530 100644 --- a/library/src/androidTest/java/com/yalantis/library/ExampleInstrumentedTest.java +++ b/library/src/androidTest/java/com/yalantis/library/ExampleInstrumentedTest.java @@ -1,8 +1,8 @@ package com.yalantis.library; import android.content.Context; -import android.support.test.InstrumentationRegistry; -import android.support.test.runner.AndroidJUnit4; +import androidx.test.InstrumentationRegistry; +import androidx.test.runner.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/library/src/main/AndroidManifest.xml b/library/src/main/AndroidManifest.xml index 36f6714..03a1448 100644 --- a/library/src/main/AndroidManifest.xml +++ b/library/src/main/AndroidManifest.xml @@ -1,2 +1 @@ - + diff --git a/library/src/main/java/com/yalantis/library/CardLayout.kt b/library/src/main/java/com/yalantis/library/CardLayout.kt index d6f99e8..3ebb1b4 100644 --- a/library/src/main/java/com/yalantis/library/CardLayout.kt +++ b/library/src/main/java/com/yalantis/library/CardLayout.kt @@ -2,8 +2,8 @@ package com.yalantis.library import android.content.Context import android.os.Build -import android.support.annotation.DrawableRes -import android.support.v4.content.ContextCompat +import androidx.annotation.DrawableRes +import androidx.core.content.ContextCompat import android.util.AttributeSet import android.view.View import android.widget.FrameLayout diff --git a/library/src/main/java/com/yalantis/library/Koloda.kt b/library/src/main/java/com/yalantis/library/Koloda.kt index 69fb20f..aba4946 100644 --- a/library/src/main/java/com/yalantis/library/Koloda.kt +++ b/library/src/main/java/com/yalantis/library/Koloda.kt @@ -3,11 +3,9 @@ package com.yalantis.library import android.annotation.TargetApi import android.content.Context import android.database.DataSetObserver -import android.graphics.Color import android.os.Build -import android.support.annotation.DrawableRes +import androidx.annotation.DrawableRes import android.util.AttributeSet -import android.util.Log import android.view.LayoutInflater import android.view.View import android.widget.Adapter