Firebase addValueEventListener работает только в течение нескольких часов

кто-нибудь сталкивался с этой проблемой? Мой код Firebase работает только в течение пары часов (полностью функциональный и все), а затем, когда я пытаюсь снова, он больше не работает. Посмотрите код ниже, как я это называю:

        ValueEventListener valueEventListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                Log.e(TAG, "onDataChange: Job found");
                for (DataSnapshot jobSnapShot : dataSnapshot.getChildren()) {
                    Log.e(TAG, "onDataChange: Job +1");
                    Job job = jobSnapShot.getValue(Job.class);
                    // Add the ID into the job
                    job.setId(dataSnapshot.getKey());

                    // Set the job
                    arrayList.add(job);
                    subscriber.onNext(job);
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                Log.e(TAG, "onCancelled: " + databaseError.getMessage());
            }
        };
        Log.e(TAG, "call: id:" + userId + ", reference:" + FirebaseDatabase.getInstance().getReference().toString());
        Log.e(TAG, "call: Calling Jobs...");
        FirebaseDatabase.getInstance()
                .getReference()
                .child(context.getString(R.string.firebase_jobs))
                .child(userId).
                addValueEventListener(valueEventListener);

Линии:

    Log.e(TAG, "call: id:" + userId + ", reference:" + FirebaseDatabase.getInstance().getReference().toString());
    Log.e(TAG, "call: Calling Jobs...");

Выполнять каждый раз. UserId и getReference возвращают правильные значения. Однако addValueEventListener, по-видимому, не добавляет прослушиватель спустя несколько часов. Единственный способ исправить это - выйти и снова войти в систему.

РЕДАКТИРОВАТЬ:

Мой код слушателя состояния авторизации:

firebaseAccount = getFirebaseAccount();
firebaseAccount.getAuth().addAuthStateListener(firebaseAccount.getAuthListener());

В firebaseAccount:

public FirebaseAuth.AuthStateListener getAuthListener() {
    return authStateListener;
}

FirebaseAuth.AuthStateListener authStateListener = new FirebaseAuth.AuthStateListener() {
    @Override
    public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
        FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
        if (firebaseUser != null) {
            String id = firebaseUser.getUid();
            // User is signed in
            Log.e(TAG, "onAuthStateChanged: Signed in as " + id);
            // Start loginActivity when signed in
            loginActivity.onLoginSuccess(id);
        } else {
            // User is not signed in
            Log.e(TAG, "onAuthStateChanged: Signed out");

            // User probably logged out. Finish the loginActivity and launch the login screen
        }
    }
};

Ответы на вопрос(1)

Ваш ответ на вопрос