mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
fix:click on skip button in Peer Review after orientation change then app is crashed (#4176)
* #fixes-4143 In ReviewActivity overrides two function-> onResume() and onPause() * Fixed the Bug-#4143 * reformed the codechange * reformed the codechange * Add javadoc * Add javadoc
This commit is contained in:
parent
9075b65ddf
commit
4f130e4dd0
2 changed files with 29 additions and 23 deletions
|
|
@ -55,6 +55,11 @@ public class ReviewActivity extends BaseActivity {
|
|||
ReviewHelper reviewHelper;
|
||||
@Inject
|
||||
DeleteHelper deleteHelper;
|
||||
/**
|
||||
* Represent fragment for ReviewImage
|
||||
* Use to call some methods of ReviewImage fragment
|
||||
*/
|
||||
private ReviewImageFragment reviewImageFragment;
|
||||
|
||||
final String SAVED_MEDIA = "saved_media";
|
||||
private Media media;
|
||||
|
|
@ -98,7 +103,6 @@ public class ReviewActivity extends BaseActivity {
|
|||
|
||||
reviewPagerAdapter = new ReviewPagerAdapter(getSupportFragmentManager());
|
||||
reviewPager.setAdapter(reviewPagerAdapter);
|
||||
reviewPagerAdapter.getItem(0);
|
||||
pagerIndicator.setViewPager(reviewPager);
|
||||
progressBar.setVisibility(View.VISIBLE);
|
||||
|
||||
|
|
@ -113,7 +117,8 @@ public class ReviewActivity extends BaseActivity {
|
|||
}
|
||||
|
||||
btnSkipImage.setOnClickListener(view -> {
|
||||
reviewPagerAdapter.disableButtons();
|
||||
reviewImageFragment = getInstanceOfReviewImageFragment();
|
||||
reviewImageFragment.disableButtons();
|
||||
runRandomizer();
|
||||
});
|
||||
|
||||
|
|
@ -142,7 +147,8 @@ public class ReviewActivity extends BaseActivity {
|
|||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(media -> {
|
||||
reviewPagerAdapter.disableButtons();
|
||||
reviewImageFragment = getInstanceOfReviewImageFragment();
|
||||
reviewImageFragment.disableButtons();
|
||||
updateImage(media);
|
||||
}));
|
||||
return true;
|
||||
|
|
@ -169,7 +175,8 @@ public class ReviewActivity extends BaseActivity {
|
|||
String caption = String.format(getString(R.string.review_is_uploaded_by), fileName, revision.getUser());
|
||||
imageCaption.setText(caption);
|
||||
progressBar.setVisibility(View.GONE);
|
||||
reviewPagerAdapter.enableButtons();
|
||||
reviewImageFragment = getInstanceOfReviewImageFragment();
|
||||
reviewImageFragment.enableButtons();
|
||||
}));
|
||||
reviewPager.setCurrentItem(0);
|
||||
}
|
||||
|
|
@ -226,4 +233,13 @@ public class ReviewActivity extends BaseActivity {
|
|||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
/**
|
||||
* this function return the instance of reviewImageFragment
|
||||
*/
|
||||
public ReviewImageFragment getInstanceOfReviewImageFragment(){
|
||||
int currentItemOfReviewPager = reviewPager.getCurrentItem();
|
||||
reviewImageFragment = (ReviewImageFragment) reviewPagerAdapter.instantiateItem(reviewPager, currentItemOfReviewPager);
|
||||
return reviewImageFragment;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package fr.free.nrw.commons.review;
|
|||
|
||||
import android.os.Bundle;
|
||||
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||
|
|
@ -9,6 +11,13 @@ import androidx.fragment.app.FragmentStatePagerAdapter;
|
|||
public class ReviewPagerAdapter extends FragmentStatePagerAdapter {
|
||||
private ReviewImageFragment[] reviewImageFragments;
|
||||
|
||||
/**
|
||||
* this function return the instance of ReviewviewPage current item
|
||||
*/
|
||||
@Override
|
||||
public Object instantiateItem(@NonNull ViewGroup container, int position) {
|
||||
return super.instantiateItem(container, position);
|
||||
}
|
||||
|
||||
ReviewPagerAdapter(FragmentManager fm) {
|
||||
super(fm);
|
||||
|
|
@ -32,25 +41,6 @@ public class ReviewPagerAdapter extends FragmentStatePagerAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is called when an image has
|
||||
* been loaded to enable the review buttons.
|
||||
*/
|
||||
public void enableButtons() {
|
||||
if (reviewImageFragments != null){
|
||||
reviewImageFragments[0].enableButtons();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is called when an image is being loaded
|
||||
* to disable the review buttons
|
||||
*/
|
||||
public void disableButtons() {
|
||||
if (reviewImageFragments != null){
|
||||
reviewImageFragments[0].disableButtons();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue