diff --git a/app/src/main/java/fr/free/nrw/commons/di/FragmentBuilderModule.java b/app/src/main/java/fr/free/nrw/commons/di/FragmentBuilderModule.java
index fd50dc64e..3af8cdf50 100644
--- a/app/src/main/java/fr/free/nrw/commons/di/FragmentBuilderModule.java
+++ b/app/src/main/java/fr/free/nrw/commons/di/FragmentBuilderModule.java
@@ -17,9 +17,7 @@ import fr.free.nrw.commons.nearby.NearbyFragment;
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;
@Module
@@ -72,13 +70,6 @@ public abstract class FragmentBuilderModule {
abstract BookmarkLocationsFragment bindBookmarkLocationListFragment();
@ContributesAndroidInjector
- abstract ReviewOutOfContextFragment bindReviewOutOfContextFragment();
-
- @ContributesAndroidInjector
- abstract ReviewLicenceViolationFragment bindReviewLicenceViolationFragment();
-
-
- @ContributesAndroidInjector
- abstract ReviewCategoryMissuseFragment bindReviewCategoryMissuseFragment();
+ abstract ReviewImageFragment bindReviewOutOfContextFragment();
}
diff --git a/app/src/main/java/fr/free/nrw/commons/review/ReviewActivity.java b/app/src/main/java/fr/free/nrw/commons/review/ReviewActivity.java
index 9eb4e4d09..420a31eab 100644
--- a/app/src/main/java/fr/free/nrw/commons/review/ReviewActivity.java
+++ b/app/src/main/java/fr/free/nrw/commons/review/ReviewActivity.java
@@ -15,6 +15,8 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
+import com.viewpagerindicator.CirclePageIndicator;
+
import java.io.IOException;
import java.util.List;
@@ -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) {
@@ -78,6 +83,7 @@ public class ReviewActivity extends AuthenticatedActivity {
reviewPagerAdapter = new ReviewPagerAdapter(getSupportFragmentManager());
pager.setAdapter(reviewPagerAdapter);
reviewPagerAdapter.getItem(0);
+ pagerIndicator.setViewPager(pager);
}
@Override
@@ -116,9 +122,9 @@ public class ReviewActivity extends AuthenticatedActivity {
}
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);
}
diff --git a/app/src/main/java/fr/free/nrw/commons/review/ReviewCategoryMissuseFragment.java b/app/src/main/java/fr/free/nrw/commons/review/ReviewCategoryMissuseFragment.java
deleted file mode 100644
index 9f916f00e..000000000
--- a/app/src/main/java/fr/free/nrw/commons/review/ReviewCategoryMissuseFragment.java
+++ /dev/null
@@ -1,59 +0,0 @@
-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;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.facebook.drawee.view.SimpleDraweeView;
-
-import fr.free.nrw.commons.R;
-import fr.free.nrw.commons.Utils;
-import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
-
-/**
- * Created by root on 19.05.2018.
- */
-
-public class ReviewCategoryMissuseFragment extends CommonsDaggerSupportFragment {
- int position;
- String fileName;
- private View textView;
- private SimpleDraweeView simpleDraweeView;
-
- public void update(int position, String fileName) {
- this.position = position;
- this.fileName = fileName;
-
- if (simpleDraweeView!=null) {
- simpleDraweeView.setImageURI(Utils.makeThumbBaseUrl(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,
- false);
- textView = layoutView.findViewById(R.id.testingText);
- simpleDraweeView = layoutView.findViewById(R.id.imageView);
-
- if (fileName!= null) {
- simpleDraweeView.setImageURI(Utils.makeThumbBaseUrl(fileName));
- }
-
- ((TextView) textView).setText("Fragment #" + position);
- Log.d("deneme","Fragment #" + position);
- return layoutView;
- }
-}
diff --git a/app/src/main/java/fr/free/nrw/commons/review/ReviewController.java b/app/src/main/java/fr/free/nrw/commons/review/ReviewController.java
index a58a81a60..0631d2e89 100644
--- a/app/src/main/java/fr/free/nrw/commons/review/ReviewController.java
+++ b/app/src/main/java/fr/free/nrw/commons/review/ReviewController.java
@@ -9,7 +9,7 @@ public class ReviewController implements ReviewActivity.ReviewCallback {
@Override
public void onImageRefreshed(String fileName) {
- this.fileName = fileName;
+ ReviewController.fileName = fileName;
}
@Override
diff --git a/app/src/main/java/fr/free/nrw/commons/review/ReviewOutOfContextFragment.java b/app/src/main/java/fr/free/nrw/commons/review/ReviewImageFragment.java
similarity index 56%
rename from app/src/main/java/fr/free/nrw/commons/review/ReviewOutOfContextFragment.java
rename to app/src/main/java/fr/free/nrw/commons/review/ReviewImageFragment.java
index c7a042606..86df7bf2f 100644
--- a/app/src/main/java/fr/free/nrw/commons/review/ReviewOutOfContextFragment.java
+++ b/app/src/main/java/fr/free/nrw/commons/review/ReviewImageFragment.java
@@ -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;
@@ -17,7 +16,11 @@ import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
* 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;
@@ -36,24 +39,31 @@ public class ReviewOutOfContextFragment extends CommonsDaggerSupportFragment {
@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;
}
diff --git a/app/src/main/java/fr/free/nrw/commons/review/ReviewLicenceViolationFragment.java b/app/src/main/java/fr/free/nrw/commons/review/ReviewLicenceViolationFragment.java
deleted file mode 100644
index 8c95f9444..000000000
--- a/app/src/main/java/fr/free/nrw/commons/review/ReviewLicenceViolationFragment.java
+++ /dev/null
@@ -1,59 +0,0 @@
-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;
-import android.widget.TextView;
-
-import com.facebook.drawee.view.SimpleDraweeView;
-
-import fr.free.nrw.commons.R;
-import fr.free.nrw.commons.Utils;
-import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
-
-/**
- * Created by nes on 19.05.2018.
- */
-
-public class ReviewLicenceViolationFragment extends CommonsDaggerSupportFragment {
- int position;
- String fileName;
- private View textView;
- private SimpleDraweeView simpleDraweeView;
-
- public void update(int position, String fileName) {
- this.position = position;
- this.fileName = fileName;
-
- if (simpleDraweeView!=null) {
- simpleDraweeView.setImageURI(Utils.makeThumbBaseUrl(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,
- false);
- textView = layoutView.findViewById(R.id.testingText);
-
- simpleDraweeView = layoutView.findViewById(R.id.imageView);
- if (fileName!= null) {
- simpleDraweeView.setImageURI(Utils.makeThumbBaseUrl(fileName));
- }
-
- ((TextView) textView).setText("Fragment #" + position);
- Log.d("deneme","Fragment #" + position);
- return layoutView;
- }
-}
diff --git a/app/src/main/java/fr/free/nrw/commons/review/ReviewPagerAdapter.java b/app/src/main/java/fr/free/nrw/commons/review/ReviewPagerAdapter.java
index 51af37e35..de9ba88f9 100644
--- a/app/src/main/java/fr/free/nrw/commons/review/ReviewPagerAdapter.java
+++ b/app/src/main/java/fr/free/nrw/commons/review/ReviewPagerAdapter.java
@@ -11,16 +11,16 @@ import android.support.v4.app.FragmentStatePagerAdapter;
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
@@ -28,22 +28,19 @@ public class ReviewPagerAdapter extends FragmentStatePagerAdapter {
return 3;
}
- @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;
+ 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) {
+ Bundle bundle = new Bundle();
+ bundle.putInt("position", position);
+ reviewImageFragments[position].setArguments(bundle);
+ return reviewImageFragments[position];
+ }
+
}
diff --git a/app/src/main/res/layout/activity_review.xml b/app/src/main/res/layout/activity_review.xml
index 1012609bb..941879d7c 100644
--- a/app/src/main/res/layout/activity_review.xml
+++ b/app/src/main/res/layout/activity_review.xml
@@ -23,18 +23,29 @@
-
+ android:background="@color/primaryColor"
+ android:orientation="vertical">
-
+
+
+
+
+
diff --git a/app/src/main/res/layout/review_out_of_context.xml b/app/src/main/res/layout/fragment_review_image.xml
similarity index 78%
rename from app/src/main/res/layout/review_out_of_context.xml
rename to app/src/main/res/layout/fragment_review_image.xml
index dc2c8931f..8103ea3cb 100644
--- a/app/src/main/res/layout/review_out_of_context.xml
+++ b/app/src/main/res/layout/fragment_review_image.xml
@@ -6,6 +6,7 @@
android:weightSum="5"
android:orientation="vertical"
android:background="@color/main_background_light"
+ android:gravity="center_horizontal"
>
@@ -34,26 +38,22 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.6"
- android:weightSum="3"
+ android:weightSum="2"
android:orientation="horizontal">
+ android:layout_weight="1"
+ android:text="@string/yes"/>
-
-
+ android:layout_weight="1"
+ android:text="@string/no"/>
diff --git a/app/src/main/res/layout/review_category_missuse.xml b/app/src/main/res/layout/review_category_missuse.xml
deleted file mode 100644
index dc2c8931f..000000000
--- a/app/src/main/res/layout/review_category_missuse.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/review_licence_violation.xml b/app/src/main/res/layout/review_licence_violation.xml
deleted file mode 100644
index dc2c8931f..000000000
--- a/app/src/main/res/layout/review_licence_violation.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2b16ab203..ee2d99aa2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -452,4 +452,8 @@ Upload your first media by touching the camera or gallery icon above.
This function requires network connection, please check your connection settings.
Upload failed due to issues with edit token. Please try logging out and in again.
+ Is this a copyright violation?
+ Is this mis-categorized?
+ Is this spam?
+