36
36
import com .firebase .ui .auth .ui .ExtraConstants ;
37
37
import com .firebase .ui .auth .ui .FlowParameters ;
38
38
import com .firebase .ui .auth .ui .FragmentBase ;
39
+ import com .firebase .ui .auth .ui .ImeHelper ;
39
40
import com .firebase .ui .auth .util .GoogleApiHelper ;
40
41
import com .google .android .gms .auth .api .Auth ;
41
42
import com .google .android .gms .auth .api .credentials .Credential ;
@@ -56,10 +57,10 @@ public class VerifyPhoneNumberFragment extends FragmentBase implements View.OnCl
56
57
57
58
private Context mAppContext ;
58
59
59
- private CountryListSpinner countryListSpinner ;
60
+ private CountryListSpinner mCountryListSpinner ;
60
61
private EditText mPhoneEditText ;
61
- private TextView errorEditText ;
62
- private Button sendCodeButton ;
62
+ private TextView mErrorEditText ;
63
+ private Button mSendCodeButton ;
63
64
private PhoneVerificationActivity mVerifier ;
64
65
private TextView mSmsTermsText ;
65
66
@@ -88,15 +89,22 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
88
89
89
90
View v = inflater .inflate (R .layout .fui_phone_layout , container , false );
90
91
91
- countryListSpinner = v .findViewById (R .id .country_list );
92
+ mCountryListSpinner = v .findViewById (R .id .country_list );
92
93
mPhoneEditText = v .findViewById (R .id .phone_number );
93
- errorEditText = v .findViewById (R .id .phone_number_error );
94
- sendCodeButton = v .findViewById (R .id .send_code );
94
+ mErrorEditText = v .findViewById (R .id .phone_number_error );
95
+ mSendCodeButton = v .findViewById (R .id .send_code );
95
96
mSmsTermsText = v .findViewById (R .id .send_sms_tos );
96
97
98
+ ImeHelper .setImeOnDoneListener (mPhoneEditText , new ImeHelper .DonePressedListener () {
99
+ @ Override
100
+ public void onDonePressed () {
101
+ onNext ();
102
+ }
103
+ });
104
+
97
105
FragmentActivity parentActivity = getActivity ();
98
106
parentActivity .setTitle (getString (R .string .fui_verify_phone_number_title ));
99
- setUpCountrySpinner ();
107
+ setupCountrySpinner ();
100
108
setupSendCodeButton ();
101
109
setupTerms ();
102
110
@@ -159,24 +167,29 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
159
167
PhoneNumberUtils .getPhoneNumber (formattedPhone );
160
168
setPhoneNumber (phoneNumberObj );
161
169
setCountryCode (phoneNumberObj );
170
+ onNext ();
162
171
}
163
172
}
164
173
}
165
174
}
166
175
167
176
@ Override
168
177
public void onClick (View v ) {
178
+ onNext ();
179
+ }
180
+
181
+ private void onNext () {
169
182
String phoneNumber = getPseudoValidPhoneNumber ();
170
183
if (phoneNumber == null ) {
171
- errorEditText .setText (R .string .fui_invalid_phone_number );
184
+ mErrorEditText .setText (R .string .fui_invalid_phone_number );
172
185
} else {
173
186
mVerifier .verifyPhoneNumber (phoneNumber , false );
174
187
}
175
188
}
176
189
177
190
@ Nullable
178
191
private String getPseudoValidPhoneNumber () {
179
- final CountryInfo countryInfo = (CountryInfo ) countryListSpinner .getTag ();
192
+ final CountryInfo countryInfo = (CountryInfo ) mCountryListSpinner .getTag ();
180
193
final String everythingElse = mPhoneEditText .getText ().toString ();
181
194
182
195
if (TextUtils .isEmpty (everythingElse )) {
@@ -186,18 +199,18 @@ private String getPseudoValidPhoneNumber() {
186
199
return PhoneNumberUtils .formatPhoneNumber (everythingElse , countryInfo );
187
200
}
188
201
189
- private void setUpCountrySpinner () {
202
+ private void setupCountrySpinner () {
190
203
//clear error when spinner is clicked on
191
- countryListSpinner .setOnClickListener (new View .OnClickListener () {
204
+ mCountryListSpinner .setOnClickListener (new View .OnClickListener () {
192
205
@ Override
193
206
public void onClick (View v ) {
194
- errorEditText .setText ("" );
207
+ mErrorEditText .setText ("" );
195
208
}
196
209
});
197
210
}
198
211
199
212
private void setupSendCodeButton () {
200
- sendCodeButton .setOnClickListener (this );
213
+ mSendCodeButton .setOnClickListener (this );
201
214
}
202
215
203
216
private void showPhoneAutoCompleteHint () {
@@ -243,12 +256,12 @@ private void setPhoneNumber(PhoneNumber phoneNumber) {
243
256
244
257
private void setCountryCode (PhoneNumber phoneNumber ) {
245
258
if (PhoneNumber .isCountryValid (phoneNumber )) {
246
- countryListSpinner .setSelectedForCountry (new Locale ("" , phoneNumber .getCountryIso ()),
259
+ mCountryListSpinner .setSelectedForCountry (new Locale ("" , phoneNumber .getCountryIso ()),
247
260
phoneNumber .getCountryCode ());
248
261
}
249
262
}
250
263
251
264
void showError (String e ) {
252
- errorEditText .setText (e );
265
+ mErrorEditText .setText (e );
253
266
}
254
267
}
0 commit comments