diff --git a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java index 96c1cf200..06d02aab2 100644 --- a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java @@ -27,9 +27,4 @@ public class AboutActivity extends NavigationBaseActivity { versionText.setText(BuildConfig.VERSION_NAME); initDrawer(); } - - public static void startYourself(Context context) { - Intent settingsIntent = new Intent(context, AboutActivity.class); - context.startActivity(settingsIntent); - } } \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java b/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java index 9e3423928..f581de832 100644 --- a/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java @@ -30,6 +30,7 @@ import fr.free.nrw.commons.R; import fr.free.nrw.commons.Utils; import fr.free.nrw.commons.WelcomeActivity; import fr.free.nrw.commons.contributions.ContributionsActivity; +import fr.free.nrw.commons.theme.NavigationBaseActivity; import timber.log.Timber; import static android.view.KeyEvent.KEYCODE_ENTER; @@ -176,7 +177,7 @@ public class LoginActivity extends AccountAuthenticatorActivity { } public void startMainActivity() { - ContributionsActivity.startYourself(this); + NavigationBaseActivity.startActivityWithFlags(this, ContributionsActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP); finish(); } diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index 66aaaedfb..933cda6ae 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -352,9 +352,4 @@ public class ContributionsActivity extends AuthenticatedActivity public void refreshSource() { getSupportLoaderManager().restartLoader(0, null, this); } - - public static void startYourself(Context context) { - context.startActivity(new Intent(context, ContributionsActivity.class)); - } - } diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.java b/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.java index 5814ec904..4b46ff401 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.java @@ -54,9 +54,4 @@ public class SettingsActivity extends NavigationBaseActivity { return super.onOptionsItemSelected(item); } } - - public static void startYourself(Context context) { - Intent settingsIntent = new Intent(context, SettingsActivity.class); - context.startActivity(settingsIntent); - } } \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java b/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java index e1a6c5905..c27182f67 100644 --- a/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java @@ -3,6 +3,7 @@ package fr.free.nrw.commons.theme; import android.accounts.Account; import android.accounts.AccountManager; import android.content.ActivityNotFoundException; +import android.content.Context; import android.content.Intent; import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; @@ -91,30 +92,25 @@ public abstract class NavigationBaseActivity extends BaseActivity @Override public boolean onNavigationItemSelected(@NonNull final MenuItem item) { - switch (item.getItemId()) { + final int itemId = item.getItemId(); + switch (itemId) { case R.id.action_home: drawerLayout.closeDrawer(navigationView); - if (!(this instanceof ContributionsActivity)) { - ContributionsActivity.startYourself(this); - } + startActivityWithFlags( + this, ContributionsActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP, + Intent.FLAG_ACTIVITY_SINGLE_TOP); return true; case R.id.action_nearby: drawerLayout.closeDrawer(navigationView); - if (!(this instanceof NearbyActivity)) { - NearbyActivity.startYourself(this); - } + startActivityWithFlags(this, NearbyActivity.class, Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); return true; case R.id.action_about: drawerLayout.closeDrawer(navigationView); - if (!(this instanceof AboutActivity)) { - AboutActivity.startYourself(this); - } + startActivityWithFlags(this, AboutActivity.class, Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); return true; case R.id.action_settings: drawerLayout.closeDrawer(navigationView); - if (!(this instanceof SettingsActivity)) { - SettingsActivity.startYourself(this); - } + startActivityWithFlags(this, SettingsActivity.class, Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); return true; case R.id.action_introduction: drawerLayout.closeDrawer(navigationView); @@ -148,6 +144,7 @@ public abstract class NavigationBaseActivity extends BaseActivity .show(); return true; default: + Timber.e("Unknown option [%s] selected from the navigation menu", itemId); return false; } } @@ -164,4 +161,12 @@ public abstract class NavigationBaseActivity extends BaseActivity finish(); } } + + public static void startActivityWithFlags(Context context, Class cls, int... flags) { + Intent intent = new Intent(context, cls); + for (int flag: flags) { + intent.addFlags(flag); + } + context.startActivity(intent); + } } diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index f49382806..ddc29c35d 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -195,5 +195,7 @@ לתת הרשאה להשתמש באחסון חיצוני שמירת תמונות שצולמו באמצעות מצלמה בתוך היישום במכשיר שלך + שליחת קובץ יומן + שליחת קובץ יומן למפתחים בדואר אלקטרוני כניסה לחשבון שלך diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 50d626b99..918c760b7 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -8,7 +8,7 @@ Зарегистрироваться Вход в систему Пожалуйста, подождите… - Вход выполнен успешно. + Вход выполнен успешно! Ошибка входа в систему! Файл не найден. Попробуйте другой файл. Ошибка аутентификации!