Fix Crash

This commit is contained in:
Sean Mac Gillicuddy 2020-03-20 12:45:37 +00:00
parent bc8b29b71f
commit f1f0f4a359
3 changed files with 22 additions and 26 deletions

View file

@ -24,7 +24,6 @@ import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import java.util.Random; import java.util.Random;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
import timber.log.Timber; import timber.log.Timber;
public class ContributionViewHolder extends RecyclerView.ViewHolder { public class ContributionViewHolder extends RecyclerView.ViewHolder {
@ -40,16 +39,17 @@ public class ContributionViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.contributionProgress) ProgressBar progressView; @BindView(R.id.contributionProgress) ProgressBar progressView;
@BindView(R.id.failed_image_options) LinearLayout failedImageOptions; @BindView(R.id.failed_image_options) LinearLayout failedImageOptions;
@Inject
MediaClient mediaClient;
private int position; private int position;
private Contribution contribution; private Contribution contribution;
private Random random = new Random(); private Random random = new Random();
private CompositeDisposable compositeDisposable = new CompositeDisposable(); private CompositeDisposable compositeDisposable = new CompositeDisposable();
private final MediaClient mediaClient;
ContributionViewHolder(View parent, Callback callback) { ContributionViewHolder(View parent, Callback callback,
MediaClient mediaClient) {
super(parent); super(parent);
this.mediaClient = mediaClient;
ButterKnife.bind(this, parent); ButterKnife.bind(this, parent);
this.callback=callback; this.callback=callback;
} }

View file

@ -1,29 +1,28 @@
package fr.free.nrw.commons.contributions; package fr.free.nrw.commons.contributions;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import fr.free.nrw.commons.R;
import fr.free.nrw.commons.media.MediaClient;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import fr.free.nrw.commons.R;
/** /**
* Represents The View Adapter for the List of Contributions * Represents The View Adapter for the List of Contributions
*/ */
public class ContributionsListAdapter extends RecyclerView.Adapter<ContributionViewHolder> { public class ContributionsListAdapter extends RecyclerView.Adapter<ContributionViewHolder> {
private Callback callback; private Callback callback;
private final MediaClient mediaClient;
private List<Contribution> contributions; private List<Contribution> contributions;
public ContributionsListAdapter(Callback callback) { public ContributionsListAdapter(Callback callback,
MediaClient mediaClient) {
this.callback = callback; this.callback = callback;
this.mediaClient = mediaClient;
contributions = new ArrayList<>(); contributions = new ArrayList<>();
} }
@ -36,7 +35,7 @@ public class ContributionsListAdapter extends RecyclerView.Adapter<ContributionV
public ContributionViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public ContributionViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
ContributionViewHolder viewHolder = new ContributionViewHolder( ContributionViewHolder viewHolder = new ContributionViewHolder(
LayoutInflater.from(parent.getContext()) LayoutInflater.from(parent.getContext())
.inflate(R.layout.layout_contribution, parent, false), callback); .inflate(R.layout.layout_contribution, parent, false), callback, mediaClient);
return viewHolder; return viewHolder;
} }

View file

@ -1,5 +1,8 @@
package fr.free.nrw.commons.contributions; package fr.free.nrw.commons.contributions;
import static android.view.View.GONE;
import static android.view.View.VISIBLE;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.os.Bundle; import android.os.Bundle;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -10,31 +13,24 @@ import android.view.animation.AnimationUtils;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView.LayoutManager; import androidx.recyclerview.widget.RecyclerView.LayoutManager;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Named;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import fr.free.nrw.commons.R; import fr.free.nrw.commons.R;
import fr.free.nrw.commons.contributions.ContributionsListAdapter.Callback; import fr.free.nrw.commons.contributions.ContributionsListAdapter.Callback;
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment; import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
import fr.free.nrw.commons.kvstore.JsonKvStore; import fr.free.nrw.commons.kvstore.JsonKvStore;
import fr.free.nrw.commons.media.MediaClient;
import static android.view.View.GONE; import java.util.ArrayList;
import static android.view.View.VISIBLE; import java.util.List;
import javax.inject.Inject;
import javax.inject.Named;
/** /**
* Created by root on 01.06.2018. * Created by root on 01.06.2018.
@ -60,6 +56,7 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment {
@Inject @Named("default_preferences") JsonKvStore kvStore; @Inject @Named("default_preferences") JsonKvStore kvStore;
@Inject ContributionController controller; @Inject ContributionController controller;
@Inject MediaClient mediaClient;
private Animation fab_close; private Animation fab_close;
private Animation fab_open; private Animation fab_open;
@ -89,7 +86,7 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment {
} }
private void initAdapter() { private void initAdapter() {
adapter = new ContributionsListAdapter(callback); adapter = new ContributionsListAdapter(callback, mediaClient);
adapter.setHasStableIds(true); adapter.setHasStableIds(true);
} }