mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-30 14:23:55 +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());
|
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
|
* getter function to get count of images uploaded
|
||||||
* @return
|
* @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_WIDTH_RATIO = 0.4;
|
||||||
private static final double BADGE_IMAGE_HEIGHT_RATIO = 0.3;
|
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;
|
private LevelController.LevelInfo levelInfo;
|
||||||
|
|
||||||
@BindView(R.id.achievement_badge)
|
@BindView(R.id.achievement_badge)
|
||||||
|
|
@ -129,7 +126,6 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
||||||
progressBar.setVisibility(View.VISIBLE);
|
progressBar.setVisibility(View.VISIBLE);
|
||||||
hideLayouts();
|
hideLayouts();
|
||||||
setAchievements();
|
setAchievements();
|
||||||
setUploadCount();
|
|
||||||
initDrawer();
|
initDrawer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -189,7 +185,6 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
||||||
* which then calls parseJson when results are fetched
|
* which then calls parseJson when results are fetched
|
||||||
*/
|
*/
|
||||||
private void setAchievements() {
|
private void setAchievements() {
|
||||||
|
|
||||||
if(checkAccount()) {
|
if(checkAccount()) {
|
||||||
compositeDisposable.add(mediaWikiApi
|
compositeDisposable.add(mediaWikiApi
|
||||||
.getAchievements(Objects.requireNonNull(sessionManager.getCurrentAccount()).name)
|
.getAchievements(Objects.requireNonNull(sessionManager.getCurrentAccount()).name)
|
||||||
|
|
@ -198,29 +193,42 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
||||||
.subscribe(
|
.subscribe(
|
||||||
response -> {
|
response -> {
|
||||||
if (response != null) {
|
if (response != null) {
|
||||||
achievements = Achievements.from(response);
|
setUploadCount(Achievements.from(response));
|
||||||
isRevertFetched = true;
|
} else {
|
||||||
isStatisticsFetched = true;
|
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
|
* used to the count of images uploaded by user
|
||||||
*/
|
*/
|
||||||
private void setUploadCount() {
|
private void setUploadCount(Achievements achievements) {
|
||||||
if(checkAccount()) {
|
if(checkAccount()) {
|
||||||
compositeDisposable.add(mediaWikiApi
|
compositeDisposable.add(mediaWikiApi
|
||||||
.getUploadCount(Objects.requireNonNull(sessionManager.getCurrentAccount()).name)
|
.getUploadCount(Objects.requireNonNull(sessionManager.getCurrentAccount()).name)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(
|
.subscribe(
|
||||||
this::setAchievementsUploadCount,
|
uploadCount -> setAchievementsUploadCount(achievements, uploadCount),
|
||||||
t -> Timber.e(t, "Fetching upload count failed")
|
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
|
* used to set achievements upload count and call hideProgressbar
|
||||||
* @param uploadCount
|
* @param uploadCount
|
||||||
*/
|
*/
|
||||||
private void setAchievementsUploadCount(int uploadCount){
|
private void setAchievementsUploadCount(Achievements achievements, int uploadCount) {
|
||||||
achievements.setImagesUploaded(uploadCount);
|
achievements.setImagesUploaded(uploadCount);
|
||||||
isUploadFetched = true;
|
hideProgressBar(achievements);
|
||||||
hideProgressBar();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -293,8 +300,8 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
||||||
/**
|
/**
|
||||||
* to hide progressbar
|
* to hide progressbar
|
||||||
*/
|
*/
|
||||||
private void hideProgressBar() {
|
private void hideProgressBar(Achievements achievements) {
|
||||||
if (progressBar != null && isUploadFetched && isStatisticsFetched && isRevertFetched) {
|
if (progressBar != null) {
|
||||||
levelInfo = LevelController.LevelInfo.from(achievements.getImagesUploaded(),
|
levelInfo = LevelController.LevelInfo.from(achievements.getImagesUploaded(),
|
||||||
achievements.getUniqueUsedImages(),
|
achievements.getUniqueUsedImages(),
|
||||||
achievements.getNotRevertPercentage());
|
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_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_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="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>
|
</resources>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue