Wired to navigation drawer

This commit is contained in:
tanvidadu 2018-05-20 21:50:15 +05:30
parent fe82581472
commit 3797d714a1
6 changed files with 51 additions and 10 deletions

View file

@ -33,7 +33,11 @@
android:launchMode="singleInstance" android:launchMode="singleInstance"
android:theme="@android:style/Theme.Dialog" /> android:theme="@android:style/Theme.Dialog" />
<activity android:name=".auth.LoginActivity"> <activity android:name=".auth.LoginActivity">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity> </activity>
<activity android:name=".WelcomeActivity" /> <activity android:name=".WelcomeActivity" />
<activity <activity
@ -90,13 +94,8 @@
<activity <activity
android:name=".achievements.AchievementsActivity" android:name=".achievements.AchievementsActivity"
android:label="@string/Achievements"> android:label="@string/Achievements" />
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
<service android:name=".upload.UploadService" /> <service android:name=".upload.UploadService" />
<service <service

View file

@ -1,5 +1,6 @@
package fr.free.nrw.commons.achievements; package fr.free.nrw.commons.achievements;
import android.annotation.SuppressLint;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.net.Uri; import android.net.Uri;
@ -29,7 +30,7 @@ import dagger.Binds;
import fr.free.nrw.commons.R; import fr.free.nrw.commons.R;
import fr.free.nrw.commons.theme.NavigationBaseActivity; import fr.free.nrw.commons.theme.NavigationBaseActivity;
public class AchievementsActivity extends AppCompatActivity { public class AchievementsActivity extends NavigationBaseActivity {
private static final double BADGE_IMAGE_WIDTH_RATIO = 0.4; private static final double BADGE_IMAGE_WIDTH_RATIO = 0.4;
private static final double BADGE_IMAGE_HEIGHT_RATIO = 0.36; private static final double BADGE_IMAGE_HEIGHT_RATIO = 0.36;
@ -37,7 +38,14 @@ public class AchievementsActivity extends AppCompatActivity {
@BindView(R.id.achievement_badge) ImageView imageView; @BindView(R.id.achievement_badge) ImageView imageView;
@BindView(R.id.toolbar) android.support.v7.widget.Toolbar toolbar; @BindView(R.id.toolbar) android.support.v7.widget.Toolbar toolbar;
/**
* This method helps in the creation Achievement screen
*
* @param savedInstanceState Data bundle
*/
@Override @Override
@SuppressLint("StringFormatInvalid")
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_achievements); setContentView(R.layout.activity_achievements);
@ -56,6 +64,7 @@ public class AchievementsActivity extends AppCompatActivity {
imageView.requestLayout(); imageView.requestLayout();
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
initDrawer();
} }
@Override @Override

View file

@ -4,10 +4,11 @@ import dagger.Module;
import dagger.android.ContributesAndroidInjector; import dagger.android.ContributesAndroidInjector;
import fr.free.nrw.commons.AboutActivity; import fr.free.nrw.commons.AboutActivity;
import fr.free.nrw.commons.WelcomeActivity; import fr.free.nrw.commons.WelcomeActivity;
import fr.free.nrw.commons.achievements.AchievementsActivity;
import fr.free.nrw.commons.auth.LoginActivity; import fr.free.nrw.commons.auth.LoginActivity;
import fr.free.nrw.commons.auth.SignupActivity; import fr.free.nrw.commons.auth.SignupActivity;
import fr.free.nrw.commons.contributions.ContributionsActivity;
import fr.free.nrw.commons.category.CategoryImagesActivity; import fr.free.nrw.commons.category.CategoryImagesActivity;
import fr.free.nrw.commons.contributions.ContributionsActivity;
import fr.free.nrw.commons.nearby.NearbyActivity; import fr.free.nrw.commons.nearby.NearbyActivity;
import fr.free.nrw.commons.notification.NotificationActivity; import fr.free.nrw.commons.notification.NotificationActivity;
import fr.free.nrw.commons.settings.SettingsActivity; import fr.free.nrw.commons.settings.SettingsActivity;
@ -50,4 +51,7 @@ public abstract class ActivityBuilderModule {
@ContributesAndroidInjector @ContributesAndroidInjector
abstract CategoryImagesActivity bindFeaturedImagesActivity(); abstract CategoryImagesActivity bindFeaturedImagesActivity();
@ContributesAndroidInjector
abstract AchievementsActivity bindAchievementsActivity();
} }

View file

@ -15,6 +15,7 @@ import android.support.v7.widget.Toolbar;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
@ -24,6 +25,7 @@ import fr.free.nrw.commons.BuildConfig;
import fr.free.nrw.commons.CommonsApplication; import fr.free.nrw.commons.CommonsApplication;
import fr.free.nrw.commons.R; import fr.free.nrw.commons.R;
import fr.free.nrw.commons.WelcomeActivity; import fr.free.nrw.commons.WelcomeActivity;
import fr.free.nrw.commons.achievements.AchievementsActivity;
import fr.free.nrw.commons.auth.AccountUtil; import fr.free.nrw.commons.auth.AccountUtil;
import fr.free.nrw.commons.auth.LoginActivity; import fr.free.nrw.commons.auth.LoginActivity;
import fr.free.nrw.commons.contributions.ContributionsActivity; import fr.free.nrw.commons.contributions.ContributionsActivity;
@ -68,12 +70,20 @@ public abstract class NavigationBaseActivity extends BaseActivity
View navHeaderView = navigationView.getHeaderView(0); View navHeaderView = navigationView.getHeaderView(0);
TextView username = navHeaderView.findViewById(R.id.username); TextView username = navHeaderView.findViewById(R.id.username);
AccountManager accountManager = AccountManager.get(this); AccountManager accountManager = AccountManager.get(this);
Account[] allAccounts = accountManager.getAccountsByType(AccountUtil.ACCOUNT_TYPE); Account[] allAccounts = accountManager.getAccountsByType(AccountUtil.ACCOUNT_TYPE);
if (allAccounts.length != 0) { if (allAccounts.length != 0) {
username.setText(allAccounts[0].name); username.setText(allAccounts[0].name);
} }
ImageView userIcon = navHeaderView.findViewById(R.id.user_icon);
userIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
drawerLayout.closeDrawer(navigationView);
startActivityWithFlags(NavigationBaseActivity.this, AchievementsActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP,
Intent.FLAG_ACTIVITY_SINGLE_TOP);
}
});
} }
public void initBackButton() { public void initBackButton() {
@ -181,9 +191,10 @@ public abstract class NavigationBaseActivity extends BaseActivity
public static <T> void startActivityWithFlags(Context context, Class<T> cls, int... flags) { public static <T> void startActivityWithFlags(Context context, Class<T> cls, int... flags) {
Intent intent = new Intent(context, cls); Intent intent = new Intent(context, cls);
for (int flag: flags) { for (int flag : flags) {
intent.addFlags(flag); intent.addFlags(flag);
} }
context.startActivity(intent); context.startActivity(intent);
} }
} }

View file

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#FFFFFF"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<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"/>
</vector>

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -27,4 +28,16 @@
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:paddingBottom="@dimen/small_gap"/> android:paddingBottom="@dimen/small_gap"/>
<ImageView
android:id="@+id/user_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_person_black_24dp"
android:textColor="@color/item_white_background"
android:textSize="@dimen/subheading_text_size"
android:layout_below="@+id/pictureOfTheDay"
android:layout_marginHorizontal="@dimen/activity_margin_horizontal"
android:layout_toRightOf="@+id/username"
android:paddingBottom="@dimen/small_gap"/>
</RelativeLayout> </RelativeLayout>