mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 12:53:55 +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;
|
ReviewHelper reviewHelper;
|
||||||
@Inject
|
@Inject
|
||||||
DeleteHelper deleteHelper;
|
DeleteHelper deleteHelper;
|
||||||
|
/**
|
||||||
|
* Represent fragment for ReviewImage
|
||||||
|
* Use to call some methods of ReviewImage fragment
|
||||||
|
*/
|
||||||
|
private ReviewImageFragment reviewImageFragment;
|
||||||
|
|
||||||
final String SAVED_MEDIA = "saved_media";
|
final String SAVED_MEDIA = "saved_media";
|
||||||
private Media media;
|
private Media media;
|
||||||
|
|
@ -98,7 +103,6 @@ public class ReviewActivity extends BaseActivity {
|
||||||
|
|
||||||
reviewPagerAdapter = new ReviewPagerAdapter(getSupportFragmentManager());
|
reviewPagerAdapter = new ReviewPagerAdapter(getSupportFragmentManager());
|
||||||
reviewPager.setAdapter(reviewPagerAdapter);
|
reviewPager.setAdapter(reviewPagerAdapter);
|
||||||
reviewPagerAdapter.getItem(0);
|
|
||||||
pagerIndicator.setViewPager(reviewPager);
|
pagerIndicator.setViewPager(reviewPager);
|
||||||
progressBar.setVisibility(View.VISIBLE);
|
progressBar.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
|
|
@ -113,7 +117,8 @@ public class ReviewActivity extends BaseActivity {
|
||||||
}
|
}
|
||||||
|
|
||||||
btnSkipImage.setOnClickListener(view -> {
|
btnSkipImage.setOnClickListener(view -> {
|
||||||
reviewPagerAdapter.disableButtons();
|
reviewImageFragment = getInstanceOfReviewImageFragment();
|
||||||
|
reviewImageFragment.disableButtons();
|
||||||
runRandomizer();
|
runRandomizer();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -142,7 +147,8 @@ public class ReviewActivity extends BaseActivity {
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(media -> {
|
.subscribe(media -> {
|
||||||
reviewPagerAdapter.disableButtons();
|
reviewImageFragment = getInstanceOfReviewImageFragment();
|
||||||
|
reviewImageFragment.disableButtons();
|
||||||
updateImage(media);
|
updateImage(media);
|
||||||
}));
|
}));
|
||||||
return true;
|
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());
|
String caption = String.format(getString(R.string.review_is_uploaded_by), fileName, revision.getUser());
|
||||||
imageCaption.setText(caption);
|
imageCaption.setText(caption);
|
||||||
progressBar.setVisibility(View.GONE);
|
progressBar.setVisibility(View.GONE);
|
||||||
reviewPagerAdapter.enableButtons();
|
reviewImageFragment = getInstanceOfReviewImageFragment();
|
||||||
|
reviewImageFragment.enableButtons();
|
||||||
}));
|
}));
|
||||||
reviewPager.setCurrentItem(0);
|
reviewPager.setCurrentItem(0);
|
||||||
}
|
}
|
||||||
|
|
@ -226,4 +233,13 @@ public class ReviewActivity extends BaseActivity {
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item);
|
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.os.Bundle;
|
||||||
|
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||||
|
|
@ -9,6 +11,13 @@ import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||||
public class ReviewPagerAdapter extends FragmentStatePagerAdapter {
|
public class ReviewPagerAdapter extends FragmentStatePagerAdapter {
|
||||||
private ReviewImageFragment[] reviewImageFragments;
|
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) {
|
ReviewPagerAdapter(FragmentManager fm) {
|
||||||
super(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
|
@Override
|
||||||
public Fragment getItem(int position) {
|
public Fragment getItem(int position) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue