Skip to content

Commit 5ad5193

Browse files
author
krishna0928
committed
Fixed Some Errors
1 parent 6909053 commit 5ad5193

File tree

1 file changed

+47
-42
lines changed

1 file changed

+47
-42
lines changed

app/src/main/java/com/firebase/chatter/FirebaseMessagingService.java

Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,7 @@ public class FirebaseMessagingService extends com.google.firebase.messaging.Fire
4141
private SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm aa", Locale.ENGLISH);
4242

4343
private DatabaseReference messageData;
44-
private DatabaseReference rootData;
4544
private DatabaseReference usersData;
46-
private DatabaseReference chatData;
4745

4846
private String uID;
4947

@@ -57,66 +55,72 @@ public void onMessageReceived(@NonNull final RemoteMessage remoteMessage) {
5755
super.onMessageReceived(remoteMessage);
5856

5957
if (remoteMessage.getData().size() > 0) {
58+
try {
59+
DatabaseReference rootData = FirebaseDatabase.getInstance().getReference();
6060

61-
rootData = FirebaseDatabase.getInstance().getReference();
61+
uID = Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid();
6262

63-
uID = Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid();
63+
DatabaseReference chatData = rootData.child("Chat").child(uID);
6464

65-
chatData = rootData.child("Chat").child(uID);
65+
messageData = rootData.child("messages");
6666

67-
messageData = rootData.child("messages");
67+
usersData = rootData.child("Users");
6868

69-
usersData = rootData.child("Users");
69+
notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
70+
assert notificationManager != null;
71+
notificationManager.cancelAll();
7072

71-
notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
72-
assert notificationManager != null;
73-
notificationManager.cancelAll();
73+
final String pushID = remoteMessage.getData().get("pushID");
74+
String times = remoteMessage.getData().get("times");
75+
String messageNode = remoteMessage.getData().get("messageID");
7476

75-
final String pushID = remoteMessage.getData().get("pushID");
76-
String times = remoteMessage.getData().get("times");
77-
String messageNode = remoteMessage.getData().get("messageID");
77+
assert times != null;
78+
String[] split = times.split(",", 3);
7879

79-
String[] split = times.split("," , 3);
80+
assert messageNode != null;
81+
assert pushID != null;
82+
messageData.child(messageNode).child(pushID).child("state").setValue(2);
83+
messageData.child(messageNode).child(pushID).child("times").setValue(split[0] + "," + dateFormat.format(new Date()) + ",null");
8084

81-
assert messageNode != null;
82-
assert pushID != null;
83-
messageData.child(messageNode).child(pushID).child("state").setValue(2);
84-
messageData.child(messageNode).child(pushID).child("times").setValue(split[0]+","+dateFormat.format(new Date())+",null");
85+
chatData.addListenerForSingleValueEvent(new ValueEventListener() {
8586

86-
chatData.addListenerForSingleValueEvent(new ValueEventListener() {
87+
@Override
88+
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
8789

88-
@Override
89-
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
90+
for (DataSnapshot children : dataSnapshot.getChildren()) {
91+
Chat chat = children.getValue(Chat.class);
9092

91-
for (DataSnapshot children : dataSnapshot.getChildren()) {
92-
Chat chat = children.getValue(Chat.class);
93+
String childKey = children.getKey();
9394

94-
String childKey = children.getKey();
95+
assert chat != null;
96+
if (chat.getUnSeen() != 0) {
9597

96-
assert chat != null;
97-
if (chat.getUnSeen() != 0) {
98+
assert childKey != null;
99+
usersData.child(childKey).addListenerForSingleValueEvent(new ValueEventListener() {
100+
@Override
101+
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
102+
Users users = dataSnapshot.getValue(Users.class);
103+
sendNotificationToUser(chat.getUnSeen(), chat.getMessageNode(), users);
104+
}
98105

99-
usersData.child(childKey).addListenerForSingleValueEvent(new ValueEventListener() {
100-
@Override
101-
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
102-
Users users = dataSnapshot.getValue(Users.class);
103-
sendNotificationToUser(chat.getUnSeen(), chat.getMessageNode() , users);
104-
}
106+
@Override
107+
public void onCancelled(@NonNull DatabaseError databaseError) {
105108

106-
@Override
107-
public void onCancelled(@NonNull DatabaseError databaseError) {
108-
109-
}
110-
});
109+
}
110+
});
111+
}
111112
}
112113
}
113-
}
114114

115-
@Override
116-
public void onCancelled(@NonNull DatabaseError databaseError) {
115+
@Override
116+
public void onCancelled(@NonNull DatabaseError databaseError) {
117117

118-
}
119-
});
118+
}
119+
});
120+
121+
} catch (NullPointerException e) {
122+
e.printStackTrace();
123+
}
120124
}
121125
}
122126

@@ -128,6 +132,7 @@ public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
128132
for (DataSnapshot children : dataSnapshot.getChildren()) {
129133

130134
Messages messages = children.getValue(Messages.class);
135+
assert messages != null;
131136
notifyUserWithNotification(users.getName() , messages.getFrom() , users.getImage() , users.getThumbnail() , messages.getMessage());
132137
}
133138
}

0 commit comments

Comments
 (0)