A mobile app that is connected to firebase firestore. App crashes every time I try to send an OTP code to mobile.
Signup3rdClass.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_up3rd_class);
scrollView = findViewById(R.id.signup_3rd_screen_scroll_view);
countryCodePicker = findViewById(R.id.country_code_picker);
phoneNumber = findViewById(R.id.signup_phone_number);
}
public void callVerifyOTPScreen(View view){
if(!validatePhoneNumber()) {
return;
}
String _fullName = getIntent().getStringExtra("fullName");
String _userName = getIntent().getStringExtra("userName");
String _email = getIntent().getStringExtra("email");
String _password = getIntent().getStringExtra("password");
String _gender = getIntent().getStringExtra("gender");
String _dob= getIntent().getStringExtra("dob");
String _userType= getIntent().getStringExtra("userType");
String _getUserEnteredPhoneNumber = phoneNumber.getEditText().getText().toString().trim();
String _phoneNo = "+"+countryCodePicker.getFullNumber()+_getUserEnteredPhoneNumber;
String _phoneNo = "+"+ countryCodePicker.getFullNumber() +_getUserEnteredPhoneNumber;
Intent intent = new Intent(getApplicationContext(), VerifyOTP.class);
intent.putExtra("fullName", _fullName);
intent.putExtra("userName", _userName);
intent.putExtra("email", _email);
intent.putExtra("password", _password);
intent.putExtra("gender", _gender);
intent.putExtra("dob", _dob);
intent.putExtra("userType", _userType);
intent.putExtra("phoneNo", _phoneNo);
startActivity(intent);
}
private boolean validatePhoneNumber(){
String val = phoneNumber.getEditText().getText().toString().trim();
String checkPhoneNumber = "\\A\\w{1,20}\\z";
String checkLetters = "[a-zA-Z]";
if (val.isEmpty()) {
phoneNumber.setError("Field can not be empty");
return false;
} else if (!(val.length() >= 11 && val.length() <= 13)) {
phoneNumber.setError("Incorrect Phone Number's Length");
return false;
} else if (val.matches(checkLetters)) {
phoneNumber.setError("No letters are allowed!");
return false;
}else if (!val.matches(checkPhoneNumber)) {
phoneNumber.setError("No White spaces are allowed!");
return false;
}else if(!PhoneNumberUtils.isGlobalPhoneNumber(val)){
phoneNumber.setError("Invalid Phone Number!");
return false;
}
else {
phoneNumber.setError(null);
phoneNumber.setErrorEnabled(false);
return true;
}
}
}
activity_sign-up3rd_class.xml
<com.hbb20.CountryCodePicker
android:id="@+id/country_code_picker"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:ccp_autoDetectCountry="true"
app:ccp_showFlag="true"
app:ccp_showNameCode="true"
app:ccp_defaultPhoneCode="92"
android:padding="5dp"
app:ccp_showFullName="true"
android:background="@drawable/black_border"/>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/signup_phone_number"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/enter_phone_number"
android:textColorHint="@color/black"
app:boxStrokeColor="@color/black"
app:boxStrokeWidthFocused="2dp"
app:endIconMode="clear_text"
app:endIconTint="@color/black"
app:hintTextColor="@color/black"
app:startIconDrawable="@drawable/field_phone_no_icon"
app:startIconTint="@color/black">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="phone"/>
</com.google.android.material.textfield.TextInputLayout>
VerifyOTP
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_verify_otp);
pinFromUser = findViewById(R.id.pin_view);
progressBar = findViewById(R.id.progress_bar);
progressBar.setVisibility(View.GONE);
firebaseAuth = FirebaseAuth.getInstance();
firebaseFirestore = FirebaseFirestore.getInstance();
fullName = getIntent().getStringExtra("fullName");
userName = getIntent().getStringExtra("userName");
email = getIntent().getStringExtra("email");
password = getIntent().getStringExtra("password");
gender = getIntent().getStringExtra("gender");
dob = getIntent().getStringExtra("dob");
userType = getIntent().getStringExtra("userType");
phoneNo = getIntent().getStringExtra("phoneNo");
whatToDo = getIntent().getStringExtra("whatToDo");
sendVerificationCodeToUser(phoneNo);
}
private void sendVerificationCodeToUser(String phoneNo) {
//FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
PhoneAuthOptions options =
PhoneAuthOptions.newBuilder(firebaseAuth)
.setPhoneNumber("+92" + phoneNo)
.setTimeout(60L, TimeUnit.SECONDS)
.setActivity((Activity) TaskExecutors.MAIN_THREAD)
.setCallbacks(mCallbacks)
.build();
PhoneAuthProvider.verifyPhoneNumber(options);
}
private PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks =
new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onCodeSent(@NonNull String s, @NonNull PhoneAuthProvider.ForceResendingToken forceResendingToken) {
super.onCodeSent(s, forceResendingToken);
codeBySystem = s;
}
@Override
public void onVerificationCompleted(@NonNull PhoneAuthCredential phoneAuthCredential) {
String code = phoneAuthCredential.getSmsCode();
if (code != null) {
progressBar.setVisibility(View.VISIBLE);
pinFromUser.setText(code);
verifyCode(code);
}
}
@Override
public void onVerificationFailed(@NonNull FirebaseException e) {
Toast.makeText(VerifyOTP.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
};
private void verifyCode(String code) {
PhoneAuthCredential credential = PhoneAuthProvider.getCredential(codeBySystem, code);
signInWithPhoneAuthCredential(credential);
}
private void signInWithPhoneAuthCredential(PhoneAuthCredential credential) {
firebaseAuth.signInWithCredential(credential)
.addOnCompleteListener(VerifyOTP.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
if (whatToDo.equals("updateData")) {
updateOldUsersData();
} else {
storeNewUsersData();
if(userType == "Teacher"){
Intent intent = new Intent(getApplicationContext(), TeacherDashboard.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
} else if(userType == "Student"){
Intent intent = new Intent(getApplicationContext(), StudentDashboard.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
}
} else {
Toast.makeText(VerifyOTP.this, task.getException().getMessage(), Toast.LENGTH_SHORT).show();
if (task.getException() instanceof FirebaseAuthInvalidCredentialsException) {
Toast.makeText(VerifyOTP.this, "Verification Not Completed! Try Again", Toast.LENGTH_SHORT).show();
}
}
}
});
}
private void updateOldUsersData() {
Intent intent = new Intent(getApplicationContext(), SetNewPassword.class);
intent.putExtra("phoneNo", phoneNo);
startActivity(intent);
finish();
}
private void storeNewUsersData() {
DocumentReference documentReference = firebaseFirestore.collection("User").document(phoneNo);
StudentHelperClass addNewStudent = new StudentHelperClass(fullName, userName, email, password, gender, dob, userType, phoneNo);
documentReference.set(addNewStudent).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful())
{
Toast.makeText(VerifyOTP.this, "Data Saved Successfully", Toast.LENGTH_SHORT).show();
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(VerifyOTP.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
public void callNextScreenFromOTP(View view) {
String code = pinFromUser.getText().toString();
if (!code.isEmpty()) {
progressBar.setVisibility(View.VISIBLE);
verifyCode(code);
} else if((code.isEmpty() || code.length() < 6)){
pinFromUser.setError("Wrong OTP...");
pinFromUser.requestFocus();
return;
}
}
logcat
2022-04-19 20:58:12.057 30154-31008/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-922x126f1u256m2-30154-0](id:75ca00000000,api:0,p:-1,c:30154) disconnect: not connected (req=1)
2022-04-19 20:58:12.061 30154-31008/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-04-19 20:58:12.062 30154-31008/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-63x63f1u256m2-30154-1](id:75ca00000001,api:0,p:-1,c:30154) disconnect: not connected (req=1)
2022-04-19 20:58:12.066 30154-31008/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-04-19 20:58:12.066 30154-31008/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-910x172f1u256m2-30154-2](id:75ca00000002,api:0,p:-1,c:30154) disconnect: not connected (req=1)
2022-04-19 20:58:12.070 30154-31008/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-04-19 20:58:12.071 30154-31008/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-922x126f1u256m2-30154-3](id:75ca00000003,api:0,p:-1,c:30154) disconnect: not connected (req=1)
2022-04-19 20:58:18.150 30154-31008/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-04-19 20:58:18.150 30154-31008/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-922x126f1u256m2-30154-4](id:75ca00000004,api:0,p:-1,c:30154) disconnect: not connected (req=1)
2022-04-19 20:58:18.155 30154-31008/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-04-19 20:58:18.155 30154-31008/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-63x63f1u256m2-30154-5](id:75ca00000005,api:0,p:-1,c:30154) disconnect: not connected (req=1)
2022-04-19 20:58:18.159 30154-31008/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-04-19 20:58:18.160 30154-31008/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-910x172f1u256m2-30154-6](id:75ca00000006,api:0,p:-1,c:30154) disconnect: not connected (req=1)
2022-04-19 20:58:18.163 30154-31008/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-04-19 20:58:18.164 30154-31008/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-922x126f1u256m2-30154-7](id:75ca00000007,api:0,p:-1,c:30154) disconnect: not connected (req=1)
2022-04-19 20:58:24.882 30154-30154/com.learning.kidslearningzone E/CCP: getFullNumber: Could not parse number
2022-04-19 20:58:24.885 30154-30154/com.learning.kidslearningzone E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.learning.kidslearningzone, PID: 30154
java.lang.IllegalStateException: Could not execute method for android:onClick
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:446)
at android.view.View.performClick(View.java:8160)
at android.widget.TextView.performClick(TextView.java:16222)
at android.view.View.performClickInternal(View.java:8137)
at android.view.View.access$3700(View.java:888)
at android.view.View$PerformClick.run(View.java:30236)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:441)
at android.view.View.performClick(View.java:8160)
at android.widget.TextView.performClick(TextView.java:16222)
at android.view.View.performClickInternal(View.java:8137)
at android.view.View.access$3700(View.java:888)
at android.view.View$PerformClick.run(View.java:30236)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
at com.hbb20.CountryCodePicker.getFullNumber(CountryCodePicker.java:1880)
at com.learning.kidslearningzone.Common.LoginSignup.SignUp3rdClass.callVerifyOTPScreen(SignUp3rdClass.java:59)
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:441)
at android.view.View.performClick(View.java:8160)
at android.widget.TextView.performClick(TextView.java:16222)
at android.view.View.performClickInternal(View.java:8137)
at android.view.View.access$3700(View.java:888)
at android.view.View$PerformClick.run(View.java:30236)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
someone told me that there is a problem in the country code picker library, so I changed the library but still, it crashes.
Signup3rdClass.java
<com.rilixtech.widget.countrycodepicker.CountryCodePicker
android:id="@+id/country_code_picker"
android:layout_width="match_parent"
android:layout_height="50dp"
app:ccp_autoDetectCountry="true"
app:ccp_showFlag="true"
app:ccp_showNameCode="true"
app:ccp_defaultPhoneCode="92"
android:padding="5dp"
app:ccp_showFullName="true"
android:background="@drawable/black_border" />
logcat
2022-05-15 02:28:51.426 19040-20402/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:28:51.427 19040-20402/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-922x126f1u256m2-19040-1](id:4a6000000001,api:0,p:-1,c:19040) disconnect: not connected (req=1)
2022-05-15 02:28:51.431 19040-20402/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:28:51.431 19040-20402/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-63x63f1u256m2-19040-2](id:4a6000000002,api:0,p:-1,c:19040) disconnect: not connected (req=1)
2022-05-15 02:28:51.435 19040-20402/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:28:51.436 19040-20402/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-910x172f1u256m2-19040-3](id:4a6000000003,api:0,p:-1,c:19040) disconnect: not connected (req=1)
2022-05-15 02:28:51.439 19040-20402/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:28:51.439 19040-20402/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-922x126f1u256m2-19040-4](id:4a6000000004,api:0,p:-1,c:19040) disconnect: not connected (req=1)
2022-05-15 02:28:56.911 19040-20402/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:28:56.912 19040-20402/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-922x126f1u256m2-19040-5](id:4a6000000005,api:0,p:-1,c:19040) disconnect: not connected (req=1)
2022-05-15 02:28:56.916 19040-20402/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:28:56.916 19040-20402/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-63x63f1u256m2-19040-6](id:4a6000000006,api:0,p:-1,c:19040) disconnect: not connected (req=1)
2022-05-15 02:28:56.920 19040-20402/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:28:56.921 19040-20402/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-910x172f1u256m2-19040-7](id:4a6000000007,api:0,p:-1,c:19040) disconnect: not connected (req=1)
2022-05-15 02:28:56.925 19040-20402/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:28:56.926 19040-20402/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-922x126f1u256m2-19040-8](id:4a6000000008,api:0,p:-1,c:19040) disconnect: not connected (req=1)
2022-05-15 02:29:04.244 19040-19040/com.learning.kidslearningzone E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.learning.kidslearningzone, PID: 19040
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.learning.kidslearningzone/com.learning.kidslearningzone.Common.LoginSignup.VerifyOTP}: java.lang.ClassCastException: com.google.android.gms.tasks.zzu cannot be cast to android.app.Activity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3835)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4011)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2325)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
Caused by: java.lang.ClassCastException: com.google.android.gms.tasks.zzu cannot be cast to android.app.Activity
at com.learning.kidslearningzone.Common.LoginSignup.VerifyOTP.sendVerificationCodeToUser(VerifyOTP.java:86)
at com.learning.kidslearningzone.Common.LoginSignup.VerifyOTP.onCreate(VerifyOTP.java:76)
at android.app.Activity.performCreate(Activity.java:8207)
at android.app.Activity.performCreate(Activity.java:8191)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3808)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4011)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2325)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
2022-05-15 02:29:10.407 19272-20632/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:29:10.407 19272-20632/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-922x126f1u256m2-19272-0](id:4b4800000000,api:0,p:-1,c:19272) disconnect: not connected (req=1)
2022-05-15 02:29:10.411 19272-20632/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:29:10.411 19272-20632/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-63x63f1u256m2-19272-1](id:4b4800000001,api:0,p:-1,c:19272) disconnect: not connected (req=1)
2022-05-15 02:29:10.415 19272-20632/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:29:10.416 19272-20632/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-910x172f1u256m2-19272-2](id:4b4800000002,api:0,p:-1,c:19272) disconnect: not connected (req=1)
2022-05-15 02:29:10.420 19272-20632/com.learning.kidslearningzone E/FrameEvents: updateAcquireFence: Did not find frame.
2022-05-15 02:29:10.420 19272-20632/com.learning.kidslearningzone E/BufferQueueProducer: [ImageReader-922x126f1u256m2-19272-3](id:4b4800000003,api:0,p:-1,c:19272) disconnect: not connected (req=1)
2022-05-15 02:29:18.472 19272-19272/com.learning.kidslearningzone E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.learning.kidslearningzone, PID: 19272
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.learning.kidslearningzone/com.learning.kidslearningzone.Common.LoginSignup.VerifyOTP}: java.lang.ClassCastException: com.google.android.gms.tasks.zzu cannot be cast to android.app.Activity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3835)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4011)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2325)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
Caused by: java.lang.ClassCastException: com.google.android.gms.tasks.zzu cannot be cast to android.app.Activity
at com.learning.kidslearningzone.Common.LoginSignup.VerifyOTP.sendVerificationCodeToUser(VerifyOTP.java:86)
at com.learning.kidslearningzone.Common.LoginSignup.VerifyOTP.onCreate(VerifyOTP.java:76)
at android.app.Activity.performCreate(Activity.java:8207)
at android.app.Activity.performCreate(Activity.java:8191)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3808)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4011)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2325)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
I don't know what is causing the app to crash whenever I press the "Next" button after entering the phone number. It didn't display the verify_OTP screen.