mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Migrated Review Package to View Binding (#5604)
* Migrated Review Package to View Binding * fix
This commit is contained in:
parent
a45ab9cf16
commit
2a2780a4d2
5 changed files with 90 additions and 109 deletions
|
|
@ -11,22 +11,12 @@ import android.view.MenuInflater;
|
|||
import android.view.MenuItem;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.drawerlayout.widget.DrawerLayout;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.viewpagerindicator.CirclePageIndicator;
|
||||
import fr.free.nrw.commons.Media;
|
||||
import fr.free.nrw.commons.R;
|
||||
import fr.free.nrw.commons.auth.AccountUtil;
|
||||
import fr.free.nrw.commons.databinding.ActivityReviewBinding;
|
||||
import fr.free.nrw.commons.delete.DeleteHelper;
|
||||
import fr.free.nrw.commons.media.MediaDetailFragment;
|
||||
import fr.free.nrw.commons.theme.BaseActivity;
|
||||
|
|
@ -39,27 +29,10 @@ import javax.inject.Inject;
|
|||
|
||||
public class ReviewActivity extends BaseActivity {
|
||||
|
||||
@BindView(R.id.pager_indicator_review)
|
||||
public CirclePageIndicator pagerIndicator;
|
||||
@BindView(R.id.toolbar)
|
||||
Toolbar toolbar;
|
||||
@BindView(R.id.drawer_layout)
|
||||
DrawerLayout drawerLayout;
|
||||
@BindView(R.id.view_pager_review)
|
||||
ReviewViewPager reviewPager;
|
||||
@BindView(R.id.skip_image)
|
||||
Button btnSkipImage;
|
||||
@BindView(R.id.review_image_view)
|
||||
SimpleDraweeView simpleDraweeView;
|
||||
@BindView(R.id.pb_review_image)
|
||||
ProgressBar progressBar;
|
||||
@BindView(R.id.tv_image_caption)
|
||||
TextView imageCaption;
|
||||
@BindView(R.id.mediaDetailContainer)
|
||||
FrameLayout mediaDetailContainer;
|
||||
|
||||
private ActivityReviewBinding binding;
|
||||
|
||||
MediaDetailFragment mediaDetailFragment;
|
||||
@BindView(R.id.reviewActivityContainer)
|
||||
LinearLayout reviewContainer;
|
||||
public ReviewPagerAdapter reviewPagerAdapter;
|
||||
public ReviewController reviewController;
|
||||
@Inject
|
||||
|
|
@ -110,19 +83,20 @@ public class ReviewActivity extends BaseActivity {
|
|||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_review);
|
||||
ButterKnife.bind(this);
|
||||
setSupportActionBar(toolbar);
|
||||
binding = ActivityReviewBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
setSupportActionBar(binding.toolbarBinding.toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
reviewController = new ReviewController(deleteHelper, this);
|
||||
|
||||
reviewPagerAdapter = new ReviewPagerAdapter(getSupportFragmentManager());
|
||||
reviewPager.setAdapter(reviewPagerAdapter);
|
||||
pagerIndicator.setViewPager(reviewPager);
|
||||
progressBar.setVisibility(View.VISIBLE);
|
||||
binding.viewPagerReview.setAdapter(reviewPagerAdapter);
|
||||
binding.pagerIndicatorReview.setViewPager(binding.viewPagerReview);
|
||||
binding.pbReviewImage.setVisibility(View.VISIBLE);
|
||||
|
||||
Drawable d[]=btnSkipImage.getCompoundDrawablesRelative();
|
||||
Drawable d[]=binding.skipImage.getCompoundDrawablesRelative();
|
||||
d[2].setColorFilter(getApplicationContext().getResources().getColor(R.color.button_blue), PorterDuff.Mode.SRC_IN);
|
||||
|
||||
if (savedInstanceState != null && savedInstanceState.getParcelable(SAVED_MEDIA) != null) {
|
||||
|
|
@ -132,17 +106,17 @@ public class ReviewActivity extends BaseActivity {
|
|||
runRandomizer(); //Run randomizer whenever everything is ready so that a first random image will be added
|
||||
}
|
||||
|
||||
btnSkipImage.setOnClickListener(view -> {
|
||||
binding.skipImage.setOnClickListener(view -> {
|
||||
reviewImageFragment = getInstanceOfReviewImageFragment();
|
||||
reviewImageFragment.disableButtons();
|
||||
runRandomizer();
|
||||
});
|
||||
|
||||
simpleDraweeView.setOnClickListener(view ->setUpMediaDetailFragment());
|
||||
binding.reviewImageView.setOnClickListener(view ->setUpMediaDetailFragment());
|
||||
|
||||
btnSkipImage.setOnTouchListener((view, event) -> {
|
||||
binding.skipImage.setOnTouchListener((view, event) -> {
|
||||
if (event.getAction() == MotionEvent.ACTION_UP && event.getRawX() >= (
|
||||
btnSkipImage.getRight() - btnSkipImage
|
||||
binding.skipImage.getRight() - binding.skipImage
|
||||
.getCompoundDrawables()[2].getBounds().width())) {
|
||||
showSkipImageInfo();
|
||||
return true;
|
||||
|
|
@ -160,8 +134,8 @@ public class ReviewActivity extends BaseActivity {
|
|||
@SuppressLint("CheckResult")
|
||||
public boolean runRandomizer() {
|
||||
hasNonHiddenCategories = false;
|
||||
progressBar.setVisibility(View.VISIBLE);
|
||||
reviewPager.setCurrentItem(0);
|
||||
binding.pbReviewImage.setVisibility(View.VISIBLE);
|
||||
binding.viewPagerReview.setCurrentItem(0);
|
||||
// Finds non-hidden categories from Media instance
|
||||
compositeDisposable.add(reviewHelper.getRandomMedia()
|
||||
.subscribeOn(Schedulers.io())
|
||||
|
|
@ -213,7 +187,7 @@ public class ReviewActivity extends BaseActivity {
|
|||
this.media = media;
|
||||
String fileName = media.getFilename();
|
||||
if (fileName.length() == 0) {
|
||||
ViewUtil.showShortSnackbar(drawerLayout, R.string.error_review);
|
||||
ViewUtil.showShortSnackbar(binding.drawerLayout, R.string.error_review);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -223,7 +197,7 @@ public class ReviewActivity extends BaseActivity {
|
|||
return;
|
||||
}
|
||||
|
||||
simpleDraweeView.setImageURI(media.getImageUrl());
|
||||
binding.reviewImageView.setImageURI(media.getImageUrl());
|
||||
|
||||
reviewController.onImageRefreshed(media); //file name is updated
|
||||
compositeDisposable.add(reviewHelper.getFirstRevisionOfFile(fileName)
|
||||
|
|
@ -233,19 +207,19 @@ public class ReviewActivity extends BaseActivity {
|
|||
reviewController.firstRevision = revision;
|
||||
reviewPagerAdapter.updateFileInformation();
|
||||
@SuppressLint({"StringFormatInvalid", "LocalSuppress"}) String caption = String.format(getString(R.string.review_is_uploaded_by), fileName, revision.getUser());
|
||||
imageCaption.setText(caption);
|
||||
progressBar.setVisibility(View.GONE);
|
||||
binding.tvImageCaption.setText(caption);
|
||||
binding.pbReviewImage.setVisibility(View.GONE);
|
||||
reviewImageFragment = getInstanceOfReviewImageFragment();
|
||||
reviewImageFragment.enableButtons();
|
||||
}));
|
||||
reviewPager.setCurrentItem(0);
|
||||
binding.viewPagerReview.setCurrentItem(0);
|
||||
}
|
||||
|
||||
public void swipeToNext() {
|
||||
int nextPos = reviewPager.getCurrentItem() + 1;
|
||||
int nextPos = binding.viewPagerReview.getCurrentItem() + 1;
|
||||
// If currently at category fragment, then check whether the media has any non-hidden category
|
||||
if (nextPos <= 3) {
|
||||
reviewPager.setCurrentItem(nextPos);
|
||||
binding.viewPagerReview.setCurrentItem(nextPos);
|
||||
if (nextPos == 2) {
|
||||
// The media has no non-hidden category. Such media are already flagged by server-side bots, so no need to review manually.
|
||||
if (!hasNonHiddenCategories) {
|
||||
|
|
@ -262,6 +236,7 @@ public class ReviewActivity extends BaseActivity {
|
|||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
compositeDisposable.clear();
|
||||
binding = null;
|
||||
}
|
||||
|
||||
public void showSkipImageInfo(){
|
||||
|
|
@ -306,8 +281,8 @@ public class ReviewActivity extends BaseActivity {
|
|||
* this function return the instance of reviewImageFragment
|
||||
*/
|
||||
public ReviewImageFragment getInstanceOfReviewImageFragment(){
|
||||
int currentItemOfReviewPager = reviewPager.getCurrentItem();
|
||||
reviewImageFragment = (ReviewImageFragment) reviewPagerAdapter.instantiateItem(reviewPager, currentItemOfReviewPager);
|
||||
int currentItemOfReviewPager = binding.viewPagerReview.getCurrentItem();
|
||||
reviewImageFragment = (ReviewImageFragment) reviewPagerAdapter.instantiateItem(binding.viewPagerReview, currentItemOfReviewPager);
|
||||
return reviewImageFragment;
|
||||
}
|
||||
|
||||
|
|
@ -315,9 +290,9 @@ public class ReviewActivity extends BaseActivity {
|
|||
* set up the media detail fragment when click on the review image
|
||||
*/
|
||||
private void setUpMediaDetailFragment() {
|
||||
if (mediaDetailContainer.getVisibility() == View.GONE && media != null) {
|
||||
mediaDetailContainer.setVisibility(View.VISIBLE);
|
||||
reviewContainer.setVisibility(View.INVISIBLE);
|
||||
if (binding.mediaDetailContainer.getVisibility() == View.GONE && media != null) {
|
||||
binding.mediaDetailContainer.setVisibility(View.VISIBLE);
|
||||
binding.reviewActivityContainer.setVisibility(View.INVISIBLE);
|
||||
FragmentManager fragmentManager = getSupportFragmentManager();
|
||||
mediaDetailFragment = new MediaDetailFragment();
|
||||
Bundle bundle = new Bundle();
|
||||
|
|
@ -334,9 +309,9 @@ public class ReviewActivity extends BaseActivity {
|
|||
*/
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (mediaDetailContainer.getVisibility() == View.VISIBLE) {
|
||||
mediaDetailContainer.setVisibility(View.GONE);
|
||||
reviewContainer.setVisibility(View.VISIBLE);
|
||||
if (binding.mediaDetailContainer.getVisibility() == View.VISIBLE) {
|
||||
binding.mediaDetailContainer.setVisibility(View.GONE);
|
||||
binding.reviewActivityContainer.setVisibility(View.VISIBLE);
|
||||
}
|
||||
super.onBackPressed();
|
||||
}
|
||||
|
|
@ -348,10 +323,11 @@ public class ReviewActivity extends BaseActivity {
|
|||
Fragment mediaDetailFragment = getSupportFragmentManager()
|
||||
.findFragmentById(R.id.mediaDetailContainer);
|
||||
if (mediaDetailFragment != null) {
|
||||
mediaDetailContainer.setVisibility(View.VISIBLE);
|
||||
reviewContainer.setVisibility(View.INVISIBLE);
|
||||
binding.mediaDetailContainer.setVisibility(View.VISIBLE);
|
||||
binding.reviewActivityContainer.setVisibility(View.INVISIBLE);
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.mediaDetailContainer, mediaDetailFragment).commit();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,17 +7,12 @@ import android.text.TextUtils;
|
|||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
import fr.free.nrw.commons.Media;
|
||||
import fr.free.nrw.commons.R;
|
||||
import fr.free.nrw.commons.databinding.FragmentReviewImageBinding;
|
||||
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -31,16 +26,10 @@ public class ReviewImageFragment extends CommonsDaggerSupportFragment {
|
|||
|
||||
private int position;
|
||||
|
||||
public ProgressBar progressBar;
|
||||
private FragmentReviewImageBinding binding;
|
||||
|
||||
|
||||
|
||||
@BindView(R.id.tv_review_question)
|
||||
TextView textViewQuestion;
|
||||
@BindView(R.id.tv_review_question_context)
|
||||
TextView textViewQuestionContext;
|
||||
@BindView(R.id.button_yes)
|
||||
Button yesButton;
|
||||
@BindView(R.id.button_no)
|
||||
Button noButton;
|
||||
|
||||
// Constant variable used to store user's key name for onSaveInstanceState method
|
||||
private final String SAVED_USER = "saved_user";
|
||||
|
|
@ -68,7 +57,7 @@ public class ReviewImageFragment extends CommonsDaggerSupportFragment {
|
|||
categories.add(value);
|
||||
}
|
||||
String catString = TextUtils.join(", ", categories);
|
||||
if (catString != null && !catString.equals("") && textViewQuestionContext != null) {
|
||||
if (catString != null && !catString.equals("") && binding.tvReviewQuestionContext != null) {
|
||||
catString = "<b>" + catString + "</b>";
|
||||
String stringToConvertHtml = String.format(getResources().getString(R.string.review_category_explanation), catString);
|
||||
return Html.fromHtml(stringToConvertHtml).toString();
|
||||
|
|
@ -86,19 +75,19 @@ public class ReviewImageFragment extends CommonsDaggerSupportFragment {
|
|||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
position = getArguments().getInt("position");
|
||||
View layoutView = inflater.inflate(R.layout.fragment_review_image, container,
|
||||
false);
|
||||
ButterKnife.bind(this, layoutView);
|
||||
binding = FragmentReviewImageBinding.inflate(inflater, container, false);
|
||||
|
||||
String question, explanation=null, yesButtonText, noButtonText;
|
||||
|
||||
binding.buttonYes.setOnClickListener(view -> onYesButtonClicked());
|
||||
|
||||
switch (position) {
|
||||
case SPAM:
|
||||
question = getString(R.string.review_spam);
|
||||
explanation = getString(R.string.review_spam_explanation);
|
||||
yesButtonText = getString(R.string.yes);
|
||||
noButtonText = getString(R.string.no);
|
||||
noButton.setOnClickListener(view -> getReviewActivity()
|
||||
binding.buttonNo.setOnClickListener(view -> getReviewActivity()
|
||||
.reviewController.reportSpam(requireActivity(), getReviewCallback()));
|
||||
break;
|
||||
case COPYRIGHT:
|
||||
|
|
@ -107,7 +96,7 @@ public class ReviewImageFragment extends CommonsDaggerSupportFragment {
|
|||
explanation = getString(R.string.review_copyright_explanation);
|
||||
yesButtonText = getString(R.string.yes);
|
||||
noButtonText = getString(R.string.no);
|
||||
noButton.setOnClickListener(view -> getReviewActivity()
|
||||
binding.buttonNo.setOnClickListener(view -> getReviewActivity()
|
||||
.reviewController
|
||||
.reportPossibleCopyRightViolation(requireActivity(), getReviewCallback()));
|
||||
break;
|
||||
|
|
@ -117,7 +106,7 @@ public class ReviewImageFragment extends CommonsDaggerSupportFragment {
|
|||
explanation = updateCategoriesQuestion();
|
||||
yesButtonText = getString(R.string.yes);
|
||||
noButtonText = getString(R.string.no);
|
||||
noButton.setOnClickListener(view -> {
|
||||
binding.buttonNo.setOnClickListener(view -> {
|
||||
getReviewActivity()
|
||||
.reviewController
|
||||
.reportWrongCategory(requireActivity(), getReviewCallback());
|
||||
|
|
@ -144,9 +133,9 @@ public class ReviewImageFragment extends CommonsDaggerSupportFragment {
|
|||
// Note that the yes and no buttons are swapped in this section
|
||||
yesButtonText = getString(R.string.review_thanks_yes_button_text);
|
||||
noButtonText = getString(R.string.review_thanks_no_button_text);
|
||||
yesButton.setTextColor(Color.parseColor("#116aaa"));
|
||||
noButton.setTextColor(Color.parseColor("#228b22"));
|
||||
noButton.setOnClickListener(view -> {
|
||||
binding.buttonYes.setTextColor(Color.parseColor("#116aaa"));
|
||||
binding.buttonNo.setTextColor(Color.parseColor("#228b22"));
|
||||
binding.buttonNo.setOnClickListener(view -> {
|
||||
getReviewActivity().reviewController.sendThanks(getReviewActivity());
|
||||
getReviewActivity().swipeToNext();
|
||||
});
|
||||
|
|
@ -159,11 +148,11 @@ public class ReviewImageFragment extends CommonsDaggerSupportFragment {
|
|||
noButtonText = "no";
|
||||
}
|
||||
|
||||
textViewQuestion.setText(question);
|
||||
textViewQuestionContext.setText(explanation);
|
||||
yesButton.setText(yesButtonText);
|
||||
noButton.setText(noButtonText);
|
||||
return layoutView;
|
||||
binding.tvReviewQuestion.setText(question);
|
||||
binding.tvReviewQuestionContext.setText(explanation);
|
||||
binding.buttonYes.setText(yesButtonText);
|
||||
binding.buttonNo.setText(noButtonText);
|
||||
return binding.getRoot();
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -200,10 +189,10 @@ public class ReviewImageFragment extends CommonsDaggerSupportFragment {
|
|||
* been loaded to enable the review buttons.
|
||||
*/
|
||||
public void enableButtons() {
|
||||
yesButton.setEnabled(true);
|
||||
yesButton.setAlpha(1);
|
||||
noButton.setEnabled(true);
|
||||
noButton.setAlpha(1);
|
||||
binding.buttonYes.setEnabled(true);
|
||||
binding.buttonYes.setAlpha(1);
|
||||
binding.buttonNo.setEnabled(true);
|
||||
binding.buttonNo.setAlpha(1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -211,13 +200,12 @@ public class ReviewImageFragment extends CommonsDaggerSupportFragment {
|
|||
* to disable the review buttons
|
||||
*/
|
||||
public void disableButtons() {
|
||||
yesButton.setEnabled(false);
|
||||
yesButton.setAlpha(0.5f);
|
||||
noButton.setEnabled(false);
|
||||
noButton.setAlpha(0.5f);
|
||||
binding.buttonYes.setEnabled(false);
|
||||
binding.buttonYes.setAlpha(0.5f);
|
||||
binding.buttonNo.setEnabled(false);
|
||||
binding.buttonNo.setAlpha(0.5f);
|
||||
}
|
||||
|
||||
@OnClick(R.id.button_yes)
|
||||
void onYesButtonClicked() {
|
||||
getReviewActivity().swipeToNext();
|
||||
}
|
||||
|
|
@ -225,4 +213,10 @@ public class ReviewImageFragment extends CommonsDaggerSupportFragment {
|
|||
private ReviewActivity getReviewActivity() {
|
||||
return (ReviewActivity) requireActivity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
binding = null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,9 @@
|
|||
android:orientation="vertical"
|
||||
android:visibility="visible">
|
||||
|
||||
<include layout="@layout/toolbar" />
|
||||
<include
|
||||
android:id="@+id/toolbarBinding"
|
||||
layout="@layout/toolbar" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
|
|
@ -123,4 +125,4 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.drawerlayout.widget.DrawerLayout>
|
||||
</androidx.drawerlayout.widget.DrawerLayout>
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import fr.free.nrw.commons.Media
|
|||
import fr.free.nrw.commons.OkHttpConnectionFactory
|
||||
import fr.free.nrw.commons.TestCommonsApplication
|
||||
import fr.free.nrw.commons.createTestClient
|
||||
import fr.free.nrw.commons.databinding.ActivityReviewBinding
|
||||
import io.reactivex.Single
|
||||
import org.junit.Assert
|
||||
import org.junit.Before
|
||||
|
|
@ -58,6 +59,8 @@ class ReviewActivityTest {
|
|||
@Mock
|
||||
private lateinit var reviewImageFragment: ReviewImageFragment
|
||||
|
||||
private lateinit var binding: ActivityReviewBinding
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
MockitoAnnotations.openMocks(this)
|
||||
|
|
@ -71,11 +74,12 @@ class ReviewActivityTest {
|
|||
Fresco.initialize(context)
|
||||
|
||||
activity = Robolectric.buildActivity(ReviewActivity::class.java).create().get()
|
||||
binding = ActivityReviewBinding.inflate(activity.layoutInflater)
|
||||
|
||||
menuItem = RoboMenuItem(null)
|
||||
|
||||
menu = RoboMenu(context)
|
||||
Whitebox.setInternalState(activity, "reviewPager", reviewPager);
|
||||
Whitebox.setInternalState(binding, "viewPagerReview", reviewPager);
|
||||
Whitebox.setInternalState(activity, "hasNonHiddenCategories", hasNonHiddenCategories);
|
||||
Whitebox.setInternalState(activity, "reviewHelper", reviewHelper);
|
||||
Whitebox.setInternalState(activity, "reviewImageFragment", reviewImageFragment);
|
||||
|
|
@ -192,4 +196,4 @@ class ReviewActivityTest {
|
|||
activity.onBackPressed()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ import fr.free.nrw.commons.OkHttpConnectionFactory
|
|||
import fr.free.nrw.commons.R
|
||||
import fr.free.nrw.commons.TestCommonsApplication
|
||||
import fr.free.nrw.commons.createTestClient
|
||||
import fr.free.nrw.commons.databinding.FragmentReviewImageBinding
|
||||
import org.junit.Assert
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
|
|
@ -57,6 +58,8 @@ class ReviewImageFragmentTest {
|
|||
|
||||
private lateinit var activity: ReviewActivity
|
||||
|
||||
private lateinit var binding: FragmentReviewImageBinding
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
|
||||
|
|
@ -78,16 +81,18 @@ class ReviewImageFragmentTest {
|
|||
|
||||
view = LayoutInflater.from(activity)
|
||||
.inflate(R.layout.fragment_review_image, null) as View
|
||||
binding = FragmentReviewImageBinding.inflate(LayoutInflater.from(activity))
|
||||
|
||||
noButton = view.findViewById(R.id.button_no)
|
||||
yesButton = view.findViewById(R.id.button_yes)
|
||||
textViewQuestion = view.findViewById(R.id.tv_review_question)
|
||||
textViewQuestionContext = view.findViewById(R.id.tv_review_question_context)
|
||||
|
||||
fragment.noButton = noButton
|
||||
fragment.yesButton = yesButton
|
||||
fragment.textViewQuestion = textViewQuestion
|
||||
fragment.textViewQuestionContext = textViewQuestionContext
|
||||
Whitebox.setInternalState(fragment, "binding", binding)
|
||||
Whitebox.setInternalState(binding, "buttonYes", yesButton)
|
||||
Whitebox.setInternalState(binding, "buttonNo", noButton)
|
||||
Whitebox.setInternalState(binding, "tvReviewQuestion", textViewQuestion)
|
||||
Whitebox.setInternalState(binding, "tvReviewQuestionContext", textViewQuestionContext)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -159,4 +164,4 @@ class ReviewImageFragmentTest {
|
|||
shadowOf(Looper.getMainLooper()).idle()
|
||||
Assert.assertNotNull(method.invoke(fragment))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue