Browse Source
Merge remote-tracking branch 'upstream/master'
renovate/org.robolectric-robolectric-4.x
Merge remote-tracking branch 'upstream/master'
renovate/org.robolectric-robolectric-4.x
Ammar Githam
4 years ago
25 changed files with 181 additions and 398 deletions
-
3.gitignore
-
2app/src/main/java/awais/instagrabber/adapters/DirectItemsAdapter.java
-
9app/src/main/java/awais/instagrabber/adapters/SavedCollectionsAdapter.java
-
10app/src/main/java/awais/instagrabber/adapters/viewholder/TopicClusterViewHolder.java
-
26app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java
-
5app/src/main/java/awais/instagrabber/fragments/PostViewV2Fragment.java
-
4app/src/main/java/awais/instagrabber/fragments/SavedCollectionsFragment.java
-
3app/src/main/java/awais/instagrabber/managers/ThreadManager.kt
-
2app/src/main/java/awais/instagrabber/models/Comment.kt
-
109app/src/main/java/awais/instagrabber/models/enums/DirectItemType.java
-
85app/src/main/java/awais/instagrabber/models/enums/DirectItemType.kt
-
6app/src/main/java/awais/instagrabber/models/enums/RavenMediaViewMode.kt
-
5app/src/main/java/awais/instagrabber/models/enums/SuggestionType.kt
-
29app/src/main/java/awais/instagrabber/repositories/responses/notification/Notification.java
-
11app/src/main/java/awais/instagrabber/repositories/responses/notification/Notification.kt
-
55app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationCounts.java
-
9app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationCounts.kt
-
19app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationImage.java
-
3app/src/main/java/awais/instagrabber/repositories/responses/notification/NotificationImage.kt
-
50app/src/main/java/awais/instagrabber/repositories/responses/saved/CollectionsListResponse.java
-
12app/src/main/java/awais/instagrabber/repositories/responses/saved/CollectionsListResponse.kt
-
54app/src/main/java/awais/instagrabber/repositories/responses/saved/SavedCollection.java
-
12app/src/main/java/awais/instagrabber/repositories/responses/saved/SavedCollection.kt
-
46app/src/main/java/awais/instagrabber/repositories/responses/search/SearchResponse.java
-
10app/src/main/java/awais/instagrabber/repositories/responses/search/SearchResponse.kt
@ -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<Integer, DirectItemType> 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; |
|||
} |
|||
} |
@ -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<Int, DirectItemType> = 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 |
|||
} |
|||
} |
|||
} |
|||
} |
@ -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") |
@ -1,5 +0,0 @@ |
|||
package awais.instagrabber.models.enums |
|||
|
|||
enum class SuggestionType { |
|||
TYPE_USER, TYPE_HASHTAG, TYPE_LOCATION |
|||
} |
@ -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; |
|||
} |
|||
} |
@ -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) |
|||
} |
@ -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; |
|||
} |
|||
} |
@ -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) |
@ -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; |
|||
} |
|||
} |
@ -0,0 +1,3 @@ |
|||
package awais.instagrabber.repositories.responses.notification |
|||
|
|||
class NotificationImage(val id: String, val image: String) |
@ -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<SavedCollection> items; |
|||
|
|||
public CollectionsListResponse(final boolean moreAvailable, |
|||
final String nextMaxId, |
|||
final String maxId, |
|||
final String status, |
|||
// final int numResults, |
|||
final List<SavedCollection> 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<SavedCollection> getItems() { |
|||
return items; |
|||
} |
|||
} |
@ -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<SavedCollection>) |
@ -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<Media> coverMediaList; |
|||
|
|||
public SavedCollection(final String collectionId, |
|||
final String collectionName, |
|||
final String collectionType, |
|||
final int collectionMediacount, |
|||
final Media coverMedia, |
|||
final List<Media> 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<Media> getCoverMedias() { |
|||
return coverMediaList; |
|||
} |
|||
} |
@ -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<Media>) : Serializable |
@ -1,46 +0,0 @@ |
|||
package awais.instagrabber.repositories.responses.search; |
|||
|
|||
import java.util.List; |
|||
|
|||
public class SearchResponse { |
|||
// app |
|||
private final List<SearchItem> list; |
|||
// browser |
|||
private final List<SearchItem> users; |
|||
private final List<SearchItem> places; |
|||
private final List<SearchItem> hashtags; |
|||
// universal |
|||
private final String status; |
|||
|
|||
public SearchResponse(final List<SearchItem> list, |
|||
final List<SearchItem> users, |
|||
final List<SearchItem> places, |
|||
final List<SearchItem> hashtags, |
|||
final String status) { |
|||
this.list = list; |
|||
this.users = users; |
|||
this.places = places; |
|||
this.hashtags = hashtags; |
|||
this.status = status; |
|||
} |
|||
|
|||
public List<SearchItem> getList() { |
|||
return list; |
|||
} |
|||
|
|||
public List<SearchItem> getUsers() { |
|||
return users; |
|||
} |
|||
|
|||
public List<SearchItem> getPlaces() { |
|||
return places; |
|||
} |
|||
|
|||
public List<SearchItem> getHashtags() { |
|||
return hashtags; |
|||
} |
|||
|
|||
public String getStatus() { |
|||
return status; |
|||
} |
|||
} |
@ -0,0 +1,10 @@ |
|||
package awais.instagrabber.repositories.responses.search |
|||
|
|||
class SearchResponse(// app |
|||
val list: List<SearchItem>, |
|||
// browser |
|||
val users: List<SearchItem>, |
|||
val places: List<SearchItem>, |
|||
val hashtags: List<SearchItem>, |
|||
// universal |
|||
val status: String) |
Write
Preview
Loading…
Cancel
Save
Reference in new issue