mirror of
https://github.com/TeamAmaze/AmazeFileManager.git
synced 2026-10-17 05:08:00 +08:00
Merge pull request #2609 from TeamAmaze/emmanuelmess/fix/fixiconsingrid
Fix circular icons in grid
This commit is contained in:
@@ -135,6 +135,7 @@ public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
||||
private int offset = 0;
|
||||
private boolean enableMarquee;
|
||||
private int dragAndDropPreference;
|
||||
private boolean isGrid;
|
||||
|
||||
public RecyclerAdapter(
|
||||
PreferenceActivity preferenceActivity,
|
||||
@@ -143,7 +144,8 @@ public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
||||
SharedPreferences sharedPrefs,
|
||||
RecyclerView recyclerView,
|
||||
ArrayList<LayoutElementParcelable> itemsRaw,
|
||||
Context context) {
|
||||
Context context,
|
||||
boolean isGrid) {
|
||||
setHasStableIds(true);
|
||||
|
||||
this.preferenceActivity = preferenceActivity;
|
||||
@@ -157,6 +159,7 @@ public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
||||
sharedPrefs.getInt(
|
||||
PreferencesConstants.PREFERENCE_DRAG_AND_DROP_PREFERENCE,
|
||||
PreferencesConstants.PREFERENCE_DRAG_TO_SELECT);
|
||||
this.isGrid = isGrid;
|
||||
|
||||
mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
|
||||
accentColor = m.getMainActivity().getAccent();
|
||||
@@ -422,8 +425,10 @@ public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
||||
createHeaders(invalidate, uris);
|
||||
}
|
||||
|
||||
boolean isItemCircular = !isGrid;
|
||||
|
||||
sizeProvider = new RecyclerPreloadSizeProvider(this);
|
||||
modelProvider = new RecyclerPreloadModelProvider(mainFrag, uris);
|
||||
modelProvider = new RecyclerPreloadModelProvider(mainFrag, uris, isItemCircular);
|
||||
|
||||
preloader =
|
||||
new RecyclerViewPreloader<>(
|
||||
|
||||
+10
-4
@@ -40,13 +40,19 @@ import androidx.fragment.app.Fragment;
|
||||
public class RecyclerPreloadModelProvider
|
||||
implements ListPreloader.PreloadModelProvider<IconDataParcelable> {
|
||||
|
||||
private List<IconDataParcelable> urisToLoad;
|
||||
private GlideRequest<Drawable> request;
|
||||
private final List<IconDataParcelable> urisToLoad;
|
||||
private final GlideRequest<Drawable> request;
|
||||
|
||||
public RecyclerPreloadModelProvider(
|
||||
@NonNull Fragment fragment, @NonNull List<IconDataParcelable> uris) {
|
||||
@NonNull Fragment fragment, @NonNull List<IconDataParcelable> uris, boolean isCircled) {
|
||||
urisToLoad = uris;
|
||||
request = GlideApp.with(fragment).asDrawable().circleCrop();
|
||||
GlideRequest<Drawable> incompleteRequest = GlideApp.with(fragment).asDrawable();
|
||||
|
||||
if (isCircled) {
|
||||
request = incompleteRequest.circleCrop();
|
||||
} else {
|
||||
request = incompleteRequest.centerCrop();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1050,7 +1050,8 @@ public class MainFragment extends Fragment
|
||||
sharedPref,
|
||||
listView,
|
||||
mainFragmentViewModel.getListElements(),
|
||||
getActivity());
|
||||
getActivity(),
|
||||
grid);
|
||||
} else {
|
||||
adapter.setItems(listView, new ArrayList<>(mainFragmentViewModel.getListElements()));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user