Skip to content

Commit 4fd9374

Browse files
Vivek Maskaraashishkumar468
authored andcommitted
Fix 2FA login (#3170)
1 parent 533ba60 commit 4fd9374

File tree

5 files changed

+28
-19
lines changed

5 files changed

+28
-19
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ dependencies {
3030
implementation 'com.facebook.fresco:fresco:1.13.0'
3131
implementation 'com.drewnoakes:metadata-extractor:2.11.0'
3232
implementation 'org.apache.commons:commons-lang3:3.8.1'
33-
implementation 'com.github.maskaravivek:wikimedia-android-data-client:v0.0.27'
33+
implementation 'com.github.maskaravivek:wikimedia-android-data-client:v0.0.28'
3434

3535
// UI
3636
implementation 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar'

app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
package fr.free.nrw.commons.auth;
22

3-
import static android.view.KeyEvent.KEYCODE_ENTER;
4-
import static android.view.View.VISIBLE;
5-
import static android.view.inputmethod.EditorInfo.IME_ACTION_DONE;
6-
import static fr.free.nrw.commons.di.NetworkingModule.NAMED_COMMONS_WIKI_SITE;
7-
83
import android.accounts.AccountAuthenticatorActivity;
94
import android.app.ProgressDialog;
105
import android.content.Context;
@@ -18,9 +13,11 @@
1813
import android.view.MenuItem;
1914
import android.view.View;
2015
import android.view.ViewGroup;
16+
import android.view.inputmethod.InputMethodManager;
2117
import android.widget.Button;
2218
import android.widget.EditText;
2319
import android.widget.TextView;
20+
2421
import androidx.annotation.ColorRes;
2522
import androidx.annotation.NonNull;
2623
import androidx.annotation.Nullable;
@@ -29,12 +26,25 @@
2926
import androidx.appcompat.app.AppCompatDelegate;
3027
import androidx.core.app.NavUtils;
3128
import androidx.core.content.ContextCompat;
29+
30+
import com.google.android.material.textfield.TextInputLayout;
31+
32+
import org.wikipedia.AppAdapter;
33+
import org.wikipedia.dataclient.ServiceFactory;
34+
import org.wikipedia.dataclient.WikiSite;
35+
import org.wikipedia.dataclient.mwapi.MwQueryResponse;
36+
import org.wikipedia.login.LoginClient;
37+
import org.wikipedia.login.LoginClient.LoginCallback;
38+
import org.wikipedia.login.LoginResult;
39+
40+
import javax.inject.Inject;
41+
import javax.inject.Named;
42+
3243
import butterknife.BindView;
3344
import butterknife.ButterKnife;
3445
import butterknife.OnClick;
3546
import butterknife.OnEditorAction;
3647
import butterknife.OnFocusChange;
37-
import com.google.android.material.textfield.TextInputLayout;
3848
import fr.free.nrw.commons.BuildConfig;
3949
import fr.free.nrw.commons.R;
4050
import fr.free.nrw.commons.Utils;
@@ -47,20 +57,16 @@
4757
import fr.free.nrw.commons.utils.ConfigUtils;
4858
import fr.free.nrw.commons.utils.ViewUtil;
4959
import io.reactivex.disposables.CompositeDisposable;
50-
import javax.inject.Inject;
51-
import javax.inject.Named;
52-
import org.wikipedia.AppAdapter;
53-
import org.wikipedia.dataclient.ServiceFactory;
54-
import org.wikipedia.dataclient.WikiSite;
55-
import org.wikipedia.dataclient.mwapi.MwQueryResponse;
56-
import org.wikipedia.login.LoginClient;
57-
import org.wikipedia.login.LoginClient.LoginCallback;
58-
import org.wikipedia.login.LoginResult;
5960
import retrofit2.Call;
6061
import retrofit2.Callback;
6162
import retrofit2.Response;
6263
import timber.log.Timber;
6364

65+
import static android.view.KeyEvent.KEYCODE_ENTER;
66+
import static android.view.View.VISIBLE;
67+
import static android.view.inputmethod.EditorInfo.IME_ACTION_DONE;
68+
import static fr.free.nrw.commons.di.NetworkingModule.NAMED_COMMONS_WIKI_SITE;
69+
6470
public class LoginActivity extends AccountAuthenticatorActivity {
6571

6672
@Inject
@@ -383,6 +389,9 @@ public void askUserForTwoFactorAuth() {
383389
progressDialog.dismiss();
384390
twoFactorContainer.setVisibility(VISIBLE);
385391
twoFactorEdit.setVisibility(VISIBLE);
392+
twoFactorEdit.requestFocus();
393+
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
394+
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
386395
showMessageAndCancelDialog(R.string.login_failed_2fa_needed);
387396
}
388397

app/src/main/res/layout-land/activity_login.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@
150150
android:layout_height="wrap_content"
151151
android:hint="@string/_2fa_code"
152152
android:imeOptions="flagNoExtractUi"
153-
android:inputType="textNoSuggestions"
153+
android:inputType="number"
154154
android:visibility="gone"
155155
tools:visibility="visible" />
156156

app/src/main/res/layout-xlarge/activity_login.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@
151151
android:layout_height="wrap_content"
152152
android:hint="@string/_2fa_code"
153153
android:imeOptions="flagNoExtractUi"
154-
android:inputType="textNoSuggestions"
154+
android:inputType="number"
155155
android:visibility="gone"
156156
tools:visibility="visible" />
157157

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@
156156
android:layout_height="wrap_content"
157157
android:hint="@string/_2fa_code"
158158
android:imeOptions="flagNoExtractUi"
159-
android:inputType="textNoSuggestions"
159+
android:inputType="number"
160160
android:visibility="gone"
161161
tools:visibility="visible" />
162162

0 commit comments

Comments
 (0)