From 528c6ac0a13f52d61e482152bdc88e3305d6fabf Mon Sep 17 00:00:00 2001
From: arsLan4k1390 <65973611+arsLan4k1390@users.noreply.github.com>
Date: Sun, 18 Aug 2024 17:06:53 +0500
Subject: [PATCH] Telegram v11.0.0, Cherrygram ver. 8.5.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
🇺🇸 Changelog:
— Update to Telegram v11.0.0,
— Changed the logic of front flashlight in CameraX (thanks to exteragram for animation),
— Long tap on bot button to get a callback (also tnx to exteragram),
— Direct Share improvements (added back long click on send button),
— Some improvements for CameraX (zoom slider will now stay at 0.5 if "Start from ultrawide" feat is disabled),
— Custom saved messages chat support for Browser bookmarks,
— Added Telegram Browser to chat context menu (enable it in Cherrygram Chats Preferences -> Chat menu),
— Removed Cherrygram's feats from Camera and Camera2 (zoom & exposure sliders),
— Bug fixes and improvements.
🇷🇺 Список изменений:
— Обновление до Telegram v11.0.0,
— Изменена логика работы передней вспышки в CameraX (спасибо exteragram за анимацию),
— Зажатие кнопки бота для получение callback (тоже спасибо exteragram),
— Улучшения меню пересылки Direct Share (добавлено долгое зажатие кнопки, как в Telegram),
— Небольшие улучшения для CameraX (теперь слайдер зума будет установлен в положении "0.5", если функция "Начинать с ширика" выключена),
— Поддержка кастомных чатов для избранных в закладках браузера Telegram,
— Добавлен Telegram Browser в контекстное меню чата (вкл. в Настройках Чатов Cherrygram -> Меню чата),
— Удалены функции Cherrygram из Camera1 и Camera2 (слайдеры зума и экспозиции),
— Исправления багов и улучшения.
---
TMessagesProj/build.gradle | 13 +-
.../config/debug/AndroidManifest.xml | 2 +-
.../config/debug/AndroidManifest_SDK23.xml | 4 +-
.../config/release/AndroidManifest.xml | 3 +-
.../config/release/AndroidManifest_SDK23.xml | 2 +-
TMessagesProj/jni/CMakeLists.txt | 4 +-
.../jni/ffmpeg/arm64-v8a/libavcodec.a | Bin 2806500 -> 3071878 bytes
.../jni/ffmpeg/arm64-v8a/libavformat.a | Bin 817174 -> 837068 bytes
.../jni/ffmpeg/arm64-v8a/libavresample.a | Bin 110026 -> 110090 bytes
.../jni/ffmpeg/arm64-v8a/libavutil.a | Bin 840848 -> 840912 bytes
.../jni/ffmpeg/arm64-v8a/libswresample.a | Bin 119884 -> 119948 bytes
.../jni/ffmpeg/arm64-v8a/libswscale.a | Bin 559938 -> 560002 bytes
TMessagesProj/jni/ffmpeg/arm64-v8a/libvpx.a | Bin 1855866 -> 1855882 bytes
.../jni/ffmpeg/armeabi-v7a/libavcodec.a | Bin 2900402 -> 3162372 bytes
.../jni/ffmpeg/armeabi-v7a/libavformat.a | Bin 689162 -> 703324 bytes
.../jni/ffmpeg/armeabi-v7a/libavresample.a | Bin 96142 -> 96206 bytes
.../jni/ffmpeg/armeabi-v7a/libavutil.a | Bin 1051486 -> 1051550 bytes
.../jni/ffmpeg/armeabi-v7a/libswresample.a | Bin 115032 -> 115096 bytes
.../jni/ffmpeg/armeabi-v7a/libswscale.a | Bin 470464 -> 470528 bytes
TMessagesProj/jni/ffmpeg/armeabi-v7a/libvpx.a | Bin 1620098 -> 1620118 bytes
TMessagesProj/jni/ffmpeg/x86/libavcodec.a | Bin 2937746 -> 3213084 bytes
TMessagesProj/jni/ffmpeg/x86/libavformat.a | Bin 820958 -> 838228 bytes
TMessagesProj/jni/ffmpeg/x86/libavresample.a | Bin 114060 -> 114124 bytes
TMessagesProj/jni/ffmpeg/x86/libavutil.a | Bin 974142 -> 974206 bytes
TMessagesProj/jni/ffmpeg/x86/libswresample.a | Bin 122360 -> 122424 bytes
TMessagesProj/jni/ffmpeg/x86/libswscale.a | Bin 579204 -> 579268 bytes
TMessagesProj/jni/ffmpeg/x86/libvpx.a | Bin 2205044 -> 2205064 bytes
TMessagesProj/jni/ffmpeg/x86_64/libavcodec.a | Bin 3017548 -> 3307756 bytes
TMessagesProj/jni/ffmpeg/x86_64/libavformat.a | Bin 899630 -> 921196 bytes
.../jni/ffmpeg/x86_64/libavresample.a | Bin 121318 -> 121382 bytes
TMessagesProj/jni/ffmpeg/x86_64/libavutil.a | Bin 1005488 -> 1005552 bytes
.../jni/ffmpeg/x86_64/libswresample.a | Bin 131512 -> 131576 bytes
TMessagesProj/jni/ffmpeg/x86_64/libswscale.a | Bin 599710 -> 599774 bytes
TMessagesProj/jni/ffmpeg/x86_64/libvpx.a | Bin 2580242 -> 2580258 bytes
TMessagesProj/jni/tgnet/ApiScheme.cpp | 6 +
TMessagesProj/jni/tgnet/ApiScheme.h | 3 +-
TMessagesProj/src/main/AndroidManifest.xml | 44 +-
TMessagesProj/src/main/assets/currencies.json | 2 +-
.../src/main/assets/darkblue.attheme | 3 +
TMessagesProj/src/main/assets/fonts/num.otf | Bin 4352 -> 4680 bytes
TMessagesProj/src/main/assets/night.attheme | 3 +
.../src/main/assets/shaders/fragment4.glsl | 3 +-
.../telegram/messenger/AndroidUtilities.java | 157 +-
.../telegram/messenger/ApplicationLoader.java | 20 +-
.../telegram/messenger/BillingController.java | 171 +-
.../org/telegram/messenger/ChatObject.java | 5 +-
.../telegram/messenger/CodeHighlighting.java | 4 +-
.../messenger/DownloadController.java | 7 +-
.../java/org/telegram/messenger/Emoji.java | 2 +-
.../org/telegram/messenger/FileLoader.java | 2 +-
.../telegram/messenger/FileRefController.java | 66 +-
.../org/telegram/messenger/ImageLoader.java | 11 +-
.../org/telegram/messenger/ImageReceiver.java | 2 +-
.../org/telegram/messenger/LinkifyPort.java | 8 +-
.../telegram/messenger/LocaleController.java | 13 +-
.../telegram/messenger/MediaController.java | 30 +
.../messenger/MediaDataController.java | 168 +-
.../messenger/MessageLoaderLogger.java | 54 -
.../org/telegram/messenger/MessageObject.java | 340 +-
.../messenger/MessagePreviewParams.java | 2 +-
.../messenger/MessagesController.java | 611 +-
.../telegram/messenger/MessagesStorage.java | 37 +-
.../messenger/NotificationCenter.java | 7 +
.../messenger/SendMessagesHelper.java | 75 +-
.../org/telegram/messenger/SharedConfig.java | 35 +-
.../java/org/telegram/messenger/Timer.java | 104 +
.../org/telegram/messenger/UserConfig.java | 4 +
.../org/telegram/messenger/UserObject.java | 2 +-
.../org/telegram/messenger/Utilities.java | 9 +
.../telegram/messenger/VideoEditedInfo.java | 16 +
.../telegram/messenger/browser/Browser.java | 387 +-
.../messenger/camera/Camera2Session.java | 13 +
.../messenger/camera/CameraController.java | 16 +
.../messenger/camera/CameraSession.java | 28 +-
.../messenger/ringtone/RingtoneUploader.java | 2 +-
.../messenger/utils/BillingUtilities.java | 181 +-
.../messenger/video/TextureRenderer.java | 11 +-
.../telegram/tgnet/ConnectionsManager.java | 3 +-
.../main/java/org/telegram/tgnet/TLRPC.java | 3011 +++++---
.../org/telegram/tgnet/tl/TL_account.java | 78 +
.../java/org/telegram/tgnet/tl/TL_bots.java | 937 +++
.../org/telegram/tgnet/tl/TL_stories.java | 87 +-
.../ui/ActionBar/ActionBarLayout.java | 125 +-
.../ui/ActionBar/ActionBarMenuSubItem.java | 6 +-
.../telegram/ui/ActionBar/AlertDialog.java | 488 +-
.../telegram/ui/ActionBar/BackDrawable.java | 4 +
.../telegram/ui/ActionBar/BaseFragment.java | 104 +-
.../telegram/ui/ActionBar/BottomSheet.java | 239 +-
.../ui/ActionBar/BottomSheetTabDialog.java | 157 +
.../ui/ActionBar/BottomSheetTabs.java | 289 +-
.../ui/ActionBar/BottomSheetTabsOverlay.java | 271 +-
.../ui/ActionBar/DrawerLayoutContainer.java | 3 +-
.../ui/ActionBar/INavigationLayout.java | 1 +
.../telegram/ui/ActionBar/SimpleTextView.java | 2 +-
.../java/org/telegram/ui/ActionBar/Theme.java | 35 +-
.../telegram/ui/ActionBar/ThemeColors.java | 9 +
.../telegram/ui/Adapters/MentionsAdapter.java | 7 +-
.../ui/Adapters/MessagesSearchAdapter.java | 4 +-
.../java/org/telegram/ui/ArticleViewer.java | 6159 ++++++++++++-----
.../main/java/org/telegram/ui/AvatarSpan.java | 6 +
.../ui/Business/BusinessLinksActivity.java | 2 +-
.../ChatAttachAlertQuickRepliesLayout.java | 2 +-
.../ui/Business/ProfileHoursCell.java | 2 +-
.../ui/Business/ProfileLocationCell.java | 2 +-
.../ui/Business/QuickRepliesActivity.java | 4 +-
.../org/telegram/ui/CacheControlActivity.java | 2 +-
.../org/telegram/ui/CachedMediaLayout.java | 5 +-
.../ui/Cells/ArchivedStickerSetCell.java | 2 +-
.../ui/Cells/AvailableReactionCell.java | 2 +-
.../org/telegram/ui/Cells/BotHelpCell.java | 3 +-
.../org/telegram/ui/Cells/ChatActionCell.java | 194 +-
.../telegram/ui/Cells/ChatMessageCell.java | 399 +-
.../org/telegram/ui/Cells/CheckBoxCell.java | 10 +-
.../telegram/ui/Cells/CheckBoxUserCell.java | 2 +-
.../telegram/ui/Cells/ContextLinkCell.java | 2 +-
.../telegram/ui/Cells/CreationTextCell.java | 7 +-
.../org/telegram/ui/Cells/DialogCell.java | 45 +-
.../telegram/ui/Cells/DialogMeUrlCell.java | 2 +-
.../telegram/ui/Cells/DialogRadioCell.java | 2 +-
.../org/telegram/ui/Cells/DividerCell.java | 2 +-
.../org/telegram/ui/Cells/EditTextCell.java | 14 +
.../ui/Cells/EditTextSettingsCell.java | 2 +-
.../ui/Cells/FeaturedStickerSetCell.java | 2 +-
.../ui/Cells/FeaturedStickerSetCell2.java | 2 +-
.../ui/Cells/FeaturedStickerSetInfoCell.java | 2 +-
.../telegram/ui/Cells/GraySectionCell.java | 8 +-
.../ui/Cells/GroupCallInvitedCell.java | 2 +-
.../telegram/ui/Cells/GroupCallTextCell.java | 2 +-
.../telegram/ui/Cells/GroupCallUserCell.java | 2 +-
.../ui/Cells/GroupCreateUserCell.java | 2 +-
.../org/telegram/ui/Cells/GroupMedia.java | 4 +
.../telegram/ui/Cells/HashtagSearchCell.java | 2 +-
.../org/telegram/ui/Cells/HeaderCell.java | 6 +-
.../org/telegram/ui/Cells/LanguageCell.java | 2 +-
.../org/telegram/ui/Cells/LocationCell.java | 2 +-
.../telegram/ui/Cells/ManageChatTextCell.java | 2 +-
.../telegram/ui/Cells/ManageChatUserCell.java | 2 +-
.../telegram/ui/Cells/MaxFileSizeCell.java | 2 +-
.../telegram/ui/Cells/MemberRequestCell.java | 2 +-
.../ui/Cells/NotificationsCheckCell.java | 2 +-
.../telegram/ui/Cells/PollEditTextCell.java | 2 +-
.../telegram/ui/Cells/ProfileSearchCell.java | 15 +-
.../telegram/ui/Cells/RadioButtonCell.java | 2 +-
.../java/org/telegram/ui/Cells/RadioCell.java | 2 +-
.../org/telegram/ui/Cells/SessionCell.java | 6 +-
.../telegram/ui/Cells/SettingsSearchCell.java | 2 +-
.../telegram/ui/Cells/SharedAudioCell.java | 2 +-
.../telegram/ui/Cells/SharedDocumentCell.java | 2 +-
.../org/telegram/ui/Cells/SharedLinkCell.java | 2 +-
.../ui/Cells/SharedPhotoVideoCell.java | 2 +-
.../ui/Cells/SharedPhotoVideoCell2.java | 122 +-
.../ui/Cells/StatisticPostInfoCell.java | 2 +-
.../org/telegram/ui/Cells/StickerSetCell.java | 2 +-
.../org/telegram/ui/Cells/TextBlockCell.java | 2 +-
.../java/org/telegram/ui/Cells/TextCell.java | 9 +-
.../telegram/ui/Cells/TextCheckBoxCell.java | 2 +-
.../org/telegram/ui/Cells/TextCheckCell.java | 2 +-
.../org/telegram/ui/Cells/TextCheckCell2.java | 2 +-
.../telegram/ui/Cells/TextCheckbox2Cell.java | 2 +-
.../org/telegram/ui/Cells/TextColorCell.java | 2 +-
.../org/telegram/ui/Cells/TextDetailCell.java | 2 +-
.../ui/Cells/TextDetailSettingsCell.java | 2 +-
.../ui/Cells/TextInfoPrivacyCell.java | 4 +-
.../org/telegram/ui/Cells/TextRadioCell.java | 2 +-
.../ui/Cells/TextSelectionHelper.java | 37 +-
.../telegram/ui/Cells/TextSettingsCell.java | 2 +-
.../java/org/telegram/ui/Cells/ThemeCell.java | 2 +-
.../org/telegram/ui/Cells/ThemeTypeCell.java | 2 +-
.../ui/Cells/ThemesHorizontalListCell.java | 2 +-
.../telegram/ui/Cells/TopicExceptionCell.java | 2 +-
.../telegram/ui/Cells/TopicSearchCell.java | 2 +-
.../java/org/telegram/ui/Cells/UserCell.java | 60 +-
.../telegram/ui/ChangeUsernameActivity.java | 5 +-
.../telegram/ui/ChannelAdminLogActivity.java | 32 +-
.../org/telegram/ui/ChannelBoostLayout.java | 2 +-
.../org/telegram/ui/ChannelColorActivity.java | 2 +-
.../ui/ChannelMonetizationLayout.java | 110 +-
.../java/org/telegram/ui/ChatActivity.java | 557 +-
.../org/telegram/ui/ChatEditActivity.java | 87 +-
.../org/telegram/ui/ChatEditTypeActivity.java | 4 +-
.../telegram/ui/ChatPullingDownDrawable.java | 2 +-
.../telegram/ui/ChatRightsEditActivity.java | 9 +
.../org/telegram/ui/ChatUsersActivity.java | 389 +-
.../ui/Components/AdminLogFilterAlert.java | 3 +-
.../telegram/ui/Components/AlertsCreator.java | 32 +-
.../ui/Components/AnimatedEmojiSpan.java | 28 +-
.../ui/Components/AnimatedFileDrawable.java | 29 +-
.../ui/Components/AnimatedTextView.java | 10 +
.../ui/Components/AvatarDrawable.java | 77 +-
.../ui/Components/BlurBehindDrawable.java | 33 +-
.../BottomSheetWithRecyclerListView.java | 19 +-
.../org/telegram/ui/Components/Bulletin.java | 158 +-
.../ui/Components/BulletinFactory.java | 10 +-
.../ui/Components/ChatActivityEnterView.java | 184 +-
.../ui/Components/ChatAttachAlert.java | 44 +-
.../ChatAttachAlertContactsLayout.java | 6 +-
.../ChatAttachAlertDocumentLayout.java | 5 +-
.../ChatAttachAlertPhotoLayout.java | 15 +-
.../ui/Components/ChatAvatarContainer.java | 50 +-
.../telegram/ui/Components/CheckBoxBase.java | 13 +-
.../ui/Components/ColoredImageSpan.java | 11 +-
.../ui/Components/CombinedDrawable.java | 5 +
.../ui/Components/DialogsBotsAdapter.java | 400 ++
.../org/telegram/ui/Components/EmojiView.java | 2 +-
.../ui/Components/FilterTabsView.java | 8 +-
.../ui/Components/FlickerLoadingView.java | 52 +-
.../ui/Components/FragmentContextView.java | 4 +-
.../GroupCreateDividerItemDecoration.java | 2 +-
.../ui/Components/InstantCameraView.java | 310 +-
.../ui/Components/InviteLinkBottomSheet.java | 562 +-
.../telegram/ui/Components/ItemOptions.java | 106 +-
.../ui/Components/LineProgressView.java | 2 +
.../ui/Components/LinkActionView.java | 33 +-
.../org/telegram/ui/Components/LinkPath.java | 2 +-
.../telegram/ui/Components/MediaActivity.java | 2 +-
.../ui/Components/MessagePreviewView.java | 6 +-
.../ui/Components/Paint/Views/EntityView.java | 2 +
.../Components/Paint/Views/LinkPreview.java | 15 +-
.../ui/Components/Paint/Views/LinkView.java | 24 +-
.../Paint/Views/LocationMarker.java | 251 +-
.../Components/Paint/Views/LocationView.java | 27 +-
.../Paint/Views/MessageEntityView.java | 2 +-
.../Components/Paint/Views/WeatherView.java | 237 +
.../telegram/ui/Components/PasscodeView.java | 1 +
.../ui/Components/PhonebookShareAlert.java | 6 +-
.../ui/Components/PollVotesAlert.java | 2 +-
.../Premium/DoubleLimitsPageView.java | 2 +-
.../Premium/GLIcon/GLIconRenderer.java | 3 +-
.../Premium/GLIcon/GLIconTextureView.java | 25 +-
.../ui/Components/Premium/GLIcon/Icon3D.java | 7 +-
.../Premium/LimitReachedBottomSheet.java | 2 +-
.../Premium/PremiumFeatureBottomSheet.java | 3 +
.../Premium/PremiumPreviewBottomSheet.java | 4 +-
.../Components/Premium/PremiumTierCell.java | 2 +-
.../Premium/ProfilePremiumCell.java | 38 +-
.../boosts/ReassignBoostBottomSheet.java | 2 +-
.../Premium/boosts/SelectorBottomSheet.java | 2 +-
.../boosts/UserSelectorBottomSheet.java | 108 +-
.../boosts/adapters/SelectorAdapter.java | 7 +-
.../cells/selector/SelectorUserCell.java | 37 +-
.../cells/statistics/GiftedUserCell.java | 2 +-
.../boosts/cells/statistics/GiveawayCell.java | 2 +-
.../ui/Components/ProfileGalleryView.java | 5 +-
.../ui/Components/RLottieDrawable.java | 157 +-
.../ChatCustomReactionsEditActivity.java | 163 +-
.../ChatSelectionReactionMenuOverlay.java | 2 +-
.../Reactions/CustomReactionEditText.java | 12 +-
.../Reactions/ReactionsEffectOverlay.java | 2 +-
.../Reactions/ReactionsLayoutInBubble.java | 179 +-
.../Components/ReactionsContainerLayout.java | 56 +-
.../ui/Components/RecyclerListView.java | 28 +-
.../ui/Components/ReplyMessageLine.java | 27 +-
.../telegram/ui/Components/ScrimOptions.java | 44 +-
.../Components/ScrollSlidingTextTabStrip.java | 41 +-
.../ui/Components/SearchViewPager.java | 103 +-
...SelectSendAsPremiumHintBulletinLayout.java | 4 +-
.../ui/Components/SenderSelectPopup.java | 6 +-
.../org/telegram/ui/Components/Shaker.java | 48 +
.../telegram/ui/Components/ShareAlert.java | 153 +-
.../ui/Components/SharedMediaLayout.java | 1318 ++--
.../ui/Components/SmoothScroller.java | 20 +-
.../telegram/ui/Components/StarAppsSheet.java | 58 +
.../org/telegram/ui/Components/Switch.java | 4 +-
.../telegram/ui/Components/ThanosEffect.java | 7 +-
.../ui/Components/ThemeEditorView.java | 2 +-
.../ui/Components/TranslateAlert2.java | 6 +
.../org/telegram/ui/Components/UItem.java | 13 +-
.../ui/Components/UniversalAdapter.java | 150 +-
.../ui/Components/UniversalRecyclerView.java | 4 -
.../ui/Components/ViewPagerFixed.java | 167 +-
.../org/telegram/ui/ContactsActivity.java | 14 +-
.../org/telegram/ui/DataUsage2Activity.java | 2 +-
.../ChatActivityMemberRequestsDelegate.java | 3 +-
.../java/org/telegram/ui/DialogsActivity.java | 266 +-
.../org/telegram/ui/EmptyBaseFragment.java | 17 +
.../org/telegram/ui/FilterCreateActivity.java | 6 +-
.../org/telegram/ui/FilteredSearchView.java | 17 +-
.../org/telegram/ui/FiltersSetupActivity.java | 4 +-
.../telegram/ui/GradientHeaderActivity.java | 4 +-
.../telegram/ui/GroupStickersActivity.java | 2 +-
.../java/org/telegram/ui/LaunchActivity.java | 404 +-
.../org/telegram/ui/LinkEditActivity.java | 431 +-
.../telegram/ui/LiteModeSettingsActivity.java | 4 +-
.../org/telegram/ui/ManageLinksActivity.java | 349 +-
.../org/telegram/ui/MessageSendPreview.java | 14 +-
.../ui/MultiContactsSelectorBottomSheet.java | 2 +-
.../telegram/ui/NewContactBottomSheet.java | 2 +-
.../ui/NotificationsSoundActivity.java | 4 +-
.../org/telegram/ui/PassportActivity.java | 4 +-
.../org/telegram/ui/PaymentFormActivity.java | 103 +-
.../org/telegram/ui/PeerColorActivity.java | 4 +-
.../java/org/telegram/ui/PhotoViewer.java | 632 +-
.../org/telegram/ui/PremiumFeatureCell.java | 2 +-
.../telegram/ui/PremiumPreviewFragment.java | 9 +-
.../telegram/ui/PrivacyControlActivity.java | 1 +
.../java/org/telegram/ui/ProfileActivity.java | 475 +-
.../org/telegram/ui/ProxyListActivity.java | 2 +-
.../telegram/ui/ProxySettingsActivity.java | 2 +-
.../ui/RevenueSharingAdsInfoBottomSheet.java | 14 +-
.../org/telegram/ui/SecretVoicePlayer.java | 2 +-
.../org/telegram/ui/SessionBottomSheet.java | 2 +-
.../telegram/ui/SponsoredMessageInfoView.java | 18 +-
.../telegram/ui/Stars/BotStarsActivity.java | 6 +
.../telegram/ui/Stars/BotStarsController.java | 123 +-
.../org/telegram/ui/Stars/ISuperRipple.java | 17 +
.../ui/Stars/StarReactionsOverlay.java | 384 +
.../telegram/ui/Stars/StarsController.java | 1024 ++-
.../telegram/ui/Stars/StarsIntroActivity.java | 1462 +++-
.../ui/Stars/StarsReactionsSheet.java | 1400 ++++
.../org/telegram/ui/Stars/SuperRipple.java | 169 +
.../ui/Stars/SuperRippleFallback.java | 146 +
.../org/telegram/ui/StatisticActivity.java | 60 +-
.../telegram/ui/Stories/PeerStoriesView.java | 257 +-
.../ui/Stories/SelfStoryViewsPage.java | 28 +-
.../ui/Stories/StoriesController.java | 634 +-
.../telegram/ui/Stories/StoriesStorage.java | 13 +-
.../telegram/ui/Stories/StoriesViewPager.java | 24 +
.../ui/Stories/StoryMediaAreasView.java | 76 +
.../org/telegram/ui/Stories/StoryViewer.java | 20 +-
.../Stories/StoryWidgetsImageDecorator.java | 83 +-
.../bots/BotPreviewsEditContainer.java | 2001 ++++++
.../recorder/ButtonWithCounterView.java | 26 +-
.../ui/Stories/recorder/DraftsController.java | 28 +
.../ui/Stories/recorder/EmojiBottomSheet.java | 88 +-
.../ui/Stories/recorder/FlashViews.java | 39 +-
.../ui/Stories/recorder/HintView2.java | 7 +-
.../ui/Stories/recorder/KeyboardNotifier.java | 11 +-
.../ui/Stories/recorder/PaintView.java | 331 +-
.../ui/Stories/recorder/PreviewButtons.java | 42 +-
.../ui/Stories/recorder/PreviewView.java | 103 +-
.../ui/Stories/recorder/StoryEntry.java | 61 +-
.../ui/Stories/recorder/StoryLinkSheet.java | 31 +-
.../recorder/StoryPrivacyBottomSheet.java | 272 +-
.../ui/Stories/recorder/StoryRecorder.java | 612 +-
.../ui/Stories/recorder/TimelineView.java | 167 +-
.../telegram/ui/Stories/recorder/Weather.java | 617 ++
.../ui/TextMessageEnterTransition.java | 3 +-
.../java/org/telegram/ui/ThemeActivity.java | 149 +-
.../org/telegram/ui/ThemeSetUrlActivity.java | 2 +-
.../java/org/telegram/ui/TopicsFragment.java | 5 +-
.../ui/TwoStepVerificationSetupActivity.java | 3 +-
.../org/telegram/ui/UserInfoActivity.java | 1 +
.../org/telegram/ui/UsersSelectActivity.java | 6 +-
.../telegram/ui/WebAppDisclaimerAlert.java | 14 +-
.../telegram/ui/WrappedResourceProvider.java | 29 +-
.../org/telegram/ui/bots/BotBiometry.java | 46 +-
.../telegram/ui/bots/BotCommandsMenuView.java | 5 +-
.../ui/bots/BotWebViewAttachedSheet.java | 376 +-
.../ui/bots/BotWebViewMenuContainer.java | 75 +-
.../org/telegram/ui/bots/BotWebViewSheet.java | 151 +-
.../ui/bots/ChatActivityBotWebViewButton.java | 1 +
.../bots/ChatAttachAlertBotWebViewLayout.java | 199 +-
.../telegram/ui/bots/WebViewRequestProps.java | 101 +
.../org/telegram/ui/web/AddressBarList.java | 1161 ++++
.../telegram/ui/web/BookmarksFragment.java | 436 ++
.../ui/{bots => web}/BotWebViewContainer.java | 1822 ++++-
.../org/telegram/ui/web/BrowserHistory.java | 181 +
.../org/telegram/ui/web/HistoryFragment.java | 360 +
.../org/telegram/ui/web/HttpGetFileTask.java | 83 +
.../java/org/telegram/ui/web/HttpGetTask.java | 77 +
.../org/telegram/ui/web/HttpPostTask.java | 92 +
.../ui/web/RestrictedDomainsList.java | 154 +
.../org/telegram/ui/web/SearchEngine.java | 124 +
.../org/telegram/ui/web/WebActionBar.java | 1067 +++
.../telegram/ui/web/WebBrowserSettings.java | 691 ++
.../org/telegram/ui/web/WebMetadataCache.java | 445 ++
.../uz/unnarsx/cherrygram/CherrygramConfig.kt | 64 +-
.../cherrygram/camera/CameraTypeSelector.java | 2 +-
.../cherrygram/camera/SlideControlView.java | 16 +
.../camera/VideoMessagesHelper.java | 191 +-
.../chats/CherrygramChatMenuInjector.java | 20 +-
.../chats/CherrygramMessageMenuInjector.java | 23 -
.../cherrygram/chats/helpers/ChatsHelper.java | 75 +-
.../chats/helpers/ChatsPasswordHelper.kt | 37 +
.../chats/helpers/StickersHelper.kt | 47 +-
.../cherrygram/core/CGBiometricPrompt.java | 2 +-
.../core/helpers/CGResourcesHelper.kt | 10 -
.../helpers/FirebaseRemoteConfigHelper.kt | 91 +
.../core/helpers/backup/BackupHelper.java | 2 +-
.../core/updater/UpdaterBottomSheet.java | 7 +-
.../cherrygram/core/updater/UpdaterUtils.java | 2 +-
.../cherrygram/helpers/ui/FontHelper.java | 4 +-
.../uz/unnarsx/cherrygram/misc/Constants.kt | 5 +
.../preferences/AboutPreferencesEntry.kt | 29 +-
.../preferences/AppearancePreferencesEntry.kt | 2 +
.../preferences/CameraPreferencesEntry.java | 29 +-
.../preferences/DebugPreferencesEntry.kt | 104 +-
.../preferences/MainPreferencesEntry.kt | 32 +-
.../drawer/cells/ThemeSelectorDrawerCell.java | 2 +-
.../folders/cells/FoldersPreviewCell.java | 3 +-
.../helpers/AlertDialogSwitchers.java | 22 +-
.../tgkit/TGKitSettingsFragment.java | 2 +-
.../tgkit/preference/TGKitPreference.java | 1 +
.../main/res/drawable-hdpi/large_income.png | Bin 0 -> 1472 bytes
.../drawable-hdpi/menu_browser_arrowup.png | Bin 0 -> 417 bytes
.../drawable-hdpi/menu_browser_bookmark.png | Bin 0 -> 594 bytes
.../drawable-hdpi/menu_browser_bookmarks.png | Bin 0 -> 658 bytes
.../drawable-hdpi/menu_browser_refresh.png | Bin 0 -> 930 bytes
.../res/drawable-hdpi/menu_browser_search.png | Bin 0 -> 751 bytes
.../res/drawable-hdpi/menu_clear_cache.png | Bin 0 -> 1138 bytes
.../res/drawable-hdpi/menu_clear_cookies.png | Bin 0 -> 1383 bytes
.../res/drawable-hdpi/menu_clear_history.png | Bin 0 -> 1259 bytes
.../res/drawable-hdpi/menu_clear_recent.png | Bin 0 -> 969 bytes
.../res/drawable-hdpi/menu_cover_stories.png | Bin 0 -> 1092 bytes
.../res/drawable-hdpi/menu_delete_old.png | Bin 0 -> 813 bytes
.../drawable-hdpi/menu_premium_effects.png | Bin 0 -> 919 bytes
.../res/drawable-hdpi/menu_privacy_policy.png | Bin 0 -> 1133 bytes
.../res/drawable-hdpi/menu_stars_gift.png | Bin 0 -> 1132 bytes
.../main/res/drawable-mdpi/large_income.png | Bin 0 -> 978 bytes
.../drawable-mdpi/menu_browser_arrowup.png | Bin 0 -> 334 bytes
.../drawable-mdpi/menu_browser_bookmark.png | Bin 0 -> 440 bytes
.../drawable-mdpi/menu_browser_bookmarks.png | Bin 0 -> 517 bytes
.../drawable-mdpi/menu_browser_refresh.png | Bin 0 -> 639 bytes
.../res/drawable-mdpi/menu_browser_search.png | Bin 0 -> 534 bytes
.../res/drawable-mdpi/menu_clear_cache.png | Bin 0 -> 760 bytes
.../res/drawable-mdpi/menu_clear_cookies.png | Bin 0 -> 856 bytes
.../res/drawable-mdpi/menu_clear_history.png | Bin 0 -> 875 bytes
.../res/drawable-mdpi/menu_clear_recent.png | Bin 0 -> 659 bytes
.../res/drawable-mdpi/menu_cover_stories.png | Bin 0 -> 710 bytes
.../res/drawable-mdpi/menu_delete_old.png | Bin 0 -> 580 bytes
.../drawable-mdpi/menu_premium_effects.png | Bin 0 -> 591 bytes
.../res/drawable-mdpi/menu_privacy_policy.png | Bin 0 -> 751 bytes
.../res/drawable-mdpi/menu_stars_gift.png | Bin 0 -> 732 bytes
.../main/res/drawable-xhdpi/large_income.png | Bin 0 -> 1981 bytes
.../drawable-xhdpi/menu_browser_arrowup.png | Bin 0 -> 471 bytes
.../drawable-xhdpi/menu_browser_bookmark.png | Bin 0 -> 753 bytes
.../drawable-xhdpi/menu_browser_bookmarks.png | Bin 0 -> 885 bytes
.../drawable-xhdpi/menu_browser_refresh.png | Bin 0 -> 1211 bytes
.../drawable-xhdpi/menu_browser_search.png | Bin 0 -> 950 bytes
.../res/drawable-xhdpi/menu_clear_cache.png | Bin 0 -> 1586 bytes
.../res/drawable-xhdpi/menu_clear_cookies.png | Bin 0 -> 1877 bytes
.../res/drawable-xhdpi/menu_clear_history.png | Bin 0 -> 1861 bytes
.../res/drawable-xhdpi/menu_clear_recent.png | Bin 0 -> 1353 bytes
.../res/drawable-xhdpi/menu_cover_stories.png | Bin 0 -> 1530 bytes
.../res/drawable-xhdpi/menu_delete_old.png | Bin 0 -> 972 bytes
.../drawable-xhdpi/menu_premium_effects.png | Bin 0 -> 1209 bytes
.../drawable-xhdpi/menu_privacy_policy.png | Bin 0 -> 1482 bytes
.../res/drawable-xhdpi/menu_stars_gift.png | Bin 0 -> 1570 bytes
.../main/res/drawable-xxhdpi/large_income.png | Bin 0 -> 3059 bytes
.../drawable-xxhdpi/menu_browser_arrowup.png | Bin 0 -> 595 bytes
.../drawable-xxhdpi/menu_browser_bookmark.png | Bin 0 -> 1015 bytes
.../menu_browser_bookmarks.png | Bin 0 -> 1122 bytes
.../drawable-xxhdpi/menu_browser_refresh.png | Bin 0 -> 1817 bytes
.../drawable-xxhdpi/menu_browser_search.png | Bin 0 -> 1422 bytes
.../res/drawable-xxhdpi/menu_clear_cache.png | Bin 0 -> 2240 bytes
.../drawable-xxhdpi/menu_clear_cookies.png | Bin 0 -> 2884 bytes
.../drawable-xxhdpi/menu_clear_history.png | Bin 0 -> 2785 bytes
.../res/drawable-xxhdpi/menu_clear_recent.png | Bin 0 -> 1933 bytes
.../drawable-xxhdpi/menu_cover_stories.png | Bin 0 -> 2230 bytes
.../res/drawable-xxhdpi/menu_delete_old.png | Bin 0 -> 1421 bytes
.../drawable-xxhdpi/menu_premium_effects.png | Bin 0 -> 1857 bytes
.../drawable-xxhdpi/menu_privacy_policy.png | Bin 0 -> 2296 bytes
.../res/drawable-xxhdpi/menu_stars_gift.png | Bin 0 -> 2205 bytes
.../src/main/res/drawable/star_reaction.xml | 111 +
.../main/res/drawable/star_small_inner.xml | 19 -
.../main/res/drawable/star_small_outline.xml | 2 -
.../src/main/res/drawable/warning_sign.xml | 13 +
.../main/res/raw/roundcamera_flash_off.json | 1 +
.../main/res/raw/roundcamera_flash_on.json | 1 +
.../src/main/res/raw/roundcamera_flip.json | 1 +
.../src/main/res/raw/star_reaction.json | 1 +
.../src/main/res/raw/star_reaction_click.json | 1 +
.../main/res/raw/star_reaction_effect1.json | 1 +
.../main/res/raw/star_reaction_effect2.json | 1 +
.../main/res/raw/star_reaction_effect3.json | 1 +
.../main/res/raw/star_reaction_effect4.json | 1 +
.../main/res/raw/star_reaction_effect5.json | 1 +
.../src/main/res/raw/stars_send.json | 1 +
.../src/main/res/raw/stars_topup.json | 1 +
.../src/main/res/raw/superripple_effect.agsl | 66 +
.../src/main/res/raw/webview_app_ext.js | 112 +
TMessagesProj/src/main/res/raw/webview_ext.js | 242 +
.../src/main/res/raw/webview_share.js | 43 +
.../src/main/res/values-ar/cg_strings.xml | 1 -
.../src/main/res/values-be/cg_strings.xml | 70 +-
.../src/main/res/values-de/cg_strings.xml | 2 -
.../src/main/res/values-es/cg_strings.xml | 1 -
.../src/main/res/values-fa/cg_strings.xml | 1 -
.../src/main/res/values-it/cg_strings.xml | 1 -
.../src/main/res/values-ja/cg_strings.xml | 84 +-
.../src/main/res/values-pt-rBR/cg_strings.xml | 1 -
.../src/main/res/values-ru/cg_strings.xml | 11 +-
.../src/main/res/values-tr/cg_strings.xml | 302 +-
.../src/main/res/values-uk/cg_strings.xml | 14 +-
.../src/main/res/values-zh-rCN/cg_strings.xml | 1 -
.../src/main/res/values-zh-rTW/cg_strings.xml | 2 -
.../src/main/res/values/cg_strings.xml | 7 +-
TMessagesProj/src/main/res/values/ids.xml | 2 +
TMessagesProj/src/main/res/values/strings.xml | 350 +-
TMessagesProj_App/build.gradle | 16 +-
.../src/main/AndroidManifest.xml | 5 +-
TMessagesProj_AppHuawei/build.gradle | 16 +-
gradle.properties | 6 +-
493 files changed, 37727 insertions(+), 8435 deletions(-)
delete mode 100644 TMessagesProj/src/main/java/org/telegram/messenger/MessageLoaderLogger.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/messenger/Timer.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/tgnet/tl/TL_account.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/tgnet/tl/TL_bots.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/ActionBar/BottomSheetTabDialog.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/DialogsBotsAdapter.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/Paint/Views/WeatherView.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/Shaker.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Components/StarAppsSheet.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/EmptyBaseFragment.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Stars/ISuperRipple.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Stars/StarReactionsOverlay.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Stars/StarsReactionsSheet.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Stars/SuperRipple.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Stars/SuperRippleFallback.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Stories/bots/BotPreviewsEditContainer.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/Stories/recorder/Weather.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/bots/WebViewRequestProps.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/AddressBarList.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/BookmarksFragment.java
rename TMessagesProj/src/main/java/org/telegram/ui/{bots => web}/BotWebViewContainer.java (53%)
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/BrowserHistory.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/HistoryFragment.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/HttpGetFileTask.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/HttpGetTask.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/HttpPostTask.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/RestrictedDomainsList.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/SearchEngine.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/WebActionBar.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/WebBrowserSettings.java
create mode 100644 TMessagesProj/src/main/java/org/telegram/ui/web/WebMetadataCache.java
create mode 100644 TMessagesProj/src/main/java/uz/unnarsx/cherrygram/chats/helpers/ChatsPasswordHelper.kt
create mode 100644 TMessagesProj/src/main/java/uz/unnarsx/cherrygram/core/helpers/FirebaseRemoteConfigHelper.kt
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/large_income.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_browser_arrowup.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_browser_bookmark.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_browser_bookmarks.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_browser_refresh.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_browser_search.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_clear_cache.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_clear_cookies.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_clear_history.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_clear_recent.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_cover_stories.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_delete_old.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_premium_effects.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_privacy_policy.png
create mode 100644 TMessagesProj/src/main/res/drawable-hdpi/menu_stars_gift.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/large_income.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_browser_arrowup.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_browser_bookmark.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_browser_bookmarks.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_browser_refresh.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_browser_search.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_clear_cache.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_clear_cookies.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_clear_history.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_clear_recent.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_cover_stories.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_delete_old.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_premium_effects.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_privacy_policy.png
create mode 100644 TMessagesProj/src/main/res/drawable-mdpi/menu_stars_gift.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/large_income.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_browser_arrowup.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_browser_bookmark.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_browser_bookmarks.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_browser_refresh.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_browser_search.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_clear_cache.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_clear_cookies.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_clear_history.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_clear_recent.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_cover_stories.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_delete_old.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_premium_effects.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_privacy_policy.png
create mode 100644 TMessagesProj/src/main/res/drawable-xhdpi/menu_stars_gift.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/large_income.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_browser_arrowup.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_browser_bookmark.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_browser_bookmarks.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_browser_refresh.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_browser_search.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_clear_cache.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_clear_cookies.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_clear_history.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_clear_recent.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_cover_stories.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_delete_old.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_premium_effects.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_privacy_policy.png
create mode 100644 TMessagesProj/src/main/res/drawable-xxhdpi/menu_stars_gift.png
create mode 100644 TMessagesProj/src/main/res/drawable/star_reaction.xml
create mode 100644 TMessagesProj/src/main/res/drawable/warning_sign.xml
create mode 100644 TMessagesProj/src/main/res/raw/roundcamera_flash_off.json
create mode 100644 TMessagesProj/src/main/res/raw/roundcamera_flash_on.json
create mode 100644 TMessagesProj/src/main/res/raw/roundcamera_flip.json
create mode 100644 TMessagesProj/src/main/res/raw/star_reaction.json
create mode 100644 TMessagesProj/src/main/res/raw/star_reaction_click.json
create mode 100644 TMessagesProj/src/main/res/raw/star_reaction_effect1.json
create mode 100644 TMessagesProj/src/main/res/raw/star_reaction_effect2.json
create mode 100644 TMessagesProj/src/main/res/raw/star_reaction_effect3.json
create mode 100644 TMessagesProj/src/main/res/raw/star_reaction_effect4.json
create mode 100644 TMessagesProj/src/main/res/raw/star_reaction_effect5.json
create mode 100644 TMessagesProj/src/main/res/raw/stars_send.json
create mode 100644 TMessagesProj/src/main/res/raw/stars_topup.json
create mode 100644 TMessagesProj/src/main/res/raw/superripple_effect.agsl
create mode 100644 TMessagesProj/src/main/res/raw/webview_app_ext.js
create mode 100644 TMessagesProj/src/main/res/raw/webview_ext.js
create mode 100644 TMessagesProj/src/main/res/raw/webview_share.js
diff --git a/TMessagesProj/build.gradle b/TMessagesProj/build.gradle
index 755cebfbc..d206c131f 100644
--- a/TMessagesProj/build.gradle
+++ b/TMessagesProj/build.gradle
@@ -41,6 +41,7 @@ dependencies {
//Firebase
implementation platform('com.google.firebase:firebase-bom:32.3.1')
implementation 'com.google.firebase:firebase-messaging'
+ implementation 'com.google.firebase:firebase-config'
implementation 'com.google.firebase:firebase-datatransport'
implementation 'com.google.firebase:firebase-appindexing:20.0.0'
implementation 'com.google.firebase:firebase-crashlytics'
@@ -49,7 +50,7 @@ dependencies {
implementation 'com.google.firebase:firebase-analytics-ktx'
//Google services
- implementation 'com.google.android.gms:play-services-maps:18.2.0'
+ implementation 'com.google.android.gms:play-services-maps:18.1.0'
implementation 'com.google.android.gms:play-services-auth:21.2.0'
implementation 'com.google.android.gms:play-services-vision:20.1.3'
implementation 'com.google.android.gms:play-services-wearable:18.2.0'
@@ -58,17 +59,17 @@ dependencies {
implementation 'com.googlecode.mp4parser:isoparser:1.0.6'
implementation 'com.stripe:stripe-android:2.0.2'
implementation 'com.google.mlkit:language-id:17.0.5'
- implementation "com.android.billingclient:billing:6.2.0"
+ implementation 'com.android.billingclient:billing:6.0.1'
implementation 'com.google.code.gson:gson:2.10.1'
implementation 'com.google.guava:guava:31.1-android'
- implementation 'com.airbnb.android:lottie:6.4.0'
implementation 'com.google.android.play:integrity:1.3.0'
- implementation 'com.google.android.play:review-ktx:2.0.1'
+// implementation 'com.google.android.gms:play-services-safetynet:18.1.0'
//Cherrygram
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.14.2'
+ implementation 'com.google.android.play:review-ktx:2.0.1'
// CameraX Implementation
def camerax_version = "1.3.0-alpha07"
@@ -209,7 +210,9 @@ def getProps(String propName) {
task checkVisibility {
doFirst {
- def isPrivateBuild = project.gradle.startParameter.taskNames.find { it.contains("HA_private") }
+ def isPrivateBuild = project.gradle.startParameter.taskNames.find {
+ it.contains("HA_private") || it.contains("Debug") || it.contains("Release")
+ }
def isPublicAllowed = !project.hasProperty("IS_PRIVATE") || !project.property("IS_PRIVATE").toBoolean()
if (!isPrivateBuild && !isPublicAllowed) {
throw new GradleException("Building public version of private code!")
diff --git a/TMessagesProj/config/debug/AndroidManifest.xml b/TMessagesProj/config/debug/AndroidManifest.xml
index 593d8ee31..49a37a059 100644
--- a/TMessagesProj/config/debug/AndroidManifest.xml
+++ b/TMessagesProj/config/debug/AndroidManifest.xml
@@ -32,7 +32,7 @@
+ android:name="org.telegram.messenger.GcmPushListenerService" android:exported="true">
diff --git a/TMessagesProj/config/debug/AndroidManifest_SDK23.xml b/TMessagesProj/config/debug/AndroidManifest_SDK23.xml
index 8ae2fb818..b4e5c06af 100644
--- a/TMessagesProj/config/debug/AndroidManifest_SDK23.xml
+++ b/TMessagesProj/config/debug/AndroidManifest_SDK23.xml
@@ -17,7 +17,7 @@
-
+
+ android:name="org.telegram.messenger.GcmPushListenerService" android:exported="true">
diff --git a/TMessagesProj/config/release/AndroidManifest.xml b/TMessagesProj/config/release/AndroidManifest.xml
index f82d68c3d..f215a45ed 100644
--- a/TMessagesProj/config/release/AndroidManifest.xml
+++ b/TMessagesProj/config/release/AndroidManifest.xml
@@ -14,6 +14,7 @@
+
@@ -32,7 +33,7 @@
+ android:name="org.telegram.messenger.GcmPushListenerService" android:exported="true">
diff --git a/TMessagesProj/config/release/AndroidManifest_SDK23.xml b/TMessagesProj/config/release/AndroidManifest_SDK23.xml
index a3e55f142..c88862a54 100644
--- a/TMessagesProj/config/release/AndroidManifest_SDK23.xml
+++ b/TMessagesProj/config/release/AndroidManifest_SDK23.xml
@@ -34,7 +34,7 @@
+ android:exported="true">
diff --git a/TMessagesProj/jni/CMakeLists.txt b/TMessagesProj/jni/CMakeLists.txt
index 5f15aa626..3eb875975 100644
--- a/TMessagesProj/jni/CMakeLists.txt
+++ b/TMessagesProj/jni/CMakeLists.txt
@@ -268,6 +268,7 @@ elseif(${ANDROID_ABI} STREQUAL "arm64-v8a")
rlottie/src/vector/pixman/pixman-arma64-neon-asm.S)
endif()
+
#flac
add_library(flac STATIC
exoplayer/libFLAC/bitmath.c
@@ -447,7 +448,8 @@ add_library(${NATIVE_LIB} SHARED
exoplayer/ffmpeg_jni.cc
fast-edge.cpp
genann.c
- secureid_ocr.cpp)
+ secureid_ocr.cpp
+)
target_compile_options(${NATIVE_LIB} PUBLIC
-ffast-math -Os -funroll-loops -ffast-math -fno-strict-aliasing -fno-math-errno)
diff --git a/TMessagesProj/jni/ffmpeg/arm64-v8a/libavcodec.a b/TMessagesProj/jni/ffmpeg/arm64-v8a/libavcodec.a
index ef59f86ab39da62ff9b74b7e04c140754c2c08c4..3e86a329dbf0c618bd84f53b65e893b1faad6957 100644
GIT binary patch
delta 237715
zcmcG13s_Xwwf{Qj3@|W&AgDMh%m6A*)cQbWlH70@A4w!HktV54%M2q3jBiY$iOD&G
zBuz4=*NHYXZT|sGw2?M#Z<4l7i&s#uu_iGQQg51j8wY%g#xxIg(lqn`tur$+AU<+$
zuiv+wnf+LMt+m%$d+oI!9NqE@;mMtU6gCtnQzsYXPdD*DdjgSe8S-&ybE&0V>Jjz^V8=
z=^ps>f1lR=JL&o*rBB8)&ylWS?>{HK+)cW@_g*V0*Q)S;T&`Rb!*7H@4DF|wltb5_
zly6e`YISog6f^F4Z<=DHn1VT>Brl+tIZH$7j?)w~KQol>eT|eD$9ei6r4{HPlGM8>
zX5EJr^YoLU^z5e;bA3sdq)sk|x!hdGj-Ww@)fTYB}^ATM&efb*2_DgZ`AJb(iZ2`rN
znD|YTa(RPUMvCKf*AGMKUI30t`o-tzvb4rV`o|s$r62x*^jr3l-uK#dB<0GL;;qLi
zeoaf?^!UdVe?4jYhZG-935MU1mTs6!37l>m+MATSpQD8P{ymhcKc$3!LNcs9PnXiG
zo5>JK?@TAdC!h97O8<;R;W!PLG7>0}lPUI}nG{N#+I{7;=p#zxw4$Upy@=mPNek*i
z>8qub6i&&OM@UOw{*F@i)?GQBPo@+tDWNZ^v8U-$dT=78_D}EBP-=9#@GDA
z91ZTe_nRjry3yGV8hn+MR`fBYzux^%P0BwT;5US)T$7q1`9GwLSL!Hp{VkNaf92(=
zXDel1DScf|nO99pZ-uOd_mY+te@R)GI!#%ee)&Vndi_Jn
zI`~5}Jz3YAl*o@CC6lRtdgU21aoRQU^7LK{nfj-{enh5lGS7a7E=zNNN9KM>>7S8(
z%X5@H>sO(4R|#eJPi4uJ{m)Cv<-pe4D4Wv@hpw4&zP^z-`hqbj74h9ZaJ+-SyEwEsYue
z42`*O>%hsei^gzrO{6ik&yX@^&Es^XG}hBXebT<;G&VY2$fmJKdAYy)pC+Ym!@FxJ
zFFJKSMB_$w(72qf|3^vrzXE)naFzcv%B~Lq}^O5<9d|KB8q
z#=W^Kl-@l=+5s
zG(NEPf0ZW8xse7+%0QV~-hBsX!UNBJ^YrvBG~xP_@=YrLAJqNM6|ntCqzRGKGo2awZ%Q9q_k3fFZkU%q%vRJ-t3
z=c?5Jqg1a7{a#qRT!YHLxc}Pnm6!bvH3_wd)Zskm;$^iJ+%SZ+*0y5xs*0tx)gk;C
z*d;Xh$I@lhwH0Nn9OcSltsz5OzU<*CwUwM1!2vl_^ZRDG$`_U`Ubb{m+2l!6G-|me
zXVz9NTe+%i@|1!|Ryr1!)mA@J(I;EWEw5g6c_w$%o9lEeuBdcq$n>clmCp?#m@Hpe
z0ZFMW=g|n|DbBK`4=&MI5N09^RBzTLaf)Px*%)0bJWA17VLnD@MFe(vZA8_eXDb_C
z-JhaYpwW(nz-+~Xj+GU)WlJkUYJ==04=yfS?xg5ZUEngT7qH0a~%Ibw>NsgtC#cOJ-Lp{G`hnWd&6I!OF@gUN9uBY+3E90Sgr_T?n0D1$c`tgBdC*uUx#QPf=B6*`kW2
zmt{fO7c-nF%l6=^WzJd)X3mfqEt{&@
z%wDX^`W9S5d7yk?-v`PiM)b+;?Q~k1lkGrsXZ$;=k4rz9G2x=uyKWn2)|amgDRRT%
zoDm~mLi&nxz%}Nr&E6lod?2YD8&2@+VoRGbHWDlu7v^L(SD9CPFI-Ta{3)X}vAN
zQ=FDRU7G^6ugtYEpoATR2=LG-Xx37z6aL-suXm2idVP;8J5HLBKWXEsm6>B8mc`&PoG91S8Ym9uJk{zj?x+~5e^=qQ~1`q|pojqzxK`5$dJPX5K%m>Dys7ffn!
z|7OG_(IPaQOVJNeY-{C>x9UWX?abQFJc{#}s}>a$>S%>sqS81LJ@GNJRjSIqXp_k+
z;P;l1G(Tt}tD>WSJC#e;V|iqaOO>rU)G0*%SmcdHo=Q~OMsh$Rsbx1&pb_;|kxF+X
zPbRfwA?aH7VAn9vCY2rH9}pC`Nlh;0YitHtIg!eO|
zH;8DHeSr)r)e@o{FIVEcMsY|_(bvJ!9|6ElacED&aw#LdVbW1i*KjgLOjH7oO4}|t
z#ciKU)bg1mwb&=g)_^3md?AS~at!4UCE73y$v$1S9s&XvkdQyk9xMAK*Ct_*}0{XLj}CA5UU2TL{H`PB|ajajn}Xf}x>
z!x&_=EaU-CQA?sxb$l5t<$A9J8$0TDOT$1GWwtB?s+TH@xfEt3fO7^UHxmlpUv()V()T+F{Cay^7xw
zxl4|rFCB(+5ycfBA)TRKN2x-*yrYp~T}}wTQzv_!ZU5pmt#-DO-kjMqi(22pP%{j)
zS4#HoX*4=1ws`N_$2XQEo!7=#Xz`1&o{*f-raj4bW2}a1W5vWBk6()=`H#gwWPb=R#4VND{kBHl<}#(c^-xIJ**Yo)Mni!P(B#Ard%hlX(Z7#SC~qr
zTP?Ysiv78s_E~akQ`>_(m;x@OJYd^4ZHGA+EOqM1dqPKE2G-uN;=r)9h7BKzIwcky
zXblF3?MYw+hqO3$>A?LoXj*85{u5;))px{_+VLj7>rOu4yGPY|&55%2ZluN(T4APP
z-oX|*aLzr#>jzh9Fa!|XNzzj(b1+p$^ClnCd6)Xvbk0_1S?9i|^UkAGkAYOBo3)$s1?sB~Sgx`+d4t%HJ(W9%ruXor%2i+h*^uLu0nZ$ZLR9
z$6D#9=_bL>@$
zsg+X5n?*4_%q2!*FSvJ7B1;yJKk2>oNN4^LER7Lm>-rcYx>`Nd*Xm+8w93N8VCfgAghK)W
z5xOpjYKe`=3pq~@?iLPm-pQZGEMdcS9(LpF8z{gAjBQH5C2jkAt!~>FkUKMkzHN$Z
z?M#-v9}bqiwc;@E{n9Y66$|rlJ-RN=+Xg$M#?dr|J82a&P%y|FPm5lZ)i|#n
zpKWYJpixb6RQmFV#eptqBy2=lOAgrRmvk-l4-{#}rY!;WV3+{7R0VLY9gNSZBr5Ha
zGFrqAu0LF}1YA}$bFy~}G`$<}0RPSv^>J#6X{OOD36(EyNtXi@OQlUPLZ;njZ}YAZ
zUIqXzY>FTxCsHX}w>AixA00G{)4k#+YRAc+&tB5-o9;12MbNkgguElcwVz2C9uTBT
zaT=jaWCT_-xc+;XoX>&G1u@r`(NbGC*82nqVgk9MR%zxqZ?i4OyICBo)w!&E_aqQ)@oui0IAFOS
zBhYM{g7(udD>uz7fQ?OSQN+v;$9@eAHSTCbkf9AhGq9C01ZFwK%k_SRIy@XaL^&7%
z9x@&p-OXwVj|LAmH3iI!_TNFD)}3~6~D(%%4Wu!9;ElK(lh0ta%YIW@}JD)X2RY0;U~k_u4GGp-ZU
z6jSdi}hvWxZ**PRN0wuy<}E-?p|6hQTt19f1I
zYlFZ=8eOZCpd?)KSy<)29zg+C_o?8-MNn^oJMj<`1!IYAciE={1#B}|g*Snc`;btm
zX^slb;jya|OOBnlRvA|m&b_+IRtm{9`^4dNb=5>lQyjwn<;g$E4wYrgb0xW~E
zv||!ZfU571R}lDQqOVMBzS7iweB#bzI(A-@ded6m-O$Ua7MuF6*q9
zov*T#OX5K`^{0OwdrfoS2BAI@Hv5`kgXveCU<=#-atOo>u)T`Sx`Cz{ArA}SJF@ME
zS)T@$Z5V;ns$)1IZU&8t(lJUiptf?aK>#=L5Eon=l9T
z&I1`e0yN-{7_tawe~#~LGd8Xp%X5Mfh)}W_s&+&&wy?ct%DEB?r(YZoN^@b)^R7^y
zkMi*-pEPhe&j(^Y$_p+l_lwHS+JqpQLTvmcu)D;zFl$XUVdf!EqQdK`lA?x>_>)4Yh=qT}jWYCC1fi$;aPOOJWwNCFe$|CG9t<
zC8v-w2B{^nnQBQKrpLG7)sBO|xBRi9&Z7{RPozmLb1B{f&$%Pz)5kiC_L)6$wNq)W
zH<5R}TDF~JbEc|hwcb&kvt4Z~YaL(Z)biH1Wo*@PrdwY-wc=C
zj5UDLgC!Z(cO6M2cur8PVLurSar?$<*zKa>hO=Ulhmm_)jQ5-nX$+F2Z%Ch>ga(762S&HWaK=yLkXM?}ym&Rsh
zPm;YkZ~|@e46jp;^9m^wGi9P3HWf=Nl6qu0vsI>1t+G6-wMa#38`a8oI-Asz?B(R+
za6uU_Yz9-QNUD$L2ZDD*RpkZpAj+SBP=b;S&G@%88hPN)l9$(cN+rwk_jxjGZ&v*kY9v+!uNW7uf!+e
zGaH|K@mcY9lF!EZZArd``;vU(pObuaFv-`3DL94{wFH8ZuVTfDm9gtsT%$1?OY$60
z;{+uO_uaXp{JlGOY%opDT=o8)J1X1m+_7lSojWStzH`U3Ix008bG43jBjr@EcX0hz
zg{dl$ff0~sZ02r#PUdgW_AG)LCgbSK>%#D8l?j#oV9~eHpyG>QzM5dl%+-q?H-a2Z
z7U(-uWkM$a%yroYs0es$hRm?6@Ur^|K9AuOOLuK38-?VaqE8_Yt7KoDNclDlwHZW}
ztxZ56V}|z(Vg(8}me)SI(M0570kf^9RIY$n!49|-J3!SASj-)Q9x0K35AvRcX0=Hi
zX9OYu$V+j8keb6ns*aKk;;*bL=m(AtK@wwYvKJt75#SP#1ejsUuiZt$cK!Ix)QzJc~?w7MWsaR$;%
zw6o#2OjLZ~k*xVPs(f*TPAw6TpYdqcd>OyjNNR~AMfO>xVa2mIO!V3|h~DZ9+4qQ)
zQ9K)1EFoD5To_8J95+b^u#r$87OOF9XLe50)8MVumD|lE8p>}Lk_!=hF>iR<=tv>o
zUVYnwKb!t+{Oy=s#vw$$2NNlO%vx!_1#Joi!F584ZTYwA%7V$+`;C(`Z|!^*5d|}1
zFiwd+YC9w4if>!sGQX)I=NkPNV{sk%6hY@YgFx}ySR=iKC{tb^1obUjtE&q3Dge57
z
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