Skip to content

Commit ac8af35

Browse files
committed
level up info rendered on achievement activity
1 parent deca177 commit ac8af35

File tree

2 files changed

+26
-16
lines changed

2 files changed

+26
-16
lines changed

app/src/main/java/fr/free/nrw/commons/achievements/AchievementsActivity.java

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public class AchievementsActivity extends NavigationBaseActivity {
5252
private Boolean isStatisticsFetched = false;
5353
private Achievements achievements = new Achievements();
5454
private LevelController level = new LevelController();
55+
private Level levelInfo;
5556

5657
@BindView(R.id.achievement_badge)
5758
ImageView imageView;
@@ -170,7 +171,7 @@ void shareScreen(Bitmap bitmap) {
170171
*/
171172
private void setAchievements() {
172173
compositeDisposable.add(mediaWikiApi
173-
.getAchievements("Martin_Urbanec")
174+
.getAchievements(sessionManager.getCurrentAccount().name)
174175
.subscribeOn(Schedulers.io())
175176
.observeOn(AndroidSchedulers.mainThread())
176177
.subscribe(
@@ -183,26 +184,27 @@ private void setAchievements() {
183184
*/
184185
private void setUploadCount() {
185186
compositeDisposable.add(mediaWikiApi
186-
.getUploadCount("Martin_Urbanec")
187+
.getUploadCount(sessionManager.getCurrentAccount().name)
187188
.subscribeOn(Schedulers.io())
188189
.observeOn(AndroidSchedulers.mainThread())
189190
.subscribe(
190-
uploadCount -> setUploadProgress(uploadCount),
191+
uploadCount -> achievements.setImagesUploaded(uploadCount),
191192
t -> Timber.e(t, "Fetching upload count failed")
192193
));
194+
isUploadFetched = true;
195+
hideProgressBar();
193196
}
194197

195198
/**
196199
* used to the uploaded images progressbar
197200
* @param uploadCount
198201
*/
199202
private void setUploadProgress( int uploadCount){
200-
achievements.setImagesUploaded(uploadCount);
201-
Log.i("uploadCount",Integer.toString(uploadCount));
202-
imagesUploadedProgressbar.setProgress(100*uploadCount/25);
203-
imagesUploadedProgressbar.setProgressTextFormatPattern(uploadCount +"/25" );
204-
isUploadFetched = true;
205-
hideProgressBar();
203+
204+
imagesUploadedProgressbar.setProgress
205+
(100*uploadCount/levelInfo.getMaximumUploadCount());
206+
imagesUploadedProgressbar.setProgressTextFormatPattern
207+
(uploadCount +"/" + levelInfo.getMaximumUploadCount() );
206208
}
207209

208210
/**
@@ -224,20 +226,21 @@ private void parseJson(JSONObject object) {
224226
} catch (JSONException e) {
225227
e.printStackTrace();
226228
}
227-
inflateAchievements(achievements);
229+
isStatisticsFetched = true;
230+
hideProgressBar();
228231
}
229232

230233
/**
231234
* Used the inflate the fetched statistics of the images uploaded by user
232235
* @param achievements
233236
*/
234-
private void inflateAchievements( Achievements achievements){
237+
private void inflateAchievements( Achievements achievements ){
235238
thanksReceived.setText(Integer.toString(achievements.getThanksReceived()));
236-
imagesUsedByWikiProgessbar.setProgress(100*achievements.getUniqueUsedImages()/25);
237-
imagesUsedByWikiProgessbar.setProgressTextFormatPattern(achievements.getUniqueUsedImages() + "/25");
239+
imagesUsedByWikiProgessbar.setProgress
240+
(100*achievements.getUniqueUsedImages()/levelInfo.getMaximumUniqueImagesUsed());
241+
imagesUsedByWikiProgessbar.setProgressTextFormatPattern
242+
(achievements.getUniqueUsedImages() + "/" + levelInfo.getMaximumUniqueImagesUsed());
238243
imagesFeatured.setText(Integer.toString(achievements.getFeaturedImages()));
239-
isStatisticsFetched = true;
240-
hideProgressBar();
241244
}
242245

243246
/**
@@ -257,7 +260,9 @@ public static void startYourself(Context context) {
257260
*/
258261
private void hideProgressBar() {
259262
if (progressBar != null && isUploadFetched && isStatisticsFetched) {
260-
Log.i("level", Integer.toString(level.calculateLevelUp(achievements).getMaximumUniqueImagesUsed()));
263+
levelInfo = level.calculateLevelUp(achievements);
264+
inflateAchievements(achievements);
265+
setUploadProgress(achievements.getImagesUploaded());
261266
progressBar.setVisibility(View.GONE);
262267
layoutImageReverts.setVisibility(View.VISIBLE);
263268
layoutImageUploaded.setVisibility(View.VISIBLE);

app/src/main/java/fr/free/nrw/commons/achievements/LevelController.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
*/
66
public class LevelController {
77

8+
/**
9+
* calculated the level of user and return the level information
10+
* @param achievements
11+
* @return
12+
*/
813
Level calculateLevelUp( Achievements achievements){
914
Level level = new Level ();
1015
level.setLevel(1);

0 commit comments

Comments
 (0)