From ad485b27b26ffb38b8718940b0b7556b902dc28c Mon Sep 17 00:00:00 2001 From: Alex Forcier Date: Fri, 14 Jun 2019 11:31:42 -0400 Subject: [PATCH] Squashed 'libs/login/' changes from f52c56b481..78c5307f7a 78c5307f7a Merge pull request #16 from wordpress-mobile/fix_crash_in_login_email_fragment edd8684ec4 Merge pull request #18 from wordpress-mobile/new-wpandroid-changes 71729e5e76 Merge pull request #17 from wordpress-mobile/issue/glide-4.9 aabdedf672 Merge commit '099b5a011d32283eb6c79b0e599b5272a597e849' into update-login-library 1eb7f4f156 Updated Glide to 4.9.0 a32cc8c09d Add crash fix to SignupEmailFragment 08109fa90f Adds non-null check to onActivityResult 664b67f62d Fix #9826: make sure we Play Services are available before running the email hint picker 94a0ae2a39 Merge pull request #9743 from wordpress-mobile/feature/manage_insights_readonly 7cad17e264 Fix a few ContentDescription lint errors 9f171b55d0 Merge branch 'feature/manage_insights_readonly' into issue/9464-manage-insights 663a168903 Add the missing drawable resources git-subtree-dir: libs/login git-subtree-split: 78c5307f7a8a15cae1a164e4cbb0b7b924a37d37 --- WordPressLoginFlow/build.gradle | 4 ++-- .../wordpress/android/login/LoginEmailFragment.java | 7 +++++++ .../wordpress/android/login/SignupEmailFragment.java | 11 +++++++++++ .../src/main/res/drawable/shape_oval_green.xml | 4 ++++ .../src/main/res/drawable/shape_oval_red.xml | 4 ++++ .../layout-land/login_magic_link_request_screen.xml | 1 + .../res/layout/login_magic_link_request_screen.xml | 1 + .../res/layout/login_username_password_screen.xml | 2 ++ 8 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 WordPressLoginFlow/src/main/res/drawable/shape_oval_green.xml create mode 100644 WordPressLoginFlow/src/main/res/drawable/shape_oval_red.xml diff --git a/WordPressLoginFlow/build.gradle b/WordPressLoginFlow/build.gradle index 2e67d681283c..4539b7b12211 100644 --- a/WordPressLoginFlow/build.gradle +++ b/WordPressLoginFlow/build.gradle @@ -57,8 +57,8 @@ dependencies { } } - implementation 'com.github.bumptech.glide:glide:4.6.1' - annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1' + implementation 'com.github.bumptech.glide:glide:4.9.0' + annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0' // Dagger implementation 'com.google.dagger:dagger:2.11' diff --git a/WordPressLoginFlow/src/main/java/org/wordpress/android/login/LoginEmailFragment.java b/WordPressLoginFlow/src/main/java/org/wordpress/android/login/LoginEmailFragment.java index 65d8d3a9fae1..b00b63b0fe78 100644 --- a/WordPressLoginFlow/src/main/java/org/wordpress/android/login/LoginEmailFragment.java +++ b/WordPressLoginFlow/src/main/java/org/wordpress/android/login/LoginEmailFragment.java @@ -27,6 +27,7 @@ import com.google.android.gms.auth.api.credentials.CredentialPickerConfig; import com.google.android.gms.auth.api.credentials.HintRequest; import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.GoogleApiAvailability; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks; import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener; @@ -424,6 +425,12 @@ public void onConnectionSuspended(int i) { } public void getEmailHints() { + GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance(); + if (getContext() == null + || googleApiAvailability.isGooglePlayServicesAvailable(getContext()) != ConnectionResult.SUCCESS) { + AppLog.w(T.NUX, LOG_TAG + ": Couldn't start hint picker - Play Services unavailable"); + return; + } HintRequest hintRequest = new HintRequest.Builder() .setHintPickerConfig(new CredentialPickerConfig.Builder() .setShowCancelButton(true) diff --git a/WordPressLoginFlow/src/main/java/org/wordpress/android/login/SignupEmailFragment.java b/WordPressLoginFlow/src/main/java/org/wordpress/android/login/SignupEmailFragment.java index 5e50f56a13dd..ad667dfcf5e3 100644 --- a/WordPressLoginFlow/src/main/java/org/wordpress/android/login/SignupEmailFragment.java +++ b/WordPressLoginFlow/src/main/java/org/wordpress/android/login/SignupEmailFragment.java @@ -24,6 +24,7 @@ import com.google.android.gms.auth.api.credentials.CredentialPickerConfig; import com.google.android.gms.auth.api.credentials.HintRequest; import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.GoogleApiAvailability; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks; import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener; @@ -296,6 +297,12 @@ public void onConnectionSuspended(int i) { } public void getEmailHints() { + GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance(); + if (getContext() == null + || googleApiAvailability.isGooglePlayServicesAvailable(getContext()) != ConnectionResult.SUCCESS) { + AppLog.w(T.NUX, LOG_TAG + ": Couldn't start hint picker - Play Services unavailable"); + return; + } HintRequest hintRequest = new HintRequest.Builder() .setHintPickerConfig(new CredentialPickerConfig.Builder() .setShowCancelButton(true) @@ -317,6 +324,10 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == EMAIL_CREDENTIALS_REQUEST_CODE) { + if (mEmailInput == null) { + // Activity result received before the fragments onCreateView(), disregard result. + return; + } if (resultCode == RESULT_OK) { Credential credential = data.getParcelableExtra(Credential.EXTRA_KEY); mEmailInput.getEditText().setText(credential.getId()); diff --git a/WordPressLoginFlow/src/main/res/drawable/shape_oval_green.xml b/WordPressLoginFlow/src/main/res/drawable/shape_oval_green.xml new file mode 100644 index 000000000000..de3dbf83a696 --- /dev/null +++ b/WordPressLoginFlow/src/main/res/drawable/shape_oval_green.xml @@ -0,0 +1,4 @@ + + + + diff --git a/WordPressLoginFlow/src/main/res/drawable/shape_oval_red.xml b/WordPressLoginFlow/src/main/res/drawable/shape_oval_red.xml new file mode 100644 index 000000000000..c04efe4258dc --- /dev/null +++ b/WordPressLoginFlow/src/main/res/drawable/shape_oval_red.xml @@ -0,0 +1,4 @@ + + + + diff --git a/WordPressLoginFlow/src/main/res/layout-land/login_magic_link_request_screen.xml b/WordPressLoginFlow/src/main/res/layout-land/login_magic_link_request_screen.xml index c72640221b8a..3a99b4023af4 100644 --- a/WordPressLoginFlow/src/main/res/layout-land/login_magic_link_request_screen.xml +++ b/WordPressLoginFlow/src/main/res/layout-land/login_magic_link_request_screen.xml @@ -20,6 +20,7 @@ diff --git a/WordPressLoginFlow/src/main/res/layout/login_magic_link_request_screen.xml b/WordPressLoginFlow/src/main/res/layout/login_magic_link_request_screen.xml index a7e4be5d3b18..d04cfe07778e 100644 --- a/WordPressLoginFlow/src/main/res/layout/login_magic_link_request_screen.xml +++ b/WordPressLoginFlow/src/main/res/layout/login_magic_link_request_screen.xml @@ -27,6 +27,7 @@ diff --git a/WordPressLoginFlow/src/main/res/layout/login_username_password_screen.xml b/WordPressLoginFlow/src/main/res/layout/login_username_password_screen.xml index 1776cc2cd3b6..d3bbe6719645 100644 --- a/WordPressLoginFlow/src/main/res/layout/login_username_password_screen.xml +++ b/WordPressLoginFlow/src/main/res/layout/login_username_password_screen.xml @@ -28,6 +28,7 @@