0

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.

Saadia
  • 15
  • 3
  • The error message is `Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference`, so it seems that you haven't initialized a variable that you're dereferencing. Check the guidance in the question/answer I linked to learn how to fix such issues. – Frank van Puffelen May 15 '22 at 03:26
  • @FrankvanPuffelen I didn't find the link you provided??? – Saadia May 15 '22 at 16:25
  • @FrankvanPuffelen and you are telling about that error by seeing the later logcat, not the earlier mentioned logcat right?? – Saadia May 15 '22 at 16:26
  • No, I only checked the first error message in your question. I recommend focusing your post on a single problem. But I also recommend searching for the error message you get, as I think that `ClassCastException` in the second one has also been covered before. – Frank van Puffelen May 16 '22 at 00:03

0 Answers0