mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
level up info rendered on achievement activity
This commit is contained in:
parent
deca177151
commit
ac8af3528c
2 changed files with 26 additions and 16 deletions
|
|
@ -52,6 +52,7 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
private Boolean isStatisticsFetched = false;
|
||||
private Achievements achievements = new Achievements();
|
||||
private LevelController level = new LevelController();
|
||||
private Level levelInfo;
|
||||
|
||||
@BindView(R.id.achievement_badge)
|
||||
ImageView imageView;
|
||||
|
|
@ -170,7 +171,7 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
*/
|
||||
private void setAchievements() {
|
||||
compositeDisposable.add(mediaWikiApi
|
||||
.getAchievements("Martin_Urbanec")
|
||||
.getAchievements(sessionManager.getCurrentAccount().name)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(
|
||||
|
|
@ -183,13 +184,15 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
*/
|
||||
private void setUploadCount() {
|
||||
compositeDisposable.add(mediaWikiApi
|
||||
.getUploadCount("Martin_Urbanec")
|
||||
.getUploadCount(sessionManager.getCurrentAccount().name)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(
|
||||
uploadCount -> setUploadProgress(uploadCount),
|
||||
uploadCount -> achievements.setImagesUploaded(uploadCount),
|
||||
t -> Timber.e(t, "Fetching upload count failed")
|
||||
));
|
||||
isUploadFetched = true;
|
||||
hideProgressBar();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -197,12 +200,11 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
* @param uploadCount
|
||||
*/
|
||||
private void setUploadProgress( int uploadCount){
|
||||
achievements.setImagesUploaded(uploadCount);
|
||||
Log.i("uploadCount",Integer.toString(uploadCount));
|
||||
imagesUploadedProgressbar.setProgress(100*uploadCount/25);
|
||||
imagesUploadedProgressbar.setProgressTextFormatPattern(uploadCount +"/25" );
|
||||
isUploadFetched = true;
|
||||
hideProgressBar();
|
||||
|
||||
imagesUploadedProgressbar.setProgress
|
||||
(100*uploadCount/levelInfo.getMaximumUploadCount());
|
||||
imagesUploadedProgressbar.setProgressTextFormatPattern
|
||||
(uploadCount +"/" + levelInfo.getMaximumUploadCount() );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -224,20 +226,21 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
inflateAchievements(achievements);
|
||||
isStatisticsFetched = true;
|
||||
hideProgressBar();
|
||||
}
|
||||
|
||||
/**
|
||||
* Used the inflate the fetched statistics of the images uploaded by user
|
||||
* @param achievements
|
||||
*/
|
||||
private void inflateAchievements( Achievements achievements){
|
||||
private void inflateAchievements( Achievements achievements ){
|
||||
thanksReceived.setText(Integer.toString(achievements.getThanksReceived()));
|
||||
imagesUsedByWikiProgessbar.setProgress(100*achievements.getUniqueUsedImages()/25);
|
||||
imagesUsedByWikiProgessbar.setProgressTextFormatPattern(achievements.getUniqueUsedImages() + "/25");
|
||||
imagesUsedByWikiProgessbar.setProgress
|
||||
(100*achievements.getUniqueUsedImages()/levelInfo.getMaximumUniqueImagesUsed());
|
||||
imagesUsedByWikiProgessbar.setProgressTextFormatPattern
|
||||
(achievements.getUniqueUsedImages() + "/" + levelInfo.getMaximumUniqueImagesUsed());
|
||||
imagesFeatured.setText(Integer.toString(achievements.getFeaturedImages()));
|
||||
isStatisticsFetched = true;
|
||||
hideProgressBar();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -257,7 +260,9 @@ public class AchievementsActivity extends NavigationBaseActivity {
|
|||
*/
|
||||
private void hideProgressBar() {
|
||||
if (progressBar != null && isUploadFetched && isStatisticsFetched) {
|
||||
Log.i("level", Integer.toString(level.calculateLevelUp(achievements).getMaximumUniqueImagesUsed()));
|
||||
levelInfo = level.calculateLevelUp(achievements);
|
||||
inflateAchievements(achievements);
|
||||
setUploadProgress(achievements.getImagesUploaded());
|
||||
progressBar.setVisibility(View.GONE);
|
||||
layoutImageReverts.setVisibility(View.VISIBLE);
|
||||
layoutImageUploaded.setVisibility(View.VISIBLE);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,11 @@ package fr.free.nrw.commons.achievements;
|
|||
*/
|
||||
public class LevelController {
|
||||
|
||||
/**
|
||||
* calculated the level of user and return the level information
|
||||
* @param achievements
|
||||
* @return
|
||||
*/
|
||||
Level calculateLevelUp( Achievements achievements){
|
||||
Level level = new Level ();
|
||||
level.setLevel(1);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue