Skip to content

Commit 87b1326

Browse files
committed
Resolves commons-app#2307 by adding user level in menu
1 parent b7090d9 commit 87b1326

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

app/src/main/java/fr/free/nrw/commons/navtab/MoreBottomSheetFragment.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import fr.free.nrw.commons.feedback.FeedbackContentCreator;
2929
import fr.free.nrw.commons.feedback.model.Feedback;
3030
import fr.free.nrw.commons.feedback.FeedbackDialog;
31+
import fr.free.nrw.commons.kvstore.BasicKvStore;
3132
import fr.free.nrw.commons.kvstore.JsonKvStore;
3233
import fr.free.nrw.commons.logging.CommonsLogSender;
3334
import fr.free.nrw.commons.profile.ProfileActivity;
@@ -91,17 +92,24 @@ public void onAttach(@NonNull final Context context) {
9192
}
9293

9394
/**
94-
* Set the username in navigationHeader.
95+
* Set the username and user level (if available) in navigationHeader.
9596
*/
9697
private void setUserName() {
97-
moreProfile.setText(getUserName());
98+
BasicKvStore store = new BasicKvStore(this.getContext(), getUserName());
99+
String level = store.getString("userLevel","0");
100+
if(level.equals("0"))
101+
{
102+
moreProfile.setText(getUserName() + " ("+getString(R.string.see_your_achievements)+")");
103+
}
104+
else {
105+
moreProfile.setText(getUserName() + " ("+getString(R.string.level)+" "+level+")");
106+
}
98107
}
99108

100109
private String getUserName(){
101110
final AccountManager accountManager = AccountManager.get(getActivity());
102111
final Account[] allAccounts = accountManager.getAccountsByType(BuildConfig.ACCOUNT_TYPE);
103112
if (allAccounts.length != 0) {
104-
moreProfile.setText(allAccounts[0].name);
105113
return allAccounts[0].name;
106114
}
107115
return "";

app/src/main/java/fr/free/nrw/commons/profile/achievements/AchievementsFragment.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import fr.free.nrw.commons.auth.SessionManager;
2828
import fr.free.nrw.commons.databinding.FragmentAchievementsBinding;
2929
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
30+
import fr.free.nrw.commons.kvstore.BasicKvStore;
3031
import fr.free.nrw.commons.mwapi.OkHttpJsonApiClient;
3132
import fr.free.nrw.commons.utils.ConfigUtils;
3233
import fr.free.nrw.commons.utils.DialogUtil;
@@ -357,7 +358,7 @@ private void setImageRevertPercentage(int notRevertPercentage){
357358

358359
/**
359360
* Used the inflate the fetched statistics of the images uploaded by user
360-
* and assign badge and level
361+
* and assign badge and level. Also stores the level of user in BasicKvStore to display in menu
361362
* @param achievements
362363
*/
363364
private void inflateAchievements(Achievements achievements) {
@@ -377,6 +378,8 @@ private void inflateAchievements(Achievements achievements) {
377378
binding.achievementBadgeImage.setImageDrawable(VectorDrawableCompat.create(getResources(), R.drawable.badge,
378379
new ContextThemeWrapper(getActivity(), levelInfo.getLevelStyle()).getTheme()));
379380
binding.achievementBadgeText.setText(Integer.toString(levelInfo.getLevelNumber()));
381+
BasicKvStore store = new BasicKvStore(this.getContext(), userName);
382+
store.putString("userLevel", Integer.toString(levelInfo.getLevelNumber()));
380383
}
381384

382385
/**

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -786,6 +786,7 @@ Upload your first media by tapping on the add button.</string>
786786
<string name="permissions_are_required_for_functionality">Permissions are required for functionality</string>
787787
<string name="learn_how_to_write_a_useful_description">Learn how to write a useful description</string>
788788
<string name="learn_how_to_write_a_useful_caption">Learn how to write a useful caption</string>
789+
<string name="see_your_achievements">see your achievements</string>
789790
<plurals name="custom_picker_images_selected_title_appendix">
790791
<item quantity="one">%d image selected</item>
791792
<item quantity="other">%d images selected</item>

0 commit comments

Comments
 (0)