checks items length (#5360)

* checks items length

* Update UploadMediaPresenter.java

* Update UploadMediaPresenter.java

* Update UploadMediaPresenter.java
This commit is contained in:
Shin0017 2023-10-23 13:09:45 +11:00 committed by GitHub
parent 57d7159ee0
commit 6c14163c66
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 4 deletions

View file

@ -42,6 +42,7 @@ import fr.free.nrw.commons.R;
import fr.free.nrw.commons.auth.LoginActivity;
import fr.free.nrw.commons.auth.SessionManager;
import fr.free.nrw.commons.contributions.ContributionController;
import fr.free.nrw.commons.contributions.MainActivity;
import fr.free.nrw.commons.filepicker.Constants.RequestCodes;
import fr.free.nrw.commons.filepicker.UploadableFile;
import fr.free.nrw.commons.kvstore.JsonKvStore;

View file

@ -1,6 +1,7 @@
package fr.free.nrw.commons.upload.mediaDetails;
import static android.app.Activity.RESULT_OK;
import static fr.free.nrw.commons.utils.ActivityUtils.startActivityWithFlags;
import static fr.free.nrw.commons.utils.ImageUtils.FILE_NAME_EXISTS;
import static fr.free.nrw.commons.utils.ImageUtils.getErrorMessageForResult;
@ -31,6 +32,7 @@ import com.github.chrisbanes.photoview.PhotoView;
import com.mapbox.mapboxsdk.camera.CameraPosition;
import fr.free.nrw.commons.LocationPicker.LocationPicker;
import fr.free.nrw.commons.R;
import fr.free.nrw.commons.contributions.MainActivity;
import fr.free.nrw.commons.filepicker.UploadableFile;
import fr.free.nrw.commons.kvstore.JsonKvStore;
import fr.free.nrw.commons.location.LatLng;
@ -244,7 +246,12 @@ public class UploadMediaDetailFragment extends UploadBaseFragment implements
@OnClick(R.id.btn_next)
public void onNextButtonClicked() {
presenter.verifyImageQuality(callback.getIndexInViewFlipper(this), inAppPictureLocation);
boolean isValidUploads = presenter.verifyImageQuality(callback.getIndexInViewFlipper(this), inAppPictureLocation);
if (!isValidUploads) {
startActivityWithFlags(
getActivity(), MainActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP,
Intent.FLAG_ACTIVITY_SINGLE_TOP);
}
}
@OnClick(R.id.btn_previous)

View file

@ -46,7 +46,7 @@ public interface UploadMediaDetailsContract {
void receiveImage(UploadableFile uploadableFile, Place place, LatLng inAppPictureLocation);
void verifyImageQuality(int uploadItemIndex, LatLng inAppPictureLocation);
boolean verifyImageQuality(int uploadItemIndex, LatLng inAppPictureLocation);
void copyTitleAndDescriptionToSubsequentMedia(int indexInViewFlipper);

View file

@ -178,8 +178,15 @@ public class UploadMediaPresenter implements UserActionListener, SimilarImageInt
* @param uploadItemIndex
*/
@Override
public void verifyImageQuality(int uploadItemIndex, LatLng inAppPictureLocation) {
final UploadItem uploadItem = repository.getUploads().get(uploadItemIndex);
public boolean verifyImageQuality(int uploadItemIndex, LatLng inAppPictureLocation) {
final List<UploadItem> uploadItems = repository.getUploads();
if (uploadItems.size()==0) {
view.showProgress(false);
// No internationalization required for this error message because it's an internal error.
view.showMessage("Internal error: Zero upload items received by the Upload Media Detail Fragment. Sorry, please upload again.",R.color.color_error);
return false;
}
UploadItem uploadItem = uploadItems.get(uploadItemIndex);
if (uploadItem.getGpsCoords().getDecimalCoords() == null && inAppPictureLocation == null) {
final Runnable onSkipClicked = () -> {
@ -227,6 +234,7 @@ public class UploadMediaPresenter implements UserActionListener, SimilarImageInt
})
);
}
return true;
}