From e9308ddf903b3f544ba92e1b098332567a6c8c7b Mon Sep 17 00:00:00 2001 From: theanilpaudel Date: Fri, 26 Jun 2020 08:20:51 +0545 Subject: [PATCH 1/2] migrated to androidx and latest build versions and added sorting with timestamp --- app/build.gradle | 13 +++-- .../chatui/sample/MainActivity.java | 3 +- build.gradle | 4 +- chat-ui/build.gradle | 50 +++++-------------- .../intentservice/chatui/ApplicationTest.java | 13 ----- .../co/intentservice/chatui/ChatView.java | 5 +- .../chatui/adapters/ChatViewListAdapter.java | 8 +++ .../chatui/fab/FloatingActionButton.java | 11 ++-- .../chatui/fab/FloatingActionsMenu.java | 7 +-- .../chatui/fab/SendFloatingActionButton.java | 5 +- .../chatui/fab/TouchDelegateGroup.java | 3 +- .../chatui/viewholders/MessageViewHolder.java | 3 +- .../chatui/views/ItemRecvView.java | 5 +- .../chatui/views/ItemSentView.java | 5 +- .../src/main/res/layout/chat_item_dots.xml | 4 +- chat-ui/src/main/res/layout/chat_item_rcv.xml | 6 +-- .../src/main/res/layout/chat_item_sent.xml | 6 +-- chat-ui/src/main/res/layout/chat_view.xml | 4 +- gradle.properties | 4 +- gradle/wrapper/gradle-wrapper.properties | 4 +- 20 files changed, 72 insertions(+), 91 deletions(-) delete mode 100644 chat-ui/src/main/java/co/intentservice/chatui/ApplicationTest.java diff --git a/app/build.gradle b/app/build.gradle index 2914bdd..ee98090 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion 29 defaultConfig { applicationId "co.intentservice.chatui.sample" minSdkVersion 16 - targetSdkVersion 23 + targetSdkVersion 29 versionCode 1 versionName "1.0" } @@ -20,9 +19,9 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - testCompile 'junit:junit:4.12' + implementation fileTree(dir: 'libs', include: ['*.jar']) + testImplementation 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:23.4.0' - compile project(':chat-ui') + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation project(':chat-ui') } diff --git a/app/src/main/java/co/intentservice/chatui/sample/MainActivity.java b/app/src/main/java/co/intentservice/chatui/sample/MainActivity.java index 15bacea..2378291 100644 --- a/app/src/main/java/co/intentservice/chatui/sample/MainActivity.java +++ b/app/src/main/java/co/intentservice/chatui/sample/MainActivity.java @@ -1,7 +1,8 @@ package co.intentservice.chatui.sample; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; + +import androidx.appcompat.app.AppCompatActivity; import co.intentservice.chatui.ChatView; import co.intentservice.chatui.models.ChatMessage; diff --git a/build.gradle b/build.gradle index 83eeae5..84a1a56 100644 --- a/build.gradle +++ b/build.gradle @@ -3,9 +3,10 @@ buildscript { repositories { jcenter() + google() } dependencies { - classpath 'com.android.tools.build:gradle:2.2.2' + classpath 'com.android.tools.build:gradle:4.0.0' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' // NOTE: Do not place your application dependencies here; they belong @@ -16,6 +17,7 @@ buildscript { allprojects { repositories { jcenter() + google() } } diff --git a/chat-ui/build.gradle b/chat-ui/build.gradle index 7ec8dab..dc1d699 100644 --- a/chat-ui/build.gradle +++ b/chat-ui/build.gradle @@ -1,36 +1,13 @@ apply plugin: 'com.android.library' -ext { - bintrayRepo = 'maven' - bintrayName = 'android-chat-ui' - publishedGroupId = 'co.intentservice.android-chat-ui' - libraryName = 'chat-ui' - artifact = 'chat-ui' - - libraryDescription = 'A UI Chat Interface Library for Android Applications' - - siteUrl = 'https://github.com/IntentService/android-chat-ui' - gitUrl = 'https://github.com/IntentService/android-chat-ui' - - libraryVersion = '0.1.3' - - developerId = 'timigod' - developerName = 'Timi Ajiboye' - developerEmail = 'trypio00@gmail.com' - - licenseName = 'The Apache Software License, Version 2.0' - licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt' - allLicenses = ["Apache-2.0"] -} android { - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion 29 defaultConfig { minSdkVersion 16 - targetSdkVersion 23 + targetSdkVersion 29 versionCode 1 versionName "1.0" } @@ -42,21 +19,18 @@ android { } } -ext { - supportLibVer = '23.4.0' -} dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - androidTestCompile 'junit:junit:4.12' - compile 'com.android.support:support-v4:23.0.0' - compile "com.android.support:appcompat-v7:${supportLibVer}" - compile "com.android.support:cardview-v7:${supportLibVer}" - compile "com.android.support:design:${supportLibVer}" - - compile 'pl.tajchert:waitingdots:0.2.0' + implementation fileTree(dir: 'libs', include: ['*.jar']) + androidTestImplementation 'junit:junit:4.12' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.cardview:cardview:1.0.0' + implementation 'com.google.android.material:material:1.1.0' + + implementation 'pl.tajchert:waitingdots:0.2.0' } -apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle' -apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle' +//apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle' +//apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle' diff --git a/chat-ui/src/main/java/co/intentservice/chatui/ApplicationTest.java b/chat-ui/src/main/java/co/intentservice/chatui/ApplicationTest.java deleted file mode 100644 index a80d2f0..0000000 --- a/chat-ui/src/main/java/co/intentservice/chatui/ApplicationTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package co.intentservice.chatui; - -import android.app.Application; -import android.test.ApplicationTestCase; - -/** - * Testing Fundamentals - */ -public class ApplicationTest extends ApplicationTestCase { - public ApplicationTest() { - super(Application.class); - } -} \ No newline at end of file diff --git a/chat-ui/src/main/java/co/intentservice/chatui/ChatView.java b/chat-ui/src/main/java/co/intentservice/chatui/ChatView.java index f27bd80..4d452d6 100644 --- a/chat-ui/src/main/java/co/intentservice/chatui/ChatView.java +++ b/chat-ui/src/main/java/co/intentservice/chatui/ChatView.java @@ -4,8 +4,6 @@ import android.content.res.TypedArray; import android.graphics.Color; import android.graphics.drawable.Drawable; -import android.support.v4.content.ContextCompat; -import android.support.v7.widget.CardView; import android.text.Editable; import android.text.InputType; import android.text.TextUtils; @@ -22,6 +20,9 @@ import android.widget.RelativeLayout; import android.widget.TextView; +import androidx.cardview.widget.CardView; +import androidx.core.content.ContextCompat; + import java.util.ArrayList; import co.intentservice.chatui.fab.FloatingActionsMenu; diff --git a/chat-ui/src/main/java/co/intentservice/chatui/adapters/ChatViewListAdapter.java b/chat-ui/src/main/java/co/intentservice/chatui/adapters/ChatViewListAdapter.java index 2e01766..52fac62 100644 --- a/chat-ui/src/main/java/co/intentservice/chatui/adapters/ChatViewListAdapter.java +++ b/chat-ui/src/main/java/co/intentservice/chatui/adapters/ChatViewListAdapter.java @@ -7,6 +7,8 @@ import android.widget.BaseAdapter; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import co.intentservice.chatui.models.ChatMessage; import co.intentservice.chatui.viewholders.MessageViewHolder; @@ -106,6 +108,12 @@ public View getView(int position, View convertView, ViewGroup parent) { public void addMessage(ChatMessage message) { chatMessages.add(message); + Collections.sort(chatMessages, new Comparator() { + @Override + public int compare(ChatMessage chatMessage, ChatMessage t1) { + return (int) (chatMessage.getTimestamp()-t1.getTimestamp()); + } + }); notifyDataSetChanged(); } diff --git a/chat-ui/src/main/java/co/intentservice/chatui/fab/FloatingActionButton.java b/chat-ui/src/main/java/co/intentservice/chatui/fab/FloatingActionButton.java index 2dfda0d..e52c7bb 100755 --- a/chat-ui/src/main/java/co/intentservice/chatui/fab/FloatingActionButton.java +++ b/chat-ui/src/main/java/co/intentservice/chatui/fab/FloatingActionButton.java @@ -20,15 +20,16 @@ import android.graphics.drawable.shapes.OvalShape; import android.os.Build; import android.os.Build.VERSION_CODES; -import android.support.annotation.ColorRes; -import android.support.annotation.DimenRes; -import android.support.annotation.DrawableRes; -import android.support.annotation.IntDef; -import android.support.annotation.NonNull; import android.util.AttributeSet; import android.widget.ImageButton; import android.widget.TextView; +import androidx.annotation.ColorRes; +import androidx.annotation.DimenRes; +import androidx.annotation.DrawableRes; +import androidx.annotation.IntDef; +import androidx.annotation.NonNull; + import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/chat-ui/src/main/java/co/intentservice/chatui/fab/FloatingActionsMenu.java b/chat-ui/src/main/java/co/intentservice/chatui/fab/FloatingActionsMenu.java index 4fddf6a..43a7a56 100755 --- a/chat-ui/src/main/java/co/intentservice/chatui/fab/FloatingActionsMenu.java +++ b/chat-ui/src/main/java/co/intentservice/chatui/fab/FloatingActionsMenu.java @@ -14,9 +14,6 @@ import android.graphics.drawable.LayerDrawable; import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.ColorRes; -import android.support.annotation.NonNull; -import android.support.v4.content.ContextCompat; import android.util.AttributeSet; import android.view.ContextThemeWrapper; import android.view.TouchDelegate; @@ -27,6 +24,10 @@ import android.view.animation.OvershootInterpolator; import android.widget.TextView; +import androidx.annotation.ColorRes; +import androidx.annotation.NonNull; +import androidx.core.content.ContextCompat; + import co.intentservice.chatui.R; public class FloatingActionsMenu extends ViewGroup { diff --git a/chat-ui/src/main/java/co/intentservice/chatui/fab/SendFloatingActionButton.java b/chat-ui/src/main/java/co/intentservice/chatui/fab/SendFloatingActionButton.java index 327475e..ea11b56 100755 --- a/chat-ui/src/main/java/co/intentservice/chatui/fab/SendFloatingActionButton.java +++ b/chat-ui/src/main/java/co/intentservice/chatui/fab/SendFloatingActionButton.java @@ -2,10 +2,11 @@ import android.content.Context; import android.content.res.TypedArray; -import android.support.annotation.ColorRes; -import android.support.annotation.DrawableRes; import android.util.AttributeSet; +import androidx.annotation.ColorRes; +import androidx.annotation.DrawableRes; + import co.intentservice.chatui.R; public class SendFloatingActionButton extends FloatingActionButton { diff --git a/chat-ui/src/main/java/co/intentservice/chatui/fab/TouchDelegateGroup.java b/chat-ui/src/main/java/co/intentservice/chatui/fab/TouchDelegateGroup.java index 83e1ad5..cdc7fe8 100755 --- a/chat-ui/src/main/java/co/intentservice/chatui/fab/TouchDelegateGroup.java +++ b/chat-ui/src/main/java/co/intentservice/chatui/fab/TouchDelegateGroup.java @@ -1,11 +1,12 @@ package co.intentservice.chatui.fab; import android.graphics.Rect; -import android.support.annotation.NonNull; import android.view.MotionEvent; import android.view.TouchDelegate; import android.view.View; +import androidx.annotation.NonNull; + import java.util.ArrayList; public class TouchDelegateGroup extends TouchDelegate { diff --git a/chat-ui/src/main/java/co/intentservice/chatui/viewholders/MessageViewHolder.java b/chat-ui/src/main/java/co/intentservice/chatui/viewholders/MessageViewHolder.java index c20c4d4..a8df193 100644 --- a/chat-ui/src/main/java/co/intentservice/chatui/viewholders/MessageViewHolder.java +++ b/chat-ui/src/main/java/co/intentservice/chatui/viewholders/MessageViewHolder.java @@ -1,9 +1,10 @@ package co.intentservice.chatui.viewholders; import android.content.Context; -import android.support.v4.content.ContextCompat; import android.view.View; +import androidx.core.content.ContextCompat; + import co.intentservice.chatui.R; import co.intentservice.chatui.views.MessageView; diff --git a/chat-ui/src/main/java/co/intentservice/chatui/views/ItemRecvView.java b/chat-ui/src/main/java/co/intentservice/chatui/views/ItemRecvView.java index 7c96bd5..721bed3 100644 --- a/chat-ui/src/main/java/co/intentservice/chatui/views/ItemRecvView.java +++ b/chat-ui/src/main/java/co/intentservice/chatui/views/ItemRecvView.java @@ -1,13 +1,14 @@ package co.intentservice.chatui.views; import android.content.Context; -import android.support.annotation.ColorInt; -import android.support.v7.widget.CardView; import android.util.AttributeSet; import android.view.LayoutInflater; import android.widget.FrameLayout; import android.widget.TextView; +import androidx.annotation.ColorInt; +import androidx.cardview.widget.CardView; + import co.intentservice.chatui.R; /** diff --git a/chat-ui/src/main/java/co/intentservice/chatui/views/ItemSentView.java b/chat-ui/src/main/java/co/intentservice/chatui/views/ItemSentView.java index cc785df..1321bc7 100644 --- a/chat-ui/src/main/java/co/intentservice/chatui/views/ItemSentView.java +++ b/chat-ui/src/main/java/co/intentservice/chatui/views/ItemSentView.java @@ -2,14 +2,15 @@ import android.app.Service; import android.content.Context; -import android.support.annotation.ColorInt; -import android.support.v7.widget.CardView; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.FrameLayout; import android.widget.TextView; +import androidx.annotation.ColorInt; +import androidx.cardview.widget.CardView; + import co.intentservice.chatui.R; /** diff --git a/chat-ui/src/main/res/layout/chat_item_dots.xml b/chat-ui/src/main/res/layout/chat_item_dots.xml index ef741f6..bf87260 100644 --- a/chat-ui/src/main/res/layout/chat_item_dots.xml +++ b/chat-ui/src/main/res/layout/chat_item_dots.xml @@ -6,7 +6,7 @@ android:paddingStart="16dp" android:paddingLeft="16dp"> - - + \ No newline at end of file diff --git a/chat-ui/src/main/res/layout/chat_item_rcv.xml b/chat-ui/src/main/res/layout/chat_item_rcv.xml index 4691267..2080de1 100644 --- a/chat-ui/src/main/res/layout/chat_item_rcv.xml +++ b/chat-ui/src/main/res/layout/chat_item_rcv.xml @@ -10,7 +10,7 @@ android:paddingEnd="72dp" android:paddingRight="72dp"> - - @@ -65,6 +65,6 @@ - + \ No newline at end of file diff --git a/chat-ui/src/main/res/layout/chat_item_sent.xml b/chat-ui/src/main/res/layout/chat_item_sent.xml index dbb4843..42f2c3c 100644 --- a/chat-ui/src/main/res/layout/chat_item_sent.xml +++ b/chat-ui/src/main/res/layout/chat_item_sent.xml @@ -11,7 +11,7 @@ android:paddingEnd="16dp" android:paddingRight="16dp"> - - @@ -66,6 +66,6 @@ - + \ No newline at end of file diff --git a/chat-ui/src/main/res/layout/chat_view.xml b/chat-ui/src/main/res/layout/chat_view.xml index d8255e2..22cea8a 100644 --- a/chat-ui/src/main/res/layout/chat_view.xml +++ b/chat-ui/src/main/res/layout/chat_view.xml @@ -31,7 +31,7 @@ - - + \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 1d3591c..915f0e6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,4 +15,6 @@ # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true \ No newline at end of file +# org.gradle.parallel=true +android.enableJetifier=true +android.useAndroidX=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 04e285f..e9de237 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Dec 28 10:00:20 PST 2015 +#Mon Jun 22 11:31:28 NPT 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip From 8f4f3530e7320500da3c664495fffb5a8c2ba578 Mon Sep 17 00:00:00 2001 From: theanilpaudel Date: Fri, 26 Jun 2020 08:29:57 +0545 Subject: [PATCH 2/2] re-added library info in ext --- chat-ui/build.gradle | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/chat-ui/build.gradle b/chat-ui/build.gradle index dc1d699..45fb763 100644 --- a/chat-ui/build.gradle +++ b/chat-ui/build.gradle @@ -1,6 +1,28 @@ apply plugin: 'com.android.library' +ext { + bintrayRepo = 'maven' + bintrayName = 'android-chat-ui' + publishedGroupId = 'co.intentservice.android-chat-ui' + libraryName = 'chat-ui' + artifact = 'chat-ui' + + libraryDescription = 'A UI Chat Interface Library for Android Applications' + + siteUrl = 'https://github.com/IntentService/android-chat-ui' + gitUrl = 'https://github.com/IntentService/android-chat-ui' + + libraryVersion = '0.1.4' + + developerId = 'timigod' + developerName = 'Timi Ajiboye' + developerEmail = 'trypio00@gmail.com' + + licenseName = 'The Apache Software License, Version 2.0' + licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + allLicenses = ["Apache-2.0"] +} android { compileSdkVersion 29 @@ -20,6 +42,7 @@ android { } + dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) androidTestImplementation 'junit:junit:4.12'