diff --git a/TMessagesProj/build.gradle b/TMessagesProj/build.gradle index 6b524b5c..ab347d7c 100644 --- a/TMessagesProj/build.gradle +++ b/TMessagesProj/build.gradle @@ -18,7 +18,7 @@ tasks.withType(JavaCompile) { dependencies { compile 'com.android.support:support-v4:19.0.+' - compile 'com.google.android.gms:play-services:4.1.+' + compile 'com.google.android.gms:play-services:3.2.+' compile 'net.hockeyapp.android:HockeySDK:3.0.1' compile 'com.googlecode.mp4parser:isoparser:1.0.+' } @@ -83,7 +83,7 @@ android { defaultConfig { minSdkVersion 8 targetSdkVersion 19 - versionCode 303 + versionCode 307 versionName "1.7.0" } } diff --git a/TMessagesProj/config/debug/AndroidManifest.xml b/TMessagesProj/config/debug/AndroidManifest.xml index 6a08d6c1..dc448b5f 100644 --- a/TMessagesProj/config/debug/AndroidManifest.xml +++ b/TMessagesProj/config/debug/AndroidManifest.xml @@ -28,7 +28,6 @@ android:largeHeap="true"> - diff --git a/TMessagesProj/config/release/AndroidManifest.xml b/TMessagesProj/config/release/AndroidManifest.xml index a1ee70d3..46361638 100644 --- a/TMessagesProj/config/release/AndroidManifest.xml +++ b/TMessagesProj/config/release/AndroidManifest.xml @@ -28,7 +28,6 @@ android:largeHeap="true"> - diff --git a/TMessagesProj/jni/fake.c b/TMessagesProj/jni/fake.c index 95b86f6f..b484b63f 100644 --- a/TMessagesProj/jni/fake.c +++ b/TMessagesProj/jni/fake.c @@ -2,5 +2,5 @@ void fakeFunction() { printf("some androids has buggy native loader, so i should check size of libs in java to know that native library is correct. So each changed native library should has diffrent size in different app versions. This function will increase lib size for few bytes :)"); - printf("bla blablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablabla"); + printf("bla blablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablabla"); } diff --git a/TMessagesProj/libs/armeabi-v7a/libtmessages.so b/TMessagesProj/libs/armeabi-v7a/libtmessages.so index f5677c7d..a5f1bd92 100755 Binary files a/TMessagesProj/libs/armeabi-v7a/libtmessages.so and b/TMessagesProj/libs/armeabi-v7a/libtmessages.so differ diff --git a/TMessagesProj/libs/armeabi/libtmessages.so b/TMessagesProj/libs/armeabi/libtmessages.so index bc96b1c3..7a0c442c 100755 Binary files a/TMessagesProj/libs/armeabi/libtmessages.so and b/TMessagesProj/libs/armeabi/libtmessages.so differ diff --git a/TMessagesProj/libs/x86/libtmessages.so b/TMessagesProj/libs/x86/libtmessages.so index c8bb5c7f..ff282dc0 100755 Binary files a/TMessagesProj/libs/x86/libtmessages.so and b/TMessagesProj/libs/x86/libtmessages.so differ diff --git a/TMessagesProj/src/main/java/org/telegram/android/MessagesController.java b/TMessagesProj/src/main/java/org/telegram/android/MessagesController.java index 60857b09..0d65004b 100644 --- a/TMessagesProj/src/main/java/org/telegram/android/MessagesController.java +++ b/TMessagesProj/src/main/java/org/telegram/android/MessagesController.java @@ -892,10 +892,10 @@ public class MessagesController implements NotificationCenter.NotificationCenter } } - public void loadChatInfo(final int chat_id) { + public void loadChatInfo(final int chat_id, Semaphore semaphore) { currentChatInfo = null; chatParticipantsId = chat_id; - MessagesStorage.getInstance().loadChatInfo(chat_id); + MessagesStorage.getInstance().loadChatInfo(chat_id, semaphore); } public void processChatInfo(final int chat_id, final TLRPC.ChatParticipants info, final ArrayList usersArr, final boolean fromCache) { @@ -1605,7 +1605,7 @@ public class MessagesController implements NotificationCenter.NotificationCenter } } - public void markDialogAsRead(final long dialog_id, final int max_id, final int max_positive_id, final int offset, final int max_date, final boolean was) { + public void markDialogAsRead(final long dialog_id, final int max_id, final int max_positive_id, final int offset, final int max_date, final boolean was, final boolean popup) { int lower_part = (int)dialog_id; int high_id = (int)(dialog_id >> 32); @@ -1643,10 +1643,12 @@ public class MessagesController implements NotificationCenter.NotificationCenter dialog.unread_count = 0; NotificationCenter.getInstance().postNotificationName(dialogsNeedReload); } - NotificationsController.getInstance().processReadMessages(null, dialog_id, 0, max_positive_id); - HashMap dialogsToUpdate = new HashMap(); - dialogsToUpdate.put(dialog_id, 0); - NotificationsController.getInstance().processDialogsUpdateRead(dialogsToUpdate, true); + if (!popup) { + NotificationsController.getInstance().processReadMessages(null, dialog_id, 0, max_positive_id); + HashMap dialogsToUpdate = new HashMap(); + dialogsToUpdate.put(dialog_id, 0); + NotificationsController.getInstance().processDialogsUpdateRead(dialogsToUpdate, true); + } } }); } @@ -1660,7 +1662,7 @@ public class MessagesController implements NotificationCenter.NotificationCenter MessagesStorage.getInstance().processPendingRead(dialog_id, max_positive_id, max_date, true); TLRPC.TL_messages_affectedHistory res = (TLRPC.TL_messages_affectedHistory) response; if (res.offset > 0) { - markDialogAsRead(dialog_id, 0, max_positive_id, res.offset, max_date, was); + markDialogAsRead(dialog_id, 0, max_positive_id, res.offset, max_date, was, popup); } if (MessagesStorage.lastSeqValue + 1 == res.seq) { diff --git a/TMessagesProj/src/main/java/org/telegram/android/MessagesStorage.java b/TMessagesProj/src/main/java/org/telegram/android/MessagesStorage.java index 23d90e7e..4d502911 100644 --- a/TMessagesProj/src/main/java/org/telegram/android/MessagesStorage.java +++ b/TMessagesProj/src/main/java/org/telegram/android/MessagesStorage.java @@ -755,7 +755,7 @@ public class MessagesStorage { }); } - public void loadChatInfo(final int chat_id) { + public void loadChatInfo(final int chat_id, final Semaphore semaphore) { storageQueue.postRunnable(new Runnable() { @Override public void run() { @@ -809,9 +809,16 @@ public class MessagesStorage { updateChatInfo(chat_id, info, false); } } + if (semaphore != null) { + semaphore.release(); + } MessagesController.getInstance().processChatInfo(chat_id, info, loadedUsers, true); } catch (Exception e) { FileLog.e("tmessages", e); + } finally { + if (semaphore != null) { + semaphore.release(); + } } } }); @@ -946,6 +953,9 @@ public class MessagesStorage { ByteBufferDesc data = buffersStorage.getFreeBuffer(cursor.byteArrayLength(0)); if (data != null && cursor.byteBufferValue(0, data.buffer) != 0) { TLRPC.Chat chat = (TLRPC.Chat) TLClassStore.Instance().TLdeserialize(data, data.readInt32()); + if (!needEncrypted && chat.id < 0) { + continue; + } resultArrayNames.add(Utilities.generateSearchName(chat.title, null, q)); resultArray.add(chat); } diff --git a/TMessagesProj/src/main/java/org/telegram/android/NativeLoader.java b/TMessagesProj/src/main/java/org/telegram/android/NativeLoader.java index ed9bae33..a161dc6a 100644 --- a/TMessagesProj/src/main/java/org/telegram/android/NativeLoader.java +++ b/TMessagesProj/src/main/java/org/telegram/android/NativeLoader.java @@ -24,8 +24,8 @@ import java.util.zip.ZipFile; public class NativeLoader { private static final long sizes[] = new long[] { - 799376, //armeabi - 852644, //armeabi-v7a + 803472, //armeabi + 856740, //armeabi-v7a 1250356, //x86 0, //mips }; diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/FileLog.java b/TMessagesProj/src/main/java/org/telegram/messenger/FileLog.java index 35d460d1..ab0a52c9 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/FileLog.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/FileLog.java @@ -63,12 +63,12 @@ public class FileLog { e.printStackTrace(); } try { + logQueue = new DispatchQueue("logQueue"); currentFile.createNewFile(); FileOutputStream stream = new FileOutputStream(currentFile); streamWriter = new OutputStreamWriter(stream); streamWriter.write("-----start log " + dateFormat.format(System.currentTimeMillis()) + "-----\n"); streamWriter.flush(); - logQueue = new DispatchQueue("logQueue"); } catch (Exception e) { e.printStackTrace(); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMediaCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMediaCell.java index 4866457a..df80a48f 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMediaCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMediaCell.java @@ -394,7 +394,7 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD photoHeight = h; backgroundWidth = w + AndroidUtilities.dp(12); currentPhotoFilter = String.format(Locale.US, "%d_%d", (int) (w / AndroidUtilities.density), (int) (h / AndroidUtilities.density)); - if (messageObject.photoThumbs.size() > 1) { + if (messageObject.photoThumbs.size() > 1 || messageObject.type == 3 || messageObject.type == 8) { currentPhotoFilter += "_b"; } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java index d706ee32..4e784d62 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java @@ -214,13 +214,24 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not return false; } } - MessagesController.getInstance().loadChatInfo(currentChat.id); if (chatId > 0) { dialog_id = -chatId; } else { isBraodcast = true; dialog_id = AndroidUtilities.makeBroadcastId(chatId); } + Semaphore semaphore = null; + if (isBraodcast) { + semaphore = new Semaphore(0); + } + MessagesController.getInstance().loadChatInfo(currentChat.id, semaphore); + if (isBraodcast) { + try { + semaphore.acquire(); + } catch (Exception e) { + FileLog.e("tmessages", e); + } + } } else if (userId != 0) { currentUser = MessagesController.getInstance().users.get(userId); if (currentUser == null) { @@ -878,7 +889,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } if (show) { if (pagedownButton.getVisibility() == View.GONE) { - if (android.os.Build.VERSION.SDK_INT >= 12 && animated) { + if (android.os.Build.VERSION.SDK_INT > 13 && animated) { pagedownButton.setVisibility(View.VISIBLE); pagedownButton.setAlpha(0); pagedownButton.animate().alpha(1).setDuration(200).start(); @@ -888,7 +899,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } else { if (pagedownButton.getVisibility() == View.VISIBLE) { - if (android.os.Build.VERSION.SDK_INT >= 12 && animated) { + if (android.os.Build.VERSION.SDK_INT > 13 && animated) { pagedownButton.animate().alpha(0).setDuration(200).setListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { @@ -1902,9 +1913,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (first && messages.size() > 0) { if (last_unread_id != 0) { - MessagesController.getInstance().markDialogAsRead(dialog_id, messages.get(0).messageOwner.id, last_unread_id, 0, last_unread_date, wasUnread); + MessagesController.getInstance().markDialogAsRead(dialog_id, messages.get(0).messageOwner.id, last_unread_id, 0, last_unread_date, wasUnread, false); } else { - MessagesController.getInstance().markDialogAsRead(dialog_id, messages.get(0).messageOwner.id, minMessageId, 0, maxDate, wasUnread); + MessagesController.getInstance().markDialogAsRead(dialog_id, messages.get(0).messageOwner.id, minMessageId, 0, maxDate, wasUnread, false); } first = false; } @@ -1985,7 +1996,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not readWithMid = currentMinMsgId; } else { if (messages.size() > 0) { - MessagesController.getInstance().markDialogAsRead(dialog_id, messages.get(0).messageOwner.id, currentMinMsgId, 0, currentMaxDate, true); + MessagesController.getInstance().markDialogAsRead(dialog_id, messages.get(0).messageOwner.id, currentMinMsgId, 0, currentMaxDate, true, false); } } } @@ -2088,7 +2099,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not readWithDate = maxDate; readWithMid = minMessageId; } else { - MessagesController.getInstance().markDialogAsRead(dialog_id, messages.get(0).messageOwner.id, minMessageId, 0, maxDate, true); + MessagesController.getInstance().markDialogAsRead(dialog_id, messages.get(0).messageOwner.id, minMessageId, 0, maxDate, true, false); } } } @@ -2444,7 +2455,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not messageObject.messageOwner.unread = false; } readWhenResume = false; - MessagesController.getInstance().markDialogAsRead(dialog_id, messages.get(0).messageOwner.id, readWithMid, 0, readWithDate, true); + MessagesController.getInstance().markDialogAsRead(dialog_id, messages.get(0).messageOwner.id, readWithMid, 0, readWithDate, true, false); } fixLayout(true); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChatProfileActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChatProfileActivity.java index e4179b32..562f9e5a 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChatProfileActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChatProfileActivity.java @@ -291,7 +291,7 @@ public class ChatProfileActivity extends BaseFragment implements NotificationCen @Override public void restoreSelfArgs(Bundle args) { - MessagesController.getInstance().loadChatInfo(chat_id); + MessagesController.getInstance().loadChatInfo(chat_id, null); if (avatarUpdater != null) { avatarUpdater.currentPicturePath = args.getString("path"); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LocationActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LocationActivity.java index a31d9eff..dd754cc2 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/LocationActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/LocationActivity.java @@ -8,7 +8,9 @@ package org.telegram.ui; +import android.content.Context; import android.location.Location; +import android.location.LocationManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -39,6 +41,8 @@ import org.telegram.ui.Views.ActionBar.ActionBarMenuItem; import org.telegram.ui.Views.BackupImageView; import org.telegram.ui.Views.ActionBar.BaseFragment; +import java.util.List; + public class LocationActivity extends BaseFragment implements NotificationCenter.NotificationCenterDelegate { private GoogleMap googleMap; private TextView distanceTextView; @@ -164,8 +168,7 @@ public class LocationActivity extends BaseFragment implements NotificationCenter positionMarker(location); } }); - myLocation = googleMap.getMyLocation(); - + myLocation = getLastLocation(); if (sendButton != null) { userLocation = new Location("network"); @@ -249,6 +252,19 @@ public class LocationActivity extends BaseFragment implements NotificationCenter return fragmentView; } + private Location getLastLocation() { + LocationManager lm = (LocationManager) ApplicationLoader.applicationContext.getSystemService(Context.LOCATION_SERVICE); + List providers = lm.getProviders(true); + Location l = null; + for (int i = providers.size() - 1; i >= 0; i--) { + l = lm.getLastKnownLocation(providers.get(i)); + if (l != null) { + break; + } + } + return l; + } + private void updateUserData() { if (messageObject != null && avatarImageView != null) { int fromId = messageObject.messageOwner.from_id; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivitySmsView.java b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivitySmsView.java index 450f01b7..da049ced 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivitySmsView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivitySmsView.java @@ -54,9 +54,12 @@ public class LoginActivitySmsView extends SlideView implements NotificationCente private Bundle currentParams; private Timer timeTimer; + private Timer codeTimer; private static final Integer timerSync = 1; private volatile int time = 60000; + private volatile int codeTime = 15000; private double lastCurrentTime; + private double lastCodeTime; private boolean waitingForSms = false; private boolean nextPressed = false; private String lastError = ""; @@ -162,6 +165,7 @@ public class LoginActivitySmsView extends SlideView implements NotificationCente codeField.requestFocus(); destroyTimer(); + destroyCodeTimer(); timeText.setText(String.format("%s 1:00", LocaleController.getString("CallText", R.string.CallText))); lastCurrentTime = System.currentTimeMillis(); problemText.setVisibility(time < 1000 ? VISIBLE : GONE); @@ -169,6 +173,46 @@ public class LoginActivitySmsView extends SlideView implements NotificationCente createTimer(); } + private void createCodeTimer() { + if (codeTimer != null) { + return; + } + codeTime = 15000; + codeTimer = new Timer(); + lastCodeTime = System.currentTimeMillis(); + codeTimer.schedule(new TimerTask() { + @Override + public void run() { + double currentTime = System.currentTimeMillis(); + double diff = currentTime - lastCodeTime; + codeTime -= diff; + lastCodeTime = currentTime; + Utilities.RunOnUIThread(new Runnable() { + @Override + public void run() { + if (codeTime <= 1000) { + problemText.setVisibility(VISIBLE); + destroyCodeTimer(); + } + } + }); + } + }, 0, 1000); + } + + private void destroyCodeTimer() { + try { + synchronized(timerSync) { + if (codeTimer != null) { + codeTimer.cancel(); + codeTimer = null; + } + } + } catch (Exception e) { + FileLog.e("tmessages", e); + } + } + private void createTimer() { if (timeTimer != null) { return; @@ -189,9 +233,9 @@ public class LoginActivitySmsView extends SlideView implements NotificationCente int seconds = time / 1000 - minutes * 60; timeText.setText(String.format("%s %d:%02d", LocaleController.getString("CallText", R.string.CallText), minutes, seconds)); } else { - problemText.setVisibility(VISIBLE); timeText.setText(LocaleController.getString("Calling", R.string.Calling)); destroyTimer(); + createCodeTimer(); TLRPC.TL_auth_sendCall req = new TLRPC.TL_auth_sendCall(); req.phone_number = requestPhone; req.phone_code_hash = phoneHash; @@ -259,6 +303,7 @@ public class LoginActivitySmsView extends SlideView implements NotificationCente if (error == null) { TLRPC.TL_auth_authorization res = (TLRPC.TL_auth_authorization)response; destroyTimer(); + destroyCodeTimer(); UserConfig.clearConfig(); MessagesController.getInstance().cleanUp(); UserConfig.setCurrentUser(res.user); @@ -280,6 +325,7 @@ public class LoginActivitySmsView extends SlideView implements NotificationCente params.putString("code", req.phone_code); delegate.setPage(2, true, params, false); destroyTimer(); + destroyCodeTimer(); } else { createTimer(); if (error.text.contains("PHONE_NUMBER_INVALID")) { @@ -304,6 +350,7 @@ public class LoginActivitySmsView extends SlideView implements NotificationCente @Override public void onBackPressed() { destroyTimer(); + destroyCodeTimer(); currentParams = null; AndroidUtilities.setWaitingForSms(false); NotificationCenter.getInstance().removeObserver(this, 998); @@ -316,6 +363,7 @@ public class LoginActivitySmsView extends SlideView implements NotificationCente AndroidUtilities.setWaitingForSms(false); NotificationCenter.getInstance().removeObserver(this, 998); destroyTimer(); + destroyCodeTimer(); waitingForSms = false; } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PopupNotificationActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PopupNotificationActivity.java index dc519d78..513cbea4 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PopupNotificationActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PopupNotificationActivity.java @@ -161,7 +161,7 @@ public class PopupNotificationActivity extends Activity implements NotificationC return; } NotificationsController.getInstance().popupMessages.remove(currentMessageNum); - MessagesController.getInstance().markDialogAsRead(currentMessageObject.getDialogId(), currentMessageObject.messageOwner.id, Math.max(0, currentMessageObject.messageOwner.id), 0, currentMessageObject.messageOwner.date, true); + MessagesController.getInstance().markDialogAsRead(currentMessageObject.getDialogId(), currentMessageObject.messageOwner.id, Math.max(0, currentMessageObject.messageOwner.id), 0, currentMessageObject.messageOwner.date, true, true); currentMessageObject = null; getNewMessage(); } diff --git a/TMessagesProj/src/main/res/values-ar/strings.xml b/TMessagesProj/src/main/res/values-ar/strings.xml index 2547fdfe..adc62664 100644 --- a/TMessagesProj/src/main/res/values-ar/strings.xml +++ b/TMessagesProj/src/main/res/values-ar/strings.xml @@ -308,7 +308,7 @@ لا توجد صور حتى الآن - Edit Video + تحرير الفيديو Original Video Edited Video