codelab-friendlychat-android icon indicating copy to clipboard operation
codelab-friendlychat-android copied to clipboard

Codelab Step 7 - Messages never load

Open kvizcarra opened this issue 6 years ago • 10 comments

After completing Step 7 and updating the database in the Firebase console, the loading spinner is never hidden and the messages never load. The same happens with the completed sample app friendlychat-android/android/.

kvizcarra avatar Jan 21 '18 21:01 kvizcarra

@kvizcarra do you see any errors in the logs at all? What security rules do you have set on your database?

samtstern avatar Jan 23 '18 19:01 samtstern

When running the complete app, I don't get any errors but I get this for logcat filter Warn:

01-24 20:21:39.432 1004-1004/? W/zygote64: Unsupported class loader
01-24 20:21:39.434 1004-1004/? W/zygote64: Skipping duplicate class check due to unsupported classloader
01-24 20:21:39.439 1004-1004/? W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
01-24 20:21:39.443 1004-1004/? W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
01-24 20:21:39.479 1004-1048/? W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
01-24 20:21:39.563 1004-1052/? W/DynamiteModule: Local module descriptor class for com.google.android.gms.crash not found.
01-24 20:21:39.603 1004-1052/? W/zygote64: Unsupported class loader
01-24 20:21:39.741 1004-1053/? W/DynamiteModule: Local module descriptor class for com.google.android.gms.crash not found.
01-24 20:21:40.176 1004-1004/com.google.firebase.codelab.friendlychat W/zygote64: Unsupported class loader

I used the same rules given in Step 6:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

kvizcarra avatar Jan 25 '18 04:01 kvizcarra

@kvizcarra we can ignore the W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. logs, those are unrelated.

Thanks for posting your rules, I'll have to think about what could be going wrong here.

samtstern avatar Jan 25 '18 17:01 samtstern

Could you try doing a read from mFirebaseDatabaseReference.child(MESSAGES_CHILD) without using the recycler adapter and see if your app can read the data? Just attach a ValueEventListener and see what comes back.

samtstern avatar Jan 25 '18 19:01 samtstern

I added this under the existing mFirebaseDatabaseReference.child(MESSAGES_CHILD) line in MainActivity.onCreate() but my loggers never fired.

DatabaseReference messagesRef = mFirebaseDatabaseReference.child(MESSAGES_CHILD);
messagesRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        Log.d("**DEBUG-DEBUG-DEBUG**", dataSnapshot.getValue(FriendlyMessage.class).toString());
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Log.d("**DEBUG-DEBUG-DEBUG**", databaseError.getMessage());
    }
});

kvizcarra avatar Jan 27 '18 05:01 kvizcarra

I can confirm the same issue.

gs-ts avatar Mar 31 '18 17:03 gs-ts

Same issue i am also facing. but my app is getting crashing and throwing null pointer exception.

Below is my Error Log:

com.google.firebase.codelab.friendlychat E/AndroidRuntime: FATAL EXCEPTION: main Process: com.google.firebase.codelab.friendlychat, PID: 6451 java.lang.NullPointerException: null reference at com.google.android.gms.common.internal.Preconditions.checkNotNull(Unknown Source) at com.google.firebase.appindexing.Action$Builder.setObject(Unknown Source) at com.google.firebase.codelab.friendlychat.MainActivity.getMessageViewAction(MainActivity.java:448) at com.google.firebase.codelab.friendlychat.MainActivity.access$200(MainActivity.java:72) at com.google.firebase.codelab.friendlychat.MainActivity$2.onBindViewHolder(MainActivity.java:229) at com.google.firebase.codelab.friendlychat.MainActivity$2.onBindViewHolder(MainActivity.java:173) at com.firebase.ui.database.FirebaseRecyclerAdapter.onBindViewHolder(FirebaseRecyclerAdapter.java:122) at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6673) at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6714) at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5647) at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5913) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5748) at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2232) at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1559) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519) at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:589) at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3812) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3529) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4082) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:443) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585) at android.widget.LinearLayout.onLayout(LinearLayout.java:1494) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at com.android.internal.policy.DecorView.onLayout(DecorView.java:724) at android.view.View.layout(View.java:17523) at android.view.ViewGroup.layout(ViewGroup.java:5612) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2342) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2069) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6301) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871) at android.view.Choreographer.doCallbacks(Choreographer.java:683) at android.view.Choreographer.doFrame(Choreographer.java:619) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)

prince-28 avatar May 03 '18 07:05 prince-28

Same issue. My logcat shows several warnings:

05-08 20:24:02.107 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 0 05-08 20:24:02.120 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 68724719680 05-08 20:24:02.121 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 1 05-08 20:24:02.123 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 5242945 05-08 20:24:02.126 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 34359738371 05-08 20:24:02.130 7910-8118/com.google.firebase.codelab.friendlychat E/OpenGLRenderer: allen debug liyu Key: 240518168576

ztsorojev avatar May 09 '18 03:05 ztsorojev

@prince-28 have u succeeded to add messages node/child to your database? If yes maybe you can add one line code to your FriendlyMessage.java (under public class FriendlyMessage): public FriendlyMessage() {}

vegatroz avatar Jun 24 '18 08:06 vegatroz

After completing Step 7 and updating the database in the Firebase console, the loading spinner is never hidden and the messages never load. The same happens with the completed sample app friendlychat-android/android/.

same issue here

rrewind avatar Feb 03 '19 06:02 rrewind