HomeFragment.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.noahvogt.miniprojekt.ui.home;
  2. import android.os.Bundle;
  3. import android.view.LayoutInflater;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. import android.widget.TextView;
  7. import android.widget.Toast;
  8. import androidx.annotation.NonNull;
  9. import androidx.annotation.Nullable;
  10. import androidx.appcompat.app.AppCompatActivity;
  11. import androidx.fragment.app.DialogFragment;
  12. import androidx.fragment.app.Fragment;
  13. import androidx.lifecycle.Observer;
  14. import androidx.lifecycle.ViewModelProvider;
  15. import androidx.recyclerview.widget.LinearLayoutManager;
  16. import androidx.recyclerview.widget.RecyclerView;
  17. import com.noahvogt.miniprojekt.data.CustomAdapter;
  18. import com.noahvogt.miniprojekt.MainActivity;
  19. import com.noahvogt.miniprojekt.R;
  20. import com.noahvogt.miniprojekt.DataBase.Message;
  21. import com.noahvogt.miniprojekt.ui.show.MessageShowFragment;
  22. import com.noahvogt.miniprojekt.data.EmailViewModel;
  23. import java.text.ParseException;
  24. import java.text.SimpleDateFormat;
  25. public class HomeFragment extends Fragment implements CustomAdapter.SelectedMessage{
  26. private HomeViewModel homeViewModel;
  27. EmailViewModel mEmailViewModel;
  28. RecyclerView recyclerView;
  29. public View onCreateView(@NonNull LayoutInflater inflater,
  30. ViewGroup container, Bundle savedInstanceState) {
  31. recyclerView = MainActivity.recyclerView.findViewById(R.id.recyclerView);
  32. final CustomAdapter adapter = new CustomAdapter(new CustomAdapter.EmailDiff(), this);
  33. /* Attach the adapter to the recyclerview to populate items */
  34. recyclerView.setAdapter(adapter);
  35. recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
  36. mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
  37. mEmailViewModel.getInboxMessage().observe(getViewLifecycleOwner(), messages -> {
  38. /* Update the cached copy of the messages in the adapter*/
  39. adapter.submitList(messages);
  40. /*get List of Message to show them onClick */
  41. adapter.getList(messages);
  42. });
  43. homeViewModel =
  44. new ViewModelProvider(this).get(HomeViewModel.class);
  45. View root = inflater.inflate(R.layout.fragment_home, container, false);
  46. final TextView textView = root.findViewById(R.id.textView);
  47. return root;
  48. }
  49. @Override
  50. public void selectedMessage(Message messages, EmailViewModel emailViewModel) {
  51. AppCompatActivity activity = (AppCompatActivity) getContext();
  52. DialogFragment dialog = MessageShowFragment.newInstance(messages,mEmailViewModel );
  53. dialog.show(activity.getSupportFragmentManager(), "tag");
  54. }
  55. }