From 1dbe1e1014d1c7540ee584ddc8a11f314d6b3cac Mon Sep 17 00:00:00 2001 From: luvletter2333 Date: Thu, 3 Jun 2021 01:50:35 +0800 Subject: [PATCH] feat: take GIF as video --- .../src/main/java/org/telegram/ui/PhotoViewer.java | 2 +- .../main/java/tw/nekomimi/nekogram/NekoConfig.java | 11 ++++++++--- .../nekogram/settings/NekoChatSettingsActivity.java | 9 +++++++++ TMessagesProj/src/main/res/values/strings_neko.xml | 1 + 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java b/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java index c5d93fbdb..e0d97372d 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java @@ -9798,7 +9798,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat MessagesController.getInstance(currentAccount).loadDialogPhotos(avatarsDialogId, 80, 0, true, classGuid); } } - if (currentMessageObject != null && currentMessageObject.isVideo() || currentBotInlineResult != null && (currentBotInlineResult.type.equals("video") || MessageObject.isVideoDocument(currentBotInlineResult.document)) || pageBlocksAdapter != null && pageBlocksAdapter.isVideo(index)) { + if (currentMessageObject != null && currentMessageObject.isVideo() || (currentMessageObject.isGif() && NekoConfig.takeGIFasVideo) || currentBotInlineResult != null && (currentBotInlineResult.type.equals("video") || MessageObject.isVideoDocument(currentBotInlineResult.document)) || pageBlocksAdapter != null && pageBlocksAdapter.isVideo(index)) { playerAutoStarted = true; onActionClick(false); } else if (!imagesArrLocals.isEmpty()) { diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoConfig.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoConfig.java index fd694f2cb..bb6b85010 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoConfig.java +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/NekoConfig.java @@ -145,11 +145,12 @@ public class NekoConfig { public static boolean avatarBackgroundBlur; public static boolean avatarBackgroundDarken; public static boolean disableTrending; + public static boolean dontSendGreetingSticker; + public static boolean takeGIFasVideo; public static boolean disableAutoDownloadingWin32Executable; public static boolean disableAutoDownloadingArchive; - public static boolean dontSendGreetingSticker; public static String getOpenPGPAppName() { @@ -309,12 +310,12 @@ public class NekoConfig { increaseVoiceMessageQuality = preferences.getBoolean("increaseVoiceMessageQuality", true); acceptSecretChat = preferences.getBoolean("acceptSecretChat", true); disableTrending = preferences.getBoolean("disableTrending", true); + dontSendGreetingSticker = preferences.getBoolean("dontSendGreetingSticker", false); + takeGIFasVideo = preferences.getBoolean("takeGIFasVideo", false); disableAutoDownloadingWin32Executable = preferences.getBoolean("disableAutoDownloadingWin32Executable", true); disableAutoDownloadingArchive = preferences.getBoolean("disableAutoDownloadingArchive", true); - dontSendGreetingSticker = preferences.getBoolean("dontSendGreetingSticker", false); - } public static void toggleShowAddToSavedMessages() { @@ -799,6 +800,10 @@ public class NekoConfig { preferences.edit().putBoolean("dontSendGreetingSticker", dontSendGreetingSticker = !dontSendGreetingSticker).apply(); } + public static void toggleTakeGIFasVideo() { + preferences.edit().putBoolean("takeGIFasVideo", takeGIFasVideo = !takeGIFasVideo).apply(); + } + private static final String EMOJI_FONT_AOSP = "NotoColorEmoji.ttf"; public static Typeface getSystemEmojiTypeface() { diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoChatSettingsActivity.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoChatSettingsActivity.java index 34aa2df76..a998b86f3 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoChatSettingsActivity.java +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoChatSettingsActivity.java @@ -75,6 +75,7 @@ public class NekoChatSettingsActivity extends BaseFragment implements Notificati private int disableProximityEventsRow; private int disableTrendingRow; private int dontSendGreetingStickerRow; + private int takeGIFasVideoRow; private int mapPreviewRow; private int messageMenuRow; @@ -275,6 +276,11 @@ public class NekoChatSettingsActivity extends BaseFragment implements Notificati if (view instanceof TextCheckCell) { ((TextCheckCell) view).setChecked(NekoConfig.dontSendGreetingSticker); } + } else if (position == takeGIFasVideoRow) { + NekoConfig.toggleTakeGIFasVideo(); + if (view instanceof TextCheckCell) { + ((TextCheckCell) view).setChecked(NekoConfig.takeGIFasVideo); + } } else if (position == win32Row) { NekoConfig.toggleDisableAutoDownloadingWin32Executable(); if (view instanceof TextCheckCell) { @@ -323,6 +329,7 @@ public class NekoChatSettingsActivity extends BaseFragment implements Notificati disableProximityEventsRow = rowCount++; disableTrendingRow = rowCount++; dontSendGreetingStickerRow = rowCount++; + takeGIFasVideoRow = rowCount++; mapPreviewRow = rowCount++; messageMenuRow = rowCount++; @@ -684,6 +691,8 @@ public class NekoChatSettingsActivity extends BaseFragment implements Notificati textCell.setTextAndCheck(LocaleController.getString("DisableTrending", R.string.DisableTrending), NekoConfig.disableTrending, true); } else if (position == dontSendGreetingStickerRow) { textCell.setTextAndCheck(LocaleController.getString("DontSendGreetingSticker", R.string.DontSendGreetingSticker), NekoConfig.dontSendGreetingSticker, true); + } else if (position == takeGIFasVideoRow) { + textCell.setTextAndCheck(LocaleController.getString("TakeGIFasVideo", R.string.TakeGIFasVideo), NekoConfig.takeGIFasVideo, true); } else if (position == win32Row) { textCell.setTextAndCheck(LocaleController.getString("Win32ExecutableFiles", R.string.Win32ExecutableFiles), !NekoConfig.disableAutoDownloadingWin32Executable, true); } else if (position == archiveRow) { diff --git a/TMessagesProj/src/main/res/values/strings_neko.xml b/TMessagesProj/src/main/res/values/strings_neko.xml index cfbaabea8..18dce19a2 100644 --- a/TMessagesProj/src/main/res/values/strings_neko.xml +++ b/TMessagesProj/src/main/res/values/strings_neko.xml @@ -111,5 +111,6 @@ YouDao Translate Press title to open \"All Chats\" tab Don\'t send greeting sticker + Take GIF as Video \ No newline at end of file