From 9fc968bdd7ab8abc47e6ddea21d33d402ce9e868 Mon Sep 17 00:00:00 2001 From: Vitaliy Yasenenko Date: Tue, 19 Feb 2019 23:05:58 +0200 Subject: [PATCH 1/2] Migrate to AndroidX --- build.gradle | 2 +- chatkit/build.gradle | 18 ++++++------ .../stfalcon/chatkit/commons/ImageLoader.java | 2 +- .../com/stfalcon/chatkit/commons/Style.java | 11 +++---- .../stfalcon/chatkit/commons/ViewHolder.java | 2 +- .../commons/models/MessageContentType.java | 2 +- .../stfalcon/chatkit/dialogs/DialogsList.java | 16 +++++----- .../chatkit/dialogs/DialogsListAdapter.java | 7 +++-- .../chatkit/messages/MessageHolders.java | 7 +++-- .../chatkit/messages/MessageInput.java | 6 ++-- .../chatkit/messages/MessageInputStyle.java | 7 +++-- .../chatkit/messages/MessagesList.java | 13 +++++---- .../chatkit/messages/MessagesListAdapter.java | 5 ++-- .../chatkit/messages/MessagesListStyle.java | 7 +++-- .../messages/RecyclerScrollMoreListener.java | 8 ++--- .../chatkit/utils/RoundedImageView.java | 10 +++---- .../chatkit/utils/ShapeImageView.java | 5 +++- .../main/res/layout/view_message_input.xml | 4 +-- gradle/wrapper/gradle-wrapper.properties | 2 +- sample/build.gradle | 29 +++++++++++-------- .../features/demo/DemoDialogsActivity.java | 5 ++-- .../features/demo/DemoMessagesActivity.java | 5 ++-- .../sample/features/main/MainActivity.java | 5 ++-- .../main/adapter/DemoCardFragment.java | 3 +- .../adapter/MainActivityPagerAdapter.java | 7 ++--- .../chatkit/sample/utils/AppUtils.java | 2 +- sample/src/main/res/layout/activity_main.xml | 6 ++-- .../main/res/layout/fragment_demo_card.xml | 4 +-- sample/src/main/res/layout/item_sample.xml | 4 +-- 29 files changed, 109 insertions(+), 95 deletions(-) diff --git a/build.gradle b/build.gradle index 80103afe..fe785cf0 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' + classpath 'com.android.tools.build:gradle:3.3.1' classpath 'com.novoda:bintray-release:0.8.0' // NOTE: Do not place your application dependencies here; they belong diff --git a/chatkit/build.gradle b/chatkit/build.gradle index f9b50b7f..b3f9993d 100644 --- a/chatkit/build.gradle +++ b/chatkit/build.gradle @@ -2,13 +2,13 @@ apply plugin: 'com.android.library' apply plugin: 'com.novoda.bintray-release' android { - compileSdkVersion 27 - buildToolsVersion "27.0.3" + compileSdkVersion 28 + buildToolsVersion '28.0.3' defaultConfig { minSdkVersion 14 versionCode 1 - versionName "0.3.3" + versionName "1.0.0" consumerProguardFiles 'proguard.txt' } android { @@ -21,7 +21,7 @@ android { publish { groupId = 'com.github.stfalcon' artifactId = 'chatkit' - publishVersion = '0.3.3' + publishVersion = '1.0.0' desc = 'ChatKit - is a library designed to simplify the development of UI for such a trivial task as chat. It have flexible possibilities for styling, customizing and data management' licences = ['Apache-2.0'] uploadName = 'ChatKit' @@ -29,14 +29,14 @@ publish { } ext { - supportVersion = '27.1.1' - flexboxVersion = '1.0.0' + androidxVersion = '1.0.2' + materialVersion = '1.1.0-alpha03' + flexboxVersion = '1.1.0' } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - - implementation "com.android.support:appcompat-v7:$supportVersion" - implementation "com.android.support:design:$supportVersion" + implementation "androidx.appcompat:appcompat:$androidxVersion" + implementation "com.google.android.material:material:$materialVersion" implementation "com.google.android:flexbox:$flexboxVersion" } diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/commons/ImageLoader.java b/chatkit/src/main/java/com/stfalcon/chatkit/commons/ImageLoader.java index a0f7f44f..e3b76564 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/commons/ImageLoader.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/commons/ImageLoader.java @@ -16,8 +16,8 @@ package com.stfalcon.chatkit.commons; -import android.support.annotation.Nullable; import android.widget.ImageView; +import androidx.annotation.Nullable; /** * Callback for implementing images loading in message list diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/commons/Style.java b/chatkit/src/main/java/com/stfalcon/chatkit/commons/Style.java index fcbd8a77..f6334d2f 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/commons/Style.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/commons/Style.java @@ -20,16 +20,17 @@ import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; -import android.support.annotation.AttrRes; -import android.support.annotation.ColorRes; -import android.support.annotation.DimenRes; -import android.support.annotation.DrawableRes; -import android.support.v4.content.ContextCompat; import android.util.AttributeSet; import android.util.TypedValue; import com.stfalcon.chatkit.R; +import androidx.annotation.AttrRes; +import androidx.annotation.ColorRes; +import androidx.annotation.DimenRes; +import androidx.annotation.DrawableRes; +import androidx.core.content.ContextCompat; + /** * Base class for chat component styles */ diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/commons/ViewHolder.java b/chatkit/src/main/java/com/stfalcon/chatkit/commons/ViewHolder.java index dff3193c..3708b979 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/commons/ViewHolder.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/commons/ViewHolder.java @@ -16,8 +16,8 @@ package com.stfalcon.chatkit.commons; -import android.support.v7.widget.RecyclerView; import android.view.View; +import androidx.recyclerview.widget.RecyclerView; /** * Base ViewHolder diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/commons/models/MessageContentType.java b/chatkit/src/main/java/com/stfalcon/chatkit/commons/models/MessageContentType.java index b8f2675a..6caa1d9c 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/commons/models/MessageContentType.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/commons/models/MessageContentType.java @@ -16,8 +16,8 @@ package com.stfalcon.chatkit.commons.models; -import android.support.annotation.Nullable; import com.stfalcon.chatkit.messages.MessageHolders; +import androidx.annotation.Nullable; /* * Created by troy379 on 28.03.17. diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/dialogs/DialogsList.java b/chatkit/src/main/java/com/stfalcon/chatkit/dialogs/DialogsList.java index 6336203d..7e9aaccd 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/dialogs/DialogsList.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/dialogs/DialogsList.java @@ -17,15 +17,16 @@ package com.stfalcon.chatkit.dialogs; import android.content.Context; -import android.support.annotation.Nullable; -import android.support.v7.widget.DefaultItemAnimator; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.SimpleItemAnimator; import android.util.AttributeSet; import com.stfalcon.chatkit.commons.models.IDialog; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.DefaultItemAnimator; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.SimpleItemAnimator; + /** * Component for displaying list of dialogs */ @@ -51,7 +52,7 @@ public DialogsList(Context context, @Nullable AttributeSet attrs, int defStyle) protected void onAttachedToWindow() { super.onAttachedToWindow(); - LinearLayoutManager layout = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false); + LinearLayoutManager layout = new LinearLayoutManager(getContext(), RecyclerView.VERTICAL, false); SimpleItemAnimator animator = new DefaultItemAnimator(); setLayoutManager(layout); @@ -90,8 +91,7 @@ void setAdapter(DialogsListAdapter adapter, boolean reverseLayout) { SimpleItemAnimator itemAnimator = new DefaultItemAnimator(); itemAnimator.setSupportsChangeAnimations(false); - LinearLayoutManager layoutManager = new LinearLayoutManager(getContext(), - LinearLayoutManager.VERTICAL, reverseLayout); + LinearLayoutManager layoutManager = new LinearLayoutManager(getContext(), RecyclerView.VERTICAL, reverseLayout); setItemAnimator(itemAnimator); setLayoutManager(layoutManager); diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/dialogs/DialogsListAdapter.java b/chatkit/src/main/java/com/stfalcon/chatkit/dialogs/DialogsListAdapter.java index dc48e7f0..ba65a63c 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/dialogs/DialogsListAdapter.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/dialogs/DialogsListAdapter.java @@ -18,9 +18,6 @@ import android.graphics.Typeface; import android.graphics.drawable.GradientDrawable; -import android.support.annotation.LayoutRes; -import android.support.annotation.Nullable; -import android.support.v7.widget.RecyclerView; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; @@ -42,6 +39,10 @@ import java.util.Date; import java.util.List; +import androidx.annotation.LayoutRes; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + import static android.view.View.GONE; import static android.view.View.VISIBLE; diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageHolders.java b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageHolders.java index c089cbdf..04e7ab9c 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageHolders.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageHolders.java @@ -1,8 +1,5 @@ package com.stfalcon.chatkit.messages; -import android.support.annotation.LayoutRes; -import android.support.annotation.NonNull; -import android.support.v4.view.ViewCompat; import android.text.Spannable; import android.text.method.LinkMovementMethod; import android.util.SparseArray; @@ -27,6 +24,10 @@ import java.util.Date; import java.util.List; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.core.view.ViewCompat; + /* * Created by troy379 on 31.03.17. */ diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageInput.java b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageInput.java index 16e42a35..a464af36 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageInput.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageInput.java @@ -19,8 +19,6 @@ import android.content.Context; import android.graphics.drawable.Drawable; import android.os.Build; -import android.support.v4.view.ViewCompat; -import android.support.v4.widget.Space; import android.text.Editable; import android.text.TextWatcher; import android.util.AttributeSet; @@ -29,11 +27,11 @@ import android.widget.EditText; import android.widget.ImageButton; import android.widget.RelativeLayout; +import android.widget.Space; import android.widget.TextView; - import com.stfalcon.chatkit.R; - import java.lang.reflect.Field; +import androidx.core.view.ViewCompat; /** * Component for input outcoming messages diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageInputStyle.java b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageInputStyle.java index 1cea99c8..86039ae0 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageInputStyle.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessageInputStyle.java @@ -20,14 +20,15 @@ import android.content.res.ColorStateList; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; -import android.support.annotation.ColorInt; -import android.support.annotation.DrawableRes; -import android.support.v4.graphics.drawable.DrawableCompat; import android.util.AttributeSet; import com.stfalcon.chatkit.R; import com.stfalcon.chatkit.commons.Style; +import androidx.annotation.ColorInt; +import androidx.annotation.DrawableRes; +import androidx.core.graphics.drawable.DrawableCompat; + /** * Style for MessageInputStyle customization by xml attributes */ diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesList.java b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesList.java index 17b3f8ed..4ff4df87 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesList.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesList.java @@ -17,15 +17,16 @@ package com.stfalcon.chatkit.messages; import android.content.Context; -import android.support.annotation.Nullable; -import android.support.v7.widget.DefaultItemAnimator; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.SimpleItemAnimator; import android.util.AttributeSet; import com.stfalcon.chatkit.commons.models.IMessage; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.DefaultItemAnimator; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.SimpleItemAnimator; + /** * Component for displaying list of messages */ @@ -79,7 +80,7 @@ void setAdapter(MessagesListAdapter adapter, boolean reverseLayout) { itemAnimator.setSupportsChangeAnimations(false); LinearLayoutManager layoutManager = new LinearLayoutManager(getContext(), - LinearLayoutManager.VERTICAL, reverseLayout); + RecyclerView.VERTICAL, reverseLayout); setItemAnimator(itemAnimator); setLayoutManager(layoutManager); diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListAdapter.java b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListAdapter.java index e0fcb8a2..0233eff5 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListAdapter.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListAdapter.java @@ -19,8 +19,6 @@ import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; -import android.support.annotation.LayoutRes; -import android.support.v7.widget.RecyclerView; import android.text.Spannable; import android.text.method.LinkMovementMethod; import android.util.SparseArray; @@ -41,6 +39,9 @@ import java.util.Date; import java.util.List; +import androidx.annotation.LayoutRes; +import androidx.recyclerview.widget.RecyclerView; + /** * Adapter for {@link MessagesList}. */ diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListStyle.java b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListStyle.java index 88c6fe15..a2c0b4b7 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListStyle.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/messages/MessagesListStyle.java @@ -22,14 +22,15 @@ import android.graphics.Color; import android.graphics.Typeface; import android.graphics.drawable.Drawable; -import android.support.annotation.ColorInt; -import android.support.annotation.DrawableRes; -import android.support.v4.graphics.drawable.DrawableCompat; import android.util.AttributeSet; import com.stfalcon.chatkit.R; import com.stfalcon.chatkit.commons.Style; +import androidx.annotation.ColorInt; +import androidx.annotation.DrawableRes; +import androidx.core.graphics.drawable.DrawableCompat; + /** * Style for MessagesListStyle customization by xml attributes */ diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/messages/RecyclerScrollMoreListener.java b/chatkit/src/main/java/com/stfalcon/chatkit/messages/RecyclerScrollMoreListener.java index 00012084..f6e61998 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/messages/RecyclerScrollMoreListener.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/messages/RecyclerScrollMoreListener.java @@ -16,10 +16,10 @@ package com.stfalcon.chatkit.messages; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.StaggeredGridLayoutManager; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.StaggeredGridLayoutManager; class RecyclerScrollMoreListener extends RecyclerView.OnScrollListener { diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/utils/RoundedImageView.java b/chatkit/src/main/java/com/stfalcon/chatkit/utils/RoundedImageView.java index 7770fb13..e7490722 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/utils/RoundedImageView.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/utils/RoundedImageView.java @@ -18,12 +18,12 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.net.Uri; -import android.support.annotation.DimenRes; -import android.support.annotation.NonNull; -import android.support.v4.content.ContextCompat; -import android.support.v7.widget.AppCompatImageView; import android.util.AttributeSet; -import android.widget.ImageView; + +import androidx.annotation.DimenRes; +import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatImageView; +import androidx.core.content.ContextCompat; /** * Thanks to Joonho Kim (https://github.com/pungrue26) for his lightweight SelectableRoundedImageView, diff --git a/chatkit/src/main/java/com/stfalcon/chatkit/utils/ShapeImageView.java b/chatkit/src/main/java/com/stfalcon/chatkit/utils/ShapeImageView.java index b9f054c5..592db0bd 100644 --- a/chatkit/src/main/java/com/stfalcon/chatkit/utils/ShapeImageView.java +++ b/chatkit/src/main/java/com/stfalcon/chatkit/utils/ShapeImageView.java @@ -22,11 +22,14 @@ import android.util.AttributeSet; import android.view.View; +import androidx.appcompat.widget.AppCompatImageView; + /** * ImageView with mask what described with Bézier Curves */ -public class ShapeImageView extends android.support.v7.widget.AppCompatImageView { +public class ShapeImageView extends AppCompatImageView { + private Path path; public ShapeImageView(Context context) { diff --git a/chatkit/src/main/res/layout/view_message_input.xml b/chatkit/src/main/res/layout/view_message_input.xml index aaed1f5f..ca3f8d54 100644 --- a/chatkit/src/main/res/layout/view_message_input.xml +++ b/chatkit/src/main/res/layout/view_message_input.xml @@ -10,7 +10,7 @@ android:layout_height="wrap_content" android:layout_centerVertical="true"/> - - - - \ No newline at end of file + \ No newline at end of file diff --git a/sample/src/main/res/layout/fragment_demo_card.xml b/sample/src/main/res/layout/fragment_demo_card.xml index 87290af0..f20809f1 100644 --- a/sample/src/main/res/layout/fragment_demo_card.xml +++ b/sample/src/main/res/layout/fragment_demo_card.xml @@ -1,4 +1,4 @@ - - + diff --git a/sample/src/main/res/layout/item_sample.xml b/sample/src/main/res/layout/item_sample.xml index f970b2e6..8bfce6df 100644 --- a/sample/src/main/res/layout/item_sample.xml +++ b/sample/src/main/res/layout/item_sample.xml @@ -1,4 +1,4 @@ - - \ No newline at end of file + \ No newline at end of file From 26e0d22d08827ae4815d0bb0f425611435ad962d Mon Sep 17 00:00:00 2001 From: Vitaliy Yasenenko Date: Wed, 20 Feb 2019 10:55:31 +0200 Subject: [PATCH 2/2] Fixed gradle distribution url --- gradle/wrapper/gradle-wrapper.properties | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3a01ef21..1498dd79 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Tue Jul 03 14:43:10 EEST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-bin.zip