added level info and returned level info

This commit is contained in:
tanvidadu 2018-05-28 15:18:18 +05:30
parent c43fce6d84
commit deca177151
3 changed files with 66 additions and 12 deletions

View file

@ -257,7 +257,7 @@ public class AchievementsActivity extends NavigationBaseActivity {
*/ */
private void hideProgressBar() { private void hideProgressBar() {
if (progressBar != null && isUploadFetched && isStatisticsFetched) { if (progressBar != null && isUploadFetched && isStatisticsFetched) {
Log.i("level", Integer.toString(level.calculateLevelUp(achievements))); Log.i("level", Integer.toString(level.calculateLevelUp(achievements).getMaximumUniqueImagesUsed()));
progressBar.setVisibility(View.GONE); progressBar.setVisibility(View.GONE);
layoutImageReverts.setVisibility(View.VISIBLE); layoutImageReverts.setVisibility(View.VISIBLE);
layoutImageUploaded.setVisibility(View.VISIBLE); layoutImageUploaded.setVisibility(View.VISIBLE);

View file

@ -0,0 +1,35 @@
package fr.free.nrw.commons.achievements;
/**
* Contains information about the levels
*/
public class Level {
private int maximumUploadCount;
private int maximumUniqueImagesUsed;
private int revertRate;
private int level;
public int getMaximumUniqueImagesUsed() {
return maximumUniqueImagesUsed;
}
public int getMaximumUploadCount() {
return maximumUploadCount;
}
public void setMaximumUploadCount(int maximumUploadCount) {
this.maximumUploadCount = maximumUploadCount;
}
public void setMaximumUniqueImagesUsed(int maximumUniqueImagesUsed) {
this.maximumUniqueImagesUsed = maximumUniqueImagesUsed;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
}

View file

@ -5,26 +5,45 @@ package fr.free.nrw.commons.achievements;
*/ */
public class LevelController { public class LevelController {
int calculateLevelUp( Achievements achievements){ Level calculateLevelUp( Achievements achievements){
int level = 1; Level level = new Level ();
level.setLevel(1);
level.setMaximumUploadCount(20);
level.setMaximumUniqueImagesUsed(5);
if(achievements.getImagesUploaded() >= 100 && achievements.getUniqueUsedImages() >= 45){ if(achievements.getImagesUploaded() >= 100 && achievements.getUniqueUsedImages() >= 45){
level = 10; level.setLevel(10);
} else if (achievements.getImagesUploaded() >= 90 && achievements.getUniqueUsedImages() >= 40){ } else if (achievements.getImagesUploaded() >= 90 && achievements.getUniqueUsedImages() >= 40){
level = 9; level.setLevel(9);
level.setMaximumUniqueImagesUsed(45);
level.setMaximumUploadCount(100);
} else if (achievements.getImagesUploaded() >= 80 && achievements.getUniqueUsedImages() >= 35){ } else if (achievements.getImagesUploaded() >= 80 && achievements.getUniqueUsedImages() >= 35){
level = 8; level.setLevel(8);
level.setMaximumUniqueImagesUsed(40);
level.setMaximumUploadCount(90);
} else if (achievements.getImagesUploaded() >= 70 && achievements.getUniqueUsedImages() >= 30){ } else if (achievements.getImagesUploaded() >= 70 && achievements.getUniqueUsedImages() >= 30){
level = 7; level.setLevel(7);
level.setMaximumUniqueImagesUsed(35);
level.setMaximumUploadCount(80);
} else if (achievements.getImagesUploaded() >= 60 && achievements.getUniqueUsedImages() >= 25 ){ } else if (achievements.getImagesUploaded() >= 60 && achievements.getUniqueUsedImages() >= 25 ){
level = 6; level.setLevel(6);
level.setMaximumUniqueImagesUsed(30);
level.setMaximumUploadCount(70);
} else if (achievements.getImagesUploaded() >= 50 && achievements.getUniqueUsedImages() >= 20 ){ } else if (achievements.getImagesUploaded() >= 50 && achievements.getUniqueUsedImages() >= 20 ){
level = 5; level.setLevel(5);
level.setMaximumUniqueImagesUsed(25);
level.setMaximumUploadCount(60);
} else if (achievements.getImagesUploaded() >= 40 && achievements.getUniqueUsedImages() >= 15 ){ } else if (achievements.getImagesUploaded() >= 40 && achievements.getUniqueUsedImages() >= 15 ){
level = 4; level.setLevel(4);
level.setMaximumUniqueImagesUsed(20);
level.setMaximumUploadCount(50);
} else if (achievements.getImagesUploaded() >= 30 && achievements.getUniqueUsedImages() >= 10 ){ } else if (achievements.getImagesUploaded() >= 30 && achievements.getUniqueUsedImages() >= 10 ){
level = 3; level.setLevel(3);
level.setMaximumUniqueImagesUsed(15);
level.setMaximumUploadCount(40);
} else if (achievements.getImagesUploaded() >= 20 && achievements.getUniqueUsedImages() >= 5 ){ } else if (achievements.getImagesUploaded() >= 20 && achievements.getUniqueUsedImages() >= 5 ){
level = 2; level.setLevel(2);
level.setMaximumUniqueImagesUsed(10);
level.setMaximumUploadCount(30);
} }
return level; return level;