diff --git a/.gitignore b/.gitignore index b220be23..a2ae4420 100755 --- a/.gitignore +++ b/.gitignore @@ -20,4 +20,5 @@ app/release /sentry.properties /app/fdroid/ /app/github/ -/repo \ No newline at end of file +/repo +/.fdroid.yml diff --git a/app/src/main/java/awais/instagrabber/adapters/DirectItemsAdapter.java b/app/src/main/java/awais/instagrabber/adapters/DirectItemsAdapter.java index 444d4aa1..40624082 100644 --- a/app/src/main/java/awais/instagrabber/adapters/DirectItemsAdapter.java +++ b/app/src/main/java/awais/instagrabber/adapters/DirectItemsAdapter.java @@ -139,7 +139,7 @@ public final class DirectItemsAdapter extends RecyclerView.Adapter { private static final DiffUtil.ItemCallback DIFF_CALLBACK = new DiffUtil.ItemCallback() { @Override public boolean areItemsTheSame(@NonNull final SavedCollection oldItem, @NonNull final SavedCollection newItem) { - return oldItem.getId().equals(newItem.getId()); + return oldItem.getCollectionId().equals(newItem.getCollectionId()); } @Override public boolean areContentsTheSame(@NonNull final SavedCollection oldItem, @NonNull final SavedCollection newItem) { - if (oldItem.getCoverMedias() != null && newItem.getCoverMedias() != null - && oldItem.getCoverMedias().size() == newItem.getCoverMedias().size()) { - return oldItem.getCoverMedias().get(0).getId().equals(newItem.getCoverMedias().get(0).getId()); + if (oldItem.getCoverMediaList() != null && newItem.getCoverMediaList() != null + && oldItem.getCoverMediaList().size() == newItem.getCoverMediaList().size()) { + return oldItem.getCoverMediaList().get(0).getId().equals(newItem.getCoverMediaList().get(0).getId()); } else if (oldItem.getCoverMedia() != null && newItem.getCoverMedia() != null) { return oldItem.getCoverMedia().getId().equals(newItem.getCoverMedia().getId()); diff --git a/app/src/main/java/awais/instagrabber/adapters/viewholder/TopicClusterViewHolder.java b/app/src/main/java/awais/instagrabber/adapters/viewholder/TopicClusterViewHolder.java index 45027d14..809e09b1 100644 --- a/app/src/main/java/awais/instagrabber/adapters/viewholder/TopicClusterViewHolder.java +++ b/app/src/main/java/awais/instagrabber/adapters/viewholder/TopicClusterViewHolder.java @@ -128,11 +128,11 @@ public class TopicClusterViewHolder extends RecyclerView.ViewHolder { backgroundColor.get() )); } - // binding.title.setTransitionName("title-" + topicCluster.getId()); - binding.cover.setTransitionName("cover-" + topicCluster.getId()); - final String thumbUrl = ResponseBodyUtils.getThumbUrl(topicCluster.getCoverMedias() == null + // binding.title.setTransitionName("title-" + topicCluster.getCollectionId()); + binding.cover.setTransitionName("cover-" + topicCluster.getCollectionId()); + final String thumbUrl = ResponseBodyUtils.getThumbUrl(topicCluster.getCoverMediaList() == null ? topicCluster.getCoverMedia() - : topicCluster.getCoverMedias().get(0)); + : topicCluster.getCoverMediaList().get(0)); if (thumbUrl == null) { binding.cover.setImageURI((String) null); } else { @@ -174,6 +174,6 @@ public class TopicClusterViewHolder extends RecyclerView.ViewHolder { }, CallerThreadExecutor.getInstance()); binding.cover.setImageRequest(imageRequest); } - binding.title.setText(topicCluster.getTitle()); + binding.title.setText(topicCluster.getCollectionName()); } } diff --git a/app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java b/app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java index 1ca49c15..1480f6e3 100644 --- a/app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java @@ -84,6 +84,7 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay private int downloadChildPosition = -1; private CollectionService collectionService; private PostsLayoutPreferences layoutPreferences = Utils.getPostsLayoutPreferences(Constants.PREF_SAVED_POSTS_LAYOUT); + private MenuItem deleteMenu, editMenu; private final OnBackPressedCallback onBackPressedCallback = new OnBackPressedCallback(false) { @Override @@ -281,8 +282,13 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay @Override public void onCreateOptionsMenu(@NonNull final Menu menu, @NonNull final MenuInflater inflater) { - // delaying to make toolbar resume animation smooth, otherwise lags - binding.getRoot().postDelayed(() -> inflater.inflate(R.menu.collection_posts_menu, menu), 500); + inflater.inflate(R.menu.collection_posts_menu, menu); + deleteMenu = menu.findItem(R.id.delete); + if (deleteMenu != null) + deleteMenu.setVisible(savedCollection.getCollectionType().equals("MEDIA")); + editMenu = menu.findItem(R.id.edit); + if (editMenu != null) + editMenu.setVisible(savedCollection.getCollectionType().equals("MEDIA")); } @Override @@ -297,7 +303,7 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay .setTitle(R.string.delete_collection) .setMessage(R.string.delete_collection_note) .setPositiveButton(R.string.confirm, (d, w) -> collectionService.deleteCollection( - savedCollection.getId(), + savedCollection.getCollectionId(), new ServiceCallback() { @Override public void onSuccess(final String result) { @@ -325,7 +331,7 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay .setTitle(R.string.edit_collection) .setView(input) .setPositiveButton(R.string.confirm, (d, w) -> collectionService.editCollectionName( - savedCollection.getId(), + savedCollection.getCollectionId(), input.getText().toString(), new ServiceCallback() { @Override @@ -408,9 +414,9 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay if (savedCollection == null) { return; } - binding.cover.setTransitionName("collection-" + savedCollection.getId()); + binding.cover.setTransitionName("collection-" + savedCollection.getCollectionId()); fragmentActivity.setToolbar(binding.toolbar); - binding.collapsingToolbarLayout.setTitle(savedCollection.getTitle()); + binding.collapsingToolbarLayout.setTitle(savedCollection.getCollectionName()); final int collapsedTitleTextColor = ColorUtils.setAlphaComponent(titleColor, 0xFF); final int expandedTitleTextColor = ColorUtils.setAlphaComponent(titleColor, 0x99); binding.collapsingToolbarLayout.setExpandedTitleColor(expandedTitleTextColor); @@ -442,9 +448,9 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay } private void setupCover() { - final String coverUrl = ResponseBodyUtils.getImageUrl(savedCollection.getCoverMedias() == null + final String coverUrl = ResponseBodyUtils.getImageUrl(savedCollection.getCoverMediaList() == null ? savedCollection.getCoverMedia() - : savedCollection.getCoverMedias().get(0)); + : savedCollection.getCoverMediaList().get(0)); final DraweeController controller = Fresco .newDraweeControllerBuilder() .setOldController(binding.cover.getController()) @@ -471,7 +477,7 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay private void setupPosts() { binding.posts.setViewModelStoreOwner(this) .setLifeCycleOwner(this) - .setPostFetchService(new SavedPostFetchService(0, PostItemType.COLLECTION, true, savedCollection.getId())) + .setPostFetchService(new SavedPostFetchService(0, PostItemType.COLLECTION, true, savedCollection.getCollectionId())) .setLayoutPreferences(layoutPreferences) .addFetchStatusChangeListener(fetching -> updateSwipeRefreshState()) .setFeedItemCallback(feedItemCallback) @@ -493,7 +499,7 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay private void showPostsLayoutPreferences() { final PostsLayoutPreferencesDialogFragment fragment = new PostsLayoutPreferencesDialogFragment( - Constants.PREF_TOPIC_POSTS_LAYOUT, + Constants.PREF_SAVED_POSTS_LAYOUT, preferences -> { layoutPreferences = preferences; new Handler().postDelayed(() -> binding.posts.setLayoutPreferences(preferences), 200); diff --git a/app/src/main/java/awais/instagrabber/fragments/PostViewV2Fragment.java b/app/src/main/java/awais/instagrabber/fragments/PostViewV2Fragment.java index 3c419971..6efd3711 100644 --- a/app/src/main/java/awais/instagrabber/fragments/PostViewV2Fragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/PostViewV2Fragment.java @@ -762,8 +762,7 @@ public class PostViewV2Fragment extends Fragment implements EditTextDialogFragme if (isPrivate) { final Context context = getContext(); if (context == null) return; - // is this necessary? - Toast.makeText(context, R.string.share_private_post, Toast.LENGTH_LONG).show(); +// Toast.makeText(context, R.string.share_private_post, Toast.LENGTH_LONG).show(); } if (viewModel.isLoggedIn()) { final Context context = getContext(); @@ -806,6 +805,8 @@ public class PostViewV2Fragment extends Fragment implements EditTextDialogFragme private void shareLink(@NonNull final Media media, final boolean isPrivate) { final Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); sharingIntent.setType("text/plain"); + sharingIntent.putExtra(android.content.Intent.EXTRA_TITLE, + getString(isPrivate ? R.string.share_private_post : R.string.share_public_post)); sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "https://instagram.com/p/" + media.getCode()); startActivity(Intent.createChooser( sharingIntent, diff --git a/app/src/main/java/awais/instagrabber/fragments/SavedCollectionsFragment.java b/app/src/main/java/awais/instagrabber/fragments/SavedCollectionsFragment.java index 880aae27..35382476 100644 --- a/app/src/main/java/awais/instagrabber/fragments/SavedCollectionsFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/SavedCollectionsFragment.java @@ -145,12 +145,12 @@ public class SavedCollectionsFragment extends Fragment implements SwipeRefreshLa final SavedCollectionsAdapter adapter = new SavedCollectionsAdapter((topicCluster, root, cover, title, titleColor, backgroundColor) -> { final NavController navController = NavHostFragment.findNavController(this); if (isSaving) { - setNavControllerResult(navController, topicCluster.getId()); + setNavControllerResult(navController, topicCluster.getCollectionId()); navController.navigateUp(); } else { try { final FragmentNavigator.Extras.Builder builder = new FragmentNavigator.Extras.Builder() - .addSharedElement(cover, "collection-" + topicCluster.getId()); + .addSharedElement(cover, "collection-" + topicCluster.getCollectionId()); final SavedCollectionsFragmentDirections.ActionSavedCollectionsFragmentToCollectionPostsFragment action = SavedCollectionsFragmentDirections .actionSavedCollectionsFragmentToCollectionPostsFragment(topicCluster, titleColor, backgroundColor); navController.navigate(action, builder.build()); diff --git a/app/src/main/java/awais/instagrabber/managers/ThreadManager.kt b/app/src/main/java/awais/instagrabber/managers/ThreadManager.kt index 070ef807..af470afe 100644 --- a/app/src/main/java/awais/instagrabber/managers/ThreadManager.kt +++ b/app/src/main/java/awais/instagrabber/managers/ThreadManager.kt @@ -10,6 +10,7 @@ import androidx.lifecycle.Transformations.distinctUntilChanged import androidx.lifecycle.Transformations.map import awais.instagrabber.R import awais.instagrabber.customviews.emoji.Emoji +import awais.instagrabber.models.enums.DirectItemType.Companion.getName import awais.instagrabber.models.Resource import awais.instagrabber.models.Resource.Companion.error import awais.instagrabber.models.Resource.Companion.loading @@ -659,7 +660,7 @@ class ThreadManager private constructor( data.postValue(error("item type is null", null)) return data } - val itemTypeName = itemType.getName() + val itemTypeName = getName(itemType) if (itemTypeName == null) { Log.e(TAG, "forward: itemTypeName was null!") data.postValue(error("itemTypeName is null", null)) diff --git a/app/src/main/java/awais/instagrabber/models/Comment.kt b/app/src/main/java/awais/instagrabber/models/Comment.kt index 20c03f76..4d85e338 100644 --- a/app/src/main/java/awais/instagrabber/models/Comment.kt +++ b/app/src/main/java/awais/instagrabber/models/Comment.kt @@ -21,7 +21,7 @@ class Comment( return hasLikedComment } - fun setLiked(liked: Boolean) { + fun setLiked(hasLikedComment: Boolean) { commentLikeCount = if (hasLikedComment) commentLikeCount + 1 else commentLikeCount - 1 this.hasLikedComment = hasLikedComment } diff --git a/app/src/main/java/awais/instagrabber/models/enums/DirectItemType.java b/app/src/main/java/awais/instagrabber/models/enums/DirectItemType.java deleted file mode 100755 index 83d655f2..00000000 --- a/app/src/main/java/awais/instagrabber/models/enums/DirectItemType.java +++ /dev/null @@ -1,109 +0,0 @@ -package awais.instagrabber.models.enums; - -import com.google.gson.annotations.SerializedName; - -import java.io.Serializable; -import java.util.HashMap; -import java.util.Map; - -public enum DirectItemType implements Serializable { - UNKNOWN(0), - @SerializedName("text") - TEXT(1), - @SerializedName("like") - LIKE(2), - @SerializedName("link") - LINK(3), - @SerializedName("media") - MEDIA(4), - @SerializedName("raven_media") - RAVEN_MEDIA(5), - @SerializedName("profile") - PROFILE(6), - @SerializedName("video_call_event") - VIDEO_CALL_EVENT(7), - @SerializedName("animated_media") - ANIMATED_MEDIA(8), - @SerializedName("voice_media") - VOICE_MEDIA(9), - @SerializedName("media_share") - MEDIA_SHARE(10), - @SerializedName("reel_share") - REEL_SHARE(11), - @SerializedName("action_log") - ACTION_LOG(12), - @SerializedName("placeholder") - PLACEHOLDER(13), - @SerializedName("story_share") - STORY_SHARE(14), - @SerializedName("clip") - CLIP(15), // media_share but reel - @SerializedName("felix_share") - FELIX_SHARE(16), // media_share but igtv - @SerializedName("location") - LOCATION(17), - @SerializedName("xma") - XMA(18); // self avatar stickers - - private final int id; - private static final Map map = new HashMap<>(); - - static { - for (DirectItemType type : DirectItemType.values()) { - map.put(type.id, type); - } - } - - DirectItemType(final int id) { - this.id = id; - } - - public int getId() { - return id; - } - - public static DirectItemType valueOf(final int id) { - if (!map.containsKey(id)) return DirectItemType.UNKNOWN; - return map.get(id); - } - - public String getName() { - switch (this) { - case TEXT: - return "text"; - case LIKE: - return "like"; - case LINK: - return "link"; - case MEDIA: - return "media"; - case RAVEN_MEDIA: - return "raven_media"; - case PROFILE: - return "profile"; - case VIDEO_CALL_EVENT: - return "video_call_event"; - case ANIMATED_MEDIA: - return "animated_media"; - case VOICE_MEDIA: - return "voice_media"; - case MEDIA_SHARE: - return "media_share"; - case REEL_SHARE: - return "reel_share"; - case ACTION_LOG: - return "action_log"; - case PLACEHOLDER: - return "placeholder"; - case STORY_SHARE: - return "story_share"; - case CLIP: - return "clip"; - case FELIX_SHARE: - return "felix_share"; - case LOCATION: - return "location"; - } - return null; - } -} \ No newline at end of file diff --git a/app/src/main/java/awais/instagrabber/models/enums/DirectItemType.kt b/app/src/main/java/awais/instagrabber/models/enums/DirectItemType.kt new file mode 100755 index 00000000..3215085a --- /dev/null +++ b/app/src/main/java/awais/instagrabber/models/enums/DirectItemType.kt @@ -0,0 +1,85 @@ +package awais.instagrabber.models.enums + +import com.google.gson.annotations.SerializedName + +import java.io.Serializable +import java.util.* + +enum class DirectItemType(val id: Int) : Serializable { + UNKNOWN(0), + @SerializedName("text") + TEXT(1), + @SerializedName("like") + LIKE(2), + @SerializedName("link") + LINK(3), + @SerializedName("media") + MEDIA(4), + @SerializedName("raven_media") + RAVEN_MEDIA(5), + @SerializedName("profile") + PROFILE(6), + @SerializedName("video_call_event") + VIDEO_CALL_EVENT(7), + @SerializedName("animated_media") + ANIMATED_MEDIA(8), + @SerializedName("voice_media") + VOICE_MEDIA(9), + @SerializedName("media_share") + MEDIA_SHARE(10), + @SerializedName("reel_share") + REEL_SHARE(11), + @SerializedName("action_log") + ACTION_LOG(12), + @SerializedName("placeholder") + PLACEHOLDER(13), + @SerializedName("story_share") + STORY_SHARE(14), + @SerializedName("clip") + CLIP(15), // media_share but reel + @SerializedName("felix_share") + FELIX_SHARE(16), // media_share but igtv + @SerializedName("location") + LOCATION(17), + @SerializedName("xma") + XMA(18); // self avatar stickers + + companion object { + private val map: MutableMap = mutableMapOf() + + @JvmStatic + fun getId(id: Int): DirectItemType? { + return map[id] + } + + @JvmStatic + fun getName(directItemType: DirectItemType): String? { + when (directItemType) { + TEXT -> return "text" + LIKE -> return "like" + LINK -> return "link" + MEDIA -> return "media" + RAVEN_MEDIA -> return "raven_media" + PROFILE -> return "profile" + VIDEO_CALL_EVENT -> return "video_call_event" + ANIMATED_MEDIA -> return "animated_media" + VOICE_MEDIA -> return "voice_media" + MEDIA_SHARE -> return "media_share" + REEL_SHARE -> return "reel_share" + ACTION_LOG -> return "action_log" + PLACEHOLDER -> return "placeholder" + STORY_SHARE -> return "story_share" + CLIP -> return "clip" + FELIX_SHARE -> return "felix_share" + LOCATION -> return "location" + } + return null + } + + init { + for (type in DirectItemType.values()) { + map[type.id] = type + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/awais/instagrabber/models/enums/RavenMediaViewMode.java b/app/src/main/java/awais/instagrabber/models/enums/RavenMediaViewMode.kt similarity index 52% rename from app/src/main/java/awais/instagrabber/models/enums/RavenMediaViewMode.java rename to app/src/main/java/awais/instagrabber/models/enums/RavenMediaViewMode.kt index 75f8ca76..2707d2f0 100644 --- a/app/src/main/java/awais/instagrabber/models/enums/RavenMediaViewMode.java +++ b/app/src/main/java/awais/instagrabber/models/enums/RavenMediaViewMode.kt @@ -1,8 +1,8 @@ -package awais.instagrabber.models.enums; +package awais.instagrabber.models.enums -import com.google.gson.annotations.SerializedName; +import com.google.gson.annotations.SerializedName -public enum RavenMediaViewMode { +enum class RavenMediaViewMode { @SerializedName("permanent") PERMANENT, @SerializedName("replayable") diff --git a/app/src/main/java/awais/instagrabber/models/enums/SuggestionType.kt b/app/src/main/java/awais/instagrabber/models/enums/SuggestionType.kt deleted file mode 100755 index e24f542c..00000000 --- a/app/src/main/java/awais/instagrabber/models/enums/SuggestionType.kt +++ /dev/null @@ -1,5 +0,0 @@ -package awais.instagrabber.models.enums - -enum class SuggestionType { - TYPE_USER, TYPE_HASHTAG, TYPE_LOCATION -} \ No newline at end of file diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/notification/Notification.java b/app/src/main/java/awais/instagrabber/repositories/responses/notification/Notification.java deleted file mode 100644 index 6da18866..00000000 --- a/app/src/main/java/awais/instagrabber/repositories/responses/notification/Notification.java +++ /dev/null @@ -1,29 +0,0 @@ -package awais.instagrabber.repositories.responses.notification; - -import awais.instagrabber.models.enums.NotificationType; - -public class Notification { - private final NotificationArgs args; - private final int storyType; - private final String pk; - - public Notification(final NotificationArgs args, - final int storyType, - final String pk) { - this.args = args; - this.storyType = storyType; - this.pk = pk; - } - - public NotificationArgs getArgs() { - return args; - } - - public NotificationType getType() { - return NotificationType.valueOfType(storyType); - } - - public String getPk() { - return pk; - } -} diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/notification/Notification.kt b/app/src/main/java/awais/instagrabber/repositories/responses/notification/Notification.kt new file mode 100644 index 00000000..0cd35777 --- /dev/null +++ b/app/src/main/java/awais/instagrabber/repositories/responses/notification/Notification.kt @@ -0,0 +1,11 @@ +package awais.instagrabber.repositories.responses.notification + +import awais.instagrabber.models.enums.NotificationType +import awais.instagrabber.models.enums.NotificationType.Companion.valueOfType + +class Notification(val args: NotificationArgs, + private val storyType: Int, + val pk: String) { + val type: NotificationType? + get() = valueOfType(storyType) +} \ No newline at end of file diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationCounts.java b/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationCounts.java deleted file mode 100644 index dfad97e0..00000000 --- a/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationCounts.java +++ /dev/null @@ -1,55 +0,0 @@ -package awais.instagrabber.repositories.responses.notification; - -public class NotificationCounts { - private final int commentLikes; - private final int usertags; - private final int likes; - private final int comments; - private final int relationships; - private final int photosOfYou; - private final int requests; - - public NotificationCounts(final int commentLikes, - final int usertags, - final int likes, - final int comments, - final int relationships, - final int photosOfYou, - final int requests) { - this.commentLikes = commentLikes; - this.usertags = usertags; - this.likes = likes; - this.comments = comments; - this.relationships = relationships; - this.photosOfYou = photosOfYou; - this.requests = requests; - } - - public int getRelationshipsCount() { - return relationships; - } - - public int getUserTagsCount() { - return usertags; - } - - public int getCommentsCount() { - return comments; - } - - public int getCommentLikesCount() { - return commentLikes; - } - - public int getLikesCount() { - return likes; - } - - public int getPOYCount() { - return photosOfYou; - } - - public int getRequestsCount() { - return requests; - } -} diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationCounts.kt b/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationCounts.kt new file mode 100644 index 00000000..d989dc0c --- /dev/null +++ b/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationCounts.kt @@ -0,0 +1,9 @@ +package awais.instagrabber.repositories.responses.notification + +class NotificationCounts(val commentLikesCount: Int, + val userTagsCount: Int, + val likesCount: Int, + val commentsCount: Int, + val relationshipsCount: Int, + val pOYCount: Int, + val requestsCount: Int) \ No newline at end of file diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationImage.java b/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationImage.java deleted file mode 100644 index e3d31bc9..00000000 --- a/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationImage.java +++ /dev/null @@ -1,19 +0,0 @@ -package awais.instagrabber.repositories.responses.notification; - -public class NotificationImage { - private final String id; - private final String image; - - public NotificationImage(final String id, final String image) { - this.id = id; - this.image = image; - } - - public String getId() { - return id; - } - - public String getImage() { - return image; - } -} diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationImage.kt b/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationImage.kt new file mode 100644 index 00000000..48210182 --- /dev/null +++ b/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationImage.kt @@ -0,0 +1,3 @@ +package awais.instagrabber.repositories.responses.notification + +class NotificationImage(val id: String, val image: String) \ No newline at end of file diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/saved/CollectionsListResponse.java b/app/src/main/java/awais/instagrabber/repositories/responses/saved/CollectionsListResponse.java deleted file mode 100644 index 3c91dacf..00000000 --- a/app/src/main/java/awais/instagrabber/repositories/responses/saved/CollectionsListResponse.java +++ /dev/null @@ -1,50 +0,0 @@ -package awais.instagrabber.repositories.responses.saved; - -import java.util.List; - -public class CollectionsListResponse { - private final boolean moreAvailable; - private final String nextMaxId; - private final String maxId; - private final String status; -// private final int numResults; - private final List items; - - public CollectionsListResponse(final boolean moreAvailable, - final String nextMaxId, - final String maxId, - final String status, -// final int numResults, - final List items) { - this.moreAvailable = moreAvailable; - this.nextMaxId = nextMaxId; - this.maxId = maxId; - this.status = status; -// this.numResults = numResults; - this.items = items; - } - - public boolean isMoreAvailable() { - return moreAvailable; - } - - public String getNextMaxId() { - return nextMaxId; - } - - public String getMaxId() { - return maxId; - } - - public String getStatus() { - return status; - } - -// public int getNumResults() { -// return numResults; -// } - - public List getItems() { - return items; - } -} diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/saved/CollectionsListResponse.kt b/app/src/main/java/awais/instagrabber/repositories/responses/saved/CollectionsListResponse.kt new file mode 100644 index 00000000..b81e8c50 --- /dev/null +++ b/app/src/main/java/awais/instagrabber/repositories/responses/saved/CollectionsListResponse.kt @@ -0,0 +1,12 @@ +package awais.instagrabber.repositories.responses.saved + +class CollectionsListResponse // this.numResults = numResults; +(val isMoreAvailable: Boolean, + val nextMaxId: String, + val maxId: String, + val status: String, // final int numResults, + // public int getNumResults() { + // return numResults; + // } + // private final int numResults; + val items: List) \ No newline at end of file diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/saved/SavedCollection.java b/app/src/main/java/awais/instagrabber/repositories/responses/saved/SavedCollection.java deleted file mode 100644 index 2bedfb77..00000000 --- a/app/src/main/java/awais/instagrabber/repositories/responses/saved/SavedCollection.java +++ /dev/null @@ -1,54 +0,0 @@ -package awais.instagrabber.repositories.responses.saved; - -import java.io.Serializable; -import java.util.List; - -import awais.instagrabber.repositories.responses.Media; - -public class SavedCollection implements Serializable { - private final String collectionId; - private final String collectionName; - private final String collectionType; - private final int collectionMediacount; - private final Media coverMedia; - private final List coverMediaList; - - public SavedCollection(final String collectionId, - final String collectionName, - final String collectionType, - final int collectionMediacount, - final Media coverMedia, - final List coverMediaList) { - this.collectionId = collectionId; - this.collectionName = collectionName; - this.collectionType = collectionType; - this.collectionMediacount = collectionMediacount; - this.coverMedia = coverMedia; - this.coverMediaList = coverMediaList; - } - - public String getId() { - return collectionId; - } - - public String getTitle() { - return collectionName; - } - - public String getType() { - return collectionType; - } - - public int getMediaCount() { - return collectionMediacount; - } - - // check the list first, then the single - // i have no idea what condition is required - - public Media getCoverMedia() { return coverMedia; } - - public List getCoverMedias() { - return coverMediaList; - } -} diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/saved/SavedCollection.kt b/app/src/main/java/awais/instagrabber/repositories/responses/saved/SavedCollection.kt new file mode 100644 index 00000000..02732c94 --- /dev/null +++ b/app/src/main/java/awais/instagrabber/repositories/responses/saved/SavedCollection.kt @@ -0,0 +1,12 @@ +package awais.instagrabber.repositories.responses.saved + +import awais.instagrabber.repositories.responses.Media +import java.io.Serializable + +class SavedCollection(val collectionId: String, + val collectionName: String, + val collectionType: String, + val collectionMediaCount: Int, + // coverMedia or coverMediaList: only one is defined + val coverMedia: Media, + val coverMediaList: List) : Serializable \ No newline at end of file diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/search/SearchResponse.java b/app/src/main/java/awais/instagrabber/repositories/responses/search/SearchResponse.java deleted file mode 100644 index d3f0e143..00000000 --- a/app/src/main/java/awais/instagrabber/repositories/responses/search/SearchResponse.java +++ /dev/null @@ -1,46 +0,0 @@ -package awais.instagrabber.repositories.responses.search; - -import java.util.List; - -public class SearchResponse { - // app - private final List list; - // browser - private final List users; - private final List places; - private final List hashtags; - // universal - private final String status; - - public SearchResponse(final List list, - final List users, - final List places, - final List hashtags, - final String status) { - this.list = list; - this.users = users; - this.places = places; - this.hashtags = hashtags; - this.status = status; - } - - public List getList() { - return list; - } - - public List getUsers() { - return users; - } - - public List getPlaces() { - return places; - } - - public List getHashtags() { - return hashtags; - } - - public String getStatus() { - return status; - } -} diff --git a/app/src/main/java/awais/instagrabber/repositories/responses/search/SearchResponse.kt b/app/src/main/java/awais/instagrabber/repositories/responses/search/SearchResponse.kt new file mode 100644 index 00000000..25f148ca --- /dev/null +++ b/app/src/main/java/awais/instagrabber/repositories/responses/search/SearchResponse.kt @@ -0,0 +1,10 @@ +package awais.instagrabber.repositories.responses.search + +class SearchResponse(// app + val list: List, + // browser + val users: List, + val places: List, + val hashtags: List, + // universal + val status: String) \ No newline at end of file