mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-28 13:23:58 +01:00
Bug fix for uploaded images count in achievements activity (#1885)
This commit is contained in:
parent
325e0168e3
commit
cc74f3add7
3 changed files with 28 additions and 78 deletions
|
|
@ -59,65 +59,6 @@ public class Achievements {
|
|||
response.getDeletedUploads());
|
||||
}
|
||||
|
||||
/**
|
||||
* Builder class for Achievements class
|
||||
*/
|
||||
public class AchievementsBuilder {
|
||||
private int nestedUniqueUsedImages;
|
||||
private int nestedArticlesUsingImages;
|
||||
private int nestedThanksReceived;
|
||||
private int nestedImagesEditedBySomeoneElse;
|
||||
private int nestedFeaturedImages;
|
||||
private int nestedImagesUploaded;
|
||||
private int nestedRevertCount;
|
||||
|
||||
public AchievementsBuilder setUniqueUsedImages(int uniqueUsedImages) {
|
||||
this.nestedUniqueUsedImages = uniqueUsedImages;
|
||||
return this;
|
||||
}
|
||||
|
||||
public AchievementsBuilder setArticlesUsingImages(int articlesUsingImages) {
|
||||
this.nestedArticlesUsingImages = articlesUsingImages;
|
||||
return this;
|
||||
}
|
||||
|
||||
public AchievementsBuilder setThanksReceived(int thanksReceived) {
|
||||
this.nestedThanksReceived = thanksReceived;
|
||||
return this;
|
||||
}
|
||||
|
||||
public AchievementsBuilder setImagesEditedBySomeoneElse(int imagesEditedBySomeoneElse) {
|
||||
this.nestedImagesEditedBySomeoneElse = imagesEditedBySomeoneElse;
|
||||
return this;
|
||||
}
|
||||
|
||||
public AchievementsBuilder setFeaturedImages(int featuredImages) {
|
||||
this.nestedFeaturedImages = featuredImages;
|
||||
return this;
|
||||
}
|
||||
|
||||
public AchievementsBuilder setImagesUploaded(int imagesUploaded) {
|
||||
this.nestedImagesUploaded = imagesUploaded;
|
||||
return this;
|
||||
}
|
||||
|
||||
public AchievementsBuilder setRevertCount( int revertCount){
|
||||
this.nestedRevertCount = revertCount;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Achievements createAchievements(){
|
||||
return new Achievements(nestedUniqueUsedImages,
|
||||
nestedArticlesUsingImages,
|
||||
nestedThanksReceived,
|
||||
nestedImagesEditedBySomeoneElse,
|
||||
nestedFeaturedImages,
|
||||
nestedImagesUploaded,
|
||||
nestedRevertCount);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* getter function to get count of images uploaded
|
||||
* @return
|
||||
|
|
|
|||
|
|
@ -54,10 +54,7 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
|
||||
private static final double BADGE_IMAGE_WIDTH_RATIO = 0.4;
|
||||
private static final double BADGE_IMAGE_HEIGHT_RATIO = 0.3;
|
||||
private Boolean isUploadFetched = false;
|
||||
private Boolean isStatisticsFetched = false;
|
||||
private Boolean isRevertFetched = false;
|
||||
private Achievements achievements = new Achievements();
|
||||
|
||||
private LevelController.LevelInfo levelInfo;
|
||||
|
||||
@BindView(R.id.achievement_badge)
|
||||
|
|
@ -129,7 +126,6 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
progressBar.setVisibility(View.VISIBLE);
|
||||
hideLayouts();
|
||||
setAchievements();
|
||||
setUploadCount();
|
||||
initDrawer();
|
||||
}
|
||||
|
||||
|
|
@ -189,7 +185,6 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
* which then calls parseJson when results are fetched
|
||||
*/
|
||||
private void setAchievements() {
|
||||
|
||||
if(checkAccount()) {
|
||||
compositeDisposable.add(mediaWikiApi
|
||||
.getAchievements(Objects.requireNonNull(sessionManager.getCurrentAccount()).name)
|
||||
|
|
@ -198,29 +193,42 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
.subscribe(
|
||||
response -> {
|
||||
if (response != null) {
|
||||
achievements = Achievements.from(response);
|
||||
isRevertFetched = true;
|
||||
isStatisticsFetched = true;
|
||||
setUploadCount(Achievements.from(response));
|
||||
} else {
|
||||
onError();
|
||||
}
|
||||
hideProgressBar();
|
||||
},
|
||||
t -> Timber.e(t, "Fetching achievements statisticss failed")
|
||||
t -> {
|
||||
Timber.e(t, "Fetching achievements statistics failed");
|
||||
onError();
|
||||
}
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows a generic error toast when error occurs while loading achievements or uploads
|
||||
*/
|
||||
private void onError() {
|
||||
ViewUtil.showLongToast(this, getResources().getString(R.string.error_occurred));
|
||||
progressBar.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
/**
|
||||
* used to the count of images uploaded by user
|
||||
*/
|
||||
private void setUploadCount() {
|
||||
private void setUploadCount(Achievements achievements) {
|
||||
if(checkAccount()) {
|
||||
compositeDisposable.add(mediaWikiApi
|
||||
.getUploadCount(Objects.requireNonNull(sessionManager.getCurrentAccount()).name)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(
|
||||
this::setAchievementsUploadCount,
|
||||
t -> Timber.e(t, "Fetching upload count failed")
|
||||
uploadCount -> setAchievementsUploadCount(achievements, uploadCount),
|
||||
t -> {
|
||||
Timber.e(t, "Fetching upload count failed");
|
||||
onError();
|
||||
}
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
@ -229,10 +237,9 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
* used to set achievements upload count and call hideProgressbar
|
||||
* @param uploadCount
|
||||
*/
|
||||
private void setAchievementsUploadCount(int uploadCount){
|
||||
private void setAchievementsUploadCount(Achievements achievements, int uploadCount) {
|
||||
achievements.setImagesUploaded(uploadCount);
|
||||
isUploadFetched = true;
|
||||
hideProgressBar();
|
||||
hideProgressBar(achievements);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -293,8 +300,8 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
/**
|
||||
* to hide progressbar
|
||||
*/
|
||||
private void hideProgressBar() {
|
||||
if (progressBar != null && isUploadFetched && isStatisticsFetched && isRevertFetched) {
|
||||
private void hideProgressBar(Achievements achievements) {
|
||||
if (progressBar != null) {
|
||||
levelInfo = LevelController.LevelInfo.from(achievements.getImagesUploaded(),
|
||||
achievements.getUniqueUsedImages(),
|
||||
achievements.getNotRevertPercentage());
|
||||
|
|
|
|||
|
|
@ -341,4 +341,6 @@
|
|||
<string name="images_uploaded_explanation">The number of images you have uploaded to Commons, via any upload software</string>
|
||||
<string name="images_reverted_explanation">The percentage of images you have uploaded to Commons that were not deleted</string>
|
||||
<string name="images_used_explanation">The number of images you have uploaded to Commons that were used in Wikimedia articles</string>
|
||||
|
||||
<string name="error_occurred">Error occurred!</string>
|
||||
</resources>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue