From 1b913b2a2f85c890ae1c7375c034bf370bf26245 Mon Sep 17 00:00:00 2001 From: DrKLO Date: Fri, 27 Mar 2015 13:32:33 +0300 Subject: [PATCH] Bug fixes --- TMessagesProj/build.gradle | 2 +- .../telegram/android/ContactsController.java | 2 +- .../android/NotificationsController.java | 106 +++++++++++++++--- .../telegram/android/SendMessagesHelper.java | 9 +- .../java/org/telegram/ui/ChatActivity.java | 8 ++ .../ui/Components/ChatActivityEnterView.java | 2 + .../ui/NotificationsSettingsActivity.java | 7 +- TMessagesProj/src/main/res/raw/sound_in.wav | Bin 0 -> 12590 bytes TMessagesProj/src/main/res/raw/sound_out.wav | Bin 17708 -> 8780 bytes .../src/main/res/values-ar/strings.xml | 1 + .../src/main/res/values-de/strings.xml | 1 + .../src/main/res/values-es/strings.xml | 1 + .../src/main/res/values-it/strings.xml | 1 + .../src/main/res/values-ko/strings.xml | 1 + .../src/main/res/values-nl/strings.xml | 1 + .../src/main/res/values-pt-rBR/strings.xml | 1 + .../src/main/res/values-pt-rPT/strings.xml | 1 + TMessagesProj/src/main/res/values/strings.xml | 1 + 18 files changed, 125 insertions(+), 20 deletions(-) create mode 100644 TMessagesProj/src/main/res/raw/sound_in.wav diff --git a/TMessagesProj/build.gradle b/TMessagesProj/build.gradle index 948e3eda4..09f4e23bb 100644 --- a/TMessagesProj/build.gradle +++ b/TMessagesProj/build.gradle @@ -82,7 +82,7 @@ android { defaultConfig { minSdkVersion 8 targetSdkVersion 22 - versionCode 475 + versionCode 479 versionName "2.6.1" } } diff --git a/TMessagesProj/src/main/java/org/telegram/android/ContactsController.java b/TMessagesProj/src/main/java/org/telegram/android/ContactsController.java index 4894e628e..84ac04327 100644 --- a/TMessagesProj/src/main/java/org/telegram/android/ContactsController.java +++ b/TMessagesProj/src/main/java/org/telegram/android/ContactsController.java @@ -1772,7 +1772,7 @@ public class ContactsController { } public static String formatName(String firstName, String lastName) { - String result = null; + String result = ""; if (LocaleController.nameDisplayOrder == 1) { result = firstName; if (result == null || result.length() == 0) { diff --git a/TMessagesProj/src/main/java/org/telegram/android/NotificationsController.java b/TMessagesProj/src/main/java/org/telegram/android/NotificationsController.java index 951c701c4..9395c0c4b 100644 --- a/TMessagesProj/src/main/java/org/telegram/android/NotificationsController.java +++ b/TMessagesProj/src/main/java/org/telegram/android/NotificationsController.java @@ -17,10 +17,10 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; +import android.content.res.AssetFileDescriptor; import android.graphics.drawable.BitmapDrawable; import android.media.AudioManager; import android.media.MediaPlayer; -import android.media.SoundPool; import android.net.Uri; import android.os.Build; import android.os.SystemClock; @@ -68,11 +68,10 @@ public class NotificationsController { private int lastOnlineFromOtherDevice = 0; private boolean inChatSoundEnabled = true; - private SoundPool soundPool; - private int inChatOutgoingSound; private long lastSoundPlay; - private MediaPlayer mediaPlayer; - private String lastMediaPlayerUri; + private MediaPlayer mediaPlayerIn; + private MediaPlayer mediaPlayerOut; + private AudioManager audioManager; private static volatile NotificationsController Instance = null; public static NotificationsController getInstance() { @@ -94,9 +93,8 @@ public class NotificationsController { inChatSoundEnabled = preferences.getBoolean("EnableInChatSound", true); try { - soundPool = new SoundPool(1, AudioManager.STREAM_NOTIFICATION, 0); - inChatOutgoingSound = soundPool.load(ApplicationLoader.applicationContext, R.raw.sound_out, 1); - mediaPlayer = new MediaPlayer(); + audioManager = (AudioManager) ApplicationLoader.applicationContext.getSystemService(Context.AUDIO_SERVICE); + //mediaPlayer = new MediaPlayer(); } catch (Exception e) { FileLog.e("tmessages", e); } @@ -389,6 +387,7 @@ public class NotificationsController { inAppPriority = preferences.getBoolean("EnableInAppPriority", false); vibrate_override = preferences.getInt("vibrate_" + dialog_id, 0); priority_override = preferences.getInt("priority_" + dialog_id, 3); + boolean vibrateOnlyIfSilent = false; choosenSoundPath = preferences.getString("sound_path_" + dialog_id, null); if (chat_id != 0) { @@ -418,6 +417,10 @@ public class NotificationsController { priority = priority_override; } + if (needVibrate == 4) { + vibrateOnlyIfSilent = true; + needVibrate = 0; + } if (needVibrate == 2 && (vibrate_override == 1 || vibrate_override == 3 || vibrate_override == 5) || needVibrate != 2 && vibrate_override == 2 || vibrate_override != 0) { needVibrate = vibrate_override; } @@ -434,6 +437,16 @@ public class NotificationsController { priority = 1; } } + if (vibrateOnlyIfSilent && needVibrate != 2) { + try { + int mode = audioManager.getRingerMode(); + if (mode != AudioManager.RINGER_MODE_SILENT && mode != AudioManager.RINGER_MODE_VIBRATE) { + needVibrate = 2; + } + } catch (Exception e) { + FileLog.e("tmessages", e); + } + } } Intent intent = new Intent(ApplicationLoader.applicationContext, LaunchActivity.class); @@ -824,13 +837,53 @@ public class NotificationsController { if (!inChatSoundEnabled) { return; } - if (lastSoundPlay > System.currentTimeMillis() - 1800) { - return; - } try { - String choosenSoundPath = null; - String defaultPath = Settings.System.DEFAULT_NOTIFICATION_URI.getPath(); + if (audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT) { + return; + } + } catch (Exception e) { + FileLog.e("tmessages", e); + } + + try { SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("Notifications", Context.MODE_PRIVATE); + int notify_override = preferences.getInt("notify2_" + openned_dialog_id, 0); + if (notify_override == 3) { + int mute_until = preferences.getInt("notifyuntil_" + openned_dialog_id, 0); + if (mute_until >= ConnectionsManager.getInstance().getCurrentTime()) { + notify_override = 2; + } + } + if (notify_override == 2) { + return; + } + notificationsQueue.postRunnable(new Runnable() { + @Override + public void run() { + if (lastSoundPlay > System.currentTimeMillis() - 500) { + return; + } + try { + if (mediaPlayerIn == null) { + AssetFileDescriptor assetFileDescriptor = ApplicationLoader.applicationContext.getResources().openRawResourceFd(R.raw.sound_in); + if (assetFileDescriptor != null) { + mediaPlayerIn = new MediaPlayer(); + mediaPlayerIn.setAudioStreamType(AudioManager.STREAM_NOTIFICATION); + mediaPlayerIn.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength()); + mediaPlayerIn.setLooping(false); + assetFileDescriptor.close(); + mediaPlayerIn.prepare(); + } + } + mediaPlayerIn.start(); + } catch (Exception e) { + FileLog.e("tmessages", e); + } + } + }); + /*String choosenSoundPath = null; + String defaultPath = Settings.System.DEFAULT_NOTIFICATION_URI.getPath(); + choosenSoundPath = preferences.getString("sound_path_" + openned_dialog_id, null); boolean isChat = (int)(openned_dialog_id) < 0; if (isChat) { @@ -860,7 +913,7 @@ public class NotificationsController { mediaPlayer.prepare(); } mediaPlayer.start(); - } + }*/ } catch (Exception e) { FileLog.e("tmessages", e); } @@ -871,10 +924,33 @@ public class NotificationsController { return; } try { - soundPool.play(inChatOutgoingSound, 1, 1, 1, 0, 1); + if (audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT) { + return; + } } catch (Exception e) { FileLog.e("tmessages", e); } + notificationsQueue.postRunnable(new Runnable() { + @Override + public void run() { + try { + if (mediaPlayerOut == null) { + AssetFileDescriptor assetFileDescriptor = ApplicationLoader.applicationContext.getResources().openRawResourceFd(R.raw.sound_out); + if (assetFileDescriptor != null) { + mediaPlayerOut = new MediaPlayer(); + mediaPlayerOut.setAudioStreamType(AudioManager.STREAM_NOTIFICATION); + mediaPlayerOut.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength()); + mediaPlayerOut.setLooping(false); + assetFileDescriptor.close(); + mediaPlayerOut.prepare(); + } + } + mediaPlayerOut.start(); + } catch (Exception e) { + FileLog.e("tmessages", e); + } + } + }); } public void processNewMessages(ArrayList messageObjects, boolean isLast) { diff --git a/TMessagesProj/src/main/java/org/telegram/android/SendMessagesHelper.java b/TMessagesProj/src/main/java/org/telegram/android/SendMessagesHelper.java index 7b043fe98..21639752d 100644 --- a/TMessagesProj/src/main/java/org/telegram/android/SendMessagesHelper.java +++ b/TMessagesProj/src/main/java/org/telegram/android/SendMessagesHelper.java @@ -1810,8 +1810,13 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter FileLog.e("tmessages", e); } if (bmOptions.outWidth != 0 && bmOptions.outHeight != 0 && bmOptions.outWidth <= 800 && bmOptions.outHeight <= 800) { - TLRPC.TL_documentAttributeSticker attributeSticker = new TLRPC.TL_documentAttributeSticker(); - attributeSticker.alt = ""; + TLRPC.TL_documentAttributeSticker attributeSticker = null; + if (isEncrypted) { + attributeSticker = new TLRPC.TL_documentAttributeSticker_old(); + } else { + attributeSticker = new TLRPC.TL_documentAttributeSticker(); + attributeSticker.alt = ""; + } document.attributes.add(attributeSticker); TLRPC.TL_documentAttributeImageSize attributeImageSize = new TLRPC.TL_documentAttributeImageSize(); attributeImageSize.w = bmOptions.outWidth; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java index d8c607d77..ce9cd1f9c 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java @@ -1799,6 +1799,14 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } } + for (int a = 0; a < document.attributes.size(); a++) { + TLRPC.DocumentAttribute attribute = document.attributes.get(a); + if (attribute instanceof TLRPC.TL_documentAttributeSticker) { + document.attributes.remove(a); + document.attributes.add(new TLRPC.TL_documentAttributeSticker_old()); + break; + } + } SendMessagesHelper.getInstance().sendMessage((TLRPC.TL_document) document, null, null, dialog_id, replyingMessageObject); showReplyForMessageObjectOrForward(false, null, null, true); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatActivityEnterView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatActivityEnterView.java index 0ba516488..f4e5a15f1 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatActivityEnterView.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatActivityEnterView.java @@ -376,6 +376,7 @@ public class ChatActivityEnterView extends FrameLayoutFixed implements Notificat audioSendButton.setScaleType(ImageView.ScaleType.CENTER_INSIDE); audioSendButton.setImageResource(R.drawable.mic_button_states); audioSendButton.setBackgroundColor(0xffffffff); + audioSendButton.setSoundEffectsEnabled(false); audioSendButton.setPadding(0, 0, AndroidUtilities.dp(4), 0); frameLayout1.addView(audioSendButton); layoutParams1 = (FrameLayout.LayoutParams) audioSendButton.getLayoutParams(); @@ -461,6 +462,7 @@ public class ChatActivityEnterView extends FrameLayoutFixed implements Notificat sendButton.setVisibility(View.INVISIBLE); sendButton.setScaleType(ImageView.ScaleType.CENTER_INSIDE); sendButton.setImageResource(R.drawable.ic_send); + sendButton.setSoundEffectsEnabled(false); ViewProxy.setScaleX(sendButton, 0.1f); ViewProxy.setScaleY(sendButton, 0.1f); ViewProxy.setAlpha(sendButton, 0.0f); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/NotificationsSettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/NotificationsSettingsActivity.java index 5d7d0e5a1..3bc8e8594 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/NotificationsSettingsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/NotificationsSettingsActivity.java @@ -439,7 +439,8 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif LocaleController.getString("VibrationDisabled", R.string.VibrationDisabled), LocaleController.getString("Default", R.string.Default), LocaleController.getString("Short", R.string.Short), - LocaleController.getString("Long", R.string.Long) + LocaleController.getString("Long", R.string.Long), + LocaleController.getString("OnlyIfSilent", R.string.OnlyIfSilent) }, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { @@ -457,6 +458,8 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif editor.putInt(param, 1); } else if (which == 3) { editor.putInt(param, 3); + } else if (which == 4) { + editor.putInt(param, 4); } editor.commit(); if (listView != null) { @@ -767,6 +770,8 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif textCell.setTextAndValue(LocaleController.getString("Vibrate", R.string.Vibrate), LocaleController.getString("VibrationDisabled", R.string.VibrationDisabled), true); } else if (value == 3) { textCell.setTextAndValue(LocaleController.getString("Vibrate", R.string.Vibrate), LocaleController.getString("Long", R.string.Long), true); + } else if (value == 4) { + textCell.setTextAndValue(LocaleController.getString("Vibrate", R.string.Vibrate), LocaleController.getString("OnlyIfSilent", R.string.OnlyIfSilent), true); } } else if (i == repeatRow) { textCell.setMultilineDetail(false); diff --git a/TMessagesProj/src/main/res/raw/sound_in.wav b/TMessagesProj/src/main/res/raw/sound_in.wav new file mode 100644 index 0000000000000000000000000000000000000000..262201668ac81a99daae5f71980f1f70dc425e6b GIT binary patch literal 12590 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 OrF+C|Xw@(B#{UD_#Z7kr literal 0 HcmV?d00001 diff --git a/TMessagesProj/src/main/res/raw/sound_out.wav b/TMessagesProj/src/main/res/raw/sound_out.wav index aef12c5294fff600e62e5f6d96946005cc24d747..ccfa86963aad4918dc632af2d6fc3234a5a1f814 100644 GIT binary patch literal 8780 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 Iu5)MlFM{q*Z2$lO literal 17708 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لا يوجد صوت افتراضي الدعم + إذا كان على الصامت خلفية الدردشة الرسائل أرسل بزر الإدخال diff --git a/TMessagesProj/src/main/res/values-de/strings.xml b/TMessagesProj/src/main/res/values-de/strings.xml index 89582b000..b38245a61 100644 --- a/TMessagesProj/src/main/res/values-de/strings.xml +++ b/TMessagesProj/src/main/res/values-de/strings.xml @@ -245,6 +245,7 @@ Kein Ton Standard Support + Nur wenn stumm Chat-Hintergrundbild Nachrichten Mit Enter senden diff --git a/TMessagesProj/src/main/res/values-es/strings.xml b/TMessagesProj/src/main/res/values-es/strings.xml index 5e42b5503..6056de8d2 100644 --- a/TMessagesProj/src/main/res/values-es/strings.xml +++ b/TMessagesProj/src/main/res/values-es/strings.xml @@ -245,6 +245,7 @@ Sin sonido Por defecto Soporte + Only if silent Fondo de chat Mensajes Enviar con \'Intro\' diff --git a/TMessagesProj/src/main/res/values-it/strings.xml b/TMessagesProj/src/main/res/values-it/strings.xml index 3d5a6a295..afe56a4fd 100644 --- a/TMessagesProj/src/main/res/values-it/strings.xml +++ b/TMessagesProj/src/main/res/values-it/strings.xml @@ -245,6 +245,7 @@ Nessun suono Default Supporto + Solo se silenzioso Sfondo chat Messaggi Spedisci con Invio diff --git a/TMessagesProj/src/main/res/values-ko/strings.xml b/TMessagesProj/src/main/res/values-ko/strings.xml index 01ffbed79..c03fdfe2d 100644 --- a/TMessagesProj/src/main/res/values-ko/strings.xml +++ b/TMessagesProj/src/main/res/values-ko/strings.xml @@ -245,6 +245,7 @@ 알림음 없음 기본값 지원 + Only if silent 채팅방 배경화면 메시지 엔터키로 메시지 전송 diff --git a/TMessagesProj/src/main/res/values-nl/strings.xml b/TMessagesProj/src/main/res/values-nl/strings.xml index 9cca9fdf7..2a05283ae 100644 --- a/TMessagesProj/src/main/res/values-nl/strings.xml +++ b/TMessagesProj/src/main/res/values-nl/strings.xml @@ -245,6 +245,7 @@ Geen geluid Standaard Ondersteuning + Alleen indien stil Achtergrond kiezen Berichten Versturen met Enter diff --git a/TMessagesProj/src/main/res/values-pt-rBR/strings.xml b/TMessagesProj/src/main/res/values-pt-rBR/strings.xml index ca9ad7854..b75938aa3 100644 --- a/TMessagesProj/src/main/res/values-pt-rBR/strings.xml +++ b/TMessagesProj/src/main/res/values-pt-rBR/strings.xml @@ -245,6 +245,7 @@ Sem som Padrão Suporte + Only if silent Papel de Parede Mensagens Enviar usando \'Enter\' diff --git a/TMessagesProj/src/main/res/values-pt-rPT/strings.xml b/TMessagesProj/src/main/res/values-pt-rPT/strings.xml index 941b2c4fb..35568de2d 100644 --- a/TMessagesProj/src/main/res/values-pt-rPT/strings.xml +++ b/TMessagesProj/src/main/res/values-pt-rPT/strings.xml @@ -245,6 +245,7 @@ Sem som Padrão Suporte + Only if silent Papel de Parede Mensagens Enviar usando \'Enter\' diff --git a/TMessagesProj/src/main/res/values/strings.xml b/TMessagesProj/src/main/res/values/strings.xml index d4447c425..d5e073006 100644 --- a/TMessagesProj/src/main/res/values/strings.xml +++ b/TMessagesProj/src/main/res/values/strings.xml @@ -245,6 +245,7 @@ No sound Default Support + Only if silent Chat Background Messages Send by Enter