From c97764a01dd19d07195823a27705ba5744c238e1 Mon Sep 17 00:00:00 2001 From: neslihanturan Date: Fri, 26 Apr 2019 12:49:14 +0300 Subject: [PATCH] Save media on orientation change so that same image will be reviewed (#2929) --- .../nrw/commons/review/ReviewActivity.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) 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 13d945190..7f029bc6f 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 @@ -61,6 +61,17 @@ public class ReviewActivity extends AuthenticatedActivity { @Inject DeleteHelper deleteHelper; + final String SAVED_MEDIA = "saved_media"; + private Media media; + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + if (media != null) { + outState.putParcelable(SAVED_MEDIA, media); + } + } + /** * Consumers should be simply using this method to use this activity. * @@ -102,7 +113,11 @@ public class ReviewActivity extends AuthenticatedActivity { pagerIndicator.setViewPager(reviewPager); progressBar.setVisibility(View.VISIBLE); - runRandomizer(); //Run randomizer whenever everything is ready so that a first random image will be added + if (savedInstanceState != null) { + updateImage(savedInstanceState.getParcelable(SAVED_MEDIA)); // Use existing media if we have one + } else { + runRandomizer(); //Run randomizer whenever everything is ready so that a first random image will be added + } btnSkipImage.setOnClickListener(view -> runRandomizer()); @@ -130,6 +145,7 @@ public class ReviewActivity extends AuthenticatedActivity { @SuppressLint("CheckResult") private void updateImage(Media media) { + this.media = media; String fileName = media.getFilename(); if (fileName.length() == 0) { ViewUtil.showShortSnackbar(drawerLayout, R.string.error_review);