Advertisement
Guest User

Untitled

a guest
Aug 24th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.82 KB | None | 0 0
  1. public class MessageChatListFragment extends Fragment implements ChatRoomManager.ChatRoomManagerListener, ClickInterface {
  2. private LinearLayout boxEmptyMessage;
  3. private ChatRoomManager chatRoomManager;
  4. private MessageChatListRVAdapter adapter;
  5. private SwipeRefreshLayout swipeRefreshLayout;
  6. private RecyclerView recyclerView;
  7. private RelativeLayout loading;
  8. private TextView tvMesaggeToShow;
  9.  
  10. public MessageChatListFragment() {
  11. // Required empty public constructor
  12. }
  13.  
  14. public static MessageChatListFragment newInstance() {
  15. MessageChatListFragment fragment = new MessageChatListFragment();
  16. Bundle args = new Bundle();
  17. fragment.setArguments(args);
  18. return fragment;
  19. }
  20.  
  21. @Override
  22. public void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. chatRoomManager = ChatRoomManager.getInstance();
  25. adapter = new MessageChatListRVAdapter(getActivity(), this);
  26. }
  27.  
  28. @Override
  29. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  30. Bundle savedInstanceState) {
  31. // Inflate the layout for this fragment
  32. View rootView = inflater.inflate(R.layout.fragment_message_list, container, false);
  33. initInstances(rootView);
  34. return rootView;
  35. }
  36.  
  37. private void initInstances(View rootView) {
  38. boxEmptyMessage = (LinearLayout) rootView.findViewById(R.id.boxEmpty);
  39. loading = (RelativeLayout) rootView.findViewById(R.id.loading);
  40. swipeRefreshLayout = (SwipeRefreshLayout) rootView.findViewById(R.id.swipeRefreshLayout);
  41. recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerView);
  42. swipeRefreshLayout.setOnRefreshListener(onRefreshListener);
  43. tvMesaggeToShow=(TextView) rootView.findViewById(R.id.tv_message_to_show);
  44.  
  45. adapter.setDataList(chatRoomManager.getAllChatRoom());
  46.  
  47. recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
  48. recyclerView.setAdapter(adapter);
  49.  
  50. if (adapter.getItemCount() > 0){
  51. boxEmptyMessage.setVisibility(View.GONE);
  52. recyclerView.setVisibility(View.VISIBLE);
  53. } else {
  54. boxEmptyMessage.setVisibility(View.VISIBLE);
  55. recyclerView.setVisibility(View.GONE);
  56. }
  57. }
  58.  
  59. private void checkInternet() {
  60. new AsyncTask<Void, Void, String>() {
  61.  
  62. @Override
  63. protected String doInBackground(Void... params) {
  64. if (isOnline()) {
  65. return "true";
  66. } else {
  67. return "false";
  68. }
  69. }
  70.  
  71. @Override
  72. protected void onPostExecute(String s) {
  73. setProgress(s);
  74. }
  75.  
  76.  
  77. }.execute();
  78. }
  79.  
  80. private void setProgress(String s) {
  81.  
  82. if (s.equals("true")) {
  83.  
  84. chatRoomManager.loadChatRoomList(this);
  85. boxEmptyMessage.setVisibility(View.GONE);
  86. recyclerView.setVisibility(View.VISIBLE);
  87.  
  88. } else if (s.equals("false")) {
  89. loading.setVisibility(View.GONE);
  90. tvMesaggeToShow.setText("Click To Reload");
  91. boxEmptyMessage.setOnClickListener(new View.OnClickListener() {
  92. @Override
  93. public void onClick(View view) {
  94. loading.setVisibility(View.VISIBLE);
  95. checkInternet();
  96. // chatRoomManager.loadChatRoomList(MessageChatListFragment.this);
  97. }
  98. });
  99. /* boxEmptyMessage.setVisibility(View.VISIBLE);
  100. recyclerView.setVisibility(View.GONE);*/
  101. }
  102. }
  103.  
  104.  
  105. public boolean isOnline() {
  106.  
  107. Runtime runtime = Runtime.getRuntime();
  108. try {
  109.  
  110. Process ipProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8");
  111. int exitValue = ipProcess.waitFor();
  112. return (exitValue == 0);
  113.  
  114. } catch (IOException e) {
  115. e.printStackTrace();
  116. } catch (InterruptedException e) {
  117. e.printStackTrace();
  118. }
  119.  
  120. return false;
  121. }
  122.  
  123. @Override
  124. public void onStart() {
  125. super.onStart();
  126. loading.setVisibility(View.VISIBLE);
  127. checkInternet();
  128.  
  129. }
  130.  
  131. private SwipeRefreshLayout.OnRefreshListener onRefreshListener = new SwipeRefreshLayout.OnRefreshListener() {
  132. @Override
  133. public void onRefresh() {
  134. chatRoomManager.loadChatRoomList(MessageChatListFragment.this);
  135. }
  136. };
  137.  
  138. @Override
  139. public void onUpdate() {
  140. loading.setVisibility(View.GONE);
  141. adapter.setDataList(chatRoomManager.getAllChatRoom());
  142. adapter.notifyDataSetChanged();
  143. swipeRefreshLayout.setRefreshing(false);
  144.  
  145. if (adapter.getItemCount() > 0){
  146. boxEmptyMessage.setVisibility(View.GONE);
  147. recyclerView.setVisibility(View.VISIBLE);
  148. } else {
  149. boxEmptyMessage.setVisibility(View.VISIBLE);
  150. recyclerView.setVisibility(View.GONE);
  151. }
  152. }
  153.  
  154. @Override
  155. public void notHaveChat() {
  156. loading.setVisibility(View.GONE);
  157. swipeRefreshLayout.setRefreshing(false);
  158. }
  159.  
  160. @Override
  161. public void notHaveMessage() {
  162. boxEmptyMessage.setVisibility(View.VISIBLE);
  163. recyclerView.setVisibility(View.GONE);
  164. }
  165.  
  166. @Override
  167. public void onClick(Object object) {
  168. FirebaseChatRoomModel chatRoom = (FirebaseChatRoomModel) object;
  169. Intent intent = new Intent(getActivity(), MessageToTeacherActivity.class);
  170. intent.putExtra("CHAT_ID", chatRoom.getChatId());
  171. intent.putExtra("TEACHER_ID", chatRoom.getTeacherId());
  172. ((MainActivity) getActivity()).changeActivity(intent);
  173. }
  174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement