mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-11-07 03:07:26 +01:00
Separate folder for each subreddit in download locations is available.
This commit is contained in:
parent
6d8dcc8fe7
commit
2df26c3faa
@ -82,17 +82,17 @@ public class LinkResolverActivity extends AppCompatActivity {
|
||||
Intent intent = new Intent(this, ViewImageOrGifActivity.class);
|
||||
String url = uri.toString();
|
||||
String fileName = url.substring(url.lastIndexOf('/') + 1);
|
||||
intent.putExtra(ViewImageOrGifActivity.IMAGE_URL_KEY, url);
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, fileName);
|
||||
intent.putExtra(ViewImageOrGifActivity.POST_TITLE_KEY, fileName);
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_IMAGE_URL_KEY, url);
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, fileName);
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_POST_TITLE_KEY, fileName);
|
||||
startActivity(intent);
|
||||
} else if (path.endsWith("gif")) {
|
||||
Intent intent = new Intent(this, ViewImageOrGifActivity.class);
|
||||
String url = uri.toString();
|
||||
String fileName = url.substring(url.lastIndexOf('/') + 1);
|
||||
intent.putExtra(ViewImageOrGifActivity.GIF_URL_KEY, url);
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, fileName);
|
||||
intent.putExtra(ViewImageOrGifActivity.POST_TITLE_KEY, fileName);
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_GIF_URL_KEY, url);
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, fileName);
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_POST_TITLE_KEY, fileName);
|
||||
startActivity(intent);
|
||||
} else if (path.endsWith("mp4")) {
|
||||
Intent intent = new Intent(this, ViewVideoActivity.class);
|
||||
|
@ -71,10 +71,11 @@ import ml.docilealligator.infinityforreddit.WallpaperSetter;
|
||||
|
||||
public class ViewImageOrGifActivity extends AppCompatActivity implements SetAsWallpaperCallback {
|
||||
|
||||
public static final String IMAGE_URL_KEY = "IUK";
|
||||
public static final String GIF_URL_KEY = "GUK";
|
||||
public static final String FILE_NAME_KEY = "FNK";
|
||||
public static final String POST_TITLE_KEY = "PTK";
|
||||
public static final String EXTRA_IMAGE_URL_KEY = "EIUK";
|
||||
public static final String EXTRA_GIF_URL_KEY = "EGUK";
|
||||
public static final String EXTRA_FILE_NAME_KEY = "EFNK";
|
||||
public static final String EXTRA_SUBREDDIT_OR_USERNAME_KEY = "ESOUK";
|
||||
public static final String EXTRA_POST_TITLE_KEY = "EPTK";
|
||||
private static final int PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE = 0;
|
||||
@BindView(R.id.progress_bar_view_image_or_gif_activity)
|
||||
ProgressBar mProgressBar;
|
||||
@ -90,6 +91,7 @@ public class ViewImageOrGifActivity extends AppCompatActivity implements SetAsWa
|
||||
private RequestManager glide;
|
||||
private String mImageUrl;
|
||||
private String mImageFileName;
|
||||
private String mSubredditName;
|
||||
private boolean isGif = true;
|
||||
|
||||
@Override
|
||||
@ -134,13 +136,14 @@ public class ViewImageOrGifActivity extends AppCompatActivity implements SetAsWa
|
||||
glide = Glide.with(this);
|
||||
|
||||
Intent intent = getIntent();
|
||||
mImageUrl = intent.getStringExtra(GIF_URL_KEY);
|
||||
mImageUrl = intent.getStringExtra(EXTRA_GIF_URL_KEY);
|
||||
if (mImageUrl == null) {
|
||||
isGif = false;
|
||||
mImageUrl = intent.getStringExtra(IMAGE_URL_KEY);
|
||||
mImageUrl = intent.getStringExtra(EXTRA_IMAGE_URL_KEY);
|
||||
}
|
||||
mImageFileName = intent.getStringExtra(FILE_NAME_KEY);
|
||||
String postTitle = intent.getStringExtra(POST_TITLE_KEY);
|
||||
mImageFileName = intent.getStringExtra(EXTRA_FILE_NAME_KEY);
|
||||
String postTitle = intent.getStringExtra(EXTRA_POST_TITLE_KEY);
|
||||
mSubredditName = intent.getStringExtra(EXTRA_SUBREDDIT_OR_USERNAME_KEY);
|
||||
|
||||
if (postTitle != null) {
|
||||
setTitle(Html.fromHtml(String.format("<small>%s</small>", postTitle)));
|
||||
@ -338,6 +341,7 @@ public class ViewImageOrGifActivity extends AppCompatActivity implements SetAsWa
|
||||
intent.putExtra(DownloadMediaService.EXTRA_URL, mImageUrl);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_MEDIA_TYPE, isGif ? DownloadMediaService.EXTRA_MEDIA_TYPE_GIF : DownloadMediaService.EXTRA_MEDIA_TYPE_IMAGE);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_FILE_NAME, mImageFileName);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_SUBREDDIT_NAME, mSubredditName);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
startForegroundService(intent);
|
||||
} else {
|
||||
|
@ -44,6 +44,7 @@ import ml.docilealligator.infinityforreddit.WallpaperSetter;
|
||||
public class ViewRedditGalleryActivity extends AppCompatActivity implements SetAsWallpaperCallback {
|
||||
|
||||
public static final String EXTRA_REDDIT_GALLERY = "ERG";
|
||||
public static final String EXTRA_SUBREDDIT_NAME = "ESN";
|
||||
|
||||
@BindView(R.id.hauler_view_view_reddit_gallery_activity)
|
||||
HaulerView haulerView;
|
||||
@ -51,6 +52,7 @@ public class ViewRedditGalleryActivity extends AppCompatActivity implements SetA
|
||||
ViewPager viewPager;
|
||||
private SectionsPagerAdapter sectionsPagerAdapter;
|
||||
private ArrayList<Post.Gallery> gallery;
|
||||
private String subredditName;
|
||||
@Inject
|
||||
@Named("default")
|
||||
SharedPreferences sharedPreferences;
|
||||
@ -97,6 +99,7 @@ public class ViewRedditGalleryActivity extends AppCompatActivity implements SetA
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
subredditName = getIntent().getStringExtra(EXTRA_SUBREDDIT_NAME);
|
||||
|
||||
haulerView.setOnDragDismissedListener(dragDirection -> {
|
||||
int slide = dragDirection == DragDirection.UP ? R.anim.slide_out_up : R.anim.slide_out_down;
|
||||
@ -218,12 +221,14 @@ public class ViewRedditGalleryActivity extends AppCompatActivity implements SetA
|
||||
ViewRedditGalleryVideoFragment fragment = new ViewRedditGalleryVideoFragment();
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable(ViewRedditGalleryVideoFragment.EXTRA_REDDIT_GALLERY_VIDEO, media);
|
||||
bundle.putString(ViewRedditGalleryVideoFragment.EXTRA_SUBREDDIT_NAME, subredditName);
|
||||
fragment.setArguments(bundle);
|
||||
return fragment;
|
||||
} else {
|
||||
ViewRedditGalleryImageOrGifFragment fragment = new ViewRedditGalleryImageOrGifFragment();
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable(ViewRedditGalleryImageOrGifFragment.EXTRA_REDDIT_GALLERY_MEDIA, media);
|
||||
bundle.putString(ViewRedditGalleryImageOrGifFragment.EXTRA_SUBREDDIT_NAME, subredditName);
|
||||
fragment.setArguments(bundle);
|
||||
return fragment;
|
||||
}
|
||||
|
@ -357,8 +357,9 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
|
||||
glide.load(subredditData.getBannerUrl()).into(bannerImageView);
|
||||
bannerImageView.setOnClickListener(view -> {
|
||||
Intent intent = new Intent(ViewSubredditDetailActivity.this, ViewImageOrGifActivity.class);
|
||||
intent.putExtra(ViewImageOrGifActivity.IMAGE_URL_KEY, subredditData.getBannerUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, subredditName + "-banner.jpg");
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_IMAGE_URL_KEY, subredditData.getBannerUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, subredditName + "-banner.jpg");
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, subredditName);
|
||||
startActivity(intent);
|
||||
});
|
||||
}
|
||||
@ -378,8 +379,9 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
|
||||
.into(iconGifImageView);
|
||||
iconGifImageView.setOnClickListener(view -> {
|
||||
Intent intent = new Intent(ViewSubredditDetailActivity.this, ViewImageOrGifActivity.class);
|
||||
intent.putExtra(ViewImageOrGifActivity.IMAGE_URL_KEY, subredditData.getIconUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, subredditName + "-icon.jpg");
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_IMAGE_URL_KEY, subredditData.getIconUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, subredditName + "-icon.jpg");
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, subredditName);
|
||||
startActivity(intent);
|
||||
});
|
||||
}
|
||||
|
@ -305,8 +305,9 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele
|
||||
glide.load(userData.getBanner()).into(bannerImageView);
|
||||
bannerImageView.setOnClickListener(view -> {
|
||||
Intent intent = new Intent(this, ViewImageOrGifActivity.class);
|
||||
intent.putExtra(ViewImageOrGifActivity.IMAGE_URL_KEY, userData.getBanner());
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, username + "-banner.jpg");
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_IMAGE_URL_KEY, userData.getBanner());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, username + "-banner.jpg");
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, username);
|
||||
startActivity(intent);
|
||||
});
|
||||
}
|
||||
@ -325,8 +326,9 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele
|
||||
|
||||
iconGifImageView.setOnClickListener(view -> {
|
||||
Intent intent = new Intent(this, ViewImageOrGifActivity.class);
|
||||
intent.putExtra(ViewImageOrGifActivity.IMAGE_URL_KEY, userData.getIconUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, username + "-icon.jpg");
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_IMAGE_URL_KEY, userData.getIconUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, username + "-icon.jpg");
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, username);
|
||||
startActivity(intent);
|
||||
});
|
||||
}
|
||||
|
@ -438,6 +438,7 @@ public class ViewVideoActivity extends AppCompatActivity {
|
||||
intent.putExtra(DownloadMediaService.EXTRA_URL, videoDownloadUrl);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_MEDIA_TYPE, DownloadMediaService.EXTRA_MEDIA_TYPE_VIDEO);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_FILE_NAME, videoFileName);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_SUBREDDIT_NAME, subredditName);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
startForegroundService(intent);
|
||||
} else {
|
||||
|
@ -2560,10 +2560,11 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
||||
mActivity.startActivity(intent);
|
||||
} else if (mPost.getPostType() == Post.GIF_TYPE) {
|
||||
Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, mPost.getSubredditName()
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, mPost.getSubredditName()
|
||||
+ "-" + mPost.getId() + ".gif");
|
||||
intent.putExtra(ViewImageOrGifActivity.GIF_URL_KEY, mPost.getVideoUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.POST_TITLE_KEY, mPost.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_GIF_URL_KEY, mPost.getVideoUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_POST_TITLE_KEY, mPost.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, mPost.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
}
|
||||
});
|
||||
@ -2655,17 +2656,19 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
||||
mImageView.setOnClickListener(view -> {
|
||||
if (mPost.getPostType() == Post.IMAGE_TYPE) {
|
||||
Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
|
||||
intent.putExtra(ViewImageOrGifActivity.IMAGE_URL_KEY, mPost.getUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, mPost.getSubredditNamePrefixed().substring(2)
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_IMAGE_URL_KEY, mPost.getUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, mPost.getSubredditNamePrefixed().substring(2)
|
||||
+ "-" + mPost.getId().substring(3) + ".jpg");
|
||||
intent.putExtra(ViewImageOrGifActivity.POST_TITLE_KEY, mPost.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_POST_TITLE_KEY, mPost.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, mPost.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
} else if (mPost.getPostType() == Post.GIF_TYPE) {
|
||||
Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, mPost.getSubredditName()
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, mPost.getSubredditName()
|
||||
+ "-" + mPost.getId() + ".gif");
|
||||
intent.putExtra(ViewImageOrGifActivity.GIF_URL_KEY, mPost.getVideoUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.POST_TITLE_KEY, mPost.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_GIF_URL_KEY, mPost.getVideoUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_POST_TITLE_KEY, mPost.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, mPost.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
}
|
||||
});
|
||||
@ -2951,6 +2954,7 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
||||
mImageView.setOnClickListener(view -> {
|
||||
Intent intent = new Intent(mActivity, ViewRedditGalleryActivity.class);
|
||||
intent.putParcelableArrayListExtra(ViewRedditGalleryActivity.EXTRA_REDDIT_GALLERY, mPost.getGallery());
|
||||
intent.putExtra(ViewRedditGalleryActivity.EXTRA_SUBREDDIT_NAME, mPost.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
});
|
||||
|
||||
|
@ -2049,10 +2049,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
mActivity.startActivity(intent);
|
||||
} else if (post.getPostType() == Post.GIF_TYPE) {
|
||||
Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, post.getSubredditName()
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, post.getSubredditName()
|
||||
+ "-" + post.getId() + ".gif");
|
||||
intent.putExtra(ViewImageOrGifActivity.GIF_URL_KEY, post.getVideoUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.POST_TITLE_KEY, post.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_GIF_URL_KEY, post.getVideoUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_POST_TITLE_KEY, post.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, post.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
}
|
||||
}
|
||||
@ -2152,17 +2153,19 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
if (post != null) {
|
||||
if (post.getPostType() == Post.IMAGE_TYPE) {
|
||||
Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
|
||||
intent.putExtra(ViewImageOrGifActivity.IMAGE_URL_KEY, post.getUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, post.getSubredditName()
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_IMAGE_URL_KEY, post.getUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, post.getSubredditName()
|
||||
+ "-" + post.getId() + ".jpg");
|
||||
intent.putExtra(ViewImageOrGifActivity.POST_TITLE_KEY, post.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_POST_TITLE_KEY, post.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, post.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
} else {
|
||||
Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, post.getSubredditName()
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, post.getSubredditName()
|
||||
+ "-" + post.getId() + ".gif");
|
||||
intent.putExtra(ViewImageOrGifActivity.GIF_URL_KEY, post.getVideoUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.POST_TITLE_KEY, post.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_GIF_URL_KEY, post.getVideoUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_POST_TITLE_KEY, post.getTitle());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, post.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
}
|
||||
}
|
||||
@ -2474,6 +2477,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
if (post != null) {
|
||||
Intent intent = new Intent(mActivity, ViewRedditGalleryActivity.class);
|
||||
intent.putParcelableArrayListExtra(ViewRedditGalleryActivity.EXTRA_REDDIT_GALLERY, post.getGallery());
|
||||
intent.putExtra(ViewRedditGalleryActivity.EXTRA_SUBREDDIT_NAME, post.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
}
|
||||
});
|
||||
@ -2783,9 +2787,10 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
switch (post.getPostType()) {
|
||||
case Post.IMAGE_TYPE: {
|
||||
Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
|
||||
intent.putExtra(ViewImageOrGifActivity.IMAGE_URL_KEY, post.getUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, post.getSubredditName()
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_IMAGE_URL_KEY, post.getUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, post.getSubredditName()
|
||||
+ "-" + post.getId() + ".jpg");
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, post.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
break;
|
||||
}
|
||||
@ -2804,9 +2809,10 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
case Post.GIF_TYPE: {
|
||||
Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
|
||||
intent.setData(Uri.parse(post.getVideoUrl()));
|
||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, post.getSubredditName()
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, post.getSubredditName()
|
||||
+ "-" + post.getId() + ".gif");
|
||||
intent.putExtra(ViewImageOrGifActivity.GIF_URL_KEY, post.getVideoUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_GIF_URL_KEY, post.getVideoUrl());
|
||||
intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, post.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
break;
|
||||
}
|
||||
@ -2823,6 +2829,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
case Post.GALLERY_TYPE: {
|
||||
Intent intent = new Intent(mActivity, ViewRedditGalleryActivity.class);
|
||||
intent.putExtra(ViewRedditGalleryActivity.EXTRA_REDDIT_GALLERY, post.getGallery());
|
||||
intent.putExtra(ViewRedditGalleryActivity.EXTRA_SUBREDDIT_NAME, post.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
}
|
||||
}
|
||||
@ -2839,6 +2846,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
if (post.getPostType() == Post.GALLERY_TYPE) {
|
||||
Intent intent = new Intent(mActivity, ViewRedditGalleryActivity.class);
|
||||
intent.putExtra(ViewRedditGalleryActivity.EXTRA_REDDIT_GALLERY, post.getGallery());
|
||||
intent.putExtra(ViewRedditGalleryActivity.EXTRA_SUBREDDIT_NAME, post.getSubredditName());
|
||||
mActivity.startActivity(intent);
|
||||
} else {
|
||||
Intent intent = new Intent(mActivity, LinkResolverActivity.class);
|
||||
|
@ -58,6 +58,7 @@ import ml.docilealligator.infinityforreddit.SetAsWallpaperCallback;
|
||||
public class ViewRedditGalleryImageOrGifFragment extends Fragment {
|
||||
|
||||
public static final String EXTRA_REDDIT_GALLERY_MEDIA = "ERGM";
|
||||
public static final String EXTRA_SUBREDDIT_NAME = "ESN";
|
||||
private static final int PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE = 0;
|
||||
|
||||
@BindView(R.id.progress_bar_view_reddit_gallery_image_or_gif_fragment)
|
||||
@ -70,6 +71,7 @@ public class ViewRedditGalleryImageOrGifFragment extends Fragment {
|
||||
private ViewRedditGalleryActivity activity;
|
||||
private RequestManager glide;
|
||||
private Post.Gallery media;
|
||||
private String subredditName;
|
||||
private boolean isDownloading = false;
|
||||
private boolean isActionBarHidden = false;
|
||||
|
||||
@ -89,6 +91,7 @@ public class ViewRedditGalleryImageOrGifFragment extends Fragment {
|
||||
setHasOptionsMenu(true);
|
||||
|
||||
media = getArguments().getParcelable(EXTRA_REDDIT_GALLERY_MEDIA);
|
||||
subredditName = getArguments().getString(EXTRA_SUBREDDIT_NAME);
|
||||
glide = Glide.with(activity);
|
||||
|
||||
imageView.setImageViewFactory(new GlideImageViewFactory());
|
||||
@ -269,6 +272,7 @@ public class ViewRedditGalleryImageOrGifFragment extends Fragment {
|
||||
intent.putExtra(DownloadMediaService.EXTRA_URL, media.url);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_MEDIA_TYPE, media.mediaType == Post.Gallery.TYPE_GIF ? DownloadMediaService.EXTRA_MEDIA_TYPE_GIF: DownloadMediaService.EXTRA_MEDIA_TYPE_IMAGE);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_FILE_NAME, media.fileName);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_SUBREDDIT_NAME, subredditName);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
activity.startForegroundService(intent);
|
||||
} else {
|
||||
|
@ -54,6 +54,7 @@ import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils;
|
||||
public class ViewRedditGalleryVideoFragment extends Fragment {
|
||||
|
||||
public static final String EXTRA_REDDIT_GALLERY_VIDEO = "EIV";
|
||||
public static final String EXTRA_SUBREDDIT_NAME = "ESN";
|
||||
private static final String IS_MUTE_STATE = "IMS";
|
||||
private static final String POSITION_STATE = "PS";
|
||||
private static final int PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE = 0;
|
||||
@ -63,6 +64,7 @@ public class ViewRedditGalleryVideoFragment extends Fragment {
|
||||
ImageButton muteButton;
|
||||
private Activity activity;
|
||||
private Post.Gallery galleryVideo;
|
||||
private String subredditName;
|
||||
private SimpleExoPlayer player;
|
||||
private DataSource.Factory dataSourceFactory;
|
||||
private boolean wasPlaying = false;
|
||||
@ -91,6 +93,7 @@ public class ViewRedditGalleryVideoFragment extends Fragment {
|
||||
activity.setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
||||
|
||||
galleryVideo = getArguments().getParcelable(EXTRA_REDDIT_GALLERY_VIDEO);
|
||||
subredditName = getArguments().getString(EXTRA_SUBREDDIT_NAME);
|
||||
|
||||
if (!mSharedPreferences.getBoolean(SharedPreferencesUtils.VIDEO_PLAYER_IGNORE_NAV_BAR, false)) {
|
||||
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT || getResources().getBoolean(R.bool.isTablet)) {
|
||||
@ -189,6 +192,7 @@ public class ViewRedditGalleryVideoFragment extends Fragment {
|
||||
intent.putExtra(DownloadMediaService.EXTRA_URL, galleryVideo.url);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_MEDIA_TYPE, DownloadMediaService.EXTRA_MEDIA_TYPE_VIDEO);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_FILE_NAME, galleryVideo.fileName);
|
||||
intent.putExtra(DownloadMediaService.EXTRA_SUBREDDIT_NAME, subredditName);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
activity.startForegroundService(intent);
|
||||
} else {
|
||||
|
@ -38,8 +38,8 @@ import ml.docilealligator.infinityforreddit.API.DownloadFile;
|
||||
import ml.docilealligator.infinityforreddit.CustomTheme.CustomThemeWrapper;
|
||||
import ml.docilealligator.infinityforreddit.Event.DownloadMediaEvent;
|
||||
import ml.docilealligator.infinityforreddit.Infinity;
|
||||
import ml.docilealligator.infinityforreddit.Utils.NotificationUtils;
|
||||
import ml.docilealligator.infinityforreddit.R;
|
||||
import ml.docilealligator.infinityforreddit.Utils.NotificationUtils;
|
||||
import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.Call;
|
||||
@ -52,6 +52,7 @@ import static android.os.Environment.getExternalStoragePublicDirectory;
|
||||
public class DownloadMediaService extends Service {
|
||||
public static final String EXTRA_URL = "EU";
|
||||
public static final String EXTRA_FILE_NAME = "EFN";
|
||||
public static final String EXTRA_SUBREDDIT_NAME = "ESN";
|
||||
public static final String EXTRA_MEDIA_TYPE = "EIG";
|
||||
public static final int EXTRA_MEDIA_TYPE_IMAGE = 0;
|
||||
public static final int EXTRA_MEDIA_TYPE_GIF = 1;
|
||||
@ -70,6 +71,7 @@ public class DownloadMediaService extends Service {
|
||||
@Inject
|
||||
CustomThemeWrapper mCustomThemeWrapper;
|
||||
private int mediaType;
|
||||
private String mimeType;
|
||||
|
||||
public DownloadMediaService() {
|
||||
}
|
||||
@ -128,9 +130,10 @@ public class DownloadMediaService extends Service {
|
||||
((Infinity) getApplication()).getAppComponent().inject(this);
|
||||
|
||||
String fileUrl = intent.getStringExtra(EXTRA_URL);
|
||||
String fileName;
|
||||
fileName = intent.getStringExtra(EXTRA_FILE_NAME);
|
||||
final String[] fileName = {intent.getStringExtra(EXTRA_FILE_NAME)};
|
||||
String subredditName = intent.getStringExtra(EXTRA_SUBREDDIT_NAME);
|
||||
mediaType = intent.getIntExtra(EXTRA_MEDIA_TYPE, EXTRA_MEDIA_TYPE_IMAGE);
|
||||
mimeType = mediaType == EXTRA_MEDIA_TYPE_VIDEO ? "video/*" : "image/*";
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
NotificationChannel serviceChannel;
|
||||
@ -148,22 +151,24 @@ public class DownloadMediaService extends Service {
|
||||
case EXTRA_MEDIA_TYPE_GIF:
|
||||
startForeground(
|
||||
NotificationUtils.DOWNLOAD_GIF_NOTIFICATION_ID,
|
||||
createNotification(R.string.downloading_gif, fileName, null)
|
||||
createNotification(R.string.downloading_gif, fileName[0], null)
|
||||
);
|
||||
break;
|
||||
case EXTRA_MEDIA_TYPE_VIDEO:
|
||||
startForeground(
|
||||
NotificationUtils.DOWNLOAD_VIDEO_NOTIFICATION_ID,
|
||||
createNotification(R.string.downloading_video, fileName, null)
|
||||
createNotification(R.string.downloading_video, fileName[0], null)
|
||||
);
|
||||
break;
|
||||
default:
|
||||
startForeground(
|
||||
NotificationUtils.DOWNLOAD_IMAGE_NOTIFICATION_ID,
|
||||
createNotification(R.string.downloading_image, fileName, null)
|
||||
createNotification(R.string.downloading_image, fileName[0], null)
|
||||
);
|
||||
}
|
||||
|
||||
boolean separateDownloadFolder = mSharedPreferences.getBoolean(SharedPreferencesUtils.SEPARATE_FOLDER_FOR_EACH_SUBREDDIT, false);
|
||||
|
||||
retrofit.create(DownloadFile.class).downloadFile(fileUrl).enqueue(new Callback<ResponseBody>() {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<ResponseBody> call, @NonNull Response<ResponseBody> response) {
|
||||
@ -175,42 +180,75 @@ public class DownloadMediaService extends Service {
|
||||
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
|
||||
File directory = getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
|
||||
if (directory != null) {
|
||||
String directoryPath = directory.getAbsolutePath() + "/Infinity/";
|
||||
String directoryPath = separateDownloadFolder && subredditName != null && !subredditName.equals("") ? directory.getAbsolutePath() + "/Infinity/" + subredditName + "/" : directory.getAbsolutePath() + "/Infinity/";
|
||||
File infinityDir = new File(directoryPath);
|
||||
if (!infinityDir.exists() && !infinityDir.mkdir()) {
|
||||
downloadFinished(null, fileName, ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
if (!infinityDir.exists() && !infinityDir.mkdirs()) {
|
||||
downloadFinished(null, fileName[0], ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
return;
|
||||
}
|
||||
destinationFileUriString = directoryPath + fileName;
|
||||
destinationFileUriString = directoryPath + fileName[0];
|
||||
} else {
|
||||
downloadFinished(null, fileName, ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
downloadFinished(null, fileName[0], ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
destinationFileUriString = Environment.DIRECTORY_PICTURES + "/Infinity/";
|
||||
String dir = mediaType == EXTRA_MEDIA_TYPE_VIDEO ? Environment.DIRECTORY_MOVIES : Environment.DIRECTORY_PICTURES;
|
||||
destinationFileUriString = separateDownloadFolder && subredditName != null && !subredditName.equals("") ? dir + "/Infinity/" + subredditName + "/" : dir + "/Infinity/";
|
||||
}
|
||||
isDefaultDestination = true;
|
||||
} else {
|
||||
isDefaultDestination = false;
|
||||
DocumentFile picFile = DocumentFile.fromTreeUri(DownloadMediaService.this, Uri.parse(destinationFileDirectory)).createFile("image/*", fileName);
|
||||
DocumentFile picFile;
|
||||
DocumentFile dir;
|
||||
if (separateDownloadFolder && subredditName != null && !subredditName.equals("")) {
|
||||
dir = DocumentFile.fromTreeUri(DownloadMediaService.this, Uri.parse(destinationFileDirectory));
|
||||
if (dir == null) {
|
||||
downloadFinished(null, fileName[0], ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
return;
|
||||
}
|
||||
dir = dir.findFile(subredditName);
|
||||
if (dir == null) {
|
||||
dir = DocumentFile.fromTreeUri(DownloadMediaService.this, Uri.parse(destinationFileDirectory)).createDirectory(subredditName);
|
||||
if (dir == null) {
|
||||
downloadFinished(null, fileName[0], ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
dir = DocumentFile.fromTreeUri(DownloadMediaService.this, Uri.parse(destinationFileDirectory));
|
||||
if (dir == null) {
|
||||
downloadFinished(null, fileName[0], ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
return;
|
||||
}
|
||||
}
|
||||
DocumentFile checkForDuplicates = dir.findFile(fileName[0]);
|
||||
int extensionPosition = fileName[0].lastIndexOf('.');
|
||||
String extension = fileName[0].substring(extensionPosition);
|
||||
int num = 1;
|
||||
while (checkForDuplicates != null) {
|
||||
fileName[0] = fileName[0].substring(0, extensionPosition) + " (" + num + ")" + extension;
|
||||
checkForDuplicates = dir.findFile(fileName[0]);
|
||||
num++;
|
||||
}
|
||||
picFile = dir.createFile(mimeType, fileName[0]);
|
||||
if (picFile == null) {
|
||||
downloadFinished(null, fileName, ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
downloadFinished(null, fileName[0], ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
return;
|
||||
}
|
||||
destinationFileUriString = picFile.getUri().toString();
|
||||
}
|
||||
|
||||
new SaveImageOrGifAndCopyToExternalStorageAsyncTask(response.body(), mediaType,
|
||||
isDefaultDestination, fileName, destinationFileUriString, getContentResolver(),
|
||||
isDefaultDestination, fileName[0], destinationFileUriString, getContentResolver(),
|
||||
new SaveImageOrGifAndCopyToExternalStorageAsyncTask.SaveImageOrGifAndCopyToExternalStorageAsyncTaskListener() {
|
||||
@Override
|
||||
public void finished(Uri destinationFileUri, int errorCode) {
|
||||
downloadFinished(destinationFileUri, fileName, errorCode);
|
||||
downloadFinished(destinationFileUri, fileName[0], errorCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProgressNotification(int stringResId) {
|
||||
updateNotification(stringResId, fileName, null);
|
||||
updateNotification(stringResId, fileName[0], null);
|
||||
}
|
||||
}).execute();
|
||||
}
|
||||
@ -218,7 +256,7 @@ public class DownloadMediaService extends Service {
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<ResponseBody> call, @NonNull Throwable t) {
|
||||
downloadFinished(null, fileName, ERROR_FILE_CANNOT_DOWNLOAD);
|
||||
downloadFinished(null, fileName[0], ERROR_FILE_CANNOT_DOWNLOAD);
|
||||
}
|
||||
});
|
||||
return super.onStartCommand(intent, flags, startId);
|
||||
@ -263,7 +301,7 @@ public class DownloadMediaService extends Service {
|
||||
(path, uri) -> {
|
||||
Intent intent = new Intent();
|
||||
intent.setAction(android.content.Intent.ACTION_VIEW);
|
||||
intent.setDataAndType(destinationFileUri, "image/*");
|
||||
intent.setDataAndType(destinationFileUri, mimeType);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
|
||||
updateNotification(R.string.downloading_media_finished, fileName, pendingIntent);
|
||||
EventBus.getDefault().post(new DownloadMediaEvent(true));
|
||||
@ -362,12 +400,10 @@ public class DownloadMediaService extends Service {
|
||||
|
||||
outputStream.flush();
|
||||
} else {
|
||||
String relativeLocation = Environment.DIRECTORY_PICTURES + "/Infinity/";
|
||||
|
||||
ContentValues contentValues = new ContentValues();
|
||||
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, destinationFileName);
|
||||
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "image/*");
|
||||
contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, relativeLocation);
|
||||
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, mediaType == EXTRA_MEDIA_TYPE_VIDEO ? "video/*" : "image/*");
|
||||
contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, destinationFileUriString);
|
||||
contentValues.put(MediaStore.Images.Media.IS_PENDING, 1);
|
||||
|
||||
final Uri contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
|
||||
|
@ -94,7 +94,8 @@ public class DownloadRedditVideoService extends Service {
|
||||
|
||||
String videoUrl = intent.getStringExtra(EXTRA_VIDEO_URL);
|
||||
String audioUrl = videoUrl.substring(0, videoUrl.lastIndexOf('/')) + "/DASH_audio.mp4";
|
||||
String fileName = intent.getStringExtra(EXTRA_SUBREDDIT) + "-" + intent.getStringExtra(EXTRA_POST_ID);
|
||||
String subredditName = intent.getStringExtra(EXTRA_SUBREDDIT);
|
||||
final String[] fileNameWithoutExtension = {subredditName + "-" + intent.getStringExtra(EXTRA_POST_ID)};
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
NotificationChannel serviceChannel;
|
||||
@ -110,13 +111,15 @@ public class DownloadRedditVideoService extends Service {
|
||||
|
||||
startForeground(
|
||||
NotificationUtils.DOWNLOAD_REDDIT_VIDEO_NOTIFICATION_ID,
|
||||
createNotification(R.string.downloading_reddit_video, fileName + ".mp4", null)
|
||||
createNotification(R.string.downloading_reddit_video, fileNameWithoutExtension[0] + ".mp4", null)
|
||||
);
|
||||
|
||||
DownloadFile downloadFile = retrofit.create(DownloadFile.class);
|
||||
|
||||
boolean separateDownloadFolder = sharedPreferences.getBoolean(SharedPreferencesUtils.SEPARATE_FOLDER_FOR_EACH_SUBREDDIT, false);
|
||||
|
||||
File directory = getExternalCacheDir();
|
||||
String destinationFileName = fileName + ".mp4";
|
||||
String destinationFileName = fileNameWithoutExtension[0] + ".mp4";
|
||||
if (directory != null) {
|
||||
String directoryPath = directory.getAbsolutePath() + "/";
|
||||
downloadFile.downloadFile(videoUrl).enqueue(new Callback<ResponseBody>() {
|
||||
@ -130,7 +133,7 @@ public class DownloadRedditVideoService extends Service {
|
||||
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
|
||||
File directory = getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
|
||||
if (directory != null) {
|
||||
String directoryPath = directory.getAbsolutePath() + "/Infinity/";
|
||||
String directoryPath = separateDownloadFolder ? directory.getAbsolutePath() + "/Infinity/" + subredditName + "/" : directory.getAbsolutePath() + "/Infinity/";
|
||||
File infinityDir = new File(directoryPath);
|
||||
if (!infinityDir.exists() && !infinityDir.mkdir()) {
|
||||
downloadFinished(null, destinationFileName, ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
@ -142,12 +145,42 @@ public class DownloadRedditVideoService extends Service {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
destinationFileUriString = Environment.DIRECTORY_PICTURES + "/Infinity/";
|
||||
destinationFileUriString = separateDownloadFolder ? Environment.DIRECTORY_PICTURES + "/Infinity/" + subredditName + "/" : Environment.DIRECTORY_PICTURES + "/Infinity/";
|
||||
}
|
||||
isDefaultDestination = true;
|
||||
} else {
|
||||
isDefaultDestination = false;
|
||||
DocumentFile picFile = DocumentFile.fromTreeUri(DownloadRedditVideoService.this, Uri.parse(destinationFileDirectory)).createFile("video/*", destinationFileName);
|
||||
DocumentFile picFile;
|
||||
DocumentFile dir;
|
||||
if (separateDownloadFolder) {
|
||||
dir = DocumentFile.fromTreeUri(DownloadRedditVideoService.this, Uri.parse(destinationFileDirectory));
|
||||
if (dir == null) {
|
||||
downloadFinished(null, destinationFileName, ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
return;
|
||||
}
|
||||
dir = dir.findFile(subredditName);
|
||||
if (dir == null) {
|
||||
dir = DocumentFile.fromTreeUri(DownloadRedditVideoService.this, Uri.parse(destinationFileDirectory)).createDirectory(subredditName);
|
||||
if (dir == null) {
|
||||
downloadFinished(null, destinationFileName, ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
dir = DocumentFile.fromTreeUri(DownloadRedditVideoService.this, Uri.parse(destinationFileDirectory));
|
||||
if (dir == null) {
|
||||
downloadFinished(null, destinationFileName, ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
return;
|
||||
}
|
||||
}
|
||||
DocumentFile checkForDuplicates = dir.findFile(destinationFileName);
|
||||
int num = 1;
|
||||
while (checkForDuplicates != null) {
|
||||
fileNameWithoutExtension[0] = fileNameWithoutExtension[0] + " (" + num + ")";
|
||||
checkForDuplicates = dir.findFile(fileNameWithoutExtension[0] + ".mp4");
|
||||
num++;
|
||||
}
|
||||
picFile = dir.createFile("video/*", fileNameWithoutExtension[0] + ".mp4");
|
||||
if (picFile == null) {
|
||||
downloadFinished(null, destinationFileName, ERROR_CANNOT_GET_DESTINATION_DIRECTORY);
|
||||
return;
|
||||
@ -160,9 +193,9 @@ public class DownloadRedditVideoService extends Service {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<ResponseBody> call, @NonNull Response<ResponseBody> audioResponse) {
|
||||
if (audioResponse.isSuccessful() && audioResponse.body() != null) {
|
||||
String videoFilePath = directoryPath + fileName + "-cache.mp4";
|
||||
String audioFilePath = directoryPath + fileName + "-cache.mp3";
|
||||
String outputFilePath = directoryPath + fileName + ".mp4";
|
||||
String videoFilePath = directoryPath + fileNameWithoutExtension[0] + "-cache.mp4";
|
||||
String audioFilePath = directoryPath + fileNameWithoutExtension[0] + "-cache.mp3";
|
||||
String outputFilePath = directoryPath + fileNameWithoutExtension[0] + ".mp4";
|
||||
new SaveTempMuxAndCopyAsyncTask(videoResponse.body(),
|
||||
audioResponse.body(), videoFilePath, audioFilePath, outputFilePath,
|
||||
destinationFileName, destinationFileUriString, isDefaultDestination,
|
||||
@ -182,7 +215,7 @@ public class DownloadRedditVideoService extends Service {
|
||||
}
|
||||
}).execute();
|
||||
} else {
|
||||
String videoFilePath = directoryPath + fileName + "-cache.mp4";
|
||||
String videoFilePath = directoryPath + fileNameWithoutExtension[0] + "-cache.mp4";
|
||||
new SaveTempMuxAndCopyAsyncTask(videoResponse.body(),
|
||||
null, videoFilePath, null, null,
|
||||
destinationFileName, destinationFileUriString, isDefaultDestination,
|
||||
@ -204,7 +237,7 @@ public class DownloadRedditVideoService extends Service {
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<ResponseBody> call, @NonNull Throwable t) {
|
||||
String videoFilePath = directoryPath + fileName + "-cache.mp4";
|
||||
String videoFilePath = directoryPath + fileNameWithoutExtension[0] + "-cache.mp4";
|
||||
new SaveTempMuxAndCopyAsyncTask(videoResponse.body(),
|
||||
null, videoFilePath, null, null,
|
||||
destinationFileName, destinationFileUriString, isDefaultDestination,
|
||||
|
@ -120,6 +120,7 @@ public class SharedPreferencesUtils {
|
||||
public static final String IMAGE_DOWNLOAD_LOCATION = "image_download_location";
|
||||
public static final String GIF_DOWNLOAD_LOCATION = "gif_download_location";
|
||||
public static final String VIDEO_DOWNLOAD_LOCATION = "video_download_location";
|
||||
public static final String SEPARATE_FOLDER_FOR_EACH_SUBREDDIT = "separate_folder_for_each_subreddit";
|
||||
|
||||
public static final String MAIN_PAGE_TABS_SHARED_PREFERENCES_FILE = "ml.docilealligator.infinityforreddit.main_page_tabs";
|
||||
public static final String MAIN_PAGE_TAB_1_TITLE = "_main_page_tab_1_title";
|
||||
|
@ -477,6 +477,7 @@
|
||||
<string name="settings_image_download_location_title">Image Download Location</string>
|
||||
<string name="settings_gif_download_location_title">Gif Download Location</string>
|
||||
<string name="settings_video_download_location_title">Video Download Location</string>
|
||||
<string name="settings_separate_folder_for_each_subreddit">Separate Folder for Each Subreddit</string>
|
||||
|
||||
<string name="no_link_available">Cannot get the link</string>
|
||||
|
||||
|
@ -10,4 +10,9 @@
|
||||
<Preference
|
||||
app:key="video_download_location"
|
||||
app:title="@string/settings_video_download_location_title" />
|
||||
|
||||
<SwitchPreference
|
||||
app:defaultValue="false"
|
||||
app:key="separate_folder_for_each_subreddit"
|
||||
app:title="@string/settings_separate_folder_for_each_subreddit" />
|
||||
</PreferenceScreen>
|
Loading…
Reference in New Issue
Block a user