use of android.content.ContentValues.TAG in project FirstResponse by mattpost1700.
the class EventFragment method onCreateView.
@SuppressLint("SetTextI18n")
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
// binding fragment with nav_map by using navHostFragment, throw this block of code in there and that allows you to switch to other fragments
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_event, container, false);
NavHostFragment navHostFragment = (NavHostFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();
// initialize vars as well as fetching userID
participants = new ArrayList<>();
ActiveUser activeUser = (ActiveUser) getActivity();
UsersDataModel user = activeUser.getActive();
userID = user.getDocumentId();
// getting data from event group
mViewModel = new ViewModelProvider(requireActivity()).get(EventViewModel.class);
eventInfo = mViewModel.getEventDetail();
isParticipating = eventInfo.getParticipants().contains(user.getDocumentId());
EventRecyclerViewAdapter.ItemClickListener listener = (view, pos) -> {
UsersDataModel u = participants.get(pos);
UserViewModel userViewModel = new ViewModelProvider(requireActivity()).get(UserViewModel.class);
userViewModel.setUserDataModel(u);
NavDirections action = EventFragmentDirections.actionEventFragmentToUserFragment();
Navigation.findNavController(binding.getRoot()).navigate(action);
};
// recycler binding
RecyclerView eventRecyclerView = binding.eventEventRecycler;
eventRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
eventRecyclerViewAdapter = new EventRecyclerViewAdapter(getContext(), participants, isAnyParticipants);
eventRecyclerViewAdapter.setClickListener(listener);
eventRecyclerView.setAdapter(eventRecyclerViewAdapter);
updateUI(false);
final SwipeRefreshLayout pullToRefresh = binding.eventRefreshLayout;
pullToRefresh.setOnRefreshListener(() -> {
participants.clear();
updateUI(true);
pullToRefresh.setRefreshing(false);
});
addParticipatingEventListener();
binding.signUp.setOnClickListener(v -> {
if (binding.signUp.getText().equals("Withdraw")) {
eventInfo.getParticipants().remove(userID);
db.collection(FirestoreDatabase.EVENTS_COLLECTION_DIR).document(eventInfo.getDocumentId()).set(eventInfo).addOnSuccessListener(documentReference -> {
isParticipating = false;
binding.signUp.setText("Sign Up");
}).addOnFailureListener(e -> Log.w(TAG, "onCreateView: Could not update event UI", e));
} else {
eventInfo.getParticipants().add(userID);
db.collection(FirestoreDatabase.EVENTS_COLLECTION_DIR).document(eventInfo.getDocumentId()).set(eventInfo).addOnSuccessListener(documentReference -> {
isParticipating = true;
binding.signUp.setText("Withdraw");
}).addOnFailureListener(e -> Log.w(TAG, "onCreateView: Could not update event UI", e));
// sends the event that includes the following:
// title, location, description, duration
Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setData(CalendarContract.Events.CONTENT_URI);
intent.putExtra(CalendarContract.Events.TITLE, eventInfo.getTitle());
intent.putExtra(CalendarContract.Events.EVENT_LOCATION, eventInfo.getLocation());
intent.putExtra(CalendarContract.Events.DESCRIPTION, eventInfo.getDescription());
intent.putExtra(CalendarContract.Events.DURATION, eventInfo.getDuration_in_minutes());
if (intent.resolveActivity(requireContext().getPackageManager()) != null) {
startActivity(intent);
} else {
Log.d("EVENT INTENT: ", "Event setup Failed");
}
// // Calendar intent
// Calendar cal = Calendar.getInstance();
// Intent intent = new Intent(Intent.ACTION_EDIT);
// long startTime = eventInfo.getEvent_time().toDate().toInstant().toEpochMilli();
// intent.putExtra("beginTime", startTime);
// //intent.putExtra("allDay", true);
// intent.putExtra("endTime", startTime + AppUtil.numOfMinutesToMilliSeconds(eventInfo.getDuration_in_minutes()));
// intent.putExtra("title", "A Test Event from android app");
// startActivity(intent);
}
});
return binding.getRoot();
}
use of android.content.ContentValues.TAG in project FirstResponse by mattpost1700.
the class ReportFragment method onCreateView.
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_report, container, false);
NavHostFragment navHostFragment = (NavHostFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
View bindingView = binding.getRoot();
activeUser = AppUtil.getActiveUser(getActivity());
if (activeUser == null) {
getActivity().getFragmentManager().popBackStack();
Toast.makeText(getContext(), "User is not logged in!", Toast.LENGTH_SHORT).show();
}
ReportViewModel mViewModel = new ViewModelProvider(requireActivity()).get(ReportViewModel.class);
incident = mViewModel.getIncidentDataModel();
setText();
binding.floatingActionButton.setOnClickListener(view -> {
// Send to db
// String fire_department_id, String incident_id, String user_created_id, String address, String units, String box_number, String incident_type, String narrative) {
ReportDataModel report = null;
try {
report = new ReportDataModel(activeUser.getFire_department_id(), incident.getDocumentId(), activeUser.getDocumentId(), binding.addressTextView.getText().toString(), binding.unitsTextView.getText().toString(), binding.boxNumberTextView.getText().toString(), binding.incidentTypeTextView.getText().toString(), binding.reportOfficerText.getText().toString());
} catch (NullPointerException nullPointerException) {
report = null;
Toast.makeText(getActivity(), "You must fill out the whole form", Toast.LENGTH_SHORT).show();
}
if (report != null) {
FirestoreDatabase.getInstance().getDb().collection(FirestoreDatabase.REPORTS_COLLECTION_DIR).add(report).addOnSuccessListener(documentReference -> {
Log.d(TAG, "onCreateView: added " + documentReference);
Toast.makeText(getActivity(), "Report saved!", Toast.LENGTH_SHORT).show();
NavDirections action = ReportFragmentDirections.actionReportFragmentToIncidentFragment();
Navigation.findNavController(binding.getRoot()).navigate(action);
}).addOnFailureListener(e -> Log.e(TAG, "onCreateView: Failed to upload document!", e));
}
});
return bindingView;
}
use of android.content.ContentValues.TAG in project FirstResponse by mattpost1700.
the class UserFragment method onCreateView.
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
FragmentUserBinding binding = DataBindingUtil.inflate(inflater, R.layout.fragment_user, container, false);
NavHostFragment navHostFragment = (NavHostFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
mViewModel = new ViewModelProvider(requireActivity()).get(UserViewModel.class);
user = mViewModel.getUserDataModel();
profilePictureImageView = binding.userProfilePictureImageView;
// Get active user id
ActiveUser active = (ActiveUser) getActivity();
if (active != null) {
activeUser = active.getActive();
}
// TODO: navCont created for side bar(still need to be implemented)
NavController navController = navHostFragment.getNavController();
boolean THIS_IS_CURRENT_USER = user != null && activeUser != null && activeUser.getDocumentId().equals(user.getDocumentId());
if (THIS_IS_CURRENT_USER) {
binding.userSendMessageFab.setVisibility(View.GONE);
binding.userEditFab.setOnClickListener(v -> {
NavDirections action = UserFragmentDirections.actionUserFragmentToEditUserFragment2();
Navigation.findNavController(binding.getRoot()).navigate(action);
});
} else {
binding.userEditFab.setVisibility(View.GONE);
binding.userSendMessageFab.setOnClickListener(v -> {
Snackbar.make(getView(), "Send msg!", Snackbar.LENGTH_SHORT).show();
// TODO: Send message
});
}
setText(binding);
try {
final File localFile = File.createTempFile("Images", "bmp");
StorageReference ref = FirestoreDatabase.profilePictureRef.child(user.getRemote_path_to_profile_picture());
ref.getFile(localFile).addOnSuccessListener(bytes -> {
try {
profilePictureImageView.setImageBitmap(BitmapFactory.decodeFile(localFile.getAbsolutePath()));
} catch (Exception e) {
Log.d(TAG, "onCreateView: No profile picture found");
}
}).addOnFailureListener(e -> {
Log.w(TAG, "getUserProfile: Could not load profile picture!", e);
});
} catch (IOException e) {
Log.e(TAG, "onCreateView: Failed creating temp file", e);
} catch (IllegalArgumentException e) {
Log.d(TAG, "No profile picture");
}
return binding.getRoot();
}
use of android.content.ContentValues.TAG in project FirstResponse by mattpost1700.
the class AnnouncementFragment method populateAnnouncmentList.
private void populateAnnouncmentList() {
Task getAnnoucementsForGroups = db.collection("announcements").whereEqualTo(FirestoreDatabase.FIELD_FIRE_DEPARTMENT_ID, activeUser.getFire_department_id()).whereIn("intended_group_id", activeUser.getGroup_ids()).orderBy(FirestoreDatabase.FIELD_CREATED_AT, Query.Direction.DESCENDING).get();
Task getAnnouncementsForAll = db.collection("announcements").whereEqualTo(FirestoreDatabase.FIELD_FIRE_DEPARTMENT_ID, activeUser.getFire_department_id()).whereEqualTo("intended_group_id", null).orderBy(FirestoreDatabase.FIELD_CREATED_AT, Query.Direction.DESCENDING).get();
Tasks.whenAllSuccess(getAnnoucementsForGroups, getAnnouncementsForAll).addOnSuccessListener(objects -> {
ArrayList<AnnouncementsDataModel> temp = new ArrayList<>();
for (Object fakeQuerySnapshot : objects) {
QuerySnapshot querySnapshot = ((QuerySnapshot) fakeQuerySnapshot);
for (QueryDocumentSnapshot announcementDoc : querySnapshot) {
AnnouncementsDataModel announcementDataModel = announcementDoc.toObject(AnnouncementsDataModel.class);
temp.add(announcementDataModel);
}
}
listOfAnnouncements.clear();
listOfAnnouncements.addAll(temp);
checkAnnouncementEmpty();
announcementAdapter.notifyDataSetChanged();
}).addOnFailureListener(e -> Log.e(TAG, "populateAnnouncmentList: db get failed in announcement page", e));
}
use of android.content.ContentValues.TAG in project FirstResponse by mattpost1700.
the class MainActivity method setActive.
/**
* Set the logged in user
* @param user the user who just logged in
*/
@Override
public void setActive(UsersDataModel user) {
Log.d(TAG, "setActive: " + user);
if (user == null) {
this.activeUser = null;
if (userListener != null) {
userListener.remove();
userListener = null;
}
if (incidentListener != null) {
incidentListener.remove();
incidentListener = null;
}
stopETA();
return;
}
this.activeUser = user;
NavigationView navView = findViewById(R.id.navView);
View header = navView.getHeaderView(0);
TextView name = header.findViewById(R.id.nav_name);
TextView username = header.findViewById(R.id.nav_username);
String fullName = user.getFirst_name() + " " + user.getLast_name();
name.setText(fullName);
username.setText(user.getUsername());
// Ensure that the active user data is updated if database is updated
if (userListener == null) {
DocumentReference docRef = FirestoreDatabase.getInstance().getDb().collection("users").document(user.getDocumentId());
userListener = docRef.addSnapshotListener((snapshot, err) -> {
Log.d(TAG, "READ DATABASE - MAIN ACTIVITY");
if (err != null) {
System.err.println("Listen failed: " + err);
return;
}
if (snapshot != null && snapshot.exists()) {
activeUser = snapshot.toObject(UsersDataModel.class);
// Find the address of the department and determine where they are responding
setRespAddr();
// Download profile pic
try {
if (activeUser.getRemote_path_to_profile_picture() != null) {
final File localFile = File.createTempFile("Images", "bmp");
StorageReference ref = FirestoreDatabase.profilePictureRef.child(activeUser.getRemote_path_to_profile_picture());
ref.getFile(localFile).addOnSuccessListener(bytes -> {
try {
((ImageView) findViewById(R.id.appDrawerProfilePicImageView)).setImageBitmap(BitmapFactory.decodeFile(localFile.getAbsolutePath()));
} catch (Exception e) {
Log.d(TAG, "onCreateView: No profile picture found");
}
}).addOnFailureListener(e -> {
Log.w(TAG, "getUserProfile: Could not load profile picture!", e);
});
}
} catch (IOException e) {
Log.e(TAG, "onCreateView: Failed creating temp file", e);
} catch (NullPointerException e) {
Log.e(TAG, "onCreate: Cannot get user", e);
} catch (IllegalArgumentException e) {
Log.e(TAG, "onCreate: User has no image", e);
}
} else {
System.out.print("Current data: null");
}
});
}
}
Aggregations