Skip to content

Re-use same class for all review fragments #1537

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@
import fr.free.nrw.commons.nearby.NearbyListFragment;
import fr.free.nrw.commons.nearby.NearbyMapFragment;
import fr.free.nrw.commons.nearby.NoPermissionsFragment;
import fr.free.nrw.commons.review.ReviewCategoryMissuseFragment;
import fr.free.nrw.commons.review.ReviewLicenceViolationFragment;
import fr.free.nrw.commons.review.ReviewOutOfContextFragment;
import fr.free.nrw.commons.review.ReviewImageFragment;
import fr.free.nrw.commons.settings.SettingsFragment;
import fr.free.nrw.commons.upload.MultipleUploadListFragment;
import fr.free.nrw.commons.upload.SingleUploadFragment;
Expand Down Expand Up @@ -55,13 +53,6 @@ public abstract class FragmentBuilderModule {
abstract CategoryImagesListFragment bindFeaturedImagesListFragment();

@ContributesAndroidInjector
abstract ReviewOutOfContextFragment bindReviewOutOfContextFragment();

@ContributesAndroidInjector
abstract ReviewLicenceViolationFragment bindReviewLicenceViolationFragment();


@ContributesAndroidInjector
abstract ReviewCategoryMissuseFragment bindReviewCategoryMissuseFragment();
abstract ReviewImageFragment bindReviewOutOfContextFragment();

}
10 changes: 8 additions & 2 deletions app/src/main/java/fr/free/nrw/commons/review/ReviewActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
import android.view.MenuItem;
import android.view.View;

import com.viewpagerindicator.CirclePageIndicator;

import java.io.IOException;
import java.util.List;

Expand Down Expand Up @@ -55,6 +57,9 @@ public class ReviewActivity extends AuthenticatedActivity {
//private ReviewCallback reviewCallback;
private ReviewController reviewController;

@BindView(R.id.reviewPagerIndicator)
public CirclePageIndicator pagerIndicator;

@Override
protected void onAuthCookieAcquired(String authCookie) {

Expand All @@ -78,6 +83,7 @@ protected void onCreate(Bundle savedInstanceState) {
reviewPagerAdapter = new ReviewPagerAdapter(getSupportFragmentManager());
pager.setAdapter(reviewPagerAdapter);
reviewPagerAdapter.getItem(0);
pagerIndicator.setViewPager(pager);
}

@Override
Expand Down Expand Up @@ -116,9 +122,9 @@ public boolean onOptionsItemSelected(MenuItem item) {
}

private void updateImage(Media result) {

reviewController.onImageRefreshed(result.getFilename()); //file name is updated
reviewPagerAdapter.getItem(0); //new fragment with this new filename created
reviewPagerAdapter.updateFilename();
pager.setCurrentItem(0);
}


Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public class ReviewController implements ReviewActivity.ReviewCallback {

@Override
public void onImageRefreshed(String fileName) {
this.fileName = fileName;
ReviewController.fileName = fileName;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package fr.free.nrw.commons.review;

import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
Expand All @@ -17,7 +16,11 @@
* Created by root on 19.05.2018.
*/

public class ReviewOutOfContextFragment extends CommonsDaggerSupportFragment {
public class ReviewImageFragment extends CommonsDaggerSupportFragment {

public static final int SPAM = 0;
public static final int COPYRIGHT = 1;
public static final int CATEGORY = 2;

private int position;
private String fileName;
Expand All @@ -36,24 +39,31 @@ public void update(int position, String fileName) {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//position = getArguments() != null ? getArguments().getInt("val") : 1;
//fileName = getArguments() != null ? getArguments().getString("fileName") : " ";
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View layoutView = inflater.inflate(R.layout.review_out_of_context, container,
position = getArguments().getInt("position");
View layoutView = inflater.inflate(R.layout.fragment_review_image, container,
false);
textView = layoutView.findViewById(R.id.testingText);

simpleDraweeView = layoutView.findViewById(R.id.imageView);
if (fileName!= null) {
simpleDraweeView.setImageURI(Utils.makeThumbBaseUrl(fileName));
textView = layoutView.findViewById(R.id.reviewQuestion);
String question;
switch(position) {
case COPYRIGHT:
question = getString(R.string.review_copyright);
break;
case CATEGORY:
question = getString(R.string.review_category);
break;
case SPAM:
question = getString(R.string.review_spam);
break;
default:
question = "How did we get here?";
}

((TextView) textView).setText("Fragment #" + position);
Log.d("deneme","Fragment #" + position);
((TextView) textView).setText(question);
simpleDraweeView = layoutView.findViewById(R.id.imageView);
return layoutView;
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,39 +11,36 @@

public class ReviewPagerAdapter extends FragmentStatePagerAdapter {
private int currentPosition;
ReviewOutOfContextFragment reviewOutOfContextFragment;
ReviewLicenceViolationFragment reviewLicenceViolationFragment;
ReviewCategoryMissuseFragment reviewCategoryMissuseFragment;
ReviewImageFragment[] reviewImageFragments;


public ReviewPagerAdapter(FragmentManager fm) {
super(fm);
reviewOutOfContextFragment = new ReviewOutOfContextFragment();
reviewLicenceViolationFragment = new ReviewLicenceViolationFragment();
reviewCategoryMissuseFragment = new ReviewCategoryMissuseFragment();
reviewImageFragments = new ReviewImageFragment[] {
new ReviewImageFragment(),
new ReviewImageFragment(),
new ReviewImageFragment()
};
}

@Override
public int getCount() {
return 3;
}

public void updateFilename() {
for (int i = 0; i < getCount(); i++) {
ReviewImageFragment fragment = reviewImageFragments[i];
fragment.update(i, ReviewController.fileName);
}
}

@Override
public Fragment getItem(int position) {
switch (position) {
case 0: // Fragment # 0 - This will show image
currentPosition = 0;
reviewOutOfContextFragment.update(currentPosition, ReviewController.fileName);
return reviewOutOfContextFragment;
case 1: // Fragment # 1 - This will show image
currentPosition = 1;
reviewLicenceViolationFragment.update(currentPosition, ReviewController.fileName);
return reviewLicenceViolationFragment;
default:// Fragment # 2-9 - Will show list
currentPosition = 2;
reviewCategoryMissuseFragment.update(currentPosition, ReviewController.fileName);
return reviewCategoryMissuseFragment;
}
Bundle bundle = new Bundle();
bundle.putInt("position", position);
reviewImageFragments[position].setArguments(bundle);
return reviewImageFragments[position];
}

}
17 changes: 14 additions & 3 deletions app/src/main/res/layout/activity_review.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,29 @@

</include>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/toolbar"
android:background="@color/primaryColor">
android:background="@color/primaryColor"
android:orientation="vertical">

<android.support.v4.view.ViewPager
android:id="@+id/reviewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fadingEdge="none" />
</FrameLayout>


<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/reviewPagerIndicator"
android:layout_height="@dimen/half_standard_height"
android:layout_width="match_parent"
android:layout_gravity="bottom"
android:padding="5dp"
/>

</LinearLayout>



Expand Down
Loading