android中的StackOverflowerr在上载到存储时出错

android中的StackOverflowerr在上载到存储时出错,android,firebase,firebase-authentication,stack-overflow,Android,Firebase,Firebase Authentication,Stack Overflow,致命异常:主 进程:com.appmaster.akash.messageplus,PID:10668 java.lang.StackOverflower错误:堆栈大小为8MB 位于java.lang.reflect.Method.invoke(本机方法) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:128) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.goog

致命异常:主 进程:com.appmaster.akash.messageplus,PID:10668 java.lang.StackOverflower错误:堆栈大小为8MB 位于java.lang.reflect.Method.invoke(本机方法) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:128) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0) 网址:com.google.android.gms.internal.zzeas.zzbu(未知来源:132) 位于com.google.android.gms.internal.zzear.zzbq(未知来源:263) 位于com.google.android.gms.internal.zzear.zzbt(未知来源:0)
 public class MainActivity extends AppCompatActivity implements GoogleApiClient.OnConnectionFailedListener {

private ImageView photoImageView;
private TextView nameTextView;
private TextView emailTextView;
private TextView idTextView;
private String UID;

FirebaseUser user;

String downloadUrl;
private GoogleApiClient googleApiClient;
private FirebaseAuth mAuth;
private String mEmail;
SubmitButton save;
private StorageReference mStorage;

private FirebaseUser current_user;
private DatabaseReference mDatabaseReference;
private FirebaseAuth firebaseAuth;
private FirebaseAuth.AuthStateListener firebaseAuthListener;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    FirebaseDatabase.getInstance().setPersistenceEnabled(true);



    mAuth = FirebaseAuth.getInstance();
    current_user = mAuth.getCurrentUser();
    save = (SubmitButton) findViewById(R.id.save);

    save.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, HomeScreen.class);
            startActivity(intent);
            finish();
        }
    });



    SharedPreferences sp = getSharedPreferences("com.appmaster.akash.messageplus", Context.MODE_PRIVATE);
    boolean hasUsername = sp.getBoolean("signed_in", false);

    if (hasUsername) {
        Intent intent = new Intent(MainActivity.this, HomeScreen.class);
        startActivity(intent);
        finish();
    }




    photoImageView = (ImageView) findViewById(R.id.imageView);
    nameTextView = (TextView) findViewById(R.id.name);
    emailTextView = (TextView) findViewById(R.id.email);



    GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail()
            .build();

    googleApiClient = new GoogleApiClient.Builder(this)
            .enableAutoManage(this, this)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .build();

    firebaseAuth = FirebaseAuth.getInstance();
    firebaseAuthListener = new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            user = FirebaseAuth.getInstance().getCurrentUser();
            if (user != null) {
                loadUserInformation(user);
            } else {
                goLogInScreen();
            }
        }
    };

}

private void addData() {

    HashMap<String, Object> userMap = new HashMap<>();
    userMap.put("Name", current_user.getPhotoUrl());
    userMap.put("Email", current_user.getEmail());
    userMap.put("Status", "Just started using Message+");
    userMap.put("Quote", "Yolo");
    userMap.put("Image", current_user.getPhotoUrl());
    userMap.put("Thumb_image", "Default");
    userMap.put("Online", ServerValue.TIMESTAMP);
    userMap.put("TokenID", FirebaseInstanceId.getInstance().getToken());
    FirebaseDatabase.getInstance().getReference().child("UserData").child(current_user.getUid()).updateChildren(userMap).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
        public void onComplete(@NonNull Task<Void> task) {
            if (task.isSuccessful()) {
                Toast.makeText(getApplicationContext(), "ProfileSettings Successfully Updated", Toast.LENGTH_SHORT).show();
            }
        }
    });






    SharedPreferences sp = getSharedPreferences("com.appmaster.akash.messageplus", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sp.edit();
    editor.putBoolean("signed_in", true); //save that the user enters username
    editor.apply();
}

private void loadUserInformation(FirebaseUser user) {
    nameTextView.setText(user.getDisplayName());
    emailTextView.setText(user.getEmail());
    Glide.with(this).load(user.getPhotoUrl()).into(photoImageView);
}

@Override
protected void onStart() {
    super.onStart();

    firebaseAuth.addAuthStateListener(firebaseAuthListener);
    addData();

}

private void goLogInScreen() {
    Intent intent = new Intent(MainActivity.this, LoginActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}


public void proceed(View view){
    Intent intent  = new Intent(MainActivity.this, SetUpProfileName.class);
    intent.putExtra("Email",user.getEmail());
    startActivity(intent);
    finish();

    SharedPreferences sp = getSharedPreferences("com.appmaster.akash.messageplus", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sp.edit();
    editor.putBoolean("signed_in", true); //save that the user enters username
    editor.apply();

}

@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {

}

@Override
protected void onStop() {
    super.onStop();

    if (firebaseAuthListener != null) {
        firebaseAuth.removeAuthStateListener(firebaseAuthListener);
    }
}
firebaseAuthListener = new FirebaseAuth.AuthStateListener() {
    @Override
    public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
        user = firebaseAuth.getCurrentUser(); // THIS LINE WAS PROBLEM
        if (user != null) {
            loadUserInformation(user);
        } else {
            goLogInScreen();
        }
    }
};