Skip to content

Commit f67cdab

Browse files
committed
add verify email menu
1 parent a7aa6ac commit f67cdab

File tree

4 files changed

+28
-0
lines changed

4 files changed

+28
-0
lines changed

app/src/main/java/com/anotherdev/sample/firebase/auth/LoginActivity.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,24 @@ private void startEmailChange() {
206206
});
207207
}
208208

209+
private void startVerifyEmail() {
210+
final FirebaseUser user = firebaseAuth.getCurrentUser();
211+
if (user != null) {
212+
//noinspection ResultOfMethodCallIgnored
213+
user.sendEmailVerification()
214+
.doOnSubscribe(onDestroy::add)
215+
.observeOn(AndroidSchedulers.mainThread())
216+
.doOnSuccess(response -> {
217+
String msg = String.format("Verification email sent to: %s", response.getEmail());
218+
dialog(getString(R.string.verify_email), msg);
219+
})
220+
.doOnError(this::dialog)
221+
.subscribe(Functions.emptyConsumer(), RxUtil.ON_ERROR_LOG_V3);
222+
} else {
223+
dialog(getString(R.string.verify_email), "User signed out");
224+
}
225+
}
226+
209227
private void startPasswordChange() {
210228
FirebaseUser user = firebaseAuth.getCurrentUser();
211229
if (user != null) {
@@ -410,6 +428,9 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) {
410428
} else if (R.id.action_change_email == itemId) {
411429
startEmailChange();
412430
return true;
431+
} else if (R.id.action_verify_email == itemId) {
432+
startVerifyEmail();
433+
return true;
413434
} else if (R.id.action_change_password == itemId) {
414435
startPasswordChange();
415436
return true;
840 Bytes
Loading

app/src/main/res/menu/menu_login.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@
1515
android:title="@string/change_email"
1616
app:showAsAction="ifRoom"/>
1717

18+
<item
19+
android:id="@+id/action_verify_email"
20+
android:icon="@drawable/ic_email_read_white_48dp"
21+
android:title="@string/verify_email"
22+
app:showAsAction="ifRoom"/>
23+
1824
<item
1925
android:id="@+id/action_change_password"
2026
android:icon="@drawable/ic_vpn_key_white_24dp"

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
<string name="edit_profile">Edit Profile</string>
1919
<string name="change_email">Change Email</string>
20+
<string name="verify_email">Verify Email</string>
2021
<string name="change_password">Change Password</string>
2122
<string name="current_password">Current Password</string>
2223
<string name="new_password">New Password</string>

0 commit comments

Comments
 (0)