Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.56 KB | None | 0 0
  1. {
  2. "deviceTokens" : {
  3. "SgJd7o1hK7YbJnygnYWvaz4qkr42" : {
  4. "c-sfcTB3iEA:APA91bEvuzhX1nlrhoxVmR69lvwu0H1zyRjOXd5b14LngObuj8WeHkmlel6AOyrU7B2alBO1vW0pIO4gXGurvz5llCloyYpQv7vCq0_3fVEhmrIGfJ2S13TiXqVLJgWUCs95_AYZlysj" : true,
  5. "cnQdyuxBgz0:APA91bFZTPEFrl1Vf9Nw9ZvdtNsW1ll3YYq8WIwT799NVTp6S281v56UVJ3lo0kDK_rFZfoHuarX9Qb8NL8TJXi9A_jH4RhbDp3ecbW-tHdrYR06PwYdSiMfRjIxJOuPtHuqy0TNOw4K" : true,
  6. "d3D81crwy0E:APA91bEoAeWiOwm73bt2DvNNdv_NUn0PwjQcLa6z8ZYjDyuHWsNeDPVDCXOATKB5AFoBb7iOW6kgzU41oYFqHYek1Cngv6ArsrZO0crq_bV3PzfQxKvRN8xYX1_WryaR2tpAVP_4czgx" : true,
  7. "dHBaxzKqhMw:APA91bGmQ5KhxiaE48_IQHEJVpvpvQdXUgAd_a1reJiyh4Z5W6dhNZB4KesaQuiRrj-VLxdCvxIroH3a-75zUaYd6_yLtoCzNfNGT8EWqUrtC3FSibOA_cwPye09C001zfFe_pHv6Wph" : true,
  8. "dz8wf231cXE:APA91bEAmfPu4QWRstKE5kqtN-UtgNpOIG7KWxsjFB1oIOp9cKhoWfbnpsvMTd3YgNw09jVNK6lUgKXMNt4AND0cZGcepkqQyZTDNh5KA5SU9KbbD7MJzxGhwGhGlFV-4hiOOhumoRxs" : true
  9. }
  10. },
  11. "users" : {
  12. "SgJd7o1hK7YbJnygnYWvaz4qkr42" : {
  13. "displayName" : "Chintan Soni",
  14. "email" : "chintansoni202@gmail.com",
  15. "photoUrl" : "https://lh5.googleusercontent.com/-JNfSscqwEng/AAAAAAAAAAI/AAAAAAAADbs/dj7t_7AYlzo/s96-c/photo.jpg"
  16. }
  17. }
  18. }
  19.  
  20. mDatabaseReference = FirebaseDatabase.getInstance().getReference().child("users");
  21.  
  22. FirebaseDatabase.getInstance().getReference().child("users")
  23. .addValueEventListener(new ValueEventListener() {
  24. @Override
  25. public void onDataChange(DataSnapshot dataSnapshot) {
  26. Iterable<DataSnapshot> list = dataSnapshot.getChildren();
  27.  
  28. // Getting current user Id
  29. String uid = getCurrentUserId();
  30.  
  31. // Filter User
  32. List<User> userList = new ArrayList<>();
  33. for (DataSnapshot dataSnapshot1 : list) {
  34. if (!dataSnapshot1.getKey().equals(uid)) {
  35. userList.add(dataSnapshot1.getValue(User.class));
  36. }
  37. }
  38.  
  39. // Setting data
  40. mBaseRecyclerAdapter.setItems(userList);
  41. }
  42.  
  43. @Override
  44. public void onCancelled(DatabaseError databaseError) {
  45.  
  46. }
  47. });
  48.  
  49. import com.firebase.ui.database.FirebaseArray;
  50. import com.firebase.ui.database.SnapshotParser;
  51. import com.google.firebase.database.DataSnapshot;
  52. import com.google.firebase.database.Query;
  53.  
  54. import java.util.HashSet;
  55. import java.util.Set;
  56.  
  57. public class FilterableFirebaseArray extends FirebaseArray {
  58.  
  59. private Set<String> excludes = new HashSet<>();
  60.  
  61. public FilterableFirebaseArray(Query query, Class aClass) {
  62. super(query, aClass);
  63. }
  64.  
  65. public FilterableFirebaseArray(Query query, SnapshotParser parser) {
  66. super(query, parser);
  67. }
  68.  
  69. public void addExclude(String key) {
  70. excludes.add(key);
  71. }
  72.  
  73. public void removeExclude(String key) {
  74. excludes.remove(key);
  75. }
  76.  
  77. @Override
  78. public void onChildAdded(DataSnapshot snapshot, String previousChildKey) {
  79. if (!excludes.contains(snapshot.getKey())) {
  80. super.onChildAdded(snapshot, previousChildKey);
  81. }
  82. }
  83. }
  84.  
  85. @Override
  86. protected void onCreate(Bundle savedInstanceState) {
  87. super.onCreate(savedInstanceState);
  88. setContentView(R.layout.activity_main);
  89.  
  90. RecyclerView userListView = (RecyclerView) findViewById(R.id.userList);
  91. userListView.setLayoutManager(new LinearLayoutManager(this));
  92.  
  93. DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
  94. Query query = ref.orderByValue();
  95. ClassSnapshotParser parser = new ClassSnapshotParser<UserProfile>(UserProfile.class);
  96. FilterableFirebaseArray filterableFirebaseArray = new FilterableFirebaseArray(query, parser);
  97.  
  98. filterableFirebaseArray.addExclude(FirebaseAuth.getInstance().getCurrentUser().getUid());
  99.  
  100. FirebaseRecyclerAdapter mAdapter = new FirebaseRecyclerAdapter<UserProfile, UserListEntryHolder>(
  101. filterableFirebaseArray,
  102. R.layout.userlist_entry,
  103. UserListEntryHolder.class) {
  104. @Override
  105. protected void populateViewHolder(UserListEntryHolder viewHolder, UserProfile model, int position) {
  106. viewHolder.bind(model);
  107. }
  108. };
  109. userListView.setAdapter(mAdapter);
  110. }
  111.  
  112. import com.firebase.ui.database.FirebaseArray
  113. import com.firebase.ui.database.SnapshotParser
  114. import com.google.firebase.database.DataSnapshot
  115. import com.google.firebase.database.Query
  116.  
  117. class FilterableFirebaseArray<T> : FirebaseArray<T> {
  118.  
  119. val excludes = HashSet<String?>()
  120.  
  121. constructor(query: Query, tClass: Class<T>) : super(query, tClass)
  122. constructor(query: Query, parser: SnapshotParser<T>) : super(query, parser)
  123.  
  124. override fun onChildAdded(snapshot: DataSnapshot, previousChildKey: String?) {
  125. if (!excludes.contains(snapshot.key)) super.onChildAdded(snapshot, previousChildKey)
  126. }
  127.  
  128. }
  129.  
  130. override fun onStart() {
  131. super.onStart()
  132. if (currentUser != null) {
  133. userList.adapter = getAdapter()
  134. }
  135. }
  136.  
  137. private fun getAdapter(): FirebaseRecyclerAdapter<UserProfile, UserListEntryHolder> {
  138.  
  139. val query = userProfilesReference.orderByValue()
  140. val parser = ClassSnapshotParser<UserProfile>(UserProfile::class.java)
  141. val filterableFirebaseArray = FilterableFirebaseArray<UserProfile>(query, parser)
  142.  
  143. filterableFirebaseArray.excludes.add(currentUser?.uid)
  144.  
  145. return object : FirebaseRecyclerAdapter<UserProfile, UserListEntryHolder>(
  146. filterableFirebaseArray,
  147. R.layout.userlist_entry,
  148. UserListEntryHolder::class.java) {
  149. public override fun populateViewHolder(entryHolder: UserListEntryHolder, userProfile: UserProfile, position: Int) {
  150. entryHolder.bind(userProfile)
  151. }
  152. }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement