Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/dev' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
LiuYi0526 committed Jan 2, 2025
2 parents 4aef86d + 7888b0c commit 2c5c94b
Show file tree
Hide file tree
Showing 36 changed files with 153 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@
import tw.nekomimi.nekogram.utils.FileUtil;
import tw.nekomimi.nekogram.utils.ProxyUtil;
import tw.nekomimi.nekogram.utils.UIUtil;
import tw.nekomimi.nekogram.utils.TelegramUtil;

import static com.v2ray.ang.V2RayConfig.SSR_PROTOCOL;
import static com.v2ray.ang.V2RayConfig.SS_PROTOCOL;
Expand Down Expand Up @@ -4139,6 +4140,18 @@ public static boolean openForView(MessageObject message, Activity activity, Them
if (f == null || !f.exists()) {
f = FileLoader.getInstance(message.currentAccount).getPathToMessage(message.messageOwner);
}
if (f != null && !f.exists()) {
String cacheFilePath = AndroidUtilities.getCacheDir().getAbsolutePath();
cacheFilePath += "/" + TelegramUtil.getFileNameWithoutEx(f.getName());
List<String> suffix = Arrays.asList(".pt", ".temp");
for (int ii = 0; ii < suffix.size(); ii++) {
f = new File(cacheFilePath + suffix.get(ii));
if (f.exists()) {
message.putInDownloadsStore = true;
break;
}
}
}
String mimeType = message.type == MessageObject.TYPE_FILE || message.type == MessageObject.TYPE_TEXT ? message.getMimeType() : null;
return openForView(f, message.getFileName(), mimeType, activity, resourcesProvider, restrict);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ public class FileLoadOperation {
private boolean forceSmallChunk;
private Runnable fileWriteRunnable;
public boolean isStory;
public boolean isVideo;

public volatile boolean caughtPremiumFloodWait;
public void setStream(FileLoadOperationStream stream, boolean streamPriority, long streamOffset) {
Expand Down Expand Up @@ -438,6 +439,7 @@ public FileLoadOperation(TLRPC.Document documentLocation, Object parent) {
}
}
}
isVideo = (MessageObject.isVideoDocument(documentLocation));
ungzip = "application/x-tgsticker".equals(documentLocation.mime_type) || "application/x-tgwallpattern".equals(documentLocation.mime_type);
totalBytesCount = documentLocation.size;
if (key != null) {
Expand Down Expand Up @@ -780,7 +782,7 @@ protected void removeStreamListener(final FileLoadOperationStream operation) {
}
FileLog.e("FileLoadOperation " + getFileName() + " removing stream listener " + operation);
streamListeners.remove(operation);
if (!isStory && streamListeners.isEmpty()) {
if (!isStory && !isVideo && streamListeners.isEmpty()) {
Utilities.stageQueue.cancelRunnable(cancelAfterNoStreamListeners);
Utilities.stageQueue.postRunnable(cancelAfterNoStreamListeners, 1200);
} else if (!streamListeners.isEmpty()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@
import tw.nekomimi.nekogram.NekoConfig;
import tw.nekomimi.nekogram.NekoXConfig;
import tw.nekomimi.nekogram.SaveToDownloadReceiver;
import xyz.nextalone.nagram.NaConfig;
import xyz.nextalone.nagram.helper.AudioEnhance;

public class MediaController implements AudioManager.OnAudioFocusChangeListener, NotificationCenter.NotificationCenterDelegate, SensorEventListener {
Expand Down Expand Up @@ -678,6 +679,8 @@ public SearchImage clone() {
}
};

public final static int VIDEO_BITRATE_2160 = 28400_000;
public final static int VIDEO_BITRATE_1440 = 14000_000;
public final static int VIDEO_BITRATE_1080 = 6800_000;
public final static int VIDEO_BITRATE_720 = 2621_440;
public final static int VIDEO_BITRATE_480 = 1000_000;
Expand Down Expand Up @@ -5799,6 +5802,18 @@ public static int makeVideoBitrate(int originalHeight, int originalWidth, int or
compressFactor = 0.6f;
minCompressFactor = 0.7f;
}
if (NaConfig.INSTANCE.getEnhancedVideoBitrate().Bool()) {
int size = Math.min(height, width);
if (size >= 2160) {
maxBitrate = VIDEO_BITRATE_2160;
} else if (size >= 1440) {
maxBitrate = VIDEO_BITRATE_1440;
} else if (size >= 1080) {
maxBitrate = VIDEO_BITRATE_1440;
} else if (size >= 720) {
maxBitrate = VIDEO_BITRATE_1080;
}
}
int remeasuredBitrate = (int) (originalBitrate / (Math.min(originalHeight / (float) (height), originalWidth / (float) (width))));
remeasuredBitrate *= compressFactor;
int minBitrate = (int) (getVideoBitrateWithFactor(minCompressFactor) / (1280f * 720f / (width * height)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3263,17 +3263,21 @@ public void onAnimationEnd(Animator animation) {
}
}

MessageObject captionMessage = getCaptionMessage();
// --- AyuGram hook
if (AyuFilter.isFiltered(message, null)) {
xyz.nextalone.nagram.helper.MessageHelper.INSTANCE.blurify(message);
if (captionMessage != null) xyz.nextalone.nagram.helper.MessageHelper.INSTANCE.blurify(captionMessage);
}
// --- AyuGram hook
// --- NaGram hook
if (message != null && message.messageOwner != null && message.messageOwner.hide) {
xyz.nextalone.nagram.helper.MessageHelper.INSTANCE.blurify(message);
if (captionMessage != null) xyz.nextalone.nagram.helper.MessageHelper.INSTANCE.blurify(captionMessage);
}
if (NekoConfig.ignoreBlocked.Bool() && message != null && MessagesController.getInstance(currentAccount).blockePeers.indexOfKey(message.getFromChatId()) >= 0) {
xyz.nextalone.nagram.helper.MessageHelper.INSTANCE.blurify(message);
if (captionMessage != null) xyz.nextalone.nagram.helper.MessageHelper.INSTANCE.blurify(captionMessage);
}
// --- NaGram hook

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1184,7 +1184,7 @@ public void afterTextChanged(Editable editable) {
infoContainer.addView(channelAffiliateProgramsCell, LayoutHelper.createLinear(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT));
}

if (channelAffiliateProgramsCell != null && getMessagesController().starrefConnectAllowed) {
if (channelAffiliateProgramsCell != null && ChatObject.hasAdminRights(currentChat) && getMessagesController().starrefConnectAllowed) {
channelAffiliateProgramsCell.setVisibility(View.VISIBLE);
}
if (logCell != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1540,6 +1540,9 @@ protected void onSend(androidx.collection.LongSparseArray<TLRPC.Dialog> dids, in
} else if (id == menu_user_profile) {
// Na: open sticker's admin user profile or copy admin userId
long userId = stickerSet.set.id >> 32;
if ((stickerSet.set.id >> 16 & 0xff) == 0x3f) {
userId |= 0x80000000L;
}
if ((stickerSet.set.id >> 24 & 0xff) != 0) {
userId += 0x100000000L;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1486,6 +1486,9 @@ protected void onSend(LongSparseArray<TLRPC.Dialog> dids, int count, TLRPC.TL_fo
} else if (id == menu_user_profile) {
// Na: open sticker's admin user profile or copy admin userId
long userId = stickerSet.set.id >> 32;
if ((stickerSet.set.id >> 16 & 0xff) == 0x3f) {
userId |= 0x80000000L;
}
if ((stickerSet.set.id >> 24 & 0xff) != 0) {
userId += 0x100000000L;
}
Expand Down
15 changes: 14 additions & 1 deletion TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java
Original file line number Diff line number Diff line change
Expand Up @@ -20446,9 +20446,15 @@ private Size calculateResultVideoSize() {
maxSize = 1280.0f;
break;
case 3:
default:
maxSize = 1920.0f;
break;
case 4:
maxSize = 2560.0f;
break;
case 5:
default:
maxSize = 4096.0f;
break;
}
float scale = originalWidth > originalHeight ? maxSize / originalWidth : maxSize / originalHeight;
if (selectedCompression == compressionsCount - 1 && scale >= 1f) {
Expand Down Expand Up @@ -20728,6 +20734,13 @@ private void updateCompressionsCount(int h, int w) {
} else {
compressionsCount = 1;
}
if (NaConfig.INSTANCE.getEnhancedVideoBitrate().Bool()) {
if (maxSize > 2560) {
compressionsCount = 6;
} else if (maxSize > 1920) {
compressionsCount = 5;
}
}
}

private void updateAccessibilityOverlayVisibility() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ public class NekoExperimentalSettingsActivity extends BaseNekoXSettingsActivity
private final AbstractConfigCell fakeHighPerformanceDeviceRow = cellGroup.appendCell(new ConfigCellTextCheck(NaConfig.INSTANCE.getFakeHighPerformanceDevice()));
private final AbstractConfigCell disableEmojiDrawLimitRow = cellGroup.appendCell(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisableEmojiDrawLimit()));
private final AbstractConfigCell sendMp4DocumentAsVideoRow = cellGroup.appendCell(new ConfigCellTextCheck(NaConfig.INSTANCE.getSendMp4DocumentAsVideo()));
private final AbstractConfigCell enhancedVideoBitrateRow = cellGroup.appendCell(new ConfigCellTextCheck(NaConfig.INSTANCE.getEnhancedVideoBitrate()));
private final AbstractConfigCell hideProxySponsorChannelRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideProxySponsorChannel));
private final AbstractConfigCell hideSponsoredMessageRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideSponsoredMessage));
private final AbstractConfigCell ignoreBlockedRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.ignoreBlocked, LocaleController.getString("IgnoreBlockedAbout")));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -670,6 +670,12 @@ object NaConfig {
ConfigItem.configTypeBool,
false
)
val enhancedVideoBitrate =
addConfig(
"EnhancedVideoBitrate",
ConfigItem.configTypeBool,
false
)

private fun addConfig(
k: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -310,16 +310,29 @@ object MessageHelper {
return text
}

fun blurify(messageObject: MessageObject?) {
if (messageObject?.messageOwner == null) {
private var spoilerChars: CharArray = charArrayOf(
'⠌', '⡢', '⢑', '⠨', '⠥', '⠮', '⡑'
)

fun blurify(text: CharSequence): CharSequence {
val stringBuilder = StringBuilder(text)
for (i in text.indices) {
stringBuilder.setCharAt(i, spoilerChars[i % spoilerChars.size])
}
return stringBuilder
}

fun blurify(messageObject: MessageObject) {
if (messageObject.messageOwner == null) {
return
}

if (!TextUtils.isEmpty(messageObject.messageOwner.message)) {
val entity = TL_messageEntitySpoiler()
entity.offset = 0
entity.length = messageObject.messageOwner.message.length
messageObject.messageOwner.entities.add(entity)
messageObject.messageOwner.message = blurify(messageObject.messageOwner.message).toString()
}

if (!TextUtils.isEmpty(messageObject.caption)) {
messageObject.caption = blurify(messageObject.caption)
}

if (messageObject.messageOwner.media != null) {
Expand Down
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-ar-rSA/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">إرسال مع بانجو</string>
<string name="SendWithoutPangu">إرسال بدون بانجو</string>
<string name="DefaultHlsVideoQuality">جودة الفيديو الافتراضية Hls</string>
<string name="DisableBotOpenButton">تعطيل زر فتح البوت</string>
<string name="CustomTitleUserName">استخدام الاسم المستعار المستخدم كعنوان</string>
<string name="EnhancedVideoBitrate">تحسين معدل بتر الفيديو المشترك</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-cs-rCZ/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Poslat s Pangu</string>
<string name="SendWithoutPangu">Odeslat bez Pangu</string>
<string name="DefaultHlsVideoQuality">Výchozí kvalita videa Hls</string>
<string name="DisableBotOpenButton">Zakázat tlačítko Bot Open</string>
<string name="CustomTitleUserName">Použít uživatelské přezdívku jako titulek</string>
<string name="EnhancedVideoBitrate">Rozšířená bitrate sdíleného videa</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-da-rDK/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Send med Pangu</string>
<string name="SendWithoutPangu">Send uden Pangu</string>
<string name="DefaultHlsVideoQuality">Standard Hls Video Kvalitet</string>
<string name="DisableBotOpenButton">Deaktivér Bot Åbn Knap</string>
<string name="CustomTitleUserName">Brug brugernavnet som titel</string>
<string name="EnhancedVideoBitrate">Forbedret delt video bitrate</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-de-rDE/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Mit Pangu senden</string>
<string name="SendWithoutPangu">Ohne Pangu senden</string>
<string name="DefaultHlsVideoQuality">Standard Hls Videoqualität</string>
<string name="DisableBotOpenButton">Bot Open Button deaktivieren</string>
<string name="CustomTitleUserName">Benutze Benutzername als Titel</string>
<string name="EnhancedVideoBitrate">Verbesserte gemeinsame Video-Bitrate</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-el-rGR/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Αποστολή με Pangu</string>
<string name="SendWithoutPangu">Αποστολή χωρίς Pangu</string>
<string name="DefaultHlsVideoQuality">Προεπιλεγμένη Ποιότητα Βίντεο Hls</string>
<string name="DisableBotOpenButton">Απενεργοποίηση Κουμπιού Ανοίγματος Bot</string>
<string name="CustomTitleUserName">Χρήση ψευδωνύμου χρήστη ως τίτλος</string>
<string name="EnhancedVideoBitrate">Ενισχυμένος κοινόχρηστος ρυθμός bit βίντεο</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-es-rES/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Enviar con Pangu</string>
<string name="SendWithoutPangu">Enviar sin Pangu</string>
<string name="DefaultHlsVideoQuality">Calidad de vídeo Hls por defecto</string>
<string name="DisableBotOpenButton">Desactivar boton abierto</string>
<string name="CustomTitleUserName">Usar nombre de usuario como título</string>
<string name="EnhancedVideoBitrate">Bitrate compartido mejorado</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-fi-rFI/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Lähetä Pangun avulla</string>
<string name="SendWithoutPangu">Lähetä ilman Pangu</string>
<string name="DefaultHlsVideoQuality">Hls Videon Oletuslaatu</string>
<string name="DisableBotOpenButton">Poista Botti Avaa Painike Käytöstä</string>
<string name="CustomTitleUserName">Käytä käyttäjän nimimerkkiä otsikkona</string>
<string name="EnhancedVideoBitrate">Tehostettu jaettu videobittinopeus</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-fr-rFR/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Envoyer avec Pangu</string>
<string name="SendWithoutPangu">Envoyer sans Pangu</string>
<string name="DefaultHlsVideoQuality">Qualité vidéo Hls par défaut</string>
<string name="DisableBotOpenButton">Désactiver le bouton d\'ouverture du bot</string>
<string name="CustomTitleUserName">Utiliser le pseudo de l\'utilisateur comme titre</string>
<string name="EnhancedVideoBitrate">Débit vidéo partagé amélioré</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-it-rIT/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Invia con Pangu</string>
<string name="SendWithoutPangu">Invia senza Pangu</string>
<string name="DefaultHlsVideoQuality">Qualità Video Hls Predefinita</string>
<string name="DisableBotOpenButton">Disabilita Il Pulsante Aperto Bot</string>
<string name="CustomTitleUserName">Usa il nickname utente come titolo</string>
<string name="EnhancedVideoBitrate">Bitrate video condiviso migliorato</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-ja-rJP/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Panguで送信</string>
<string name="SendWithoutPangu">Panguなしで送信</string>
<string name="DefaultHlsVideoQuality">デフォルトの Hls ビデオ品質</string>
<string name="DisableBotOpenButton">Botを開くボタンを無効にする</string>
<string name="CustomTitleUserName">ユーザー名をタイトルとして使用する</string>
<string name="EnhancedVideoBitrate">強化された共有ビデオビットレート</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-nl-rNL/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Verzenden met Pangu</string>
<string name="SendWithoutPangu">Verzenden zonder Pangu</string>
<string name="DefaultHlsVideoQuality">Standaard Hls Videokwaliteit</string>
<string name="DisableBotOpenButton">Bot Open Knop Uitschakelen</string>
<string name="CustomTitleUserName">Gebruik gebruikersnaam gebruiker als titel</string>
<string name="EnhancedVideoBitrate">Verbeterde gedeelde videobitrate</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-no-rNO/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Send med Pangu</string>
<string name="SendWithoutPangu">Send uten Pangu</string>
<string name="DefaultHlsVideoQuality">Standard Hls Videokvalitet</string>
<string name="DisableBotOpenButton">Deaktiver Bot Åpen Knapp</string>
<string name="CustomTitleUserName">Bruk bruker kallenavn som tittel</string>
<string name="EnhancedVideoBitrate">Forbedret delt videobitrate</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-pl-rPL/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Wyślij z Pangu</string>
<string name="SendWithoutPangu">Wyślij bez Pangu</string>
<string name="DefaultHlsVideoQuality">Domyślna jakość wideo Hls</string>
<string name="DisableBotOpenButton">Wyłącz Otwarty Przycisk Bot</string>
<string name="CustomTitleUserName">Użyj pseudonimu użytkownika jako tytułu</string>
<string name="EnhancedVideoBitrate">Ulepszony bitrate współdzielonego filmu</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-pt-rBR/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Enviar com Pangu</string>
<string name="SendWithoutPangu">Enviar sem Pangu</string>
<string name="DefaultHlsVideoQuality">Qualidade padrão do vídeo Hls</string>
<string name="DisableBotOpenButton">Desativar Botão Abrir do Bot</string>
<string name="CustomTitleUserName">Usar o apelido do usuário como título</string>
<string name="EnhancedVideoBitrate">Bitrate de vídeo compartilhado aprimorado</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-pt-rPT/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Enviar com Pangu</string>
<string name="SendWithoutPangu">Enviar sem Pangu</string>
<string name="DefaultHlsVideoQuality">Qualidade padrão do vídeo Hls</string>
<string name="DisableBotOpenButton">Desativar Botão Abrir do Bot</string>
<string name="CustomTitleUserName">Usar o apelido do usuário como título</string>
<string name="EnhancedVideoBitrate">Bitrate de vídeo compartilhado aprimorado</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-ro-rRO/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Trimite cu Pangu</string>
<string name="SendWithoutPangu">Trimite fără Pangu</string>
<string name="DefaultHlsVideoQuality">Calitate video implicită Hls</string>
<string name="DisableBotOpenButton">Dezactivează butonul de deschidere a bot-ului</string>
<string name="CustomTitleUserName">Folosește porecla utilizatorului ca titlu</string>
<string name="EnhancedVideoBitrate">Rată de biți video partajată îmbunătățită</string>
</resources>
3 changes: 3 additions & 0 deletions TMessagesProj/src/main/res/values-ru-rRU/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,7 @@
<string name="SendWithPangu">Отправить с Pangu</string>
<string name="SendWithoutPangu">Отправить без Pangu</string>
<string name="DefaultHlsVideoQuality">Качество видео Hls по умолчанию</string>
<string name="DisableBotOpenButton">Отключить кнопку открытия бота</string>
<string name="CustomTitleUserName">Имя пользователя в качестве заголовка</string>
<string name="EnhancedVideoBitrate">Расширенный битрейт видео</string>
</resources>
Loading

0 comments on commit 2c5c94b

Please sign in to comment.