diff --git a/app/src/main/java/awais/instagrabber/adapters/SavedCollectionsAdapter.java b/app/src/main/java/awais/instagrabber/adapters/SavedCollectionsAdapter.java index 8d9ff290..0d6e361a 100644 --- a/app/src/main/java/awais/instagrabber/adapters/SavedCollectionsAdapter.java +++ b/app/src/main/java/awais/instagrabber/adapters/SavedCollectionsAdapter.java @@ -11,20 +11,19 @@ import androidx.recyclerview.widget.ListAdapter; import awais.instagrabber.adapters.viewholder.TopicClusterViewHolder; import awais.instagrabber.databinding.ItemDiscoverTopicBinding; import awais.instagrabber.repositories.responses.saved.SavedCollection; -import awais.instagrabber.utils.ResponseBodyUtils; public class SavedCollectionsAdapter extends ListAdapter { 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..ce12e26e 100644 --- a/app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java @@ -297,7 +297,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 +325,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 +408,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 +442,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 +471,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) 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/repositories/responses/notification/Notification.kt b/app/src/main/java/awais/instagrabber/repositories/responses/notification/Notification.kt index 6da18866..0cd35777 100644 --- a/app/src/main/java/awais/instagrabber/repositories/responses/notification/Notification.kt +++ b/app/src/main/java/awais/instagrabber/repositories/responses/notification/Notification.kt @@ -1,29 +1,11 @@ -package awais.instagrabber.repositories.responses.notification; +package awais.instagrabber.repositories.responses.notification -import awais.instagrabber.models.enums.NotificationType; +import awais.instagrabber.models.enums.NotificationType +import awais.instagrabber.models.enums.NotificationType.Companion.valueOfType -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; - } -} +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.kt b/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationCounts.kt index dfad97e0..d989dc0c 100644 --- a/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationCounts.kt +++ b/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationCounts.kt @@ -1,55 +1,9 @@ -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; - } -} +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.kt b/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationImage.kt index e3d31bc9..48210182 100644 --- a/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationImage.kt +++ b/app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationImage.kt @@ -1,19 +1,3 @@ -package awais.instagrabber.repositories.responses.notification; +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; - } -} +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.kt b/app/src/main/java/awais/instagrabber/repositories/responses/saved/CollectionsListResponse.kt index 3c91dacf..b81e8c50 100644 --- a/app/src/main/java/awais/instagrabber/repositories/responses/saved/CollectionsListResponse.kt +++ b/app/src/main/java/awais/instagrabber/repositories/responses/saved/CollectionsListResponse.kt @@ -1,50 +1,12 @@ -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; - } -} +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.kt b/app/src/main/java/awais/instagrabber/repositories/responses/saved/SavedCollection.kt index 2bedfb77..02732c94 100644 --- a/app/src/main/java/awais/instagrabber/repositories/responses/saved/SavedCollection.kt +++ b/app/src/main/java/awais/instagrabber/repositories/responses/saved/SavedCollection.kt @@ -1,54 +1,12 @@ -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; - } -} +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.kt b/app/src/main/java/awais/instagrabber/repositories/responses/search/SearchResponse.kt index d3f0e143..25f148ca 100644 --- a/app/src/main/java/awais/instagrabber/repositories/responses/search/SearchResponse.kt +++ b/app/src/main/java/awais/instagrabber/repositories/responses/search/SearchResponse.kt @@ -1,46 +1,10 @@ -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; - } -} +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