Skip to content

Commit 3797d71

Browse files
committed
Wired to navigation drawer
1 parent fe82581 commit 3797d71

File tree

6 files changed

+51
-10
lines changed

6 files changed

+51
-10
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@
3333
android:launchMode="singleInstance"
3434
android:theme="@android:style/Theme.Dialog" />
3535
<activity android:name=".auth.LoginActivity">
36+
<intent-filter>
37+
<category android:name="android.intent.category.LAUNCHER" />
3638

39+
<action android:name="android.intent.action.MAIN" />
40+
</intent-filter>
3741
</activity>
3842
<activity android:name=".WelcomeActivity" />
3943
<activity
@@ -90,13 +94,8 @@
9094

9195
<activity
9296
android:name=".achievements.AchievementsActivity"
93-
android:label="@string/Achievements">
94-
<intent-filter>
95-
<category android:name="android.intent.category.LAUNCHER" />
97+
android:label="@string/Achievements" />
9698

97-
<action android:name="android.intent.action.MAIN" />
98-
</intent-filter>
99-
</activity>
10099

101100
<service android:name=".upload.UploadService" />
102101
<service

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package fr.free.nrw.commons.achievements;
22

3+
import android.annotation.SuppressLint;
34
import android.content.Intent;
45
import android.graphics.Bitmap;
56
import android.net.Uri;
@@ -29,15 +30,22 @@
2930
import fr.free.nrw.commons.R;
3031
import fr.free.nrw.commons.theme.NavigationBaseActivity;
3132

32-
public class AchievementsActivity extends AppCompatActivity {
33+
public class AchievementsActivity extends NavigationBaseActivity {
3334

3435
private static final double BADGE_IMAGE_WIDTH_RATIO = 0.4;
3536
private static final double BADGE_IMAGE_HEIGHT_RATIO = 0.36;
3637

3738
@BindView(R.id.achievement_badge) ImageView imageView;
3839
@BindView(R.id.toolbar) android.support.v7.widget.Toolbar toolbar;
3940

41+
42+
/**
43+
* This method helps in the creation Achievement screen
44+
*
45+
* @param savedInstanceState Data bundle
46+
*/
4047
@Override
48+
@SuppressLint("StringFormatInvalid")
4149
protected void onCreate(Bundle savedInstanceState) {
4250
super.onCreate(savedInstanceState);
4351
setContentView(R.layout.activity_achievements);
@@ -56,6 +64,7 @@ protected void onCreate(Bundle savedInstanceState) {
5664
imageView.requestLayout();
5765

5866
setSupportActionBar(toolbar);
67+
initDrawer();
5968
}
6069

6170
@Override

app/src/main/java/fr/free/nrw/commons/di/ActivityBuilderModule.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
import dagger.android.ContributesAndroidInjector;
55
import fr.free.nrw.commons.AboutActivity;
66
import fr.free.nrw.commons.WelcomeActivity;
7+
import fr.free.nrw.commons.achievements.AchievementsActivity;
78
import fr.free.nrw.commons.auth.LoginActivity;
89
import fr.free.nrw.commons.auth.SignupActivity;
9-
import fr.free.nrw.commons.contributions.ContributionsActivity;
1010
import fr.free.nrw.commons.category.CategoryImagesActivity;
11+
import fr.free.nrw.commons.contributions.ContributionsActivity;
1112
import fr.free.nrw.commons.nearby.NearbyActivity;
1213
import fr.free.nrw.commons.notification.NotificationActivity;
1314
import fr.free.nrw.commons.settings.SettingsActivity;
@@ -50,4 +51,7 @@ public abstract class ActivityBuilderModule {
5051

5152
@ContributesAndroidInjector
5253
abstract CategoryImagesActivity bindFeaturedImagesActivity();
54+
55+
@ContributesAndroidInjector
56+
abstract AchievementsActivity bindAchievementsActivity();
5357
}

app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import android.view.MenuItem;
1616
import android.view.View;
1717
import android.view.ViewGroup;
18+
import android.widget.ImageView;
1819
import android.widget.TextView;
1920
import android.widget.Toast;
2021

@@ -24,6 +25,7 @@
2425
import fr.free.nrw.commons.CommonsApplication;
2526
import fr.free.nrw.commons.R;
2627
import fr.free.nrw.commons.WelcomeActivity;
28+
import fr.free.nrw.commons.achievements.AchievementsActivity;
2729
import fr.free.nrw.commons.auth.AccountUtil;
2830
import fr.free.nrw.commons.auth.LoginActivity;
2931
import fr.free.nrw.commons.contributions.ContributionsActivity;
@@ -68,12 +70,20 @@ private void setUserName() {
6870

6971
View navHeaderView = navigationView.getHeaderView(0);
7072
TextView username = navHeaderView.findViewById(R.id.username);
71-
7273
AccountManager accountManager = AccountManager.get(this);
7374
Account[] allAccounts = accountManager.getAccountsByType(AccountUtil.ACCOUNT_TYPE);
7475
if (allAccounts.length != 0) {
7576
username.setText(allAccounts[0].name);
7677
}
78+
ImageView userIcon = navHeaderView.findViewById(R.id.user_icon);
79+
userIcon.setOnClickListener(new View.OnClickListener() {
80+
@Override
81+
public void onClick(View v) {
82+
drawerLayout.closeDrawer(navigationView);
83+
startActivityWithFlags(NavigationBaseActivity.this, AchievementsActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP,
84+
Intent.FLAG_ACTIVITY_SINGLE_TOP);
85+
}
86+
});
7787
}
7888

7989
public void initBackButton() {
@@ -181,9 +191,10 @@ public void onLogoutComplete() {
181191

182192
public static <T> void startActivityWithFlags(Context context, Class<T> cls, int... flags) {
183193
Intent intent = new Intent(context, cls);
184-
for (int flag: flags) {
194+
for (int flag : flags) {
185195
intent.addFlags(flag);
186196
}
187197
context.startActivity(intent);
188198
}
199+
189200
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<vector android:height="24dp" android:tint="#FFFFFF"
2+
android:viewportHeight="24.0" android:viewportWidth="24.0"
3+
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
4+
<path android:fillColor="#FF000000" android:pathData="M12,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM12,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z"/>
5+
</vector>

app/src/main/res/layout/drawer_header.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto"
34
xmlns:tools="http://schemas.android.com/tools"
45
android:layout_height="match_parent"
56
android:layout_width="match_parent"
@@ -27,4 +28,16 @@
2728
android:layout_centerHorizontal="true"
2829
android:paddingBottom="@dimen/small_gap"/>
2930

31+
<ImageView
32+
android:id="@+id/user_icon"
33+
android:layout_width="wrap_content"
34+
android:layout_height="wrap_content"
35+
app:srcCompat="@drawable/ic_person_black_24dp"
36+
android:textColor="@color/item_white_background"
37+
android:textSize="@dimen/subheading_text_size"
38+
android:layout_below="@+id/pictureOfTheDay"
39+
android:layout_marginHorizontal="@dimen/activity_margin_horizontal"
40+
android:layout_toRightOf="@+id/username"
41+
android:paddingBottom="@dimen/small_gap"/>
42+
3043
</RelativeLayout>

0 commit comments

Comments
 (0)