Skip to content

Commit aa93551

Browse files
Android UI Kit v3.0.0-2
1 parent cf3e5c7 commit aa93551

File tree

15 files changed

+196
-205
lines changed

15 files changed

+196
-205
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<img src="https://img.shields.io/badge/Repo%20Size-18.6%20MB-blue" />
1414
![GitHub contributors](https://img.shields.io/github/contributors/cometchat-pro/android-java-chat-app)
1515
![GitHub stars](https://img.shields.io/github/stars/cometchat-pro/android-java-chat-app?style=social)
16-
![Version](https://shields.io/badge/version-v3.0.0--1-orange)
16+
![Version](https://shields.io/badge/version-v3.0.0--2-orange)
1717
![Twitter Follow](https://img.shields.io/twitter/follow/cometchat?style=social)
1818

1919
<img src="https://files.readme.io/952af91-UI_Kit__1.png"/>

app/src/main/java/com/cometchat/pro/androiduikit/constants/AppConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ public class AppConfig {
44

55
public class AppDetails {
66

7-
public static final String APP_ID = "191246b4c2a97f28";
7+
public static final String APP_ID = "XXXXXXXXXXXXXXXXX";
88

9-
public static final String AUTH_KEY = "a5e156f0a4ff6d78ba3df949d4b7bbdbf09535a7";
9+
public static final String AUTH_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
1010

11-
public static final String REGION = "us";
11+
public static final String REGION = "XX";
1212
}
1313
}
1414

uikit/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ android {
33
compileSdkVersion 30
44

55
defaultConfig {
6-
minSdkVersion 21
6+
minSdkVersion 24
77
targetSdkVersion 30
88
versionCode 1
99
versionName "1.0"

uikit/src/main/AndroidManifest.xml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,11 @@
6767
<action android:name="android.intent.action.SEND" />
6868

6969
<category android:name="android.intent.category.DEFAULT" />
70-
71-
<data android:mimeType="image/*" />
72-
</intent-filter>
73-
<intent-filter>
74-
<action android:name="android.intent.action.SEND" />
75-
76-
<category android:name="android.intent.category.DEFAULT" />
77-
7870
<data android:mimeType="text/plain" />
71+
<data android:mimeType="image/*" />
72+
<data android:mimeType="video/*" />
73+
<data android:mimeType="audio/*" />
74+
<data android:mimeType="application/*" />
7975
</intent-filter>
8076
</activity>
8177

uikit/src/main/java/com/cometchat/pro/uikit/ui_components/messages/forward_message/CometChatForwardMessageActivity.java

Lines changed: 98 additions & 101 deletions
Large diffs are not rendered by default.

uikit/src/main/java/com/cometchat/pro/uikit/ui_components/messages/message_list/CometChatMessageList.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
import android.util.Log;
3333
import android.view.Gravity;
3434
import android.view.LayoutInflater;
35+
import android.view.Menu;
36+
import android.view.MenuInflater;
37+
import android.view.MenuItem;
3538
import android.view.View;
3639
import android.view.ViewGroup;
3740
import android.view.animation.AccelerateDecelerateInterpolator;
@@ -46,7 +49,9 @@
4649
import androidx.annotation.NonNull;
4750
import androidx.annotation.Nullable;
4851
import androidx.appcompat.app.AlertDialog;
52+
import androidx.appcompat.app.AppCompatActivity;
4953
import androidx.appcompat.widget.Toolbar;
54+
import androidx.core.app.ActivityCompat;
5055
import androidx.core.view.inputmethod.InputContentInfoCompat;
5156
import androidx.fragment.app.Fragment;
5257
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -124,6 +129,7 @@
124129

125130
import java.io.File;
126131
import java.util.ArrayList;
132+
import java.util.Arrays;
127133
import java.util.HashMap;
128134
import java.util.List;
129135
import java.util.Locale;
@@ -1758,6 +1764,7 @@ public void onError(CometChatException e) {
17581764
if (messageAdapter == null) {
17591765
Log.e(TAG, "onError: MessageAdapter is null");
17601766
} else {
1767+
e.printStackTrace();
17611768
textMessage.setSentAt(-1);
17621769
messageAdapter.updateChangedMessage(textMessage);
17631770
}
@@ -2225,7 +2232,7 @@ public void onSuccess(Boolean booleanVal) {
22252232
@Override
22262233
public void onSuccess(Boolean booleanVal) {
22272234
if (booleanVal)
2228-
tvStatus.setText(typingIndicator.getSender().getName() + getString(R.string.is_typing));
2235+
tvStatus.setText(typingIndicator.getSender().getName() +" "+getString(R.string.is_typing));
22292236
}
22302237
});
22312238
}

uikit/src/main/java/com/cometchat/pro/uikit/ui_components/messages/thread_message_list/CometChatThreadMessageList.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,7 +1119,17 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis
11191119
showPermissionSnackBar(view.findViewById(R.id.message_box), getResources().getString(R.string.grant_storage_permission));
11201120
break;
11211121
case UIKitConstants.RequestCode.LOCATION:
1122-
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { }
1122+
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
1123+
initLocation();
1124+
// locationManager = (LocationManager) Objects.requireNonNull(getContext()).getSystemService(Context.LOCATION_SERVICE);
1125+
boolean provider = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
1126+
if (!provider) {
1127+
turnOnLocation();
1128+
}
1129+
else {
1130+
getLocation();
1131+
}
1132+
}
11231133
else
11241134
showPermissionSnackBar(view.findViewById(R.id.message_box), getResources().getString(R.string.grant_location_permission));
11251135
break;
@@ -1715,11 +1725,7 @@ private void scrollToBottom() {
17151725
* @param baseMessage is object of BaseMessage.class. It is message which is been marked as read.
17161726
*/
17171727
private void markMessageAsRead(BaseMessage baseMessage) {
1718-
// CometChat.markAsRead(baseMessage);
1719-
if (type.equals(CometChatConstants.RECEIVER_TYPE_USER))
1720-
CometChat.markAsRead(baseMessage.getId(), baseMessage.getSender().getUid(), baseMessage.getReceiverType());
1721-
else
1722-
CometChat.markAsRead(baseMessage.getId(), baseMessage.getReceiverUid(), baseMessage.getReceiverType());
1728+
CometChat.markAsRead(baseMessage);
17231729
}
17241730

17251731

uikit/src/main/java/com/cometchat/pro/uikit/ui_components/shared/cometchatConversations/CometChatConversationsAdapter.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,6 @@ public void onBindViewHolder(@NonNull ConversationViewHolder conversationViewHol
183183
name = conversationUser.getName();
184184
avatar = conversationUser.getAvatar();
185185
status = conversationUser.getStatus();
186-
Log.e("Conversation:",conversation.getConversationWith().toString());
187186
if (status.equals(CometChatConstants.USER_STATUS_ONLINE)) {
188187
conversationViewHolder.conversationListRowBinding.userStatus.setVisibility(View.VISIBLE);
189188
conversationViewHolder.conversationListRowBinding.userStatus.setUserStatus(status);

uikit/src/main/java/com/cometchat/pro/uikit/ui_resources/constants/UIKitConstants.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,14 @@ public static class IntentStrings {
131131

132132
public static final String INTENT_MEDIA_VIDEO_MESSAGE = "intent_media_video_message";
133133

134+
public static final String INTENT_MEDIA_AUDIO_MESSAGE = "intent_media_audio_message";
135+
136+
public static final String INTENT_MEDIA_FILE_MESSAGE = "intent_media_file_message";
137+
134138
public static final String LINK = "link";
135139

136140
public static final String IS_TITLE_VISIBLE = "IS_TITLE_VISIBLE";
141+
137142
public static final String CREATE_GROUP_VISIBLE = "IS_CREATE_GROUP_VISIBLE";
138143

139144
public static String POLL_QUESTION = "poll_question";

uikit/src/main/java/com/cometchat/pro/uikit/ui_resources/utils/MediaUtils.java

Lines changed: 54 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.cometchat.pro.uikit.ui_resources.utils;
22

3-
import android.annotation.SuppressLint;
43
import android.app.Activity;
54
import android.app.ProgressDialog;
65
import android.content.ComponentName;
@@ -33,15 +32,13 @@
3332
import android.widget.Toast;
3433

3534
import androidx.core.content.FileProvider;
36-
import androidx.loader.content.CursorLoader;
3735

3836
import com.cometchat.pro.models.BaseMessage;
3937
import com.cometchat.pro.models.MediaMessage;
4038
import com.cometchat.pro.uikit.BuildConfig;
4139
import com.cometchat.pro.uikit.R;
4240
import com.cometchat.pro.uikit.ui_settings.FeatureRestriction;
4341

44-
import java.io.BufferedInputStream;
4542
import java.io.BufferedOutputStream;
4643
import java.io.ByteArrayOutputStream;
4744
import java.io.File;
@@ -161,7 +158,7 @@ public static Intent openCamera(Context context) {
161158
e.printStackTrace();
162159
}
163160

164-
outputFileUri = FileProvider.getUriForFile(context, provider + ".provider", file);
161+
outputFileUri = FileProvider.getUriForFile(context, provider + ".provider", file);
165162

166163
if (Build.VERSION.SDK_INT >= 29) {
167164
ContentResolver resolver = context.getContentResolver();
@@ -310,14 +307,21 @@ private static File createFileFromBitmap(Bitmap bitmap) {
310307
return f;
311308
}
312309

310+
public static File makeEmptyFileWithTitle(String title) {
311+
String root;
312+
if (Build.VERSION.SDK_INT < 29) {
313+
root = Environment.getExternalStorageDirectory().getAbsolutePath();
314+
} else {
315+
root = Environment.DIRECTORY_DOWNLOADS;
316+
}
317+
return new File(root, title);
318+
}
319+
313320
public static File getRealPath(Context context, Uri fileUri,boolean isThirdParty) {
314321
Log.d("", "getRealPath: " + fileUri.getPath());
315322
String realPath;
316-
if (isGoogleDrive(fileUri)) {
317-
return saveDriveFile(context, fileUri);
318-
}
319-
else if (isThirdParty) {
320-
return downloadImage(context, fileUri);
323+
if (isGoogleDrive(fileUri) || isThirdParty) {
324+
return downloadFile(context, fileUri);
321325
}
322326
// SDK > 19 (Android 4.4) and up
323327
else if (Build.VERSION.SDK_INT < 28){
@@ -330,12 +334,12 @@ else if (Build.VERSION.SDK_INT < 28){
330334
return new File(realPath);
331335
}
332336

333-
public static File downloadImage(Context context, Uri imageUri) {
337+
public static File downloadFile(Context context, Uri imageUri) {
334338
// Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
335339
File file = null;
336340
try {
337341
if (imageUri != null) {
338-
file = new File(context.getCacheDir(), "image");
342+
file = new File(context.getCacheDir(), getFileName(context,imageUri));
339343
InputStream inputStream = context.getContentResolver().openInputStream(imageUri);
340344
try {
341345

@@ -402,43 +406,38 @@ private static String getFilePathForN(Uri uri, Context context) {
402406
return file.getPath();
403407
}
404408

405-
public static File saveDriveFile(Context context, Uri uri) {
406-
407-
try {
408-
409-
InputStream inputStream = context.getContentResolver().openInputStream(uri);
410-
int originalSize = inputStream.available();
411-
412-
BufferedInputStream bis = null;
413-
BufferedOutputStream bos = null;
414-
String fileName = getFileName(context, uri);
415-
File file = makeEmptyFileWithTitle(fileName);
416-
bis = new BufferedInputStream(inputStream);
417-
bos = new BufferedOutputStream(new FileOutputStream(
418-
file, false));
419-
420-
byte[] buf = new byte[originalSize];
421-
bis.read(buf);
422-
do {
423-
bos.write(buf);
424-
} while (bis.read(buf) != -1);
425-
426-
bos.flush();
427-
bos.close();
428-
bis.close();
429-
430-
return file;
431-
432-
} catch (IOException e) {
433-
return null;
434-
}
435-
436-
}
437-
438-
public static File makeEmptyFileWithTitle(String title) {
439-
String root = Environment.getExternalStorageDirectory().getAbsolutePath();
440-
return new File(root, title);
441-
}
409+
// public static File saveDriveFile(Context context, Uri uri) {
410+
//
411+
// try {
412+
//
413+
// InputStream inputStream = context.getContentResolver().openInputStream(uri);
414+
// int originalSize = inputStream.available();
415+
//
416+
// BufferedInputStream bis = null;
417+
// BufferedOutputStream bos = null;
418+
// String fileName = getFileName(context, uri);
419+
// File file = makeEmptyFileWithTitle(fileName);
420+
// bis = new BufferedInputStream(inputStream);
421+
// bos = new BufferedOutputStream(new FileOutputStream(
422+
// file, false));
423+
//
424+
// byte[] buf = new byte[originalSize];
425+
// bis.read(buf);
426+
// do {
427+
// bos.write(buf);
428+
// } while (bis.read(buf) != -1);
429+
//
430+
// bos.flush();
431+
// bos.close();
432+
// bis.close();
433+
//
434+
// return file;
435+
//
436+
// } catch (IOException e) {
437+
// return null;
438+
// }
439+
//
440+
// }
442441

443442

444443
/**
@@ -470,15 +469,15 @@ private static String getRealPathFromURI(final Context context, final Uri uri) {
470469
// DownloadsProvider
471470
else if (isDownloadsDocument(uri)) {
472471

473-
String id = DocumentsContract.getDocumentId(uri);
472+
String id = DocumentsContract.getDocumentId(uri);
474473

475474
if (id != null){
476-
if(id.startsWith("raw:")) {
477-
return id.substring(4);
478-
}
479-
if (id.startsWith("msf:")){
480-
id=id.substring(4);
481-
}
475+
if(id.startsWith("raw:")) {
476+
return id.substring(4);
477+
}
478+
if (id.startsWith("msf:")){
479+
id=id.substring(4);
480+
}
482481
}
483482

484483
String[] contentUriPrefixesToTry = new String[]{

0 commit comments

Comments
 (0)