1
0
Fork 0
mirror of https://github.com/KokaKiwi/BarInsta synced 2026-03-05 20:11:36 +00:00

Merge remote-tracking branch 'origin/new-posts-grid' into new-posts-grid

This commit is contained in:
Ammar Githam 2020-11-01 15:08:55 +09:00
commit c305b1a69a
35 changed files with 940 additions and 927 deletions

View file

@ -147,7 +147,7 @@ public final class PostFetcher extends AsyncTask<Void, Void, FeedModel> {
: MediaItemType.MEDIA_TYPE_IMAGE)
.setDisplayUrl(isChildVideo ? childNode.getString("video_url")
: childNode.getString("display_url"))
// .setShortCode(childNode.getString(Constants.EXTRAS_SHORTCODE))
.setShortCode(media.getString(Constants.EXTRAS_SHORTCODE))
.setVideoViews(isChildVideo && childNode.has("video_view_count")
? childNode.getLong("video_view_count")
: -1)

View file

@ -425,7 +425,7 @@ public class DirectMessageThreadFragment extends Fragment {
@Override
public void onDestroy() {
super.onDestroy();
listViewModel.getList().postValue(Collections.emptyList());
if (listViewModel != null) listViewModel.getList().postValue(Collections.emptyList());
}
private void sendText(final String text, final String itemId, final boolean delete) {

View file

@ -831,12 +831,14 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
}
private void showProfilePicDialog() {
final FragmentManager fragmentManager = getParentFragmentManager();
final ProfilePicDialogFragment fragment = new ProfilePicDialogFragment(profileModel.getId(), username, profileModel.getHdProfilePic());
final FragmentTransaction ft = fragmentManager.beginTransaction();
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.add(fragment, "profilePicDialog")
.commit();
if (profileModel != null) {
final FragmentManager fragmentManager = getParentFragmentManager();
final ProfilePicDialogFragment fragment = new ProfilePicDialogFragment(profileModel.getId(), username, profileModel.getHdProfilePic());
final FragmentTransaction ft = fragmentManager.beginTransaction();
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.add(fragment, "profilePicDialog")
.commit();
}
}
private void setUsernameDelayed() {

View file

@ -5,20 +5,19 @@ import java.io.Serializable;
import awais.instagrabber.models.enums.MediaItemType;
public final class PostChild implements Serializable {
private String postId;
private MediaItemType itemType;
private String displayUrl;
private final String postId;
private final String displayUrl;
private final String shortCode;
private final MediaItemType itemType;
private final String thumbnailUrl;
private final long videoViews;
private int width;
private int height;
private final int width;
private final int height;
public static class Builder {
private String postId;
private String postId, displayUrl, shortCode, thumbnailUrl;
private MediaItemType itemType;
private String displayUrl;
private long videoViews;
private String thumbnailUrl;
private int width;
private int height;
@ -27,6 +26,11 @@ public final class PostChild implements Serializable {
return this;
}
public Builder setShortCode(final String shortCode) {
this.shortCode = shortCode;
return this;
}
public Builder setItemType(final MediaItemType itemType) {
this.itemType = itemType;
return this;
@ -58,11 +62,12 @@ public final class PostChild implements Serializable {
}
public PostChild build() {
return new PostChild(postId, itemType, displayUrl, thumbnailUrl, videoViews, height, width);
return new PostChild(postId, shortCode, itemType, displayUrl, thumbnailUrl, videoViews, height, width);
}
}
public PostChild(final String postId,
final String shortCode,
final MediaItemType itemType,
final String displayUrl,
final String thumbnailUrl,
@ -70,6 +75,7 @@ public final class PostChild implements Serializable {
final int height,
final int width) {
this.postId = postId;
this.shortCode = shortCode;
this.itemType = itemType;
this.displayUrl = displayUrl;
this.thumbnailUrl = thumbnailUrl;
@ -82,6 +88,10 @@ public final class PostChild implements Serializable {
return postId;
}
public String getShortCode() {
return shortCode;
}
public MediaItemType getItemType() {
return itemType;
}
@ -110,6 +120,7 @@ public final class PostChild implements Serializable {
public String toString() {
return "PostChild{" +
"postId='" + postId + '\'' +
", shortCode=" + shortCode +
", itemType=" + itemType +
", displayUrl='" + displayUrl + '\'' +
", thumbnailUrl='" + thumbnailUrl + '\'' +

View file

@ -58,9 +58,9 @@ public final class Constants {
// spoof
public static final String USER_AGENT = "Mozilla/5.0 (Linux; Android 8.1.0; motorola one Build/OPKS28.63-18-3; wv) " +
"AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36 " +
"Instagram 160.0.0.25.132 Android (27/8.1.0; 320dpi; 720x1362; motorola; motorola one; deen_sprout; qcom; pt_BR; 246889068)";
"Instagram 161.0.0.37.121 Android (27/8.1.0; 320dpi; 720x1362; motorola; motorola one; deen_sprout; qcom; pt_BR; 248310224)";
public static final String I_USER_AGENT =
"Instagram 160.0.0.25.132 Android (27/8.1.0; 320dpi; 720x1362; motorola; motorola one; deen_sprout; qcom; pt_BR; 246889068)";
"Instagram 161.0.0.37.121 Android (27/8.1.0; 320dpi; 720x1362; motorola; motorola one; deen_sprout; qcom; pt_BR; 248310224)";
public static final String A_USER_AGENT = "https://InstaGrabber.AustinHuang.me / mailto:InstaGrabber@AustinHuang.me";
// see https://github.com/dilame/instagram-private-api/blob/master/src/core/constants.ts
public static final String SUPPORTED_CAPABILITIES = "[ { \"name\": \"SUPPORTED_SDK_VERSIONS\", \"value\":" +

View file

@ -88,11 +88,9 @@ public final class DownloadUtils {
switch (method) {
case DOWNLOAD_SAVED:
case DOWNLOAD_MAIN:
case DOWNLOAD_DISCOVER:
checkEachPost = true;
break;
case DOWNLOAD_FEED:
checkEachPost = false;
break;
}
final int itemsToDownloadSize = itemsToDownload.size();
for (int i = 0; i < itemsToDownloadSize; i++) {
@ -100,7 +98,7 @@ public final class DownloadUtils {
if (!checkEachPost) {
final boolean isSlider = itemsToDownloadSize > 1;
final File saveFile = getDownloadSaveFile(dir,
selectedItem.getPostId(),
selectedItem.getShortCode(),
isSlider ? "_slide_" + (i + 1) : "",
selectedItem.getDisplayUrl()
);
@ -119,7 +117,7 @@ public final class DownloadUtils {
final PostChild model = result.getSliderItems().get(j);
final File saveFile = getDownloadSaveFile(
finalDir,
model.getPostId(),
model.getShortCode(),
"_slide_" + (j + 1),
model.getDisplayUrl()
);

View file

@ -269,19 +269,19 @@ public final class ResponseBodyUtils {
final JSONArray users = data.getJSONArray("users");
final int usersLen = users.length();
final JSONArray leftusers = data.getJSONArray("left_users");
final int leftusersLen = leftusers.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.getBoolean("is_private"),
userModels[j] = new ProfileModel(userObject.optBoolean("is_private"),
false,
userObject.optBoolean("is_verified"),
String.valueOf(userObject.get("pk")),
userObject.getString("username"),
userObject.optString("username"), // optional cuz fb users
userObject.getString("full_name"),
null, null,
userObject.getString("profile_pic_url"),