Skip to content

Commit 530fbc9

Browse files
anhanh11001iamareebjamal
authored andcommitted
fix: crash on sign up (#1924)
Details: - Move hint from TextInputEditText to TextInputLayout due to an Android bug that create a crash - Add check so that when clicking on Google Auth in LoginFragment, it doesn't redirect back to AuthFragment Fixes: #1922
1 parent 981d72c commit 530fbc9

File tree

3 files changed

+15
-16
lines changed

3 files changed

+15
-16
lines changed

app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,16 @@ class LoginFragment : Fragment() {
7070

7171
if (safeArgs.email.isNotEmpty()) {
7272
rootView.email.text = SpannableStringBuilder(safeArgs.email)
73+
rootView.email.addTextChangedListener(object : TextWatcher {
74+
override fun afterTextChanged(s: Editable) {
75+
if (s.toString() != safeArgs.email)
76+
findNavController(rootView).navigate(LoginFragmentDirections
77+
.actionLoginToAuthPop(redirectedFrom = safeArgs.redirectedFrom, email = s.toString()))
78+
}
79+
80+
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) { /*Do Nothing*/ }
81+
override fun onTextChanged(email: CharSequence, start: Int, before: Int, count: Int) { /*Do Nothing*/ }
82+
})
7383
} else if (BuildConfig.FLAVOR == PLAY_STORE_BUILD_FLAVOR) {
7484

7585
smartAuthViewModel.requestCredentials(SmartAuthUtil.getCredentialsClient(requireActivity()))
@@ -122,18 +132,6 @@ class LoginFragment : Fragment() {
122132
loginViewModel.fetchProfile()
123133
})
124134

125-
rootView.email.addTextChangedListener(object : TextWatcher {
126-
override fun afterTextChanged(s: Editable) {
127-
findNavController(rootView).navigate(LoginFragmentDirections
128-
.actionLoginToAuthPop(redirectedFrom = safeArgs.redirectedFrom, email = s.toString()))
129-
}
130-
131-
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}
132-
133-
override fun onTextChanged(email: CharSequence, start: Int, before: Int, count: Int) {
134-
}
135-
})
136-
137135
rootView.password.addTextChangedListener(object : TextWatcher {
138136
override fun afterTextChanged(s: Editable) {}
139137

app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,9 @@ class SignUpFragment : Fragment() {
162162

163163
rootView.emailSignUp.addTextChangedListener(object : TextWatcher {
164164
override fun afterTextChanged(text: Editable?) {
165-
findNavController(rootView).navigate(SignUpFragmentDirections
166-
.actionSignupToAuthPop(redirectedFrom = safeArgs.redirectedFrom, email = text.toString()))
165+
if (text.toString() != safeArgs.email)
166+
findNavController(rootView).navigate(SignUpFragmentDirections
167+
.actionSignupToAuthPop(redirectedFrom = safeArgs.redirectedFrom, email = text.toString()))
167168
}
168169

169170
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) { /*Implement here*/ }

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
android:layout_width="match_parent"
3232
android:layout_height="wrap_content"
3333
android:layout_marginBottom="@dimen/padding_medium"
34-
android:layout_marginTop="@dimen/padding_medium">
34+
android:layout_marginTop="@dimen/padding_medium"
35+
android:hint="@string/email">
3536

3637
<com.google.android.material.textfield.TextInputEditText
3738
android:id="@+id/emailSignUp"
@@ -40,7 +41,6 @@
4041
android:drawableLeft="@drawable/ic_email_black"
4142
android:drawablePadding="@dimen/layout_margin_moderate"
4243
android:drawableStart="@drawable/ic_email_black"
43-
android:hint="@string/email"
4444
android:inputType="textEmailAddress" />
4545
</com.google.android.material.textfield.TextInputLayout>
4646

0 commit comments

Comments
 (0)