From 343b2cf9d74dec08d2d4abae5a830dd38685cb66 Mon Sep 17 00:00:00 2001 From: Ammar Githam Date: Sat, 2 Jan 2021 11:54:32 +0900 Subject: [PATCH 01/59] Update DM module. (WIP) Remove left over images DM update (WIP) Update DM module. (WIP) Update DM module. (WIP) --- .idea/jarRepositories.xml | 5 + app/build.gradle | 23 +- app/proguard-rules.pro | 5 +- app/src/main/AndroidManifest.xml | 26 +- .../instagrabber/InstaGrabberApplication.java | 16 +- .../activities/CameraActivity.java | 276 + .../instagrabber/activities/MainActivity.java | 58 + .../adapters/DirectItemsAdapter.java | 329 ++ .../adapters/DirectMessageInboxAdapter.java | 52 +- .../adapters/DirectMessageItemsAdapter.java | 152 - .../adapters/DirectMessageMembersAdapter.java | 8 +- .../instagrabber/adapters/FiltersAdapter.java | 94 + .../adapters/MediaItemsAdapter.java | 111 + .../adapters/PostsMediaAdapter.java | 114 +- .../viewholder/DirectInboxItemViewHolder.java | 353 ++ .../DirectMessageInboxItemViewHolder.java | 132 - .../adapters/viewholder/FilterViewHolder.java | 72 + .../viewholder/PostMediaViewHolder.java | 58 +- .../DirectItemActionLogViewHolder.java | 72 + .../DirectItemAnimatedMediaViewHolder.java | 71 + .../DirectItemDefaultViewHolder.java | 36 + .../DirectItemLikeViewHolder.java | 33 + .../DirectItemLinkViewHolder.java | 71 + .../DirectItemMediaShareViewHolder.java | 139 + .../DirectItemMediaViewHolder.java | 86 + .../DirectItemPlaceholderViewHolder.java | 34 + .../DirectItemProfileViewHolder.java | 115 + .../DirectItemRavenMediaViewHolder.java | 197 + .../DirectItemReelShareViewHolder.java | 180 + .../DirectItemStoryShareViewHolder.java | 112 + .../DirectItemTextViewHolder.java | 44 + .../DirectItemVideoCallEventViewHolder.java | 65 + .../directmessages/DirectItemViewHolder.java | 322 ++ .../DirectItemVoiceMediaViewHolder.java | 189 + .../DirectMessageActionLogViewHolder.java | 32 - .../DirectMessageAnimatedMediaViewHolder.java | 57 - .../DirectMessageDefaultViewHolder.java | 30 - .../DirectMessageItemViewHolder.java | 100 - .../DirectMessageLinkViewHolder.java | 46 - .../DirectMessageMediaShareViewHolder.java | 64 - .../DirectMessageMediaViewHolder.java | 52 - .../DirectMessagePlaceholderViewHolder.java | 30 - .../DirectMessageProfileViewHolder.java | 35 - .../DirectMessageRavenMediaViewHolder.java | 104 - .../DirectMessageReelShareViewHolder.java | 67 - .../DirectMessageStoryShareViewHolder.java | 67 - .../DirectMessageTextViewHolder.java | 43 - ...DirectMessageVideoCallEventViewHolder.java | 29 - .../DirectMessageVoiceMediaViewHolder.java | 77 - .../viewholder/feed/FeedVideoViewHolder.java | 19 - .../animations/CubicBezierInterpolator.java | 74 + .../animations/ScaleAnimation.java | 45 + .../instagrabber/asyncs/ImageUploader.java | 176 - .../DirectMessageInboxThreadFetcher.java | 88 - .../DirectThreadBroadcaster.java | 378 +- .../asyncs/direct_messages/InboxFetcher.java | 117 - .../DMRefreshBroadcastReceiver.java | 27 + .../customviews/ChatMessageLayout.java | 155 + .../KeyNotifyingEmojiEditText.java | 44 + .../instagrabber/customviews/PopupDialog.java | 55 + .../customviews/PostsRecyclerView.java | 6 +- .../customviews/ProfilePicView.java | 6 + .../customviews/RecordButton.java | 116 + .../instagrabber/customviews/RecordView.java | 352 ++ .../customviews/SquareImageView.java | 26 + .../instagrabber/customviews/Tooltip.java | 118 + .../instagrabber/customviews/emoji/Emoji.java | 65 + .../customviews/emoji/EmojiCategory.java | 74 + .../emoji/EmojiCategoryPageViewHolder.java | 44 + .../customviews/emoji/EmojiCategoryType.java | 43 + .../customviews/emoji/EmojiGridAdapter.java | 143 + .../customviews/emoji/EmojiPicker.java | 118 + .../emoji/EmojiPickerPageAdapter.java | 78 + .../customviews/emoji/EmojiPopupWindow.java | 163 + .../emoji/EmojiVariantManager.java | 66 + .../customviews/emoji/EmojiVariantPopup.java | 159 + .../emoji/GoogleCompatEmojiDrawable.java | 99 + .../helpers/HeaderItemDecoration.java | 199 + .../customviews/helpers/HeightProvider.java | 66 + .../helpers/RecordViewAnimationHelper.java | 205 + ...tom.java => RecyclerLazyLoaderAtEdge.java} | 28 +- .../helpers/TextWatcherAdapter.java | 15 + .../helpers/VerticalSpaceItemDecoration.java | 20 + .../masoudss_waveform/WaveformSeekBar.java | 184 +- .../MediaPickerBottomDialogFragment.java | 194 + .../fragments/StoryViewerFragment.java | 71 +- .../DirectMessageInboxFragment.java | 231 +- .../DirectMessageSettingsFragment.java | 84 +- .../DirectMessageThreadFragment.java | 1442 ++++-- .../fragments/imageedit/FiltersFragment.java | 526 ++ .../imageedit/ImageEditFragment.java | 285 ++ .../imageedit/filters/FiltersHelper.java | 129 + .../filters/custom/GPUImage1977Filter.java | 16 + .../filters/custom/GPUImageAdenFilter.java | 26 + .../custom/GPUImageClarendonFilter.java | 30 + .../imageedit/filters/filters/AdenFilter.java | 28 + .../filters/filters/BilateralBlurFilter.java | 42 + .../filters/filters/BoxBlurFilter.java | 42 + .../filters/filters/BrightnessFilter.java | 42 + .../filters/filters/ClarendonFilter.java | 28 + .../filters/filters/ContrastFilter.java | 42 + .../filters/filters/ExposureFilter.java | 42 + .../imageedit/filters/filters/Filter.java | 53 + .../filters/filters/FilterFactory.java | 126 + .../filters/filters/NormalFilter.java | 30 + .../filters/filters/One977Filter.java | 28 + .../filters/filters/SaturationFilter.java | 42 + .../filters/filters/SepiaToneFilter.java | 42 + .../filters/filters/SharpenFilter.java | 42 + .../filters/filters/VibranceFilter.java | 42 + .../filters/filters/VignetteFilter.java | 77 + .../filters/properties/ColorProperty.java | 37 + .../filters/properties/FloatProperty.java | 49 + .../filters/properties/PointFProperty.java | 39 + .../filters/properties/Property.java | 36 + .../models/ImageUploadOptions.java | 62 - .../awais/instagrabber/models/Resource.java | 39 + .../models/SavedImageEditState.java | 66 + .../models/UploadPhotoOptions.java | 97 + .../models/UploadVideoOptions.java | 217 + .../direct_messages/DirectItemModel.java | 558 --- .../direct_messages/InboxMediaModel.java | 27 - .../models/direct_messages/InboxModel.java | 63 - .../direct_messages/InboxThreadModel.java | 163 - .../models/enums/BroadcastItemType.java | 21 + .../models/enums/DirectItemType.java | 24 +- .../models/enums/MediaItemType.java | 12 +- .../models/enums/RavenExpiringMediaType.java | 15 - .../models/enums/RavenMediaViewMode.java | 12 + .../models/enums/RavenMediaViewType.java | 7 - .../DirectMessagesRepository.java | 33 + .../repositories/MediaRepository.java | 8 + .../requests/UploadFinishOptions.java | 114 + .../directmessages/BroadcastOptions.java | 67 + .../directmessages/LinkBroadcastOptions.java | 32 + .../directmessages/PhotoBroadcastOptions.java | 28 + .../ReactionBroadcastOptions.java | 29 + .../StoryReplyBroadcastOptions.java | 34 + .../directmessages/TextBroadcastOptions.java | 22 + .../directmessages/VideoBroadcastOptions.java | 33 + .../directmessages/VoiceBroadcastOptions.java | 36 + .../AnimatedMediaFixedHeight.java | 37 + .../directmessages/AnimatedMediaImages.java | 13 + .../responses/directmessages/Audio.java | 43 + .../responses/directmessages/Caption.java | 25 + .../directmessages/DirectBadgeCount.java | 31 + .../responses/directmessages/DirectInbox.java | 50 + .../directmessages/DirectInboxResponse.java | 48 + .../responses/directmessages/DirectItem.java | 241 + .../directmessages/DirectItemActionLog.java | 59 + .../DirectItemAnimatedMedia.java | 32 + .../directmessages/DirectItemClip.java | 13 + .../DirectItemEmojiReaction.java | 31 + .../directmessages/DirectItemFelixShare.java | 13 + .../directmessages/DirectItemLink.java | 34 + .../directmessages/DirectItemLinkContext.java | 34 + .../directmessages/DirectItemLocation.java | 55 + .../directmessages/DirectItemMedia.java | 115 + .../directmessages/DirectItemPlaceholder.java | 27 + .../directmessages/DirectItemReactions.java | 22 + .../directmessages/DirectItemReelShare.java | 62 + .../DirectItemReelShareReactionInfo.java | 19 + .../directmessages/DirectItemStoryShare.java | 55 + .../DirectItemVideoCallEvent.java | 43 + .../directmessages/DirectItemVisualMedia.java | 66 + .../directmessages/DirectItemVoiceMedia.java | 25 + .../directmessages/DirectThread.java | 256 + .../DirectThreadBroadcastResponse.java | 57 + ...hreadBroadcastResponseMessageMetadata.java | 55 + .../DirectThreadBroadcastResponsePayload.java | 44 + .../DirectThreadDirectStory.java | 21 + .../DirectThreadFeedResponse.java | 19 + .../DirectThreadLastSeenAt.java | 19 + .../responses/directmessages/DirectUser.java | 116 + .../DirectUserFriendshipStatus.java | 60 + .../directmessages/ImageVersions2.java | 15 + .../directmessages/MediaCandidate.java | 25 + .../RavenExpiringMediaActionSummary.java | 51 + .../directmessages/VideoVersion.java | 37 + .../instagrabber/utils/AppExecutors.java | 16 +- .../awais/instagrabber/utils/BitmapUtils.java | 269 + .../instagrabber/utils/CombinedDrawable.java | 184 + .../awais/instagrabber/utils/Constants.java | 1 + .../utils/CubicInterpolation.java | 78 + .../awais/instagrabber/utils/DateUtils.java | 37 + .../instagrabber/utils/DirectItemFactory.java | 182 + .../instagrabber/utils/DirectoryUtils.java | 46 +- .../instagrabber/utils/DownloadUtils.java | 13 +- .../instagrabber/utils/ExoplayerUtils.java | 26 + .../awais/instagrabber/utils/LocaleUtils.java | 11 +- .../instagrabber/utils/MediaController.java | 386 ++ .../instagrabber/utils/MediaUploadHelper.java | 173 + .../instagrabber/utils/MediaUploader.java | 192 + .../awais/instagrabber/utils/MediaUtils.java | 119 + .../instagrabber/utils/NetworkUtils.java | 10 +- .../awais/instagrabber/utils/NumberUtils.java | 40 +- .../instagrabber/utils/PermissionUtils.java | 48 + .../instagrabber/utils/ResponseBodyUtils.java | 812 ++- .../instagrabber/utils/SerializablePair.java | 17 + .../instagrabber/utils/SettingsHelper.java | 3 +- .../awais/instagrabber/utils/TextUtils.java | 51 + .../java/awais/instagrabber/utils/Utils.java | 147 +- .../awais/instagrabber/utils/ViewUtils.java | 56 + .../instagrabber/utils/VoiceRecorder.java | 197 + .../instagrabber/utils/emoji/EmojiParser.java | 341 ++ .../utils/emoji/ImmutableEntry.java | 50 + .../instagrabber/utils/emoji/UnicodeMap.java | 1305 +++++ .../viewmodels/AppStateViewModel.java | 94 + .../viewmodels/DirectInboxViewModel.java | 172 + .../viewmodels/DirectThreadViewModel.java | 663 +++ .../viewmodels/FiltersFragmentViewModel.java | 26 + .../viewmodels/ImageEditViewModel.java | 219 + .../viewmodels/MediaPickerViewModel.java | 41 + .../instagrabber/webservices/BaseService.java | 9 +- .../webservices/DirectMessagesService.java | 169 + .../webservices/MediaService.java | 36 +- .../instagrabber/workers/DownloadWorker.java | 50 +- app/src/main/res/anim/slide_left.xml | 10 + app/src/main/res/anim/slide_right.xml | 10 + app/src/main/res/animator/basket_path.xml | 15 + .../res/animator/delete_mic_animation.xml | 66 + .../main/res/color/emoji_picker_tab_color.xml | 5 + app/src/main/res/color/filter_name_color.xml | 5 + .../main/res/color/image_edit_tab_tint.xml | 5 + .../main/res/drawable-hdpi/ic_download.png~ | Bin 1070 -> 0 bytes .../main/res/drawable-mdpi/ic_download.png~ | Bin 793 -> 0 bytes .../res/drawable/avd_mic_to_send_anim.xml | 103 + .../res/drawable/avd_send_to_mic_anim.xml | 103 + .../main/res/drawable/bg_dm_date_header.xml | 11 + app/src/main/res/drawable/bg_dm_time.xml | 13 + app/src/main/res/drawable/bg_indicator.xml | 9 + app/src/main/res/drawable/bg_input.xml | 12 + .../res/drawable/bg_media_share_bottom.xml | 9 + .../drawable/bg_media_share_top_incoming.xml | 9 + .../drawable/bg_media_share_top_outgoing.xml | 9 + app/src/main/res/drawable/bg_quote_line.xml | 5 + app/src/main/res/drawable/bg_reply_text.xml | 11 + .../drawable/bg_speech_bubble_incoming.xml | 8 + .../drawable/bg_speech_bubble_outgoing.xml | 8 + app/src/main/res/drawable/circle.xml | 12 - app/src/main/res/drawable/ic_camera_24.xml | 13 + app/src/main/res/drawable/ic_check_all_24.xml | 10 + app/src/main/res/drawable/ic_face_24.xml | 16 + app/src/main/res/drawable/ic_keyboard_24.xml | 10 + app/src/main/res/drawable/ic_photo_filter.xml | 13 + app/src/main/res/drawable/ic_refresh_24.xml | 10 + .../ic_round_attach_file_rot45_24.xml | 15 + .../res/drawable/ic_round_backspace_24.xml | 10 + .../main/res/drawable/ic_round_crop_24.xml | 10 + .../drawable/ic_round_emoji_emotions_24.xml | 10 + .../res/drawable/ic_round_emoji_events_24.xml | 10 + .../res/drawable/ic_round_emoji_flags_24.xml | 10 + .../ic_round_emoji_food_beverage_24.xml | 13 + .../res/drawable/ic_round_emoji_nature_24.xml | 13 + .../drawable/ic_round_emoji_objects_24.xml | 10 + .../drawable/ic_round_emoji_symbols_24.xml | 28 + .../ic_round_emoji_transportation_24.xml | 25 + .../res/drawable/ic_round_flip_camera_24.xml | 16 + .../main/res/drawable/ic_round_pause_24.xml | 10 + ...send_24.xml => ic_round_play_arrow_24.xml} | 2 +- .../main/res/drawable/ic_round_send_24.xml | 11 + .../main/res/drawable/ic_round_tune_24.xml | 10 + .../main/res/drawable/ic_round_unknown_24.xml | 10 + app/src/main/res/drawable/ic_shutter.xml | 21 + .../main/res/drawable/ic_shutter_focused.xml | 33 + .../main/res/drawable/ic_shutter_normal.xml | 33 + .../main/res/drawable/ic_shutter_pressed.xml | 33 + ...aint_24.xml => ic_unread_indicator_24.xml} | 4 +- .../res/drawable/recv_basket_animated.xml | 9 + app/src/main/res/drawable/recv_ic_arrow.xml | 10 + app/src/main/res/drawable/recv_ic_delete.xml | 13 + app/src/main/res/drawable/recv_ic_mic.xml | 9 + .../drawable/rounder_corner_semi_black_bg.xml | 6 +- .../main/res/layout-land/activity_camera.xml | 54 + app/src/main/res/layout/activity_camera.xml | 53 + app/src/main/res/layout/activity_main.xml | 1 - app/src/main/res/layout/fragment_comments.xml | 2 +- .../layout/fragment_direct_messages_inbox.xml | 2 + .../fragment_direct_messages_thread.xml | 189 +- app/src/main/res/layout/fragment_filters.xml | 98 + .../main/res/layout/fragment_image_edit.xml | 184 + app/src/main/res/layout/item_child_post.xml | 38 - app/src/main/res/layout/item_emoji_grid.xml | 30 + app/src/main/res/layout/item_filter.xml | 35 + app/src/main/res/layout/item_media.xml | 39 + .../main/res/layout/layout_dm_action_log.xml | 13 + app/src/main/res/layout/layout_dm_base.xml | 225 +- app/src/main/res/layout/layout_dm_header.xml | 23 + .../main/res/layout/layout_dm_inbox_item.xml | 172 +- app/src/main/res/layout/layout_dm_like.xml | 9 + app/src/main/res/layout/layout_dm_link.xml | 72 +- app/src/main/res/layout/layout_dm_media.xml | 15 +- .../main/res/layout/layout_dm_media_share.xml | 132 +- app/src/main/res/layout/layout_dm_profile.xml | 230 +- .../main/res/layout/layout_dm_raven_media.xml | 32 +- .../main/res/layout/layout_dm_reel_share.xml | 99 + .../main/res/layout/layout_dm_story_share.xml | 20 +- app/src/main/res/layout/layout_dm_text.xml | 13 +- .../main/res/layout/layout_dm_voice_media.xml | 116 +- .../res/layout/layout_emoji_variant_popup.xml | 21 + .../main/res/layout/layout_media_picker.xml | 30 + .../res/layout/layout_profile_details.xml | 2 +- .../main/res/layout/record_view_layout.xml | 68 + app/src/main/res/menu/dm_thread_menu.xml | 7 +- .../res/menu/main_bottom_navigation_menu.xml | 2 +- app/src/main/res/menu/story_menu.xml | 2 +- .../navigation/direct_messages_nav_graph.xml | 18 +- app/src/main/res/raw/emoji_test.txt | 4457 +++++++++++++++++ app/src/main/res/raw/record_error.wav | Bin 0 -> 39546 bytes app/src/main/res/raw/record_finished.wav | Bin 0 -> 26932 bytes app/src/main/res/raw/record_start.wav | Bin 0 -> 33660 bytes app/src/main/res/values/attrs.xml | 18 + app/src/main/res/values/dimens.xml | 16 +- app/src/main/res/values/font_certs.xml | 17 + app/src/main/res/values/strings.xml | 25 + app/src/main/res/values/styles.xml | 28 + app/src/main/res/values/themes.xml | 11 +- .../utils/CubicInterpolationTest.java | 61 + 318 files changed, 25129 insertions(+), 4517 deletions(-) create mode 100644 app/src/main/java/awais/instagrabber/activities/CameraActivity.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/DirectItemsAdapter.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/DirectMessageItemsAdapter.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/FiltersAdapter.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/MediaItemsAdapter.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/DirectInboxItemViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/DirectMessageInboxItemViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/FilterViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemActionLogViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemAnimatedMediaViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemDefaultViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemLikeViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemLinkViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemMediaShareViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemMediaViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemPlaceholderViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemProfileViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemRavenMediaViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemReelShareViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemStoryShareViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemTextViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemVideoCallEventViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemVoiceMediaViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageActionLogViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageAnimatedMediaViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageDefaultViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageItemViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageLinkViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageMediaShareViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageMediaViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessagePlaceholderViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageProfileViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageRavenMediaViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageReelShareViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageStoryShareViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageTextViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageVideoCallEventViewHolder.java delete mode 100644 app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectMessageVoiceMediaViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/animations/CubicBezierInterpolator.java create mode 100644 app/src/main/java/awais/instagrabber/animations/ScaleAnimation.java delete mode 100644 app/src/main/java/awais/instagrabber/asyncs/ImageUploader.java delete mode 100644 app/src/main/java/awais/instagrabber/asyncs/direct_messages/DirectMessageInboxThreadFetcher.java delete mode 100755 app/src/main/java/awais/instagrabber/asyncs/direct_messages/InboxFetcher.java create mode 100644 app/src/main/java/awais/instagrabber/broadcasts/DMRefreshBroadcastReceiver.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/ChatMessageLayout.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/KeyNotifyingEmojiEditText.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/PopupDialog.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/RecordButton.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/RecordView.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/SquareImageView.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/Tooltip.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/emoji/Emoji.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/emoji/EmojiCategory.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/emoji/EmojiCategoryPageViewHolder.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/emoji/EmojiCategoryType.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/emoji/EmojiGridAdapter.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/emoji/EmojiPicker.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/emoji/EmojiPickerPageAdapter.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/emoji/EmojiPopupWindow.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/emoji/EmojiVariantManager.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/emoji/EmojiVariantPopup.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/emoji/GoogleCompatEmojiDrawable.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/helpers/HeaderItemDecoration.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/helpers/HeightProvider.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/helpers/RecordViewAnimationHelper.java rename app/src/main/java/awais/instagrabber/customviews/helpers/{RecyclerLazyLoaderAtBottom.java => RecyclerLazyLoaderAtEdge.java} (52%) create mode 100644 app/src/main/java/awais/instagrabber/customviews/helpers/TextWatcherAdapter.java create mode 100644 app/src/main/java/awais/instagrabber/customviews/helpers/VerticalSpaceItemDecoration.java create mode 100644 app/src/main/java/awais/instagrabber/dialogs/MediaPickerBottomDialogFragment.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/FiltersFragment.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/ImageEditFragment.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/FiltersHelper.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/custom/GPUImage1977Filter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/custom/GPUImageAdenFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/custom/GPUImageClarendonFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/AdenFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/BilateralBlurFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/BoxBlurFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/BrightnessFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/ClarendonFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/ContrastFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/ExposureFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/Filter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/FilterFactory.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/NormalFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/One977Filter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/SaturationFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/SepiaToneFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/SharpenFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/VibranceFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/filters/VignetteFilter.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/properties/ColorProperty.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/properties/FloatProperty.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/properties/PointFProperty.java create mode 100644 app/src/main/java/awais/instagrabber/fragments/imageedit/filters/properties/Property.java delete mode 100644 app/src/main/java/awais/instagrabber/models/ImageUploadOptions.java create mode 100644 app/src/main/java/awais/instagrabber/models/Resource.java create mode 100644 app/src/main/java/awais/instagrabber/models/SavedImageEditState.java create mode 100644 app/src/main/java/awais/instagrabber/models/UploadPhotoOptions.java create mode 100644 app/src/main/java/awais/instagrabber/models/UploadVideoOptions.java delete mode 100755 app/src/main/java/awais/instagrabber/models/direct_messages/DirectItemModel.java delete mode 100755 app/src/main/java/awais/instagrabber/models/direct_messages/InboxMediaModel.java delete mode 100755 app/src/main/java/awais/instagrabber/models/direct_messages/InboxModel.java delete mode 100755 app/src/main/java/awais/instagrabber/models/direct_messages/InboxThreadModel.java create mode 100644 app/src/main/java/awais/instagrabber/models/enums/BroadcastItemType.java delete mode 100755 app/src/main/java/awais/instagrabber/models/enums/RavenExpiringMediaType.java create mode 100644 app/src/main/java/awais/instagrabber/models/enums/RavenMediaViewMode.java delete mode 100755 app/src/main/java/awais/instagrabber/models/enums/RavenMediaViewType.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/DirectMessagesRepository.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/requests/UploadFinishOptions.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/requests/directmessages/BroadcastOptions.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/requests/directmessages/LinkBroadcastOptions.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/requests/directmessages/PhotoBroadcastOptions.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/requests/directmessages/ReactionBroadcastOptions.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/requests/directmessages/StoryReplyBroadcastOptions.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/requests/directmessages/TextBroadcastOptions.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/requests/directmessages/VideoBroadcastOptions.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/requests/directmessages/VoiceBroadcastOptions.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/AnimatedMediaFixedHeight.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/AnimatedMediaImages.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/Audio.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/Caption.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectBadgeCount.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectInbox.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectInboxResponse.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItem.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemActionLog.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemAnimatedMedia.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemClip.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemEmojiReaction.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemFelixShare.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemLink.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemLinkContext.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemLocation.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemMedia.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemPlaceholder.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemReactions.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemReelShare.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemReelShareReactionInfo.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemStoryShare.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemVideoCallEvent.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemVisualMedia.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemVoiceMedia.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThread.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThreadBroadcastResponse.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThreadBroadcastResponseMessageMetadata.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThreadBroadcastResponsePayload.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThreadDirectStory.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThreadFeedResponse.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThreadLastSeenAt.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectUser.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectUserFriendshipStatus.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/ImageVersions2.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/MediaCandidate.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/RavenExpiringMediaActionSummary.java create mode 100644 app/src/main/java/awais/instagrabber/repositories/responses/directmessages/VideoVersion.java create mode 100644 app/src/main/java/awais/instagrabber/utils/BitmapUtils.java create mode 100644 app/src/main/java/awais/instagrabber/utils/CombinedDrawable.java create mode 100644 app/src/main/java/awais/instagrabber/utils/CubicInterpolation.java create mode 100644 app/src/main/java/awais/instagrabber/utils/DateUtils.java create mode 100644 app/src/main/java/awais/instagrabber/utils/DirectItemFactory.java create mode 100644 app/src/main/java/awais/instagrabber/utils/ExoplayerUtils.java create mode 100644 app/src/main/java/awais/instagrabber/utils/MediaController.java create mode 100644 app/src/main/java/awais/instagrabber/utils/MediaUploadHelper.java create mode 100644 app/src/main/java/awais/instagrabber/utils/MediaUploader.java create mode 100644 app/src/main/java/awais/instagrabber/utils/MediaUtils.java create mode 100644 app/src/main/java/awais/instagrabber/utils/PermissionUtils.java create mode 100644 app/src/main/java/awais/instagrabber/utils/SerializablePair.java create mode 100644 app/src/main/java/awais/instagrabber/utils/ViewUtils.java create mode 100644 app/src/main/java/awais/instagrabber/utils/VoiceRecorder.java create mode 100644 app/src/main/java/awais/instagrabber/utils/emoji/EmojiParser.java create mode 100644 app/src/main/java/awais/instagrabber/utils/emoji/ImmutableEntry.java create mode 100644 app/src/main/java/awais/instagrabber/utils/emoji/UnicodeMap.java create mode 100644 app/src/main/java/awais/instagrabber/viewmodels/AppStateViewModel.java create mode 100644 app/src/main/java/awais/instagrabber/viewmodels/DirectInboxViewModel.java create mode 100644 app/src/main/java/awais/instagrabber/viewmodels/DirectThreadViewModel.java create mode 100644 app/src/main/java/awais/instagrabber/viewmodels/FiltersFragmentViewModel.java create mode 100644 app/src/main/java/awais/instagrabber/viewmodels/ImageEditViewModel.java create mode 100644 app/src/main/java/awais/instagrabber/viewmodels/MediaPickerViewModel.java create mode 100644 app/src/main/java/awais/instagrabber/webservices/DirectMessagesService.java create mode 100644 app/src/main/res/anim/slide_left.xml create mode 100644 app/src/main/res/anim/slide_right.xml create mode 100644 app/src/main/res/animator/basket_path.xml create mode 100644 app/src/main/res/animator/delete_mic_animation.xml create mode 100644 app/src/main/res/color/emoji_picker_tab_color.xml create mode 100644 app/src/main/res/color/filter_name_color.xml create mode 100644 app/src/main/res/color/image_edit_tab_tint.xml delete mode 100755 app/src/main/res/drawable-hdpi/ic_download.png~ delete mode 100755 app/src/main/res/drawable-mdpi/ic_download.png~ create mode 100644 app/src/main/res/drawable/avd_mic_to_send_anim.xml create mode 100644 app/src/main/res/drawable/avd_send_to_mic_anim.xml create mode 100644 app/src/main/res/drawable/bg_dm_date_header.xml create mode 100644 app/src/main/res/drawable/bg_dm_time.xml create mode 100644 app/src/main/res/drawable/bg_indicator.xml create mode 100644 app/src/main/res/drawable/bg_input.xml create mode 100644 app/src/main/res/drawable/bg_media_share_bottom.xml create mode 100644 app/src/main/res/drawable/bg_media_share_top_incoming.xml create mode 100644 app/src/main/res/drawable/bg_media_share_top_outgoing.xml create mode 100644 app/src/main/res/drawable/bg_quote_line.xml create mode 100644 app/src/main/res/drawable/bg_reply_text.xml create mode 100644 app/src/main/res/drawable/bg_speech_bubble_incoming.xml create mode 100644 app/src/main/res/drawable/bg_speech_bubble_outgoing.xml delete mode 100644 app/src/main/res/drawable/circle.xml create mode 100644 app/src/main/res/drawable/ic_camera_24.xml create mode 100644 app/src/main/res/drawable/ic_check_all_24.xml create mode 100644 app/src/main/res/drawable/ic_face_24.xml create mode 100644 app/src/main/res/drawable/ic_keyboard_24.xml create mode 100644 app/src/main/res/drawable/ic_photo_filter.xml create mode 100644 app/src/main/res/drawable/ic_refresh_24.xml create mode 100644 app/src/main/res/drawable/ic_round_attach_file_rot45_24.xml create mode 100644 app/src/main/res/drawable/ic_round_backspace_24.xml create mode 100644 app/src/main/res/drawable/ic_round_crop_24.xml create mode 100644 app/src/main/res/drawable/ic_round_emoji_emotions_24.xml create mode 100644 app/src/main/res/drawable/ic_round_emoji_events_24.xml create mode 100644 app/src/main/res/drawable/ic_round_emoji_flags_24.xml create mode 100644 app/src/main/res/drawable/ic_round_emoji_food_beverage_24.xml create mode 100644 app/src/main/res/drawable/ic_round_emoji_nature_24.xml create mode 100644 app/src/main/res/drawable/ic_round_emoji_objects_24.xml create mode 100644 app/src/main/res/drawable/ic_round_emoji_symbols_24.xml create mode 100644 app/src/main/res/drawable/ic_round_emoji_transportation_24.xml create mode 100644 app/src/main/res/drawable/ic_round_flip_camera_24.xml create mode 100644 app/src/main/res/drawable/ic_round_pause_24.xml rename app/src/main/res/drawable/{ic_send_24.xml => ic_round_play_arrow_24.xml} (66%) create mode 100644 app/src/main/res/drawable/ic_round_send_24.xml create mode 100644 app/src/main/res/drawable/ic_round_tune_24.xml create mode 100644 app/src/main/res/drawable/ic_round_unknown_24.xml create mode 100644 app/src/main/res/drawable/ic_shutter.xml create mode 100644 app/src/main/res/drawable/ic_shutter_focused.xml create mode 100644 app/src/main/res/drawable/ic_shutter_normal.xml create mode 100644 app/src/main/res/drawable/ic_shutter_pressed.xml rename app/src/main/res/drawable/{ic_format_paint_24.xml => ic_unread_indicator_24.xml} (51%) create mode 100644 app/src/main/res/drawable/recv_basket_animated.xml create mode 100644 app/src/main/res/drawable/recv_ic_arrow.xml create mode 100644 app/src/main/res/drawable/recv_ic_delete.xml create mode 100644 app/src/main/res/drawable/recv_ic_mic.xml create mode 100644 app/src/main/res/layout-land/activity_camera.xml create mode 100644 app/src/main/res/layout/activity_camera.xml create mode 100644 app/src/main/res/layout/fragment_filters.xml create mode 100644 app/src/main/res/layout/fragment_image_edit.xml delete mode 100755 app/src/main/res/layout/item_child_post.xml create mode 100644 app/src/main/res/layout/item_emoji_grid.xml create mode 100644 app/src/main/res/layout/item_filter.xml create mode 100644 app/src/main/res/layout/item_media.xml create mode 100644 app/src/main/res/layout/layout_dm_action_log.xml create mode 100644 app/src/main/res/layout/layout_dm_header.xml create mode 100644 app/src/main/res/layout/layout_dm_like.xml create mode 100644 app/src/main/res/layout/layout_dm_reel_share.xml create mode 100644 app/src/main/res/layout/layout_emoji_variant_popup.xml create mode 100644 app/src/main/res/layout/layout_media_picker.xml create mode 100644 app/src/main/res/layout/record_view_layout.xml create mode 100644 app/src/main/res/raw/emoji_test.txt create mode 100644 app/src/main/res/raw/record_error.wav create mode 100644 app/src/main/res/raw/record_finished.wav create mode 100644 app/src/main/res/raw/record_start.wav create mode 100644 app/src/main/res/values/font_certs.xml create mode 100644 app/src/test/java/awais/instagrabber/utils/CubicInterpolationTest.java diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index 6a48fecb..56fba457 100755 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -36,5 +36,10 @@