From 2f5c43284ba880157005a93f1db0fd3eb5473acb Mon Sep 17 00:00:00 2001 From: Artem Umerov Date: Mon, 21 Oct 2024 01:11:41 +0300 Subject: [PATCH] 72 72 --- app_fenrir/build.gradle | 32 +- .../ic_launcher_foreground.xml | 0 .../ic_launcher_monochrome.xml | 0 .../res/{drawable-v24 => drawable}/splash.xml | 0 .../fenrir/res/mipmap-hdpi/ic_launcher.png | Bin 5292 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 5857 -> 0 bytes .../fenrir/res/mipmap-mdpi/ic_launcher.png | Bin 3001 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 3324 -> 0 bytes .../fenrir/res/mipmap-xhdpi/ic_launcher.png | Bin 8015 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 8847 -> 0 bytes .../fenrir/res/mipmap-xxhdpi/ic_launcher.png | Bin 14118 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 15503 -> 0 bytes .../fenrir/res/mipmap-xxxhdpi/ic_launcher.png | Bin 20948 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 22748 -> 0 bytes .../ic_launcher_foreground.xml | 0 .../ic_launcher_monochrome.xml | 0 .../res/{drawable-v24 => drawable}/splash.xml | 0 .../src/kate/res/mipmap-hdpi/ic_launcher.png | Bin 4991 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 5470 -> 0 bytes .../src/kate/res/mipmap-mdpi/ic_launcher.png | Bin 2892 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 3219 -> 0 bytes .../src/kate/res/mipmap-xhdpi/ic_launcher.png | Bin 7107 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7792 -> 0 bytes .../kate/res/mipmap-xxhdpi/ic_launcher.png | Bin 11490 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 12642 -> 0 bytes .../kate/res/mipmap-xxxhdpi/ic_launcher.png | Bin 16186 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 17725 -> 0 bytes app_fenrir/src/main/AndroidManifest.xml | 7 - .../kotlin/dev/ragnarok/fenrir/Extensions.kt | 6 +- .../dev/ragnarok/fenrir/FcmListenerService.kt | 4 +- .../kotlin/dev/ragnarok/fenrir/Includes.kt | 4 - .../ragnarok/fenrir/activity/ActivityUtils.kt | 1 - .../ragnarok/fenrir/activity/ChatActivity.kt | 12 +- .../fenrir/activity/ChatActivityBubbles.kt | 12 +- .../fenrir/activity/DeltaOwnerActivity.kt | 19 +- .../activity/LocalJsonToChatActivity.kt | 12 +- .../ragnarok/fenrir/activity/LoginActivity.kt | 3 +- .../fenrir/activity/LottieActivity.kt | 12 +- .../ragnarok/fenrir/activity/MainActivity.kt | 43 +- .../fenrir/activity/NoMainActivity.kt | 10 +- .../activity/NotReadMessagesActivity.kt | 12 +- .../fenrir/activity/QuickAnswerActivity.kt | 383 ---------- .../fenrir/activity/SinglePhotoActivity.kt | 23 +- .../fenrir/activity/SwipebleActivity.kt | 1 - .../fenrir/activity/ValidateActivity.kt | 2 +- .../fenrir/activity/VideoPlayerActivity.kt | 54 +- .../fenrir/activity/crash/CrashUtils.kt | 12 +- .../activity/gifpager/GifPagerActivity.kt | 23 +- .../activity/photopager/PhotoPagerActivity.kt | 23 +- .../fenrir/activity/qr/CameraScanActivity.kt | 1 - .../selectprofiles/SelectProfilesActivity.kt | 2 - .../selectprofiles/SelectedProfilesAdapter.kt | 4 +- .../ShortVideoPagerActivity.kt | 23 +- .../activity/slidr/ColorPanelSlideListener.kt | 16 +- .../activity/slidr/widget/SliderPanel.kt | 4 +- .../activity/storypager/StoryPagerActivity.kt | 23 +- .../storypager/StoryPagerPresenter.kt | 2 +- .../fenrir/api/adapters/AbsDtoAdapter.kt | 7 - .../adapters/FeedbackVKOfficialDtoAdapter.kt | 2 +- .../fenrir/api/adapters/GeoDtoAdapter.kt | 4 +- .../api/adapters/GroupSettingsDtoAdapter.kt | 4 +- .../api/adapters/LongpollUpdateDtoAdapter.kt | 1 - .../dev/ragnarok/fenrir/api/impl/AbsApi.kt | 4 +- .../ragnarok/fenrir/api/util/VKStringUtils.kt | 6 +- .../dev/ragnarok/fenrir/crypt/CryptHelper.kt | 10 +- .../fenrir/crypt/KeyExchangeService.kt | 21 +- .../dev/ragnarok/fenrir/crypt/ver/Version.kt | 2 - .../fenrir/db/FenrirContentProvider.kt | 31 - .../dev/ragnarok/fenrir/db/impl/AbsStorage.kt | 1 - .../fenrir/db/impl/AttachmentsStorage.kt | 2 - .../fenrir/db/impl/FeedbackStorage.kt | 1 - .../ragnarok/fenrir/db/impl/OwnersStorage.kt | 3 - .../fenrir/db/impl/TempDataStorage.kt | 2 +- .../fenrir/dialog/DialogNotifOptionsDialog.kt | 120 --- .../dialog/directauth/DirectAuthDialog.kt | 2 +- .../dialog/directauth/DirectAuthPresenter.kt | 24 +- .../dialog/privacyview/PrivacyViewDialog.kt | 2 +- .../fenrir/domain/impl/MessagesDecryptor.kt | 4 +- .../fenrir/domain/mappers/Dto2Entity.kt | 27 +- .../fenrir/domain/mappers/Dto2Model.kt | 30 +- .../fenrir/domain/mappers/Entity2Model.kt | 26 - .../fenrir/domain/mappers/Model2Entity.kt | 2 - .../NotificationPreferencesFragment.kt | 485 ------------ .../fenrir/fragment/PreferencesFragment.kt | 115 ++- .../fragment/SecurityPreferencesFragment.kt | 1 - .../fragment/accounts/AccountAdapter.kt | 2 +- .../fragment/accounts/AccountsFragment.kt | 2 +- .../fragment/addproxy/AddProxyPresenter.kt | 6 +- .../AbsAttachmentsEditPresenter.kt | 1 - .../attachments/postedit/PostEditPresenter.kt | 2 +- .../fragment/audio/AudioPlayerFragment.kt | 14 +- .../audioplaylists/AudioPlaylistsPresenter.kt | 2 +- .../fragment/audio/audios/AudiosPresenter.kt | 2 +- .../sections/CatalogV2SectionAdapter.kt | 4 +- .../sections/holders/VideoViewHolder.kt | 4 +- .../LocalAudioAlbumsAdapter.kt | 2 +- .../LocalAudioAlbumsPresenter.kt | 2 +- .../fragment/base/AttachmentsViewBinder.kt | 2 +- .../fragment/comments/CommentsFragment.kt | 2 +- .../fragment/comments/CommentsPresenter.kt | 10 +- .../communities/CommunitiesPresenter.kt | 6 +- .../fave/favelinks/FaveLinksPresenter.kt | 3 +- .../fave/favepages/FavePagesAdapter.kt | 2 +- .../fave/favepages/FavePagesPresenter.kt | 2 +- .../fave/favevideos/FaveVideosAdapter.kt | 4 +- .../fenrir/fragment/feed/FeedAdapter.kt | 2 +- .../fenrir/fragment/feed/FeedFragment.kt | 2 +- .../fenrir/fragment/feed/FeedPresenter.kt | 2 +- .../NewsfeedCommentsAdapter.kt | 8 +- .../FeedbackVKOfficialAdapter.kt | 7 +- .../FileManagerSelectPresenter.kt | 2 +- .../friends/allfriends/AllFriendsPresenter.kt | 4 +- .../allfriends/FriendsRecycleAdapter.kt | 4 +- .../friends/birthday/BirthDayAdapter.kt | 2 +- .../friendstabs/FriendsTabsFragment.kt | 2 +- .../friends/requests/RequestsPresenter.kt | 6 +- .../AudioLocalServerRecyclerAdapter.kt | 3 +- .../AudiosLocalServerPresenter.kt | 2 +- .../FileManagerRemoteAdapter.kt | 6 +- .../FileManagerRemotePresenter.kt | 2 +- .../PhotosLocalServerFragment.kt | 6 +- .../PhotosLocalServerPresenter.kt | 2 +- .../LocalServerVideosAdapter.kt | 3 +- .../VideosLocalServerFragment.kt | 7 +- .../VideosLocalServerPresenter.kt | 2 +- .../fenrir/fragment/logs/LogsAdapter.kt | 2 +- .../messages/AbsMessageListPresenter.kt | 2 +- .../fragment/messages/chat/ChatFragment.kt | 14 +- .../fragment/messages/chat/ChatPresenter.kt | 32 +- .../fragment/messages/chat/IChatView.kt | 2 +- .../fragment/messages/chat/MessagesAdapter.kt | 1 - .../messages/dialogs/DialogsAdapter.kt | 2 +- .../messages/dialogs/DialogsFragment.kt | 74 +- .../messages/dialogs/DialogsPresenter.kt | 10 +- .../fragment/messages/dialogs/IDialogsView.kt | 1 - .../LocalJsonToChatFragment.kt | 2 +- .../messageslook/MessagesLookFragment.kt | 2 +- .../NotReadMessagesFragment.kt | 2 +- .../LocalPhotoAlbumsPresenter.kt | 2 +- .../photos/localphotos/LocalPhotosFragment.kt | 7 +- .../photos/vkphotos/VKPhotosFragment.kt | 6 +- .../fragment/poll/PollAnswersAdapter.kt | 4 +- .../fragment/proxymanager/ProxiesAdapter.kt | 4 +- .../requestexecute/RequestExecutePresenter.kt | 8 +- .../fragment/search/SearchFragmentFactory.kt | 26 +- .../search/abssearch/AbsSearchFragment.kt | 7 +- .../audiossearch/AudiosSearchFragment.kt | 1 - .../search/criteria/BaseSearchCriteria.kt | 2 +- .../search/filteredit/FilterEditFragment.kt | 11 +- .../messagessearch/MessagesSearchFragment.kt | 1 - .../messagessearch/MessagesSearchPresenter.kt | 2 +- .../search/photosearch/PhotoSearchFragment.kt | 7 + .../search/videosearch/VideoSearchFragment.kt | 6 + .../shortcutsview/ShortcutsViewPresenter.kt | 6 +- .../fenrir/fragment/theme/ThemeAdapter.kt | 6 +- .../fenrir/fragment/videos/VideosAdapter.kt | 4 +- .../fenrir/fragment/videos/VideosFragment.kt | 7 +- .../fragment/videos/VideosListPresenter.kt | 2 +- .../videos/localvideos/LocalVideosFragment.kt | 6 +- .../localvideos/LocalVideosPresenter.kt | 2 +- .../fenrir/fragment/wall/AbsWallPresenter.kt | 12 +- .../wall/groupwall/GroupWallFragment.kt | 2 +- .../wall/userwall/UserWallFragment.kt | 2 +- .../WallPostQueryAttachmentsPresenter.kt | 6 +- .../dev/ragnarok/fenrir/link/LinkHelper.kt | 15 +- .../fenrir/link/LinkParserFeedback.kt | 2 +- .../dev/ragnarok/fenrir/link/VKLinkParser.kt | 44 +- .../link/internal/OwnerLinkSpanFactory.kt | 2 +- .../longpoll/AppNotificationChannels.kt | 47 +- .../longpoll/LongPollNotificationHelper.kt | 5 +- .../fenrir/longpoll/NotificationHelper.kt | 103 +-- .../internal/MaterialPopupWindow.kt | 7 +- .../MaterialRecyclerViewPopupWindow.kt | 13 +- .../fenrir/media/exo/OkHttpDataSource.kt | 4 +- .../media/music/MusicPlaybackController.kt | 60 +- .../media/music/MusicPlaybackService.kt | 10 +- .../fenrir/media/music/NotificationHelper.kt | 16 +- .../fenrir/media/record/AudioRecordWrapper.kt | 14 +- .../ragnarok/fenrir/media/record/Recorder.kt | 22 +- .../fenrir/media/voice/ExoVoicePlayer.kt | 1 - .../media/voice/ExoVoicePlayerSensored.kt | 11 +- .../dev/ragnarok/fenrir/model/Attachments.kt | 2 +- .../fenrir/model/ParcelableOwnerWrapper.kt | 1 - .../dev/ragnarok/fenrir/model/UserUpdate.kt | 1 - .../picasso/PicassoFileManagerHandler.kt | 4 +- .../fenrir/picasso/PicassoInstance.kt | 4 +- .../kotlin/dev/ragnarok/fenrir/place/Place.kt | 119 ++- .../dev/ragnarok/fenrir/place/PlaceFactory.kt | 49 -- .../dev/ragnarok/fenrir/place/PlaceUtil.kt | 1 - .../ragnarok/fenrir/push/NotificationUtils.kt | 32 +- .../fenrir/push/message/BirthdayFCMMessage.kt | 14 +- .../fenrir/push/message/CommentFCMMessage.kt | 13 +- .../push/message/FriendAcceptedFCMMessage.kt | 13 +- .../fenrir/push/message/FriendFCMMessage.kt | 13 +- .../push/message/GroupInviteFCMMessage.kt | 13 +- .../fenrir/push/message/LikeFCMMessage.kt | 20 +- .../fenrir/push/message/MentionMessage.kt | 14 +- .../fenrir/push/message/NewPostPushMessage.kt | 16 +- .../fenrir/push/message/ReplyFCMMessage.kt | 13 +- .../fenrir/push/message/WallPostFCMMessage.kt | 24 +- .../push/message/WallPublishFCMMessage.kt | 13 +- .../fenrir/service/ChatDownloadWorker.kt | 40 +- .../ragnarok/fenrir/service/FaveSyncWorker.kt | 38 +- .../fenrir/service/KeepLongpollService.kt | 31 +- .../fenrir/service/QuickReplyService.kt | 1 - .../dev/ragnarok/fenrir/settings/AppPrefs.kt | 8 +- .../dev/ragnarok/fenrir/settings/ISettings.kt | 47 +- .../ragnarok/fenrir/settings/MainSettings.kt | 166 ++-- .../fenrir/settings/NotificationsPrefs.kt | 221 +----- .../fenrir/settings/RecentChatsSettings.kt | 2 +- .../fenrir/settings/SecuritySettings.kt | 2 +- .../ragnarok/fenrir/settings/UISettings.kt | 8 +- .../fenrir/settings/backup/SettingsBackup.kt | 39 +- .../fenrir/upload/UploadDestination.kt | 13 - .../fenrir/upload/UploadManagerImpl.kt | 26 +- .../dev/ragnarok/fenrir/upload/UploadUtils.kt | 5 +- .../upload/impl/Photo2AlbumUploadable.kt | 2 +- .../dev/ragnarok/fenrir/util/Accounts.kt | 3 +- .../dev/ragnarok/fenrir/util/AppPerms.kt | 14 +- .../dev/ragnarok/fenrir/util/AppTextUtils.kt | 6 +- .../ragnarok/fenrir/util/DownloadWorkUtils.kt | 46 +- .../dev/ragnarok/fenrir/util/HelperSimple.kt | 1 - .../dev/ragnarok/fenrir/util/IOUtils.kt | 9 +- .../ragnarok/fenrir/util/InputTextDialog.kt | 2 +- .../fenrir/util/InputWallOffsetDialog.kt | 5 +- .../dev/ragnarok/fenrir/util/IntentService.kt | 1 - .../fenrir/util/OkHttp3LoggingInterceptor.kt | 2 +- .../dev/ragnarok/fenrir/util/PostDownload.kt | 13 +- .../dev/ragnarok/fenrir/util/ShortcutUtils.kt | 35 +- .../dev/ragnarok/fenrir/util/Translit.kt | 1 - .../fenrir/util/UserInfoResolveUtil.kt | 3 - .../kotlin/dev/ragnarok/fenrir/util/Utils.kt | 129 +--- .../ragnarok/fenrir/util/ValidationUtil.kt | 5 +- .../dev/ragnarok/fenrir/util/ViewUtils.kt | 7 +- .../dev/ragnarok/fenrir/util/hls/M3U8.kt | 16 +- .../fenrir/util/refresh/TokenModKate.kt | 4 +- .../fenrir/util/refresh/TokenModOfficialVK.kt | 6 +- .../serializeble/json/JsonElementBuilders.kt | 1 - .../serializeble/json/internal/ArrayPools.kt | 1 - .../json/internal/JsonIterator.kt | 1 - .../serializeble/json/internal/JsonPath.kt | 1 - .../json/internal/StreamingJsonDecoder.kt | 1 - .../json/internal/lexer/AbstractJsonLexer.kt | 3 - .../msgpack/stream/MsgPackDataBuffer.kt | 2 +- .../ragnarok/fenrir/util/spots/SpotsDialog.kt | 5 +- .../ragnarok/fenrir/view/CenteredToolbar.kt | 10 +- .../fenrir/view/CircleCounterButton.kt | 3 +- .../view/CommentsInputViewController.kt | 4 +- .../fenrir/view/ErrorIgnoreDrawerLayout.kt | 4 +- .../fenrir/view/InputViewController.kt | 11 +- .../dev/ragnarok/fenrir/view/LinkCoverView.kt | 20 + .../ragnarok/fenrir/view/MiniPlayerView.kt | 2 +- .../fenrir/view/PollGradientDrawable.kt | 1 - .../fenrir/view/VideoControllerView.kt | 6 +- .../view/emoji/StickersKeyWordsAdapter.kt | 2 +- .../fenrir/view/emoji/section/Emojicon.kt | 3 - .../media/AudioPlayerBackgroundDrawable.kt | 1 - .../view/media/AudioPlayerCoverDrawable.kt | 1 - .../fenrir/view/media/PlayPauseButton.kt | 1 - .../animation/AnimatedShapeableImageView.kt | 2 +- .../navigation/AdditionalNavigationView.kt | 2 +- .../fenrir/view/navigation/MenuListAdapter.kt | 5 +- .../view/navigation/SideNavigationView.kt | 2 +- .../impl/CreatePhotoAlbumStepsHost.kt | 2 +- .../fenrir/view/zoomhelper/ZoomHelper.kt | 1 - .../res/drawable-v23/background_splash.xml | 12 - .../src/main/res/drawable-v24/album.xml | 27 - .../src/main/res/drawable-v24/for_qr.xml | 28 - .../res/drawable-v24/ic_favorites_ellipse.xml | 31 - .../res/drawable-v24/ic_favorites_round.xml | 28 - .../src/main/res/drawable-v24/is_friend.xml | 26 - app_fenrir/src/main/res/drawable/album.xml | 19 +- .../main/res/drawable/background_splash.xml | 10 +- app_fenrir/src/main/res/drawable/for_qr.xml | 19 +- .../res/drawable/ic_favorites_ellipse.xml | 20 +- .../main/res/drawable/ic_favorites_round.xml | 21 +- .../ic_fenrir_black.xml | 0 .../ic_fenrir_blue.xml | 0 .../ic_fenrir_dynamic2_monochrome.xml | 0 .../ic_fenrir_green.xml | 0 .../ic_fenrir_lineage.xml | 0 .../ic_fenrir_red.xml | 0 .../ic_fenrir_violet.xml | 0 .../ic_fenrir_white.xml | 0 .../ic_fenrir_yellow.xml | 0 .../ic_logo_vk_monochrome.xml | 0 .../ic_valknut_dynamic_monochrome.xml | 0 .../src/main/res/drawable/is_friend.xml | 20 +- .../src/main/res/drawable/pause_disabled.xml | 11 - .../main/res/layout/activity_quick_answer.xml | 166 ---- .../main/res/layout/dialog_dialog_options.xml | 83 -- .../src/main/res/layout/item_fave_link.xml | 2 +- .../fenrir_black.xml | 0 .../fenrir_blue.xml | 0 .../fenrir_green.xml | 0 .../fenrir_lineage.xml | 0 .../fenrir_red.xml | 0 .../fenrir_violet.xml | 0 .../fenrir_white.xml | 0 .../fenrir_yellow.xml | 0 .../ic_launcher.xml | 0 .../ic_launcher_round.xml | 0 .../vk_official.xml | 0 .../src/main/res/values-night-v23/styles.xml | 9 - .../src/main/res/values-night/styles.xml | 1 + app_fenrir/src/main/res/values-ru/strings.xml | 48 +- app_fenrir/src/main/res/values-v23/styles.xml | 8 - app_fenrir/src/main/res/values/dimens.xml | 3 - app_fenrir/src/main/res/values/strings.xml | 57 +- app_fenrir/src/main/res/values/styles.xml | 3 +- app_filegallery/build.gradle | 26 +- .../dev/ragnarok/filegallery/Extensions.kt | 6 +- .../filegallery/activity/MainActivity.kt | 12 +- .../filegallery/activity/NoMainActivity.kt | 10 +- .../activity/VideoPlayerActivity.kt | 56 +- .../filegallery/activity/crash/CrashUtils.kt | 12 +- .../activity/photopager/PhotoPagerActivity.kt | 24 +- .../photopager/PhotoPagerPresenter.kt | 15 +- .../activity/qr/CameraScanActivity.kt | 1 - .../activity/slidr/ColorPanelSlideListener.kt | 16 +- .../activity/slidr/widget/SliderPanel.kt | 4 +- .../filegallery/api/adapters/AbsDtoAdapter.kt | 7 - .../db/impl/SearchRequestHelperStorage.kt | 6 +- .../fragment/AudioPlayerFragment.kt | 14 +- .../fragment/PreferencesFragment.kt | 17 +- .../fragment/SecurityPreferencesFragment.kt | 1 - .../filemanager/FileManagerAdapter.kt | 3 +- .../filemanager/FileManagerPresenter.kt | 2 +- .../FileManagerSelectPresenter.kt | 2 +- .../AudioLocalServerRecyclerAdapter.kt | 5 +- .../AudiosLocalServerPresenter.kt | 2 +- .../FileManagerRemoteAdapter.kt | 6 +- .../FileManagerRemotePresenter.kt | 2 +- .../PhotosLocalServerPresenter.kt | 2 +- .../LocalServerVideosAdapter.kt | 5 +- .../VideosLocalServerPresenter.kt | 2 +- .../fragment/tagdir/TagDirAdapter.kt | 1 - .../fragment/tagdir/TagDirPresenter.kt | 2 +- .../fragment/tagowner/TagOwnerAdapter.kt | 3 +- .../fragment/tagowner/TagOwnerBottomSheet.kt | 5 +- .../tagowner/TagOwnerBottomSheetSelected.kt | 5 +- .../fragment/tagowner/TagOwnerFragment.kt | 6 +- .../fragment/theme/ThemeAdapter.kt | 6 +- .../internal/MaterialPopupWindow.kt | 7 +- .../MaterialRecyclerViewPopupWindow.kt | 13 +- .../filegallery/media/exo/OkHttpDataSource.kt | 4 +- .../media/music/MusicPlaybackController.kt | 60 +- .../media/music/MusicPlaybackService.kt | 10 +- .../media/music/NotificationHelper.kt | 16 +- .../picasso/PicassoFileManagerHandler.kt | 4 +- .../filegallery/picasso/PicassoInstance.kt | 2 +- .../filegallery/settings/CurrentTheme.kt | 1 - .../filegallery/settings/MainSettings.kt | 44 +- .../filegallery/settings/SecuritySettings.kt | 2 +- .../filegallery/upload/UploadDestination.kt | 1 - .../filegallery/upload/UploadManagerImpl.kt | 26 +- .../filegallery/upload/UploadUtils.kt | 2 +- .../util/AppNotificationChannels.kt | 4 - .../dev/ragnarok/filegallery/util/AppPerms.kt | 8 +- .../filegallery/util/DownloadWorkUtils.kt | 41 +- .../util/OkHttp3LoggingInterceptor.kt | 2 +- .../dev/ragnarok/filegallery/util/Utils.kt | 72 +- .../ragnarok/filegallery/util/ViewUtils.kt | 4 +- .../serializeble/json/JsonElementBuilders.kt | 1 - .../serializeble/json/internal/ArrayPools.kt | 1 - .../json/internal/JsonIterator.kt | 1 - .../serializeble/json/internal/JsonPath.kt | 1 - .../json/internal/StreamingJsonDecoder.kt | 3 +- .../json/internal/lexer/AbstractJsonLexer.kt | 3 - .../msgpack/stream/MsgPackDataBuffer.kt | 2 +- .../filegallery/view/MiniPlayerView.kt | 2 +- .../filegallery/view/VideoControllerView.kt | 6 +- .../media/AudioPlayerBackgroundDrawable.kt | 1 - .../view/media/AudioPlayerCoverDrawable.kt | 1 - .../filegallery/view/media/PlayPauseButton.kt | 1 - .../animation/AnimatedShapeableImageView.kt | 2 +- .../res/drawable-v23/background_splash.xml | 12 - .../src/main/res/drawable-v24/splash.xml | 30 - .../main/res/drawable/background_splash.xml | 10 +- .../ic_launcher_foreground.xml | 0 .../ic_launcher_monochrome.xml | 0 .../src/main/res/drawable/splash.xml | 24 +- .../ic_launcher.xml | 0 .../ic_launcher_round.xml | 0 .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3823 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 4667 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2137 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2721 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 5778 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7150 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 9937 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 12337 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 14703 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 18007 -> 0 bytes .../src/main/res/values-night-v23/styles.xml | 9 - .../src/main/res/values-night/styles.xml | 1 + .../src/main/res/values-v23/styles.xml | 8 - .../src/main/res/values/styles.xml | 3 +- build.gradle | 47 +- camera2/build.gradle | 8 +- .../camera2/internal/AndroidRZoomImpl.java | 7 + .../internal/Camera2CameraControlImpl.java | 31 +- .../internal/Camera2CapturePipeline.java | 75 +- .../internal/FocusMeteringControl.java | 2 + .../internal/SupportedSurfaceCombination.java | 26 +- .../compat/CameraCharacteristicsCompat.java | 30 +- .../StreamConfigurationMapCompatBaseImpl.java | 12 +- .../params/CaptureRequestParameterCompat.kt | 41 + .../androidx/camera/core/ImageCapture.java | 16 +- .../camera/core/MeteringPointFactory.java | 8 + .../imagecapture/CameraCapturePipeline.kt | 36 + .../core/impl/CameraControlInternal.java | 25 + .../core/impl/ForwardingCameraControl.java | 8 + .../core/internal/CameraUseCaseAdapter.java | 33 +- .../streamsharing/VirtualCameraAdapter.java | 1 + .../streamsharing/VirtualCameraControl.java | 23 +- .../lifecycle/LifecycleCameraRepository.java | 15 +- .../camera/view/PreviewTransformation.java | 7 +- .../androidx/camera/view/PreviewView.java | 36 +- .../view/PreviewViewMeteringPointFactory.java | 20 +- .../androidx/camera/view/ScreenFlashView.java | 129 +++- .../camera/view/impl/ZoomGestureDetector.kt | 487 ++++++++++++ fenrir_common/build.gradle | 10 +- firebase-installations/build.gradle | 6 +- .../installations/FirebaseInstallations.java | 55 +- .../firebase/installations/GetIdListener.java | 7 +- .../local/PersistedInstallation.java | 2 +- gradle.properties | 3 +- gradle/wrapper/gradle-wrapper.properties | 2 +- image/build.gradle | 10 +- .../yalantis/ucrop/util/BitmapLoadUtils.kt | 2 +- .../com/yalantis/ucrop/view/OverlayView.kt | 26 +- .../imaging/core/file/IMGAssetFileDecoder.kt | 2 +- libfenrir/build.gradle | 8 +- libfenrir/ffmpeg.sh | 6 +- .../main/java/com/github/luben/zstd/Zstd.java | 41 +- .../zxing/aztec/encoder/HighLevelEncoder.java | 3 +- .../zxing/multi/qrcode/QRCodeMultiReader.java | 2 +- .../detector/MultiFinderPatternFinder.java | 3 +- .../qrcode/detector/FinderPatternFinder.java | 10 +- libfenrir/src/main/jni/CMakeLists.txt | 9 +- .../libyuv/include/libyuv/compare_row.h | 31 +- .../libyuv/include/libyuv/cpu_support.h | 87 +++ .../libyuv/include/libyuv/rotate_row.h | 27 +- .../jni/animation/libyuv/include/libyuv/row.h | 75 +- .../libyuv/include/libyuv/scale_row.h | 38 +- .../animation/libyuv/include/libyuv/version.h | 2 +- .../jni/animation/libyuv/source/convert.cc | 6 +- .../animation/libyuv/source/convert_argb.cc | 4 +- .../libyuv/source/convert_to_argb.cc | 15 +- .../libyuv/source/convert_to_i420.cc | 16 +- .../jni/animation/libyuv/source/cpu_id.cc | 16 +- .../libyuv/source/planar_functions.cc | 15 + .../jni/animation/libyuv/source/rotate_sme.cc | 6 +- .../jni/animation/libyuv/source/row_any.cc | 6 +- .../jni/animation/libyuv/source/row_common.cc | 21 +- .../jni/animation/libyuv/source/row_neon64.cc | 240 +++--- .../main/jni/animation/libyuv/source/scale.cc | 66 +- .../jni/animation/libyuv/source/scale_any.cc | 12 +- .../jni/animation/libyuv/source/scale_argb.cc | 26 +- .../animation/libyuv/source/scale_neon64.cc | 135 ++-- .../jni/animation/libyuv/source/scale_rgb.cc | 28 +- .../jni/animation/libyuv/source/scale_uv.cc | 4 +- .../rlottie/src/lottie/rapidjson/document.h | 3 +- .../main/jni/animation/thorvg/inc/thorvg.h | 209 ++--- .../thorvg/src/common/tvgCompressor.cpp | 2 +- .../animation/thorvg/src/common/tvgStr.cpp | 8 + .../jni/animation/thorvg/src/common/tvgStr.h | 1 + .../thorvg/src/loaders/raw/tvgRawLoader.cpp | 4 +- .../thorvg/src/loaders/raw/tvgRawLoader.h | 2 +- .../thorvg/src/loaders/svg/tvgSvgLoader.cpp | 11 +- .../thorvg/src/loaders/svg/tvgSvgLoader.h | 2 +- .../src/loaders/svg/tvgSvgLoaderCommon.h | 1 + .../src/loaders/svg/tvgSvgSceneBuilder.cpp | 46 +- .../animation/thorvg/src/renderer/config.h | 2 +- .../src/renderer/sw_engine/tvgSwCommon.h | 34 +- .../src/renderer/sw_engine/tvgSwMath.cpp | 8 +- .../renderer/sw_engine/tvgSwPostEffect.cpp | 203 +++++ .../src/renderer/sw_engine/tvgSwRaster.cpp | 404 ++++------ .../src/renderer/sw_engine/tvgSwRasterC.h | 4 +- .../renderer/sw_engine/tvgSwRasterTexmap.h | 15 +- .../src/renderer/sw_engine/tvgSwRenderer.cpp | 175 +++-- .../src/renderer/sw_engine/tvgSwRenderer.h | 14 +- .../src/renderer/sw_engine/tvgSwRle.cpp | 35 +- .../src/renderer/sw_engine/tvgSwStroke.cpp | 34 +- .../tvgFormat.h => renderer/tvgBinaryDesc.h} | 13 +- .../thorvg/src/renderer/tvgCanvas.cpp | 10 +- .../animation/thorvg/src/renderer/tvgCanvas.h | 14 +- .../thorvg/src/renderer/tvgInitializer.cpp | 16 +- .../thorvg/src/renderer/tvgLoadModule.h | 6 +- .../thorvg/src/renderer/tvgLoader.cpp | 12 +- .../animation/thorvg/src/renderer/tvgLoader.h | 4 +- .../thorvg/src/renderer/tvgPaint.cpp | 107 ++- .../animation/thorvg/src/renderer/tvgPaint.h | 16 + .../thorvg/src/renderer/tvgPicture.cpp | 19 +- .../thorvg/src/renderer/tvgPicture.h | 10 +- .../animation/thorvg/src/renderer/tvgRender.h | 81 +- .../thorvg/src/renderer/tvgSaveModule.h | 2 +- .../thorvg/src/renderer/tvgSaver.cpp | 4 +- .../thorvg/src/renderer/tvgScene.cpp | 53 +- .../animation/thorvg/src/renderer/tvgScene.h | 55 +- .../thorvg/src/renderer/tvgShape.cpp | 30 +- .../animation/thorvg/src/renderer/tvgShape.h | 12 +- .../animation/thorvg/src/renderer/tvgText.h | 2 +- .../thorvg/src/renderer/tvgWgCanvas.cpp | 2 +- .../src/main/jni/animation/thorvg_jni.cpp | 6 +- .../src/main/jni/audio/ffmpeg/ffmpeg_jni.cpp | 12 +- .../jni/audio/ffmpeg/to_mp4_audio_jni.cpp | 2 +- .../main/jni/audio/ts/mpegts_demux_jni.cpp | 6 +- .../jni/compress/zstd/dictBuilder/zdict.c | 9 +- .../src/main/jni/compress/zstd/jni_zdict.c | 10 +- libfenrir/src/main/jni/compress/zstd/zdict.h | 3 +- libfenrir/src/main/jni/file_utils_jni.cpp | 18 +- libfenrir/src/main/jni/jni_call.cpp | 8 +- libfenrir/src/main/jni/parcel_jni.cpp | 8 +- libfenrir/src/main/jni/string_exist_jni.cpp | 24 +- .../fenrir/module/BufferWriteNative.kt | 2 +- .../ragnarok/fenrir/module/DispatchQueue.kt | 2 +- .../fenrir/module/rlottie/RLottieDrawable.kt | 6 +- .../fenrir/module/thorvg/ThorVGRender.kt | 4 +- material/build.gradle | 10 +- .../material/animation/MotionTiming.java | 28 +- .../mtrl_fast_out_linear_in.xml | 22 - .../mtrl_fast_out_slow_in.xml | 22 - .../mtrl_linear_out_slow_in.xml | 22 - .../interpolator/mtrl_fast_out_linear_in.xml | 7 +- .../interpolator/mtrl_fast_out_slow_in.xml | 7 +- .../interpolator/mtrl_linear_out_slow_in.xml | 7 +- .../appbar/CollapsingToolbarLayout.java | 11 +- .../design_appbar_state_list_animator.xml | 0 .../m3_appbar_state_list_animator.xml | 0 .../material/appbar/res/values/tokens.xml | 2 +- .../android/material/badge/BadgeUtils.java | 14 +- .../material/badge/res/values-v21/styles.xml | 26 - .../material/badge/res/values/styles.xml | 7 +- .../material/badge/res/values/tokens.xml | 2 +- .../bottomappbar/res/values/tokens.xml | 2 +- .../bottomnavigation/res/values/styles.xml | 4 +- .../bottomnavigation/res/values/tokens.xml | 2 +- .../anim-v21/design_bottom_sheet_slide_in.xml | 29 - .../design_bottom_sheet_slide_out.xml | 29 - .../res/anim-v21/m3_bottom_sheet_slide_in.xml | 29 - .../anim-v21/m3_bottom_sheet_slide_out.xml | 31 - .../anim-v21/mtrl_bottom_sheet_slide_in.xml | 29 - .../anim-v21/mtrl_bottom_sheet_slide_out.xml | 29 - .../res/anim/design_bottom_sheet_slide_in.xml | 2 +- .../anim/design_bottom_sheet_slide_out.xml | 2 +- .../res/anim/m3_bottom_sheet_slide_out.xml | 16 +- .../res/anim/mtrl_bottom_sheet_slide_in.xml | 2 +- .../res/anim/mtrl_bottom_sheet_slide_out.xml | 2 +- .../bottomsheet/res/values-v21/themes.xml | 26 - .../res/values-v21/themes_base.xml | 24 - .../bottomsheet/res/values/themes.xml | 6 +- .../bottomsheet/res/values/themes_base.xml | 7 +- .../bottomsheet/res/values/tokens.xml | 2 +- .../material/button/MaterialButton.java | 4 +- .../button/res/values/button_group_tokens.xml | 2 +- .../button/res/values/icon_btn_tokens.xml | 2 +- .../material/button/res/values/tokens.xml | 2 +- .../material/card/res/values/tokens.xml | 2 +- .../material/carousel/Arrangement.java | 14 +- .../android/material/carousel/Carousel.java | 2 +- .../material/carousel/CarouselStrategy.java | 12 +- .../carousel/FullScreenCarouselStrategy.java | 3 +- .../carousel/HeroCarouselStrategy.java | 5 +- .../material/carousel/KeylineState.java | 26 +- .../material/carousel/KeylineStateList.java | 3 +- .../carousel/MultiBrowseCarouselStrategy.java | 5 +- .../carousel/UncontainedCarouselStrategy.java | 3 +- .../material/checkbox/res/values/tokens.xml | 2 +- .../material/chip/res/values/tokens.xml | 2 +- .../m3_ref_palette_dynamic_neutral12.xml | 2 +- .../m3_ref_palette_dynamic_neutral17.xml | 2 +- .../m3_ref_palette_dynamic_neutral22.xml | 2 +- .../m3_ref_palette_dynamic_neutral24.xml | 2 +- .../m3_ref_palette_dynamic_neutral4.xml | 2 +- .../m3_ref_palette_dynamic_neutral6.xml | 2 +- .../m3_ref_palette_dynamic_neutral87.xml | 2 +- .../m3_ref_palette_dynamic_neutral92.xml | 2 +- .../m3_ref_palette_dynamic_neutral94.xml | 2 +- .../m3_ref_palette_dynamic_neutral96.xml | 2 +- .../m3_ref_palette_dynamic_neutral98.xml | 2 +- ..._ref_palette_dynamic_neutral_variant98.xml | 2 +- .../m3_ref_palette_dynamic_primary98.xml | 2 +- .../m3_ref_palette_dynamic_secondary98.xml | 2 +- .../m3_ref_palette_dynamic_tertiary98.xml | 2 +- .../material/color/res/values-v31/tokens.xml | 2 +- .../material/color/res/values-v34/tokens.xml | 2 +- .../material/color/res/values-v35/tokens.xml | 2 +- .../res/values/extended_palette_tokens.xml | 178 +++++ .../material/color/res/values/tokens.xml | 2 +- .../material/datepicker/MaterialCalendar.java | 4 + .../datepicker/MaterialDatePicker.java | 13 +- .../datepicker/RangeDateSelector.java | 7 + .../datepicker/SingleDateSelector.java | 6 + .../material/datepicker/YearGridAdapter.java | 1 + .../layout/mtrl_picker_header_fullscreen.xml | 1 - .../mtrl_picker_header_selection_text.xml | 3 +- .../datepicker/res/values-af/strings.xml | 2 + .../datepicker/res/values-am/strings.xml | 2 + .../datepicker/res/values-ar/strings.xml | 2 + .../datepicker/res/values-as/strings.xml | 2 + .../datepicker/res/values-az/strings.xml | 2 + .../res/values-b+es+419/strings.xml | 2 + .../res/values-b+sr+Latn/strings.xml | 2 + .../datepicker/res/values-be/strings.xml | 2 + .../datepicker/res/values-bg/strings.xml | 2 + .../datepicker/res/values-bn/strings.xml | 2 + .../datepicker/res/values-bs/strings.xml | 2 + .../datepicker/res/values-ca/strings.xml | 2 + .../datepicker/res/values-cs/strings.xml | 2 + .../datepicker/res/values-da/strings.xml | 2 + .../datepicker/res/values-de/strings.xml | 2 + .../datepicker/res/values-el/strings.xml | 2 + .../datepicker/res/values-en-rGB/strings.xml | 2 + .../datepicker/res/values-es-rUS/strings.xml | 2 + .../datepicker/res/values-es/strings.xml | 2 + .../datepicker/res/values-et/strings.xml | 2 + .../datepicker/res/values-eu/strings.xml | 2 + .../datepicker/res/values-fa/strings.xml | 2 + .../datepicker/res/values-fi/strings.xml | 2 + .../datepicker/res/values-fr-rCA/strings.xml | 2 + .../datepicker/res/values-fr/strings.xml | 2 + .../datepicker/res/values-gl/strings.xml | 2 + .../datepicker/res/values-gu/strings.xml | 2 + .../datepicker/res/values-hi/strings.xml | 2 + .../datepicker/res/values-hr/strings.xml | 2 + .../datepicker/res/values-hu/strings.xml | 2 + .../datepicker/res/values-hy/strings.xml | 2 + .../datepicker/res/values-in/strings.xml | 2 + .../datepicker/res/values-is/strings.xml | 2 + .../datepicker/res/values-it/strings.xml | 2 + .../datepicker/res/values-iw/strings.xml | 2 + .../datepicker/res/values-ja/strings.xml | 2 + .../datepicker/res/values-ka/strings.xml | 2 + .../datepicker/res/values-kk/strings.xml | 2 + .../datepicker/res/values-km/strings.xml | 2 + .../datepicker/res/values-kn/strings.xml | 2 + .../datepicker/res/values-ko/strings.xml | 2 + .../datepicker/res/values-ky/strings.xml | 2 + .../datepicker/res/values-lo/strings.xml | 2 + .../datepicker/res/values-lt/strings.xml | 2 + .../datepicker/res/values-lv/strings.xml | 2 + .../datepicker/res/values-mk/strings.xml | 2 + .../datepicker/res/values-ml/strings.xml | 2 + .../datepicker/res/values-mn/strings.xml | 2 + .../datepicker/res/values-mr/strings.xml | 2 + .../datepicker/res/values-ms/strings.xml | 2 + .../datepicker/res/values-my/strings.xml | 2 + .../datepicker/res/values-nb/strings.xml | 2 + .../datepicker/res/values-ne/strings.xml | 2 + .../datepicker/res/values-nl/strings.xml | 2 + .../datepicker/res/values-or/strings.xml | 2 + .../datepicker/res/values-pa/strings.xml | 2 + .../datepicker/res/values-pl/strings.xml | 2 + .../datepicker/res/values-pt-rBR/strings.xml | 2 + .../datepicker/res/values-pt-rPT/strings.xml | 2 + .../datepicker/res/values-ro/strings.xml | 2 + .../datepicker/res/values-ru/strings.xml | 4 +- .../datepicker/res/values-si/strings.xml | 2 + .../datepicker/res/values-sk/strings.xml | 2 + .../datepicker/res/values-sl/strings.xml | 2 + .../datepicker/res/values-sq/strings.xml | 2 + .../datepicker/res/values-sr/strings.xml | 2 + .../datepicker/res/values-sv/strings.xml | 2 + .../datepicker/res/values-sw/strings.xml | 2 + .../datepicker/res/values-ta/strings.xml | 2 + .../datepicker/res/values-te/strings.xml | 2 + .../datepicker/res/values-th/strings.xml | 2 + .../datepicker/res/values-tl/strings.xml | 2 + .../datepicker/res/values-tr/strings.xml | 2 + .../datepicker/res/values-uk/strings.xml | 2 + .../datepicker/res/values-ur/strings.xml | 2 + .../datepicker/res/values-uz/strings.xml | 2 + .../datepicker/res/values-v21/dimens.xml | 21 - .../datepicker/res/values-v21/styles.xml | 47 -- .../datepicker/res/values-v21/themes.xml | 32 - .../datepicker/res/values-vi/strings.xml | 2 + .../datepicker/res/values-zh-rCN/strings.xml | 2 + .../datepicker/res/values-zh-rHK/strings.xml | 2 + .../datepicker/res/values-zh-rTW/strings.xml | 2 + .../datepicker/res/values-zu/strings.xml | 2 + .../material/datepicker/res/values/dimens.xml | 4 - .../datepicker/res/values/strings.xml | 2 + .../material/datepicker/res/values/styles.xml | 15 + .../material/datepicker/res/values/themes.xml | 15 +- .../material/datepicker/res/values/tokens.xml | 2 +- .../material/dialog/res/values-v21/styles.xml | 20 - .../dialog/res/values-v21/themes_base.xml | 36 - .../dialog/res/values-v21/themes_overlay.xml | 56 -- .../material/dialog/res/values/styles.xml | 2 +- .../dialog/res/values/themes_base.xml | 16 +- .../dialog/res/values/themes_overlay.xml | 40 +- .../material/dialog/res/values/tokens.xml | 2 +- .../material/divider/res/values/tokens.xml | 2 +- .../material/elevation/res/values/tokens.xml | 2 +- .../ClippableRoundedCornerLayout.java | 31 +- .../internal/CollapsingTextHelper.java | 122 ++- .../internal/StaticLayoutBuilderCompat.java | 12 +- .../res/values-af/strings.xml} | 4 +- .../res/values-am/strings.xml} | 8 +- .../res/values-ar/strings.xml | 19 + .../res/values-as/strings.xml} | 10 +- .../res/values-az/strings.xml | 19 + .../res/values-b+es+419/strings.xml | 19 + .../res/values-b+sr+Latn/strings.xml | 19 + .../res/values-be/strings.xml | 19 + .../res/values-bg/strings.xml | 19 + .../res/values-bn/strings.xml | 19 + .../res/values-bs/strings.xml | 19 + .../res/values-ca/strings.xml | 19 + .../res/values-cs/strings.xml | 19 + .../res/values-da/strings.xml | 19 + .../res/values-de/strings.xml | 19 + .../res/values-el/strings.xml | 19 + .../res/values-en-rGB/strings.xml} | 8 +- .../res/values-es-rUS/strings.xml | 19 + .../res/values-es/strings.xml | 19 + .../res/values-et/strings.xml | 19 + .../res/values-eu/strings.xml | 19 + .../res/values-fa/strings.xml | 19 + .../res/values-fi/strings.xml | 19 + .../res/values-fr-rCA/strings.xml | 19 + .../res/values-fr/strings.xml | 19 + .../res/values-gl/strings.xml | 19 + .../res/values-gu/strings.xml | 19 + .../res/values-hi/strings.xml | 19 + .../res/values-hr/strings.xml | 19 + .../res/values-hu/strings.xml | 19 + .../res/values-hy/strings.xml | 19 + .../res/values-in/strings.xml | 19 + .../res/values-is/strings.xml | 19 + .../res/values-it/strings.xml | 19 + .../res/values-iw/strings.xml | 19 + .../res/values-ja/strings.xml | 19 + .../res/values-ka/strings.xml | 19 + .../res/values-kk/strings.xml | 19 + .../res/values-km/strings.xml | 19 + .../res/values-kn/strings.xml | 19 + .../res/values-ko/strings.xml | 19 + .../res/values-ky/strings.xml | 19 + .../res/values-lo/strings.xml | 19 + .../res/values-lt/strings.xml | 19 + .../res/values-lv/strings.xml | 19 + .../res/values-mk/strings.xml | 19 + .../res/values-ml/strings.xml | 19 + .../res/values-mn/strings.xml | 19 + .../res/values-mr/strings.xml | 19 + .../res/values-ms/strings.xml | 19 + .../res/values-my/strings.xml | 19 + .../res/values-nb/strings.xml | 19 + .../res/values-ne/strings.xml | 19 + .../res/values-nl/strings.xml | 19 + .../res/values-or/strings.xml | 19 + .../res/values-pa/strings.xml | 19 + .../res/values-pl/strings.xml | 19 + .../res/values-pt-rBR/strings.xml | 19 + .../res/values-pt-rPT/strings.xml | 19 + .../res/values-ro/strings.xml | 19 + .../res/values-ru/strings.xml | 19 + .../res/values-si/strings.xml | 19 + .../res/values-sk/strings.xml | 19 + .../res/values-sl/strings.xml | 19 + .../res/values-sq/strings.xml | 19 + .../res/values-sr/strings.xml | 19 + .../res/values-sv/strings.xml | 19 + .../res/values-sw/strings.xml | 19 + .../res/values-ta/strings.xml | 19 + .../res/values-te/strings.xml | 19 + .../res/values-th/strings.xml | 19 + .../res/values-tl/strings.xml | 19 + .../res/values-tr/strings.xml | 19 + .../res/values-uk/strings.xml | 19 + .../res/values-ur/strings.xml | 19 + .../res/values-uz/strings.xml | 19 + .../res/values-vi/strings.xml | 19 + .../res/values-zh-rCN/strings.xml | 19 + .../res/values-zh-rHK/strings.xml | 19 + .../res/values-zh-rTW/strings.xml | 19 + .../res/values-zu/strings.xml | 19 + .../loadingindicator/res/values/tokens.xml | 2 +- .../materialswitch/res/values/tokens.xml | 2 +- .../material/menu/res/values-v21/styles.xml | 40 - .../material/menu/res/values/styles.xml | 20 +- .../material/menu/res/values/tokens.xml | 2 +- .../MaterialBottomContainerBackHelper.java | 5 + .../MaterialMainContainerBackHelper.java | 101 ++- .../MaterialSideContainerBackHelper.java | 12 +- .../m3_sys_motion_easing_emphasized.xml | 19 - ...ys_motion_easing_emphasized_accelerate.xml | 22 - ...ys_motion_easing_emphasized_decelerate.xml | 22 - .../m3_sys_motion_easing_linear.xml | 22 - .../m3_sys_motion_easing_standard.xml | 22 - ..._sys_motion_easing_standard_accelerate.xml | 22 - ..._sys_motion_easing_standard_decelerate.xml | 22 - .../m3_sys_motion_easing_emphasized.xml | 3 +- ...ys_motion_easing_emphasized_accelerate.xml | 6 +- ...ys_motion_easing_emphasized_decelerate.xml | 6 +- .../m3_sys_motion_easing_linear.xml | 6 +- .../m3_sys_motion_easing_standard.xml | 6 +- ..._sys_motion_easing_standard_accelerate.xml | 6 +- ..._sys_motion_easing_standard_decelerate.xml | 6 +- .../material/motion/res/values/tokens.xml | 2 +- .../navigation/NavigationBarItemView.java | 254 ++++--- .../navigation/NavigationBarMenu.java | 4 + .../navigation/NavigationBarMenuView.java | 4 + .../NavigationBarSubheaderView.java | 20 + .../navigation/NavigationBarView.java | 40 +- .../mtrl_navigation_bar_item_background.xml | 14 +- .../layout/m3_navigation_menu_subheader.xml | 1 - .../material/navigation/res/values/dimens.xml | 3 + .../material/navigation/res/values/tokens.xml | 2 +- .../NavigationRailFrameLayout.java | 105 +++ .../NavigationRailMenuView.java | 5 - .../navigationrail/NavigationRailView.java | 99 ++- .../res-public/values/public.xml | 1 + .../navigationrail/res/values/attrs.xml | 2 + .../navigationrail/res/values/tokens.xml | 2 +- .../progressindicator/res/values/tokens.xml | 2 +- .../radiobutton/res/values/tokens.xml | 2 +- .../resources/res/values-v21/dimens.xml | 49 -- .../resources/res/values-v21/tokens.xml | 2 +- .../resources/res/values-v28/tokens.xml | 2 +- .../material/resources/res/values/dimens.xml | 36 +- .../material/resources/res/values/tokens.xml | 2 +- .../android/material/search/SearchBar.java | 35 - .../android/material/search/SearchView.java | 7 +- .../search/SearchViewAnimationHelper.java | 44 +- .../material/search/res/values/tokens.xml | 2 +- .../material/shape/MaterialShapes.java | 719 +++++++----------- .../material/shape/res/values/tokens.xml | 2 +- .../m3_side_sheet_enter_from_left.xml | 25 - .../m3_side_sheet_enter_from_right.xml | 25 - .../anim-v21/m3_side_sheet_exit_to_left.xml | 25 - .../anim-v21/m3_side_sheet_exit_to_right.xml | 25 - .../anim/m3_side_sheet_enter_from_left.xml | 6 +- .../anim/m3_side_sheet_enter_from_right.xml | 6 +- .../res/anim/m3_side_sheet_exit_to_left.xml | 2 +- .../res/anim/m3_side_sheet_exit_to_right.xml | 7 +- .../sidesheet/res/values-v21/themes_base.xml | 24 - .../sidesheet/res/values/themes_base.xml | 7 +- .../material/sidesheet/res/values/tokens.xml | 2 +- .../android/material/slider/BaseSlider.java | 80 +- .../material/slider/res/values/styles.xml | 4 +- .../material/slider/res/values/tokens.xml | 2 +- .../android/material/snackbar/Snackbar.java | 10 +- .../material/snackbar/res/values/tokens.xml | 2 +- .../m3_tabs_background.xml | 0 .../material/tabs/res/values-v21/styles.xml | 30 - .../material/tabs/res/values/styles.xml | 11 +- .../material/tabs/res/values/tokens.xml | 2 +- .../material/textfield/EndCompoundLayout.java | 1 + .../material/textfield/TextInputLayout.java | 131 +++- .../textfield/res-public/values/public.xml | 1 + .../textfield/res/values-v21/styles.xml | 22 - .../material/textfield/res/values/attrs.xml | 2 + .../material/textfield/res/values/dimens.xml | 3 +- .../material/textfield/res/values/styles.xml | 4 +- .../res/values/tokens_dropdown_menu.xml | 2 +- .../textfield/res/values/tokens_textfield.xml | 2 +- .../theme/res/values-v21/themes_base.xml | 37 - .../material/theme/res/values/themes_base.xml | 16 +- .../TimePickerTextInputPresenter.java | 22 + .../drawable-v21/material_cursor_drawable.xml | 24 - .../res/drawable/material_cursor_drawable.xml | 2 +- .../material/timepicker/res/values/tokens.xml | 2 +- .../material/tooltip/res/values/tokens.xml | 2 +- .../material/typography/res/values/tokens.xml | 2 +- .../android_studio_inspect/Deprecated.xml | 21 + other_tool/android_studio_inspect/Inspect.xml | 5 + .../JoinDeclarationAssigment.xml | 25 +- other_tool/camera_src.txt | 10 +- .../build.gradle | 37 +- .../getter_setter-idea-plugin-1.0-base.jar | Bin 0 -> 7477 bytes .../getter_setter-idea-plugin-1.0.zip | Bin 1626267 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../getter_setter_plugin/CaseAction.kt | 2 +- .../GetterSetterFixAction.kt | 2 +- picasso3/build.gradle | 6 +- .../com/squareup/picasso3/BaseDispatcher.kt | 17 +- .../squareup/picasso3/HandlerDispatcher.kt | 2 +- .../picasso3/InternalCoroutineDispatcher.kt | 4 +- .../kotlin/com/squareup/picasso3/Picasso.kt | 3 +- .../kotlin/com/squareup/picasso3/Utils.kt | 6 +- preference/build.gradle | 10 +- .../preferences/CustomTextPreference.kt | 1 - .../preferences/EditTextPreference.kt | 1 - .../MultiLineEditTextPreference.kt | 5 +- .../SeparatorSpaceTextPreference.kt | 5 +- recyclerview/build.gradle | 8 +- .../recyclerview/widget/AdapterHelper.java | 52 +- .../recyclerview/widget/AsyncListUtil.java | 8 +- .../recyclerview/widget/ConcatAdapter.java | 18 +- .../recyclerview/widget/DiffUtil.java | 32 +- .../recyclerview/widget/GapWorker.java | 2 +- .../widget/GridLayoutManager.java | 13 +- .../recyclerview/widget/ItemTouchHelper.java | 4 +- .../widget/LinearLayoutManager.java | 12 +- .../recyclerview/widget/LinearSnapHelper.java | 4 +- .../widget/MessageThreadUtil.java | 4 +- .../widget/OrientationHelper.java | 12 +- .../recyclerview/widget/PagerSnapHelper.java | 4 +- .../recyclerview/widget/RecyclerView.java | 157 ++-- .../RecyclerViewAccessibilityDelegate.java | 3 +- .../widget/StaggeredGridLayoutManager.java | 3 +- .../widget/AnimateLayoutChangeDetector.java | 8 +- .../viewpager2/widget/ScrollEventAdapter.java | 3 +- .../viewpager2/widget/ViewPager2.java | 7 +- 908 files changed, 7603 insertions(+), 7628 deletions(-) rename app_fenrir/src/fenrir/res/{drawable-v24 => drawable}/ic_launcher_foreground.xml (100%) rename app_fenrir/src/fenrir/res/{drawable-v24 => drawable}/ic_launcher_monochrome.xml (100%) rename app_fenrir/src/fenrir/res/{drawable-v24 => drawable}/splash.xml (100%) delete mode 100644 app_fenrir/src/fenrir/res/mipmap-hdpi/ic_launcher.png delete mode 100644 app_fenrir/src/fenrir/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 app_fenrir/src/fenrir/res/mipmap-mdpi/ic_launcher.png delete mode 100644 app_fenrir/src/fenrir/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 app_fenrir/src/fenrir/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 app_fenrir/src/fenrir/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 app_fenrir/src/fenrir/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 app_fenrir/src/fenrir/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 app_fenrir/src/fenrir/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 app_fenrir/src/fenrir/res/mipmap-xxxhdpi/ic_launcher_round.png rename app_fenrir/src/kate/res/{drawable-v24 => drawable}/ic_launcher_foreground.xml (100%) rename app_fenrir/src/kate/res/{drawable-v24 => drawable}/ic_launcher_monochrome.xml (100%) rename app_fenrir/src/kate/res/{drawable-v24 => drawable}/splash.xml (100%) delete mode 100644 app_fenrir/src/kate/res/mipmap-hdpi/ic_launcher.png delete mode 100644 app_fenrir/src/kate/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 app_fenrir/src/kate/res/mipmap-mdpi/ic_launcher.png delete mode 100644 app_fenrir/src/kate/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 app_fenrir/src/kate/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 app_fenrir/src/kate/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 app_fenrir/src/kate/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 app_fenrir/src/kate/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 app_fenrir/src/kate/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 app_fenrir/src/kate/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 app_fenrir/src/main/kotlin/dev/ragnarok/fenrir/activity/QuickAnswerActivity.kt delete mode 100644 app_fenrir/src/main/kotlin/dev/ragnarok/fenrir/dialog/DialogNotifOptionsDialog.kt delete mode 100644 app_fenrir/src/main/kotlin/dev/ragnarok/fenrir/fragment/NotificationPreferencesFragment.kt create mode 100644 app_fenrir/src/main/kotlin/dev/ragnarok/fenrir/view/LinkCoverView.kt delete mode 100644 app_fenrir/src/main/res/drawable-v23/background_splash.xml delete mode 100644 app_fenrir/src/main/res/drawable-v24/album.xml delete mode 100644 app_fenrir/src/main/res/drawable-v24/for_qr.xml delete mode 100644 app_fenrir/src/main/res/drawable-v24/ic_favorites_ellipse.xml delete mode 100644 app_fenrir/src/main/res/drawable-v24/ic_favorites_round.xml delete mode 100644 app_fenrir/src/main/res/drawable-v24/is_friend.xml rename app_fenrir/src/main/res/{drawable-v24 => drawable}/ic_fenrir_black.xml (100%) rename app_fenrir/src/main/res/{drawable-v24 => drawable}/ic_fenrir_blue.xml (100%) rename app_fenrir/src/main/res/{drawable-v24 => drawable}/ic_fenrir_dynamic2_monochrome.xml (100%) rename app_fenrir/src/main/res/{drawable-v24 => drawable}/ic_fenrir_green.xml (100%) rename app_fenrir/src/main/res/{drawable-v24 => drawable}/ic_fenrir_lineage.xml (100%) rename app_fenrir/src/main/res/{drawable-v24 => drawable}/ic_fenrir_red.xml (100%) rename app_fenrir/src/main/res/{drawable-v24 => drawable}/ic_fenrir_violet.xml (100%) rename app_fenrir/src/main/res/{drawable-v24 => drawable}/ic_fenrir_white.xml (100%) rename app_fenrir/src/main/res/{drawable-v24 => drawable}/ic_fenrir_yellow.xml (100%) rename app_fenrir/src/main/res/{drawable-v24 => drawable}/ic_logo_vk_monochrome.xml (100%) rename app_fenrir/src/main/res/{drawable-v24 => drawable}/ic_valknut_dynamic_monochrome.xml (100%) delete mode 100644 app_fenrir/src/main/res/drawable/pause_disabled.xml delete mode 100644 app_fenrir/src/main/res/layout/activity_quick_answer.xml delete mode 100644 app_fenrir/src/main/res/layout/dialog_dialog_options.xml rename app_fenrir/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/fenrir_black.xml (100%) rename app_fenrir/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/fenrir_blue.xml (100%) rename app_fenrir/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/fenrir_green.xml (100%) rename app_fenrir/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/fenrir_lineage.xml (100%) rename app_fenrir/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/fenrir_red.xml (100%) rename app_fenrir/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/fenrir_violet.xml (100%) rename app_fenrir/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/fenrir_white.xml (100%) rename app_fenrir/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/fenrir_yellow.xml (100%) rename app_fenrir/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/ic_launcher.xml (100%) rename app_fenrir/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/ic_launcher_round.xml (100%) rename app_fenrir/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/vk_official.xml (100%) delete mode 100644 app_fenrir/src/main/res/values-night-v23/styles.xml delete mode 100644 app_fenrir/src/main/res/values-v23/styles.xml delete mode 100644 app_filegallery/src/main/res/drawable-v23/background_splash.xml delete mode 100644 app_filegallery/src/main/res/drawable-v24/splash.xml rename app_filegallery/src/main/res/{drawable-v24 => drawable}/ic_launcher_foreground.xml (100%) rename app_filegallery/src/main/res/{drawable-v24 => drawable}/ic_launcher_monochrome.xml (100%) rename app_filegallery/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/ic_launcher.xml (100%) rename app_filegallery/src/main/res/{mipmap-anydpi-v26 => mipmap-anydpi}/ic_launcher_round.xml (100%) delete mode 100644 app_filegallery/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 app_filegallery/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 app_filegallery/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 app_filegallery/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 app_filegallery/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 app_filegallery/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 app_filegallery/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 app_filegallery/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 app_filegallery/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 app_filegallery/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 app_filegallery/src/main/res/values-night-v23/styles.xml delete mode 100644 app_filegallery/src/main/res/values-v23/styles.xml create mode 100644 camera2/src/main/java/androidx/camera/camera2/internal/compat/params/CaptureRequestParameterCompat.kt create mode 100644 camera2/src/main/java/androidx/camera/core/imagecapture/CameraCapturePipeline.kt create mode 100644 camera2/src/main/java/androidx/camera/view/impl/ZoomGestureDetector.kt create mode 100644 libfenrir/src/main/jni/animation/libyuv/include/libyuv/cpu_support.h create mode 100644 libfenrir/src/main/jni/animation/thorvg/src/renderer/sw_engine/tvgSwPostEffect.cpp rename libfenrir/src/main/jni/animation/thorvg/src/{common/tvgFormat.h => renderer/tvgBinaryDesc.h} (93%) delete mode 100644 material/java/com/google/android/material/animation/res/interpolator-v21/mtrl_fast_out_linear_in.xml delete mode 100644 material/java/com/google/android/material/animation/res/interpolator-v21/mtrl_fast_out_slow_in.xml delete mode 100644 material/java/com/google/android/material/animation/res/interpolator-v21/mtrl_linear_out_slow_in.xml rename material/java/com/google/android/material/appbar/res/{animator-v21 => animator}/design_appbar_state_list_animator.xml (100%) rename material/java/com/google/android/material/appbar/res/{animator-v21 => animator}/m3_appbar_state_list_animator.xml (100%) delete mode 100644 material/java/com/google/android/material/badge/res/values-v21/styles.xml delete mode 100644 material/java/com/google/android/material/bottomsheet/res/anim-v21/design_bottom_sheet_slide_in.xml delete mode 100644 material/java/com/google/android/material/bottomsheet/res/anim-v21/design_bottom_sheet_slide_out.xml delete mode 100644 material/java/com/google/android/material/bottomsheet/res/anim-v21/m3_bottom_sheet_slide_in.xml delete mode 100644 material/java/com/google/android/material/bottomsheet/res/anim-v21/m3_bottom_sheet_slide_out.xml delete mode 100644 material/java/com/google/android/material/bottomsheet/res/anim-v21/mtrl_bottom_sheet_slide_in.xml delete mode 100644 material/java/com/google/android/material/bottomsheet/res/anim-v21/mtrl_bottom_sheet_slide_out.xml delete mode 100644 material/java/com/google/android/material/bottomsheet/res/values-v21/themes.xml delete mode 100644 material/java/com/google/android/material/bottomsheet/res/values-v21/themes_base.xml create mode 100644 material/java/com/google/android/material/color/res/values/extended_palette_tokens.xml delete mode 100644 material/java/com/google/android/material/datepicker/res/values-v21/dimens.xml delete mode 100644 material/java/com/google/android/material/datepicker/res/values-v21/styles.xml delete mode 100644 material/java/com/google/android/material/datepicker/res/values-v21/themes.xml delete mode 100644 material/java/com/google/android/material/dialog/res/values-v21/styles.xml delete mode 100644 material/java/com/google/android/material/dialog/res/values-v21/themes_base.xml delete mode 100644 material/java/com/google/android/material/dialog/res/values-v21/themes_overlay.xml rename material/java/com/google/android/material/{bottomnavigation/res/values-v21/styles.xml => loadingindicator/res/values-af/strings.xml} (79%) rename material/java/com/google/android/material/{slider/res/values-v21/styles.xml => loadingindicator/res/values-am/strings.xml} (73%) create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ar/strings.xml rename material/java/com/google/android/material/{navigation/res/drawable-v21/mtrl_navigation_bar_item_background.xml => loadingindicator/res/values-as/strings.xml} (78%) create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-az/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-b+es+419/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-b+sr+Latn/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-be/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-bg/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-bn/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-bs/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ca/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-cs/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-da/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-de/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-el/strings.xml rename material/java/com/google/android/material/{textfield/res/values-v21/dimens.xml => loadingindicator/res/values-en-rGB/strings.xml} (75%) create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-es-rUS/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-es/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-et/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-eu/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-fa/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-fi/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-fr-rCA/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-fr/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-gl/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-gu/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-hi/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-hr/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-hu/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-hy/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-in/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-is/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-it/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-iw/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ja/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ka/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-kk/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-km/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-kn/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ko/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ky/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-lo/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-lt/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-lv/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-mk/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ml/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-mn/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-mr/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ms/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-my/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-nb/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ne/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-nl/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-or/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-pa/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-pl/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-pt-rBR/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-pt-rPT/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ro/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ru/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-si/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-sk/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-sl/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-sq/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-sr/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-sv/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-sw/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ta/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-te/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-th/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-tl/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-tr/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-uk/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-ur/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-uz/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-vi/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-zh-rCN/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-zh-rHK/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-zh-rTW/strings.xml create mode 100644 material/java/com/google/android/material/loadingindicator/res/values-zu/strings.xml delete mode 100644 material/java/com/google/android/material/menu/res/values-v21/styles.xml delete mode 100644 material/java/com/google/android/material/motion/res/interpolator-v21/m3_sys_motion_easing_emphasized.xml delete mode 100644 material/java/com/google/android/material/motion/res/interpolator-v21/m3_sys_motion_easing_emphasized_accelerate.xml delete mode 100644 material/java/com/google/android/material/motion/res/interpolator-v21/m3_sys_motion_easing_emphasized_decelerate.xml delete mode 100644 material/java/com/google/android/material/motion/res/interpolator-v21/m3_sys_motion_easing_linear.xml delete mode 100644 material/java/com/google/android/material/motion/res/interpolator-v21/m3_sys_motion_easing_standard.xml delete mode 100644 material/java/com/google/android/material/motion/res/interpolator-v21/m3_sys_motion_easing_standard_accelerate.xml delete mode 100644 material/java/com/google/android/material/motion/res/interpolator-v21/m3_sys_motion_easing_standard_decelerate.xml create mode 100644 material/java/com/google/android/material/navigationrail/NavigationRailFrameLayout.java delete mode 100644 material/java/com/google/android/material/resources/res/values-v21/dimens.xml delete mode 100644 material/java/com/google/android/material/sidesheet/res/anim-v21/m3_side_sheet_enter_from_left.xml delete mode 100644 material/java/com/google/android/material/sidesheet/res/anim-v21/m3_side_sheet_enter_from_right.xml delete mode 100644 material/java/com/google/android/material/sidesheet/res/anim-v21/m3_side_sheet_exit_to_left.xml delete mode 100644 material/java/com/google/android/material/sidesheet/res/anim-v21/m3_side_sheet_exit_to_right.xml delete mode 100644 material/java/com/google/android/material/sidesheet/res/values-v21/themes_base.xml rename material/java/com/google/android/material/tabs/res/{drawable-v21 => drawable}/m3_tabs_background.xml (100%) delete mode 100644 material/java/com/google/android/material/tabs/res/values-v21/styles.xml delete mode 100644 material/java/com/google/android/material/textfield/res/values-v21/styles.xml delete mode 100644 material/java/com/google/android/material/theme/res/values-v21/themes_base.xml delete mode 100644 material/java/com/google/android/material/timepicker/res/drawable-v21/material_cursor_drawable.xml create mode 100644 other_tool/getter-setter-fix-plugin-gradle/getter_setter-idea-plugin-1.0-base.jar delete mode 100644 other_tool/getter-setter-fix-plugin-gradle/getter_setter-idea-plugin-1.0.zip diff --git a/app_fenrir/build.gradle b/app_fenrir/build.gradle index c97fda905..701245674 100644 --- a/app_fenrir/build.gradle +++ b/app_fenrir/build.gradle @@ -40,7 +40,7 @@ android { buildConfigField("String", "SERVICE_TOKEN", asStringVar(vk_service_token)) buildConfigField("String", "FAKE_ABI", asStringVar(fake_abi)) buildConfigField("String", "FAKE_DEVICE", asStringVar(fake_device)) - buildConfigField("boolean", "MANAGE_SCOPED_STORAGE", "true") + buildConfigField("Integer", "TARGET_SDK", appTargetSDK.toString()) buildConfigField("boolean", "FORCE_DEVELOPER_MODE", is_developer_build ? "true" : "false") ndk { @@ -56,16 +56,13 @@ android { } compileOptions { - // Flag to enable support for the new language APIs - coreLibraryDesugaringEnabled = appMinSDK < 26 - - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 encoding = "utf-8" } kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "21" freeCompilerArgs = ["-opt-in=kotlin.contracts.ExperimentalContracts", "-opt-in=kotlinx.serialization.ExperimentalSerializationApi", "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", @@ -110,7 +107,7 @@ static def asStringVar(String str) { } dependencies { - implementation fileTree(include: "*.aar", dir: "../compiled_native") + implementation fileTree('../compiled_native') { include '*.aar' } implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version") implementation("org.jetbrains.kotlin:kotlin-parcelize-runtime:$kotlin_version") implementation("org.jetbrains.kotlin:kotlin-android-extensions-runtime:$kotlin_version") @@ -118,7 +115,6 @@ dependencies { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines") compileOnly("org.jetbrains.kotlin:kotlin-annotations-jvm:$kotlin_version") implementation("com.google.guava:guava:$guavaVersion") - coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:$desugarLibraryVersion") implementation("androidx.core:core-ktx:$coreVersion") implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion") @@ -136,15 +132,15 @@ dependencies { implementation("com.google.firebase:firebase-messaging:$firebaseMessagingVersion") { exclude group: "com.google.firebase", module: "firebase-installations" } - //implementation project(path: ":libfenrir") - implementation project(path: ":fenrir_common") - implementation project(path: ":firebase-installations") - implementation project(path: ":picasso3") - implementation project(path: ":image") - implementation project(path: ":recyclerview") - implementation project(path: ":material") - implementation project(path: ":preference") - implementation project(path: ":camera2") + //implementation project(":libfenrir") + implementation project(":fenrir_common") + implementation project(":firebase-installations") + implementation project(":picasso3") + implementation project(":image") + implementation project(":recyclerview") + implementation project(":material") + implementation project(":preference") + implementation project(":camera2") implementation("com.squareup.okhttp3:okhttp-android:$okhttpLibraryVersion") //implementation("com.squareup.okhttp3:logging-interceptor:$okhttpLibraryVersion") implementation("com.squareup.okio:okio:$okioVersion") diff --git a/app_fenrir/src/fenrir/res/drawable-v24/ic_launcher_foreground.xml b/app_fenrir/src/fenrir/res/drawable/ic_launcher_foreground.xml similarity index 100% rename from app_fenrir/src/fenrir/res/drawable-v24/ic_launcher_foreground.xml rename to app_fenrir/src/fenrir/res/drawable/ic_launcher_foreground.xml diff --git a/app_fenrir/src/fenrir/res/drawable-v24/ic_launcher_monochrome.xml b/app_fenrir/src/fenrir/res/drawable/ic_launcher_monochrome.xml similarity index 100% rename from app_fenrir/src/fenrir/res/drawable-v24/ic_launcher_monochrome.xml rename to app_fenrir/src/fenrir/res/drawable/ic_launcher_monochrome.xml diff --git a/app_fenrir/src/fenrir/res/drawable-v24/splash.xml b/app_fenrir/src/fenrir/res/drawable/splash.xml similarity index 100% rename from app_fenrir/src/fenrir/res/drawable-v24/splash.xml rename to app_fenrir/src/fenrir/res/drawable/splash.xml diff --git a/app_fenrir/src/fenrir/res/mipmap-hdpi/ic_launcher.png b/app_fenrir/src/fenrir/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 5f952918b2552f1de55cb55ec8632979055421a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5292 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 r83sIuoa%jiA}81=L6q#1zqJxk=Up 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 diff --git a/app_fenrir/src/fenrir/res/mipmap-mdpi/ic_launcher_round.png b/app_fenrir/src/fenrir/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 604aee240f321606bede17dbd308878b4ad958fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3324 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 R6`TM7002ovPDHLkV1k}id)NQ~ diff --git a/app_fenrir/src/fenrir/res/mipmap-xhdpi/ic_launcher_round.png b/app_fenrir/src/fenrir/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 5cf9b007a98ddde646ada12fa81cd702e4d88070..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8847 zcmV;AB5>V_P)>;+rQ zSFyzw6vc{S`C2H_M7Wm=x1P2$^ZjFX&pEdt$T?S^*Xyu{J$rX&KF>2xn`dSPeM>U< z=-^XKE-(Zb1&jqo10#TXDP?~tWv!GlDTIg%A)*N33VSaMXpHfVF&Se_N^9M&wcez) zZUoi=tAG{2GT;;7Q^4Pbwv~-UA3P)MSl12@1atOY&*-UMC+ z-U2psxz42zm{Cp!IKfdBo!cEa6gUVAdUY>y7rh*NBh$-K5R8}}s2R(Qe*;ed zi;I5isUKfya_9`wSm0vdbu1Xg9|h#FqeD>uzMLN&Jj)NBt$MiT^`OmTi~1obFykvp zp{faKCU7s%PUp^rfR`U^A-07nAw!DKw+DTgxrKgyCCDxMJ{x$7?x6Q1Y2^dH82qhg zMAwm7eD0~BZ$0(-OCw1^-An}Tr@K`3g<9zmY&SWe=(lZVLT`PzKjRiOU1-J}|99hsjM(;(Q2Yt)lnMHJ5e4Dc`ps~Q;fLXzLwLOj5E)o)q#;Y8}=#y?CRyP)v+Ju{^qjlK=Ry=eL#wajmd!JO? z$LE0WV&jVtlWn3eGJL`Z9S$tQf*(qJ--9m%Lb_ly(v30vsNWH(8$~X)5hEqJ_691( z>`Ud?nP3b;Zg&$M3L|0`7K6is|8KKh*j5IF;GYLP3iQWHgiGH9bpZ*GP9XILqkV+q zG31DAi4UKGpJ@R%0zzPHn6;k zZBR#B%Yd%n`*aVu%1eQcM=OLEr()bpDkmIFV&q