mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-11-15 19:27:31 +00:00
Added some todo
This commit is contained in:
parent
981cd693bf
commit
5b10ecbd9d
@ -14,7 +14,6 @@ import java.util.Collections;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import awais.instagrabber.BuildConfig;
|
|
||||||
import awais.instagrabber.models.StoryModel;
|
import awais.instagrabber.models.StoryModel;
|
||||||
import awais.instagrabber.models.enums.MediaItemType;
|
import awais.instagrabber.models.enums.MediaItemType;
|
||||||
import awais.instagrabber.models.stickers.PollModel;
|
import awais.instagrabber.models.stickers.PollModel;
|
||||||
@ -30,7 +29,6 @@ import awais.instagrabber.repositories.responses.Media;
|
|||||||
import awais.instagrabber.repositories.responses.MediaCandidate;
|
import awais.instagrabber.repositories.responses.MediaCandidate;
|
||||||
import awais.instagrabber.repositories.responses.User;
|
import awais.instagrabber.repositories.responses.User;
|
||||||
import awais.instagrabber.repositories.responses.VideoVersion;
|
import awais.instagrabber.repositories.responses.VideoVersion;
|
||||||
//import awaisomereport.LogCollector;
|
|
||||||
|
|
||||||
public final class ResponseBodyUtils {
|
public final class ResponseBodyUtils {
|
||||||
private static final String TAG = "ResponseBodyUtils";
|
private static final String TAG = "ResponseBodyUtils";
|
||||||
@ -75,11 +73,7 @@ public final class ResponseBodyUtils {
|
|||||||
if (lastIndexMain >= 0) return sources[lastIndexMain];
|
if (lastIndexMain >= 0) return sources[lastIndexMain];
|
||||||
else if (lastIndexBase >= 0) return sources[lastIndexBase];
|
else if (lastIndexBase >= 0) return sources[lastIndexBase];
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
// if (Utils.logCollector != null)
|
Log.e(TAG, "", e);
|
||||||
// Utils.logCollector.appendException(e, LogCollector.LogFile.UTILS, "getHighQualityPost",
|
|
||||||
// new Pair<>("resourcesNull", resources == null),
|
|
||||||
// new Pair<>("isVideo", isVideo));
|
|
||||||
if (BuildConfig.DEBUG) Log.e("AWAISKING_APP", "", e);
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -93,587 +87,11 @@ public final class ResponseBodyUtils {
|
|||||||
src = getHighQualityPost(resources.getJSONObject("image_versions2").getJSONArray("candidates"), false, true, false);
|
src = getHighQualityPost(resources.getJSONObject("image_versions2").getJSONArray("candidates"), false, true, false);
|
||||||
if (src == null) return resources.getString("display_url");
|
if (src == null) return resources.getString("display_url");
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
// if (Utils.logCollector != null)
|
Log.e(TAG, "", e);
|
||||||
// Utils.logCollector.appendException(e, LogCollector.LogFile.UTILS, "getHighQualityImage",
|
|
||||||
// new Pair<>("resourcesNull", resources == null));
|
|
||||||
if (BuildConfig.DEBUG) Log.e("AWAISKING_APP", "", e);
|
|
||||||
}
|
}
|
||||||
return src;
|
return src;
|
||||||
}
|
}
|
||||||
|
|
||||||
// public static String getLowQualityImage(final JSONObject resources) {
|
|
||||||
// String src = null;
|
|
||||||
// try {
|
|
||||||
// src = getHighQualityPost(resources.getJSONObject("image_versions2").getJSONArray("candidates"), false, true, true);
|
|
||||||
// } catch (final Exception e) {
|
|
||||||
// if (Utils.logCollector != null)
|
|
||||||
// Utils.logCollector.appendException(e, LogCollector.LogFile.UTILS, "getLowQualityImage",
|
|
||||||
// new Pair<>("resourcesNull", resources == null));
|
|
||||||
// if (BuildConfig.DEBUG) Log.e(TAG, "Error in getLowQualityImage", e);
|
|
||||||
// }
|
|
||||||
// return src;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public static ThumbnailDetails getItemThumbnail(@NonNull final JSONArray jsonArray) {
|
|
||||||
// final ThumbnailDetails thumbnailDetails = new ThumbnailDetails();
|
|
||||||
// final int imageResLen = jsonArray.length();
|
|
||||||
// for (int i = 0; i < imageResLen; ++i) {
|
|
||||||
// final JSONObject imageResource = jsonArray.optJSONObject(i);
|
|
||||||
// try {
|
|
||||||
// // final float ratio = (float) height / width;
|
|
||||||
// // if (ratio >= 0.95f && ratio <= 1.0f) {
|
|
||||||
// thumbnailDetails.height = imageResource.getInt("height");
|
|
||||||
// thumbnailDetails.width = imageResource.getInt("width");
|
|
||||||
// thumbnailDetails.url = imageResource.getString("url");
|
|
||||||
// break;
|
|
||||||
// // }
|
|
||||||
// } catch (final Exception e) {
|
|
||||||
// if (Utils.logCollector != null)
|
|
||||||
// Utils.logCollector.appendException(e, LogCollector.LogFile.UTILS, "getItemThumbnail");
|
|
||||||
// if (BuildConfig.DEBUG) Log.e(TAG, "", e);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// // if (TextUtils.isEmpty(thumbnail)) thumbnail = jsonArray.optJSONObject(0).optString("url");
|
|
||||||
// return thumbnailDetails;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public static class ThumbnailDetails {
|
|
||||||
// int width;
|
|
||||||
// int height;
|
|
||||||
// public String url;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @Nullable
|
|
||||||
// public static ThumbnailDetails getThumbnailUrl(@NonNull final JSONObject mediaObj, final MediaItemType mediaType) throws Exception {
|
|
||||||
// ThumbnailDetails thumbnail = null;
|
|
||||||
// if (mediaType == MediaItemType.MEDIA_TYPE_IMAGE || mediaType == MediaItemType.MEDIA_TYPE_VIDEO) {
|
|
||||||
// final JSONObject imageVersions = mediaObj.optJSONObject("image_versions2");
|
|
||||||
// if (imageVersions != null)
|
|
||||||
// thumbnail = getItemThumbnail(imageVersions.getJSONArray("candidates"));
|
|
||||||
//
|
|
||||||
// } else if (mediaType == MediaItemType.MEDIA_TYPE_SLIDER) {
|
|
||||||
// final JSONArray carouselMedia = mediaObj.optJSONArray("carousel_media");
|
|
||||||
// if (carouselMedia != null)
|
|
||||||
// thumbnail = getItemThumbnail(carouselMedia.getJSONObject(0)
|
|
||||||
// .getJSONObject("image_versions2")
|
|
||||||
// .getJSONArray("candidates"));
|
|
||||||
// }
|
|
||||||
// return thumbnail;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public static String getVideoUrl(@NonNull final JSONObject mediaObj) {
|
|
||||||
// String url = null;
|
|
||||||
// final JSONArray videoVersions = mediaObj.optJSONArray("video_versions");
|
|
||||||
// if (videoVersions == null) {
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// int largestWidth = 0;
|
|
||||||
// for (int i = 0; i < videoVersions.length(); i++) {
|
|
||||||
// final JSONObject videoVersionJson = videoVersions.optJSONObject(i);
|
|
||||||
// if (videoVersionJson == null) {
|
|
||||||
// continue;
|
|
||||||
// }
|
|
||||||
// final int width = videoVersionJson.optInt("width");
|
|
||||||
// if (largestWidth == 0 || width > largestWidth) {
|
|
||||||
// largestWidth = width;
|
|
||||||
// url = videoVersionJson.optString("url");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return url;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @Nullable
|
|
||||||
// public static MediaItemType getMediaItemType(final int mediaType) {
|
|
||||||
// if (mediaType == 1) return MediaItemType.MEDIA_TYPE_IMAGE;
|
|
||||||
// if (mediaType == 2) return MediaItemType.MEDIA_TYPE_VIDEO;
|
|
||||||
// if (mediaType == 8) return MediaItemType.MEDIA_TYPE_SLIDER;
|
|
||||||
// if (mediaType == 11) return MediaItemType.MEDIA_TYPE_VOICE;
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public static DirectItemModel.DirectItemMediaModel getDirectMediaModel(final JSONObject mediaObj) throws Exception {
|
|
||||||
// final DirectItemModel.DirectItemMediaModel mediaModel;
|
|
||||||
// if (mediaObj == null) mediaModel = null;
|
|
||||||
// else {
|
|
||||||
// final JSONObject userObj = mediaObj.optJSONObject("user");
|
|
||||||
//
|
|
||||||
// ProfileModel user = null;
|
|
||||||
// if (userObj != null) {
|
|
||||||
// user = new ProfileModel(
|
|
||||||
// userObj.getBoolean("is_private"),
|
|
||||||
// false,
|
|
||||||
// userObj.optBoolean("is_verified"),
|
|
||||||
// String.valueOf(userObj.get("pk")),
|
|
||||||
// userObj.getString("username"),
|
|
||||||
// userObj.getString("full_name"),
|
|
||||||
// null, null,
|
|
||||||
// userObj.getString("profile_pic_url"),
|
|
||||||
// null, 0, 0, 0, false, false, false, false, false);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// final MediaItemType mediaType = getMediaItemType(mediaObj.optInt("media_type", -1));
|
|
||||||
//
|
|
||||||
// String id = mediaObj.optString("id");
|
|
||||||
// if (TextUtils.isEmpty(id)) id = null;
|
|
||||||
//
|
|
||||||
// final ThumbnailDetails thumbnailDetails = getThumbnailUrl(mediaObj, mediaType);
|
|
||||||
// mediaModel = new DirectItemModel.DirectItemMediaModel(
|
|
||||||
// mediaType,
|
|
||||||
// mediaObj.optLong("expiring_at"),
|
|
||||||
// mediaObj.optLong("pk"),
|
|
||||||
// id,
|
|
||||||
// thumbnailDetails != null ? thumbnailDetails.url : null,
|
|
||||||
// mediaType == MediaItemType.MEDIA_TYPE_VIDEO ? getVideoUrl(mediaObj) : null,
|
|
||||||
// user,
|
|
||||||
// mediaObj.optString("code"),
|
|
||||||
// thumbnailDetails != null ? thumbnailDetails.height : 0,
|
|
||||||
// thumbnailDetails != null ? thumbnailDetails.width : 0);
|
|
||||||
// }
|
|
||||||
// return mediaModel;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// private static DirectItemType getDirectItemType(final String itemType) {
|
|
||||||
// if ("placeholder".equals(itemType)) return DirectItemType.PLACEHOLDER;
|
|
||||||
// if ("media".equals(itemType)) return DirectItemType.MEDIA;
|
|
||||||
// if ("link".equals(itemType)) return DirectItemType.LINK;
|
|
||||||
// if ("like".equals(itemType)) return DirectItemType.LIKE;
|
|
||||||
// if ("reel_share".equals(itemType)) return DirectItemType.REEL_SHARE;
|
|
||||||
// if ("media_share".equals(itemType)) return DirectItemType.MEDIA_SHARE;
|
|
||||||
// if ("action_log".equals(itemType)) return DirectItemType.ACTION_LOG;
|
|
||||||
// if ("raven_media".equals(itemType)) return DirectItemType.RAVEN_MEDIA;
|
|
||||||
// if ("profile".equals(itemType)) return DirectItemType.PROFILE;
|
|
||||||
// if ("video_call_event".equals(itemType)) return DirectItemType.VIDEO_CALL_EVENT;
|
|
||||||
// if ("animated_media".equals(itemType)) return DirectItemType.ANIMATED_MEDIA;
|
|
||||||
// if ("voice_media".equals(itemType)) return DirectItemType.VOICE_MEDIA;
|
|
||||||
// if ("story_share".equals(itemType)) return DirectItemType.STORY_SHARE;
|
|
||||||
// if ("clip".equals(itemType)) return DirectItemType.CLIP;
|
|
||||||
// if ("felix_share".equals(itemType)) return DirectItemType.FELIX_SHARE;
|
|
||||||
// return DirectItemType.TEXT;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @NonNull
|
|
||||||
// public static InboxThreadModel createInboxThreadModel(@NonNull final JSONObject data, final boolean inThreadView) throws Exception {
|
|
||||||
// final InboxReadState readState = data.getInt("read_state") == 0 ? InboxReadState.STATE_READ : InboxReadState.STATE_UNREAD;
|
|
||||||
// final String threadType = data.getString("thread_type"); // they're all "private", group is identified by boolean "is_group"
|
|
||||||
//
|
|
||||||
// final String threadId = data.getString("thread_id");
|
|
||||||
// final String threadV2Id = data.getString("thread_v2_id");
|
|
||||||
// final String threadTitle = data.getString("thread_title");
|
|
||||||
//
|
|
||||||
// final String threadNewestCursor = data.optString("newest_cursor");
|
|
||||||
// final String threadOldestCursor = data.optString("oldest_cursor");
|
|
||||||
// final String threadNextCursor = data.has("next_cursor") ? data.getString("next_cursor") : null;
|
|
||||||
// final String threadPrevCursor = data.has("prev_cursor") ? data.getString("prev_cursor") : null;
|
|
||||||
//
|
|
||||||
// final boolean threadHasOlder = data.getBoolean("has_older");
|
|
||||||
// final long unreadCount = data.optLong("read_state", 0);
|
|
||||||
//
|
|
||||||
// final long lastActivityAt = data.optLong("last_activity_at");
|
|
||||||
// final boolean named = data.optBoolean("named");
|
|
||||||
// final boolean muted = data.optBoolean("muted");
|
|
||||||
// final boolean isPin = data.optBoolean("is_pin");
|
|
||||||
// final boolean isSpam = data.optBoolean("is_spam");
|
|
||||||
// final boolean isGroup = data.optBoolean("is_group");
|
|
||||||
// final boolean pending = data.optBoolean("pending");
|
|
||||||
// final boolean archived = data.optBoolean("archived");
|
|
||||||
// final boolean canonical = data.optBoolean("canonical");
|
|
||||||
//
|
|
||||||
// final JSONArray users = data.getJSONArray("users");
|
|
||||||
// final int usersLen = users.length();
|
|
||||||
// final JSONArray leftusers = data.optJSONArray("left_users");
|
|
||||||
// final int leftusersLen = leftusers == null ? 0 : leftusers.length();
|
|
||||||
// final JSONArray admins = data.getJSONArray("admin_user_ids");
|
|
||||||
// final int adminsLen = admins.length();
|
|
||||||
//
|
|
||||||
// final ProfileModel[] userModels = new ProfileModel[usersLen];
|
|
||||||
// for (int j = 0; j < usersLen; ++j) {
|
|
||||||
// final JSONObject userObject = users.getJSONObject(j);
|
|
||||||
// userModels[j] = new ProfileModel(userObject.optBoolean("is_private"),
|
|
||||||
// false,
|
|
||||||
// userObject.optBoolean("is_verified"),
|
|
||||||
// String.valueOf(userObject.get("pk")),
|
|
||||||
// userObject.optString("username"), // optional cuz fb users
|
|
||||||
// userObject.getString("full_name"),
|
|
||||||
// null, null,
|
|
||||||
// userObject.getString("profile_pic_url"),
|
|
||||||
// null, 0, 0, 0, false, false, false, false, false);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// final ProfileModel[] leftuserModels = new ProfileModel[leftusersLen];
|
|
||||||
// for (int j = 0; j < leftusersLen; ++j) {
|
|
||||||
// final JSONObject userObject = leftusers.getJSONObject(j);
|
|
||||||
// leftuserModels[j] = new ProfileModel(userObject.getBoolean("is_private"),
|
|
||||||
// false,
|
|
||||||
// userObject.optBoolean("is_verified"),
|
|
||||||
// String.valueOf(userObject.get("pk")),
|
|
||||||
// userObject.getString("username"),
|
|
||||||
// userObject.getString("full_name"),
|
|
||||||
// null, null,
|
|
||||||
// userObject.getString("profile_pic_url"),
|
|
||||||
// null, 0, 0, 0, false, false, false, false, false);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// final Long[] adminIDs = new Long[adminsLen];
|
|
||||||
// for (int j = 0; j < adminsLen; ++j) {
|
|
||||||
// adminIDs[j] = admins.getLong(j);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// final JSONArray items = data.getJSONArray("items");
|
|
||||||
// final int itemsLen = items.length();
|
|
||||||
//
|
|
||||||
// final ArrayList<DirectItemModel> itemModels = new ArrayList<>(itemsLen);
|
|
||||||
// for (int i = 0; i < itemsLen; ++i) {
|
|
||||||
// final JSONObject itemObject = items.getJSONObject(i);
|
|
||||||
//
|
|
||||||
// CharSequence text = null;
|
|
||||||
// ProfileModel profileModel = null;
|
|
||||||
// DirectItemModel.DirectItemLinkModel linkModel = null;
|
|
||||||
// DirectItemModel.DirectItemMediaModel directMedia = null;
|
|
||||||
// DirectItemModel.DirectItemReelShareModel reelShareModel = null;
|
|
||||||
// DirectItemModel.DirectItemActionLogModel actionLogModel = null;
|
|
||||||
// DirectItemModel.DirectItemAnimatedMediaModel animatedMediaModel = null;
|
|
||||||
// DirectItemModel.DirectItemVoiceMediaModel voiceMediaModel = null;
|
|
||||||
// DirectItemModel.DirectItemRavenMediaModel ravenMediaModel = null;
|
|
||||||
// DirectItemModel.DirectItemVideoCallEventModel videoCallEventModel = null;
|
|
||||||
//
|
|
||||||
// final DirectItemType itemType = getDirectItemType(itemObject.getString("item_type"));
|
|
||||||
// switch (itemType) {
|
|
||||||
// case ANIMATED_MEDIA: {
|
|
||||||
// final JSONObject animatedMedia = itemObject.getJSONObject("animated_media");
|
|
||||||
// final JSONObject stickerImage = animatedMedia.getJSONObject("images").getJSONObject("fixed_height");
|
|
||||||
//
|
|
||||||
// animatedMediaModel = new DirectItemModel.DirectItemAnimatedMediaModel(
|
|
||||||
// animatedMedia.getBoolean("is_random"),
|
|
||||||
// animatedMedia.getBoolean("is_sticker"),
|
|
||||||
// animatedMedia.getString("id"),
|
|
||||||
// stickerImage.getString("url"),
|
|
||||||
// stickerImage.optString("webp"),
|
|
||||||
// stickerImage.optString("mp4"),
|
|
||||||
// stickerImage.getInt("height"),
|
|
||||||
// stickerImage.getInt("width"));
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case VOICE_MEDIA: {
|
|
||||||
// final JSONObject voiceMedia = itemObject.getJSONObject("voice_media").getJSONObject("media");
|
|
||||||
// final JSONObject audio = voiceMedia.getJSONObject("audio");
|
|
||||||
//
|
|
||||||
// int[] waveformData = null;
|
|
||||||
// final JSONArray waveformDataArray = audio.optJSONArray("waveform_data");
|
|
||||||
// if (waveformDataArray != null) {
|
|
||||||
// final int waveformDataLen = waveformDataArray.length();
|
|
||||||
// waveformData = new int[waveformDataLen];
|
|
||||||
// // 0.011775206
|
|
||||||
// for (int j = 0; j < waveformDataLen; ++j) {
|
|
||||||
// waveformData[j] = (int) (waveformDataArray.optDouble(j) * 10);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// voiceMediaModel = new DirectItemModel.DirectItemVoiceMediaModel(
|
|
||||||
// voiceMedia.getString("id"),
|
|
||||||
// audio.getString("audio_src"),
|
|
||||||
// audio.getLong("duration"),
|
|
||||||
// waveformData);
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case LINK: {
|
|
||||||
// final JSONObject linkObj = itemObject.getJSONObject("link");
|
|
||||||
//
|
|
||||||
// DirectItemModel.DirectItemLinkContext itemLinkContext = null;
|
|
||||||
// final JSONObject linkContext = linkObj.optJSONObject("link_context");
|
|
||||||
// if (linkContext != null) {
|
|
||||||
// itemLinkContext = new DirectItemModel.DirectItemLinkContext(
|
|
||||||
// linkContext.getString("link_url"),
|
|
||||||
// linkContext.optString("link_title"),
|
|
||||||
// linkContext.optString("link_summary"),
|
|
||||||
// linkContext.optString("link_image_url")
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// linkModel = new DirectItemModel.DirectItemLinkModel(
|
|
||||||
// linkObj.getString("text"),
|
|
||||||
// linkObj.getString("client_context"),
|
|
||||||
// linkObj.optString("mutation_token"),
|
|
||||||
// itemLinkContext);
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case REEL_SHARE: {
|
|
||||||
// final JSONObject reelShare = itemObject.getJSONObject("reel_share");
|
|
||||||
// reelShareModel = new DirectItemModel.DirectItemReelShareModel(
|
|
||||||
// reelShare.optBoolean("is_reel_persisted"),
|
|
||||||
// reelShare.getLong("reel_owner_id"),
|
|
||||||
// reelShare.getJSONObject("media").getJSONObject("user").getString("username"),
|
|
||||||
// reelShare.getString("text"),
|
|
||||||
// reelShare.getString("type"),
|
|
||||||
// reelShare.getString("reel_type"),
|
|
||||||
// reelShare.optString("reel_name"),
|
|
||||||
// reelShare.optString("reel_id"),
|
|
||||||
// getDirectMediaModel(reelShare.optJSONObject("media")));
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case RAVEN_MEDIA: {
|
|
||||||
// final JSONObject visualMedia = itemObject.getJSONObject("visual_media");
|
|
||||||
//
|
|
||||||
// final JSONArray seenUserIdsArray = visualMedia.getJSONArray("seen_user_ids");
|
|
||||||
// final int seenUsersLen = seenUserIdsArray.length();
|
|
||||||
// final String[] seenUserIds = new String[seenUsersLen];
|
|
||||||
// for (int j = 0; j < seenUsersLen; j++)
|
|
||||||
// seenUserIds[j] = seenUserIdsArray.getString(j);
|
|
||||||
//
|
|
||||||
// DirectItemModel.RavenExpiringMediaActionSummaryModel expiringSummaryModel = null;
|
|
||||||
// final JSONObject actionSummary = visualMedia.optJSONObject("expiring_media_action_summary");
|
|
||||||
// if (actionSummary != null)
|
|
||||||
// expiringSummaryModel = new DirectItemModel.RavenExpiringMediaActionSummaryModel(
|
|
||||||
// actionSummary.getLong("timestamp"), actionSummary.getInt("count"),
|
|
||||||
// getExpiringMediaType(actionSummary.getString("type")));
|
|
||||||
//
|
|
||||||
// final RavenMediaViewType viewType;
|
|
||||||
// final String viewMode = visualMedia.getString("view_mode");
|
|
||||||
// switch (viewMode) {
|
|
||||||
// case "replayable":
|
|
||||||
// viewType = RavenMediaViewType.REPLAYABLE;
|
|
||||||
// break;
|
|
||||||
// case "permanent":
|
|
||||||
// viewType = RavenMediaViewType.PERMANENT;
|
|
||||||
// break;
|
|
||||||
// case "once":
|
|
||||||
// default:
|
|
||||||
// viewType = RavenMediaViewType.ONCE;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// ravenMediaModel = new DirectItemModel.DirectItemRavenMediaModel(
|
|
||||||
// visualMedia.optLong(viewType == RavenMediaViewType.PERMANENT ? "url_expire_at_secs" : "replay_expiring_at_us"),
|
|
||||||
// visualMedia.optInt("playback_duration_secs"),
|
|
||||||
// visualMedia.getInt("seen_count"),
|
|
||||||
// seenUserIds,
|
|
||||||
// viewType,
|
|
||||||
// getDirectMediaModel(visualMedia.optJSONObject("media")),
|
|
||||||
// expiringSummaryModel);
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case VIDEO_CALL_EVENT: {
|
|
||||||
// final JSONObject videoCallEvent = itemObject.getJSONObject("video_call_event");
|
|
||||||
// videoCallEventModel = new DirectItemModel.DirectItemVideoCallEventModel(videoCallEvent.optLong("vc_id"),
|
|
||||||
// videoCallEvent.optBoolean("thread_has_audio_only_call"),
|
|
||||||
// videoCallEvent.getString("action"),
|
|
||||||
// videoCallEvent.getString("description"));
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case PROFILE: {
|
|
||||||
// final JSONObject profile = itemObject.getJSONObject("profile");
|
|
||||||
// profileModel = new ProfileModel(profile.getBoolean("is_private"),
|
|
||||||
// false,
|
|
||||||
// profile.getBoolean("is_verified"),
|
|
||||||
// Long.toString(profile.getLong("pk")),
|
|
||||||
// profile.getString("username"),
|
|
||||||
// profile.getString("full_name"),
|
|
||||||
// null, null,
|
|
||||||
// profile.getString("profile_pic_url"),
|
|
||||||
// null, 0, 0, 0, false, false, false, false, false);
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case PLACEHOLDER:
|
|
||||||
// final JSONObject placeholder = itemObject.getJSONObject("placeholder");
|
|
||||||
// text = placeholder.getString("title") + "<br><small>" + placeholder.getString("message") + "</small>";
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case ACTION_LOG:
|
|
||||||
// if (inThreadView && itemObject.optInt("hide_in_thread", 0) != 0)
|
|
||||||
// continue;
|
|
||||||
// final JSONObject actionLog = itemObject.getJSONObject("action_log");
|
|
||||||
// String desc = actionLog.getString("description");
|
|
||||||
// JSONArray bold = actionLog.getJSONArray("bold");
|
|
||||||
// for (int q = 0; q < bold.length(); ++q) {
|
|
||||||
// JSONObject boldItem = bold.getJSONObject(q);
|
|
||||||
// desc = desc.substring(0, boldItem.getInt("start") + q * 7) + "<b>"
|
|
||||||
// + desc.substring(boldItem.getInt("start") + q * 7, boldItem.getInt("end") + q * 7)
|
|
||||||
// + "</b>" + desc.substring(boldItem.getInt("end") + q * 7);
|
|
||||||
// }
|
|
||||||
// actionLogModel = new DirectItemModel.DirectItemActionLogModel(desc);
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case MEDIA_SHARE:
|
|
||||||
// directMedia = getDirectMediaModel(itemObject.getJSONObject("media_share"));
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case CLIP:
|
|
||||||
// directMedia = getDirectMediaModel(itemObject.getJSONObject("clip").getJSONObject("clip"));
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case FELIX_SHARE:
|
|
||||||
// directMedia = getDirectMediaModel(itemObject.getJSONObject("felix_share").getJSONObject("video"));
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case MEDIA:
|
|
||||||
// directMedia = getDirectMediaModel(itemObject.optJSONObject("media"));
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case LIKE:
|
|
||||||
// text = itemObject.getString("like");
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case STORY_SHARE:
|
|
||||||
// final JSONObject storyShare = itemObject.getJSONObject("story_share");
|
|
||||||
// if (!storyShare.has("media"))
|
|
||||||
// text = "<small>" + storyShare.optString("message") + "</small>";
|
|
||||||
// else {
|
|
||||||
// reelShareModel = new DirectItemModel.DirectItemReelShareModel(
|
|
||||||
// storyShare.optBoolean("is_reel_persisted"),
|
|
||||||
// storyShare.getJSONObject("media").getJSONObject("user").getLong("pk"),
|
|
||||||
// storyShare.getJSONObject("media").getJSONObject("user").getString("username"),
|
|
||||||
// storyShare.getString("text"),
|
|
||||||
// storyShare.getString("story_share_type"),
|
|
||||||
// storyShare.getString("reel_type"),
|
|
||||||
// storyShare.optString("reel_name"),
|
|
||||||
// storyShare.optString("reel_id"),
|
|
||||||
// getDirectMediaModel(storyShare.optJSONObject("media")));
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case TEXT:
|
|
||||||
// if (!itemObject.has("text"))
|
|
||||||
// Log.d("AWAISKING_APP", "itemObject: " + itemObject); // todo
|
|
||||||
// text = itemObject.optString("text");
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// String[] liked = null;
|
|
||||||
// if (!itemObject.isNull("reactions") && !itemObject.getJSONObject("reactions").isNull("likes")) {
|
|
||||||
// JSONArray rawLiked = itemObject.getJSONObject("reactions").getJSONArray("likes");
|
|
||||||
// liked = new String[rawLiked.length()];
|
|
||||||
// for (int l = 0; l < rawLiked.length(); ++l) {
|
|
||||||
// liked[l] = String.valueOf(rawLiked.getJSONObject(l).getLong("sender_id"));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// itemModels.add(new DirectItemModel(
|
|
||||||
// itemObject.getLong("user_id"),
|
|
||||||
// itemObject.getLong("timestamp"),
|
|
||||||
// itemObject.getString("item_id"),
|
|
||||||
// liked,
|
|
||||||
// itemType,
|
|
||||||
// text,
|
|
||||||
// linkModel,
|
|
||||||
// profileModel,
|
|
||||||
// reelShareModel,
|
|
||||||
// directMedia,
|
|
||||||
// actionLogModel,
|
|
||||||
// voiceMediaModel,
|
|
||||||
// ravenMediaModel,
|
|
||||||
// videoCallEventModel,
|
|
||||||
// animatedMediaModel));
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// itemModels.trimToSize();
|
|
||||||
//
|
|
||||||
// return new InboxThreadModel(readState, threadId, threadV2Id, threadType, threadTitle,
|
|
||||||
// threadNewestCursor, threadOldestCursor, threadNextCursor, threadPrevCursor,
|
|
||||||
// null, // todo
|
|
||||||
// userModels, leftuserModels, adminIDs,
|
|
||||||
// itemModels.toArray(new DirectItemModel[0]),
|
|
||||||
// muted, isPin, named, canonical,
|
|
||||||
// pending, threadHasOlder, unreadCount, isSpam, isGroup, archived, lastActivityAt);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// private static RavenExpiringMediaType getExpiringMediaType(final String type) {
|
|
||||||
// if ("raven_sent".equals(type)) return RavenExpiringMediaType.RAVEN_SENT;
|
|
||||||
// if ("raven_opened".equals(type)) return RavenExpiringMediaType.RAVEN_OPENED;
|
|
||||||
// if ("raven_blocked".equals(type)) return RavenExpiringMediaType.RAVEN_BLOCKED;
|
|
||||||
// if ("raven_sending".equals(type)) return RavenExpiringMediaType.RAVEN_SENDING;
|
|
||||||
// if ("raven_replayed".equals(type)) return RavenExpiringMediaType.RAVEN_REPLAYED;
|
|
||||||
// if ("raven_delivered".equals(type)) return RavenExpiringMediaType.RAVEN_DELIVERED;
|
|
||||||
// if ("raven_suggested".equals(type)) return RavenExpiringMediaType.RAVEN_SUGGESTED;
|
|
||||||
// if ("raven_screenshot".equals(type)) return RavenExpiringMediaType.RAVEN_SCREENSHOT;
|
|
||||||
// if ("raven_cannot_deliver".equals(type)) return RavenExpiringMediaType.RAVEN_CANNOT_DELIVER;
|
|
||||||
// //if ("raven_unknown".equals(type)) [default?]
|
|
||||||
// return RavenExpiringMediaType.RAVEN_UNKNOWN;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public static FeedModel parseItem(final JSONObject itemJson) throws JSONException {
|
|
||||||
// if (itemJson == null) {
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// ProfileModel profileModel = null;
|
|
||||||
// if (itemJson.has("user")) {
|
|
||||||
// final JSONObject user = itemJson.getJSONObject("user");
|
|
||||||
// final JSONObject friendshipStatus = user.optJSONObject("friendship_status");
|
|
||||||
// boolean following = false;
|
|
||||||
// boolean restricted = false;
|
|
||||||
// boolean requested = false;
|
|
||||||
// if (friendshipStatus != null) {
|
|
||||||
// following = friendshipStatus.optBoolean("following");
|
|
||||||
// requested = friendshipStatus.optBoolean("outgoing_request");
|
|
||||||
// restricted = friendshipStatus.optBoolean("is_restricted");
|
|
||||||
// }
|
|
||||||
// profileModel = new ProfileModel(
|
|
||||||
// user.optBoolean("is_private"),
|
|
||||||
// false, // if you can see it then you def follow
|
|
||||||
// user.optBoolean("is_verified"),
|
|
||||||
// user.getString("pk"),
|
|
||||||
// user.getString(Constants.EXTRAS_USERNAME),
|
|
||||||
// user.optString("full_name"),
|
|
||||||
// null,
|
|
||||||
// null,
|
|
||||||
// user.getString("profile_pic_url"),
|
|
||||||
// null,
|
|
||||||
// 0,
|
|
||||||
// 0,
|
|
||||||
// 0,
|
|
||||||
// following,
|
|
||||||
// false,
|
|
||||||
// restricted,
|
|
||||||
// false,
|
|
||||||
// requested);
|
|
||||||
// }
|
|
||||||
// final JSONObject captionJson = itemJson.optJSONObject("caption");
|
|
||||||
// final JSONObject locationJson = itemJson.optJSONObject("location");
|
|
||||||
// final MediaItemType mediaType = ResponseBodyUtils.getMediaItemType(itemJson.optInt("media_type"));
|
|
||||||
// if (mediaType == null) {
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// final FeedModel.Builder feedModelBuilder = new FeedModel.Builder()
|
|
||||||
// .setItemType(mediaType)
|
|
||||||
// .setProfileModel(profileModel)
|
|
||||||
// .setPostId(itemJson.getString(Constants.EXTRAS_ID))
|
|
||||||
// .setThumbnailUrl(mediaType != MediaItemType.MEDIA_TYPE_SLIDER ? ResponseBodyUtils.getLowQualityImage(itemJson) : null)
|
|
||||||
// .setShortCode(itemJson.getString("code"))
|
|
||||||
// .setPostCaption(captionJson != null ? captionJson.optString("text") : "")
|
|
||||||
// .setCaptionId(captionJson != null ? captionJson.optString("pk") : null)
|
|
||||||
// .setCommentsCount(itemJson.optInt("comment_count"))
|
|
||||||
// .setTimestamp(itemJson.optLong("taken_at", -1))
|
|
||||||
// .setLiked(itemJson.optBoolean("has_liked"))
|
|
||||||
// .setBookmarked(itemJson.optBoolean("has_viewer_saved"))
|
|
||||||
// .setLikesCount(itemJson.optInt("like_count"))
|
|
||||||
// .setLocationName(locationJson != null ? locationJson.optString("name") : null)
|
|
||||||
// .setLocationId(locationJson != null ? String.valueOf(locationJson.optLong("pk")) : null)
|
|
||||||
// .setImageHeight(itemJson.optInt("original_height"))
|
|
||||||
// .setImageWidth(itemJson.optInt("original_width"));
|
|
||||||
// switch (mediaType) {
|
|
||||||
// case MEDIA_TYPE_VIDEO:
|
|
||||||
// final long videoViews = itemJson.optLong("view_count", 0);
|
|
||||||
// feedModelBuilder.setViewCount(videoViews)
|
|
||||||
// .setDisplayUrl(ResponseBodyUtils.getVideoUrl(itemJson));
|
|
||||||
// break;
|
|
||||||
// case MEDIA_TYPE_IMAGE:
|
|
||||||
// feedModelBuilder.setDisplayUrl(ResponseBodyUtils.getHighQualityImage(itemJson));
|
|
||||||
// break;
|
|
||||||
// case MEDIA_TYPE_SLIDER:
|
|
||||||
// final List<PostChild> childPosts = getChildPosts(itemJson);
|
|
||||||
// feedModelBuilder.setSliderItems(childPosts)
|
|
||||||
// .setImageHeight(childPosts.get(0).getHeight())
|
|
||||||
// .setImageWidth(childPosts.get(0).getWidth());
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// return feedModelBuilder.build();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// the "user" argument can be null, it's used because instagram redacts user details from responses
|
// the "user" argument can be null, it's used because instagram redacts user details from responses
|
||||||
public static Media parseGraphQLItem(final JSONObject itemJson, final User backup) throws JSONException {
|
public static Media parseGraphQLItem(final JSONObject itemJson, final User backup) throws JSONException {
|
||||||
if (itemJson == null) {
|
if (itemJson == null) {
|
||||||
@ -859,88 +277,6 @@ public final class ResponseBodyUtils {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// private static List<PostChild> getChildPosts(final JSONObject mediaJson) throws JSONException {
|
|
||||||
// if (mediaJson == null) {
|
|
||||||
// return Collections.emptyList();
|
|
||||||
// }
|
|
||||||
// final JSONArray carouselMedia = mediaJson.optJSONArray("carousel_media");
|
|
||||||
// if (carouselMedia == null) {
|
|
||||||
// return Collections.emptyList();
|
|
||||||
// }
|
|
||||||
// final List<PostChild> children = new ArrayList<>();
|
|
||||||
// for (int i = 0; i < carouselMedia.length(); i++) {
|
|
||||||
// final JSONObject childJson = carouselMedia.optJSONObject(i);
|
|
||||||
// final PostChild childPost = getChildPost(childJson);
|
|
||||||
// if (childPost != null) {
|
|
||||||
// children.add(childPost);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return children;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// private static PostChild getChildPost(final JSONObject childJson) throws JSONException {
|
|
||||||
// if (childJson == null) {
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// final MediaItemType mediaType = ResponseBodyUtils.getMediaItemType(childJson.optInt("media_type"));
|
|
||||||
// if (mediaType == null) {
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// final PostChild.Builder builder = new PostChild.Builder();
|
|
||||||
// switch (mediaType) {
|
|
||||||
// case MEDIA_TYPE_VIDEO:
|
|
||||||
// builder.setDisplayUrl(ResponseBodyUtils.getVideoUrl(childJson));
|
|
||||||
// break;
|
|
||||||
// case MEDIA_TYPE_IMAGE:
|
|
||||||
// builder.setDisplayUrl(ResponseBodyUtils.getHighQualityImage(childJson));
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// return builder.setItemType(mediaType)
|
|
||||||
// .setPostId(childJson.getString("id"))
|
|
||||||
// .setThumbnailUrl(ResponseBodyUtils.getLowQualityImage(childJson))
|
|
||||||
// .setHeight(childJson.optInt("original_height"))
|
|
||||||
// .setWidth(childJson.optInt("original_width"))
|
|
||||||
// .build();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// this is for graphql
|
|
||||||
// @NonNull
|
|
||||||
// private static List<PostChild> getSliderItems(final JSONArray children) throws JSONException {
|
|
||||||
// final List<PostChild> sliderItems = new ArrayList<>();
|
|
||||||
// for (int j = 0; j < children.length(); ++j) {
|
|
||||||
// final JSONObject childNode = children.optJSONObject(j).getJSONObject("node");
|
|
||||||
// final boolean isChildVideo = childNode.optBoolean("is_video");
|
|
||||||
// int height = 0;
|
|
||||||
// int width = 0;
|
|
||||||
// final JSONObject dimensions = childNode.optJSONObject("dimensions");
|
|
||||||
// if (dimensions != null) {
|
|
||||||
// height = dimensions.optInt("height");
|
|
||||||
// width = dimensions.optInt("width");
|
|
||||||
// }
|
|
||||||
// String thumbnailUrl = null;
|
|
||||||
// try {
|
|
||||||
// thumbnailUrl = childNode.getJSONArray("display_resources")
|
|
||||||
// .getJSONObject(0)
|
|
||||||
// .getString("src");
|
|
||||||
// } catch (JSONException ignored) {}
|
|
||||||
// final PostChild sliderItem = new PostChild.Builder()
|
|
||||||
// .setItemType(isChildVideo ? MediaItemType.MEDIA_TYPE_VIDEO
|
|
||||||
// : MediaItemType.MEDIA_TYPE_IMAGE)
|
|
||||||
// .setPostId(childNode.getString(Constants.EXTRAS_ID))
|
|
||||||
// .setDisplayUrl(isChildVideo ? childNode.getString("video_url")
|
|
||||||
// : childNode.getString("display_url"))
|
|
||||||
// .setThumbnailUrl(thumbnailUrl != null ? thumbnailUrl
|
|
||||||
// : childNode.getString("display_url"))
|
|
||||||
// .setVideoViews(childNode.optLong("video_view_count", 0))
|
|
||||||
// .setHeight(height)
|
|
||||||
// .setWidth(width)
|
|
||||||
// .build();
|
|
||||||
// // Log.d(TAG, "getSliderItems: sliderItem: " + sliderItem);
|
|
||||||
// sliderItems.add(sliderItem);
|
|
||||||
// }
|
|
||||||
// return sliderItems;
|
|
||||||
// }
|
|
||||||
|
|
||||||
public static StoryModel parseStoryItem(final JSONObject data,
|
public static StoryModel parseStoryItem(final JSONObject data,
|
||||||
final boolean isLocOrHashtag,
|
final boolean isLocOrHashtag,
|
||||||
final String username) throws JSONException {
|
final String username) throws JSONException {
|
||||||
|
@ -52,6 +52,7 @@ public class GraphQLService extends BaseService {
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO convert string response to a response class
|
||||||
private void fetch(final String queryHash,
|
private void fetch(final String queryHash,
|
||||||
final String variables,
|
final String variables,
|
||||||
final String arg1,
|
final String arg1,
|
||||||
@ -194,6 +195,7 @@ public class GraphQLService extends BaseService {
|
|||||||
return new PostsFetchResponse(items, hasNextPage, endCursor);
|
return new PostsFetchResponse(items, hasNextPage, endCursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO convert string response to a response class
|
||||||
public void fetchCommentLikers(final String commentId,
|
public void fetchCommentLikers(final String commentId,
|
||||||
final String endCursor,
|
final String endCursor,
|
||||||
final ServiceCallback<GraphQLUserListFetchResponse> callback) {
|
final ServiceCallback<GraphQLUserListFetchResponse> callback) {
|
||||||
@ -273,6 +275,7 @@ public class GraphQLService extends BaseService {
|
|||||||
return repository.fetch(queryMap);
|
return repository.fetch(queryMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO convert string response to a response class
|
||||||
public void fetchUser(final String username,
|
public void fetchUser(final String username,
|
||||||
final ServiceCallback<User> callback) {
|
final ServiceCallback<User> callback) {
|
||||||
final Call<String> request = repository.getUser(username);
|
final Call<String> request = repository.getUser(username);
|
||||||
@ -357,6 +360,7 @@ public class GraphQLService extends BaseService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO convert string response to a response class
|
||||||
public void fetchPost(final String shortcode,
|
public void fetchPost(final String shortcode,
|
||||||
final ServiceCallback<Media> callback) {
|
final ServiceCallback<Media> callback) {
|
||||||
final Call<String> request = repository.getPost(shortcode);
|
final Call<String> request = repository.getPost(shortcode);
|
||||||
@ -391,6 +395,7 @@ public class GraphQLService extends BaseService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO convert string response to a response class
|
||||||
public void fetchTag(final String tag,
|
public void fetchTag(final String tag,
|
||||||
final ServiceCallback<Hashtag> callback) {
|
final ServiceCallback<Hashtag> callback) {
|
||||||
final Call<String> request = repository.getTag(tag);
|
final Call<String> request = repository.getTag(tag);
|
||||||
@ -431,6 +436,7 @@ public class GraphQLService extends BaseService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO convert string response to a response class
|
||||||
public void fetchLocation(final long locationId,
|
public void fetchLocation(final long locationId,
|
||||||
final ServiceCallback<Location> callback) {
|
final ServiceCallback<Location> callback) {
|
||||||
final Call<String> request = repository.getLocation(locationId);
|
final Call<String> request = repository.getLocation(locationId);
|
||||||
|
Loading…
Reference in New Issue
Block a user