From 25dbfa00f3baffe9380dd37486b304f91f702fcd Mon Sep 17 00:00:00 2001 From: VitaliyDovbnya Date: Mon, 4 Jul 2022 15:45:58 +0200 Subject: [PATCH] 4.4.1-conference-java --- sample-conference-java/app/build.gradle | 39 ++-- .../app/google-services.json | 170 +----------------- sample-conference-java/app/proguard-rules.pro | 57 ++---- .../app/src/main/AndroidManifest.xml | 32 ++-- .../sample/videochat/conference/java/App.java | 13 +- .../java/activities/AppInfoActivity.java | 2 - .../activities/AttachmentImageActivity.java | 28 +-- .../conference/java/adapters/ChatAdapter.java | 26 +-- .../java/fcm/NotificationUtils.java | 7 +- .../conference/java/services/CallService.java | 7 +- sample-conference-java/build.gradle | 48 +++-- .../gradle/wrapper/gradle-wrapper.properties | 2 +- 12 files changed, 121 insertions(+), 310 deletions(-) diff --git a/sample-conference-java/app/build.gradle b/sample-conference-java/app/build.gradle index 92218ec4b..b09a8c308 100644 --- a/sample-conference-java/app/build.gradle +++ b/sample-conference-java/app/build.gradle @@ -1,41 +1,33 @@ buildscript { repositories { google() - jcenter() - maven { url 'https://maven.fabric.io/public' } - } - - dependencies { - classpath "io.fabric.tools:gradle:$fabricToolsVersion" + mavenCentral() } } apply plugin: 'com.android.application' -apply plugin: 'io.fabric' repositories { google() - jcenter() + mavenCentral() maven { url "https://github.com/QuickBlox/quickblox-android-sdk-releases/raw/master/" } - maven { url 'https://maven.fabric.io/public' } - flatDir { dirs 'libs' } } android { def versionQACode = 1 - compileSdkVersion 29 - buildToolsVersion "29.0.3" + compileSdkVersion 31 + buildToolsVersion "31.0.0" flavorDimensions dimensionDefault defaultConfig { applicationId "com.quickblox.sample.videochat.conference.java" - minSdkVersion 16 - targetSdkVersion 29 - versionCode 440000 - versionName '4.4.0' + minSdkVersion 21 + targetSdkVersion 31 + versionCode 441000 + versionName '4.4.1' multiDexEnabled true } @@ -59,12 +51,14 @@ android { minifyEnabled false shrinkResources false proguardFile 'proguard-rules.pro' - zipAlignEnabled false resValue "string", "versionName", "QuickBlox Video Chat Conference Java\nBuild version " + defaultConfig.getVersionName() } release { signingConfig signingConfigs.debug + minifyEnabled true + shrinkResources true + proguardFile 'proguard-rules.pro' resValue "string", "versionName", "QuickBlox Video Chat Conference Java\nBuild version " + defaultConfig.getVersionName() } } @@ -100,18 +94,15 @@ dependencies { implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycleViewmodelAndroidXVersion" implementation "androidx.core:core-ktx:$rootProject.coreKtxVersion" - implementation("com.crashlytics.sdk.android:crashlytics:$crashlyticsVersion@aar") { - transitive = true - } - implementation "com.timehop.stickyheadersrecyclerview:library:$rootProject.stickylistheadersVersion@aar" implementation "com.github.orangegangsters:swipy:$rootProject.swipyVersion@aar" implementation "com.github.johnkil.android-robototextview:robototextview:$robotoTextViewVersion" - implementation "com.github.bumptech.glide:glide:$glideVersion" implementation "de.hdodenhof:circleimageview:$rootProject.circleImageVersion" - implementation "android.arch.lifecycle:extensions:1.1.1" - annotationProcessor "android.arch.lifecycle:compiler:1.1.1" + implementation "android.arch.lifecycle:extensions:$rootProject.lifecycleExtensionsVersion" + + implementation "com.github.bumptech.glide:glide:$glideVersion" + annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion" } apply from: "../artifacts.gradle" diff --git a/sample-conference-java/app/google-services.json b/sample-conference-java/app/google-services.json index 886953e4e..965ba02a1 100644 --- a/sample-conference-java/app/google-services.json +++ b/sample-conference-java/app/google-services.json @@ -1,183 +1,29 @@ { "project_info": { - "project_number": "247738611464", - "firebase_url": "https://qb-prod-samples.firebaseio.com", - "project_id": "qb-prod-samples", - "storage_bucket": "qb-prod-samples.appspot.com" + "project_number": "Put here your value", + "firebase_url": "https://qb-samples.firebaseio.com", + "project_id": "qb-samples", + "storage_bucket": "qb-samples.appspot.com" }, "client": [ { "client_info": { - "mobilesdk_app_id": "1:247738611464:android:beb270faa2c3a789", - "android_client_info": { - "package_name": "com.quickblox.sample.chat.java" - } - }, - "oauth_client": [], - "api_key": [ - { - "current_key": "AIzaSyBFXAfVr6kkFJdDNOm8U-c7iju0qIUkc_A" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "247738611464-v2nvd29bmqum7niosnfuh28oq3beh9f6.apps.googleusercontent.com", - "client_type": 3 - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:247738611464:android:1cdc72e9ffd29448", - "android_client_info": { - "package_name": "com.quickblox.sample.chat.kotlin" - } - }, - "oauth_client": [], - "api_key": [ - { - "current_key": "AIzaSyBFXAfVr6kkFJdDNOm8U-c7iju0qIUkc_A" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "247738611464-v2nvd29bmqum7niosnfuh28oq3beh9f6.apps.googleusercontent.com", - "client_type": 3 - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:247738611464:android:06cb0de4c719ad84", - "android_client_info": { - "package_name": "com.quickblox.sample.pushnotifications.java" - } - }, - "oauth_client": [], - "api_key": [ - { - "current_key": "AIzaSyBFXAfVr6kkFJdDNOm8U-c7iju0qIUkc_A" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "247738611464-v2nvd29bmqum7niosnfuh28oq3beh9f6.apps.googleusercontent.com", - "client_type": 3 - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:247738611464:android:c2749661061637f0", - "android_client_info": { - "package_name": "com.quickblox.sample.pushnotifications.kotlin" - } - }, - "oauth_client": [], - "api_key": [ - { - "current_key": "AIzaSyBFXAfVr6kkFJdDNOm8U-c7iju0qIUkc_A" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "247738611464-v2nvd29bmqum7niosnfuh28oq3beh9f6.apps.googleusercontent.com", - "client_type": 3 - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:7856__0243", + "mobilesdk_app_id": "Put here your value", "android_client_info": { "package_name": "com.quickblox.sample.videochat.conference.java" } }, "oauth_client": [ { - "client_id": "7856____content.com", + "client_id": "Put here your value", "client_type": 3 } ], "api_key": [ { - "current_key": "AIza000___Gk" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "78564____content.com", - "client_type": 3 - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:247738611464:android:99e5b55a490c901c", - "android_client_info": { - "package_name": "com.quickblox.sample.videochat.java" - } - }, - "oauth_client": [], - "api_key": [ - { - "current_key": "AIzaSyBFXAfVr6kkFJdDNOm8U-c7iju0qIUkc_A" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "247738611464-v2nvd29bmqum7niosnfuh28oq3beh9f6.apps.googleusercontent.com", - "client_type": 3 - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:247738611464:android:ac22e0d1b3a3e86b", - "android_client_info": { - "package_name": "com.quickblox.sample.videochat.kotlin" - } - }, - "oauth_client": [], - "api_key": [ - { - "current_key": "AIzaSyBFXAfVr6kkFJdDNOm8U-c7iju0qIUkc_A" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "247738611464-v2nvd29bmqum7niosnfuh28oq3beh9f6.apps.googleusercontent.com", - "client_type": 3 - } - ] + "current_key": "Put here your value" } - } + ] } ], "configuration_version": "1" diff --git a/sample-conference-java/app/proguard-rules.pro b/sample-conference-java/app/proguard-rules.pro index f1dd7da4b..e96593440 100755 --- a/sample-conference-java/app/proguard-rules.pro +++ b/sample-conference-java/app/proguard-rules.pro @@ -1,13 +1,11 @@ # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified -# in /home/tereha/Android/sdk/tools/proguard/proguard-android.txt + # You can edit the include path and order by changing the proguardFiles # directive in build.gradle. # # For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: +# http://developer.android.com/guide/developing/tools/proguard.html # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface @@ -23,48 +21,27 @@ ##---------------Begin: proguard configuration for Gson ---------- # Gson uses generic type information stored in a class file when working with fields. Proguard # removes such information by default, so configure it to keep all of it. +-keepattributes EnclosingMethod +-keepattributes InnerClasses -keepattributes Signature +-keepattributes Exceptions -# For using GSON @Expose annotation +# for using GSON @Expose annotation -keepattributes *Annotation* -# Gson specific classes --keep class sun.misc.Unsafe { *; } -#-keep class com.google.gson.stream.** { *; } - -# Application classes that will be serialized/deserialized over Gson - -keep class com.quickblox.core.account.model.** { *; } - - -##---------------End: proguard configuration for Gson ---------- -#quickblox sample chat - --keep class com.quickblox.auth.parsers.** { *; } --keep class com.quickblox.auth.model.** { *; } --keep class com.quickblox.core.parser.** { *; } --keep class com.quickblox.core.model.** { *; } --keep class com.quickblox.core.server.** { *; } --keep class com.quickblox.core.rest.** { *; } --keep class com.quickblox.core.error.** { *; } --keep class com.quickblox.core.Query { *; } - --keep class com.quickblox.users.parsers.** { *; } --keep class com.quickblox.users.model.** { *; } - --keep class com.quickblox.chat.parser.** { *; } --keep class com.quickblox.chat.model.** { *; } - --keep class com.quickblox.messages.parsers.** { *; } --keep class com.quickblox.messages.model.** { *; } - --keep class com.quickblox.content.parsers.** { *; } --keep class com.quickblox.content.model.** { *; } +# quickblox sdk +-keep class com.quickblox.** { *; } +# smack xmpp library +-keep class org.jxmpp.** { *; } -keep class org.jivesoftware.** { *; } +-dontwarn org.jivesoftware.** + +# webrtc +-keep class org.webrtc.** { *; } -#sample chat --keep class android.support.v7.** { *; } +# glide -keep class com.bumptech.** { *; } --dontwarn org.jivesoftware.smackx.** --dontwarn android.support.v4.app.** \ No newline at end of file +# google gms +-keep class com.google.android.gms.** { *; } \ No newline at end of file diff --git a/sample-conference-java/app/src/main/AndroidManifest.xml b/sample-conference-java/app/src/main/AndroidManifest.xml index fcf3c0d50..85c7f5308 100644 --- a/sample-conference-java/app/src/main/AndroidManifest.xml +++ b/sample-conference-java/app/src/main/AndroidManifest.xml @@ -16,10 +16,10 @@ - - @@ -32,12 +32,13 @@ android:allowBackup="false" android:icon="@mipmap/ic_launcher_new" android:label="@string/app_name" + android:requestLegacyExternalStorage="true" android:theme="@style/AppTheme" - tools:ignore="GoogleAppIndexingWarning" - android:requestLegacyExternalStorage="true"> + tools:ignore="GoogleAppIndexingWarning"> @@ -53,10 +54,10 @@ + android:screenOrientation="portrait" + android:theme="@style/AppTheme.NoActionBar" /> + android:screenOrientation="portrait" + android:theme="@style/AppTheme.SettingsScreen" /> - + android:name=".fcm.PushListenerService" + android:exported="false"> + android:name="com.quickblox.messages.services.fcm.QBFcmPushInstanceIDService" + android:exported="false"> @@ -138,7 +142,7 @@ + android:value="FCM" /> - - \ No newline at end of file diff --git a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/App.java b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/App.java index c783fda10..c87de4727 100644 --- a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/App.java +++ b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/App.java @@ -3,7 +3,8 @@ import android.app.Application; import android.text.TextUtils; -import com.crashlytics.android.Crashlytics; +import androidx.lifecycle.ProcessLifecycleOwner; + import com.quickblox.auth.session.QBSettings; import com.quickblox.conference.ConferenceConfig; import com.quickblox.sample.videochat.conference.java.managers.ActivityLifecycle; @@ -16,9 +17,6 @@ import com.quickblox.sample.videochat.conference.java.utils.qb.QBUsersHolder; import com.quickblox.sample.videochat.conference.java.utils.qb.QBUsersHolderImpl; -import androidx.lifecycle.ProcessLifecycleOwner; -import io.fabric.sdk.android.Fabric; - public class App extends Application { //Chat settings @@ -56,7 +54,6 @@ public class App extends Application { public void onCreate() { super.onCreate(); ActivityLifecycle.init(this); - initFabric(); checkAppCredentials(); checkChatSettings(); initCredentials(); @@ -102,12 +99,6 @@ public ChatHelper getChatHelper() { return chatHelper; } - private void initFabric() { - if (!BuildConfig.DEBUG) { - Fabric.with(this, new Crashlytics()); - } - } - private void initDialogsManager() { dialogsManager = new DialogsManager(getApplicationContext()); } diff --git a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/activities/AppInfoActivity.java b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/activities/AppInfoActivity.java index c46bc1560..9e349a040 100644 --- a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/activities/AppInfoActivity.java +++ b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/activities/AppInfoActivity.java @@ -15,9 +15,7 @@ import com.quickblox.sample.videochat.conference.java.BuildConfig; import com.quickblox.sample.videochat.conference.java.R; - public class AppInfoActivity extends BaseActivity { - private TextView appVersionTextView; private TextView sdkVersionTextView; private TextView appIDTextView; diff --git a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/activities/AttachmentImageActivity.java b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/activities/AttachmentImageActivity.java index 87eb85c2f..332ab8ac1 100644 --- a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/activities/AttachmentImageActivity.java +++ b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/activities/AttachmentImageActivity.java @@ -3,6 +3,8 @@ import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; import android.provider.MediaStore; @@ -13,10 +15,12 @@ import android.widget.ImageView; import android.widget.ProgressBar; +import androidx.annotation.Nullable; + import com.bumptech.glide.Glide; +import com.bumptech.glide.load.DataSource; import com.bumptech.glide.load.engine.DiskCacheStrategy; -import com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable; -import com.bumptech.glide.load.resource.drawable.GlideDrawable; +import com.bumptech.glide.load.engine.GlideException; import com.bumptech.glide.request.RequestListener; import com.bumptech.glide.request.target.Target; import com.quickblox.sample.videochat.conference.java.R; @@ -76,13 +80,12 @@ public boolean onOptionsItemSelected(MenuItem item) { default: return super.onOptionsItemSelected(item); } - } private void saveFileToGallery() { if (imageLoaded) { try { - Bitmap bitmapToSave = ((GlideBitmapDrawable) imageView.getDrawable().getCurrent()).getBitmap(); + Bitmap bitmapToSave = ((BitmapDrawable) imageView.getDrawable().getCurrent()).getBitmap(); MediaStore.Images.Media.insertImage(getContentResolver(), bitmapToSave, "attachment", ""); ToastUtils.shortToast(getApplicationContext(), "Image saved to the Gallery"); } catch (Exception e) { @@ -111,22 +114,21 @@ private void loadImage() { .into(imageView); } - private class DrawableListener implements RequestListener { - + private class DrawableListener implements RequestListener { @Override - public boolean onException(Exception e, String model, Target target, boolean isFirstResource) { - if (e != null && e.getMessage() != null) { - Log.d("Glide Drawable", e.getMessage()); - } else { - e = new Exception("Unable to load image"); + public boolean onLoadFailed(@Nullable GlideException exception, Object model, Target target, boolean isFirstResource) { + if (exception == null) { + exception = new GlideException("Unable to load image"); } - showErrorSnackbar(R.string.error_load_image, e, null); + + Log.d("Glide Drawable", exception.getMessage()); + showErrorSnackbar(R.string.error_load_image, exception, null); progressBar.setVisibility(View.GONE); return false; } @Override - public boolean onResourceReady(GlideDrawable resource, String model, Target target, boolean isFromMemoryCache, boolean isFirstResource) { + public boolean onResourceReady(Drawable resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) { progressBar.setVisibility(View.GONE); imageLoaded = true; return false; diff --git a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/adapters/ChatAdapter.java b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/adapters/ChatAdapter.java index cc827fb12..383941ce9 100644 --- a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/adapters/ChatAdapter.java +++ b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/adapters/ChatAdapter.java @@ -21,7 +21,14 @@ import android.widget.RelativeLayout; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.RecyclerView; + import com.bumptech.glide.Glide; +import com.bumptech.glide.load.DataSource; +import com.bumptech.glide.load.engine.GlideException; import com.bumptech.glide.request.RequestListener; import com.bumptech.glide.request.target.Target; import com.quickblox.chat.model.QBAttachment; @@ -61,12 +68,8 @@ import java.util.List; import java.util.Locale; -import androidx.annotation.NonNull; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.RecyclerView; import de.hdodenhof.circleimageview.CircleImageView; - public class ChatAdapter extends RecyclerView.Adapter implements StickyRecyclerHeadersAdapter { private static final String TAG = ChatAdapter.class.getSimpleName(); @@ -208,9 +211,9 @@ public NewMessageViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { @Override public void onViewRecycled(NewMessageViewHolder holder) { - //abort loading avatar before setting new avatar to view + // abort loading avatar before setting new avatar to view if (containerLayoutRes.get(holder.getItemViewType()) != 0 && holder.avatar != null) { - Glide.clear(holder.avatar); + Glide.with(context).clear(holder.avatar); } super.onViewRecycled(holder); @@ -889,7 +892,7 @@ class NewMessageViewHolder extends RecyclerView.ViewHolder { } } - static class ImageLoadListener implements RequestListener { + static class ImageLoadListener implements RequestListener { private NewMessageViewHolder holder; private ImageLoadListener(NewMessageViewHolder holder) { @@ -898,9 +901,9 @@ private ImageLoadListener(NewMessageViewHolder holder) { } @Override - public boolean onException(Exception e, M model, Target

target, boolean isFirstResource) { - if (e != null && e.getMessage() != null) { - Log.e(TAG, "ImageLoadListener Exception= " + e.getMessage()); + public boolean onLoadFailed(@Nullable GlideException exception, Object model, Target target, boolean isFirstResource) { + if (exception != null) { + Log.e(TAG, "ImageLoadListener Exception= " + exception.getMessage()); } holder.ivImageAttachPreview.setScaleType(ImageView.ScaleType.CENTER_CROP); holder.pbImageProgress.setVisibility(View.GONE); @@ -908,7 +911,7 @@ public boolean onException(Exception e, M model, Target

target, boolean isFir } @Override - public boolean onResourceReady(P resource, M model, Target

target, boolean isFromMemoryCache, boolean isFirstResource) { + public boolean onResourceReady(M resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) { holder.ivImageAttachPreview.setScaleType(ImageView.ScaleType.CENTER_CROP); holder.pbImageProgress.setVisibility(View.GONE); return false; @@ -1033,7 +1036,6 @@ public interface ConversationNotificationClickListener { } public interface MessageLongClickListener { - void onMessageLongClicked(int itemViewType, View view, QBChatMessage qbChatMessage); } } \ No newline at end of file diff --git a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/fcm/NotificationUtils.java b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/fcm/NotificationUtils.java index 9ff1e2e83..c18f69c86 100644 --- a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/fcm/NotificationUtils.java +++ b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/fcm/NotificationUtils.java @@ -70,6 +70,11 @@ private static PendingIntent buildContentIntent(Context context, Class= Build.VERSION_CODES.M) { + intentFlag = PendingIntent.FLAG_IMMUTABLE; + } + return PendingIntent.getActivity(context, 0, intent, intentFlag); } } \ No newline at end of file diff --git a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/services/CallService.java b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/services/CallService.java index 43aba6869..7f34c969d 100644 --- a/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/services/CallService.java +++ b/sample-conference-java/app/src/main/java/com/quickblox/sample/videochat/conference/java/services/CallService.java @@ -170,8 +170,13 @@ private Notification initNotification() { Intent notifyIntent = new Intent(this, CallActivity.class); notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + int intentFlag = 0; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + intentFlag = PendingIntent.FLAG_IMMUTABLE; + } + PendingIntent notifyPendingIntent = PendingIntent.getActivity(this, 0, - notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT); + notifyIntent, intentFlag); String notificationTitle = getString(R.string.notification_title); String notificationText = getString(R.string.notification_text, ""); diff --git a/sample-conference-java/build.gradle b/sample-conference-java/build.gradle index 2d9b180dd..8fe09fc8a 100644 --- a/sample-conference-java/build.gradle +++ b/sample-conference-java/build.gradle @@ -1,22 +1,19 @@ buildscript { repositories { google() - jcenter() + mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:3.2.0' - classpath 'com.google.gms:google-services:4.1.0' + classpath 'com.android.tools.build:gradle:4.2.2' + classpath 'com.google.gms:google-services:4.3.10' } } allprojects { repositories { google() - jcenter() - maven { - url "https://github.com/QuickBlox/quickblox-android-sdk-releases/raw/master/" - } + mavenCentral() } } @@ -24,37 +21,34 @@ ext { dimensionDefault = 'default' // QuickBlox SDK version - qbSdkVersion = '3.9.+' + qbSdkVersion = '3.9.17' - //Firebase - firebaseCoreVersion = '16.0.8' + // Firebase + firebaseCoreVersion = '21.0.0' - //Material - materialVersion = '1.0.0' + // Material + materialVersion = '1.6.1' - //Android X - fragmentAndroidXVersion = '1.0.0' - lifecycleViewmodelAndroidXVersion = '1.0.0' - coreKtxVersion = '1.0.1' + // Android X + fragmentAndroidXVersion = '1.4.1' + lifecycleViewmodelAndroidXVersion = '2.4.1' + coreKtxVersion = '1.7.0' - //RobotoTextView + // RobotoTextView robotoTextViewVersion = '4.0.0' - //Glide - glideVersion = '3.6.1' + // Glide + glideVersion = '4.12.0' - //CircleImageView + // CircleImageView circleImageVersion = "2.1.0" - //StickyListenerHeaders + // StickyListenerHeaders stickylistheadersVersion = '0.4.2' - //Swipy + // Swipy swipyVersion = '1.2.3' - //Crashlytics - crashlyticsVersion = '2.9.5' - - //Fabric - fabricToolsVersion = '1.27.0' + // Lifecycle extensions + lifecycleExtensionsVersion = '1.1.1' } \ No newline at end of file diff --git a/sample-conference-java/gradle/wrapper/gradle-wrapper.properties b/sample-conference-java/gradle/wrapper/gradle-wrapper.properties index 2d80b69a7..4d9ca1649 100644 --- a/sample-conference-java/gradle/wrapper/gradle-wrapper.properties +++ b/sample-conference-java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists