From 6e9331b8929beabf64bfd0aba9da582371e16035 Mon Sep 17 00:00:00 2001 From: Ujjwal Agrawal Date: Tue, 1 May 2018 15:58:40 +0530 Subject: [PATCH 01/10] Skip textview added and onclick implemented --- .../java/fr/free/nrw/commons/auth/LoginActivity.java | 8 ++++++++ app/src/main/res/layout/activity_login.xml | 10 ++++++++++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 19 insertions(+) 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 7b2b0a97f..66ab216b0 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 @@ -37,6 +37,7 @@ import javax.inject.Named; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; +import fr.free.nrw.commons.AboutActivity; import fr.free.nrw.commons.BuildConfig; import fr.free.nrw.commons.PageTitle; import fr.free.nrw.commons.R; @@ -78,6 +79,7 @@ public class LoginActivity extends AccountAuthenticatorActivity { @BindView(R.id.login_credentials) TextView loginCredentials; @BindView(R.id.two_factor_container) TextInputLayout twoFactorContainer; @BindView(R.id.forgotPassword) HtmlTextView forgotPasswordText; + @BindView(R.id.skipLogin) HtmlTextView skipLoginText; ProgressDialog progressDialog; private AppCompatDelegate delegate; @@ -127,6 +129,7 @@ public class LoginActivity extends AccountAuthenticatorActivity { signupButton.setOnClickListener(view -> signUp()); forgotPasswordText.setOnClickListener(view -> forgotPassword()); + skipLoginText.setOnClickListener(view -> skipLogin()); if(BuildConfig.FLAVOR.equals("beta")){ loginCredentials.setText(getString(R.string.login_credential)); @@ -135,6 +138,11 @@ public class LoginActivity extends AccountAuthenticatorActivity { } } + private void skipLogin() { + NavigationBaseActivity.startActivityWithFlags(this, AboutActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP); + finish(); + } + private void forgotPassword() { Utils.handleWebUrl(this, Uri.parse(BuildConfig.FORGOT_PASSWORD_URL)); } diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 5d1345bd3..0470cf720 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -207,6 +207,16 @@ android:layout_marginBottom="@dimen/standard_gap" android:text="@string/forgot_password" /> + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index efdeeec7e..e853073db 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -270,4 +270,5 @@ Proceed Cancel Retry + Skip From b33bf387c66a54ae20c75d02b0987cf9be85827e Mon Sep 17 00:00:00 2001 From: Ujjwal Agrawal Date: Tue, 1 May 2018 16:19:43 +0530 Subject: [PATCH 02/10] Shared prefernce isloggedin added and menu displayed accordingly --- .../free/nrw/commons/auth/LoginActivity.java | 6 ++++- .../fr/free/nrw/commons/settings/Prefs.java | 1 + .../commons/theme/NavigationBaseActivity.java | 26 +++++++++++++++++++ app/src/main/res/menu/drawer.xml | 7 +++++ app/src/main/res/values/strings.xml | 1 + 5 files changed, 40 insertions(+), 1 deletion(-) 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 66ab216b0..5ccf7d461 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 @@ -45,7 +45,9 @@ import fr.free.nrw.commons.Utils; import fr.free.nrw.commons.WelcomeActivity; import fr.free.nrw.commons.contributions.ContributionsActivity; import fr.free.nrw.commons.di.ApplicationlessInjection; +import fr.free.nrw.commons.featured.FeaturedImagesActivity_MembersInjector; import fr.free.nrw.commons.mwapi.MediaWikiApi; +import fr.free.nrw.commons.nearby.NearbyActivity; import fr.free.nrw.commons.theme.NavigationBaseActivity; import fr.free.nrw.commons.ui.widget.HtmlTextView; import io.reactivex.Observable; @@ -139,8 +141,10 @@ public class LoginActivity extends AccountAuthenticatorActivity { } private void skipLogin() { - NavigationBaseActivity.startActivityWithFlags(this, AboutActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP); + prefs.edit().putBoolean("isloggedin", false).apply(); + NavigationBaseActivity.startActivityWithFlags(this, NearbyActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP); finish(); + } private void forgotPassword() { diff --git a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java index 722733393..1142c7e3b 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java @@ -7,6 +7,7 @@ public class Prefs { public static final String DEFAULT_LICENSE = "defaultLicense"; public static final String UPLOADS_SHOWING = "uploadsshowing"; public static final String IS_CONTRIBUTION_COUNT_CHANGED = "ccontributionCountChanged"; + public static final String IS_LOGGED_IN = "isloggedin"; public static class Licenses { public static final String CC_BY_SA_3 = "CC BY-SA 3.0"; 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 acd9b7646..12477794b 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 @@ -5,6 +5,7 @@ import android.accounts.AccountManager; import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.net.Uri; import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; @@ -12,12 +13,16 @@ import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AlertDialog; import android.support.v7.widget.Toolbar; +import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import android.widget.Toast; +import javax.inject.Inject; +import javax.inject.Named; + import butterknife.BindView; import fr.free.nrw.commons.AboutActivity; import fr.free.nrw.commons.BuildConfig; @@ -43,6 +48,7 @@ public abstract class NavigationBaseActivity extends BaseActivity NavigationView navigationView; @BindView(R.id.drawer_layout) DrawerLayout drawerLayout; + @Inject @Named("application_preferences") SharedPreferences prefs; private ActionBarDrawerToggle toggle; @@ -97,6 +103,26 @@ public abstract class NavigationBaseActivity extends BaseActivity navigationView.setLayoutParams(params); } + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + super.onPrepareOptionsMenu(menu); + if (prefs.getBoolean("isloggedin", true)) { + menu.findItem(R.id.action_login).setVisible(false); + menu.findItem(R.id.action_home).setVisible(true); + menu.findItem(R.id.action_notifications).setVisible(true); + menu.findItem(R.id.action_settings).setVisible(true); + menu.findItem(R.id.action_logout).setVisible(true); + + }else { + menu.findItem(R.id.action_login).setVisible(true); + menu.findItem(R.id.action_home).setVisible(false); + menu.findItem(R.id.action_notifications).setVisible(false); + menu.findItem(R.id.action_settings).setVisible(false); + menu.findItem(R.id.action_logout).setVisible(false); + } + return true; + } + @Override public boolean onNavigationItemSelected(@NonNull final MenuItem item) { final int itemId = item.getItemId(); diff --git a/app/src/main/res/menu/drawer.xml b/app/src/main/res/menu/drawer.xml index ae6e0cce2..997d2fdde 100644 --- a/app/src/main/res/menu/drawer.xml +++ b/app/src/main/res/menu/drawer.xml @@ -1,4 +1,11 @@ + + + Cancel Retry Skip + Login From dc4222e3d412a4b5d95a3077a05475bed1c926a9 Mon Sep 17 00:00:00 2001 From: Ujjwal Agrawal Date: Wed, 2 May 2018 19:09:27 +0530 Subject: [PATCH 03/10] Login added in drawer and drawer made dynamic --- .../free/nrw/commons/auth/LoginActivity.java | 1 + .../fr/free/nrw/commons/settings/Prefs.java | 1 - .../commons/theme/NavigationBaseActivity.java | 46 ++++++++++--------- 3 files changed, 26 insertions(+), 22 deletions(-) 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 5ccf7d461..bb9cfbd3e 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 @@ -183,6 +183,7 @@ public class LoginActivity extends AccountAuthenticatorActivity { if (sessionManager.getCurrentAccount() != null && sessionManager.isUserLoggedIn() && sessionManager.getCachedAuthCookie() != null) { + startMainActivity(); } } diff --git a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java index 1142c7e3b..722733393 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java @@ -7,7 +7,6 @@ public class Prefs { public static final String DEFAULT_LICENSE = "defaultLicense"; public static final String UPLOADS_SHOWING = "uploadsshowing"; public static final String IS_CONTRIBUTION_COUNT_CHANGED = "ccontributionCountChanged"; - public static final String IS_LOGGED_IN = "isloggedin"; public static class Licenses { public static final String CC_BY_SA_3 = "CC BY-SA 3.0"; 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 12477794b..2a0bf1290 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 @@ -28,7 +28,6 @@ import fr.free.nrw.commons.AboutActivity; import fr.free.nrw.commons.BuildConfig; import fr.free.nrw.commons.CommonsApplication; import fr.free.nrw.commons.R; -import fr.free.nrw.commons.Utils; import fr.free.nrw.commons.WelcomeActivity; import fr.free.nrw.commons.auth.AccountUtil; import fr.free.nrw.commons.auth.LoginActivity; @@ -50,6 +49,7 @@ public abstract class NavigationBaseActivity extends BaseActivity DrawerLayout drawerLayout; @Inject @Named("application_preferences") SharedPreferences prefs; + private ActionBarDrawerToggle toggle; public void initDrawer() { @@ -64,6 +64,23 @@ public abstract class NavigationBaseActivity extends BaseActivity toggle.syncState(); setDrawerPaneWidth(); setUserName(); + Menu nav_Menu = navigationView.getMenu(); + if (prefs.getBoolean("isloggedin", true)) { + Toast.makeText(this,"LoggedIn",Toast.LENGTH_SHORT).show(); + nav_Menu.findItem(R.id.action_login).setVisible(false); + nav_Menu.findItem(R.id.action_home).setVisible(true); + nav_Menu.findItem(R.id.action_notifications).setVisible(true); + nav_Menu.findItem(R.id.action_settings).setVisible(true); + nav_Menu.findItem(R.id.action_logout).setVisible(true); + + }else { + Toast.makeText(this,"Skipped",Toast.LENGTH_SHORT).show(); + nav_Menu.findItem(R.id.action_login).setVisible(true); + nav_Menu.findItem(R.id.action_home).setVisible(false); + nav_Menu.findItem(R.id.action_notifications).setVisible(false); + nav_Menu.findItem(R.id.action_settings).setVisible(false); + nav_Menu.findItem(R.id.action_logout).setVisible(false); + } } /** @@ -103,30 +120,17 @@ public abstract class NavigationBaseActivity extends BaseActivity navigationView.setLayoutParams(params); } - @Override - public boolean onPrepareOptionsMenu(Menu menu) { - super.onPrepareOptionsMenu(menu); - if (prefs.getBoolean("isloggedin", true)) { - menu.findItem(R.id.action_login).setVisible(false); - menu.findItem(R.id.action_home).setVisible(true); - menu.findItem(R.id.action_notifications).setVisible(true); - menu.findItem(R.id.action_settings).setVisible(true); - menu.findItem(R.id.action_logout).setVisible(true); - - }else { - menu.findItem(R.id.action_login).setVisible(true); - menu.findItem(R.id.action_home).setVisible(false); - menu.findItem(R.id.action_notifications).setVisible(false); - menu.findItem(R.id.action_settings).setVisible(false); - menu.findItem(R.id.action_logout).setVisible(false); - } - return true; - } - @Override public boolean onNavigationItemSelected(@NonNull final MenuItem item) { final int itemId = item.getItemId(); switch (itemId) { + case R.id.action_login: + drawerLayout.closeDrawer(navigationView); + startActivityWithFlags( + this, LoginActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP, + Intent.FLAG_ACTIVITY_SINGLE_TOP); + finish(); + return true; case R.id.action_home: drawerLayout.closeDrawer(navigationView); startActivityWithFlags( From 04d96856b3bfa487aeea14089ed9c7b90b7ecf17 Mon Sep 17 00:00:00 2001 From: Ujjwal Agrawal Date: Wed, 2 May 2018 19:44:20 +0530 Subject: [PATCH 04/10] fixed issue in logout --- .../free/nrw/commons/auth/LoginActivity.java | 27 ++++++++++++++---- .../commons/theme/NavigationBaseActivity.java | 18 ++++++------ .../drawable-hdpi/ic_person_black_24dp.png | Bin 0 -> 314 bytes .../drawable-mdpi/ic_person_black_24dp.png | Bin 0 -> 215 bytes .../drawable-xhdpi/ic_person_black_24dp.png | Bin 0 -> 366 bytes .../drawable-xxhdpi/ic_person_black_24dp.png | Bin 0 -> 533 bytes .../drawable-xxxhdpi/ic_person_black_24dp.png | Bin 0 -> 748 bytes app/src/main/res/menu/drawer.xml | 2 +- app/src/main/res/values/strings.xml | 2 ++ 9 files changed, 32 insertions(+), 17 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/ic_person_black_24dp.png create mode 100644 app/src/main/res/drawable-mdpi/ic_person_black_24dp.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png 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 bb9cfbd3e..a596645f9 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 @@ -6,6 +6,7 @@ import android.accounts.AccountAuthenticatorResponse; import android.accounts.AccountManager; import android.app.Activity; import android.app.ProgressDialog; +import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; @@ -16,6 +17,7 @@ import android.support.annotation.StringRes; import android.support.design.widget.TextInputLayout; import android.support.v4.app.NavUtils; import android.support.v4.content.ContextCompat; +import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatDelegate; import android.text.Editable; import android.text.TextWatcher; @@ -39,6 +41,7 @@ import butterknife.ButterKnife; import butterknife.OnClick; import fr.free.nrw.commons.AboutActivity; import fr.free.nrw.commons.BuildConfig; +import fr.free.nrw.commons.CommonsApplication; import fr.free.nrw.commons.PageTitle; import fr.free.nrw.commons.R; import fr.free.nrw.commons.Utils; @@ -131,7 +134,15 @@ public class LoginActivity extends AccountAuthenticatorActivity { signupButton.setOnClickListener(view -> signUp()); forgotPasswordText.setOnClickListener(view -> forgotPassword()); - skipLoginText.setOnClickListener(view -> skipLogin()); + skipLoginText.setOnClickListener(view -> new AlertDialog.Builder(this).setTitle(R.string.skip_login_title) + .setMessage(R.string.skip_login_message) + .setCancelable(false) + .setPositiveButton(R.string.yes, (dialog, which) -> { + dialog.cancel(); + skipLogin(); + }) + .setNegativeButton(R.string.no, (dialog, which) -> dialog.cancel()) + .show()); if(BuildConfig.FLAVOR.equals("beta")){ loginCredentials.setText(getString(R.string.login_credential)); @@ -141,7 +152,7 @@ public class LoginActivity extends AccountAuthenticatorActivity { } private void skipLogin() { - prefs.edit().putBoolean("isloggedin", false).apply(); + prefs.edit().putBoolean("login_skipped", true).apply(); NavigationBaseActivity.startActivityWithFlags(this, NearbyActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP); finish(); @@ -165,7 +176,6 @@ public class LoginActivity extends AccountAuthenticatorActivity { } } - @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); @@ -181,11 +191,16 @@ public class LoginActivity extends AccountAuthenticatorActivity { } if (sessionManager.getCurrentAccount() != null - && sessionManager.isUserLoggedIn() - && sessionManager.getCachedAuthCookie() != null) { - + && sessionManager.isUserLoggedIn() + && sessionManager.getCachedAuthCookie() != null) { + prefs.edit().putBoolean("login_skipped", false).apply(); startMainActivity(); } + + if (prefs.getBoolean("login_skipped", false)){ + skipLogin(); + } + } @Override 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 2a0bf1290..dcacb8d9a 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 @@ -65,21 +65,18 @@ public abstract class NavigationBaseActivity extends BaseActivity setDrawerPaneWidth(); setUserName(); Menu nav_Menu = navigationView.getMenu(); - if (prefs.getBoolean("isloggedin", true)) { - Toast.makeText(this,"LoggedIn",Toast.LENGTH_SHORT).show(); - nav_Menu.findItem(R.id.action_login).setVisible(false); - nav_Menu.findItem(R.id.action_home).setVisible(true); - nav_Menu.findItem(R.id.action_notifications).setVisible(true); - nav_Menu.findItem(R.id.action_settings).setVisible(true); - nav_Menu.findItem(R.id.action_logout).setVisible(true); - - }else { - Toast.makeText(this,"Skipped",Toast.LENGTH_SHORT).show(); + if (prefs.getBoolean("login_skipped", true)) { nav_Menu.findItem(R.id.action_login).setVisible(true); nav_Menu.findItem(R.id.action_home).setVisible(false); nav_Menu.findItem(R.id.action_notifications).setVisible(false); nav_Menu.findItem(R.id.action_settings).setVisible(false); nav_Menu.findItem(R.id.action_logout).setVisible(false); + }else { + nav_Menu.findItem(R.id.action_login).setVisible(false); + nav_Menu.findItem(R.id.action_home).setVisible(true); + nav_Menu.findItem(R.id.action_notifications).setVisible(true); + nav_Menu.findItem(R.id.action_settings).setVisible(true); + nav_Menu.findItem(R.id.action_logout).setVisible(true); } } @@ -129,6 +126,7 @@ public abstract class NavigationBaseActivity extends BaseActivity startActivityWithFlags( this, LoginActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP, Intent.FLAG_ACTIVITY_SINGLE_TOP); + prefs.edit().putBoolean("login_skipped", false).apply(); finish(); return true; case R.id.action_home: diff --git a/app/src/main/res/drawable-hdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_person_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..4a8a6c159b86c5e5e4cd0573a01103541825d2ce GIT binary patch literal 314 zcmV-A0mc4_P)^ zlsc(zbpD-4#EhBWO%g1y!GR|%p-X41Q-Cc95AIox^Oy09k=Bsl2(lDnqy|Tjtr0Zi z2y!%nE`J%M^OsFIg4!BEb*^i_QHWVVoNE{5Y0voWpe*;cc9&iY=5T{METF@+5Y3ng zVp33nK8#>b+xSJ?&pSHnL7Bc2_-(4egdSl+(*wp({r2|7Xe*yTi12cPCPZ~(O7t8R zA#wLrQ8gw5#}H$r1Ef`gh72*%KqctP7^L)G63k4H2?{;Pj2WGI1FZ0oG;*cVssI20 M07*qoM6N<$f)~)y=2JOWFXO&=$9-d zewX*V!9CaYE-JAPn5y`D^IVvHoF2&DT59NfRGyc!{?nTK)>{Hi?uX=Y_DYEcX`KA1 zZgt#QYtj9lX!lNsx13Xi8nfOwyy8?5Voa60BCEe)!Y|KLHW`^JlOA8*XUcb?@aX9s z3Ww!ZD;_pHH}C#qt3+X|ea^oR?zoyDEwqDQVtbxq<2&#F{Aa%3e$BXfcGLNiqedw} Pmoj*|`njxgN@xNAX8}}( literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..d991b0e01342c1db4c70690014d3a84075da6960 GIT binary patch literal 366 zcmV-!0g?WRP){(1Rt-!LzUr!!rg_&ea%xcp?06Ked(U-w;01 z(=_M97zSF_L@#E6qg@RJ<^}~O8Vc+T3T#=x0yBdGV+{p7g92?01xm6d#@R-TTF!zv zTWLqrN$kq?;M(vX@Il*s$d!=@E=-$_#_*?WqAQ2gRvgQMEjok{l{~^aY{7Rpg+APi zzC3$_P51(H8h&J&hS%xiJ*olANrle98vHQ`{g>bHS>ACM3h?U=!A~8*yzTH$aFsy# z$R(`W{PLRw!$+=djl^pT;Ufn&3iv4&SlB2KrYsAvK-vWeA%y&24k_CU3BNz6B>(^b M07*qoM6N<$g32zM*#H0l literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..7a9747527be0701e928d4d14313da2717e301ffa GIT binary patch literal 533 zcmV+w0_y#VP)OE?iVf6sfDhfp(pf>dw5f-&hU5C*!sBM(!B7!J$p(xWY zo!Ll{*xYgE%>Ti+8D$n9b7$@xwJbsiA%qY@2q9r(8fIY;R$)`D$gvEJg)z(&Jcn&) z|6%7lIT#H~oGn=IAxyWQa6@~XbRS{5-P3&K*e;pWc+aW37^ns#ngX4<7{~Ec)1$m? zAW&P&lPzl?j$>LwprXM*c@2T81_PBf1Zo-#)L@_x1gda}4elm=r6EwpV4#$SKrurb z#g?Ymjhul%Cz{^HqB75ME6xX;(Dp{Z;bNeK)|t@03vqU}PZg6g&*^7bC9IGTk$Fxp zPq&ubkSDDW5|xofUUtO|u`HXwl(xwsA%qa3mmxS0H{qf6{Rf6y_#~UhmROTxozFVI zsU66x%AA}-70WUcD)hO7{%J>DkaI2tHOeA9hR>F{VVPs+N;`sazegE{>+r^dD8E^P zYkpjYtMFlfVYX0gU6g?M0wcfCF875$HX@f!@3bWCvUZVju=$AO;F^AVLTsgb+dqA^+nG XT1%Lg#cEf600000NkvXXu0mjfVh-g~ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..295cb32568fc271b7183b89fbf4659987c3f4a75 GIT binary patch literal 748 zcmVX;$&D6*Z`58Lk7O@#w#Hfcwu9gsU6TF8 z+8meVw*B!eEg@2KFo8ydJOnBJgrrX9n z;bDifBRku9z?k3peZj61R!nQ>z0drW1PQK~hy4O-&fl!pycPf2l;2)pg$n=x0002c z20g}Yp4l_wyYi)cCExjlmp#V(>sP*ijC-`{y?@WFyeDrMx4G9toO^RZ-jtK_jY;-| z%ziGrA@|gOjS_JivtM2{?$M;ON&igPe$85UYW7FM(msYjs4-@iAUPC|V zFa7z5Lf^^P@|OReb1}@^mY*{ae50S_9eE(D;SUBH+q-eExR#~hd;M(VUk<{rchY3w z0q;^q#`#XpmP;{*{~^cW*Ze3?#uk2`U!hhDV%bFYU%8$XDE#Q2v_GH28*Ve&pZP)z z1&kLk{F)On6tGy}0?IKI@T0&5{Enf3YQd!d3ZMWApa2S>01BW03MgU$0000000000 e0000GH~#_2@GKZZTeznH0000 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 109f59e8b..73b6f208d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -272,4 +272,6 @@ Retry Skip Login + Do you really want to skip login ? + You might not be able to access some features of the app. From a4741974f10a88be57a3b5ea36b26a084b4774f9 Mon Sep 17 00:00:00 2001 From: Ujjwal Agrawal Date: Tue, 31 Jul 2018 12:08:51 +0530 Subject: [PATCH 05/10] Indentation fix --- .../free/nrw/commons/CommonsApplication.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java index d29c22e76..61eecee00 100644 --- a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java +++ b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java @@ -135,19 +135,19 @@ public class CommonsApplication extends MultiDexApplication { } sessionManager.clearAllAccounts() - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(() -> { - Timber.d("All accounts have been removed"); - //TODO: fix preference manager - defaultPrefs.edit().clear().apply(); - applicationPrefs.edit().clear().apply(); - applicationPrefs.edit().putBoolean("firstrun", false).apply(); - otherPrefs.edit().clear().apply(); - updateAllDatabases(); + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(() -> { + Timber.d("All accounts have been removed"); + //TODO: fix preference manager + defaultPrefs.edit().clear().apply(); + applicationPrefs.edit().clear().apply(); + applicationPrefs.edit().putBoolean("firstrun", false).apply(); + otherPrefs.edit().clear().apply(); + updateAllDatabases(); - logoutListener.onLogoutComplete(); - }); + logoutListener.onLogoutComplete(); + }); } /** From 8732c79f1449f6966dc38c0fb791454b7940ea5d Mon Sep 17 00:00:00 2001 From: Ujjwal Agrawal Date: Tue, 31 Jul 2018 12:10:55 +0530 Subject: [PATCH 06/10] Removed extra logo --- .../res/drawable-hdpi/ic_person_black_24dp.png | Bin 314 -> 0 bytes .../res/drawable-mdpi/ic_person_black_24dp.png | Bin 215 -> 0 bytes .../res/drawable-xhdpi/ic_person_black_24dp.png | Bin 366 -> 0 bytes .../res/drawable-xxhdpi/ic_person_black_24dp.png | Bin 533 -> 0 bytes .../res/drawable-xxxhdpi/ic_person_black_24dp.png | Bin 748 -> 0 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 app/src/main/res/drawable-hdpi/ic_person_black_24dp.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_person_black_24dp.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png diff --git a/app/src/main/res/drawable-hdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_person_black_24dp.png deleted file mode 100644 index 4a8a6c159b86c5e5e4cd0573a01103541825d2ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmV-A0mc4_P)^ zlsc(zbpD-4#EhBWO%g1y!GR|%p-X41Q-Cc95AIox^Oy09k=Bsl2(lDnqy|Tjtr0Zi z2y!%nE`J%M^OsFIg4!BEb*^i_QHWVVoNE{5Y0voWpe*;cc9&iY=5T{METF@+5Y3ng zVp33nK8#>b+xSJ?&pSHnL7Bc2_-(4egdSl+(*wp({r2|7Xe*yTi12cPCPZ~(O7t8R zA#wLrQ8gw5#}H$r1Ef`gh72*%KqctP7^L)G63k4H2?{;Pj2WGI1FZ0oG;*cVssI20 M07*qoM6N<$f)~)y=2JOWFXO&=$9-d zewX*V!9CaYE-JAPn5y`D^IVvHoF2&DT59NfRGyc!{?nTK)>{Hi?uX=Y_DYEcX`KA1 zZgt#QYtj9lX!lNsx13Xi8nfOwyy8?5Voa60BCEe)!Y|KLHW`^JlOA8*XUcb?@aX9s z3Ww!ZD;_pHH}C#qt3+X|ea^oR?zoyDEwqDQVtbxq<2&#F{Aa%3e$BXfcGLNiqedw} Pmoj*|`njxgN@xNAX8}}( diff --git a/app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png deleted file mode 100644 index d991b0e01342c1db4c70690014d3a84075da6960..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366 zcmV-!0g?WRP){(1Rt-!LzUr!!rg_&ea%xcp?06Ked(U-w;01 z(=_M97zSF_L@#E6qg@RJ<^}~O8Vc+T3T#=x0yBdGV+{p7g92?01xm6d#@R-TTF!zv zTWLqrN$kq?;M(vX@Il*s$d!=@E=-$_#_*?WqAQ2gRvgQMEjok{l{~^aY{7Rpg+APi zzC3$_P51(H8h&J&hS%xiJ*olANrle98vHQ`{g>bHS>ACM3h?U=!A~8*yzTH$aFsy# z$R(`W{PLRw!$+=djl^pT;Ufn&3iv4&SlB2KrYsAvK-vWeA%y&24k_CU3BNz6B>(^b M07*qoM6N<$g32zM*#H0l diff --git a/app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png deleted file mode 100644 index 7a9747527be0701e928d4d14313da2717e301ffa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 533 zcmV+w0_y#VP)OE?iVf6sfDhfp(pf>dw5f-&hU5C*!sBM(!B7!J$p(xWY zo!Ll{*xYgE%>Ti+8D$n9b7$@xwJbsiA%qY@2q9r(8fIY;R$)`D$gvEJg)z(&Jcn&) z|6%7lIT#H~oGn=IAxyWQa6@~XbRS{5-P3&K*e;pWc+aW37^ns#ngX4<7{~Ec)1$m? zAW&P&lPzl?j$>LwprXM*c@2T81_PBf1Zo-#)L@_x1gda}4elm=r6EwpV4#$SKrurb z#g?Ymjhul%Cz{^HqB75ME6xX;(Dp{Z;bNeK)|t@03vqU}PZg6g&*^7bC9IGTk$Fxp zPq&ubkSDDW5|xofUUtO|u`HXwl(xwsA%qa3mmxS0H{qf6{Rf6y_#~UhmROTxozFVI zsU66x%AA}-70WUcD)hO7{%J>DkaI2tHOeA9hR>F{VVPs+N;`sazegE{>+r^dD8E^P zYkpjYtMFlfVYX0gU6g?M0wcfCF875$HX@f!@3bWCvUZVju=$AO;F^AVLTsgb+dqA^+nG XT1%Lg#cEf600000NkvXXu0mjfVh-g~ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png deleted file mode 100644 index 295cb32568fc271b7183b89fbf4659987c3f4a75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 748 zcmVX;$&D6*Z`58Lk7O@#w#Hfcwu9gsU6TF8 z+8meVw*B!eEg@2KFo8ydJOnBJgrrX9n z;bDifBRku9z?k3peZj61R!nQ>z0drW1PQK~hy4O-&fl!pycPf2l;2)pg$n=x0002c z20g}Yp4l_wyYi)cCExjlmp#V(>sP*ijC-`{y?@WFyeDrMx4G9toO^RZ-jtK_jY;-| z%ziGrA@|gOjS_JivtM2{?$M;ON&igPe$85UYW7FM(msYjs4-@iAUPC|V zFa7z5Lf^^P@|OReb1}@^mY*{ae50S_9eE(D;SUBH+q-eExR#~hd;M(VUk<{rchY3w z0q;^q#`#XpmP;{*{~^cW*Ze3?#uk2`U!hhDV%bFYU%8$XDE#Q2v_GH28*Ve&pZP)z z1&kLk{F)On6tGy}0?IKI@T0&5{Enf3YQd!d3ZMWApa2S>01BW03MgU$0000000000 e0000GH~#_2@GKZZTeznH0000 Date: Tue, 31 Jul 2018 12:40:12 +0530 Subject: [PATCH 07/10] Javadocs added --- .../main/java/fr/free/nrw/commons/auth/LoginActivity.java | 4 ++-- .../java/fr/free/nrw/commons/nearby/NearbyActivity.java | 7 +++---- .../fr/free/nrw/commons/nearby/NearbyListFragment.java | 2 +- .../fr/free/nrw/commons/nearby/NearbyMapFragment.java | 8 ++++---- 4 files changed, 10 insertions(+), 11 deletions(-) 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 959317c1f..0660c9043 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 @@ -183,8 +183,8 @@ public class LoginActivity extends AccountAuthenticatorActivity { } if (sessionManager.getCurrentAccount() != null - && sessionManager.isUserLoggedIn() - && sessionManager.getCachedAuthCookie() != null) { + && sessionManager.isUserLoggedIn() + && sessionManager.getCachedAuthCookie() != null) { prefs.edit().putBoolean("login_skipped", false).apply(); sessionManager.revalidateAuthToken(); startMainActivity(); diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java index d49bf0147..0d1db62f1 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java @@ -15,7 +15,6 @@ import android.support.annotation.NonNull; import android.support.design.widget.BottomSheetBehavior; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AlertDialog; - import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -33,9 +32,7 @@ import javax.inject.Named; import butterknife.BindView; import butterknife.ButterKnife; -import fr.free.nrw.commons.CommonsApplication; import fr.free.nrw.commons.R; -import fr.free.nrw.commons.auth.LoginActivity; import fr.free.nrw.commons.location.LatLng; import fr.free.nrw.commons.location.LocationServiceManager; import fr.free.nrw.commons.location.LocationServiceManager.LocationChangeType; @@ -53,8 +50,10 @@ import timber.log.Timber; import uk.co.deanwild.materialshowcaseview.IShowcaseListener; import uk.co.deanwild.materialshowcaseview.MaterialShowcaseView; -import static fr.free.nrw.commons.location.LocationServiceManager.LocationChangeType.*; +import static fr.free.nrw.commons.location.LocationServiceManager.LocationChangeType.LOCATION_SIGNIFICANTLY_CHANGED; +import static fr.free.nrw.commons.location.LocationServiceManager.LocationChangeType.LOCATION_SLIGHTLY_CHANGED; import static fr.free.nrw.commons.location.LocationServiceManager.LocationChangeType.MAP_UPDATED; +import static fr.free.nrw.commons.location.LocationServiceManager.LocationChangeType.PERMISSION_JUST_GRANTED; public class NearbyActivity extends NavigationBaseActivity implements LocationUpdateListener, diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index 8eed81208..0599b4fe2 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -38,7 +38,6 @@ import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static fr.free.nrw.commons.wikidata.WikidataConstants.WIKIDATA_ENTITY_ID_PREF; public class NearbyListFragment extends DaggerFragment { - private Bundle bundleForUpdates; // Carry information from activity about changed nearby places and current location private static final Type LIST_TYPE = new TypeToken>() { @@ -140,6 +139,7 @@ public class NearbyListFragment extends DaggerFragment { } } + @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java index 39a8461d1..97806cd67 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java @@ -384,9 +384,6 @@ public class NearbyMapFragment extends DaggerFragment { .setMessage(R.string.login_alert_message) .setPositiveButton(R.string.login, (dialog, which) -> { // logout of the app -// startActivityWithFlags( getContext(), CategoryImagesActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP, -// Intent.FLAG_ACTIVITY_SINGLE_TOP); -// getActivity().finish(); BaseLogoutListener logoutListener = new BaseLogoutListener(); CommonsApplication app = (CommonsApplication) getActivity().getApplication(); app.clearApplicationData(getContext(), logoutListener); @@ -514,6 +511,9 @@ public class NearbyMapFragment extends DaggerFragment { mapView.setStyleUrl("asset://mapstyle.json"); } + /** + * onLogoutComplete is called after shared preferences and data stored in local database are cleared. + */ private class BaseLogoutListener implements CommonsApplication.LogoutListener { @Override public void onLogoutComplete() { @@ -816,7 +816,7 @@ public class NearbyMapFragment extends DaggerFragment { } private void animateFAB(boolean isFabOpen) { - this.isFabOpen = !isFabOpen; + this.isFabOpen = !isFabOpen; if (fabPlus.isShown()){ if (isFabOpen) { fabPlus.startAnimation(rotate_backward); From 67563e01df60ba8dd5c977003aa345f72a2b575e Mon Sep 17 00:00:00 2001 From: Ujjwal Agrawal Date: Tue, 31 Jul 2018 12:45:13 +0530 Subject: [PATCH 08/10] Changed skip login default value to false --- .../java/fr/free/nrw/commons/theme/NavigationBaseActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 827af6962..c1f1eef2a 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 @@ -71,7 +71,7 @@ public abstract class NavigationBaseActivity extends BaseActivity Menu nav_Menu = navigationView.getMenu(); View headerLayout = navigationView.getHeaderView(0); ImageView userIcon = headerLayout.findViewById(R.id.user_icon); - if (prefs.getBoolean("login_skipped", true)) { + if (prefs.getBoolean("login_skipped", false)) { userIcon.setVisibility(View.GONE); nav_Menu.findItem(R.id.action_login).setVisible(true); nav_Menu.findItem(R.id.action_home).setVisible(false); From 23a195f48657446fb9ef771b7a724524c38f87e1 Mon Sep 17 00:00:00 2001 From: Ujjwal Agrawal Date: Wed, 1 Aug 2018 02:55:07 +0530 Subject: [PATCH 09/10] Share from gallery for not loggedin fixed --- app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java | 1 + .../main/java/fr/free/nrw/commons/upload/ShareActivity.java | 3 +++ 2 files changed, 4 insertions(+) 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 0660c9043..c7565b215 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 @@ -27,6 +27,7 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; +import android.widget.Toast; import java.io.IOException; import java.util.Locale; diff --git a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java index f9f289d33..247c9e422 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java @@ -18,6 +18,7 @@ import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Environment; +import android.os.Handler; import android.support.annotation.NonNull; import android.support.annotation.RequiresApi; import android.support.design.widget.FloatingActionButton; @@ -94,6 +95,7 @@ public class ShareActivity ModifierSequenceDao modifierSequenceDao; @Inject CategoryApi apiCall; + @Inject @Named("application_preferences") SharedPreferences applicationPrefs; @Inject @Named("default_preferences") SharedPreferences prefs; @@ -167,6 +169,7 @@ public class ShareActivity else //Send user to login activity { Toast.makeText(this, "You need to login first!", Toast.LENGTH_SHORT).show(); + applicationPrefs.edit().putBoolean("login_skipped", false).apply(); Intent loginIntent = new Intent(ShareActivity.this, LoginActivity.class); startActivity(loginIntent); } From bf58fcab59e37ed8b4c17b3f16d7b14fabee8586 Mon Sep 17 00:00:00 2001 From: Ujjwal Agrawal Date: Thu, 2 Aug 2018 15:02:23 +0530 Subject: [PATCH 10/10] Fixed upload from gallery --- .../java/fr/free/nrw/commons/upload/ShareActivity.java | 7 ++++++- app/src/main/res/values/strings.xml | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java index 247c9e422..47816e2e6 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java @@ -169,7 +169,6 @@ public class ShareActivity else //Send user to login activity { Toast.makeText(this, "You need to login first!", Toast.LENGTH_SHORT).show(); - applicationPrefs.edit().putBoolean("login_skipped", false).apply(); Intent loginIntent = new Intent(ShareActivity.this, LoginActivity.class); startActivity(loginIntent); } @@ -311,6 +310,12 @@ public class ShareActivity checkIfFileExists(); gpsObj = fileObj.processFileCoordinates(locationPermitted); decimalCoords = fileObj.getDecimalCoords(); + if (sessionManager.getCurrentAccount() == null) { + Toast.makeText(this, getString(R.string.login_alert_message), Toast.LENGTH_SHORT).show(); + applicationPrefs.edit().putBoolean("login_skipped", false).apply(); + Intent loginIntent = new Intent(ShareActivity.this, LoginActivity.class); + startActivity(loginIntent); + } } /** diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cafab6ed8..cf3d4d422 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -250,7 +250,7 @@ Log in Do you really want to skip login? You will not be able to upload pictures. - This feature requires user to be logged in! + Please log in to use this feature Location has not changed. Location not available.