Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.32 KB | None | 0 0
  1. package com.example.x_splitter;
  2.  
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.view.LayoutInflater;
  7. import android.view.View;
  8. import android.view.ViewGroup;
  9. import android.widget.TextView;
  10. import android.widget.Toast;
  11.  
  12. import androidx.annotation.NonNull;
  13. import androidx.annotation.Nullable;
  14. import androidx.fragment.app.Fragment;
  15. import androidx.recyclerview.widget.LinearLayoutManager;
  16. import androidx.recyclerview.widget.RecyclerView;
  17.  
  18. import com.google.firebase.database.DataSnapshot;
  19. import com.google.firebase.database.DatabaseError;
  20. import com.google.firebase.database.FirebaseDatabase;
  21. import com.google.firebase.database.ValueEventListener;
  22.  
  23. import java.util.ArrayList;
  24. import java.util.List;
  25. import java.util.Map;
  26. import java.util.Objects;
  27.  
  28. public class FragmentReport extends Fragment {
  29.  
  30. View view;
  31. Context context;
  32. String user1;
  33. String user2;
  34. Double tempAmt;
  35. Double amountInvested;
  36. Double amountToGet;
  37. Double amountToPay;
  38. Double amountInvested1;
  39. Double amountToGet1;
  40. Double amountToPay1;
  41. String currentEventID;
  42. String currentGroupName;
  43. String currentGroupID;
  44. int i;
  45. int j;
  46.  
  47. public FragmentReport(){}
  48.  
  49. @Nullable
  50. @Override
  51. public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  52. view = inflater.inflate(R.layout.event_report_fragment, container, false);
  53.  
  54. currentEventID = AdapterHomeEvent.id;
  55. currentGroupID = AdapterHomeEvent.grpId;
  56. currentGroupName = AdapterHomeEvent.grpName;
  57.  
  58. System.out.println("Mumy:"+ currentEventID);
  59.  
  60. System.out.println("Mumy:"+ currentGroupID);
  61.  
  62. System.out.println("Mumy:"+ currentGroupName);
  63.  
  64. getModelReport();
  65.  
  66. return view;
  67. }
  68.  
  69. public void getModelReport() {
  70.  
  71. ArrayList<ModelReport> modelReport1 = new ArrayList<>();
  72.  
  73. ArrayList<String> memberList = new ArrayList<>();
  74. AddTransaction add = new AddTransaction();
  75. FirebaseDatabase.getInstance().getReference("Groups")
  76. .child(currentGroupID).child(currentGroupName).child("Members")
  77. .addValueEventListener(new ValueEventListener() {
  78. @Override
  79. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  80. ArrayList<String> members = new ArrayList<>();
  81. for (DataSnapshot snapshot4 : dataSnapshot.getChildren()) {
  82. members.add(snapshot4.getValue().toString());
  83. System.out.println("Mem: " + members);
  84. }
  85. memberList.addAll(members);
  86. System.out.println("memList : " + memberList);
  87. double a = memberList.size();
  88. System.out.println("three: " + a);
  89.  
  90. for ( i = 1; i < a; i++) {
  91. String user = memberList.get(i);
  92. FirebaseDatabase.getInstance().getReference("TransactionUnequal")
  93. .child(currentGroupID)
  94. .child(currentEventID)
  95. .child(user)
  96. .addValueEventListener(new ValueEventListener() {
  97. @Override
  98. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  99. if (dataSnapshot.exists()) {
  100. Toast.makeText(getActivity(), "Exists", Toast.LENGTH_SHORT).show();
  101.  
  102. }
  103.  
  104. Map<String, Object> amountDetail = (Map<String, Object>) dataSnapshot.getValue();
  105. amountInvested = Double.parseDouble(Objects.requireNonNull(amountDetail).get("amountInvested").toString());
  106. amountToGet = Double.parseDouble(Objects.requireNonNull(amountDetail).get("amountToGet").toString());
  107. amountToPay = Double.parseDouble(Objects.requireNonNull(amountDetail).get("amountToPay").toString());
  108.  
  109. if (amountToPay > 0) {
  110. tempAmt = amountToPay;
  111. user1 = user;
  112. for ( j = 1; j <= i; j++) {
  113. String subUser = memberList.get(j);
  114. FirebaseDatabase.getInstance().getReference("TransactionUnequal")
  115. .child(currentGroupID)
  116. .child(currentEventID)
  117. .child(subUser)
  118. .addValueEventListener(new ValueEventListener() {
  119. @Override
  120. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  121. Map<String, Object> amountDetail = (Map<String, Object>) dataSnapshot.getValue();
  122. amountInvested1 = Double.parseDouble(Objects.requireNonNull(amountDetail).get("amountInvested").toString());
  123. amountToGet1 = Double.parseDouble(Objects.requireNonNull(amountDetail).get("amountToGet").toString());
  124. amountToPay1 = Double.parseDouble(Objects.requireNonNull(amountDetail).get("amountToPay").toString());
  125. if(user != subUser)
  126. {
  127. if (amountToGet1>0) {
  128. user2 = subUser;
  129. modelReport1.add(new ModelReport(user1, tempAmt, user2));
  130. }
  131. }
  132.  
  133.  
  134.  
  135. }
  136.  
  137. @Override
  138. public void onCancelled(@NonNull DatabaseError databaseError) {
  139.  
  140. }
  141. });
  142.  
  143. break;
  144. }
  145.  
  146. System.out.println("temp : " + amountToGet);
  147.  
  148. System.out.println("ModelReport : " + modelReport1.size());
  149. RecyclerView recyclerView = view.findViewById(R.id.expenses_recycler_view);
  150. AdapterReport adapter = new AdapterReport(getActivity(), modelReport1);
  151. recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
  152. recyclerView.setAdapter(adapter);
  153.  
  154. }
  155. }
  156.  
  157. @Override
  158. public void onCancelled(@NonNull DatabaseError databaseError) {
  159.  
  160. }
  161. });
  162. }
  163. }
  164.  
  165. @Override
  166. public void onCancelled(@NonNull DatabaseError databaseError) {
  167.  
  168. }
  169. });
  170. }
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement