Browse Source

Fix some story and mediaretriever bug

renovate/org.robolectric-robolectric-4.x
Ammar Githam 4 years ago
parent
commit
3bbafc654c
  1. 3
      app/src/main/java/awais/instagrabber/utils/ResponseBodyUtils.java
  2. 8
      app/src/main/java/awais/instagrabber/webservices/StoriesService.java
  3. 14
      app/src/main/java/awais/instagrabber/workers/DownloadWorker.java

3
app/src/main/java/awais/instagrabber/utils/ResponseBodyUtils.java

@ -2,7 +2,6 @@ package awais.instagrabber.utils;
import android.net.Uri; import android.net.Uri;
import android.util.Log; import android.util.Log;
import android.util.Pair;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@ -1042,7 +1041,7 @@ public final class ResponseBodyUtils {
tappableObject.getString("question"), tappableObject.getString("question"),
tappableObject.getString("emoji"), tappableObject.getString("emoji"),
tappableObject.getBoolean("viewer_can_vote"), tappableObject.getBoolean("viewer_can_vote"),
tappableObject.getDouble("slider_vote_average"),
tappableObject.optDouble("slider_vote_average"),
tappableObject.getInt("slider_vote_count"), tappableObject.getInt("slider_vote_count"),
tappableObject.optDouble("viewer_vote") tappableObject.optDouble("viewer_vote")
)); ));

8
app/src/main/java/awais/instagrabber/webservices/StoriesService.java

@ -193,8 +193,7 @@ public class StoriesService extends BaseService {
node.getInt("media_count"), node.getInt("media_count"),
false, false,
node.optBoolean("has_besties_media"))); node.optBoolean("has_besties_media")));
}
catch (Exception e) {} // to cover promotional reels with non-long user pk's
} catch (Exception e) {} // to cover promotional reels with non-long user pk's
} }
final JSONArray broadcasts = new JSONObject(body).getJSONArray("broadcasts"); final JSONArray broadcasts = new JSONObject(body).getJSONArray("broadcasts");
for (int i = 0; i < broadcasts.length(); ++i) { for (int i = 0; i < broadcasts.length(); ++i) {
@ -371,7 +370,8 @@ public class StoriesService extends BaseService {
final String url = buildUrl(options); final String url = buildUrl(options);
final Call<String> userStoryCall = repository.getUserStory(url); final Call<String> userStoryCall = repository.getUserStory(url);
final boolean isLocOrHashtag = options.getType() == StoryViewerOptions.Type.LOCATION || options.getType() == StoryViewerOptions.Type.HASHTAG; final boolean isLocOrHashtag = options.getType() == StoryViewerOptions.Type.LOCATION || options.getType() == StoryViewerOptions.Type.HASHTAG;
final boolean isHighlight = options.getType() == StoryViewerOptions.Type.HIGHLIGHT || options.getType() == StoryViewerOptions.Type.STORY_ARCHIVE;
final boolean isHighlight = options.getType() == StoryViewerOptions.Type.HIGHLIGHT || options
.getType() == StoryViewerOptions.Type.STORY_ARCHIVE;
userStoryCall.enqueue(new Callback<String>() { userStoryCall.enqueue(new Callback<String>() {
@Override @Override
public void onResponse(@NonNull final Call<String> call, @NonNull final Response<String> response) { public void onResponse(@NonNull final Call<String> call, @NonNull final Response<String> response) {
@ -412,7 +412,7 @@ public class StoriesService extends BaseService {
callback.onSuccess(null); callback.onSuccess(null);
} }
} catch (JSONException e) { } catch (JSONException e) {
Log.e(TAG, "Error parsing string");
Log.e(TAG, "Error parsing string", e);
} }
} }

14
app/src/main/java/awais/instagrabber/workers/DownloadWorker.java

@ -57,9 +57,6 @@ import static awais.instagrabber.utils.BitmapUtils.THUMBNAIL_SIZE;
import static awais.instagrabber.utils.Constants.DOWNLOAD_CHANNEL_ID; import static awais.instagrabber.utils.Constants.DOWNLOAD_CHANNEL_ID;
import static awais.instagrabber.utils.Constants.NOTIF_GROUP_NAME; import static awais.instagrabber.utils.Constants.NOTIF_GROUP_NAME;
//import awaisomereport.LogCollector;
//import static awais.instagrabber.utils.Utils.logCollector;
public class DownloadWorker extends Worker { public class DownloadWorker extends Worker {
private static final String TAG = "DownloadWorker"; private static final String TAG = "DownloadWorker";
private static final String DOWNLOAD_GROUP = "DOWNLOAD_GROUP"; private static final String DOWNLOAD_GROUP = "DOWNLOAD_GROUP";
@ -340,13 +337,22 @@ public class DownloadWorker extends Worker {
return bitmap; return bitmap;
} }
if (mimeType.startsWith("video")) { if (mimeType.startsWith("video")) {
try (MediaMetadataRetriever retriever = new MediaMetadataRetriever()) {
try {
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
try {
try { try {
retriever.setDataSource(context, uri); retriever.setDataSource(context, uri);
} catch (final Exception e) { } catch (final Exception e) {
retriever.setDataSource(file.getAbsolutePath()); retriever.setDataSource(file.getAbsolutePath());
} }
bitmap = retriever.getFrameAtTime(); bitmap = retriever.getFrameAtTime();
} finally {
try {
retriever.release();
} catch (Exception e) {
Log.e(TAG, "getThumbnail: ", e);
}
}
} catch (final Exception e) { } catch (final Exception e) {
Log.e(TAG, "", e); Log.e(TAG, "", e);
} }

Loading…
Cancel
Save