Merge pull request #2609 from TeamAmaze/emmanuelmess/fix/fixiconsingrid

Fix circular icons in grid
This commit is contained in:
Vishal Nehra
2021-06-11 23:27:47 +05:30
committed by GitHub
3 changed files with 19 additions and 7 deletions
@@ -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<>(
@@ -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()));
}