From ad69f7d382f3d70dc1b19793a79379aabbbff715 Mon Sep 17 00:00:00 2001 From: Austin Huang Date: Sun, 20 Jun 2021 14:30:08 -0400 Subject: [PATCH] saf cleanup, close #1439 --- .../fragments/CollectionPostsFragment.java | 33 ------------- .../fragments/HashTagFragment.java | 42 ++--------------- .../fragments/LocationFragment.java | 43 ++--------------- .../fragments/PostViewV2Fragment.java | 14 ------ .../fragments/SavedViewerFragment.java | 33 ------------- .../fragments/StoryViewerFragment.java | 12 +---- .../fragments/TopicPostsFragment.java | 32 ------------- .../DirectMessageThreadFragment.java | 13 +---- .../fragments/main/FeedFragment.java | 47 ++----------------- .../fragments/main/ProfileFragment.java | 42 ++--------------- app/src/main/res/values-ar/strings.xml | 1 - app/src/main/res/values-ca/strings.xml | 1 - app/src/main/res/values-cs/strings.xml | 1 - app/src/main/res/values-de/strings.xml | 1 - app/src/main/res/values-el/strings.xml | 1 - app/src/main/res/values-es/strings.xml | 1 - app/src/main/res/values-eu/strings.xml | 1 - app/src/main/res/values-fa/strings.xml | 1 - app/src/main/res/values-fr/strings.xml | 1 - app/src/main/res/values-hi/strings.xml | 1 - app/src/main/res/values-in/strings.xml | 1 - app/src/main/res/values-it/strings.xml | 1 - app/src/main/res/values-ja/strings.xml | 1 - app/src/main/res/values-ko/strings.xml | 1 - app/src/main/res/values-mk/strings.xml | 1 - app/src/main/res/values-nl/strings.xml | 1 - app/src/main/res/values-or/strings.xml | 1 - app/src/main/res/values-pl/strings.xml | 1 - app/src/main/res/values-pt/strings.xml | 1 - app/src/main/res/values-ru/strings.xml | 1 - app/src/main/res/values-sk/strings.xml | 1 - app/src/main/res/values-sv/strings.xml | 1 - app/src/main/res/values-tr/strings.xml | 1 - app/src/main/res/values-vi/strings.xml | 1 - app/src/main/res/values-zh-rCN/strings.xml | 1 - app/src/main/res/values-zh-rTW/strings.xml | 1 - app/src/main/res/values/strings.xml | 1 - 37 files changed, 15 insertions(+), 323 deletions(-) diff --git a/app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java b/app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java index 05212d19..77e55bbe 100644 --- a/app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java @@ -66,8 +66,6 @@ import awais.instagrabber.webservices.ServiceCallback; public class CollectionPostsFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener { private static final String TAG = "CollectionPostsFragment"; - private static final int STORAGE_PERM_REQUEST_CODE = 8020; - private static final int STORAGE_PERM_REQUEST_CODE_FOR_SELECTION = 8030; private MainActivity fragmentActivity; private FragmentCollectionPostsBinding binding; @@ -76,8 +74,6 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay private SavedCollection savedCollection; private ActionMode actionMode; private Set selectedFeedModels; - private Media downloadFeedModel; - private int downloadChildPosition = -1; private CollectionService collectionService; private PostsLayoutPreferences layoutPreferences = Utils.getPostsLayoutPreferences(Constants.PREF_SAVED_POSTS_LAYOUT); private MenuItem deleteMenu, editMenu; @@ -102,12 +98,8 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay if (CollectionPostsFragment.this.selectedFeedModels == null) return false; final Context context = getContext(); if (context == null) return false; - // if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { DownloadUtils.download(context, ImmutableList.copyOf(CollectionPostsFragment.this.selectedFeedModels)); binding.posts.endSelection(); - // return true; - // } - // requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE_FOR_SELECTION); } return false; } @@ -137,13 +129,7 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay public void onDownloadClick(final Media feedModel, final int childPosition) { final Context context = getContext(); if (context == null) return; - // if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { DownloadUtils.showDownloadDialog(context, feedModel, childPosition); - // return; - // } - // downloadFeedModel = feedModel; - // downloadChildPosition = -1; - // requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE); } @Override @@ -375,25 +361,6 @@ public class CollectionPostsFragment extends Fragment implements SwipeRefreshLay resetToolbar(); } - @Override - public void onRequestPermissionsResult(final int requestCode, @NonNull final String[] permissions, @NonNull final int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - final boolean granted = grantResults[0] == PackageManager.PERMISSION_GRANTED; - final Context context = getContext(); - if (context == null) return; - if (requestCode == STORAGE_PERM_REQUEST_CODE && granted) { - if (downloadFeedModel == null) return; - DownloadUtils.showDownloadDialog(context, downloadFeedModel, downloadChildPosition); - downloadFeedModel = null; - downloadChildPosition = -1; - return; - } - if (requestCode == STORAGE_PERM_REQUEST_CODE_FOR_SELECTION && granted) { - DownloadUtils.download(context, ImmutableList.copyOf(selectedFeedModels)); - binding.posts.endSelection(); - } - } - private void resetToolbar() { fragmentActivity.resetToolbar(); } diff --git a/app/src/main/java/awais/instagrabber/fragments/HashTagFragment.java b/app/src/main/java/awais/instagrabber/fragments/HashTagFragment.java index 185f186d..5c376373 100644 --- a/app/src/main/java/awais/instagrabber/fragments/HashTagFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/HashTagFragment.java @@ -26,7 +26,6 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBar; import androidx.constraintlayout.motion.widget.MotionLayout; import androidx.constraintlayout.motion.widget.MotionScene; -import androidx.core.content.PermissionChecker; import androidx.fragment.app.Fragment; import androidx.navigation.NavController; import androidx.navigation.NavDirections; @@ -72,14 +71,10 @@ import awais.instagrabber.webservices.StoriesRepository; import awais.instagrabber.webservices.TagsService; import kotlinx.coroutines.Dispatchers; -import static androidx.core.content.PermissionChecker.checkSelfPermission; -import static awais.instagrabber.utils.DownloadUtils.WRITE_PERMISSION; import static awais.instagrabber.utils.Utils.settingsHelper; public class HashTagFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener { private static final String TAG = "HashTagFragment"; - private static final int STORAGE_PERM_REQUEST_CODE = 8020; - private static final int STORAGE_PERM_REQUEST_CODE_FOR_SELECTION = 8030; public static final String ARG_HASHTAG = "hashtag"; @@ -98,8 +93,6 @@ public class HashTagFragment extends Fragment implements SwipeRefreshLayout.OnRe private GraphQLRepository graphQLRepository; private boolean storiesFetching; private Set selectedFeedModels; - private Media downloadFeedModel; - private int downloadChildPosition = -1; private PostsLayoutPreferences layoutPreferences = Utils.getPostsLayoutPreferences(Constants.PREF_HASHTAG_POSTS_LAYOUT); private LayoutHashtagDetailsBinding hashtagDetailsBinding; @@ -123,12 +116,8 @@ public class HashTagFragment extends Fragment implements SwipeRefreshLayout.OnRe if (HashTagFragment.this.selectedFeedModels == null) return false; final Context context = getContext(); if (context == null) return false; - if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { - DownloadUtils.download(context, ImmutableList.copyOf(HashTagFragment.this.selectedFeedModels)); - binding.posts.endSelection(); - return true; - } - requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE_FOR_SELECTION); + DownloadUtils.download(context, ImmutableList.copyOf(HashTagFragment.this.selectedFeedModels)); + binding.posts.endSelection(); return true; } return false; @@ -159,13 +148,7 @@ public class HashTagFragment extends Fragment implements SwipeRefreshLayout.OnRe public void onDownloadClick(final Media feedModel, final int childPosition) { final Context context = getContext(); if (context == null) return; - if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { - DownloadUtils.showDownloadDialog(context, feedModel, childPosition); - return; - } - downloadFeedModel = feedModel; - downloadChildPosition = childPosition; - requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE); + DownloadUtils.showDownloadDialog(context, feedModel, childPosition); } @Override @@ -349,25 +332,6 @@ public class HashTagFragment extends Fragment implements SwipeRefreshLayout.OnRe return super.onOptionsItemSelected(item); } - @Override - public void onRequestPermissionsResult(final int requestCode, @NonNull final String[] permissions, @NonNull final int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - final boolean granted = grantResults[0] == PackageManager.PERMISSION_GRANTED; - final Context context = getContext(); - if (context == null) return; - if (requestCode == STORAGE_PERM_REQUEST_CODE && granted) { - if (downloadFeedModel == null) return; - DownloadUtils.showDownloadDialog(context, downloadFeedModel, downloadChildPosition); - downloadFeedModel = null; - downloadChildPosition = -1; - return; - } - if (requestCode == STORAGE_PERM_REQUEST_CODE_FOR_SELECTION && granted) { - DownloadUtils.download(context, ImmutableList.copyOf(selectedFeedModels)); - binding.posts.endSelection(); - } - } - private void init() { if (getArguments() == null) return; final HashTagFragmentArgs fragmentArgs = HashTagFragmentArgs.fromBundle(getArguments()); diff --git a/app/src/main/java/awais/instagrabber/fragments/LocationFragment.java b/app/src/main/java/awais/instagrabber/fragments/LocationFragment.java index a8d1d6df..21408afd 100644 --- a/app/src/main/java/awais/instagrabber/fragments/LocationFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/LocationFragment.java @@ -24,7 +24,6 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBar; import androidx.constraintlayout.motion.widget.MotionLayout; import androidx.constraintlayout.motion.widget.MotionScene; -import androidx.core.content.PermissionChecker; import androidx.fragment.app.Fragment; import androidx.navigation.NavController; import androidx.navigation.NavDirections; @@ -68,14 +67,10 @@ import awais.instagrabber.webservices.ServiceCallback; import awais.instagrabber.webservices.StoriesRepository; import kotlinx.coroutines.Dispatchers; -import static androidx.core.content.PermissionChecker.checkSelfPermission; -import static awais.instagrabber.utils.DownloadUtils.WRITE_PERMISSION; import static awais.instagrabber.utils.Utils.settingsHelper; public class LocationFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener { private static final String TAG = "LocationFragment"; - private static final int STORAGE_PERM_REQUEST_CODE = 8020; - private static final int STORAGE_PERM_REQUEST_CODE_FOR_SELECTION = 8030; private MainActivity fragmentActivity; private FragmentLocationBinding binding; @@ -92,8 +87,6 @@ public class LocationFragment extends Fragment implements SwipeRefreshLayout.OnR private boolean isLoggedIn; private boolean storiesFetching; private Set selectedFeedModels; - private Media downloadFeedModel; - private int downloadChildPosition = -1; private PostsLayoutPreferences layoutPreferences = Utils.getPostsLayoutPreferences(Constants.PREF_LOCATION_POSTS_LAYOUT); private LayoutLocationDetailsBinding locationDetailsBinding; @@ -117,12 +110,9 @@ public class LocationFragment extends Fragment implements SwipeRefreshLayout.OnR if (LocationFragment.this.selectedFeedModels == null) return false; final Context context = getContext(); if (context == null) return false; - if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { - DownloadUtils.download(context, ImmutableList.copyOf(LocationFragment.this.selectedFeedModels)); - binding.posts.endSelection(); - return true; - } - requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE_FOR_SELECTION); + DownloadUtils.download(context, ImmutableList.copyOf(LocationFragment.this.selectedFeedModels)); + binding.posts.endSelection(); + return true; } return false; } @@ -152,13 +142,7 @@ public class LocationFragment extends Fragment implements SwipeRefreshLayout.OnR public void onDownloadClick(final Media feedModel, final int childPosition) { final Context context = getContext(); if (context == null) return; - if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { - DownloadUtils.showDownloadDialog(context, feedModel, childPosition); - return; - } - downloadFeedModel = feedModel; - downloadChildPosition = childPosition; - requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE); + DownloadUtils.showDownloadDialog(context, feedModel, childPosition); } @Override @@ -344,25 +328,6 @@ public class LocationFragment extends Fragment implements SwipeRefreshLayout.OnR return super.onOptionsItemSelected(item); } - @Override - public void onRequestPermissionsResult(final int requestCode, @NonNull final String[] permissions, @NonNull final int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - final boolean granted = grantResults[0] == PackageManager.PERMISSION_GRANTED; - final Context context = getContext(); - if (context == null) return; - if (requestCode == STORAGE_PERM_REQUEST_CODE && granted) { - if (downloadFeedModel == null) return; - DownloadUtils.showDownloadDialog(context, downloadFeedModel, downloadChildPosition); - downloadFeedModel = null; - downloadChildPosition = -1; - return; - } - if (requestCode == STORAGE_PERM_REQUEST_CODE_FOR_SELECTION && granted) { - DownloadUtils.download(context, ImmutableList.copyOf(selectedFeedModels)); - binding.posts.endSelection(); - } - } - private void init() { if (getArguments() == null) return; final LocationFragmentArgs fragmentArgs = LocationFragmentArgs.fromBundle(getArguments()); diff --git a/app/src/main/java/awais/instagrabber/fragments/PostViewV2Fragment.java b/app/src/main/java/awais/instagrabber/fragments/PostViewV2Fragment.java index 873448da..69c12419 100644 --- a/app/src/main/java/awais/instagrabber/fragments/PostViewV2Fragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/PostViewV2Fragment.java @@ -30,7 +30,6 @@ import androidx.appcompat.widget.PopupMenu; import androidx.appcompat.widget.Toolbar; import androidx.appcompat.widget.TooltipCompat; import androidx.constraintlayout.widget.ConstraintLayout; -import androidx.core.content.PermissionChecker; import androidx.core.view.WindowCompat; import androidx.core.view.WindowInsetsCompat; import androidx.core.view.WindowInsetsControllerCompat; @@ -105,10 +104,8 @@ import awais.instagrabber.utils.TextUtils; import awais.instagrabber.utils.Utils; import awais.instagrabber.viewmodels.PostViewV2ViewModel; -//import static androidx.core.content.PermissionChecker.checkSelfPermission; import static awais.instagrabber.fragments.HashTagFragment.ARG_HASHTAG; import static awais.instagrabber.fragments.settings.PreferenceKeys.PREF_SHOWN_COUNT_TOOLTIP; -import static awais.instagrabber.utils.DownloadUtils.WRITE_PERMISSION; import static awais.instagrabber.utils.Utils.settingsHelper; public class PostViewV2Fragment extends Fragment implements EditTextDialogFragment.EditTextDialogFragmentCallback { @@ -116,7 +113,6 @@ public class PostViewV2Fragment extends Fragment implements EditTextDialogFragme // private static final int DETAILS_HIDE_DELAY_MILLIS = 2000; public static final String ARG_MEDIA = "media"; public static final String ARG_SLIDER_POSITION = "position"; - private static final int STORAGE_PERM_REQUEST_CODE = 8020; private DialogPostViewBinding binding; private Context context; @@ -281,16 +277,6 @@ public class PostViewV2Fragment extends Fragment implements EditTextDialogFragme } } - @Override - public void onRequestPermissionsResult(final int requestCode, @NonNull final String[] permissions, @NonNull final int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - if (requestCode == STORAGE_PERM_REQUEST_CODE && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - final Context context = getContext(); - if (context == null) return; - DownloadUtils.showDownloadDialog(context, viewModel.getMedia(), sliderPosition); - } - } - private void init() { final Bundle arguments = getArguments(); if (arguments == null) { diff --git a/app/src/main/java/awais/instagrabber/fragments/SavedViewerFragment.java b/app/src/main/java/awais/instagrabber/fragments/SavedViewerFragment.java index d366a476..71d517b9 100644 --- a/app/src/main/java/awais/instagrabber/fragments/SavedViewerFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/SavedViewerFragment.java @@ -49,8 +49,6 @@ import static awais.instagrabber.utils.Utils.settingsHelper; public final class SavedViewerFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener { private static final String TAG = SavedViewerFragment.class.getSimpleName(); - private static final int STORAGE_PERM_REQUEST_CODE = 8020; - private static final int STORAGE_PERM_REQUEST_CODE_FOR_SELECTION = 8030; private FragmentSavedBinding binding; private String username; @@ -61,8 +59,6 @@ public final class SavedViewerFragment extends Fragment implements SwipeRefreshL private boolean isLoggedIn, shouldRefresh = true; private PostItemType type; private Set selectedFeedModels; - private Media downloadFeedModel; - private int downloadChildPosition = -1; private PostsLayoutPreferences layoutPreferences; private final OnBackPressedCallback onBackPressedCallback = new OnBackPressedCallback(false) { @@ -85,12 +81,8 @@ public final class SavedViewerFragment extends Fragment implements SwipeRefreshL if (SavedViewerFragment.this.selectedFeedModels == null) return false; final Context context = getContext(); if (context == null) return false; - // if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { DownloadUtils.download(context, ImmutableList.copyOf(SavedViewerFragment.this.selectedFeedModels)); binding.posts.endSelection(); - // return true; - // } - // requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE_FOR_SELECTION); } return false; } @@ -120,13 +112,7 @@ public final class SavedViewerFragment extends Fragment implements SwipeRefreshL public void onDownloadClick(final Media feedModel, final int childPosition) { final Context context = getContext(); if (context == null) return; - // if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { DownloadUtils.showDownloadDialog(context, feedModel, childPosition); - // return; - // } - // downloadFeedModel = feedModel; - // downloadChildPosition = childPosition; - // requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE); } @Override @@ -306,25 +292,6 @@ public final class SavedViewerFragment extends Fragment implements SwipeRefreshL } } - @Override - public void onRequestPermissionsResult(final int requestCode, @NonNull final String[] permissions, @NonNull final int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - final boolean granted = grantResults[0] == PackageManager.PERMISSION_GRANTED; - final Context context = getContext(); - if (context == null) return; - if (requestCode == STORAGE_PERM_REQUEST_CODE && granted) { - if (downloadFeedModel == null) return; - DownloadUtils.showDownloadDialog(context, downloadFeedModel, downloadChildPosition); - downloadFeedModel = null; - downloadChildPosition = -1; - return; - } - if (requestCode == STORAGE_PERM_REQUEST_CODE_FOR_SELECTION && granted) { - DownloadUtils.download(context, ImmutableList.copyOf(selectedFeedModels)); - binding.posts.endSelection(); - } - } - private void setTitle() { final ActionBar actionBar = fragmentActivity.getSupportActionBar(); if (actionBar == null) return; diff --git a/app/src/main/java/awais/instagrabber/fragments/StoryViewerFragment.java b/app/src/main/java/awais/instagrabber/fragments/StoryViewerFragment.java index 719a7ebf..b24ad0f2 100644 --- a/app/src/main/java/awais/instagrabber/fragments/StoryViewerFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/StoryViewerFragment.java @@ -209,10 +209,7 @@ public class StoryViewerFragment extends Fragment { if (context == null) return false; int itemId = item.getItemId(); if (itemId == R.id.action_download) { - if (ContextCompat.checkSelfPermission(context, DownloadUtils.PERMS[0]) == PackageManager.PERMISSION_GRANTED) - downloadStory(); - else - ActivityCompat.requestPermissions(requireActivity(), DownloadUtils.PERMS, 8020); + downloadStory(); return true; } if (itemId == R.id.action_dms) { @@ -263,13 +260,6 @@ public class StoryViewerFragment extends Fragment { return false; } - @Override - public void onRequestPermissionsResult(final int requestCode, @NonNull final String[] permissions, @NonNull final int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - if (requestCode == 8020 && grantResults[0] == PackageManager.PERMISSION_GRANTED) - downloadStory(); - } - @Override public void onPause() { super.onPause(); diff --git a/app/src/main/java/awais/instagrabber/fragments/TopicPostsFragment.java b/app/src/main/java/awais/instagrabber/fragments/TopicPostsFragment.java index 9e4474a1..bba645a7 100644 --- a/app/src/main/java/awais/instagrabber/fragments/TopicPostsFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/TopicPostsFragment.java @@ -61,8 +61,6 @@ import awais.instagrabber.webservices.DiscoverService; public class TopicPostsFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener { private static final String TAG = TopicPostsFragment.class.getSimpleName(); - private static final int STORAGE_PERM_REQUEST_CODE = 8020; - private static final int STORAGE_PERM_REQUEST_CODE_FOR_SELECTION = 8030; private MainActivity fragmentActivity; private FragmentTopicPostsBinding binding; @@ -71,8 +69,6 @@ public class TopicPostsFragment extends Fragment implements SwipeRefreshLayout.O private TopicCluster topicCluster; private ActionMode actionMode; private Set selectedFeedModels; - private Media downloadFeedModel; - private int downloadChildPosition = -1; private PostsLayoutPreferences layoutPreferences = Utils.getPostsLayoutPreferences(Constants.PREF_TOPIC_POSTS_LAYOUT); private final OnBackPressedCallback onBackPressedCallback = new OnBackPressedCallback(false) { @@ -95,12 +91,9 @@ public class TopicPostsFragment extends Fragment implements SwipeRefreshLayout.O if (TopicPostsFragment.this.selectedFeedModels == null) return false; final Context context = getContext(); if (context == null) return false; - // if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { DownloadUtils.download(context, ImmutableList.copyOf(TopicPostsFragment.this.selectedFeedModels)); binding.posts.endSelection(); return true; - // } - // requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE_FOR_SELECTION); } return false; } @@ -130,13 +123,7 @@ public class TopicPostsFragment extends Fragment implements SwipeRefreshLayout.O public void onDownloadClick(final Media feedModel, final int childPosition) { final Context context = getContext(); if (context == null) return; - // if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { DownloadUtils.showDownloadDialog(context, feedModel, childPosition); - // return; - // } - // downloadFeedModel = feedModel; - // downloadChildPosition = -1; - // requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE); } @Override @@ -299,25 +286,6 @@ public class TopicPostsFragment extends Fragment implements SwipeRefreshLayout.O resetToolbar(); } - @Override - public void onRequestPermissionsResult(final int requestCode, @NonNull final String[] permissions, @NonNull final int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - final boolean granted = grantResults[0] == PackageManager.PERMISSION_GRANTED; - final Context context = getContext(); - if (context == null) return; - if (requestCode == STORAGE_PERM_REQUEST_CODE && granted) { - if (downloadFeedModel == null) return; - DownloadUtils.showDownloadDialog(context, downloadFeedModel, downloadChildPosition); - downloadFeedModel = null; - downloadChildPosition = -1; - return; - } - if (requestCode == STORAGE_PERM_REQUEST_CODE_FOR_SELECTION && granted) { - DownloadUtils.download(context, ImmutableList.copyOf(selectedFeedModels)); - binding.posts.endSelection(); - } - } - private void resetToolbar() { fragmentActivity.resetToolbar(); } diff --git a/app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageThreadFragment.java b/app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageThreadFragment.java index 7c705042..72a8568b 100644 --- a/app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageThreadFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageThreadFragment.java @@ -128,7 +128,6 @@ import awais.instagrabber.viewmodels.factories.DirectThreadViewModelFactory; public class DirectMessageThreadFragment extends Fragment implements DirectReactionsAdapter.OnReactionClickListener, EmojiPicker.OnEmojiClickListener { private static final String TAG = DirectMessageThreadFragment.class.getSimpleName(); - private static final int STORAGE_PERM_REQUEST_CODE = 8020; private static final int AUDIO_RECORD_PERM_REQUEST_CODE = 1000; private static final int CAMERA_REQUEST_CODE = 200; private static final String TRANSLATION_Y = "translationY"; @@ -490,17 +489,12 @@ public class DirectMessageThreadFragment extends Fragment implements DirectReact super.onRequestPermissionsResult(requestCode, permissions, grantResults); final Context context = getContext(); if (context == null) return; - if (requestCode == STORAGE_PERM_REQUEST_CODE && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - if (tempMedia == null) return; - downloadItem(context, tempMedia); - return; - } if (requestCode == AUDIO_RECORD_PERM_REQUEST_CODE) { if (PermissionUtils.hasAudioRecordPerms(context)) { Toast.makeText(context, "You can send voice messages now!", Toast.LENGTH_LONG).show(); return; } - Toast.makeText(context, "Require RECORD_AUDIO and WRITE_EXTERNAL_STORAGE permissions", Toast.LENGTH_LONG).show(); + Toast.makeText(context, "Require RECORD_AUDIO permission", Toast.LENGTH_LONG).show(); } } @@ -1408,13 +1402,8 @@ public class DirectMessageThreadFragment extends Fragment implements DirectReact Toast.makeText(context, R.string.downloader_unknown_error, Toast.LENGTH_SHORT).show(); return; } - // if (ContextCompat.checkSelfPermission(context, DownloadUtils.PERMS[0]) == PackageManager.PERMISSION_GRANTED) { DownloadUtils.download(context, media); Toast.makeText(context, R.string.downloader_downloading_media, Toast.LENGTH_SHORT).show(); - // return; - // } - // tempMedia = media; - // requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE); } @Nullable diff --git a/app/src/main/java/awais/instagrabber/fragments/main/FeedFragment.java b/app/src/main/java/awais/instagrabber/fragments/main/FeedFragment.java index 3d501372..25a354ea 100644 --- a/app/src/main/java/awais/instagrabber/fragments/main/FeedFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/main/FeedFragment.java @@ -20,7 +20,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.constraintlayout.motion.widget.MotionLayout; import androidx.constraintlayout.motion.widget.MotionScene; -import androidx.core.content.PermissionChecker; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; import androidx.navigation.NavController; @@ -57,13 +56,8 @@ import awais.instagrabber.viewmodels.FeedStoriesViewModel; import awais.instagrabber.webservices.StoriesRepository; import kotlinx.coroutines.Dispatchers; -import static androidx.core.content.PermissionChecker.checkSelfPermission; -import static awais.instagrabber.utils.DownloadUtils.WRITE_PERMISSION; - public class FeedFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener { private static final String TAG = "FeedFragment"; - private static final int STORAGE_PERM_REQUEST_CODE = 8020; - private static final int STORAGE_PERM_REQUEST_CODE_FOR_SELECTION = 8030; private MainActivity fragmentActivity; private MotionLayout root; @@ -75,8 +69,6 @@ public class FeedFragment extends Fragment implements SwipeRefreshLayout.OnRefre private boolean storiesFetching; private ActionMode actionMode; private Set selectedFeedModels; - private Media downloadFeedModel; - private int downloadChildPosition = -1; private PostsLayoutPreferences layoutPreferences = Utils.getPostsLayoutPreferences(Constants.PREF_POSTS_LAYOUT); private RecyclerView storiesRecyclerView; private MenuItem storyListMenu; @@ -129,13 +121,7 @@ public class FeedFragment extends Fragment implements SwipeRefreshLayout.OnRefre public void onDownloadClick(final Media feedModel, final int childPosition) { final Context context = getContext(); if (context == null) return; - if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { - DownloadUtils.showDownloadDialog(context, feedModel, childPosition); - return; - } - downloadFeedModel = feedModel; - downloadChildPosition = childPosition; - requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE); + DownloadUtils.showDownloadDialog(context, feedModel, childPosition); } @Override @@ -218,12 +204,8 @@ public class FeedFragment extends Fragment implements SwipeRefreshLayout.OnRefre if (FeedFragment.this.selectedFeedModels == null) return false; final Context context = getContext(); if (context == null) return false; - if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { - DownloadUtils.download(context, ImmutableList.copyOf(FeedFragment.this.selectedFeedModels)); - binding.feedRecyclerView.endSelection(); - return true; - } - requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE_FOR_SELECTION); + DownloadUtils.download(context, ImmutableList.copyOf(FeedFragment.this.selectedFeedModels)); + binding.feedRecyclerView.endSelection(); return true; } return false; @@ -359,29 +341,6 @@ public class FeedFragment extends Fragment implements SwipeRefreshLayout.OnRefre } } - @Override - public void onRequestPermissionsResult(final int requestCode, @NonNull final String[] permissions, @NonNull final int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - final boolean granted = grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED; - final Context context = getContext(); - if (context == null) return; - if (!granted) { - Toast.makeText(context, R.string.download_permission, Toast.LENGTH_SHORT).show(); - return; - } - if (requestCode == STORAGE_PERM_REQUEST_CODE && granted) { - if (downloadFeedModel == null) return; - DownloadUtils.showDownloadDialog(context, downloadFeedModel, downloadChildPosition); - downloadFeedModel = null; - downloadChildPosition = -1; - return; - } - if (requestCode == STORAGE_PERM_REQUEST_CODE_FOR_SELECTION && granted) { - DownloadUtils.download(context, ImmutableList.copyOf(selectedFeedModels)); - binding.feedRecyclerView.endSelection(); - } - } - private void setupFeed() { binding.feedRecyclerView.setViewModelStoreOwner(this) .setLifeCycleOwner(this) diff --git a/app/src/main/java/awais/instagrabber/fragments/main/ProfileFragment.java b/app/src/main/java/awais/instagrabber/fragments/main/ProfileFragment.java index e0ed90b4..e5e54a25 100644 --- a/app/src/main/java/awais/instagrabber/fragments/main/ProfileFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/main/ProfileFragment.java @@ -30,7 +30,6 @@ import androidx.appcompat.app.AlertDialog; import androidx.appcompat.content.res.AppCompatResources; import androidx.constraintlayout.motion.widget.MotionLayout; import androidx.constraintlayout.motion.widget.MotionScene; -import androidx.core.content.PermissionChecker; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; @@ -105,14 +104,10 @@ import awais.instagrabber.webservices.StoriesRepository; import awais.instagrabber.webservices.UserRepository; import kotlinx.coroutines.Dispatchers; -import static androidx.core.content.PermissionChecker.checkSelfPermission; import static awais.instagrabber.fragments.HashTagFragment.ARG_HASHTAG; -import static awais.instagrabber.utils.DownloadUtils.WRITE_PERMISSION; public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener { private static final String TAG = "ProfileFragment"; - private static final int STORAGE_PERM_REQUEST_CODE = 8020; - private static final int STORAGE_PERM_REQUEST_CODE_FOR_SELECTION = 8030; private MainActivity fragmentActivity; private MotionLayout root; @@ -139,8 +134,6 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe private boolean accountIsUpdated = false; private boolean postsSetupDone = false; private Set selectedFeedModels; - private Media downloadFeedModel; - private int downloadChildPosition = -1; private long myId; private PostsLayoutPreferences layoutPreferences = Utils.getPostsLayoutPreferences(Constants.PREF_PROFILE_POSTS_LAYOUT); private LayoutProfileDetailsBinding profileDetailsBinding; @@ -199,12 +192,8 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe if (ProfileFragment.this.selectedFeedModels == null) return false; final Context context = getContext(); if (context == null) return false; - if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { - DownloadUtils.download(context, ImmutableList.copyOf(ProfileFragment.this.selectedFeedModels)); - binding.postsRecyclerView.endSelection(); - return true; - } - requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE_FOR_SELECTION); + DownloadUtils.download(context, ImmutableList.copyOf(ProfileFragment.this.selectedFeedModels)); + binding.postsRecyclerView.endSelection(); return true; } return false; @@ -235,13 +224,7 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe public void onDownloadClick(final Media feedModel, final int childPosition) { final Context context = getContext(); if (context == null) return; - if (checkSelfPermission(context, WRITE_PERMISSION) == PermissionChecker.PERMISSION_GRANTED) { - DownloadUtils.showDownloadDialog(context, feedModel, childPosition); - return; - } - downloadFeedModel = feedModel; - downloadChildPosition = childPosition; - requestPermissions(DownloadUtils.PERMS, STORAGE_PERM_REQUEST_CODE); + DownloadUtils.showDownloadDialog(context, feedModel, childPosition); } @Override @@ -638,25 +621,6 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe } } - @Override - public void onRequestPermissionsResult(final int requestCode, @NonNull final String[] permissions, @NonNull final int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - final boolean granted = grantResults[0] == PackageManager.PERMISSION_GRANTED; - final Context context = getContext(); - if (context == null) return; - if (requestCode == STORAGE_PERM_REQUEST_CODE && granted) { - if (downloadFeedModel == null) return; - DownloadUtils.showDownloadDialog(context, downloadFeedModel, downloadChildPosition); - downloadFeedModel = null; - downloadChildPosition = -1; - return; - } - if (requestCode == STORAGE_PERM_REQUEST_CODE_FOR_SELECTION && granted) { - DownloadUtils.download(context, ImmutableList.copyOf(selectedFeedModels)); - binding.postsRecyclerView.endSelection(); - } - } - private void init() { disableDm = !Utils.isNavRootInCurrentTabs("direct_messages_nav_graph"); if (getArguments() != null) { diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 4487e17a..f2468953 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -427,7 +427,6 @@ %s stories %s stories - لا يوجد إذن للوصول إلى ذاكرة التخزين! التفاصيل العنوان الأعضاء diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 39710189..594e1c85 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -391,7 +391,6 @@ %s història %s històries - No s\'ha concedit el permís d\'emmagatzematge! Detalls Títol Membres diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 4f198010..d72d776c 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -409,7 +409,6 @@ %s příběhů %s příběhů - Přístup k úložišti nebyl udělen! Podrobnosti Název Členové diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c24cf93f..e65111e4 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -391,7 +391,6 @@ %s Story %s Stories - Speicher-Zugriff nicht erteilt! Details Titel Mitglieder diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 5414ed75..930f0d9d 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -391,7 +391,6 @@ %s ιστορία %s ιστορίες - Δεν παραχωρήθηκε άδεια για πρόσβαση στον χώρο αποθήκευσης! Λεπτομέρειες Τίτλος Μέλη diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 93d3362e..ae47869f 100755 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -391,7 +391,6 @@ %s historia %s historias - ¡Permiso de almacenamiento no concecido! Detalles Título Miembros diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index a5cafd30..d7c7d8e8 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -391,7 +391,6 @@ Istorio %s %s istorio - Biltegiratze-baimenik ez da eman! Xehetasunak Izenburua Kideak diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index e99a6b95..e76e7051 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -392,7 +392,6 @@ %s story %s stories - Storage permission not granted! Details Title Members diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 6cd11a90..1f9150f4 100755 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -391,7 +391,6 @@ %s story %s stories - L\'autorisation d\'accès au stockage a été refusée ! Détails Titre Membres diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 65d0c43e..1a9652d4 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -392,7 +392,6 @@ %s story %s stories - स्टोरेज की अनुमति नहीं दी गई Details Title Members diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index bbb02b61..38372abe 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -382,7 +382,6 @@ %s cerita - Izin penyimpanan ditolak! Detail Judul Anggota diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 23295b10..e7214520 100755 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -391,7 +391,6 @@ %s storia %s storie - Permesso di archiviazione non garantito! Dettagli Titolo Membri diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index ff884689..f1c02e5c 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -382,7 +382,6 @@ %s ストーリー - ストレージへのアクセス権限がありません 詳細 タイトル メンバー diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index c3d38260..0baf5213 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -382,7 +382,6 @@ %s개 스토리 - Storage permission not granted! 상세내용 제목 멤버 diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index afc1c504..e8c2d1d4 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -391,7 +391,6 @@ %s приказна %s приказни - Нема дозвола за пристап до меморија! Детали Наслов Членови diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 29b55e84..1e11114f 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -391,7 +391,6 @@ %s verhaal %s verhalen - Opslag toestemming niet verleend! Details Titel Members diff --git a/app/src/main/res/values-or/strings.xml b/app/src/main/res/values-or/strings.xml index e29ecdc7..7e837f5c 100644 --- a/app/src/main/res/values-or/strings.xml +++ b/app/src/main/res/values-or/strings.xml @@ -391,7 +391,6 @@ %s story %s stories - Storage permission not granted! Details Title Members diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 0e1c9fe1..ccc1c964 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -409,7 +409,6 @@ %s relacji %s relacji - Nie przyznano uprawnień do pamięci! Szczegóły Tytuł Członkowie diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 36bc633d..31db8b3b 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -391,7 +391,6 @@ %s story %s stories - Permissão de armazenamento não concedida! Detalhes Título Membros diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 23e5e3f1..4df4190d 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -409,7 +409,6 @@ %s историй %s истории - Разрешение на доступ к хранилищу не предоставлено! Подробнее Заголовок Участники diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index ef438e57..79bc072d 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -409,7 +409,6 @@ %s príbehu %s príbehov - Povolenia na ukladanie neboli udelené! Detaily Nadpis Členovia diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 3a1069dd..f9f2ba84 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -391,7 +391,6 @@ %s story %s stories - Storage permission not granted! Detaljer Titel Medlemmar diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index c113751b..8df3184a 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -391,7 +391,6 @@ %s hikaye %s hikaye - Depolama izni verilmedi! Detaylar Başlık Üyeler diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 3266392d..35279957 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -382,7 +382,6 @@ %s story - Chưa cấp quyền bộ nhớ! Chi tiết Tiêu đề Thành viên diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 00c13ddf..ccffea24 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -382,7 +382,6 @@ %s 个故事 - 未授予存储权限! 详情 标题 成员 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 93f0d119..0b486bcc 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -382,7 +382,6 @@ %s 個動態 - 儲存空間存取權限被拒 詳情 標題 成員 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 88785de5..1abda3cd 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -405,7 +405,6 @@ %s story %s stories - Storage permission not granted! Details Title Members