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">