mirror of
https://github.com/KokaKiwi/BarInsta
synced 2026-03-14 16:31:36 +00:00
initial implementation
This commit is contained in:
parent
cbb7b8654a
commit
a2be48029f
29 changed files with 57 additions and 6 deletions
|
|
@ -29,6 +29,7 @@ public class DownloadsPreferencesFragment extends BasePreferencesFragment {
|
|||
if (context == null) return;
|
||||
screen.addPreference(getDownloadUserFolderPreference(context));
|
||||
screen.addPreference(getSaveToCustomFolderPreference(context));
|
||||
screen.addPreference(getPrependUsernameToFilenamePreference(context));
|
||||
}
|
||||
|
||||
private Preference getDownloadUserFolderPreference(@NonNull final Context context) {
|
||||
|
|
@ -49,6 +50,14 @@ public class DownloadsPreferencesFragment extends BasePreferencesFragment {
|
|||
.show(getParentFragmentManager(), null));
|
||||
}
|
||||
|
||||
private Preference getPrependUsernameToFilenamePreference(@NonNull final Context context) {
|
||||
final SwitchPreferenceCompat preference = new SwitchPreferenceCompat(context);
|
||||
preference.setKey(Constants.DOWNLOAD_PREPEND_USER_NAME);
|
||||
preference.setTitle("Prepend Username to Filename");
|
||||
preference.setIconSpaceReserved(false);
|
||||
return preference;
|
||||
}
|
||||
|
||||
public static class SaveToCustomFolderPreference extends Preference {
|
||||
private AppCompatTextView customPathTextView;
|
||||
private final OnSelectFolderButtonClickListener onSelectFolderButtonClickListener;
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ public final class Constants {
|
|||
// boolean prefs
|
||||
public static final String DOWNLOAD_USER_FOLDER = "download_user_folder";
|
||||
public static final String TOGGLE_KEYWORD_FILTER = "toggle_keyword_filter";
|
||||
public static final String DOWNLOAD_PREPEND_USER_NAME = "download_user_name";
|
||||
// deprecated: public static final String BOTTOM_TOOLBAR = "bottom_toolbar";
|
||||
public static final String FOLDER_SAVE_TO = "saved_to";
|
||||
public static final String AUTOPLAY_VIDEOS = "autoplay_videos";
|
||||
|
|
|
|||
|
|
@ -116,7 +116,15 @@ public final class DownloadUtils {
|
|||
private static File getDownloadSaveFile(final File finalDir,
|
||||
final String postId,
|
||||
final String displayUrl) {
|
||||
return getDownloadSaveFile(finalDir, postId, "", displayUrl);
|
||||
return getDownloadSaveFile(finalDir, postId, "", displayUrl, "");
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static File getDownloadSaveFile(final File finalDir,
|
||||
final String postId,
|
||||
final String displayUrl,
|
||||
final String username) {
|
||||
return getDownloadSaveFile(finalDir, postId, "", displayUrl, username);
|
||||
}
|
||||
|
||||
private static File getDownloadChildSaveFile(final File downloadDir,
|
||||
|
|
@ -131,8 +139,10 @@ public final class DownloadUtils {
|
|||
private static File getDownloadSaveFile(final File finalDir,
|
||||
final String postId,
|
||||
final String sliderPostfix,
|
||||
final String displayUrl) {
|
||||
final String fileName = postId + sliderPostfix + getFileExtensionFromUrl(displayUrl);
|
||||
final String displayUrl,
|
||||
final String username) {
|
||||
String usernamePrepend = (username.equals("")) ? "" : "@" + username + "_";
|
||||
final String fileName = usernamePrepend + postId + sliderPostfix + getFileExtensionFromUrl(displayUrl);
|
||||
return new File(finalDir, fileName);
|
||||
}
|
||||
|
||||
|
|
@ -263,7 +273,7 @@ public final class DownloadUtils {
|
|||
? storyModel.getVideoUrl()
|
||||
: storyModel.getStoryUrl();
|
||||
final File saveFile = new File(downloadDir,
|
||||
storyModel.getStoryMediaId()
|
||||
storyModel.getUsername() + storyModel.getStoryMediaId()
|
||||
+ "_" + storyModel.getTimestamp()
|
||||
+ DownloadUtils.getFileExtensionFromUrl(url));
|
||||
download(context, url, saveFile.getAbsolutePath());
|
||||
|
|
@ -297,7 +307,12 @@ public final class DownloadUtils {
|
|||
case MEDIA_TYPE_IMAGE:
|
||||
case MEDIA_TYPE_VIDEO: {
|
||||
final String url = getUrlOfType(media);
|
||||
final File file = getDownloadSaveFile(downloadDir, media.getCode(), url);
|
||||
final File file;
|
||||
if (Utils.settingsHelper.getBoolean(Constants.DOWNLOAD_PREPEND_USER_NAME) && mediaUser != null) {
|
||||
file = getDownloadSaveFile(downloadDir, media.getCode(), url, mediaUser.getUsername());
|
||||
} else {
|
||||
file = getDownloadSaveFile(downloadDir, media.getCode(), url);
|
||||
}
|
||||
map.put(url, file.getAbsolutePath());
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ import static awais.instagrabber.utils.Constants.DATE_TIME_SELECTION;
|
|||
import static awais.instagrabber.utils.Constants.DEFAULT_TAB;
|
||||
import static awais.instagrabber.utils.Constants.DEVICE_UUID;
|
||||
import static awais.instagrabber.utils.Constants.DM_MARK_AS_SEEN;
|
||||
import static awais.instagrabber.utils.Constants.DOWNLOAD_PREPEND_USER_NAME;
|
||||
import static awais.instagrabber.utils.Constants.DOWNLOAD_USER_FOLDER;
|
||||
import static awais.instagrabber.utils.Constants.FLAG_SECURE;
|
||||
import static awais.instagrabber.utils.Constants.FOLDER_PATH;
|
||||
|
|
@ -158,7 +159,7 @@ public final class SettingsHelper {
|
|||
STORY_SORT, PREF_EMOJI_VARIANTS, PREF_REACTIONS, PREF_ENABLE_DM_AUTO_REFRESH_FREQ_UNIT})
|
||||
public @interface StringSettings {}
|
||||
|
||||
@StringDef({DOWNLOAD_USER_FOLDER, FOLDER_SAVE_TO, AUTOPLAY_VIDEOS, SHOW_QUICK_ACCESS_DIALOG, MUTED_VIDEOS,
|
||||
@StringDef({DOWNLOAD_USER_FOLDER, DOWNLOAD_PREPEND_USER_NAME, FOLDER_SAVE_TO, AUTOPLAY_VIDEOS, SHOW_QUICK_ACCESS_DIALOG, MUTED_VIDEOS,
|
||||
SHOW_CAPTIONS, CUSTOM_DATE_TIME_FORMAT_ENABLED, MARK_AS_SEEN, DM_MARK_AS_SEEN, CHECK_ACTIVITY,
|
||||
CHECK_UPDATES, SWAP_DATE_TIME_FORMAT_ENABLED, PREF_ENABLE_DM_NOTIFICATIONS, PREF_ENABLE_DM_AUTO_REFRESH,
|
||||
FLAG_SECURE, TOGGLE_KEYWORD_FILTER, PREF_ENABLE_SENTRY})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue