From a484ab0d7fcb1b76c85ef74442f2cc0a914c3671 Mon Sep 17 00:00:00 2001 From: DrKLO Date: Thu, 19 Mar 2015 12:27:46 +0300 Subject: [PATCH] Bug fixes --- TMessagesProj/build.gradle | 2 +- .../org/telegram/android/MessageObject.java | 2 +- .../org/telegram/android/SmsListener.java | 4 +-- .../messenger/ConnectionsManager.java | 2 +- .../org/telegram/messenger/FileLoader.java | 3 ++ .../java/org/telegram/messenger/FileLog.java | 2 +- .../telegram/ui/Adapters/MentionsAdapter.java | 2 +- .../org/telegram/ui/Cells/ChatBaseCell.java | 29 ++++++++++++------- .../java/org/telegram/ui/ChatActivity.java | 23 ++++++++------- .../src/main/res/values-ar/strings.xml | 12 ++++---- 10 files changed, 48 insertions(+), 33 deletions(-) diff --git a/TMessagesProj/build.gradle b/TMessagesProj/build.gradle index 0b58e2924..5c9a86a30 100644 --- a/TMessagesProj/build.gradle +++ b/TMessagesProj/build.gradle @@ -82,7 +82,7 @@ android { defaultConfig { minSdkVersion 8 targetSdkVersion 22 - versionCode 467 + versionCode 468 versionName "2.6.0" } } diff --git a/TMessagesProj/src/main/java/org/telegram/android/MessageObject.java b/TMessagesProj/src/main/java/org/telegram/android/MessageObject.java index 5d21bdf81..3cc2504fe 100644 --- a/TMessagesProj/src/main/java/org/telegram/android/MessageObject.java +++ b/TMessagesProj/src/main/java/org/telegram/android/MessageObject.java @@ -504,7 +504,7 @@ public class MessageObject { } else if (!(c != ' ' && digitsInRow > 0)) { digitsInRow = 0; } - if ((c == '@' || c == '#') && i == 0 || i != 0 && message.charAt(i - 1) == ' ') { + if ((c == '@' || c == '#') && i == 0 || i != 0 && (message.charAt(i - 1) == ' ' || message.charAt(i - 1) == '\n')) { return true; } if (c == ':') { diff --git a/TMessagesProj/src/main/java/org/telegram/android/SmsListener.java b/TMessagesProj/src/main/java/org/telegram/android/SmsListener.java index c4470fa41..78e179605 100644 --- a/TMessagesProj/src/main/java/org/telegram/android/SmsListener.java +++ b/TMessagesProj/src/main/java/org/telegram/android/SmsListener.java @@ -51,11 +51,11 @@ public class SmsListener extends BroadcastReceiver { NotificationCenter.getInstance().postNotificationName(NotificationCenter.didReceiveSmsCode, matcher.group(0)); } } - } catch (Exception e) { + } catch (Throwable e) { FileLog.e("tmessages", e); } - } catch(Exception e) { + } catch(Throwable e) { FileLog.e("tmessages", e); } } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/ConnectionsManager.java b/TMessagesProj/src/main/java/org/telegram/messenger/ConnectionsManager.java index cf91ee20a..0149b8340 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/ConnectionsManager.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/ConnectionsManager.java @@ -2154,7 +2154,7 @@ public class ConnectionsManager implements Action.ActionDelegate, TcpConnection. implicitError.code = ((TLRPC.RpcError)resultContainer.result).error_code; implicitError.text = ((TLRPC.RpcError)resultContainer.result).error_message; } else if (!(resultContainer.result instanceof TLRPC.TL_error)) { - if (request.rawRequest == null || !request.rawRequest.responseClass().isAssignableFrom(resultContainer.result.getClass())) { + if (request.rawRequest == null || resultContainer.result == null || !request.rawRequest.responseClass().isAssignableFrom(resultContainer.result.getClass())) { if (request.rawRequest == null) { FileLog.e("tmessages", "rawRequest is null"); } else { diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/FileLoader.java b/TMessagesProj/src/main/java/org/telegram/messenger/FileLoader.java index 2719aabf5..af3ae922c 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/FileLoader.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/FileLoader.java @@ -132,6 +132,9 @@ public class FileLoader { } public void uploadFile(final String location, final boolean encrypted, final boolean small, final int estimatedSize) { + if (location == null) { + return; + } fileLoaderQueue.postRunnable(new Runnable() { @Override public void run() { diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/FileLog.java b/TMessagesProj/src/main/java/org/telegram/messenger/FileLog.java index 3d01798f4..e72408acc 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/FileLog.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/FileLog.java @@ -181,7 +181,7 @@ public class FileLog { } public static void cleanupLogs() { - ArrayList uris = new ArrayList(); + ArrayList uris = new ArrayList<>(); File sdCard = ApplicationLoader.applicationContext.getExternalFilesDir(null); File dir = new File (sdCard.getAbsolutePath() + "/logs"); File[] files = dir.listFiles(); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Adapters/MentionsAdapter.java b/TMessagesProj/src/main/java/org/telegram/ui/Adapters/MentionsAdapter.java index b73647bfb..f06c8311e 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Adapters/MentionsAdapter.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Adapters/MentionsAdapter.java @@ -70,7 +70,7 @@ public class MentionsAdapter extends BaseFragmentAdapter { continue; } char ch = text.charAt(a); - if (ch == '@' && (a == 0 || text.charAt(a - 1) == ' ')) { + if (ch == '@' && (a == 0 || text.charAt(a - 1) == ' ' || text.charAt(a - 1) == '\n')) { found = true; usernameStartPosition = a; usernameLength = username.length() + 1; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatBaseCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatBaseCell.java index 0fdec7f4b..bf268093b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatBaseCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatBaseCell.java @@ -27,6 +27,7 @@ import org.telegram.android.Emoji; import org.telegram.android.LocaleController; import org.telegram.messenger.ApplicationLoader; import org.telegram.messenger.FileLoader; +import org.telegram.messenger.FileLog; import org.telegram.messenger.TLRPC; import org.telegram.android.MessagesController; import org.telegram.messenger.R; @@ -447,17 +448,25 @@ public class ChatBaseCell extends BaseCell { if (stringFinalName == null) { stringFinalName = LocaleController.getString("Loading", R.string.Loading); } - replyNameLayout = new StaticLayout(stringFinalName, replyNamePaint, maxWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); - if (replyNameLayout.getLineCount() > 0) { - replyNameWidth = (int)Math.ceil(replyNameLayout.getLineWidth(0)) + AndroidUtilities.dp(12 + (needReplyImage ? 44 : 0)); - replyNameOffset = replyNameLayout.getLineLeft(0); - } - if (stringFinalText != null) { - replyTextLayout = new StaticLayout(stringFinalText, replyTextPaint, maxWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); - if (replyTextLayout.getLineCount() > 0) { - replyTextWidth = (int) Math.ceil(replyTextLayout.getLineWidth(0)) + AndroidUtilities.dp(12 + (needReplyImage ? 44 : 0)); - replyTextOffset = replyTextLayout.getLineLeft(0); + try { + replyNameLayout = new StaticLayout(stringFinalName, replyNamePaint, maxWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); + if (replyNameLayout.getLineCount() > 0) { + replyNameWidth = (int)Math.ceil(replyNameLayout.getLineWidth(0)) + AndroidUtilities.dp(12 + (needReplyImage ? 44 : 0)); + replyNameOffset = replyNameLayout.getLineLeft(0); } + } catch (Exception e) { + FileLog.e("tmessages", e); + } + try { + if (stringFinalText != null) { + replyTextLayout = new StaticLayout(stringFinalText, replyTextPaint, maxWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); + if (replyTextLayout.getLineCount() > 0) { + replyTextWidth = (int) Math.ceil(replyTextLayout.getLineWidth(0)) + AndroidUtilities.dp(12 + (needReplyImage ? 44 : 0)); + replyTextOffset = replyTextLayout.getLineLeft(0); + } + } + } catch (Exception e) { + FileLog.e("tmessages", e); } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java index a57f8dd39..1a56c3936 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java @@ -4120,17 +4120,20 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not args.putInt("chat_id", -lower_part); } ChatActivity chatActivity = new ChatActivity(args); - presentFragment(chatActivity, true); - chatActivity.showReplyForMessageObjectOrForward(true, null, fmessages, false); - if (!AndroidUtilities.isTablet()) { - removeSelfFromStack(); - Activity parentActivity = getParentActivity(); - if (parentActivity == null) { - parentActivity = chatActivity.getParentActivity(); - } - if (parentActivity != null) { - parentActivity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); + if (presentFragment(chatActivity, true)) { + chatActivity.showReplyForMessageObjectOrForward(true, null, fmessages, false); + if (!AndroidUtilities.isTablet()) { + removeSelfFromStack(); + Activity parentActivity = getParentActivity(); + if (parentActivity == null) { + parentActivity = chatActivity.getParentActivity(); + } + if (parentActivity != null) { + parentActivity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); + } } + } else { + activity.finishFragment(); } } else { activity.finishFragment(); diff --git a/TMessagesProj/src/main/res/values-ar/strings.xml b/TMessagesProj/src/main/res/values-ar/strings.xml index 8531c127f..0df89c5ec 100644 --- a/TMessagesProj/src/main/res/values-ar/strings.xml +++ b/TMessagesProj/src/main/res/values-ar/strings.xml @@ -664,12 +664,12 @@ %1$d ملصق معاد توجيهه %1$d ملصق معاد توجيهه %1$d ملصق معاد توجيهه - and %1$d others - and %1$d other - and %1$d others - and %1$d others - and %1$d others - and %1$d others + و %1$d غيرهم + و %1$d غيره + و %1$d غيرهم + و %1$d غيرهم + و %1$d غيرهم + و %1$d غيرهم MMMM yyyy MMM dd